From 6c59de1744e7b1c2f7919226d65421698b0b0bdc Mon Sep 17 00:00:00 2001 From: ray <1490493387@qq.com> Date: Fri, 2 Aug 2024 08:02:48 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BB=A3=E7=A0=81=E7=94=9F?= =?UTF-8?q?=E6=88=90=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/property/GeneratorProperties.java | 2 +- .../controller/GeneratorController.java | 12 +++++--- .../service/impl/GeneratorServiceImpl.java | 28 +++++++++++-------- src/main/resources/application-generator.yml | 24 ++++++++-------- .../templates/generator/controller.java.vm | 8 +++--- .../templates/generator/converter.java.vm | 8 +++--- .../templates/generator/entity.java.vm | 2 +- .../templates/generator/form.java.vm | 2 +- .../templates/generator/mapper.java.vm | 6 ++-- .../templates/generator/mapper.xml.vm | 4 +-- .../templates/generator/query.java.vm | 2 +- .../templates/generator/service.java.vm | 10 +++---- .../templates/generator/serviceImpl.java.vm | 16 +++++------ .../resources/templates/generator/vo.java.vm | 2 +- 14 files changed, 67 insertions(+), 59 deletions(-) diff --git a/src/main/java/com/youlai/system/config/property/GeneratorProperties.java b/src/main/java/com/youlai/system/config/property/GeneratorProperties.java index c9aa2dc0..3086b54e 100644 --- a/src/main/java/com/youlai/system/config/property/GeneratorProperties.java +++ b/src/main/java/com/youlai/system/config/property/GeneratorProperties.java @@ -55,7 +55,7 @@ public class GeneratorProperties { private String templatePath; - private String packageName; + private String subpackageName; /** * 文件扩展名,如 .java diff --git a/src/main/java/com/youlai/system/controller/GeneratorController.java b/src/main/java/com/youlai/system/controller/GeneratorController.java index 6e89134c..43c55d83 100644 --- a/src/main/java/com/youlai/system/controller/GeneratorController.java +++ b/src/main/java/com/youlai/system/controller/GeneratorController.java @@ -3,10 +3,12 @@ package com.youlai.system.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.youlai.system.common.result.PageResult; import com.youlai.system.common.result.Result; +import com.youlai.system.enums.LogModuleEnum; import com.youlai.system.model.form.GenConfigForm; import com.youlai.system.model.query.TablePageQuery; import com.youlai.system.model.vo.GeneratorPreviewVO; import com.youlai.system.model.vo.TablePageVO; +import com.youlai.system.plugin.syslog.annotation.LogAnnotation; import com.youlai.system.service.GeneratorService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -35,6 +37,7 @@ public class GeneratorController { @Operation(summary = "获取数据表分页列表") @GetMapping("/table/page") + @LogAnnotation(value = "代码生成分页列表", module = LogModuleEnum.OTHER) public PageResult getTablePage( TablePageQuery queryParams ) { @@ -53,6 +56,7 @@ public class GeneratorController { @Operation(summary = "保存代码生成配置") @PostMapping("/{tableName}/config") + @LogAnnotation(value = "生成代码", module = LogModuleEnum.OTHER) public Result saveGenConfig(@RequestBody GenConfigForm formData) { generatorService.saveGenConfig(formData); return Result.success(); @@ -69,15 +73,15 @@ public class GeneratorController { @Operation(summary = "获取预览生成代码") @GetMapping("/{tableName}/preview") + @LogAnnotation(value = "预览生成代码", module = LogModuleEnum.OTHER) public Result> getTablePreviewData(@PathVariable String tableName) { List list = generatorService.getTablePreviewData(tableName); return Result.success(list); } - - - @Operation(summary = "下载代码zip") - @GetMapping("/{tableName}/downloadZip") + @Operation(summary = "下载代码") + @GetMapping("/{tableName}/download") + @LogAnnotation(value = "下载代码", module = LogModuleEnum.OTHER) public void downloadZip(HttpServletResponse response, @PathVariable String tableName) throws IOException { String[] tableNames = tableName.split(","); byte[] data = generatorService.downloadCode(tableNames); diff --git a/src/main/java/com/youlai/system/service/impl/GeneratorServiceImpl.java b/src/main/java/com/youlai/system/service/impl/GeneratorServiceImpl.java index 043ca2c0..befc0d04 100644 --- a/src/main/java/com/youlai/system/service/impl/GeneratorServiceImpl.java +++ b/src/main/java/com/youlai/system/service/impl/GeneratorServiceImpl.java @@ -270,12 +270,14 @@ public class GeneratorServiceImpl implements GeneratorService { /* 2. 生成文件路径 */ - // com.youlai.system + // com.youlai String packageName = genConfig.getPackageName(); + // system + String moduleName = genConfig.getModuleName(); // controller - String subPackageName = templateConfig.getPackageName(); - // 文件路径 com.youlai.system.controller - String filePath = getFilePath(templateName, packageName, subPackageName, entityName); + String subpackageName = templateConfig.getSubpackageName(); + // 文件路径 src/main/java/com/youlai/system/controller + String filePath = getFilePath(templateName,moduleName, packageName, subpackageName, entityName); previewVO.setPath(filePath); /* 3. 生成文件内容 */ @@ -309,7 +311,7 @@ public class GeneratorServiceImpl implements GeneratorService { return entityName + templateName + extension; } - private String getFilePath(String templateName, String packageName, String subPackageName, String entityName) { + private String getFilePath(String templateName,String moduleName, String packageName, String subPackageName, String entityName) { String path; if ("MapperXml".equals(templateName)) { path = (generatorProperties.getBackendAppName() @@ -324,16 +326,18 @@ public class GeneratorServiceImpl implements GeneratorService { ); } else if ("VIEW".equals(templateName)) { path = (generatorProperties.getFrontendAppName() - + File.separator - + "src" + File.separator + subPackageName - + File.separator - + StrUtil.toSymbolCase(entityName, '-') + + File.separator + "src" + + File.separator + moduleName + + File.separator + subPackageName + + File.separator + StrUtil.toSymbolCase(entityName, '-') ); } else { path = (generatorProperties.getBackendAppName() + File.separator + "src" + File.separator + "main" + File.separator + "java" - + File.separator + packageName + File.separator + subPackageName + + File.separator + packageName + + File.separator + moduleName + + File.separator + subPackageName ); } @@ -357,8 +361,8 @@ public class GeneratorServiceImpl implements GeneratorService { String entityName = genConfig.getEntityName(); - bindMap.put("package", genConfig.getPackageName()); - bindMap.put("subPackage", templateConfig.getPackageName()); + bindMap.put("packageName", genConfig.getPackageName()); + bindMap.put("moduleName", genConfig.getModuleName()); bindMap.put("date", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm")); bindMap.put("entityName", entityName); bindMap.put("tableName", genConfig.getTableName()); diff --git a/src/main/resources/application-generator.yml b/src/main/resources/application-generator.yml index 87acfb78..976795f1 100644 --- a/src/main/resources/application-generator.yml +++ b/src/main/resources/application-generator.yml @@ -15,42 +15,42 @@ generator: templateConfigs: Controller: templatePath: generator/controller.java.vm - packageName: controller + subpackageName: controller Service: templatePath: generator/service.java.vm - packageName: service + subpackageName: service ServiceImpl: templatePath: generator/serviceImpl.java.vm - packageName: service.impl + subpackageName: service.impl Mapper: templatePath: generator/mapper.java.vm - packageName: mapper + subpackageName: mapper MapperXml: templatePath: generator/mapper.xml.vm - packageName: mapper + subpackageName: mapper extension: .xml Converter: templatePath: generator/converter.java.vm - packageName: converter + subpackageName: converter Query: templatePath: generator/query.java.vm - packageName: model.query + subpackageName: model.query Form: templatePath: generator/form.java.vm - packageName: model.form + subpackageName: model.form VO: templatePath: generator/vo.java.vm - packageName: model.vo + subpackageName: model.vo Entity: templatePath: generator/entity.java.vm - packageName: model.entity + subpackageName: model.entity API: templatePath: generator/api.ts.vm - packageName: api + subpackageName: api extension: .ts VIEW: templatePath: generator/index.vue.vm - packageName: views + subpackageName: views extension: .vue diff --git a/src/main/resources/templates/generator/controller.java.vm b/src/main/resources/templates/generator/controller.java.vm index 5982a4f0..983bd6d3 100644 --- a/src/main/resources/templates/generator/controller.java.vm +++ b/src/main/resources/templates/generator/controller.java.vm @@ -1,11 +1,11 @@ -package ${package}.controller; +package ${packageName}.${moduleName}.${subpackageName}; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import ${package}.model.form.${entityName}Form; -import ${package}.model.query.${entityName}PageQuery; -import ${package}.model.vo.${entityName}PageVO; +import ${packageName}.${moduleName}.model.form.${entityName}Form; +import ${packageName}.${moduleName}.model.query.${entityName}PageQuery; +import ${packageName}.${moduleName}.model.vo.${entityName}PageVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.youlai.common.result.PageResult; import com.youlai.common.result.Result; diff --git a/src/main/resources/templates/generator/converter.java.vm b/src/main/resources/templates/generator/converter.java.vm index b98c48f0..b56f6234 100644 --- a/src/main/resources/templates/generator/converter.java.vm +++ b/src/main/resources/templates/generator/converter.java.vm @@ -1,9 +1,9 @@ -package ${package}.converter; +package ${packageName}.${moduleName}.${subpackageName}; import org.mapstruct.Mapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import ${package}.model.entity.${entityName}; -import ${package}.model.form.${entityName}Form; +import ${packageName}.${moduleName}.model.entity.${entityName}; +import ${packageName}.${moduleName}.model.form.${entityName}Form; /** * $!{businessName}对象转换器 @@ -16,5 +16,5 @@ public interface ${entityName}Converter{ ${entityName}Form toForm(${entityName} entity); - ${entityName} toEntity(${entityName}Form entity); + ${entityName} toEntity(${entityName}Form formData); } \ No newline at end of file diff --git a/src/main/resources/templates/generator/entity.java.vm b/src/main/resources/templates/generator/entity.java.vm index f92d031b..3918f220 100644 --- a/src/main/resources/templates/generator/entity.java.vm +++ b/src/main/resources/templates/generator/entity.java.vm @@ -1,4 +1,4 @@ -package ${package}.model.entity; +package ${packageName}.${moduleName}.${subpackageName}; import lombok.Getter; import lombok.Setter; diff --git a/src/main/resources/templates/generator/form.java.vm b/src/main/resources/templates/generator/form.java.vm index 1787e941..e2c07377 100644 --- a/src/main/resources/templates/generator/form.java.vm +++ b/src/main/resources/templates/generator/form.java.vm @@ -1,4 +1,4 @@ -package ${package}.${subPackage}; +package ${packageName}.${moduleName}.${subpackageName}; import java.io.Serial; import java.io.Serializable; diff --git a/src/main/resources/templates/generator/mapper.java.vm b/src/main/resources/templates/generator/mapper.java.vm index 378b98b0..82b0ee9c 100644 --- a/src/main/resources/templates/generator/mapper.java.vm +++ b/src/main/resources/templates/generator/mapper.java.vm @@ -1,9 +1,9 @@ -package ${package}.mapper; +package ${packageName}.${moduleName}.${subpackageName}; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import ${package}.model.entity.${entityName}; +import ${packageName}.${moduleName}.model.entity.${entityName}; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import ${package}.model.query.${entityName}Query; +import ${packageName}.${moduleName}.model.query.${entityName}Query; import org.apache.ibatis.annotations.Mapper; /** diff --git a/src/main/resources/templates/generator/mapper.xml.vm b/src/main/resources/templates/generator/mapper.xml.vm index ed2fdf96..1931985a 100644 --- a/src/main/resources/templates/generator/mapper.xml.vm +++ b/src/main/resources/templates/generator/mapper.xml.vm @@ -1,9 +1,9 @@ - + - SELECT #if($fieldConfigs) #set ($fields = []) diff --git a/src/main/resources/templates/generator/query.java.vm b/src/main/resources/templates/generator/query.java.vm index 2bef858e..93736662 100644 --- a/src/main/resources/templates/generator/query.java.vm +++ b/src/main/resources/templates/generator/query.java.vm @@ -1,4 +1,4 @@ -package ${package}.model.query; +package ${packageName}.${moduleName}.${subpackageName}; import com.youlai.common.base.BasePageQuery; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/src/main/resources/templates/generator/service.java.vm b/src/main/resources/templates/generator/service.java.vm index 4dc2d018..22d6001e 100644 --- a/src/main/resources/templates/generator/service.java.vm +++ b/src/main/resources/templates/generator/service.java.vm @@ -1,9 +1,9 @@ -package ${package}.Service; +package ${packageName}.${moduleName}.${subpackageName}; -import ${package}.model.entity.${entityName}; -import ${package}.model.form.${entityName}Form; -import ${package}.model.query.${entityName}PageQuery; -import ${package}.model.vo.${entityName}PageVO; +import ${packageName}.${moduleName}.model.entity.${entityName}; +import ${packageName}.${moduleName}.model.form.${entityName}Form; +import ${packageName}.${moduleName}.model.query.${entityName}PageQuery; +import ${packageName}.${moduleName}.model.vo.${entityName}PageVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; diff --git a/src/main/resources/templates/generator/serviceImpl.java.vm b/src/main/resources/templates/generator/serviceImpl.java.vm index 0632e911..ebe42c3f 100644 --- a/src/main/resources/templates/generator/serviceImpl.java.vm +++ b/src/main/resources/templates/generator/serviceImpl.java.vm @@ -1,17 +1,17 @@ -package ${package}.service.impl; +package ${packageName}.${moduleName}.${subpackageName}; -import ${package}.model.entity.${entityName}; -import ${package}.mapper.${entityName}Mapper; -import ${package}.service.${entityName}Service; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; -import ${package}.model.form.${entityName}Form; -import ${package}.model.query.${entityName}Query; -import ${package}.model.vo.${entityName}PageVO; -import ${package}.converter.${entityName}Converter; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import ${packageName}.${moduleName}.mapper.${entityName}Mapper; +import ${packageName}.${moduleName}.service.${entityName}Service; +import ${packageName}.${moduleName}.model.entity.${entityName}; +import ${packageName}.${moduleName}.model.form.${entityName}Form; +import ${packageName}.${moduleName}.model.query.${entityName}Query; +import ${packageName}.${moduleName}.model.vo.${entityName}PageVO; +import ${packageName}.${moduleName}.converter.${entityName}Converter; import java.util.Arrays; import java.util.List; diff --git a/src/main/resources/templates/generator/vo.java.vm b/src/main/resources/templates/generator/vo.java.vm index a9dd0152..b08ae47c 100644 --- a/src/main/resources/templates/generator/vo.java.vm +++ b/src/main/resources/templates/generator/vo.java.vm @@ -1,4 +1,4 @@ -package ${package}.model.vo; +package ${packageName}.${moduleName}.model.vo; import java.io.Serial; import java.io.Serializable;