代码生成器的编辑界面~

This commit is contained in:
YunaiV
2021-02-09 22:14:01 +08:00
parent b04db3d6d8
commit 3fb292a4c1
35 changed files with 515 additions and 495 deletions

View File

@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@ -14,6 +15,7 @@ import static cn.iocoder.dashboard.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOU
@ApiModel("参数配置分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class InfConfigPageReqVO extends PageParam {
@ApiModelProperty(value = "参数名称", example = "模糊匹配")

View File

@ -1,33 +0,0 @@
package cn.iocoder.dashboard.modules.tool.controller.codegen;
import cn.iocoder.dashboard.common.pojo.CommonResult;
import cn.iocoder.dashboard.common.pojo.PageResult;
import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.ToolCodeGenTablePageItemRespVO;
import cn.iocoder.dashboard.modules.tool.service.codegen.ToolCodegenService;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import static cn.iocoder.dashboard.common.pojo.CommonResult.success;
@RestController
@RequestMapping("/tool/codegen")
public class ToolCodeGenController {
@Resource
private ToolCodegenService codegenService;
@GetMapping("/table/page")
public CommonResult<PageResult<ToolCodeGenTablePageItemRespVO>> getCodeGenTablePage() {
return success(null);
}
@ApiOperation("基于数据库的表结构,创建代码生成器的表定义")
@PostMapping("/table/create")
// TODO 权限
public CommonResult<Long> createCodeGenTable(@RequestParam("tableName") String tableName) {
return success(codegenService.createCodegenTable(tableName));
}
}

View File

@ -0,0 +1,57 @@
package cn.iocoder.dashboard.modules.tool.controller.codegen;
import cn.iocoder.dashboard.common.pojo.CommonResult;
import cn.iocoder.dashboard.common.pojo.PageResult;
import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.ToolCodegenDetailRespVO;
import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.ToolCodegenTablePageReqVO;
import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.ToolCodegenTableRespVO;
import cn.iocoder.dashboard.modules.tool.convert.codegen.ToolCodegenConvert;
import cn.iocoder.dashboard.modules.tool.dal.mysql.dataobject.codegen.ToolCodegenColumnDO;
import cn.iocoder.dashboard.modules.tool.dal.mysql.dataobject.codegen.ToolCodegenTableDO;
import cn.iocoder.dashboard.modules.tool.service.codegen.ToolCodegenService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
import static cn.iocoder.dashboard.common.pojo.CommonResult.success;
@Api(tags = "代码生成器 API")
@RestController
@RequestMapping("/tool/codegen")
@Validated
public class ToolCodegenController {
@Resource
private ToolCodegenService codegenService;
@ApiOperation("获得表定义分页")
@GetMapping("/page")
// TODO 权限 @PreAuthorize("@ss.hasPermi('tool:gen:list')")
public CommonResult<PageResult<ToolCodegenTableRespVO>> getCodeGenTablePage(@Valid ToolCodegenTablePageReqVO pageReqVO) {
PageResult<ToolCodegenTableDO> pageResult = codegenService.getCodeGenTablePage(pageReqVO);
return success(ToolCodegenConvert.INSTANCE.convertPage(pageResult));
}
@ApiOperation("获得表和字段的明细")
@GetMapping("/detail")
// todo @PreAuthorize("@ss.hasPermi('tool:gen:query')")
public CommonResult<ToolCodegenDetailRespVO> getCodeGenDetail(@RequestParam("tableId") Long tableId) {
ToolCodegenTableDO table = codegenService.getCodeGenTablePage(tableId);
List<ToolCodegenColumnDO> columns = codegenService.getCodegenColumnListByTableId(tableId);
// 拼装返回
return success(ToolCodegenConvert.INSTANCE.convert(table, columns));
}
@ApiOperation("基于数据库的表结构,创建代码生成器的表定义")
@PostMapping("/create")
// TODO 权限
public CommonResult<Long> createCodeGenTable(@RequestParam("tableName") String tableName) {
return success(codegenService.createCodegenTable(tableName));
}
}

View File

@ -1,4 +0,0 @@
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo;
public class ToolCodeGenTableBaseRespVO {
}

View File

@ -1,7 +0,0 @@
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo;
public class ToolCodeGenTablePageItemRespVO extends ToolCodeGenTableBaseRespVO {
}

View File

@ -0,0 +1,85 @@
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* 代码生成字段定义 Base VO提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
*/
@Data
public class ToolCodegenColumnBaseVO {
@ApiModelProperty(value = "表编号", required = true, example = "1")
@NotNull(message = "表编号不能为空")
private Long tableId;
@ApiModelProperty(value = "字段名", required = true, example = "user_age")
@NotNull(message = "字段名不能为空")
private String columnName;
@ApiModelProperty(value = "字段类型", required = true, example = "int(11)")
@NotNull(message = "字段类型不能为空")
private String columnType;
@ApiModelProperty(value = "字段描述", required = true, example = "年龄")
@NotNull(message = "字段描述不能为空")
private String columnComment;
@ApiModelProperty(value = "是否允许为空", required = true, example = "true")
@NotNull(message = "是否允许为空不能为空")
private Boolean nullable;
@ApiModelProperty(value = "是否主键", required = true, example = "false")
@NotNull(message = "是否主键不能为空")
private Boolean primaryKey;
@ApiModelProperty(value = "是否自增", required = true, example = "true")
@NotNull(message = "是否自增不能为空")
private String autoIncrement;
@ApiModelProperty(value = "排序", required = true, example = "10")
@NotNull(message = "排序不能为空")
private Integer ordinalPosition;
@ApiModelProperty(value = "Java 属性类型", required = true, example = "userAge")
@NotNull(message = "Java 属性类型不能为空")
private String javaType;
@ApiModelProperty(value = "Java 属性名", required = true, example = "Integer")
@NotNull(message = "Java 属性名不能为空")
private String javaField;
@ApiModelProperty(value = "字典类型", example = "sys_gender")
private String dictType;
@ApiModelProperty(value = "数据示例", example = "1024")
private String example;
@ApiModelProperty(value = "是否为 Create 创建操作的字段", required = true, example = "true")
@NotNull(message = "是否为 Create 创建操作的字段不能为空")
private Boolean createOperation;
@ApiModelProperty(value = "是否为 Update 更新操作的字段", required = true, example = "false")
@NotNull(message = "是否为 Update 更新操作的字段不能为空")
private Boolean updateOperation;
@ApiModelProperty(value = "是否为 List 查询操作的字段", required = true, example = "true")
@NotNull(message = "是否为 List 查询操作的字段不能为空")
private Boolean listOperation;
@ApiModelProperty(value = "List 查询操作的条件类型", required = true, example = "LIKE", notes = "参见 ToolCodegenColumnListConditionEnum 枚举")
@NotNull(message = "List 查询操作的条件类型不能为空")
private String listOperationCondition;
@ApiModelProperty(value = "是否为 List 查询操作的返回字段", required = true, example = "true")
@NotNull(message = "是否为 List 查询操作的返回字段不能为空")
private Boolean listOperationResult;
@ApiModelProperty(value = "显示类型", required = true, example = "input")
@NotNull(message = "显示类型不能为空")
private String htmlType;
}

View File

@ -0,0 +1,23 @@
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.Date;
@ApiModel("代码生成字段定义 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ToolCodegenColumnRespVO extends ToolCodegenColumnBaseVO {
@ApiModelProperty(value = "编号", required = true, example = "1")
private Long id;
@ApiModelProperty(value = "创建时间", required = true)
private Date createTime;
}

View File

@ -0,0 +1,19 @@
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@ApiModel("代码生成表和字段的明细 Response VO")
@Data
public class ToolCodegenDetailRespVO {
@ApiModelProperty("表定义")
private ToolCodegenTableRespVO table;
@ApiModelProperty("字段定义")
private List<ToolCodegenColumnRespVO> columns;
}

View File

@ -0,0 +1,50 @@
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* 代码生成 Base VO提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
*/
@Data
public class ToolCodegenTableBaseVO {
@ApiModelProperty(value = "表名称", required = true, example = "yudao")
@NotNull(message = "表名称不能为空")
private String tableName;
@ApiModelProperty(value = "表描述", required = true, example = "芋道")
@NotNull(message = "表描述不能为空")
private String tableComment;
@ApiModelProperty(value = "备注", example = "我是备注")
private String remark;
@ApiModelProperty(value = "模块名", required = true, example = "system")
@NotNull(message = "模块名不能为空")
private String moduleName;
@ApiModelProperty(value = "业务名", required = true, example = "codegen")
@NotNull(message = "业务名不能为空")
private String businessName;
@ApiModelProperty(value = "类名称", required = true, example = "ToolCodegenTable")
@NotNull(message = "类名称不能为空")
private String className;
@ApiModelProperty(value = "类描述", required = true, example = "代码生成器的表定义")
@NotNull(message = "类描述不能为空")
private String classComment;
@ApiModelProperty(value = "作者", required = true, example = "芋道源码")
@NotNull(message = "作者不能为空")
private String author;
@ApiModelProperty(value = "模板类型", required = true, example = "1", notes = "参见 ToolCodegenTemplateTypeEnum 枚举")
@NotNull(message = "模板类型不能为空")
private Integer templateType;
}

View File

@ -0,0 +1,35 @@
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo;
import cn.iocoder.dashboard.common.pojo.PageParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import static cn.iocoder.dashboard.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ApiModel("表定义分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ToolCodegenTablePageReqVO extends PageParam {
@ApiModelProperty(value = "表名称", example = "yudao", notes = "模糊匹配")
private String tableName;
@ApiModelProperty(value = "表描述", example = "芋道", notes = "模糊匹配")
private String tableComment;
@ApiModelProperty(value = "开始创建时间", example = "2020-10-24 00:00:00")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private Date beginCreateTime;
@ApiModelProperty(value = "结束创建时间", example = "2020-10-24 23:59:59")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private Date endCreateTime;
}

View File

@ -0,0 +1,26 @@
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.Date;
@ApiModel("代码生成表定义 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ToolCodegenTableRespVO extends ToolCodegenTableBaseVO {
@ApiModelProperty(value = "编号", required = true, example = "1")
private Long id;
@ApiModelProperty(value = "创建时间", required = true)
private Date createTime;
@ApiModelProperty(value = "更新时间", required = true)
private Date updateTime;
}

View File

@ -1 +0,0 @@
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo;

View File

@ -1,21 +0,0 @@
package cn.iocoder.dashboard.modules.tool.convert.codegen;
import cn.iocoder.dashboard.modules.tool.dal.mysql.dataobject.codegen.ToolCodegenColumnDO;
import cn.iocoder.dashboard.modules.tool.dal.mysql.dataobject.codegen.ToolCodegenTableDO;
import cn.iocoder.dashboard.modules.tool.dal.mysql.dataobject.codegen.ToolInformationSchemaColumnDO;
import cn.iocoder.dashboard.modules.tool.dal.mysql.dataobject.codegen.ToolInformationSchemaTableDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
@Mapper
public interface CodegenConvert {
CodegenConvert INSTANCE = Mappers.getMapper(CodegenConvert.class);
ToolCodegenTableDO convert(ToolInformationSchemaTableDO bean);
List<ToolCodegenColumnDO> convertList(List<ToolInformationSchemaColumnDO> list);
}

View File

@ -0,0 +1,50 @@
package cn.iocoder.dashboard.modules.tool.convert.codegen;
import cn.iocoder.dashboard.common.pojo.PageResult;
import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.ToolCodegenColumnRespVO;
import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.ToolCodegenDetailRespVO;
import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.ToolCodegenTableRespVO;
import cn.iocoder.dashboard.modules.tool.dal.mysql.dataobject.codegen.ToolCodegenColumnDO;
import cn.iocoder.dashboard.modules.tool.dal.mysql.dataobject.codegen.ToolCodegenTableDO;
import cn.iocoder.dashboard.modules.tool.dal.mysql.dataobject.codegen.ToolInformationSchemaColumnDO;
import cn.iocoder.dashboard.modules.tool.dal.mysql.dataobject.codegen.ToolInformationSchemaTableDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
@Mapper
public interface ToolCodegenConvert {
ToolCodegenConvert INSTANCE = Mappers.getMapper(ToolCodegenConvert.class);
// ========== ToolInformationSchemaTableDO 和 ToolInformationSchemaColumnDO 相关 ==========
ToolCodegenTableDO convert(ToolInformationSchemaTableDO bean);
List<ToolCodegenColumnDO> convertList(List<ToolInformationSchemaColumnDO> list);
ToolCodegenTableRespVO convert(ToolInformationSchemaColumnDO bean);
// ========== ToolCodegenTableDO 相关 ==========
// List<ToolCodegenTableRespVO> convertList02(List<ToolCodegenTableDO> list);
ToolCodegenTableRespVO convert(ToolCodegenTableDO bean);
PageResult<ToolCodegenTableRespVO> convertPage(PageResult<ToolCodegenTableDO> page);
// ========== ToolCodegenTableDO 相关 ==========
List<ToolCodegenColumnRespVO> convertList02(List<ToolCodegenColumnDO> list);
// ========== 其它 ==========
default ToolCodegenDetailRespVO convert(ToolCodegenTableDO table, List<ToolCodegenColumnDO> columns) {
ToolCodegenDetailRespVO respVO = new ToolCodegenDetailRespVO();
respVO.setTable(convert(table));
respVO.setColumns(convertList02(columns));
return respVO;
}
}

View File

@ -10,7 +10,7 @@ import java.util.List;
@Mapper
public interface ToolCodegenColumnMapper extends BaseMapperX<ToolCodegenColumnDO> {
default List<ToolCodegenColumnDO> selectByTableId(Long tableId) {
default List<ToolCodegenColumnDO> selectListByTableId(Long tableId) {
return selectList(new QueryWrapper<ToolCodegenColumnDO>()
.eq("table_id", tableId)
.orderByAsc("ordinal_position"));

View File

@ -1,6 +1,9 @@
package cn.iocoder.dashboard.modules.tool.dal.mysql.dao.coegen;
import cn.iocoder.dashboard.common.pojo.PageResult;
import cn.iocoder.dashboard.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX;
import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.ToolCodegenTablePageReqVO;
import cn.iocoder.dashboard.modules.tool.dal.mysql.dataobject.codegen.ToolCodegenTableDO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.ibatis.annotations.Mapper;
@ -12,4 +15,11 @@ public interface ToolCodegenTableMapper extends BaseMapperX<ToolCodegenTableDO>
return selectOne(new QueryWrapper<ToolCodegenTableDO>().eq("table_name", tableName));
}
default PageResult<ToolCodegenTableDO> selectPage(ToolCodegenTablePageReqVO pageReqVO) {
return selectPage(pageReqVO, new QueryWrapperX<ToolCodegenTableDO>()
.likeIfPresent("table_name", pageReqVO.getTableName())
.likeIfPresent("table_comment", pageReqVO.getTableComment())
.betweenIfPresent("create_time", pageReqVO.getBeginCreateTime(), pageReqVO.getEndCreateTime()));
}
}

View File

@ -15,7 +15,7 @@ import lombok.EqualsAndHashCode;
*
* @author 芋道源码
*/
@TableName(value = "tool_codegen_table_column", autoResultMap = true)
@TableName(value = "tool_codegen_column", autoResultMap = true)
@Data
@Builder
@EqualsAndHashCode(callSuper = true)
@ -60,7 +60,7 @@ public class ToolCodegenColumnDO extends BaseDO {
*/
private Boolean autoIncrement;
/**
* 排序字段
* 排序
*/
private Integer ordinalPosition;
@ -122,5 +122,4 @@ public class ToolCodegenColumnDO extends BaseDO {
*/
private String htmlType;
}

View File

@ -28,12 +28,10 @@ public class ToolCodegenTableDO extends BaseDO {
/**
* 表名称
*/
// @NotBlank(message = "表名称不能为空")
private String tableName;
/**
* 表描述
*/
// @NotBlank(message = "表描述不能为空")
private String tableComment;
/**
* 备注
@ -47,31 +45,26 @@ public class ToolCodegenTableDO extends BaseDO {
*
* 例如说infra、system、tool 等等
*/
// @NotBlank(message = "模块名不能为空")
private String moduleName;
/**
* 业务名,即二级目录
*
* 例如说user、permission、dict 等等
*/
// @NotBlank(message = "生成业务名不能为空")
private String businessName;
/**
* 类名称(首字母大写)
*
* 例如说SysUser、SysMenu、SysDictData 等等
*/
// @NotBlank(message = "实体类名称不能为空")
private String className;
/**
* 类描述
*/
// @NotBlank(message = "生成功能名不能为空")
private String classComment;
/**
* 作者
*/
// @NotBlank(message = "作者不能为空")
private String author;
// ========== 生成相关字段 ==========

View File

@ -14,7 +14,8 @@ public enum ToolCodegenTemplateTypeEnum {
CRUD(1), // 基础 CRUD
TREE(2), // 树形 CRUD
SUB(3) // 子表 CRUD
// TODO 主子表,暂时不考虑支持。原因是较为灵活,形态较多,很难评估。
SUB(3) // 主子表 CRUD
;
/**

View File

@ -1,5 +1,12 @@
package cn.iocoder.dashboard.modules.tool.service.codegen;
import cn.iocoder.dashboard.common.pojo.PageResult;
import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.ToolCodegenTablePageReqVO;
import cn.iocoder.dashboard.modules.tool.dal.mysql.dataobject.codegen.ToolCodegenColumnDO;
import cn.iocoder.dashboard.modules.tool.dal.mysql.dataobject.codegen.ToolCodegenTableDO;
import java.util.List;
/**
* 代码生成 Service 接口
*
@ -15,4 +22,28 @@ public interface ToolCodegenService {
*/
Long createCodegenTable(String tableName);
/**
* 获得表定义分页
*
* @param pageReqVO 分页条件
* @return 表定义分页
*/
PageResult<ToolCodegenTableDO> getCodeGenTablePage(ToolCodegenTablePageReqVO pageReqVO);
/**
* 获得表定义
*
* @param id 表编号
* @return 表定义
*/
ToolCodegenTableDO getCodeGenTablePage(Long id);
/**
* 获得指定表的字段定义数组
*
* @param tableId 表编号
* @return 字段定义数组
*/
List<ToolCodegenColumnDO> getCodegenColumnListByTableId(Long tableId);
}

View File

@ -3,7 +3,7 @@ package cn.iocoder.dashboard.modules.tool.service.codegen.impl;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.dashboard.modules.tool.convert.codegen.CodegenConvert;
import cn.iocoder.dashboard.modules.tool.convert.codegen.ToolCodegenConvert;
import cn.iocoder.dashboard.modules.tool.dal.mysql.dataobject.codegen.ToolCodegenColumnDO;
import cn.iocoder.dashboard.modules.tool.dal.mysql.dataobject.codegen.ToolCodegenTableDO;
import cn.iocoder.dashboard.modules.tool.dal.mysql.dataobject.codegen.ToolInformationSchemaColumnDO;
@ -113,7 +113,7 @@ public class ToolCodegenBuilder {
}
public ToolCodegenTableDO buildTable(ToolInformationSchemaTableDO schemaTable) {
ToolCodegenTableDO table = CodegenConvert.INSTANCE.convert(schemaTable);
ToolCodegenTableDO table = ToolCodegenConvert.INSTANCE.convert(schemaTable);
initTableDefault(table);
return table;
}
@ -136,7 +136,7 @@ public class ToolCodegenBuilder {
}
public List<ToolCodegenColumnDO> buildColumns(List<ToolInformationSchemaColumnDO> schemaColumns) {
List<ToolCodegenColumnDO> columns = CodegenConvert.INSTANCE.convertList(schemaColumns);
List<ToolCodegenColumnDO> columns = ToolCodegenConvert.INSTANCE.convertList(schemaColumns);
columns.forEach(this::initColumnDefault);
return columns;
}

View File

@ -95,12 +95,12 @@ public class ToolCodegenEngine {
// String result = templateEngine.getTemplate("codegen/controller/vo/baseVO.vm").render(bindingMap);
// String result = templateEngine.getTemplate("codegen/controller/vo/createReqVO.vm").render(bindingMap);
// String result = templateEngine.getTemplate("codegen/controller/vo/updateReqVO.vm").render(bindingMap);
// String result = templateEngine.getTemplate("codegen/controller/vo/respVO.vm").render(bindingMap);
String result = templateEngine.getTemplate("codegen/controller/vo/respVO.vm").render(bindingMap);
// String result = templateEngine.getTemplate("codegen/convert/convert.vm").render(bindingMap);
// String result = templateEngine.getTemplate("codegen/enums/errorcode.vm").render(bindingMap);
// String result = templateEngine.getTemplate("codegen/service/service.vm").render(bindingMap);
// String result = templateEngine.getTemplate("codegen/service/serviceImpl.vm").render(bindingMap);
String result = templateEngine.getTemplate("codegen/controller/controller.vm").render(bindingMap);
// String result = templateEngine.getTemplate("codegen/controller/controller.vm").render(bindingMap);
System.out.println(result);
}

View File

@ -1,6 +1,8 @@
package cn.iocoder.dashboard.modules.tool.service.codegen.impl;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.dashboard.common.pojo.PageResult;
import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.ToolCodegenTablePageReqVO;
import cn.iocoder.dashboard.modules.tool.dal.mysql.dao.coegen.ToolCodegenColumnMapper;
import cn.iocoder.dashboard.modules.tool.dal.mysql.dao.coegen.ToolCodegenTableMapper;
import cn.iocoder.dashboard.modules.tool.dal.mysql.dao.coegen.ToolInformationSchemaColumnMapper;
@ -67,4 +69,19 @@ public class ToolCodegenServiceImpl implements ToolCodegenService {
return table.getId();
}
@Override
public PageResult<ToolCodegenTableDO> getCodeGenTablePage(ToolCodegenTablePageReqVO pageReqVO) {
return codegenTableMapper.selectPage(pageReqVO);
}
@Override
public ToolCodegenTableDO getCodeGenTablePage(Long id) {
return codegenTableMapper.selectById(id);
}
@Override
public List<ToolCodegenColumnDO> getCodegenColumnListByTableId(Long tableId) {
return codegenColumnMapper.selectListByTableId(tableId);
}
}