From e9e2fee0851e9d4026371d024d5f2d941cda928e Mon Sep 17 00:00:00 2001 From: ray <1490493387@qq.com> Date: Wed, 17 Jul 2024 21:05:49 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BB=A3=E7=A0=81=E7=94=9F?= =?UTF-8?q?=E6=88=90=E4=B8=B4=E6=97=B6=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ntroller.java => GeneratorController.java} | 7 +-- .../system/model/form/GeneratorConfig.java | 29 --------- .../model/form/GeneratorConfigForm.java | 59 +++++++++++++++++++ .../service/impl/DatabaseServiceImpl.java | 10 ++-- 4 files changed, 66 insertions(+), 39 deletions(-) rename src/main/java/com/youlai/system/controller/{DatabaseController.java => GeneratorController.java} (91%) delete mode 100644 src/main/java/com/youlai/system/model/form/GeneratorConfig.java create mode 100644 src/main/java/com/youlai/system/model/form/GeneratorConfigForm.java diff --git a/src/main/java/com/youlai/system/controller/DatabaseController.java b/src/main/java/com/youlai/system/controller/GeneratorController.java similarity index 91% rename from src/main/java/com/youlai/system/controller/DatabaseController.java rename to src/main/java/com/youlai/system/controller/GeneratorController.java index 101f7297..4c4c2c50 100644 --- a/src/main/java/com/youlai/system/controller/DatabaseController.java +++ b/src/main/java/com/youlai/system/controller/GeneratorController.java @@ -10,7 +10,6 @@ import com.youlai.system.model.vo.TablePageVO; import com.youlai.system.service.DatabaseService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; @@ -22,9 +21,9 @@ import java.util.List; @Tag(name = "09.代码生成") @RestController -@RequestMapping("/api/v1/databases") +@RequestMapping("/api/v1/generator") @RequiredArgsConstructor -public class DatabaseController { +public class GeneratorController { private final DatabaseService databaseService; @@ -48,7 +47,7 @@ public class DatabaseController { @Operation(summary = "获取预览生成代码") - @GetMapping("/table/{tableName}/generate-preview") + @GetMapping("/table/{tableName}/preview") public Result> getTablePreviewData(@PathVariable String tableName) { List list = databaseService.getTablePreviewData(tableName); return Result.success(list); diff --git a/src/main/java/com/youlai/system/model/form/GeneratorConfig.java b/src/main/java/com/youlai/system/model/form/GeneratorConfig.java deleted file mode 100644 index 958c131b..00000000 --- a/src/main/java/com/youlai/system/model/form/GeneratorConfig.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.youlai.system.model.form; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -@Schema(description = "代码生成配置") -@Data -public class GeneratorConfig { - - @Schema(description = "表名") - private String tableName; - - @Schema(description = "包名") - private String packageName; - - @Schema(description = "模块名") - private String moduleName; - - @Schema(description = "作者") - private String author; - - @Schema(description = "表前缀") - private String tablePrefix; - - @Schema(description = "是否覆盖") - private Boolean cover; - - -} diff --git a/src/main/java/com/youlai/system/model/form/GeneratorConfigForm.java b/src/main/java/com/youlai/system/model/form/GeneratorConfigForm.java new file mode 100644 index 00000000..aa91d12d --- /dev/null +++ b/src/main/java/com/youlai/system/model/form/GeneratorConfigForm.java @@ -0,0 +1,59 @@ +package com.youlai.system.model.form; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Schema(description = "代码生成配置表单") +@Data +public class GeneratorConfigForm { + + @Schema(description = "表名") + private String tableName; + + @Schema(description = "实体名") + private String entityName; + + @Schema(description = "包名") + private String packageName; + + @Schema(description = "模块名") + private String moduleName; + + @Schema(description = "作者") + private String author; + + @Schema(description = "字段配置") + private List fieldConfigs; + + @Schema(description = "字段配置") + @Data + public static class FieldConfig { + + @Schema(description = "字段名称") + private String name; + + @Schema(description = "字段类型") + private String type; + + @Schema(description = "字段描述") + private String description; + + @Schema(description = "是否在列表显示") + private Boolean showInList; + + @Schema(description = "是否在表单显示") + private Boolean showInForm; + + @Schema(description = "是否在查询条件显示") + private Boolean showInQuery; + + @Schema(description = "表单类型") + private String formType; + + @Schema(description = "查询方式") + private String queryMethod; + + } +} diff --git a/src/main/java/com/youlai/system/service/impl/DatabaseServiceImpl.java b/src/main/java/com/youlai/system/service/impl/DatabaseServiceImpl.java index 878b7136..2559e147 100644 --- a/src/main/java/com/youlai/system/service/impl/DatabaseServiceImpl.java +++ b/src/main/java/com/youlai/system/service/impl/DatabaseServiceImpl.java @@ -1,6 +1,6 @@ package com.youlai.system.service.impl; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.extra.template.Template; import cn.hutool.extra.template.TemplateConfig; import cn.hutool.extra.template.TemplateEngine; @@ -17,10 +17,7 @@ import org.springframework.stereotype.Service; import cn.hutool.extra.template.TemplateConfig.ResourceMode; import java.io.File; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 数据库服务实现类 @@ -67,13 +64,14 @@ public class DatabaseServiceImpl implements DatabaseService { List list = new ArrayList<>(); - TemplateConfig templateConfig = new TemplateConfig("templates" , ResourceMode.CLASSPATH); + TemplateConfig templateConfig = new TemplateConfig("templates" , ResourceMode.CLASSPATH); TemplateEngine templateEngine = TemplateUtil.createEngine(templateConfig); Map bindingMap = new HashMap<>(); bindingMap.put("tableName", "sys_user"); bindingMap.put("author", "Ray"); + bindingMap.put("date", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm")); bindingMap.put("entityName", "User" ); bindingMap.put("lowerFirstEntityName", "user"); bindingMap.put("tableComment", "用户");