diff --git a/src/main/java/com/youlai/system/controller/GeneratorController.java b/src/main/java/com/youlai/system/controller/GeneratorController.java index 3b4ef62c..ae619e97 100644 --- a/src/main/java/com/youlai/system/controller/GeneratorController.java +++ b/src/main/java/com/youlai/system/controller/GeneratorController.java @@ -3,6 +3,7 @@ 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.model.form.GenCodeConfigForm; import com.youlai.system.model.query.TablePageQuery; import com.youlai.system.model.vo.TableColumnVO; import com.youlai.system.model.vo.GeneratorPreviewVO; @@ -12,10 +13,7 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -36,21 +34,26 @@ public class GeneratorController { return PageResult.success(result); } - @Operation(summary = "获取数据表字段列表") - @GetMapping("/table/{tableName}/columns") - public Result> getTableColumns( - @Parameter(description = "表名", example = "sys_user") @PathVariable String tableName - ) { - List list = generatorService.getTableColumns(tableName); - return Result.success(list); - } - - @Operation(summary = "获取预览生成代码") - @GetMapping("/table/{tableName}/preview") + @GetMapping("/{tableName}/preview") public Result> getTablePreviewData(@PathVariable String tableName) { List list = generatorService.getTablePreviewData(tableName); return Result.success(list); } + + @Operation(summary = "获取代码生成配置") + @GetMapping("/{tableName}/config") + public Result getGenCodeConfig(@PathVariable String tableName) { + GenCodeConfigForm formData = generatorService.getGenCodeConfig(tableName); + return Result.success(formData); + } + + @Operation(summary = "保存代码生成配置") + @PostMapping("/{tableName}/config") + public Result saveGenCodeConfig(@RequestBody GenCodeConfigForm formData) { + boolean result = generatorService.saveGenCodeConfig(formData); + return Result.judge(result); + } + } diff --git a/src/main/java/com/youlai/system/model/form/GeneratorConfigForm.java b/src/main/java/com/youlai/system/model/form/GenCodeConfigForm.java similarity index 86% rename from src/main/java/com/youlai/system/model/form/GeneratorConfigForm.java rename to src/main/java/com/youlai/system/model/form/GenCodeConfigForm.java index aa91d12d..e411d29d 100644 --- a/src/main/java/com/youlai/system/model/form/GeneratorConfigForm.java +++ b/src/main/java/com/youlai/system/model/form/GenCodeConfigForm.java @@ -1,5 +1,7 @@ package com.youlai.system.model.form; +import com.youlai.system.enums.FormTypeEnum; +import com.youlai.system.enums.QueryTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -7,7 +9,7 @@ import java.util.List; @Schema(description = "代码生成配置表单") @Data -public class GeneratorConfigForm { +public class GenCodeConfigForm { @Schema(description = "表名") private String tableName; @@ -50,10 +52,10 @@ public class GeneratorConfigForm { private Boolean showInQuery; @Schema(description = "表单类型") - private String formType; + private FormTypeEnum formType; @Schema(description = "查询方式") - private String queryMethod; + private QueryTypeEnum queryType; } } diff --git a/src/main/java/com/youlai/system/service/GeneratorService.java b/src/main/java/com/youlai/system/service/GeneratorService.java index ef4243e9..e648d3f6 100644 --- a/src/main/java/com/youlai/system/service/GeneratorService.java +++ b/src/main/java/com/youlai/system/service/GeneratorService.java @@ -1,6 +1,7 @@ package com.youlai.system.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.youlai.system.model.form.GenCodeConfigForm; import com.youlai.system.model.query.TablePageQuery; import com.youlai.system.model.vo.TableColumnVO; import com.youlai.system.model.vo.GeneratorPreviewVO; @@ -9,7 +10,7 @@ import com.youlai.system.model.vo.TablePageVO; import java.util.List; /** - * 数据库服务接口 + * 代码生成业务接口 * * @author haoxr * @since 2.11.0 @@ -40,4 +41,20 @@ public interface GeneratorService { * @return */ List getTablePreviewData(String tableName); + + /** + * 获取代码生成配置 + * + * @param tableName 表名 + * @return + */ + GenCodeConfigForm getGenCodeConfig(String tableName); + + /** + * 保存代码生成配置 + * + * @param formData 表单数据 + * @return + */ + boolean saveGenCodeConfig(GenCodeConfigForm formData); } 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 6d7f52a4..20b998fe 100644 --- a/src/main/java/com/youlai/system/service/impl/GeneratorServiceImpl.java +++ b/src/main/java/com/youlai/system/service/impl/GeneratorServiceImpl.java @@ -17,6 +17,7 @@ import com.youlai.system.mapper.GenConfigMapper; import com.youlai.system.mapper.GenFieldConfigMapper; import com.youlai.system.model.entity.GenConfig; import com.youlai.system.model.entity.GenFieldConfig; +import com.youlai.system.model.form.GenCodeConfigForm; import com.youlai.system.model.query.TablePageQuery; import com.youlai.system.model.vo.TableColumnVO; import com.youlai.system.model.vo.GeneratorPreviewVO; @@ -74,6 +75,21 @@ public class GeneratorServiceImpl implements GeneratorService { return databaseMapper.getTableColumns(tableName); } + + @Override + public GenCodeConfigForm getGenCodeConfig(String tableName) { + + genConfigMapper.selectOne(new LambdaQueryWrapper<>(GenConfig.class).eq(GenConfig::getTableName, tableName)); + + return null; + } + + @Override + public boolean saveGenCodeConfig(GenCodeConfigForm formData) { + return false; + } + + /** * 获取预览生成代码 * @@ -137,6 +153,8 @@ public class GeneratorServiceImpl implements GeneratorService { } + + private String getFileName(String entityName, String templateName, String extension) { if (templateName.equals("Entity")) { return entityName + extension;