Commit e7e3b187040d6b75703e2cda89fdc2c50b103c67

Authored by YunaiV
1 parent fffd023d

多模块重构 6:tool 模块的迁移完成

Showing 71 changed files with 667 additions and 517 deletions
... ... @@ -17,6 +17,7 @@
17 17 <!-- <module>yudao-module-bpm</module>-->
18 18 <module>yudao-module-system</module>
19 19 <module>yudao-module-infra</module>
  20 + <module>yudao-module-tool</module>
20 21 </modules>
21 22  
22 23 <name>${artifactId}</name>
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/controller/codegen/vo/ToolCodegenDetailRespVO.java deleted
1   -package cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo;
2   -
3   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.column.ToolCodegenColumnRespVO;
4   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.table.ToolCodegenTableRespVO;
5   -import io.swagger.annotations.ApiModel;
6   -import io.swagger.annotations.ApiModelProperty;
7   -import lombok.Data;
8   -
9   -import java.util.List;
10   -
11   -@ApiModel("代码生成表和字段的明细 Response VO")
12   -@Data
13   -public class ToolCodegenDetailRespVO {
14   -
15   - @ApiModelProperty("表定义")
16   - private ToolCodegenTableRespVO table;
17   -
18   - @ApiModelProperty("字段定义")
19   - private List<ToolCodegenColumnRespVO> columns;
20   -
21   -}
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/convert/codegen/ToolCodegenConvert.java deleted
1   -package cn.iocoder.yudao.adminserver.modules.tool.convert.codegen;
2   -
3   -import cn.iocoder.yudao.framework.common.pojo.PageResult;
4   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.ToolCodegenDetailRespVO;
5   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.ToolCodegenPreviewRespVO;
6   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.ToolCodegenUpdateReqVO;
7   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.column.ToolCodegenColumnRespVO;
8   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.table.ToolCodegenTableRespVO;
9   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.table.ToolSchemaTableRespVO;
10   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO;
11   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO;
12   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolSchemaColumnDO;
13   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolSchemaTableDO;
14   -import org.mapstruct.Mapper;
15   -import org.mapstruct.factory.Mappers;
16   -
17   -import java.util.List;
18   -import java.util.Map;
19   -import java.util.stream.Collectors;
20   -
21   -@Mapper
22   -public interface ToolCodegenConvert {
23   -
24   - ToolCodegenConvert INSTANCE = Mappers.getMapper(ToolCodegenConvert.class);
25   -
26   - // ========== ToolInformationSchemaTableDO 和 ToolInformationSchemaColumnDO 相关 ==========
27   -
28   - ToolCodegenTableDO convert(ToolSchemaTableDO bean);
29   -
30   - List<ToolCodegenColumnDO> convertList(List<ToolSchemaColumnDO> list);
31   -
32   - ToolCodegenTableRespVO convert(ToolSchemaColumnDO bean);
33   -
34   - // ========== ToolCodegenTableDO 相关 ==========
35   -
36   -// List<ToolCodegenTableRespVO> convertList02(List<ToolCodegenTableDO> list);
37   -
38   - ToolCodegenTableRespVO convert(ToolCodegenTableDO bean);
39   -
40   - PageResult<ToolCodegenTableRespVO> convertPage(PageResult<ToolCodegenTableDO> page);
41   -
42   - // ========== ToolCodegenTableDO 相关 ==========
43   -
44   - List<ToolCodegenColumnRespVO> convertList02(List<ToolCodegenColumnDO> list);
45   -
46   - ToolCodegenTableDO convert(ToolCodegenUpdateReqVO.Table bean);
47   -
48   - List<ToolCodegenColumnDO> convertList03(List<ToolCodegenUpdateReqVO.Column> columns);
49   -
50   - List<ToolSchemaTableRespVO> convertList04(List<ToolSchemaTableDO> list);
51   -
52   - // ========== 其它 ==========
53   -
54   - default ToolCodegenDetailRespVO convert(ToolCodegenTableDO table, List<ToolCodegenColumnDO> columns) {
55   - ToolCodegenDetailRespVO respVO = new ToolCodegenDetailRespVO();
56   - respVO.setTable(convert(table));
57   - respVO.setColumns(convertList02(columns));
58   - return respVO;
59   - }
60   -
61   - default List<ToolCodegenPreviewRespVO> convert(Map<String, String> codes) {
62   - return codes.entrySet().stream().map(entry -> {
63   - ToolCodegenPreviewRespVO respVO = new ToolCodegenPreviewRespVO();
64   - respVO.setFilePath(entry.getKey());
65   - respVO.setCode(entry.getValue());
66   - return respVO;
67   - }).collect(Collectors.toList());
68   - }
69   -
70   -}
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/convert/test/ToolTestDemoConvert.java deleted
1   -package cn.iocoder.yudao.adminserver.modules.tool.convert.test;
2   -
3   -import java.util.*;
4   -
5   -import cn.iocoder.yudao.framework.common.pojo.PageResult;
6   -
7   -import org.mapstruct.Mapper;
8   -import org.mapstruct.factory.Mappers;
9   -import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.*;
10   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.test.ToolTestDemoDO;
11   -
12   -/**
13   - * 字典类型 Convert
14   - *
15   - * @author 芋艿
16   - */
17   -@Mapper
18   -public interface ToolTestDemoConvert {
19   -
20   - ToolTestDemoConvert INSTANCE = Mappers.getMapper(ToolTestDemoConvert.class);
21   -
22   - ToolTestDemoDO convert(ToolTestDemoCreateReqVO bean);
23   -
24   - ToolTestDemoDO convert(ToolTestDemoUpdateReqVO bean);
25   -
26   - ToolTestDemoRespVO convert(ToolTestDemoDO bean);
27   -
28   - List<ToolTestDemoRespVO> convertList(List<ToolTestDemoDO> list);
29   -
30   - PageResult<ToolTestDemoRespVO> convertPage(PageResult<ToolTestDemoDO> page);
31   -
32   - List<ToolTestDemoExcelVO> convertList02(List<ToolTestDemoDO> list);
33   -
34   -}
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/dal/mysql/codegen/ToolSchemaColumnMapper.java deleted
1   -package cn.iocoder.yudao.adminserver.modules.tool.dal.mysql.codegen;
2   -
3   -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
4   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolSchemaColumnDO;
5   -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
6   -import org.apache.ibatis.annotations.Mapper;
7   -
8   -import java.util.List;
9   -
10   -@Mapper
11   -public interface ToolSchemaColumnMapper extends BaseMapperX<ToolSchemaColumnDO> {
12   -
13   - default List<ToolSchemaColumnDO> selectListByTableName(String tableSchema, String tableName) {
14   - return selectList(new QueryWrapper<ToolSchemaColumnDO>().eq("table_name", tableName)
15   - .eq("table_schema", tableSchema)
16   - .orderByAsc("ordinal_position"));
17   - }
18   -
19   -}
yudao-admin-server/src/main/resources/application-dev.yaml
... ... @@ -100,7 +100,7 @@ apollo:
100 100 eagerLoad:
101 101 enabled: true # 设置 Apollo 在日志初始化前生效,可以实现日志的动态级别配置
102 102 jdbc: # 自定义的 JDBC 配置项,用于数据库的地址
103   - dao: cn.iocoder.yudao.module.infra.dal.mysql.config.ConfigCoreDAOImpl
  103 + dao: cn.iocoder.yudao.module.infra.dal.mysql.config.ConfigDAOImpl
104 104 url: ${spring.datasource.dynamic.datasource.master.url}
105 105 username: ${spring.datasource.dynamic.datasource.master.username}
106 106 password: ${spring.datasource.dynamic.datasource.master.password}
... ...
yudao-admin-server/src/main/resources/application-local.yaml
... ... @@ -113,7 +113,7 @@ apollo:
113 113 eagerLoad:
114 114 enabled: true # 设置 Apollo 在日志初始化前生效,可以实现日志的动态级别配置
115 115 jdbc: # 自定义的 JDBC 配置项,用于数据库的地址
116   - dao: cn.iocoder.yudao.module.infra.dal.mysql.config.ConfigCoreDAOImpl
  116 + dao: cn.iocoder.yudao.module.infra.dal.mysql.config.ConfigDAOImpl
117 117 url: ${spring.datasource.dynamic.datasource.master.url}
118 118 username: ${spring.datasource.dynamic.datasource.master.username}
119 119 password: ${spring.datasource.dynamic.datasource.master.password}
... ...
yudao-admin-server/src/test-integration/java/cn/iocoder/yudao/adminserver/modules/tool/dal/mysql/codegen/ToolInformationSchemaColumnMapperTest.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.dal.mysql.codegen;
  1 +package cn.iocoder.yudao.module.tool.dal.mysql.codegen;
2 2  
3 3 import cn.iocoder.yudao.adminserver.BaseDbUnitTest;
4   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolSchemaColumnDO;
  4 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.ToolSchemaColumnDO;
5 5 import org.junit.jupiter.api.Test;
6 6  
7 7 import javax.annotation.Resource;
... ...
yudao-admin-server/src/test-integration/java/cn/iocoder/yudao/adminserver/modules/tool/dal/mysql/codegen/ToolInformationSchemaTableMapperTest.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.dal.mysql.codegen;
  1 +package cn.iocoder.yudao.module.tool.dal.mysql.codegen;
2 2  
3 3 import cn.iocoder.yudao.adminserver.BaseDbUnitTest;
4 4  
... ...
yudao-admin-server/src/test-integration/java/cn/iocoder/yudao/adminserver/modules/tool/service/codegen/ToolCodegenEngineTest.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.service.codegen;
  1 +package cn.iocoder.yudao.module.tool.service.codegen;
2 2  
3 3 import cn.iocoder.yudao.adminserver.BaseDbUnitTest;
4   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO;
5   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO;
6   -import cn.iocoder.yudao.adminserver.modules.tool.dal.mysql.codegen.ToolCodegenColumnMapper;
7   -import cn.iocoder.yudao.adminserver.modules.tool.dal.mysql.codegen.ToolCodegenTableMapper;
8   -import cn.iocoder.yudao.adminserver.modules.tool.service.codegen.impl.ToolCodegenEngine;
  4 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.ToolCodegenColumnDO;
  5 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.ToolCodegenTableDO;
  6 +import cn.iocoder.yudao.module.tool.dal.mysql.codegen.ToolCodegenColumnMapper;
  7 +import cn.iocoder.yudao.module.tool.dal.mysql.codegen.ToolCodegenTableMapper;
  8 +import cn.iocoder.yudao.module.tool.service.codegen.impl.ToolCodegenEngine;
9 9 import org.junit.jupiter.api.Test;
10 10  
11 11 import javax.annotation.Resource;
... ...
yudao-admin-server/src/test-integration/java/cn/iocoder/yudao/adminserver/modules/tool/service/codegen/ToolCodegenSQLParserTest.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.service.codegen;
  1 +package cn.iocoder.yudao.module.tool.service.codegen;
2 2  
3 3 import cn.iocoder.yudao.adminserver.BaseDbUnitTest;
4   -import cn.iocoder.yudao.adminserver.modules.tool.service.codegen.impl.ToolCodegenSQLParser;
  4 +import cn.iocoder.yudao.module.tool.service.codegen.impl.ToolCodegenSQLParser;
