From 177adad35734033034e18cc1d73e922ccc82e44d Mon Sep 17 00:00:00 2001 From: ray <1490493387@qq.com> Date: Sun, 1 Sep 2024 10:13:59 +0800 Subject: [PATCH 1/4] =?UTF-8?q?refactor:=20=E7=9B=AE=E5=BD=95=E9=87=8D?= =?UTF-8?q?=E6=9E=84=E4=B9=8B=E5=90=8E=E5=8C=85=E5=90=8D=E5=8F=96=E5=80=BC?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../generator/service/impl/GeneratorServiceImpl.java | 6 +----- src/main/resources/application-dev.yml | 3 ++- src/main/resources/application-prod.yml | 3 +++ src/main/resources/application.yml | 4 ---- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/youlai/boot/platform/generator/service/impl/GeneratorServiceImpl.java b/src/main/java/com/youlai/boot/platform/generator/service/impl/GeneratorServiceImpl.java index e96b6ee7..c062b7cd 100644 --- a/src/main/java/com/youlai/boot/platform/generator/service/impl/GeneratorServiceImpl.java +++ b/src/main/java/com/youlai/boot/platform/generator/service/impl/GeneratorServiceImpl.java @@ -112,12 +112,8 @@ public class GeneratorServiceImpl implements GeneratorService { String entityName = StrUtil.toCamelCase(StrUtil.removePrefix(tableName, tableName.split("_")[0])); genConfig.setEntityName(entityName); - String packageName = YouLaiApplication.class.getPackageName(); - genConfig.setPackageName(StrUtil.subBefore(packageName, ".", true)); - genConfig.setModuleName(StrUtil.subAfter(packageName, ".", true)); - + genConfig.setPackageName(YouLaiApplication.class.getPackageName()); genConfig.setAuthor(generatorProperties.getDefaultConfig().getAuthor()); - } // 根据表的列 + 已经存在的字段生成配置 得到 组合后的字段生成配置 diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 9b5b7461..d159a823 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -1,4 +1,5 @@ - +server: + port: 8989 spring: jackson: diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 9bc2c18a..ecdcd7ac 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -1,3 +1,6 @@ +server: + port: 8989 + spring: jackson: ## 默认序列化时间格式 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index ba9b3904..913e9673 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,8 +1,4 @@ -server: - port: 8989 spring: - main: - allow-circular-references: true application: name: youlai-boot profiles: From ea0db128a2f7e358b17b87769ee93d86c0e6298b Mon Sep 17 00:00:00 2001 From: ray <1490493387@qq.com> Date: Sun, 1 Sep 2024 10:29:28 +0800 Subject: [PATCH 2/4] =?UTF-8?q?refactor:=20=E7=9B=AE=E5=BD=95=E9=87=8D?= =?UTF-8?q?=E6=9E=84=E4=B9=8B=E5=90=8E=E5=8C=85=E5=90=8D=E5=8F=96=E5=80=BC?= =?UTF-8?q?=E8=B0=83=E6=95=B4=EF=BC=8C=E6=B7=BB=E5=8A=A0=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=8C=85=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/property/GeneratorProperties.java | 14 +++++++++++ .../service/impl/GeneratorServiceImpl.java | 24 ++++++++++--------- src/main/resources/application.yml | 1 + 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/youlai/boot/config/property/GeneratorProperties.java b/src/main/java/com/youlai/boot/config/property/GeneratorProperties.java index 0f3261cd..17fee904 100644 --- a/src/main/java/com/youlai/boot/config/property/GeneratorProperties.java +++ b/src/main/java/com/youlai/boot/config/property/GeneratorProperties.java @@ -57,8 +57,14 @@ public class GeneratorProperties { @Data public static class TemplateConfig { + /** + * 模板路径 (e.g. /templates/generator/controller.java.vm) + */ private String templatePath; + /** + * 子包名 (e.g. controller/service/mapper/model) + */ private String subpackageName; /** @@ -74,8 +80,16 @@ public class GeneratorProperties { @Data public static class DefaultConfig { + /** + * 作者 (e.g. Ray) + */ private String author; + /** + * 默认模块名(e.g. system) + */ + private String moduleName; + } diff --git a/src/main/java/com/youlai/boot/platform/generator/service/impl/GeneratorServiceImpl.java b/src/main/java/com/youlai/boot/platform/generator/service/impl/GeneratorServiceImpl.java index c062b7cd..3bc12317 100644 --- a/src/main/java/com/youlai/boot/platform/generator/service/impl/GeneratorServiceImpl.java +++ b/src/main/java/com/youlai/boot/platform/generator/service/impl/GeneratorServiceImpl.java @@ -42,7 +42,6 @@ import java.nio.charset.StandardCharsets; import java.util.*; import java.util.zip.ZipOutputStream; - /** * 数据库服务实现类 * @@ -113,6 +112,7 @@ public class GeneratorServiceImpl implements GeneratorService { genConfig.setEntityName(entityName); genConfig.setPackageName(YouLaiApplication.class.getPackageName()); + genConfig.setModuleName(generatorProperties.getDefaultConfig().getModuleName()); // 默认模块名 genConfig.setAuthor(generatorProperties.getDefaultConfig().getAuthor()); } @@ -225,7 +225,6 @@ public class GeneratorServiceImpl implements GeneratorService { * 删除代码生成配置 * * @param tableName 表名 - * @return */ @Override public void deleteGenConfig(String tableName) { @@ -257,14 +256,18 @@ public class GeneratorServiceImpl implements GeneratorService { GenConfig genConfig = genConfigService.getOne(new LambdaQueryWrapper() .eq(GenConfig::getTableName, tableName) ); - Assert.isTrue(genConfig != null, "未找到表生成配置"); + if (genConfig == null) { + throw new BusinessException("未找到表生成配置"); + } List fieldConfigs = genFieldConfigService.list(new LambdaQueryWrapper() .eq(GenFieldConfig::getConfigId, genConfig.getId()) .orderByAsc(GenFieldConfig::getFieldSort) ); - Assert.isTrue(CollectionUtil.isNotEmpty(fieldConfigs), "未找到字段生成配置"); + if (CollectionUtil.isEmpty(fieldConfigs)) { + throw new BusinessException("未找到字段生成配置"); + } // 遍历模板配置 Map templateConfigs = generatorProperties.getTemplateConfigs(); @@ -286,22 +289,21 @@ public class GeneratorServiceImpl implements GeneratorService { previewVO.setFileName(fileName); /* 2. 生成文件路径 */ - // com.youlai + // 包名:com.youlai.boot String packageName = genConfig.getPackageName(); - // system + // 模块名:system String moduleName = genConfig.getModuleName(); - // controller + // 子包名:controller String subpackageName = templateConfig.getSubpackageName(); - // 文件路径 src/main/java/com/youlai/system/controller + // 组合成文件路径:src/main/java/com/youlai/boot/system/controller String filePath = getFilePath(templateName, moduleName, packageName, subpackageName, entityName); previewVO.setPath(filePath); /* 3. 生成文件内容 */ - + // 将模板文件中的变量替换为具体的值 生成代码内容 String content = getCodeContent(templateConfig, genConfig, fieldConfigs); previewVO.setContent(content); - list.add(previewVO); } return list; @@ -396,7 +398,7 @@ public class GeneratorServiceImpl implements GeneratorService { bindMap.put("tableName", genConfig.getTableName()); bindMap.put("author", genConfig.getAuthor()); bindMap.put("lowerFirstEntityName", StrUtil.lowerFirst(entityName)); // UserTest → userTest - bindMap.put("kebabCaseEntityName", StrUtil.toSymbolCase(entityName,'-')); // UserTest → user-test + bindMap.put("kebabCaseEntityName", StrUtil.toSymbolCase(entityName, '-')); // UserTest → user-test bindMap.put("businessName", genConfig.getBusinessName()); bindMap.put("fieldConfigs", fieldConfigs); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 913e9673..096386d3 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -15,6 +15,7 @@ generator: # 默认配置 defaultConfig: author: youlaitech + moduleName: system # 排除数据表 excludeTables: - gen_config From 2665858c4453b04bf21f413e8b125f24176e75bd Mon Sep 17 00:00:00 2001 From: ray <1490493387@qq.com> Date: Tue, 3 Sep 2024 00:38:01 +0800 Subject: [PATCH 3/4] =?UTF-8?q?fix:=20api=E4=BB=A3=E7=A0=81=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E6=9F=A5=E8=AF=A2=E5=AF=B9=E8=B1=A1=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E6=9C=AA=E6=8C=89=E7=85=A7=E8=AE=BE=E7=BD=AE=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/templates/generator/api.ts.vm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/templates/generator/api.ts.vm b/src/main/resources/templates/generator/api.ts.vm index beef2638..580d5f93 100644 --- a/src/main/resources/templates/generator/api.ts.vm +++ b/src/main/resources/templates/generator/api.ts.vm @@ -65,7 +65,7 @@ export default ${entityName}API; /** ${businessName}分页查询参数 */ export interface ${entityName}PageQuery extends PageQuery { #foreach($fieldConfig in $fieldConfigs) - #if($fieldConfig.isShowInList) + #if($fieldConfig.isShowInQuery) #if("$!fieldConfig.fieldComment" != "") /** ${fieldConfig.fieldComment} */ #end From ce11a459ef464fa8084d3ff657201e3627bccf99 Mon Sep 17 00:00:00 2001 From: ray <1490493387@qq.com> Date: Wed, 4 Sep 2024 08:27:29 +0800 Subject: [PATCH 4/4] =?UTF-8?q?refactor:=20=E4=BB=A3=E7=A0=81=E7=94=9F?= =?UTF-8?q?=E6=88=90=E6=A8=A1=E5=9D=97=E4=BB=A3=E7=A0=81=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../generator/controller/GeneratorController.java | 6 +++--- .../generator}/converter/GenConfigConverter.java | 2 +- .../platform/generator/mapper/DatabaseMapper.java | 11 +++++------ .../generator}/model/bo/ColumnMetaData.java | 2 +- .../generator}/model/bo/TableMetaData.java | 2 +- .../generator}/model/query/TablePageQuery.java | 2 +- .../generator}/model/vo/GeneratorPreviewVO.java | 2 +- .../generator}/model/vo/TablePageVO.java | 2 +- .../platform/generator/service/GeneratorService.java | 6 +++--- .../generator/service/impl/GeneratorServiceImpl.java | 12 ++++++------ src/main/resources/mapper/DatabaseMapper.xml | 6 +++--- 11 files changed, 26 insertions(+), 27 deletions(-) rename src/main/java/com/youlai/boot/{system => platform/generator}/converter/GenConfigConverter.java (96%) rename src/main/java/com/youlai/boot/{system => platform/generator}/model/bo/ColumnMetaData.java (94%) rename src/main/java/com/youlai/boot/{system => platform/generator}/model/bo/TableMetaData.java (90%) rename src/main/java/com/youlai/boot/{system => platform/generator}/model/query/TablePageQuery.java (91%) rename src/main/java/com/youlai/boot/{system => platform/generator}/model/vo/GeneratorPreviewVO.java (88%) rename src/main/java/com/youlai/boot/{system => platform/generator}/model/vo/TablePageVO.java (93%) diff --git a/src/main/java/com/youlai/boot/platform/generator/controller/GeneratorController.java b/src/main/java/com/youlai/boot/platform/generator/controller/GeneratorController.java index a7407459..29e06015 100644 --- a/src/main/java/com/youlai/boot/platform/generator/controller/GeneratorController.java +++ b/src/main/java/com/youlai/boot/platform/generator/controller/GeneratorController.java @@ -7,9 +7,9 @@ import com.youlai.boot.config.property.GeneratorProperties; import com.youlai.boot.common.enums.LogModuleEnum; import com.youlai.boot.platform.generator.service.GeneratorService; import com.youlai.boot.platform.generator.model.form.GenConfigForm; -import com.youlai.boot.system.model.query.TablePageQuery; -import com.youlai.boot.system.model.vo.GeneratorPreviewVO; -import com.youlai.boot.system.model.vo.TablePageVO; +import com.youlai.boot.platform.generator.model.query.TablePageQuery; +import com.youlai.boot.platform.generator.model.vo.GeneratorPreviewVO; +import com.youlai.boot.platform.generator.model.vo.TablePageVO; import com.youlai.boot.common.annotation.Log; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; diff --git a/src/main/java/com/youlai/boot/system/converter/GenConfigConverter.java b/src/main/java/com/youlai/boot/platform/generator/converter/GenConfigConverter.java similarity index 96% rename from src/main/java/com/youlai/boot/system/converter/GenConfigConverter.java rename to src/main/java/com/youlai/boot/platform/generator/converter/GenConfigConverter.java index e09b2cf8..7692cd09 100644 --- a/src/main/java/com/youlai/boot/system/converter/GenConfigConverter.java +++ b/src/main/java/com/youlai/boot/platform/generator/converter/GenConfigConverter.java @@ -1,4 +1,4 @@ -package com.youlai.boot.system.converter; +package com.youlai.boot.platform.generator.converter; import com.youlai.boot.platform.generator.model.entity.GenConfig; import com.youlai.boot.platform.generator.model.entity.GenFieldConfig; diff --git a/src/main/java/com/youlai/boot/platform/generator/mapper/DatabaseMapper.java b/src/main/java/com/youlai/boot/platform/generator/mapper/DatabaseMapper.java index a1968f8f..7d5d0fa4 100644 --- a/src/main/java/com/youlai/boot/platform/generator/mapper/DatabaseMapper.java +++ b/src/main/java/com/youlai/boot/platform/generator/mapper/DatabaseMapper.java @@ -2,18 +2,17 @@ package com.youlai.boot.platform.generator.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.youlai.boot.system.model.bo.ColumnMetaData; -import com.youlai.boot.system.model.bo.TableMetaData; -import com.youlai.boot.system.model.entity.Dept; -import com.youlai.boot.system.model.query.TablePageQuery; -import com.youlai.boot.system.model.vo.TablePageVO; +import com.youlai.boot.platform.generator.model.bo.ColumnMetaData; +import com.youlai.boot.platform.generator.model.bo.TableMetaData; +import com.youlai.boot.platform.generator.model.query.TablePageQuery; +import com.youlai.boot.platform.generator.model.vo.TablePageVO; import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper -public interface DatabaseMapper extends BaseMapper { +public interface DatabaseMapper extends BaseMapper { Page getTablePage(Page page, TablePageQuery queryParams); diff --git a/src/main/java/com/youlai/boot/system/model/bo/ColumnMetaData.java b/src/main/java/com/youlai/boot/platform/generator/model/bo/ColumnMetaData.java similarity index 94% rename from src/main/java/com/youlai/boot/system/model/bo/ColumnMetaData.java rename to src/main/java/com/youlai/boot/platform/generator/model/bo/ColumnMetaData.java index b956a4d9..18a57316 100644 --- a/src/main/java/com/youlai/boot/system/model/bo/ColumnMetaData.java +++ b/src/main/java/com/youlai/boot/platform/generator/model/bo/ColumnMetaData.java @@ -1,4 +1,4 @@ -package com.youlai.boot.system.model.bo; +package com.youlai.boot.platform.generator.model.bo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/src/main/java/com/youlai/boot/system/model/bo/TableMetaData.java b/src/main/java/com/youlai/boot/platform/generator/model/bo/TableMetaData.java similarity index 90% rename from src/main/java/com/youlai/boot/system/model/bo/TableMetaData.java rename to src/main/java/com/youlai/boot/platform/generator/model/bo/TableMetaData.java index b011df8e..53eeaef9 100644 --- a/src/main/java/com/youlai/boot/system/model/bo/TableMetaData.java +++ b/src/main/java/com/youlai/boot/platform/generator/model/bo/TableMetaData.java @@ -1,4 +1,4 @@ -package com.youlai.boot.system.model.bo; +package com.youlai.boot.platform.generator.model.bo; import lombok.Data; diff --git a/src/main/java/com/youlai/boot/system/model/query/TablePageQuery.java b/src/main/java/com/youlai/boot/platform/generator/model/query/TablePageQuery.java similarity index 91% rename from src/main/java/com/youlai/boot/system/model/query/TablePageQuery.java rename to src/main/java/com/youlai/boot/platform/generator/model/query/TablePageQuery.java index c841f9f2..b141f544 100644 --- a/src/main/java/com/youlai/boot/system/model/query/TablePageQuery.java +++ b/src/main/java/com/youlai/boot/platform/generator/model/query/TablePageQuery.java @@ -1,4 +1,4 @@ -package com.youlai.boot.system.model.query; +package com.youlai.boot.platform.generator.model.query; import com.fasterxml.jackson.annotation.JsonIgnore; import com.youlai.boot.common.base.BasePageQuery; diff --git a/src/main/java/com/youlai/boot/system/model/vo/GeneratorPreviewVO.java b/src/main/java/com/youlai/boot/platform/generator/model/vo/GeneratorPreviewVO.java similarity index 88% rename from src/main/java/com/youlai/boot/system/model/vo/GeneratorPreviewVO.java rename to src/main/java/com/youlai/boot/platform/generator/model/vo/GeneratorPreviewVO.java index 1fd62aab..e4a7dc14 100644 --- a/src/main/java/com/youlai/boot/system/model/vo/GeneratorPreviewVO.java +++ b/src/main/java/com/youlai/boot/platform/generator/model/vo/GeneratorPreviewVO.java @@ -1,4 +1,4 @@ -package com.youlai.boot.system.model.vo; +package com.youlai.boot.platform.generator.model.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/src/main/java/com/youlai/boot/system/model/vo/TablePageVO.java b/src/main/java/com/youlai/boot/platform/generator/model/vo/TablePageVO.java similarity index 93% rename from src/main/java/com/youlai/boot/system/model/vo/TablePageVO.java rename to src/main/java/com/youlai/boot/platform/generator/model/vo/TablePageVO.java index 970cd5a8..7ae1f099 100644 --- a/src/main/java/com/youlai/boot/system/model/vo/TablePageVO.java +++ b/src/main/java/com/youlai/boot/platform/generator/model/vo/TablePageVO.java @@ -1,4 +1,4 @@ -package com.youlai.boot.system.model.vo; +package com.youlai.boot.platform.generator.model.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/src/main/java/com/youlai/boot/platform/generator/service/GeneratorService.java b/src/main/java/com/youlai/boot/platform/generator/service/GeneratorService.java index b02d631c..8468d238 100644 --- a/src/main/java/com/youlai/boot/platform/generator/service/GeneratorService.java +++ b/src/main/java/com/youlai/boot/platform/generator/service/GeneratorService.java @@ -2,9 +2,9 @@ package com.youlai.boot.platform.generator.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.youlai.boot.platform.generator.model.form.GenConfigForm; -import com.youlai.boot.system.model.query.TablePageQuery; -import com.youlai.boot.system.model.vo.GeneratorPreviewVO; -import com.youlai.boot.system.model.vo.TablePageVO; +import com.youlai.boot.platform.generator.model.query.TablePageQuery; +import com.youlai.boot.platform.generator.model.vo.GeneratorPreviewVO; +import com.youlai.boot.platform.generator.model.vo.TablePageVO; import java.util.List; diff --git a/src/main/java/com/youlai/boot/platform/generator/service/impl/GeneratorServiceImpl.java b/src/main/java/com/youlai/boot/platform/generator/service/impl/GeneratorServiceImpl.java index 3bc12317..01bda26e 100644 --- a/src/main/java/com/youlai/boot/platform/generator/service/impl/GeneratorServiceImpl.java +++ b/src/main/java/com/youlai/boot/platform/generator/service/impl/GeneratorServiceImpl.java @@ -19,17 +19,17 @@ import com.youlai.boot.config.property.GeneratorProperties; import com.youlai.boot.platform.generator.service.GenConfigService; import com.youlai.boot.platform.generator.service.GenFieldConfigService; import com.youlai.boot.platform.generator.service.GeneratorService; -import com.youlai.boot.system.converter.GenConfigConverter; +import com.youlai.boot.platform.generator.converter.GenConfigConverter; import com.youlai.boot.common.exception.BusinessException; import com.youlai.boot.platform.generator.mapper.DatabaseMapper; -import com.youlai.boot.system.model.bo.ColumnMetaData; -import com.youlai.boot.system.model.bo.TableMetaData; +import com.youlai.boot.platform.generator.model.bo.ColumnMetaData; +import com.youlai.boot.platform.generator.model.bo.TableMetaData; import com.youlai.boot.platform.generator.model.entity.GenConfig; import com.youlai.boot.platform.generator.model.entity.GenFieldConfig; import com.youlai.boot.platform.generator.model.form.GenConfigForm; -import com.youlai.boot.system.model.query.TablePageQuery; -import com.youlai.boot.system.model.vo.GeneratorPreviewVO; -import com.youlai.boot.system.model.vo.TablePageVO; +import com.youlai.boot.platform.generator.model.query.TablePageQuery; +import com.youlai.boot.platform.generator.model.vo.GeneratorPreviewVO; +import com.youlai.boot.platform.generator.model.vo.TablePageVO; import com.youlai.boot.system.service.MenuService; import lombok.RequiredArgsConstructor; import org.apache.commons.io.IOUtils; diff --git a/src/main/resources/mapper/DatabaseMapper.xml b/src/main/resources/mapper/DatabaseMapper.xml index b04e4eb5..c652ebf5 100644 --- a/src/main/resources/mapper/DatabaseMapper.xml +++ b/src/main/resources/mapper/DatabaseMapper.xml @@ -5,7 +5,7 @@ - SELECT t1.TABLE_NAME , t1.TABLE_COMMENT , @@ -33,7 +33,7 @@ CREATE_TIME DESC - SELECT TABLE_NAME , TABLE_COMMENT , @@ -47,7 +47,7 @@ AND TABLE_NAME = #{tableName} - SELECT COLUMN_NAME, DATA_TYPE,