wip: 代码生成临时提交

This commit is contained in:
ray
2024-07-23 08:23:28 +08:00
parent 2235f1f5a4
commit cc8a24645b
4 changed files with 59 additions and 19 deletions

View File

@@ -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<List<TableColumnVO>> getTableColumns(
@Parameter(description = "表名", example = "sys_user") @PathVariable String tableName
) {
List<TableColumnVO> list = generatorService.getTableColumns(tableName);
return Result.success(list);
}
@Operation(summary = "获取预览生成代码")
@GetMapping("/table/{tableName}/preview")
@GetMapping("/{tableName}/preview")
public Result<List<GeneratorPreviewVO>> getTablePreviewData(@PathVariable String tableName) {
List<GeneratorPreviewVO> list = generatorService.getTablePreviewData(tableName);
return Result.success(list);
}
@Operation(summary = "获取代码生成配置")
@GetMapping("/{tableName}/config")
public Result<GenCodeConfigForm> 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);
}
}

View File

@@ -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;
}
}

View File

@@ -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<GeneratorPreviewVO> getTablePreviewData(String tableName);
/**
* 获取代码生成配置
*
* @param tableName 表名
* @return
*/
GenCodeConfigForm getGenCodeConfig(String tableName);
/**
* 保存代码生成配置
*
* @param formData 表单数据
* @return
*/
boolean saveGenCodeConfig(GenCodeConfigForm formData);
}

View File

@@ -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;