5 5 import org.junit.jupiter.api.Test;
6 6  
7 7 public class ToolCodegenSQLParserTest extends BaseDbUnitTest {
... ...
yudao-admin-server/src/test-integration/java/cn/iocoder/yudao/adminserver/modules/tool/service/codegen/ToolCodegenServiceImplTest.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.service.codegen;
  1 +package cn.iocoder.yudao.module.tool.service.codegen;
2 2  
3 3 import cn.iocoder.yudao.adminserver.BaseDbUnitTest;
4   -import cn.iocoder.yudao.adminserver.modules.tool.service.codegen.impl.ToolCodegenServiceImpl;
  4 +import cn.iocoder.yudao.module.tool.service.codegen.impl.ToolCodegenServiceImpl;
5 5 import org.junit.jupiter.api.Test;
6 6  
7 7 import javax.annotation.Resource;
... ...
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/api/package-info.java deleted
1   -package cn.iocoder.yudao.module.system.api;
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthServiceImpl.java
... ... @@ -137,7 +137,6 @@ public class AdminAuthServiceImpl implements AdminAuthService {
137 137 // 在其内部,会调用到 loadUserByUsername 方法,获取 User 信息
138 138 authentication = authenticationManager.authenticate(new MultiUsernamePasswordAuthenticationToken(
139 139 username, password, getUserType()));
140   - // org.activiti.engine.impl.identity.Authentication.setAuthenticatedUserId(username);
141 140 } catch (BadCredentialsException badCredentialsException) {
142 141 this.createLoginLog(username, logTypeEnum, LoginResultEnum.BAD_CREDENTIALS);
143 142 throw exception(AUTH_LOGIN_BAD_CREDENTIALS);
... ...
yudao-module-tool/pom.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project xmlns="http://maven.apache.org/POM/4.0.0"
  3 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5 + <parent>
  6 + <groupId>cn.iocoder.boot</groupId>
  7 + <artifactId>yudao</artifactId>
  8 + <version>${revision}</version>
  9 + </parent>
  10 + <modelVersion>4.0.0</modelVersion>
  11 + <modules>
  12 + <module>yudao-module-tool-api</module>
  13 + <module>yudao-module-tool-impl</module>
  14 + </modules>
  15 + <artifactId>yudao-module-tool</artifactId>
  16 + <packaging>pom</packaging>
  17 +
  18 + <name>${artifactId}</name>
  19 + <description>
  20 + tool 模块,我们放研发工具,提升研发效率与质量。
  21 + 例如说:代码生成器、接口文档等等
  22 + </description>
  23 +
  24 +</project>
... ...
yudao-module-tool/yudao-module-tool-api/pom.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project xmlns="http://maven.apache.org/POM/4.0.0"
  3 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5 + <parent>
  6 + <groupId>cn.iocoder.boot</groupId>
  7 + <artifactId>yudao-module-tool</artifactId>
  8 + <version>${revision}</version>
  9 + </parent>
  10 + <modelVersion>4.0.0</modelVersion>
  11 + <artifactId>yudao-module-tool-api</artifactId>
  12 + <packaging>jar</packaging>
  13 +
  14 + <name>${artifactId}</name>
  15 + <description>
  16 + tool 模块 API,暴露给其它模块调用
  17 + </description>
  18 +
  19 + <dependencies>
  20 + <dependency>
  21 + <groupId>cn.iocoder.boot</groupId>
  22 + <artifactId>yudao-common</artifactId>
  23 + </dependency>
  24 + </dependencies>
  25 +
  26 +</project>
... ...
yudao-module-tool/yudao-module-tool-api/src/main/java/cn/iocoder/yudao/module/tool/api/package-info.java 0 → 100644
  1 +/**
  2 + * Tool API 包,定义暴露给其它模块的 API
  3 + */
  4 +package cn.iocoder.yudao.module.tool.api;
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/enums/ToolDictTypeConstants.java renamed to yudao-module-tool/yudao-module-tool-api/src/main/java/cn/iocoder/yudao/module/tool/enums/DictTypeConstants.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.enums;
  1 +package cn.iocoder.yudao.module.tool.enums;
2 2  
3 3 /**
4 4 * Tool 字典类型的枚举类
5 5 *
6 6 * @author 芋道源码
7 7 */
8   -public interface ToolDictTypeConstants {
  8 +public interface DictTypeConstants {
9 9  
10 10 String TEST_DEMO_TYPE = "tool_test_demo_type";
11 11  
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/enums/ToolErrorCodeConstants.java renamed to yudao-module-tool/yudao-module-tool-api/src/main/java/cn/iocoder/yudao/module/tool/enums/ErrorCodeConstants.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.enums;
  1 +package cn.iocoder.yudao.module.tool.enums;
2 2  
3 3 import cn.iocoder.yudao.framework.common.exception.ErrorCode;
4 4  
... ... @@ -7,7 +7,7 @@ import cn.iocoder.yudao.framework.common.exception.ErrorCode;
7 7 *
8 8 * tool 系统,使用 1-003-000-000 段
9 9 */
10   -public interface ToolErrorCodeConstants {
  10 +public interface ErrorCodeConstants {
11 11  
12 12 // ========== 字典类型(测试) 1003000000 ==========
13 13 ErrorCode TEST_DEMO_NOT_EXISTS = new ErrorCode(1003000000, "测试示例不存在");
... ...
yudao-module-tool/yudao-module-tool-api/src/main/java/cn/iocoder/yudao/module/tool/package-info.java 0 → 100644
  1 +package cn.iocoder.yudao.module.tool;
... ...
yudao-module-tool/yudao-module-tool-impl/pom.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project xmlns="http://maven.apache.org/POM/4.0.0"
  3 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5 + <parent>
  6 + <artifactId>yudao-module-tool</artifactId>
  7 + <groupId>cn.iocoder.boot</groupId>
  8 + <version>${revision}</version>
  9 + </parent>
  10 + <modelVersion>4.0.0</modelVersion>
  11 + <artifactId>yudao-module-tool-impl</artifactId>
  12 + <packaging>jar</packaging>
  13 +
  14 + <name>${artifactId}</name>
  15 + <description>
  16 + tool 模块,我们放研发工具,提升研发效率与质量。
  17 + 例如说:代码生成器、接口文档等等
  18 + </description>
  19 +
  20 + <dependencies>
  21 + <dependency>
  22 + <groupId>cn.iocoder.boot</groupId>
  23 + <artifactId>yudao-module-tool-api</artifactId>
  24 + <version>${revision}</version>
  25 + </dependency>
  26 +
  27 + <!-- 业务组件 -->
  28 + <dependency>
  29 + <groupId>cn.iocoder.boot</groupId>
  30 + <artifactId>yudao-spring-boot-starter-biz-operatelog</artifactId>
  31 + </dependency>
  32 + <dependency>
  33 + <groupId>cn.iocoder.boot</groupId>
  34 + <artifactId>yudao-spring-boot-starter-biz-dict</artifactId>
  35 + </dependency>
  36 +
  37 + <!-- Web 相关 -->
  38 + <dependency>
  39 + <groupId>cn.iocoder.boot</groupId>
  40 + <artifactId>yudao-spring-boot-starter-security</artifactId>
  41 + </dependency>
  42 +
  43 + <!-- DB 相关 -->
  44 + <dependency>
  45 + <groupId>cn.iocoder.boot</groupId>
  46 + <artifactId>yudao-spring-boot-starter-mybatis</artifactId>
  47 + </dependency>
  48 +
  49 + <!-- Test 测试相关 -->
  50 + <dependency>
  51 + <groupId>cn.iocoder.boot</groupId>
  52 + <artifactId>yudao-spring-boot-starter-test</artifactId>
  53 + <scope>test</scope>
  54 + </dependency>
  55 +
  56 + <!-- 工具类相关 -->
  57 + <dependency>
  58 + <groupId>cn.iocoder.boot</groupId>
  59 + <artifactId>yudao-spring-boot-starter-excel</artifactId>
  60 + </dependency>
  61 + </dependencies>
  62 +
  63 + <build>
  64 + <!-- 设置构建的 jar 包名 -->
  65 + <finalName>${artifactId}</finalName>
  66 + <plugins>
  67 + <!-- 打包 -->
  68 + <plugin>
  69 + <groupId>org.springframework.boot</groupId>
  70 + <artifactId>spring-boot-maven-plugin</artifactId>
  71 + <configuration>
  72 + <fork>true</fork>
  73 + </configuration>
  74 + <executions>
  75 + <execution>
  76 + <goals>
  77 + <goal>repackage</goal> <!-- 将引入的 jar 打入其中 -->
  78 + </goals>
  79 + </execution>
  80 + </executions>
  81 + </plugin>
  82 + </plugins>
  83 + </build>
  84 +
  85 +</project>
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/controller/codegen/ToolCodegenController.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/codegen/CodegenController.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.controller.codegen;
  1 +package cn.iocoder.yudao.module.tool.controller.admin.codegen;
2 2  
3 3 import cn.hutool.core.io.IoUtil;
4 4 import cn.hutool.core.util.ZipUtil;
5 5 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
6 6 import cn.iocoder.yudao.framework.common.pojo.PageResult;
7   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.ToolCodegenDetailRespVO;
8   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.ToolCodegenPreviewRespVO;
9   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.ToolCodegenUpdateReqVO;
10   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.table.ToolCodegenTablePageReqVO;
11   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.table.ToolCodegenTableRespVO;
12   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.table.ToolSchemaTableRespVO;
13   -import cn.iocoder.yudao.adminserver.modules.tool.convert.codegen.ToolCodegenConvert;
14   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO;
15   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO;
16   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolSchemaTableDO;
17   -import cn.iocoder.yudao.adminserver.modules.tool.service.codegen.ToolCodegenService;
  7 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.CodegenDetailRespVO;
  8 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.CodegenPreviewRespVO;
  9 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.CodegenUpdateReqVO;
  10 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table.CodegenTablePageReqVO;
  11 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table.CodegenTableRespVO;
  12 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table.SchemaTableRespVO;
  13 +import cn.iocoder.yudao.module.tool.convert.codegen.CodegenConvert;
  14 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenColumnDO;
  15 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenTableDO;
  16 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaTableDO;
  17 +import cn.iocoder.yudao.module.tool.service.codegen.CodegenService;
18 18 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
19 19 import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
20 20 import io.swagger.annotations.Api;
... ... @@ -37,14 +37,14 @@ import java.util.Set;
37 37  
38 38 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
39 39  
40   -@Api(tags = "代码生成器")
  40 +@Api(tags = "管理后台 - 代码生成器")
41 41 @RestController
42 42 @RequestMapping("/tool/codegen")
43 43 @Validated
44   -public class ToolCodegenController {
  44 +public class CodegenController {
45 45  
46 46 @Resource
47   - private ToolCodegenService codegenService;
  47 + private CodegenService codegenService;
48 48  
49 49 @GetMapping("/db/table/list")
50 50 @ApiOperation(value = "获得数据库自带的表定义列表", notes = "会过滤掉已经导入 Codegen 的表")
... ... @@ -53,34 +53,34 @@ public class ToolCodegenController {
53 53 @ApiImplicitParam(name = "tableComment", value = "描述,模糊匹配", required = true, example = "芋道", dataTypeClass = String.class)
54 54 })
55 55 @PreAuthorize("@ss.hasPermission('tool:codegen:query')")
56   - public CommonResult<List<ToolSchemaTableRespVO>> getSchemaTableList(
  56 + public CommonResult<List<SchemaTableRespVO>> getSchemaTableList(
57 57 @RequestParam(value = "tableName", required = false) String tableName,
58 58 @RequestParam(value = "tableComment", required = false) String tableComment) {
59 59 // 获得数据库自带的表定义列表
60   - List<ToolSchemaTableDO> schemaTables = codegenService.getSchemaTableList(tableName, tableComment);
  60 + List<SchemaTableDO> schemaTables = codegenService.getSchemaTableList(tableName, tableComment);
61 61 // 移除在 Codegen 中,已经存在的
62   - Set<String> existsTables = CollectionUtils.convertSet(codegenService.getCodeGenTableList(), ToolCodegenTableDO::getTableName);
  62 + Set<String> existsTables = CollectionUtils.convertSet(codegenService.getCodeGenTableList(), CodegenTableDO::getTableName);
63 63 schemaTables.removeIf(table -> existsTables.contains(table.getTableName()));
64   - return success(ToolCodegenConvert.INSTANCE.convertList04(schemaTables));
  64 + return success(CodegenConvert.INSTANCE.convertList04(schemaTables));
65 65 }
66 66  
67 67 @GetMapping("/table/page")
68 68 @ApiOperation("获得表定义分页")
69 69 @PreAuthorize("@ss.hasPermission('tool:codegen:query')")
70   - public CommonResult<PageResult<ToolCodegenTableRespVO>> getCodeGenTablePage(@Valid ToolCodegenTablePageReqVO pageReqVO) {
71   - PageResult<ToolCodegenTableDO> pageResult = codegenService.getCodegenTablePage(pageReqVO);
72   - return success(ToolCodegenConvert.INSTANCE.convertPage(pageResult));
  70 + public CommonResult<PageResult<CodegenTableRespVO>> getCodeGenTablePage(@Valid CodegenTablePageReqVO pageReqVO) {
  71 + PageResult<CodegenTableDO> pageResult = codegenService.getCodegenTablePage(pageReqVO);
  72 + return success(CodegenConvert.INSTANCE.convertPage(pageResult));
73 73 }
74 74  
75 75 @GetMapping("/detail")
76 76 @ApiOperation("获得表和字段的明细")
77 77 @ApiImplicitParam(name = "tableId", value = "表编号", required = true, example = "1024", dataTypeClass = Long.class)
78 78 @PreAuthorize("@ss.hasPermission('tool:codegen:query')")
79   - public CommonResult<ToolCodegenDetailRespVO> getCodegenDetail(@RequestParam("tableId") Long tableId) {
80   - ToolCodegenTableDO table = codegenService.getCodegenTablePage(tableId);
81   - List<ToolCodegenColumnDO> columns = codegenService.getCodegenColumnListByTableId(tableId);
  79 + public CommonResult<CodegenDetailRespVO> getCodegenDetail(@RequestParam("tableId") Long tableId) {
  80 + CodegenTableDO table = codegenService.getCodegenTablePage(tableId);
  81 + List<CodegenColumnDO> columns = codegenService.getCodegenColumnListByTableId(tableId);
82 82 // 拼装返回
83   - return success(ToolCodegenConvert.INSTANCE.convert(table, columns));
  83 + return success(CodegenConvert.INSTANCE.convert(table, columns));
84 84 }
85 85  
86 86 @ApiOperation("基于数据库的表结构,创建代码生成器的表和字段定义")
... ... @@ -102,7 +102,7 @@ public class ToolCodegenController {
102 102 @ApiOperation("更新数据库的表和字段定义")
103 103 @PutMapping("/update")
104 104 @PreAuthorize("@ss.hasPermission('tool:codegen:update')")
105   - public CommonResult<Boolean> updateCodegen(@Valid @RequestBody ToolCodegenUpdateReqVO updateReqVO) {
  105 + public CommonResult<Boolean> updateCodegen(@Valid @RequestBody CodegenUpdateReqVO updateReqVO) {
106 106 codegenService.updateCodegen(updateReqVO);
107 107 return success(true);
108 108 }
... ... @@ -142,9 +142,9 @@ public class ToolCodegenController {
142 142 @GetMapping("/preview")
143 143 @ApiImplicitParam(name = "tableId", value = "表编号", required = true, example = "1024", dataTypeClass = Long.class)
144 144 @PreAuthorize("@ss.hasPermission('tool:codegen:preview')")
145   - public CommonResult<List<ToolCodegenPreviewRespVO>> previewCodegen(@RequestParam("tableId") Long tableId) {
  145 + public CommonResult<List<CodegenPreviewRespVO>> previewCodegen(@RequestParam("tableId") Long tableId) {
146 146 Map<String, String> codes = codegenService.generationCodes(tableId);
147   - return success(ToolCodegenConvert.INSTANCE.convert(codes));
  147 + return success(CodegenConvert.INSTANCE.convert(codes));
148 148 }
149 149  
150 150 @ApiOperation("下载生成代码")
... ...
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/codegen/vo/CodegenDetailRespVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.tool.controller.admin.codegen.vo;
  2 +
  3 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.column.CodegenColumnRespVO;
  4 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table.CodegenTableRespVO;
  5 +import io.swagger.annotations.ApiModel;
  6 +import io.swagger.annotations.ApiModelProperty;
  7 +import lombok.Data;
  8 +
  9 +import java.util.List;
  10 +
  11 +@ApiModel("管理后台 - 代码生成表和字段的明细 Response VO")
  12 +@Data
  13 +public class CodegenDetailRespVO {
  14 +
  15 + @ApiModelProperty("表定义")
  16 + private CodegenTableRespVO table;
  17 +
  18 + @ApiModelProperty("字段定义")
  19 + private List<CodegenColumnRespVO> columns;
  20 +
  21 +}
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/controller/codegen/vo/ToolCodegenPreviewRespVO.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/codegen/vo/CodegenPreviewRespVO.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo;
  1 +package cn.iocoder.yudao.module.tool.controller.admin.codegen.vo;
2 2  
3 3 import io.swagger.annotations.ApiModel;
4 4 import io.swagger.annotations.ApiModelProperty;
5 5 import lombok.Data;
6 6  
7   -@ApiModel(value = "代码生成预览 Response VO", description ="注意,每个文件都是一个该对象")
  7 +@ApiModel(value = "管理后台 - 代码生成预览 Response VO", description ="注意,每个文件都是一个该对象")
8 8 @Data
9   -public class ToolCodegenPreviewRespVO {
  9 +public class CodegenPreviewRespVO {
10 10  
11 11 @ApiModelProperty(value = "文件路径", required = true, example = "java/cn/iocoder/yudao/adminserver/modules/system/controller/test/SysTestDemoController.java")
12 12 private String filePath;
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/controller/codegen/vo/ToolCodegenUpdateReqVO.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/codegen/vo/CodegenUpdateReqVO.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo;
  1 +package cn.iocoder.yudao.module.tool.controller.admin.codegen.vo;
2 2  
3   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.column.ToolCodegenColumnBaseVO;
4   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.table.ToolCodegenTableBaseVO;
  3 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table.CodegenTableBaseVO;
  4 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.column.CodegenColumnBaseVO;
5 5 import io.swagger.annotations.ApiModel;
6 6 import io.swagger.annotations.ApiModelProperty;
7 7 import lombok.Data;
... ... @@ -12,9 +12,9 @@ import javax.validation.Valid;
12 12 import javax.validation.constraints.NotNull;
13 13 import java.util.List;
14 14  
15   -@ApiModel("代码生成表和字段的修改 Request VO")
  15 +@ApiModel("管理后台 - 代码生成表和字段的修改 Request VO")
16 16 @Data
17   -public class ToolCodegenUpdateReqVO {
  17 +public class CodegenUpdateReqVO {
18 18  
19 19 @Valid // 校验内嵌的字段
20 20 @NotNull(message = "表定义不能为空")
... ... @@ -28,7 +28,7 @@ public class ToolCodegenUpdateReqVO {
28 28 @Data
29 29 @EqualsAndHashCode(callSuper = true)
30 30 @ToString(callSuper = true)
31   - public static class Table extends ToolCodegenTableBaseVO {
  31 + public static class Table extends CodegenTableBaseVO {
32 32  
33 33 @ApiModelProperty(value = "编号", required = true, example = "1")
34 34 private Long id;
... ... @@ -39,7 +39,7 @@ public class ToolCodegenUpdateReqVO {
39 39 @Data
40 40 @EqualsAndHashCode(callSuper = true)
41 41 @ToString(callSuper = true)
42   - public static class Column extends ToolCodegenColumnBaseVO {
  42 + public static class Column extends CodegenColumnBaseVO {
43 43  
44 44 @ApiModelProperty(value = "编号", required = true, example = "1")
45 45 private Long id;
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/controller/codegen/vo/column/ToolCodegenColumnBaseVO.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/codegen/vo/column/CodegenColumnBaseVO.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.column;
  1 +package cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.column;
2 2  
3 3 import io.swagger.annotations.ApiModelProperty;
4 4 import lombok.Data;
... ... @@ -10,7 +10,7 @@ import javax.validation.constraints.NotNull;
10 10 * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
11 11 */
12 12 @Data
13   -public class ToolCodegenColumnBaseVO {
  13 +public class CodegenColumnBaseVO {
14 14  
15 15 @ApiModelProperty(value = "表编号", required = true, example = "1")
16 16 @NotNull(message = "表编号不能为空")
... ... @@ -70,7 +70,7 @@ public class ToolCodegenColumnBaseVO {
70 70 @NotNull(message = "是否为 List 查询操作的字段不能为空")
71 71 private Boolean listOperation;
72 72  
73   - @ApiModelProperty(value = "List 查询操作的条件类型", required = true, example = "LIKE", notes = "参见 ToolCodegenColumnListConditionEnum 枚举")
  73 + @ApiModelProperty(value = "List 查询操作的条件类型", required = true, example = "LIKE", notes = "参见 CodegenColumnListConditionEnum 枚举")
74 74 @NotNull(message = "List 查询操作的条件类型不能为空")
75 75 private String listOperationCondition;
76 76  
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/controller/codegen/vo/column/ToolCodegenColumnRespVO.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/codegen/vo/column/CodegenColumnRespVO.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.column;
  1 +package cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.column;
2 2  
3 3 import io.swagger.annotations.ApiModel;
4 4 import io.swagger.annotations.ApiModelProperty;
... ... @@ -8,11 +8,11 @@ import lombok.ToString;
8 8  
9 9 import java.util.Date;
10 10  
11   -@ApiModel("代码生成字段定义 Response VO")
  11 +@ApiModel("管理后台 - 代码生成字段定义 Response VO")
12 12 @Data
13 13 @EqualsAndHashCode(callSuper = true)
14 14 @ToString(callSuper = true)
15   -public class ToolCodegenColumnRespVO extends ToolCodegenColumnBaseVO {
  15 +public class CodegenColumnRespVO extends CodegenColumnBaseVO {
16 16  
17 17 @ApiModelProperty(value = "编号", required = true, example = "1")
18 18 private Long id;
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/controller/codegen/vo/table/ToolCodegenTableBaseVO.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/codegen/vo/table/CodegenTableBaseVO.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.table;
  1 +package cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table;
2 2  
3 3 import io.swagger.annotations.ApiModelProperty;
4 4 import lombok.Data;
... ... @@ -10,9 +10,9 @@ import javax.validation.constraints.NotNull;
10 10 * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
11 11 */
12 12 @Data
13   -public class ToolCodegenTableBaseVO {
  13 +public class CodegenTableBaseVO {
14 14  
15   - @ApiModelProperty(value = "导入类型", required = true, example = "1", notes = "参见 ToolCodegenImportTypeEnum 枚举")
  15 + @ApiModelProperty(value = "导入类型", required = true, example = "1", notes = "参见 CodegenImportTypeEnum 枚举")
16 16 @NotNull(message = "导入类型不能为空")
17 17 private Integer importType;
18 18  
... ... @@ -35,7 +35,7 @@ public class ToolCodegenTableBaseVO {
35 35 @NotNull(message = "业务名不能为空")
36 36 private String businessName;
37 37  
38   - @ApiModelProperty(value = "类名称", required = true, example = "ToolCodegenTable")
  38 + @ApiModelProperty(value = "类名称", required = true, example = "CodegenTable")
39 39 @NotNull(message = "类名称不能为空")
40 40 private String className;
41 41  
... ... @@ -47,7 +47,7 @@ public class ToolCodegenTableBaseVO {
47 47 @NotNull(message = "作者不能为空")
48 48 private String author;
49 49  
50   - @ApiModelProperty(value = "模板类型", required = true, example = "1", notes = "参见 ToolCodegenTemplateTypeEnum 枚举")
  50 + @ApiModelProperty(value = "模板类型", required = true, example = "1", notes = "参见 CodegenTemplateTypeEnum 枚举")
51 51 @NotNull(message = "模板类型不能为空")
52 52 private Integer templateType;
53 53  
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/controller/codegen/vo/table/ToolCodegenTablePageReqVO.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/codegen/vo/table/CodegenTablePageReqVO.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.table;
  1 +package cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageParam;
4 4 import io.swagger.annotations.ApiModel;
... ... @@ -12,11 +12,11 @@ import java.util.Date;
12 12  
13 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14  
15   -@ApiModel("表定义分页 Request VO")
  15 +@ApiModel("管理后台 - 表定义分页 Request VO")
16 16 @Data
17 17 @EqualsAndHashCode(callSuper = true)
18 18 @ToString(callSuper = true)
19   -public class ToolCodegenTablePageReqVO extends PageParam {
  19 +public class CodegenTablePageReqVO extends PageParam {
20 20  
21 21 @ApiModelProperty(value = "表名称", example = "yudao", notes = "模糊匹配")
22 22 private String tableName;
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/controller/codegen/vo/table/ToolCodegenTableRespVO.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/codegen/vo/table/CodegenTableRespVO.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.table;
  1 +package cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table;
2 2  
3 3 import io.swagger.annotations.ApiModel;
4 4 import io.swagger.annotations.ApiModelProperty;
... ... @@ -8,11 +8,11 @@ import lombok.ToString;
8 8  
9 9 import java.util.Date;
10 10  
11   -@ApiModel("代码生成表定义 Response VO")
  11 +@ApiModel("管理后台 - 代码生成表定义 Response VO")
12 12 @Data
13 13 @EqualsAndHashCode(callSuper = true)
14 14 @ToString(callSuper = true)
15   -public class ToolCodegenTableRespVO extends ToolCodegenTableBaseVO {
  15 +public class CodegenTableRespVO extends CodegenTableBaseVO {
16 16  
17 17 @ApiModelProperty(value = "编号", required = true, example = "1")
18 18 private Long id;
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/controller/codegen/vo/table/ToolSchemaTableRespVO.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/codegen/vo/table/SchemaTableRespVO.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.table;
  1 +package cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table;
2 2  
3 3 import io.swagger.annotations.ApiModel;
4 4 import io.swagger.annotations.ApiModelProperty;
... ... @@ -6,9 +6,9 @@ import lombok.Data;
6 6  
7 7 import java.util.Date;
8 8  
9   -@ApiModel("数据字典的表定义 Response VO")
  9 +@ApiModel("管理后台 - 数据字典的表定义 Response VO")
10 10 @Data
11   -public class ToolSchemaTableRespVO {
  11 +public class SchemaTableRespVO {
12 12  
13 13 @ApiModelProperty(value = "数据库", required = true, example = "yudao")
14 14 private String tableSchema;
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/controller/test/ToolTestDemoController.http renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/test/TestDemoController.http
1 1 ### 请求 /tool/test-demo/get 接口 => 成功
2 2 GET {{baseUrl}}/tool/test-demo/get?id=1
3 3 Authorization: Bearer {{token}}
  4 +tenant-id: {{adminTenentId}}
4 5  
5 6 ### 请求 /tool/test-demo/list 接口 => 成功
6 7 GET {{baseUrl}}/tool/test-demo/list?ids=1
7 8 Authorization: Bearer {{token}}
  9 +tenant-id: {{adminTenentId}}
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/controller/test/ToolTestDemoController.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/test/TestDemoController.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.controller.test;
  1 +package cn.iocoder.yudao.module.tool.controller.admin.test;
2 2  
3   -import cn.hutool.core.thread.ThreadUtil;
4 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
5 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 5 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
7 6 import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
8   -import cn.iocoder.yudao.framework.tracer.core.annotation.BizTrace;
9   -import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.*;
10   -import cn.iocoder.yudao.adminserver.modules.tool.convert.test.ToolTestDemoConvert;
11   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.test.ToolTestDemoDO;
12   -import cn.iocoder.yudao.adminserver.modules.tool.service.test.ToolTestDemoService;
  7 +import cn.iocoder.yudao.module.tool.controller.admin.test.vo.*;
  8 +import cn.iocoder.yudao.module.tool.convert.test.TestDemoConvert;
  9 +import cn.iocoder.yudao.module.tool.dal.dataobject.test.TestDemoDO;
  10 +import cn.iocoder.yudao.module.tool.service.test.TestDemoService;
13 11 import io.swagger.annotations.Api;
14 12 import io.swagger.annotations.ApiImplicitParam;
15 13 import io.swagger.annotations.ApiOperation;
... ... @@ -23,31 +21,30 @@ import javax.validation.Valid;
23 21 import java.io.IOException;
24 22 import java.util.Collection;
25 23 import java.util.List;
26   -import java.util.concurrent.TimeUnit;
27 24  
28 25 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
29 26 import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
30 27  
31   -@Api(tags = "测试示例")
  28 +@Api(tags = "管理后台 - 测试示例")
32 29 @RestController
33 30 @RequestMapping("/tool/test-demo")
34 31 @Validated
35   -public class ToolTestDemoController {
  32 +public class TestDemoController {
36 33  
37 34 @Resource
38   - private ToolTestDemoService testDemoService;
  35 + private TestDemoService testDemoService;
39 36  
40 37 @PostMapping("/create")
41 38 @ApiOperation("创建测试示例")
42 39 @PreAuthorize("@ss.hasPermission('tool:test-demo:create')")
43   - public CommonResult<Long> createTestDemo(@Valid @RequestBody ToolTestDemoCreateReqVO createReqVO) {
  40 + public CommonResult<Long> createTestDemo(@Valid @RequestBody TestDemoCreateReqVO createReqVO) {
44 41 return success(testDemoService.createTestDemo(createReqVO));
45 42 }
46 43  
47 44 @PutMapping("/update")
48 45 @ApiOperation("更新测试示例")
49 46 @PreAuthorize("@ss.hasPermission('tool:test-demo:update')")
50   - public CommonResult<Boolean> updateTestDemo(@Valid @RequestBody ToolTestDemoUpdateReqVO updateReqVO) {
  47 + public CommonResult<Boolean> updateTestDemo(@Valid @RequestBody TestDemoUpdateReqVO updateReqVO) {
51 48 testDemoService.updateTestDemo(updateReqVO);
52 49 return success(true);
53 50 }
... ... @@ -66,12 +63,9 @@ public class ToolTestDemoController {
66 63 @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class)
67 64 @PreAuthorize("@ss.hasPermission('tool:test-demo:query')")
68 65 // @Lock4j // 分布式锁
69   - public CommonResult<ToolTestDemoRespVO> getTestDemo(@RequestParam("id") Long id) {
70   - if (true) { // 测试分布式锁
71   - ThreadUtil.sleep(5, TimeUnit.SECONDS);
72   - }
73   - ToolTestDemoDO testDemo = testDemoService.getTestDemo(id);
74   - return success(ToolTestDemoConvert.INSTANCE.convert(testDemo));
  66 + public CommonResult<TestDemoRespVO> getTestDemo(@RequestParam("id") Long id) {
  67 + TestDemoDO testDemo = testDemoService.getTestDemo(id);
  68 + return success(TestDemoConvert.INSTANCE.convert(testDemo));
75 69 }
76 70  
77 71 @GetMapping("/list")
... ... @@ -79,30 +73,29 @@ public class ToolTestDemoController {
79 73 @ApiImplicitParam(name = "ids", value = "编号列表", required = true, dataTypeClass = List.class)
80 74 @PreAuthorize("@ss.hasPermission('tool:test-demo:query')")
81 75 // @RateLimiter(name = "backendA")
82   - @BizTrace(id = "#ids", type = "'user'")
83   - public CommonResult<List<ToolTestDemoRespVO>> getTestDemoList(@RequestParam("ids") Collection<Long> ids) {
84   - List<ToolTestDemoDO> list = testDemoService.getTestDemoList(ids);
85   - return success(ToolTestDemoConvert.INSTANCE.convertList(list));
  76 + public CommonResult<List<TestDemoRespVO>> getTestDemoList(@RequestParam("ids") Collection<Long> ids) {
  77 + List<TestDemoDO> list = testDemoService.getTestDemoList(ids);
  78 + return success(TestDemoConvert.INSTANCE.convertList(list));
86 79 }
87 80  
88 81 @GetMapping("/page")
89 82 @ApiOperation("获得测试示例分页")
90 83 @PreAuthorize("@ss.hasPermission('tool:test-demo:query')")
91   - public CommonResult<PageResult<ToolTestDemoRespVO>> getTestDemoPage(@Valid ToolTestDemoPageReqVO pageVO) {
92   - PageResult<ToolTestDemoDO> pageResult = testDemoService.getTestDemoPage(pageVO);
93   - return success(ToolTestDemoConvert.INSTANCE.convertPage(pageResult));
  84 + public CommonResult<PageResult<TestDemoRespVO>> getTestDemoPage(@Valid TestDemoPageReqVO pageVO) {
  85 + PageResult<TestDemoDO> pageResult = testDemoService.getTestDemoPage(pageVO);
  86 + return success(TestDemoConvert.INSTANCE.convertPage(pageResult));
94 87 }
95 88  
96 89 @GetMapping("/export-excel")
97 90 @ApiOperation("导出测试示例 Excel")
98 91 @PreAuthorize("@ss.hasPermission('tool:test-demo:export')")
99 92 @OperateLog(type = EXPORT)
100   - public void exportTestDemoExcel(@Valid ToolTestDemoExportReqVO exportReqVO,
  93 + public void exportTestDemoExcel(@Valid TestDemoExportReqVO exportReqVO,
101 94 HttpServletResponse response) throws IOException {
102   - List<ToolTestDemoDO> list = testDemoService.getTestDemoList(exportReqVO);
  95 + List<TestDemoDO> list = testDemoService.getTestDemoList(exportReqVO);
103 96 // 导出 Excel
104   - List<ToolTestDemoExcelVO> datas = ToolTestDemoConvert.INSTANCE.convertList02(list);
105   - ExcelUtils.write(response, "测试示例.xls", "数据", ToolTestDemoExcelVO.class, datas);
  97 + List<TestDemoExcelVO> datas = TestDemoConvert.INSTANCE.convertList02(list);
  98 + ExcelUtils.write(response, "测试示例.xls", "数据", TestDemoExcelVO.class, datas);
106 99 }
107 100  
108 101 }
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/controller/test/vo/ToolTestDemoBaseVO.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/test/vo/TestDemoBaseVO.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo;
  1 +package cn.iocoder.yudao.module.tool.controller.admin.test.vo;
2 2  
3 3 import io.swagger.annotations.ApiModelProperty;
4 4 import lombok.Data;
... ... @@ -10,7 +10,7 @@ import javax.validation.constraints.NotNull;
10 10 * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
11 11 */
12 12 @Data
13   -public class ToolTestDemoBaseVO {
  13 +public class TestDemoBaseVO {
14 14  
15 15 @ApiModelProperty(value = "名字", required = true, example = "芋道")
16 16 @NotNull(message = "名字不能为空")
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/controller/test/vo/ToolTestDemoCreateReqVO.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/test/vo/TestDemoCreateReqVO.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo;
  1 +package cn.iocoder.yudao.module.tool.controller.admin.test.vo;
2 2  
3 3 import io.swagger.annotations.ApiModel;
4 4 import lombok.Data;
5 5 import lombok.EqualsAndHashCode;
6 6 import lombok.ToString;
7 7  
8   -@ApiModel("字典类型创建 Request VO")
  8 +@ApiModel("管理后台 - 字典类型创建 Request VO")
9 9 @Data
10 10 @EqualsAndHashCode(callSuper = true)
11 11 @ToString(callSuper = true)
12   -public class ToolTestDemoCreateReqVO extends ToolTestDemoBaseVO {
  12 +public class TestDemoCreateReqVO extends TestDemoBaseVO {
13 13  
14 14 }
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/controller/test/vo/ToolTestDemoExcelVO.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/test/vo/TestDemoExcelVO.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo;
  1 +package cn.iocoder.yudao.module.tool.controller.admin.test.vo;
2 2  
3 3 import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
4 4 import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
5   -import cn.iocoder.yudao.module.infra.enums.DictTypeConstants;
6 5 import com.alibaba.excel.annotation.ExcelProperty;
7 6 import lombok.Data;
8 7  
... ... @@ -14,7 +13,7 @@ import java.util.Date;
14 13 * @author 芋艿
15 14 */
16 15 @Data
17   -public class ToolTestDemoExcelVO {
  16 +public class TestDemoExcelVO {
18 17  
19 18 @ExcelProperty("编号")
20 19 private Long id;
... ... @@ -23,15 +22,15 @@ public class ToolTestDemoExcelVO {
23 22 private String name;
24 23  
25 24 @ExcelProperty(value = "状态", converter = DictConvert.class)
26   - @DictFormat(cn.iocoder.yudao.module.system.enums.DictTypeConstants.COMMON_STATUS)
  25 + @DictFormat("")
27 26 private Integer status;
28 27  
29 28 @ExcelProperty(value = "类型", converter = DictConvert.class)
30   - @DictFormat(cn.iocoder.yudao.module.system.enums.DictTypeConstants.OPERATE_TYPE)
  29 + @DictFormat("sys_common_status")
31 30 private Integer type;
32 31  
33 32 @ExcelProperty(value = "分类", converter = DictConvert.class)
34   - @DictFormat(DictTypeConstants.REDIS_TIMEOUT_TYPE)
  33 + @DictFormat("inf_redis_timeout_type")
35 34 private Integer category;
36 35  
37 36 @ExcelProperty("备注")
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/controller/test/vo/ToolTestDemoExportReqVO.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/test/vo/TestDemoExportReqVO.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo;
  1 +package cn.iocoder.yudao.module.tool.controller.admin.test.vo;
2 2  
3 3 import io.swagger.annotations.ApiModel;
4 4 import io.swagger.annotations.ApiModelProperty;
... ... @@ -9,9 +9,9 @@ import java.util.Date;
9 9  
10 10 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
11 11  
12   -@ApiModel(value = "字典类型 Excel 导出 Request VO", description = "参数和 ToolTestDemoPageReqVO 是一致的")
  12 +@ApiModel(value = "管理后台 - 字典类型 Excel 导出 Request VO", description = "参数和 TestDemoPageReqVO 是一致的")
13 13 @Data
14   -public class ToolTestDemoExportReqVO {
  14 +public class TestDemoExportReqVO {
15 15  
16 16 @ApiModelProperty(value = "名字", example = "芋道")
17 17 private String name;
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/controller/test/vo/ToolTestDemoPageReqVO.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/test/vo/TestDemoPageReqVO.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo;
  1 +package cn.iocoder.yudao.module.tool.controller.admin.test.vo;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageParam;
4 4 import io.swagger.annotations.ApiModel;
... ... @@ -12,11 +12,11 @@ import java.util.Date;
12 12  
13 13 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
14 14  
15   -@ApiModel("字典类型分页 Request VO")
  15 +@ApiModel("管理后台 - 字典类型分页 Request VO")
16 16 @Data
17 17 @EqualsAndHashCode(callSuper = true)
18 18 @ToString(callSuper = true)
19   -public class ToolTestDemoPageReqVO extends PageParam {
  19 +public class TestDemoPageReqVO extends PageParam {
20 20  
21 21 @ApiModelProperty(value = "名字", example = "芋道")
22 22 private String name;
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/controller/test/vo/ToolTestDemoRespVO.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/test/vo/TestDemoRespVO.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo;
  1 +package cn.iocoder.yudao.module.tool.controller.admin.test.vo;
2 2  
3 3 import io.swagger.annotations.ApiModel;
4 4 import io.swagger.annotations.ApiModelProperty;
... ... @@ -8,11 +8,11 @@ import lombok.ToString;
8 8  
9 9 import java.util.Date;
10 10  
11   -@ApiModel("字典类型 Response VO")
  11 +@ApiModel("管理后台 - 字典类型 Response VO")
12 12 @Data
13 13 @EqualsAndHashCode(callSuper = true)
14 14 @ToString(callSuper = true)
15   -public class ToolTestDemoRespVO extends ToolTestDemoBaseVO {
  15 +public class TestDemoRespVO extends TestDemoBaseVO {
16 16  
17 17 @ApiModelProperty(value = "编号", required = true, example = "1")
18 18 private Long id;
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/controller/test/vo/ToolTestDemoUpdateReqVO.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/test/vo/TestDemoUpdateReqVO.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo;
  1 +package cn.iocoder.yudao.module.tool.controller.admin.test.vo;
2 2  
3 3 import io.swagger.annotations.ApiModel;
4 4 import io.swagger.annotations.ApiModelProperty;
... ... @@ -8,11 +8,11 @@ import lombok.ToString;
8 8  
9 9 import javax.validation.constraints.NotNull;
10 10  
11   -@ApiModel("字典类型更新 Request VO")
  11 +@ApiModel("管理后台 - 字典类型更新 Request VO")
12 12 @Data
13 13 @EqualsAndHashCode(callSuper = true)
14 14 @ToString(callSuper = true)
15   -public class ToolTestDemoUpdateReqVO extends ToolTestDemoBaseVO {
  15 +public class TestDemoUpdateReqVO extends TestDemoBaseVO {
16 16  
17 17 @ApiModelProperty(value = "编号", required = true, example = "1")
18 18 @NotNull(message = "编号不能为空")
... ...
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/app/package-info.java 0 → 100644
  1 +/**
  2 + * 占位,避免 package 无法提交到 Git 仓库
  3 + */
  4 +package cn.iocoder.yudao.module.tool.controller.app;
... ...
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/package-info.java 0 → 100644
  1 +/**
  2 + * 提供 RESTful API 给前端:
  3 + * 1. admin 包:提供给管理后台 yudao-ui-admin 前端项目
  4 + * 2. app 包:提供给用户 APP yudao-ui-app 前端项目,它的 Controller 和 VO 都要添加 App 前缀,用于和管理后台进行区分
  5 + */
  6 +package cn.iocoder.yudao.module.tool.controller;
... ...
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/convert/codegen/CodegenConvert.java 0 → 100644
  1 +package cn.iocoder.yudao.module.tool.convert.codegen;
  2 +
  3 +import cn.iocoder.yudao.framework.common.pojo.PageResult;
  4 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.CodegenDetailRespVO;
  5 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.CodegenPreviewRespVO;
  6 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.CodegenUpdateReqVO;
  7 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.column.CodegenColumnRespVO;
  8 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table.CodegenTableRespVO;
  9 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table.SchemaTableRespVO;
  10 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenColumnDO;
  11 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenTableDO;
  12 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaColumnDO;
  13 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaTableDO;
  14 +import org.mapstruct.Mapper;
  15 +import org.mapstruct.factory.Mappers;
  16 +
  17 +import java.util.List;
  18 +import java.util.Map;
  19 +import java.util.stream.Collectors;
  20 +
  21 +@Mapper
  22 +public interface CodegenConvert {
  23 +
  24 + CodegenConvert INSTANCE = Mappers.getMapper(CodegenConvert.class);
  25 +
  26 + // ========== InformationSchemaTableDO 和 InformationSchemaColumnDO 相关 ==========
  27 +
  28 + CodegenTableDO convert(SchemaTableDO bean);
  29 +
  30 + List<CodegenColumnDO> convertList(List<SchemaColumnDO> list);
  31 +
  32 + CodegenTableRespVO convert(SchemaColumnDO bean);
  33 +
  34 + // ========== CodegenTableDO 相关 ==========
  35 +
  36 +// List<CodegenTableRespVO> convertList02(List<CodegenTableDO> list);
  37 +
  38 + CodegenTableRespVO convert(CodegenTableDO bean);
  39 +
  40 + PageResult<CodegenTableRespVO> convertPage(PageResult<CodegenTableDO> page);
  41 +
  42 + // ========== CodegenTableDO 相关 ==========
  43 +
  44 + List<CodegenColumnRespVO> convertList02(List<CodegenColumnDO> list);
  45 +
  46 + CodegenTableDO convert(CodegenUpdateReqVO.Table bean);
  47 +
  48 + List<CodegenColumnDO> convertList03(List<CodegenUpdateReqVO.Column> columns);
  49 +
  50 + List<SchemaTableRespVO> convertList04(List<SchemaTableDO> list);
  51 +
  52 + // ========== 其它 ==========
  53 +
  54 + default CodegenDetailRespVO convert(CodegenTableDO table, List<CodegenColumnDO> columns) {
  55 + CodegenDetailRespVO respVO = new CodegenDetailRespVO();
  56 + respVO.setTable(convert(table));
  57 + respVO.setColumns(convertList02(columns));
  58 + return respVO;
  59 + }
  60 +
  61 + default List<CodegenPreviewRespVO> convert(Map<String, String> codes) {
  62 + return codes.entrySet().stream().map(entry -> {
  63 + CodegenPreviewRespVO respVO = new CodegenPreviewRespVO();
  64 + respVO.setFilePath(entry.getKey());
  65 + respVO.setCode(entry.getValue());
  66 + return respVO;
  67 + }).collect(Collectors.toList());
  68 + }
  69 +
  70 +}
... ...
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/convert/test/TestDemoConvert.java 0 → 100644
  1 +package cn.iocoder.yudao.module.tool.convert.test;
  2 +
  3 +import java.util.*;
  4 +
  5 +import cn.iocoder.yudao.framework.common.pojo.PageResult;
  6 +
  7 +import cn.iocoder.yudao.module.tool.controller.admin.test.vo.TestDemoCreateReqVO;
  8 +import cn.iocoder.yudao.module.tool.controller.admin.test.vo.TestDemoExcelVO;
  9 +import cn.iocoder.yudao.module.tool.controller.admin.test.vo.TestDemoRespVO;
  10 +import cn.iocoder.yudao.module.tool.controller.admin.test.vo.TestDemoUpdateReqVO;
  11 +import org.mapstruct.Mapper;
  12 +import org.mapstruct.factory.Mappers;
  13 +import cn.iocoder.yudao.module.tool.dal.dataobject.test.TestDemoDO;
  14 +
  15 +@Mapper
  16 +public interface TestDemoConvert {
  17 +
  18 + TestDemoConvert INSTANCE = Mappers.getMapper(TestDemoConvert.class);
  19 +
  20 + TestDemoDO convert(TestDemoCreateReqVO bean);
  21 +
  22 + TestDemoDO convert(TestDemoUpdateReqVO bean);
  23 +
  24 + TestDemoRespVO convert(TestDemoDO bean);
  25 +
  26 + List<TestDemoRespVO> convertList(List<TestDemoDO> list);
  27 +
  28 + PageResult<TestDemoRespVO> convertPage(PageResult<TestDemoDO> page);
  29 +
  30 + List<TestDemoExcelVO> convertList02(List<TestDemoDO> list);
  31 +
  32 +}
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/dal/dataobject/codegen/ToolCodegenColumnDO.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/dal/dataobject/codegen/CodegenColumnDO.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen;
  1 +package cn.iocoder.yudao.module.tool.dal.dataobject.codegen;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4   -import cn.iocoder.yudao.adminserver.modules.tool.enums.codegen.ToolCodegenColumnHtmlTypeEnum;
5   -import cn.iocoder.yudao.adminserver.modules.tool.enums.codegen.ToolCodegenColumnListConditionEnum;
  4 +import cn.iocoder.yudao.module.tool.enums.codegen.CodegenColumnHtmlTypeEnum;
  5 +import cn.iocoder.yudao.module.tool.enums.codegen.CodegenColumnListConditionEnum;
6 6 import com.baomidou.mybatisplus.annotation.TableId;
7 7 import com.baomidou.mybatisplus.annotation.TableName;
8 8 import lombok.Data;
... ... @@ -18,7 +18,7 @@ import lombok.experimental.Accessors;
18 18 @Data
19 19 @Accessors(chain = true)
20 20 @EqualsAndHashCode(callSuper = true)
21   -public class ToolCodegenColumnDO extends BaseDO {
  21 +public class CodegenColumnDO extends BaseDO {
22 22  
23 23 /**
24 24 * ID 编号
... ... @@ -28,7 +28,7 @@ public class ToolCodegenColumnDO extends BaseDO {
28 28 /**
29 29 * 表编号
30 30 *
31   - * 关联 {@link ToolCodegenTableDO#getId()}
  31 + * 关联 {@link CodegenTableDO#getId()}
32 32 */
33 33 private Long tableId;
34 34  
... ... @@ -104,7 +104,7 @@ public class ToolCodegenColumnDO extends BaseDO {
104 104 /**
105 105 * List 查询操作的条件类型
106 106 *
107   - * 枚举 {@link ToolCodegenColumnListConditionEnum}
  107 + * 枚举 {@link CodegenColumnListConditionEnum}
108 108 */
109 109 private String listOperationCondition;
110 110 /**
... ... @@ -117,7 +117,7 @@ public class ToolCodegenColumnDO extends BaseDO {
117 117 /**
118 118 * 显示类型
119 119 *
120   - * 枚举 {@link ToolCodegenColumnHtmlTypeEnum}
  120 + * 枚举 {@link CodegenColumnHtmlTypeEnum}
121 121 */
122 122 private String htmlType;
123 123  
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/dal/dataobject/codegen/ToolCodegenTableDO.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/dal/dataobject/codegen/CodegenTableDO.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen;
  1 +package cn.iocoder.yudao.module.tool.dal.dataobject.codegen;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4   -import cn.iocoder.yudao.adminserver.modules.tool.enums.codegen.ToolCodegenTemplateTypeEnum;
  4 +import cn.iocoder.yudao.module.tool.enums.codegen.CodegenTemplateTypeEnum;
5 5 import com.baomidou.mybatisplus.annotation.TableName;
6 6 import lombok.Data;
7 7 import lombok.EqualsAndHashCode;
... ... @@ -16,7 +16,7 @@ import lombok.experimental.Accessors;
16 16 @Data
17 17 @Accessors(chain = true)
18 18 @EqualsAndHashCode(callSuper = true)
19   -public class ToolCodegenTableDO extends BaseDO {
  19 +public class CodegenTableDO extends BaseDO {
20 20  
21 21 /**
22 22 * ID 编号
... ... @@ -26,7 +26,7 @@ public class ToolCodegenTableDO extends BaseDO {
26 26 /**
27 27 * 导入类型
28 28 *
29   - * 枚举 {@link ToolCodegenTemplateTypeEnum}
  29 + * 枚举 {@link CodegenTemplateTypeEnum}
30 30 */
31 31 private Integer importType;
32 32  
... ... @@ -79,7 +79,7 @@ public class ToolCodegenTableDO extends BaseDO {
79 79 /**
80 80 * 模板类型
81 81 *
82   - * 枚举 {@link ToolCodegenTemplateTypeEnum}
  82 + * 枚举 {@link CodegenTemplateTypeEnum}
83 83 */
84 84 private Integer templateType;
85 85  
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/dal/dataobject/codegen/ToolSchemaColumnDO.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/dal/dataobject/codegen/SchemaColumnDO.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen;
  1 +package cn.iocoder.yudao.module.tool.dal.dataobject.codegen;
2 2  
3 3 import com.baomidou.mybatisplus.annotation.TableField;
4 4 import com.baomidou.mybatisplus.annotation.TableName;
... ... @@ -13,7 +13,7 @@ import lombok.Data;
13 13 @TableName(value = "information_schema.columns", autoResultMap = true)
14 14 @Data
15 15 @Builder
16   -public class ToolSchemaColumnDO {
  16 +public class SchemaColumnDO {
17 17  
18 18 /**
19 19 * 表名称
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/dal/dataobject/codegen/ToolSchemaTableDO.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/dal/dataobject/codegen/SchemaTableDO.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen;
  1 +package cn.iocoder.yudao.module.tool.dal.dataobject.codegen;
2 2  
3 3 import com.baomidou.mybatisplus.annotation.TableName;
4 4 import lombok.Builder;
... ... @@ -14,7 +14,7 @@ import java.util.Date;
14 14 @TableName(value = "information_schema.tables", autoResultMap = true)
15 15 @Data
16 16 @Builder
17   -public class ToolSchemaTableDO {
  17 +public class SchemaTableDO {
18 18  
19 19 /**
20 20 * 数据库
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/dal/dataobject/test/ToolTestDemoDO.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/dal/dataobject/test/TestDemoDO.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.test;
  1 +package cn.iocoder.yudao.module.tool.dal.dataobject.test;
2 2  
3 3 import lombok.*;
4   -import java.util.*;
5 4 import com.baomidou.mybatisplus.annotation.*;
6 5 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
7 6  
8 7 /**
9   - * 字典类型 DO
  8 + * 测试示例 DO
10 9 *
11 10 * @author 芋艿
12 11 */
... ... @@ -17,7 +16,7 @@ import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
17 16 @Builder
18 17 @NoArgsConstructor
19 18 @AllArgsConstructor
20   -public class ToolTestDemoDO extends BaseDO {
  19 +public class TestDemoDO extends BaseDO {
21 20  
22 21 /**
23 22 * 编号
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/dal/mysql/codegen/ToolCodegenColumnMapper.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/dal/mysql/codegen/CodegenColumnMapper.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.dal.mysql.codegen;
  1 +package cn.iocoder.yudao.module.tool.dal.mysql.codegen;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
4   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO;
  4 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenColumnDO;
5 5 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
6 6 import org.apache.ibatis.annotations.Mapper;
7 7  
8 8 import java.util.List;
9 9  
10 10 @Mapper
11   -public interface ToolCodegenColumnMapper extends BaseMapperX<ToolCodegenColumnDO> {
  11 +public interface CodegenColumnMapper extends BaseMapperX<CodegenColumnDO> {
12 12  
13   - default List<ToolCodegenColumnDO> selectListByTableId(Long tableId) {
14   - return selectList(new QueryWrapper<ToolCodegenColumnDO>().eq("table_id", tableId)
  13 + default List<CodegenColumnDO> selectListByTableId(Long tableId) {
  14 + return selectList(new QueryWrapper<CodegenColumnDO>().eq("table_id", tableId)
15 15 .orderByAsc("ordinal_position"));
16 16 }
17 17  
18 18 default void deleteListByTableId(Long tableId) {
19   - delete(new QueryWrapper<ToolCodegenColumnDO>().eq("table_id", tableId));
  19 + delete(new QueryWrapper<CodegenColumnDO>().eq("table_id", tableId));
20 20 }
21 21  
22 22 }
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/dal/mysql/codegen/ToolCodegenTableMapper.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/dal/mysql/codegen/CodegenTableMapper.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.dal.mysql.codegen;
  1 +package cn.iocoder.yudao.module.tool.dal.mysql.codegen;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 4 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
5 5 import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
6   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.table.ToolCodegenTablePageReqVO;
7   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO;
  6 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table.CodegenTablePageReqVO;
  7 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenTableDO;
8 8 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
9 9 import org.apache.ibatis.annotations.Mapper;
10 10  
11 11 @Mapper
12   -public interface ToolCodegenTableMapper extends BaseMapperX<ToolCodegenTableDO> {
  12 +public interface CodegenTableMapper extends BaseMapperX<CodegenTableDO> {
13 13  
14   - default ToolCodegenTableDO selectByTableName(String tableName) {
15   - return selectOne(new QueryWrapper<ToolCodegenTableDO>().eq("table_name", tableName));
  14 + default CodegenTableDO selectByTableName(String tableName) {
  15 + return selectOne(new QueryWrapper<CodegenTableDO>().eq("table_name", tableName));
16 16 }
17 17  
18   - default PageResult<ToolCodegenTableDO> selectPage(ToolCodegenTablePageReqVO pageReqVO) {
19   - return selectPage(pageReqVO, new QueryWrapperX<ToolCodegenTableDO>()
  18 + default PageResult<CodegenTableDO> selectPage(CodegenTablePageReqVO pageReqVO) {
  19 + return selectPage(pageReqVO, new QueryWrapperX<CodegenTableDO>()
20 20 .likeIfPresent("table_name", pageReqVO.getTableName())
21 21 .likeIfPresent("table_comment", pageReqVO.getTableComment())
22 22 .betweenIfPresent("create_time", pageReqVO.getBeginCreateTime(), pageReqVO.getEndCreateTime()));
... ...
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/dal/mysql/codegen/SchemaColumnMapper.java 0 → 100644
  1 +package cn.iocoder.yudao.module.tool.dal.mysql.codegen;
  2 +
  3 +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
  4 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaColumnDO;
  5 +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  6 +import org.apache.ibatis.annotations.Mapper;
  7 +
  8 +import java.util.List;
  9 +
  10 +@Mapper
  11 +public interface SchemaColumnMapper extends BaseMapperX<SchemaColumnDO> {
  12 +
  13 + default List<SchemaColumnDO> selectListByTableName(String tableSchema, String tableName) {
  14 + return selectList(new QueryWrapper<SchemaColumnDO>().eq("table_name", tableName)
  15 + .eq("table_schema", tableSchema)
  16 + .orderByAsc("ordinal_position"));
  17 + }
  18 +
  19 +}
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/dal/mysql/codegen/ToolSchemaTableMapper.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/dal/mysql/codegen/SchemaTableMapper.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.dal.mysql.codegen;
  1 +package cn.iocoder.yudao.module.tool.dal.mysql.codegen;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
4 4 import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
5   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolSchemaTableDO;
  5 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaTableDO;
6 6 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
7 7 import org.apache.ibatis.annotations.Mapper;
8 8  
... ... @@ -10,16 +10,16 @@ import java.util.Collection;
10 10 import java.util.List;
11 11  
12 12 @Mapper
13   -public interface ToolSchemaTableMapper extends BaseMapperX<ToolSchemaTableDO> {
  13 +public interface SchemaTableMapper extends BaseMapperX<SchemaTableDO> {
14 14  
15   - default List<ToolSchemaTableDO> selectList(Collection<String> tableSchemas, String tableName, String tableComment) {
16   - return selectList(new QueryWrapperX<ToolSchemaTableDO>().in("table_schema", tableSchemas)
  15 + default List<SchemaTableDO> selectList(Collection<String> tableSchemas, String tableName, String tableComment) {
  16 + return selectList(new QueryWrapperX<SchemaTableDO>().in("table_schema", tableSchemas)
17 17 .likeIfPresent("table_name", tableName)
18 18 .likeIfPresent("table_comment", tableComment));
19 19 }
20 20  
21   - default ToolSchemaTableDO selectByTableSchemaAndTableName(String tableSchema, String tableName) {
22   - return selectOne(new QueryWrapper<ToolSchemaTableDO>().eq("table_schema",tableSchema)
  21 + default SchemaTableDO selectByTableSchemaAndTableName(String tableSchema, String tableName) {
  22 + return selectOne(new QueryWrapper<SchemaTableDO>().eq("table_schema",tableSchema)
23 23 .eq("table_name", tableName));
24 24 }
25 25  
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/dal/mysql/test/ToolTestDemoMapper.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/dal/mysql/test/TestDemoMapper.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.dal.mysql.test;
  1 +package cn.iocoder.yudao.module.tool.dal.mysql.test;
2 2  
3 3 import java.util.*;
4 4  
5 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 6 import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
7 7 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
8   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.test.ToolTestDemoDO;
  8 +import cn.iocoder.yudao.module.tool.controller.admin.test.vo.TestDemoExportReqVO;
  9 +import cn.iocoder.yudao.module.tool.controller.admin.test.vo.TestDemoPageReqVO;
  10 +import cn.iocoder.yudao.module.tool.dal.dataobject.test.TestDemoDO;
9 11 import org.apache.ibatis.annotations.Mapper;
10   -import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.*;
11 12  
12   -/**
13   - * 字典类型 Mapper
14   - *
15   - * @author 芋艿
16   - */
17 13 @Mapper
18   -public interface ToolTestDemoMapper extends BaseMapperX<ToolTestDemoDO> {
  14 +public interface TestDemoMapper extends BaseMapperX<TestDemoDO> {
19 15  
20   - default PageResult<ToolTestDemoDO> selectPage(ToolTestDemoPageReqVO reqVO) {
21   - return selectPage(reqVO, new QueryWrapperX<ToolTestDemoDO>()
  16 + default PageResult<TestDemoDO> selectPage(TestDemoPageReqVO reqVO) {
  17 + return selectPage(reqVO, new QueryWrapperX<TestDemoDO>()
22 18 .likeIfPresent("name", reqVO.getName())
23 19 .eqIfPresent("status", reqVO.getStatus())
24 20 .eqIfPresent("type", reqVO.getType())
... ... @@ -28,8 +24,8 @@ public interface ToolTestDemoMapper extends BaseMapperX&lt;ToolTestDemoDO&gt; {
28 24 .orderByDesc("id"));
29 25 }
30 26  
31   - default List<ToolTestDemoDO> selectList(ToolTestDemoExportReqVO reqVO) {
32   - return selectList(new QueryWrapperX<ToolTestDemoDO>()
  27 + default List<TestDemoDO> selectList(TestDemoExportReqVO reqVO) {
  28 + return selectList(new QueryWrapperX<TestDemoDO>()
33 29 .likeIfPresent("name", reqVO.getName())
34 30 .eqIfPresent("status", reqVO.getStatus())
35 31 .eqIfPresent("type", reqVO.getType())
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/enums/codegen/ToolCodegenColumnHtmlTypeEnum.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/enums/codegen/CodegenColumnHtmlTypeEnum.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.enums.codegen;
  1 +package cn.iocoder.yudao.module.tool.enums.codegen;
2 2  
3 3 import lombok.AllArgsConstructor;
4 4 import lombok.Getter;
... ... @@ -8,7 +8,7 @@ import lombok.Getter;
8 8 */
9 9 @AllArgsConstructor
10 10 @Getter
11   -public enum ToolCodegenColumnHtmlTypeEnum {
  11 +public enum CodegenColumnHtmlTypeEnum {
12 12  
13 13 INPUT("input"), // 文本框
14 14 TEXTAREA("textarea"), // 文本域
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/enums/codegen/ToolCodegenColumnListConditionEnum.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/enums/codegen/CodegenColumnListConditionEnum.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.enums.codegen;
  1 +package cn.iocoder.yudao.module.tool.enums.codegen;
2 2  
3 3 import lombok.AllArgsConstructor;
4 4 import lombok.Getter;
... ... @@ -8,7 +8,7 @@ import lombok.Getter;
8 8 */
9 9 @AllArgsConstructor
10 10 @Getter
11   -public enum ToolCodegenColumnListConditionEnum {
  11 +public enum CodegenColumnListConditionEnum {
12 12  
13 13 EQ("="),
14 14 NE("!="),
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/enums/codegen/ToolCodegenImportTypeEnum.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/enums/codegen/CodegenImportTypeEnum.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.enums.codegen;
  1 +package cn.iocoder.yudao.module.tool.enums.codegen;
2 2  
3 3 import lombok.AllArgsConstructor;
4 4 import lombok.Getter;
... ... @@ -10,7 +10,7 @@ import lombok.Getter;
10 10 */
11 11 @AllArgsConstructor
12 12 @Getter
13   -public enum ToolCodegenImportTypeEnum {
  13 +public enum CodegenImportTypeEnum {
14 14  
15 15 DB(1), // 从 information_schema 的 table 和 columns 表导入
16 16 SQL(2); // 基于建表 SQL 语句导入
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/enums/codegen/ToolCodegenTemplateTypeEnum.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/enums/codegen/CodegenTemplateTypeEnum.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.enums.codegen;
  1 +package cn.iocoder.yudao.module.tool.enums.codegen;
2 2  
3 3 import lombok.AllArgsConstructor;
4 4 import lombok.Getter;
... ... @@ -10,7 +10,7 @@ import lombok.Getter;
10 10 */
11 11 @AllArgsConstructor
12 12 @Getter
13   -public enum ToolCodegenTemplateTypeEnum {
  13 +public enum CodegenTemplateTypeEnum {
14 14  
15 15 CRUD(1), // 单表(增删改查)
16 16 TREE(2), // 树表(增删改查)
... ...
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/enums/package-info.java 0 → 100644
  1 +/**
  2 + * 占位
  3 + */
  4 +package cn.iocoder.yudao.module.tool.enums;
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/framework/codegen/config/CodegenConfiguration.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/framework/codegen/config/CodegenConfiguration.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.framework.codegen.config;
  1 +package cn.iocoder.yudao.module.tool.framework.codegen.config;
2 2  
3 3 import org.springframework.boot.context.properties.EnableConfigurationProperties;
4 4 import org.springframework.context.annotation.Configuration;
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/framework/codegen/config/CodegenProperties.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/framework/codegen/config/CodegenProperties.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.framework.codegen.config;
  1 +package cn.iocoder.yudao.module.tool.framework.codegen.config;
2 2  
3 3 import lombok.Data;
4 4 import org.springframework.boot.context.properties.ConfigurationProperties;
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/framework/codegen/package-info.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/framework/codegen/package-info.java
1 1 /**
2 2 * 代码生成器
3 3 */
4   -package cn.iocoder.yudao.adminserver.modules.tool.framework.codegen;
  4 +package cn.iocoder.yudao.module.tool.framework.codegen;
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/framework/package-info.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/framework/package-info.java
... ... @@ -3,4 +3,4 @@
3 3 *
4 4 * @author 芋道源码
5 5 */
6   -package cn.iocoder.yudao.adminserver.modules.tool.framework;
  6 +package cn.iocoder.yudao.module.tool.framework;
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/package-info.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/package-info.java
1 1 /**
2   - * tool 包下,我们放研发工具,提升研发效率与质量。
  2 + * tool 模块下,我们放研发工具,提升研发效率与质量。
3 3 * 例如说:代码生成器、接口文档等等
4 4 *
5   - * 缩写:tool
  5 + * 1. Controller URL:以 /tool/ 开头,避免和其它 Module 冲突
  6 + * 2. DataObject 表名:以 tool_ 开头,方便在数据库中区分
6 7 */
7   -package cn.iocoder.yudao.adminserver.modules.tool;
  8 +package cn.iocoder.yudao.module.tool;
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/service/codegen/ToolCodegenService.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/service/codegen/CodegenService.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.service.codegen;
  1 +package cn.iocoder.yudao.module.tool.service.codegen;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.ToolCodegenUpdateReqVO;
5   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.table.ToolCodegenTablePageReqVO;
6   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO;
7   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO;
8   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolSchemaTableDO;
  4 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.CodegenUpdateReqVO;
  5 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table.CodegenTablePageReqVO;
  6 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenColumnDO;
  7 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenTableDO;
  8 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaTableDO;
9 9  
10 10 import java.util.List;
11 11 import java.util.Map;
... ... @@ -15,7 +15,7 @@ import java.util.Map;
15 15 *
16 16 * @author 芋道源码
17 17 */
18   -public interface ToolCodegenService {
  18 +public interface CodegenService {
19 19  
20 20 /**
21 21 * 基于 SQL 建表语句,创建代码生成器的表定义
... ... @@ -46,7 +46,7 @@ public interface ToolCodegenService {
46 46 *
47 47 * @param updateReqVO 更新信息
48 48 */
49   - void updateCodegen(ToolCodegenUpdateReqVO updateReqVO);
  49 + void updateCodegen(CodegenUpdateReqVO updateReqVO);
50 50  
51 51 /**
52 52 * 基于数据库的表结构,同步数据库的表和字段定义
... ... @@ -76,7 +76,7 @@ public interface ToolCodegenService {
76 76 * @param pageReqVO 分页条件
77 77 * @return 表定义分页
78 78 */
79   - PageResult<ToolCodegenTableDO> getCodegenTablePage(ToolCodegenTablePageReqVO pageReqVO);
  79 + PageResult<CodegenTableDO> getCodegenTablePage(CodegenTablePageReqVO pageReqVO);
80 80  
81 81 /**
82 82 * 获得表定义
... ... @@ -84,14 +84,14 @@ public interface ToolCodegenService {
84 84 * @param id 表编号
85 85 * @return 表定义
86 86 */
87   - ToolCodegenTableDO getCodegenTablePage(Long id);
  87 + CodegenTableDO getCodegenTablePage(Long id);
88 88  
89 89 /**
90 90 * 获得全部表定义
91 91 *
92 92 * @return 表定义数组
93 93 */
94   - List<ToolCodegenTableDO> getCodeGenTableList();
  94 + List<CodegenTableDO> getCodeGenTableList();
95 95  
96 96 /**
97 97 * 获得指定表的字段定义数组
... ... @@ -99,7 +99,7 @@ public interface ToolCodegenService {
99 99 * @param tableId 表编号
100 100 * @return 字段定义数组
101 101 */
102   - List<ToolCodegenColumnDO> getCodegenColumnListByTableId(Long tableId);
  102 + List<CodegenColumnDO> getCodegenColumnListByTableId(Long tableId);
103 103  
104 104 /**
105 105 * 执行指定表的代码生成
... ... @@ -116,6 +116,6 @@ public interface ToolCodegenService {
116 116 * @param tableComment 表描述
117 117 * @return 表定义列表
118 118 */
119   - List<ToolSchemaTableDO> getSchemaTableList(String tableName, String tableComment);
  119 + List<SchemaTableDO> getSchemaTableList(String tableName, String tableComment);
120 120  
121 121 }
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/service/codegen/impl/ToolCodegenServiceImpl.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/service/codegen/CodegenServiceImpl.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.service.codegen.impl;
  1 +package cn.iocoder.yudao.module.tool.service.codegen;
2 2  
3 3 import cn.hutool.core.collection.CollUtil;
4 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5   -import cn.iocoder.yudao.adminserver.modules.tool.framework.codegen.config.CodegenProperties;
6   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.ToolCodegenUpdateReqVO;
7   -import cn.iocoder.yudao.adminserver.modules.tool.controller.codegen.vo.table.ToolCodegenTablePageReqVO;
8   -import cn.iocoder.yudao.adminserver.modules.tool.convert.codegen.ToolCodegenConvert;
9   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO;
10   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO;
11   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolSchemaColumnDO;
12   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolSchemaTableDO;
13   -import cn.iocoder.yudao.adminserver.modules.tool.dal.mysql.codegen.ToolCodegenColumnMapper;
14   -import cn.iocoder.yudao.adminserver.modules.tool.dal.mysql.codegen.ToolCodegenTableMapper;
15   -import cn.iocoder.yudao.adminserver.modules.tool.dal.mysql.codegen.ToolSchemaColumnMapper;
16   -import cn.iocoder.yudao.adminserver.modules.tool.dal.mysql.codegen.ToolSchemaTableMapper;
17   -import cn.iocoder.yudao.adminserver.modules.tool.enums.codegen.ToolCodegenImportTypeEnum;
18   -import cn.iocoder.yudao.adminserver.modules.tool.service.codegen.ToolCodegenService;
  5 +import cn.iocoder.yudao.module.tool.framework.codegen.config.CodegenProperties;
  6 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.CodegenUpdateReqVO;
  7 +import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table.CodegenTablePageReqVO;
  8 +import cn.iocoder.yudao.module.tool.convert.codegen.CodegenConvert;
  9 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenColumnDO;
  10 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenTableDO;
  11 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaColumnDO;
  12 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaTableDO;
  13 +import cn.iocoder.yudao.module.tool.dal.mysql.codegen.CodegenColumnMapper;
  14 +import cn.iocoder.yudao.module.tool.dal.mysql.codegen.CodegenTableMapper;
  15 +import cn.iocoder.yudao.module.tool.dal.mysql.codegen.SchemaColumnMapper;
  16 +import cn.iocoder.yudao.module.tool.dal.mysql.codegen.SchemaTableMapper;
  17 +import cn.iocoder.yudao.module.tool.enums.codegen.CodegenImportTypeEnum;
19 18 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
  19 +import cn.iocoder.yudao.module.tool.service.codegen.inner.CodegenBuilder;
  20 +import cn.iocoder.yudao.module.tool.service.codegen.inner.CodegenEngine;
  21 +import cn.iocoder.yudao.module.tool.service.codegen.inner.CodegenSQLParser;
20 22 import org.apache.commons.collections4.KeyValue;
21 23 import org.springframework.stereotype.Service;
22 24 import org.springframework.transaction.annotation.Transactional;
... ... @@ -29,7 +31,7 @@ import java.util.Set;
29 31 import java.util.stream.Collectors;
30 32  
31 33 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
32   -import static cn.iocoder.yudao.adminserver.modules.tool.enums.ToolErrorCodeConstants.*;
  34 +import static cn.iocoder.yudao.module.tool.enums.ErrorCodeConstants.*;
33 35  
34 36 /**
35 37 * 代码生成 Service 实现类
... ... @@ -37,27 +39,27 @@ import static cn.iocoder.yudao.adminserver.modules.tool.enums.ToolErrorCodeConst
37 39 * @author 芋道源码
38 40 */
39 41 @Service
40   -public class ToolCodegenServiceImpl implements ToolCodegenService {
  42 +public class CodegenServiceImpl implements CodegenService {
41 43  
42 44 @Resource
43   - private ToolSchemaTableMapper schemaTableMapper;
  45 + private SchemaTableMapper schemaTableMapper;
44 46 @Resource
45   - private ToolSchemaColumnMapper schemaColumnMapper;
  47 + private SchemaColumnMapper schemaColumnMapper;
46 48 @Resource
47   - private ToolCodegenTableMapper codegenTableMapper;
  49 + private CodegenTableMapper codegenTableMapper;
48 50 @Resource
49   - private ToolCodegenColumnMapper codegenColumnMapper;
  51 + private CodegenColumnMapper codegenColumnMapper;
50 52  
51 53 @Resource
52   - private ToolCodegenBuilder codegenBuilder;
  54 + private CodegenBuilder codegenBuilder;
53 55 @Resource
54   - private ToolCodegenEngine codegenEngine;
  56 + private CodegenEngine codegenEngine;
55 57  
56 58 @Resource
57 59 private CodegenProperties codegenProperties;
58 60  
59   - private Long createCodegen0(ToolCodegenImportTypeEnum importType,
60   - ToolSchemaTableDO schemaTable, List<ToolSchemaColumnDO> schemaColumns) {
  61 + private Long createCodegen0(CodegenImportTypeEnum importType,
  62 + SchemaTableDO schemaTable, List<SchemaColumnDO> schemaColumns) {
61 63 // 校验导入的表和字段非空
62 64 if (schemaTable == null) {
63 65 throw exception(CODEGEN_IMPORT_TABLE_NULL);
... ... @@ -70,12 +72,12 @@ public class ToolCodegenServiceImpl implements ToolCodegenService {
70 72 throw exception(CODEGEN_TABLE_EXISTS);
71 73 }
72 74  
73   - // 构建 ToolCodegenTableDO 对象,插入到 DB 中
74   - ToolCodegenTableDO table = codegenBuilder.buildTable(schemaTable);
  75 + // 构建 CodegenTableDO 对象,插入到 DB 中
  76 + CodegenTableDO table = codegenBuilder.buildTable(schemaTable);
75 77 table.setImportType(importType.getType());
76 78 codegenTableMapper.insert(table);
77   - // 构建 ToolCodegenColumnDO 数组,插入到 DB 中
78   - List<ToolCodegenColumnDO> columns = codegenBuilder.buildColumns(schemaColumns);
  79 + // 构建 CodegenColumnDO 数组,插入到 DB 中
  80 + List<CodegenColumnDO> columns = codegenBuilder.buildColumns(schemaColumns);
79 81 columns.forEach(column -> {
80 82 column.setTableId(table.getId());
81 83 codegenColumnMapper.insert(column); // TODO 批量插入
... ... @@ -86,17 +88,17 @@ public class ToolCodegenServiceImpl implements ToolCodegenService {
86 88 @Override
87 89 public Long createCodegenListFromSQL(String sql) {
88 90 // 从 SQL 中,获得数据库表结构
89   - ToolSchemaTableDO schemaTable;
90   - List<ToolSchemaColumnDO> schemaColumns;
  91 + SchemaTableDO schemaTable;
  92 + List<SchemaColumnDO> schemaColumns;
91 93 try {
92   - KeyValue<ToolSchemaTableDO, List<ToolSchemaColumnDO>> result = ToolCodegenSQLParser.parse(sql);
  94 + KeyValue<SchemaTableDO, List<SchemaColumnDO>> result = CodegenSQLParser.parse(sql);
93 95 schemaTable = result.getKey();
94 96 schemaColumns = result.getValue();
95 97 } catch (Exception ex) {
96 98 throw exception(CODEGEN_PARSE_SQL_ERROR);
97 99 }
98 100 // 导入
99   - return this.createCodegen0(ToolCodegenImportTypeEnum.SQL, schemaTable, schemaColumns);
  101 + return this.createCodegen0(CodegenImportTypeEnum.SQL, schemaTable, schemaColumns);
100 102 }
101 103  
102 104 @Override
... ... @@ -104,10 +106,10 @@ public class ToolCodegenServiceImpl implements ToolCodegenService {
104 106 // 获取当前schema
105 107 String tableSchema = codegenProperties.getDbSchemas().iterator().next();
106 108 // 从数据库中,获得数据库表结构
107   - ToolSchemaTableDO schemaTable = schemaTableMapper.selectByTableSchemaAndTableName(tableSchema, tableName);
108   - List<ToolSchemaColumnDO> schemaColumns = schemaColumnMapper.selectListByTableName(tableSchema, tableName);
  109 + SchemaTableDO schemaTable = schemaTableMapper.selectByTableSchemaAndTableName(tableSchema, tableName);
  110 + List<SchemaColumnDO> schemaColumns = schemaColumnMapper.selectListByTableName(tableSchema, tableName);
109 111 // 导入
110   - return this.createCodegen0(ToolCodegenImportTypeEnum.DB, schemaTable, schemaColumns);
  112 + return this.createCodegen0(CodegenImportTypeEnum.DB, schemaTable, schemaColumns);
111 113 }
112 114  
113 115 @Override
... ... @@ -121,17 +123,17 @@ public class ToolCodegenServiceImpl implements ToolCodegenService {
121 123  
122 124 @Override
123 125 @Transactional(rollbackFor = Exception.class)
124   - public void updateCodegen(ToolCodegenUpdateReqVO updateReqVO) {
  126 + public void updateCodegen(CodegenUpdateReqVO updateReqVO) {
125 127 // 校验是否已经存在
126 128 if (codegenTableMapper.selectById(updateReqVO.getTable().getId()) == null) {
127 129 throw exception(CODEGEN_TABLE_NOT_EXISTS);
128 130 }
129 131  
130 132 // 更新 table 表定义
131   - ToolCodegenTableDO updateTableObj = ToolCodegenConvert.INSTANCE.convert(updateReqVO.getTable());
  133 + CodegenTableDO updateTableObj = CodegenConvert.INSTANCE.convert(updateReqVO.getTable());
132 134 codegenTableMapper.updateById(updateTableObj);
133 135 // 更新 column 字段定义
134   - List<ToolCodegenColumnDO> updateColumnObjs = ToolCodegenConvert.INSTANCE.convertList03(updateReqVO.getColumns());
  136 + List<CodegenColumnDO> updateColumnObjs = CodegenConvert.INSTANCE.convertList03(updateReqVO.getColumns());
135 137 updateColumnObjs.forEach(updateColumnObj -> codegenColumnMapper.updateById(updateColumnObj));
136 138 }
137 139  
... ... @@ -139,13 +141,13 @@ public class ToolCodegenServiceImpl implements ToolCodegenService {
139 141 @Transactional(rollbackFor = Exception.class)
140 142 public void syncCodegenFromDB(Long tableId) {
141 143 // 校验是否已经存在
142   - ToolCodegenTableDO table = codegenTableMapper.selectById(tableId);
  144 + CodegenTableDO table = codegenTableMapper.selectById(tableId);
143 145 if (table == null) {
144 146 throw exception(CODEGEN_TABLE_NOT_EXISTS);
145 147 }
146 148 String tableSchema = codegenProperties.getDbSchemas().iterator().next();
147 149 // 从数据库中,获得数据库表结构
148   - List<ToolSchemaColumnDO> schemaColumns = schemaColumnMapper.selectListByTableName(tableSchema, table.getTableName());
  150 + List<SchemaColumnDO> schemaColumns = schemaColumnMapper.selectListByTableName(tableSchema, table.getTableName());
149 151  
150 152 // 执行同步
151 153 this.syncCodegen0(tableId, schemaColumns);
... ... @@ -155,14 +157,14 @@ public class ToolCodegenServiceImpl implements ToolCodegenService {
155 157 @Transactional(rollbackFor = Exception.class)
156 158 public void syncCodegenFromSQL(Long tableId, String sql) {
157 159 // 校验是否已经存在
158   - ToolCodegenTableDO table = codegenTableMapper.selectById(tableId);
  160 + CodegenTableDO table = codegenTableMapper.selectById(tableId);
159 161 if (table == null) {
160 162 throw exception(CODEGEN_TABLE_NOT_EXISTS);
161 163 }
162 164 // 从 SQL 中,获得数据库表结构
163   - List<ToolSchemaColumnDO> schemaColumns;
  165 + List<SchemaColumnDO> schemaColumns;
164 166 try {
165   - KeyValue<ToolSchemaTableDO, List<ToolSchemaColumnDO>> result = ToolCodegenSQLParser.parse(sql);
  167 + KeyValue<SchemaTableDO, List<SchemaColumnDO>> result = CodegenSQLParser.parse(sql);
166 168 schemaColumns = result.getValue();
167 169 } catch (Exception ex) {
168 170 throw exception(CODEGEN_PARSE_SQL_ERROR);
... ... @@ -172,27 +174,27 @@ public class ToolCodegenServiceImpl implements ToolCodegenService {
172 174 this.syncCodegen0(tableId, schemaColumns);
173 175 }
174 176  
175   - private void syncCodegen0(Long tableId, List<ToolSchemaColumnDO> schemaColumns) {
  177 + private void syncCodegen0(Long tableId, List<SchemaColumnDO> schemaColumns) {
176 178 // 校验导入的字段不为空
177 179 if (CollUtil.isEmpty(schemaColumns)) {
178 180 throw exception(CODEGEN_SYNC_COLUMNS_NULL);
179 181 }
180   - Set<String> schemaColumnNames = CollectionUtils.convertSet(schemaColumns, ToolSchemaColumnDO::getColumnName);
  182 + Set<String> schemaColumnNames = CollectionUtils.convertSet(schemaColumns, SchemaColumnDO::getColumnName);
181 183  
182   - // 构建 ToolCodegenColumnDO 数组,只同步新增的字段
183   - List<ToolCodegenColumnDO> codegenColumns = codegenColumnMapper.selectListByTableId(tableId);
184   - Set<String> codegenColumnNames = CollectionUtils.convertSet(codegenColumns, ToolCodegenColumnDO::getColumnName);
  184 + // 构建 CodegenColumnDO 数组,只同步新增的字段
  185 + List<CodegenColumnDO> codegenColumns = codegenColumnMapper.selectListByTableId(tableId);
  186 + Set<String> codegenColumnNames = CollectionUtils.convertSet(codegenColumns, CodegenColumnDO::getColumnName);
185 187 // 移除已经存在的字段
186 188 schemaColumns.removeIf(column -> codegenColumnNames.contains(column.getColumnName()));
187 189 // 计算需要删除的字段
188 190 Set<Long> deleteColumnIds = codegenColumns.stream().filter(column -> !schemaColumnNames.contains(column.getColumnName()))
189   - .map(ToolCodegenColumnDO::getId).collect(Collectors.toSet());
  191 + .map(CodegenColumnDO::getId).collect(Collectors.toSet());
190 192 if (CollUtil.isEmpty(schemaColumns) && CollUtil.isEmpty(deleteColumnIds)) {
191 193 throw exception(CODEGEN_SYNC_NONE_CHANGE);
192 194 }
193 195  
194 196 // 插入新增的字段
195   - List<ToolCodegenColumnDO> columns = codegenBuilder.buildColumns(schemaColumns);
  197 + List<CodegenColumnDO> columns = codegenBuilder.buildColumns(schemaColumns);
196 198 columns.forEach(column -> {
197 199 column.setTableId(tableId);
198 200 codegenColumnMapper.insert(column); // TODO 批量插入
... ... @@ -218,33 +220,33 @@ public class ToolCodegenServiceImpl implements ToolCodegenService {
218 220 }
219 221  
220 222 @Override
221   - public PageResult<ToolCodegenTableDO> getCodegenTablePage(ToolCodegenTablePageReqVO pageReqVO) {
  223 + public PageResult<CodegenTableDO> getCodegenTablePage(CodegenTablePageReqVO pageReqVO) {
222 224 return codegenTableMapper.selectPage(pageReqVO);
223 225 }
224 226  
225 227 @Override
226   - public ToolCodegenTableDO getCodegenTablePage(Long id) {
  228 + public CodegenTableDO getCodegenTablePage(Long id) {
227 229 return codegenTableMapper.selectById(id);
228 230 }
229 231  
230 232 @Override
231   - public List<ToolCodegenTableDO> getCodeGenTableList() {
  233 + public List<CodegenTableDO> getCodeGenTableList() {
232 234 return codegenTableMapper.selectList();
233 235 }
234 236  
235 237 @Override
236   - public List<ToolCodegenColumnDO> getCodegenColumnListByTableId(Long tableId) {
  238 + public List<CodegenColumnDO> getCodegenColumnListByTableId(Long tableId) {
237 239 return codegenColumnMapper.selectListByTableId(tableId);
238 240 }
239 241  
240 242 @Override
241 243 public Map<String, String> generationCodes(Long tableId) {
242 244 // 校验是否已经存在
243   - ToolCodegenTableDO table = codegenTableMapper.selectById(tableId);
  245 + CodegenTableDO table = codegenTableMapper.selectById(tableId);
244 246 if (codegenTableMapper.selectById(tableId) == null) {
245 247 throw exception(CODEGEN_TABLE_NOT_EXISTS);
246 248 }
247   - List<ToolCodegenColumnDO> columns = codegenColumnMapper.selectListByTableId(tableId);
  249 + List<CodegenColumnDO> columns = codegenColumnMapper.selectListByTableId(tableId);
248 250 if (CollUtil.isEmpty(columns)) {
249 251 throw exception(CODEGEN_COLUMN_NOT_EXISTS);
250 252 }
... ... @@ -254,8 +256,8 @@ public class ToolCodegenServiceImpl implements ToolCodegenService {
254 256 }
255 257  
256 258 @Override
257   - public List<ToolSchemaTableDO> getSchemaTableList(String tableName, String tableComment) {
258   - List<ToolSchemaTableDO> tables = schemaTableMapper.selectList(codegenProperties.getDbSchemas(), tableName, tableComment);
  259 + public List<SchemaTableDO> getSchemaTableList(String tableName, String tableComment) {
  260 + List<SchemaTableDO> tables = schemaTableMapper.selectList(codegenProperties.getDbSchemas(), tableName, tableComment);
259 261 // TODO 强制移除 Quartz 的表,未来做成可配置
260 262 tables.removeIf(table -> table.getTableName().startsWith("QRTZ_"));
261 263 tables.removeIf(table -> table.getTableName().startsWith("ACT_"));
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/service/codegen/impl/ToolCodegenBuilder.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/service/codegen/inner/CodegenBuilder.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.service.codegen.impl;
  1 +package cn.iocoder.yudao.module.tool.service.codegen.inner;
2 2  
3 3 import cn.hutool.core.map.MapUtil;
4 4 import cn.hutool.core.util.StrUtil;
5 5 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
6   -import cn.iocoder.yudao.adminserver.modules.tool.convert.codegen.ToolCodegenConvert;
7   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO;
8   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO;
9   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolSchemaColumnDO;
10   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolSchemaTableDO;
11   -import cn.iocoder.yudao.adminserver.modules.tool.enums.codegen.ToolCodegenColumnHtmlTypeEnum;
12   -import cn.iocoder.yudao.adminserver.modules.tool.enums.codegen.ToolCodegenColumnListConditionEnum;
13   -import cn.iocoder.yudao.adminserver.modules.tool.enums.codegen.ToolCodegenTemplateTypeEnum;
  6 +import cn.iocoder.yudao.module.tool.convert.codegen.CodegenConvert;
  7 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenColumnDO;
  8 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenTableDO;
  9 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaColumnDO;
  10 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaTableDO;
  11 +import cn.iocoder.yudao.module.tool.enums.codegen.CodegenColumnHtmlTypeEnum;
  12 +import cn.iocoder.yudao.module.tool.enums.codegen.CodegenColumnListConditionEnum;
  13 +import cn.iocoder.yudao.module.tool.enums.codegen.CodegenTemplateTypeEnum;
14 14 import com.google.common.collect.Sets;
15 15 import org.springframework.stereotype.Component;
16 16  
... ... @@ -21,11 +21,11 @@ import static cn.hutool.core.text.CharSequenceUtil.*;
21 21  
22 22 /**
23 23 * 代码生成器的 Builder,负责:
24   - * 1. 将数据库的表 {@link ToolSchemaTableDO} 定义,构建成 {@link ToolCodegenTableDO}
25   - * 2. 将数据库的列 {@link ToolSchemaColumnDO} 构定义,建成 {@link ToolCodegenColumnDO}
  24 + * 1. 将数据库的表 {@link SchemaTableDO} 定义,构建成 {@link CodegenTableDO}
  25 + * 2. 将数据库的列 {@link SchemaColumnDO} 构定义,建成 {@link CodegenColumnDO}
26 26 */
27 27 @Component
28   -public class ToolCodegenBuilder {
  28 +public class CodegenBuilder {
29 29  
30 30 /**
31 31 * Module 名字的映射 TODO 后续梳理到配置类
... ... @@ -40,30 +40,30 @@ public class ToolCodegenBuilder {
40 40 .build();
41 41  
42 42 /**
43   - * 字段名与 {@link ToolCodegenColumnListConditionEnum} 的默认映射
  43 + * 字段名与 {@link CodegenColumnListConditionEnum} 的默认映射
44 44 * 注意,字段的匹配以后缀的方式
45 45 */
46   - private static final Map<String, ToolCodegenColumnListConditionEnum> columnListOperationConditionMappings =
47   - MapUtil.<String, ToolCodegenColumnListConditionEnum>builder()
48   - .put("name", ToolCodegenColumnListConditionEnum.LIKE)
49   - .put("time", ToolCodegenColumnListConditionEnum.BETWEEN)
50   - .put("date", ToolCodegenColumnListConditionEnum.BETWEEN)
  46 + private static final Map<String, CodegenColumnListConditionEnum> columnListOperationConditionMappings =
  47 + MapUtil.<String, CodegenColumnListConditionEnum>builder()
  48 + .put("name", CodegenColumnListConditionEnum.LIKE)
  49 + .put("time", CodegenColumnListConditionEnum.BETWEEN)
  50 + .put("date", CodegenColumnListConditionEnum.BETWEEN)
51 51 .build();
52 52  
53 53 /**
54   - * 字段名与 {@link ToolCodegenColumnHtmlTypeEnum} 的默认映射
  54 + * 字段名与 {@link CodegenColumnHtmlTypeEnum} 的默认映射
55 55 * 注意,字段的匹配以后缀的方式
56 56 */
57   - private static final Map<String, ToolCodegenColumnHtmlTypeEnum> columnHtmlTypeMappings =
58   - MapUtil.<String, ToolCodegenColumnHtmlTypeEnum>builder()
59   - .put("status", ToolCodegenColumnHtmlTypeEnum.RADIO)
60   - .put("sex", ToolCodegenColumnHtmlTypeEnum.RADIO)
61   - .put("type", ToolCodegenColumnHtmlTypeEnum.SELECT)
62   - .put("image", ToolCodegenColumnHtmlTypeEnum.UPLOAD_IMAGE)
63   - .put("file", ToolCodegenColumnHtmlTypeEnum.UPLOAD_FILE)
64   - .put("content", ToolCodegenColumnHtmlTypeEnum.EDITOR)
65   - .put("time", ToolCodegenColumnHtmlTypeEnum.DATETIME)
66   - .put("date", ToolCodegenColumnHtmlTypeEnum.DATETIME)
  57 + private static final Map<String, CodegenColumnHtmlTypeEnum> columnHtmlTypeMappings =
  58 + MapUtil.<String, CodegenColumnHtmlTypeEnum>builder()
  59 + .put("status", CodegenColumnHtmlTypeEnum.RADIO)
  60 + .put("sex", CodegenColumnHtmlTypeEnum.RADIO)
  61 + .put("type", CodegenColumnHtmlTypeEnum.SELECT)
  62 + .put("image", CodegenColumnHtmlTypeEnum.UPLOAD_IMAGE)
  63 + .put("file", CodegenColumnHtmlTypeEnum.UPLOAD_FILE)
  64 + .put("content", CodegenColumnHtmlTypeEnum.EDITOR)
  65 + .put("time", CodegenColumnHtmlTypeEnum.DATETIME)
  66 + .put("date", CodegenColumnHtmlTypeEnum.DATETIME)
67 67 .build();
68 68  
69 69 /**
... ... @@ -113,8 +113,8 @@ public class ToolCodegenBuilder {
113 113 LIST_OPERATION_RESULT_EXCLUDE_COLUMN.remove("createTime"); // 创建时间,还是需要返回的
114 114 }
115 115  
116   - public ToolCodegenTableDO buildTable(ToolSchemaTableDO schemaTable) {
117   - ToolCodegenTableDO table = ToolCodegenConvert.INSTANCE.convert(schemaTable);
  116 + public CodegenTableDO buildTable(SchemaTableDO schemaTable) {
  117 + CodegenTableDO table = CodegenConvert.INSTANCE.convert(schemaTable);
118 118 initTableDefault(table);
119 119 return table;
120 120 }
... ... @@ -124,7 +124,7 @@ public class ToolCodegenBuilder {
124 124 *
125 125 * @param table 表定义
126 126 */
127   - private void initTableDefault(ToolCodegenTableDO table) {
  127 + private void initTableDefault(CodegenTableDO table) {
128 128 table.setModuleName(getFullModuleName(StrUtil.subBefore(table.getTableName(),
129 129 '_', false))); // 第一个 _ 前缀的前面,作为 module 名字
130 130 table.setBusinessName(toCamelCase(subAfter(table.getTableName(),
... ... @@ -133,11 +133,11 @@ public class ToolCodegenBuilder {
133 133 table.setClassComment(subBefore(table.getTableComment(), // 去除结尾的表,作为类描述
134 134 '表', true));
135 135 table.setAuthor("芋艿"); // TODO 稍后改成创建人
136   - table.setTemplateType(ToolCodegenTemplateTypeEnum.CRUD.getType());
  136 + table.setTemplateType(CodegenTemplateTypeEnum.CRUD.getType());
137 137 }
138 138  
139   - public List<ToolCodegenColumnDO> buildColumns(List<ToolSchemaColumnDO> schemaColumns) {
140   - List<ToolCodegenColumnDO> columns = ToolCodegenConvert.INSTANCE.convertList(schemaColumns);
  139 + public List<CodegenColumnDO> buildColumns(List<SchemaColumnDO> schemaColumns) {
  140 + List<CodegenColumnDO> columns = CodegenConvert.INSTANCE.convertList(schemaColumns);
141 141 columns.forEach(this::initColumnDefault);
142 142 return columns;
143 143 }
... ... @@ -147,7 +147,7 @@ public class ToolCodegenBuilder {
147 147 *
148 148 * @param column 列定义
149 149 */
150   - private void initColumnDefault(ToolCodegenColumnDO column) {
  150 + private void initColumnDefault(CodegenColumnDO column) {
151 151 // 处理 Java 相关的字段的默认值
152 152 processColumnJava(column);
153 153 // 处理 CRUD 相关的字段的默认值
... ... @@ -156,7 +156,7 @@ public class ToolCodegenBuilder {
156 156 processColumnUI(column);
157 157 }
158 158  
159   - private void processColumnJava(ToolCodegenColumnDO column) {
  159 + private void processColumnJava(CodegenColumnDO column) {
160 160 // 处理 javaField 字段
161 161 column.setJavaField(toCamelCase(column.getColumnName()));
162 162 // 处理 dictType 字段,暂无
... ... @@ -171,7 +171,7 @@ public class ToolCodegenBuilder {
171 171 }
172 172 }
173 173  
174   - private void processColumnOperation(ToolCodegenColumnDO column) {
  174 + private void processColumnOperation(CodegenColumnDO column) {
175 175 // 处理 createOperation 字段
176 176 column.setCreateOperation(!CREATE_OPERATION_EXCLUDE_COLUMN.contains(column.getJavaField())
177 177 && !column.getPrimaryKey()); // 对于主键,创建时无需传递
... ... @@ -186,13 +186,13 @@ public class ToolCodegenBuilder {
186 186 .filter(entry -> StrUtil.endWithIgnoreCase(column.getJavaField(), entry.getKey()))
187 187 .findFirst().ifPresent(entry -> column.setListOperationCondition(entry.getValue().getCondition()));
188 188 if (column.getListOperationCondition() == null) {
189   - column.setListOperationCondition(ToolCodegenColumnListConditionEnum.EQ.getCondition());
  189 + column.setListOperationCondition(CodegenColumnListConditionEnum.EQ.getCondition());
190 190 }
191 191 // 处理 listOperationResult 字段
192 192 column.setListOperationResult(!LIST_OPERATION_RESULT_EXCLUDE_COLUMN.contains(column.getJavaField()));
193 193 }
194 194  
195   - private void processColumnUI(ToolCodegenColumnDO column) {
  195 + private void processColumnUI(CodegenColumnDO column) {
196 196 // 基于后缀进行匹配
197 197 columnHtmlTypeMappings.entrySet().stream()
198 198 .filter(entry -> StrUtil.endWithIgnoreCase(column.getJavaField(), entry.getKey()))
... ... @@ -200,11 +200,11 @@ public class ToolCodegenBuilder {
200 200 // 如果是 Boolean 类型时,设置为 radio 类型.
201 201 // 其它类型,因为字段名可以相对保障,所以不进行处理。例如说 date 对应 datetime 类型.
202 202 if (Boolean.class.getSimpleName().equals(column.getJavaType())) {
203   - column.setHtmlType(ToolCodegenColumnHtmlTypeEnum.RADIO.getType());
  203 + column.setHtmlType(CodegenColumnHtmlTypeEnum.RADIO.getType());
204 204 }
205 205 // 兜底,设置默认为 input 类型
206 206 if (column.getHtmlType() == null) {
207   - column.setHtmlType(ToolCodegenColumnHtmlTypeEnum.INPUT.getType());
  207 + column.setHtmlType(CodegenColumnHtmlTypeEnum.INPUT.getType());
208 208 }
209 209 }
210 210  
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/service/codegen/impl/ToolCodegenEngine.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/service/codegen/inner/CodegenEngine.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.service.codegen.impl;
  1 +package cn.iocoder.yudao.module.tool.service.codegen.inner;
2 2  
3 3 import cn.hutool.core.map.MapUtil;
4 4 import cn.hutool.core.util.StrUtil;
... ... @@ -9,7 +9,7 @@ import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
9 9 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
10 10 import cn.iocoder.yudao.framework.common.pojo.PageParam;
11 11 import cn.iocoder.yudao.framework.common.pojo.PageResult;
12   -import cn.iocoder.yudao.adminserver.modules.tool.framework.codegen.config.CodegenProperties;
  12 +import cn.iocoder.yudao.module.tool.framework.codegen.config.CodegenProperties;
13 13 import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
14 14 import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
15 15 import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
... ... @@ -19,8 +19,8 @@ import cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum;
19 19 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
20 20 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
21 21 import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
22   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO;
23   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO;
  22 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenColumnDO;
  23 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenTableDO;
24 24 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
25 25 import cn.iocoder.yudao.framework.common.util.date.DateUtils;
26 26 import com.google.common.collect.Maps;
... ... @@ -45,7 +45,7 @@ import static cn.hutool.core.text.CharSequenceUtil.*;
45 45 * @author 芋道源码
46 46 */
47 47 @Component
48   -public class ToolCodegenEngine {
  48 +public class CodegenEngine {
49 49  
50 50 /**
51 51 * 模板配置
... ... @@ -95,7 +95,7 @@ public class ToolCodegenEngine {
95 95 .build();
96 96  
97 97 @Resource
98   - private ToolCodegenBuilder codegenBuilder;
  98 + private CodegenBuilder codegenBuilder;
99 99  
100 100 @Resource
101 101 private CodegenProperties codegenProperties;
... ... @@ -109,7 +109,7 @@ public class ToolCodegenEngine {
109 109 */
110 110 private final Map<String, Object> globalBindingMap = new HashMap<>();
111 111  
112   - public ToolCodegenEngine() {
  112 + public CodegenEngine() {
113 113 // 初始化 TemplateEngine 属性
114 114 TemplateConfig config = new TemplateConfig();
115 115 config.setResourceMode(TemplateConfig.ResourceMode.CLASSPATH);
... ... @@ -129,7 +129,7 @@ public class ToolCodegenEngine {
129 129 globalBindingMap.put("PageParamClassName", PageParam.class.getName());
130 130 globalBindingMap.put("DictFormatClassName", DictFormat.class.getName());
131 131 // DO 类,独有字段
132   - globalBindingMap.put("baseDOFields", ToolCodegenBuilder.BASE_DO_FIELDS);
  132 + globalBindingMap.put("baseDOFields", CodegenBuilder.BASE_DO_FIELDS);
133 133 globalBindingMap.put("BaseDOClassName", BaseDO.class.getName());
134 134 globalBindingMap.put("QueryWrapperClassName", QueryWrapperX.class.getName());
135 135 globalBindingMap.put("BaseMapperClassName", BaseMapperX.class.getName());
... ... @@ -143,12 +143,12 @@ public class ToolCodegenEngine {
143 143 globalBindingMap.put("OperateTypeEnumClassName", OperateTypeEnum.class.getName());
144 144 }
145 145  
146   - public Map<String, String> execute(ToolCodegenTableDO table, List<ToolCodegenColumnDO> columns) {
  146 + public Map<String, String> execute(CodegenTableDO table, List<CodegenColumnDO> columns) {
147 147 // 创建 bindingMap
148 148 Map<String, Object> bindingMap = new HashMap<>(globalBindingMap);
149 149 bindingMap.put("table", table);
150 150 bindingMap.put("columns", columns);
151   - bindingMap.put("primaryColumn", CollectionUtils.findFirst(columns, ToolCodegenColumnDO::getPrimaryKey)); // 主键字段
  151 + bindingMap.put("primaryColumn", CollectionUtils.findFirst(columns, CodegenColumnDO::getPrimaryKey)); // 主键字段
152 152 // moduleName 相关
153 153 String simpleModuleName = codegenBuilder.getSimpleModuleName(table.getModuleName());
154 154 bindingMap.put("simpleModuleName", simpleModuleName); // 将 system 转成 sys
... ... @@ -183,7 +183,7 @@ public class ToolCodegenEngine {
183 183 getStr(bindingMap, "classNameVar"));
184 184  
185 185 // table 包含的字段
186   - ToolCodegenTableDO table = (ToolCodegenTableDO) bindingMap.get("table");
  186 + CodegenTableDO table = (CodegenTableDO) bindingMap.get("table");
187 187 filePath = StrUtil.replace(filePath, "${table.moduleName}", table.getModuleName());
188 188 filePath = StrUtil.replace(filePath, "${table.businessName}", table.getBusinessName());
189 189 filePath = StrUtil.replace(filePath, "${table.className}", table.getClassName());
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/service/codegen/impl/ToolCodegenSQLParser.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/service/codegen/inner/CodegenSQLParser.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.service.codegen.impl;
  1 +package cn.iocoder.yudao.module.tool.service.codegen.inner;
2 2  
3 3 import cn.hutool.core.collection.CollUtil;
4   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolSchemaColumnDO;
5   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.codegen.ToolSchemaTableDO;
  4 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaColumnDO;
  5 +import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaTableDO;
6 6 import com.alibaba.druid.DbType;
7 7 import com.alibaba.druid.sql.ast.expr.SQLCharExpr;
8 8 import com.alibaba.druid.sql.ast.statement.SQLColumnDefinition;
... ... @@ -21,26 +21,26 @@ import java.util.Objects;
21 21 import static com.alibaba.druid.sql.SQLUtils.normalize;
22 22  
23 23 /**
24   - * SQL 解析器,将创建表的 SQL,解析成 {@link ToolSchemaTableDO} 和 {@link ToolSchemaColumnDO} 对象,
  24 + * SQL 解析器,将创建表的 SQL,解析成 {@link SchemaTableDO} 和 {@link SchemaColumnDO} 对象,
25 25 * 后续可以基于它们,生成代码~
26 26 *
27 27 * @author 芋道源码
28 28 */
29   -public class ToolCodegenSQLParser {
  29 +public class CodegenSQLParser {
30 30  
31 31 /**
32   - * 解析建表 SQL 语句,返回 {@link ToolSchemaTableDO} 和 {@link ToolSchemaColumnDO} 对象
  32 + * 解析建表 SQL 语句,返回 {@link SchemaTableDO} 和 {@link SchemaColumnDO} 对象
33 33 *
34 34 * @param sql 建表 SQL 语句
35 35 * @return 解析结果
36 36 */
37   - public static KeyValue<ToolSchemaTableDO, List<ToolSchemaColumnDO>> parse(String sql) {
  37 + public static KeyValue<SchemaTableDO, List<SchemaColumnDO>> parse(String sql) {
38 38 // 解析 SQL 成 Statement
39 39 SQLCreateTableStatement statement = parseCreateSQL(sql);
40 40 // 解析 Table 表
41   - ToolSchemaTableDO table = parseTable(statement);
  41 + SchemaTableDO table = parseTable(statement);
42 42 // 解析 Column 字段
43   - List<ToolSchemaColumnDO> columns = parseColumns(statement);
  43 + List<SchemaColumnDO> columns = parseColumns(statement);
44 44 columns.forEach(column -> column.setTableName(table.getTableName()));
45 45 // 返回
46 46 return new DefaultKeyValue<>(table, columns);
... ... @@ -61,8 +61,8 @@ public class ToolCodegenSQLParser {
61 61 return (MySqlCreateTableStatement) repository.findTable(tableName).getStatement();
62 62 }
63 63  
64   - private static ToolSchemaTableDO parseTable(SQLCreateTableStatement statement) {
65   - return ToolSchemaTableDO.builder()
  64 + private static SchemaTableDO parseTable(SQLCreateTableStatement statement) {
  65 + return SchemaTableDO.builder()
66 66 .tableName(statement.getTableSource().getTableName(true))
67 67 .tableComment(getCommentText(statement))
68 68 .build();
... ... @@ -75,13 +75,13 @@ public class ToolCodegenSQLParser {
75 75 return ((SQLCharExpr) statement.getComment()).getText();
76 76 }
77 77  
78   - private static List<ToolSchemaColumnDO> parseColumns(SQLCreateTableStatement statement) {
79   - List<ToolSchemaColumnDO> columns = new ArrayList<>();
  78 + private static List<SchemaColumnDO> parseColumns(SQLCreateTableStatement statement) {
  79 + List<SchemaColumnDO> columns = new ArrayList<>();
80 80 statement.getTableElementList().forEach(element -> parseColumn(columns, element));
81 81 return columns;
82 82 }
83 83  
84   - private static void parseColumn(List<ToolSchemaColumnDO> columns, SQLTableElement element) {
  84 + private static void parseColumn(List<SchemaColumnDO> columns, SQLTableElement element) {
85 85 // 处理主键
86 86 if (element instanceof SQLPrimaryKey) {
87 87 parsePrimaryKey(columns, (SQLPrimaryKey) element);
... ... @@ -93,16 +93,16 @@ public class ToolCodegenSQLParser {
93 93 }
94 94 }
95 95  
96   - private static void parsePrimaryKey(List<ToolSchemaColumnDO> columns, SQLPrimaryKey primaryKey) {
  96 + private static void parsePrimaryKey(List<SchemaColumnDO> columns, SQLPrimaryKey primaryKey) {
97 97 String columnName = normalize(primaryKey.getColumns().get(0).toString()); // 暂时不考虑联合主键
98 98 // 匹配 columns 主键字段,设置为 primary
99 99 columns.stream().filter(column -> column.getColumnName().equals(columnName))
100 100 .forEach(column -> column.setPrimaryKey(true));
101 101 }
102 102  
103   - private static void parseColumnDefinition(List<ToolSchemaColumnDO> columns, SQLColumnDefinition definition) {
  103 + private static void parseColumnDefinition(List<SchemaColumnDO> columns, SQLColumnDefinition definition) {
104 104 String text = definition.toString().toUpperCase();
105   - columns.add(ToolSchemaColumnDO.builder()
  105 + columns.add(SchemaColumnDO.builder()
106 106 .columnName(normalize(definition.getColumnName()))
107 107 .columnType(definition.getDataType().toString())
108 108 .columnComment(Objects.isNull(definition.getComment()) ? ""
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/service/test/ToolTestDemoService.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/service/test/TestDemoService.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.service.test;
  1 +package cn.iocoder.yudao.module.tool.service.test;
2 2  
3 3 import java.util.*;
4 4 import javax.validation.*;
5   -import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.*;
6   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.test.ToolTestDemoDO;
  5 +
  6 +import cn.iocoder.yudao.module.tool.controller.admin.test.vo.TestDemoCreateReqVO;
  7 +import cn.iocoder.yudao.module.tool.controller.admin.test.vo.TestDemoExportReqVO;
  8 +import cn.iocoder.yudao.module.tool.controller.admin.test.vo.TestDemoPageReqVO;
  9 +import cn.iocoder.yudao.module.tool.controller.admin.test.vo.TestDemoUpdateReqVO;
  10 +import cn.iocoder.yudao.module.tool.dal.dataobject.test.TestDemoDO;
7 11 import cn.iocoder.yudao.framework.common.pojo.PageResult;
8 12  
9 13 /**
10   - * 字典类型 Service 接口
  14 + * 测试示例 Service 接口
11 15 *
12 16 * @author 芋艿
13 17 */
14   -public interface ToolTestDemoService {
  18 +public interface TestDemoService {
15 19  
16 20 /**
17 21 * 创建字典类型
... ... @@ -19,14 +23,14 @@ public interface ToolTestDemoService {
19 23 * @param createReqVO 创建信息
20 24 * @return 编号
21 25 */
22   - Long createTestDemo(@Valid ToolTestDemoCreateReqVO createReqVO);
  26 + Long createTestDemo(@Valid TestDemoCreateReqVO createReqVO);
23 27  
24 28 /**
25 29 * 更新字典类型
26 30 *
27 31 * @param updateReqVO 更新信息
28 32 */
29   - void updateTestDemo(@Valid ToolTestDemoUpdateReqVO updateReqVO);
  33 + void updateTestDemo(@Valid TestDemoUpdateReqVO updateReqVO);
30 34  
31 35 /**
32 36 * 删除字典类型
... ... @@ -41,7 +45,7 @@ public interface ToolTestDemoService {
41 45 * @param id 编号
42 46 * @return 字典类型
43 47 */
44   - ToolTestDemoDO getTestDemo(Long id);
  48 + TestDemoDO getTestDemo(Long id);
45 49  
46 50 /**
47 51 * 获得字典类型列表
... ... @@ -49,7 +53,7 @@ public interface ToolTestDemoService {
49 53 * @param ids 编号
50 54 * @return 字典类型列表
51 55 */
52   - List<ToolTestDemoDO> getTestDemoList(Collection<Long> ids);
  56 + List<TestDemoDO> getTestDemoList(Collection<Long> ids);
53 57  
54 58 /**
55 59 * 获得字典类型分页
... ... @@ -57,7 +61,7 @@ public interface ToolTestDemoService {
57 61 * @param pageReqVO 分页查询
58 62 * @return 字典类型分页
59 63 */
60   - PageResult<ToolTestDemoDO> getTestDemoPage(ToolTestDemoPageReqVO pageReqVO);
  64 + PageResult<TestDemoDO> getTestDemoPage(TestDemoPageReqVO pageReqVO);
61 65  
62 66 /**
63 67 * 获得字典类型列表, 用于 Excel 导出
... ... @@ -65,6 +69,6 @@ public interface ToolTestDemoService {
65 69 * @param exportReqVO 查询条件
66 70 * @return 字典类型列表
67 71 */
68   - List<ToolTestDemoDO> getTestDemoList(ToolTestDemoExportReqVO exportReqVO);
  72 + List<TestDemoDO> getTestDemoList(TestDemoExportReqVO exportReqVO);
69 73  
70 74 }
... ...
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/service/test/impl/ToolTestDemoServiceImpl.java renamed to yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/service/test/TestDemoServiceImpl.java
1   -package cn.iocoder.yudao.adminserver.modules.tool.service.test.impl;
  1 +package cn.iocoder.yudao.module.tool.service.test;
2 2  
  3 +import cn.iocoder.yudao.module.tool.controller.admin.test.vo.TestDemoCreateReqVO;
  4 +import cn.iocoder.yudao.module.tool.controller.admin.test.vo.TestDemoExportReqVO;
  5 +import cn.iocoder.yudao.module.tool.controller.admin.test.vo.TestDemoPageReqVO;
  6 +import cn.iocoder.yudao.module.tool.controller.admin.test.vo.TestDemoUpdateReqVO;
3 7 import org.springframework.stereotype.Service;
4 8 import javax.annotation.Resource;
5 9 import org.springframework.validation.annotation.Validated;
6 10  
7 11 import java.util.*;
8   -import cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo.*;
9   -import cn.iocoder.yudao.adminserver.modules.tool.dal.dataobject.test.ToolTestDemoDO;
  12 +
  13 +import cn.iocoder.yudao.module.tool.dal.dataobject.test.TestDemoDO;
10 14 import cn.iocoder.yudao.framework.common.pojo.PageResult;
11 15  
12   -import cn.iocoder.yudao.adminserver.modules.tool.convert.test.ToolTestDemoConvert;
13   -import cn.iocoder.yudao.adminserver.modules.tool.dal.mysql.test.ToolTestDemoMapper;
14   -import cn.iocoder.yudao.adminserver.modules.tool.service.test.ToolTestDemoService;
  16 +import cn.iocoder.yudao.module.tool.convert.test.TestDemoConvert;
  17 +import cn.iocoder.yudao.module.tool.dal.mysql.test.TestDemoMapper;
15 18  
16 19 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
17   -import static cn.iocoder.yudao.adminserver.modules.tool.enums.ToolErrorCodeConstants.*;
  20 +import static cn.iocoder.yudao.module.tool.enums.ErrorCodeConstants.*;
18 21  
19 22 /**
20   - * 字典类型 Service 实现类
  23 + * 测试示例 Service 实现类
21 24 *
22 25 * @author 芋艿
23 26 */
24 27 @Service
25 28 @Validated
26   -public class ToolTestDemoServiceImpl implements ToolTestDemoService {
  29 +public class TestDemoServiceImpl implements TestDemoService {
27 30  
28 31 @Resource
29   - private ToolTestDemoMapper testDemoMapper;
  32 + private TestDemoMapper testDemoMapper;
30 33  
31 34 @Override
32   - public Long createTestDemo(ToolTestDemoCreateReqVO createReqVO) {
  35 + public Long createTestDemo(TestDemoCreateReqVO createReqVO) {
33 36 // 插入
34   - ToolTestDemoDO testDemo = ToolTestDemoConvert.INSTANCE.convert(createReqVO);
  37 + TestDemoDO testDemo = TestDemoConvert.INSTANCE.convert(createReqVO);
35 38 testDemoMapper.insert(testDemo);
36 39 // 返回
37 40 return testDemo.getId();
38 41 }
39 42  
40 43 @Override
41   - public void updateTestDemo(ToolTestDemoUpdateReqVO updateReqVO) {
  44 + public void updateTestDemo(TestDemoUpdateReqVO updateReqVO) {
42 45 // 校验存在
43 46 this.validateTestDemoExists(updateReqVO.getId());
44 47 // 更新
45   - ToolTestDemoDO updateObj = ToolTestDemoConvert.INSTANCE.convert(updateReqVO);
  48 + TestDemoDO updateObj = TestDemoConvert.INSTANCE.convert(updateReqVO);
46 49 testDemoMapper.updateById(updateObj);
47 50 }
48 51  
... ... @@ -61,22 +64,22 @@ public class ToolTestDemoServiceImpl implements ToolTestDemoService {
61 64 }
62 65  
63 66 @Override
64   - public ToolTestDemoDO getTestDemo(Long id) {
  67 + public TestDemoDO getTestDemo(Long id) {
65 68 return testDemoMapper.selectById(id);
66 69 }
67 70  
68 71 @Override
69   - public List<ToolTestDemoDO> getTestDemoList(Collection<Long> ids) {
  72 + public List<TestDemoDO> getTestDemoList(Collection<Long> ids) {
70 73 return testDemoMapper.selectBatchIds(ids);
71 74 }
72 75  
73 76 @Override
74   - public PageResult<ToolTestDemoDO> getTestDemoPage(ToolTestDemoPageReqVO pageReqVO) {
  77 + public PageResult<TestDemoDO> getTestDemoPage(TestDemoPageReqVO pageReqVO) {
75 78 return testDemoMapper.selectPage(pageReqVO);
76 79 }
77 80  
78 81 @Override
79   - public List<ToolTestDemoDO> getTestDemoList(ToolTestDemoExportReqVO exportReqVO) {
  82 + public List<TestDemoDO> getTestDemoList(TestDemoExportReqVO exportReqVO) {
80 83 return testDemoMapper.selectList(exportReqVO);
81 84 }
82 85  
... ...