mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-08-03 12:54:06 +08:00
1. 完成代码生成的表和字段定义的编辑
2. 清理多余代码
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
package cn.iocoder.dashboard.modules.system.dal.redis.dao.auth;
|
||||
package cn.iocoder.dashboard.modules.system.dal.redis.auth;
|
||||
|
||||
import cn.iocoder.dashboard.framework.security.core.LoginUser;
|
||||
import cn.iocoder.dashboard.util.json.JsonUtils;
|
@@ -1,4 +1,4 @@
|
||||
package cn.iocoder.dashboard.modules.system.dal.redis.dao.common;
|
||||
package cn.iocoder.dashboard.modules.system.dal.redis.common;
|
||||
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
import org.springframework.stereotype.Repository;
|
@@ -1,4 +0,0 @@
|
||||
/**
|
||||
* 提供 Redis 访问的 DAO
|
||||
*/
|
||||
package cn.iocoder.dashboard.modules.system.dal.redis.dao;
|
@@ -10,7 +10,7 @@ import cn.iocoder.dashboard.modules.system.controller.auth.vo.session.SysUserSes
|
||||
import cn.iocoder.dashboard.modules.system.dal.mysql.auth.SysUserSessionMapper;
|
||||
import cn.iocoder.dashboard.modules.system.dal.dataobject.auth.SysUserSessionDO;
|
||||
import cn.iocoder.dashboard.modules.system.dal.dataobject.user.SysUserDO;
|
||||
import cn.iocoder.dashboard.modules.system.dal.redis.dao.auth.SysLoginUserRedisDAO;
|
||||
import cn.iocoder.dashboard.modules.system.dal.redis.auth.SysLoginUserRedisDAO;
|
||||
import cn.iocoder.dashboard.modules.system.service.auth.SysUserSessionService;
|
||||
import cn.iocoder.dashboard.modules.system.service.user.SysUserService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
@@ -6,7 +6,7 @@ import cn.hutool.core.util.IdUtil;
|
||||
import cn.iocoder.dashboard.framework.captcha.config.CaptchaProperties;
|
||||
import cn.iocoder.dashboard.modules.system.controller.common.vo.SysCaptchaImageRespVO;
|
||||
import cn.iocoder.dashboard.modules.system.convert.common.SysCaptchaConvert;
|
||||
import cn.iocoder.dashboard.modules.system.dal.redis.dao.common.SysCaptchaRedisDAO;
|
||||
import cn.iocoder.dashboard.modules.system.dal.redis.common.SysCaptchaRedisDAO;
|
||||
import cn.iocoder.dashboard.modules.system.service.common.SysCaptchaService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
@@ -3,8 +3,9 @@ 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.controller.codegen.vo.ToolCodegenUpdateReqVO;
|
||||
import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table.ToolCodegenTablePageReqVO;
|
||||
import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table.ToolCodegenTableRespVO;
|
||||
import cn.iocoder.dashboard.modules.tool.convert.codegen.ToolCodegenConvert;
|
||||
import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO;
|
||||
import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO;
|
||||
@@ -30,7 +31,7 @@ public class ToolCodegenController {
|
||||
private ToolCodegenService codegenService;
|
||||
|
||||
@ApiOperation("获得表定义分页")
|
||||
@GetMapping("/page")
|
||||
@GetMapping("/table/page")
|
||||
// TODO 权限 @PreAuthorize("@ss.hasPermi('tool:gen:list')")
|
||||
public CommonResult<PageResult<ToolCodegenTableRespVO>> getCodeGenTablePage(@Valid ToolCodegenTablePageReqVO pageReqVO) {
|
||||
PageResult<ToolCodegenTableDO> pageResult = codegenService.getCodeGenTablePage(pageReqVO);
|
||||
@@ -50,8 +51,19 @@ public class ToolCodegenController {
|
||||
@ApiOperation("基于数据库的表结构,创建代码生成器的表定义")
|
||||
@PostMapping("/create")
|
||||
// TODO 权限
|
||||
public CommonResult<Long> createCodeGenTable(@RequestParam("tableName") String tableName) {
|
||||
return success(codegenService.createCodegenTable(tableName));
|
||||
public CommonResult<Long> createCodeGen(@RequestParam("tableName") String tableName) {
|
||||
return success(codegenService.createCodegen(tableName));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改保存代码生成业务
|
||||
*/
|
||||
@ApiOperation("更新数据库的表和字段定义")
|
||||
@PutMapping("/update")
|
||||
// @PreAuthorize("@ss.hasPermi('tool:gen:edit')") TODO 权限
|
||||
public CommonResult<Boolean> updateCodegen(@Valid @RequestBody ToolCodegenUpdateReqVO updateReqVO) {
|
||||
codegenService.updateCodegen(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -1,5 +1,7 @@
|
||||
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo;
|
||||
|
||||
import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.column.ToolCodegenColumnRespVO;
|
||||
import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table.ToolCodegenTableRespVO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
@@ -0,0 +1,49 @@
|
||||
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo;
|
||||
|
||||
import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.column.ToolCodegenColumnBaseVO;
|
||||
import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table.ToolCodegenTableBaseVO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@ApiModel("代码生成表和字段的修改 Request VO")
|
||||
@Data
|
||||
public class ToolCodegenUpdateReqVO {
|
||||
|
||||
@Valid // 校验内嵌的字段
|
||||
@NotNull(message = "表定义不能为空")
|
||||
private Table table;
|
||||
|
||||
@Valid // 校验内嵌的字段
|
||||
@NotNull(message = "字段定义不能为空")
|
||||
private List<Column> columns;
|
||||
|
||||
@ApiModel("更新表定义")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public static class Table extends ToolCodegenTableBaseVO {
|
||||
|
||||
@ApiModelProperty(value = "编号", required = true, example = "1")
|
||||
private Long id;
|
||||
|
||||
}
|
||||
|
||||
@ApiModel("更新表定义")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public static class Column extends ToolCodegenColumnBaseVO {
|
||||
|
||||
@ApiModelProperty(value = "编号", required = true, example = "1")
|
||||
private Long id;
|
||||
|
||||
}
|
||||
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo;
|
||||
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo.column;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
@@ -1,4 +1,4 @@
|
||||
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo;
|
||||
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo.column;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
@@ -1,4 +1,4 @@
|
||||
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo;
|
||||
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
@@ -1,4 +1,4 @@
|
||||
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo;
|
||||
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table;
|
||||
|
||||
import cn.iocoder.dashboard.common.pojo.PageParam;
|
||||
import io.swagger.annotations.ApiModel;
|
@@ -1,4 +1,4 @@
|
||||
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo;
|
||||
package cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
@@ -1,9 +1,10 @@
|
||||
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.ToolCodegenUpdateReqVO;
|
||||
import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.column.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.controller.codegen.vo.table.ToolCodegenTableRespVO;
|
||||
import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO;
|
||||
import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO;
|
||||
import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolInformationSchemaColumnDO;
|
||||
@@ -38,6 +39,10 @@ public interface ToolCodegenConvert {
|
||||
|
||||
List<ToolCodegenColumnRespVO> convertList02(List<ToolCodegenColumnDO> list);
|
||||
|
||||
ToolCodegenTableDO convert(ToolCodegenUpdateReqVO.Table bean);
|
||||
|
||||
List<ToolCodegenColumnDO> convertList03(List<ToolCodegenUpdateReqVO.Column> columns);
|
||||
|
||||
// ========== 其它 ==========
|
||||
|
||||
default ToolCodegenDetailRespVO convert(ToolCodegenTableDO table, List<ToolCodegenColumnDO> columns) {
|
||||
|
@@ -43,7 +43,7 @@ public class ToolCodegenTableDO extends BaseDO {
|
||||
/**
|
||||
* 模块名,即一级目录
|
||||
*
|
||||
* 例如说,infra、system、tool 等等
|
||||
* 例如说,system、infra、tool 等等
|
||||
*/
|
||||
private String moduleName;
|
||||
/**
|
||||
|
@@ -3,7 +3,7 @@ package cn.iocoder.dashboard.modules.tool.dal.mysql.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.controller.codegen.vo.table.ToolCodegenTablePageReqVO;
|
||||
import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
@@ -12,10 +12,10 @@ import lombok.Getter;
|
||||
@Getter
|
||||
public enum ToolCodegenTemplateTypeEnum {
|
||||
|
||||
CRUD(1), // 基础 CRUD
|
||||
TREE(2), // 树形 CRUD
|
||||
CRUD(1), // 单表(增删改查)
|
||||
TREE(2), // 树表(增删改查)
|
||||
// TODO 主子表,暂时不考虑支持。原因是较为灵活,形态较多,很难评估。
|
||||
SUB(3) // 主子表 CRUD
|
||||
SUB(3) // 主子表(增删改查)
|
||||
;
|
||||
|
||||
/**
|
||||
|
@@ -1,7 +1,8 @@
|
||||
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.controller.codegen.vo.ToolCodegenUpdateReqVO;
|
||||
import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table.ToolCodegenTablePageReqVO;
|
||||
import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenColumnDO;
|
||||
import cn.iocoder.dashboard.modules.tool.dal.dataobject.codegen.ToolCodegenTableDO;
|
||||
|
||||
@@ -20,7 +21,14 @@ public interface ToolCodegenService {
|
||||
* @param tableName 表名称
|
||||
* @return 表定义的编号
|
||||
*/
|
||||
Long createCodegenTable(String tableName);
|
||||
Long createCodegen(String tableName);
|
||||
|
||||
/**
|
||||
* 更新数据库的表和字段定义
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateCodegen(ToolCodegenUpdateReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 获得表定义分页
|
||||
|
@@ -2,7 +2,9 @@ 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.controller.codegen.vo.ToolCodegenUpdateReqVO;
|
||||
import cn.iocoder.dashboard.modules.tool.controller.codegen.vo.table.ToolCodegenTablePageReqVO;
|
||||
import cn.iocoder.dashboard.modules.tool.convert.codegen.ToolCodegenConvert;
|
||||
import cn.iocoder.dashboard.modules.tool.dal.mysql.coegen.ToolCodegenColumnMapper;
|
||||
import cn.iocoder.dashboard.modules.tool.dal.mysql.coegen.ToolCodegenTableMapper;
|
||||
import cn.iocoder.dashboard.modules.tool.dal.mysql.coegen.ToolInformationSchemaColumnMapper;
|
||||
@@ -42,7 +44,7 @@ public class ToolCodegenServiceImpl implements ToolCodegenService {
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Long createCodegenTable(String tableName) {
|
||||
public Long createCodegen(String tableName) {
|
||||
// 从数据库中,获得数据库表结构
|
||||
ToolInformationSchemaTableDO schemaTable = informationSchemaTableMapper.selectByTableName(tableName);
|
||||
if (schemaTable == null) {
|
||||
@@ -69,6 +71,22 @@ public class ToolCodegenServiceImpl implements ToolCodegenService {
|
||||
return table.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void updateCodegen(ToolCodegenUpdateReqVO updateReqVO) {
|
||||
// 校验是否已经存在
|
||||
if (codegenTableMapper.selectById(updateReqVO.getTable().getId()) == null) {
|
||||
throw new RuntimeException(""); // TODO
|
||||
}
|
||||
|
||||
// 更新 table 表定义
|
||||
ToolCodegenTableDO updateTableObj = ToolCodegenConvert.INSTANCE.convert(updateReqVO.getTable());
|
||||
codegenTableMapper.updateById(updateTableObj);
|
||||
// 更新 column 字段定义
|
||||
List<ToolCodegenColumnDO> updateColumnObjs = ToolCodegenConvert.INSTANCE.convertList03(updateReqVO.getColumns());
|
||||
updateColumnObjs.forEach(updateColumnObj -> codegenColumnMapper.updateById(updateColumnObj));
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<ToolCodegenTableDO> getCodeGenTablePage(ToolCodegenTablePageReqVO pageReqVO) {
|
||||
return codegenTableMapper.selectPage(pageReqVO);
|
||||
|
@@ -39,8 +39,8 @@ spring:
|
||||
write-durations-as-timestamps: true # 设置 Duration 的格式,使用时间戳
|
||||
fail-on-empty-beans: false # 允许序列化无属性的 Bean
|
||||
|
||||
main:
|
||||
lazy-initialization: true # TODO 芋艿:本地开发环境,可以配置下 lazy 延迟加载
|
||||
# main:
|
||||
# lazy-initialization: true # TODO 芋艿:本地开发环境,可以配置下 lazy 延迟加载
|
||||
|
||||
# 芋道配置项,设置当前项目所有自定义的配置
|
||||
yudao:
|
||||
|
@@ -15,7 +15,7 @@ import ${CommonResultClassName};
|
||||
import static ${CommonResultClassName}.success;
|
||||
|
||||
import ${basePackage}.${table.moduleName}.controller.${table.businessName}.vo.*;
|
||||
import ${basePackage}.${table.moduleName}.dal.mysql.dataobject.${table.businessName}.${table.className}DO;
|
||||
import ${basePackage}.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO;
|
||||
import ${basePackage}.${table.moduleName}.convert.${table.businessName}.${table.className}Convert;
|
||||
import ${basePackage}.${table.moduleName}.service.${table.businessName}.${table.className}Service;
|
||||
|
||||
|
@@ -7,7 +7,7 @@ import ${PageResultClassName};
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
import ${basePackage}.${table.moduleName}.controller.${table.businessName}.vo.*;
|
||||
import ${basePackage}.${table.moduleName}.dal.mysql.dataobject.${table.businessName}.${table.className}DO;
|
||||
import ${basePackage}.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO;
|
||||
|
||||
/**
|
||||
* ${table.classComment} Convert
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package ${basePackage}.${table.moduleName}.dal.mysql.dataobject.${table.businessName};
|
||||
package ${basePackage}.${table.moduleName}.dal.dataobject.${table.businessName};
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
|
@@ -1,9 +1,9 @@
|
||||
package ${basePackage}.${table.moduleName}.dal.mysql.dao.${table.businessName};
|
||||
package ${basePackage}.${table.moduleName}.dal.mysql.${table.businessName};
|
||||
|
||||
import ${PageResultClassName};
|
||||
import ${QueryWrapperClassName};
|
||||
import ${BaseMapperClassName};
|
||||
import ${basePackage}.${table.moduleName}.dal.mysql.dataobject.${table.businessName}.${table.className}DO;
|
||||
import ${basePackage}.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import ${basePackage}.${table.moduleName}.controller.${table.businessName}.vo.${table.className}PageReqVO;
|
||||
|
||||
|
@@ -3,7 +3,7 @@ package ${basePackage}.${table.moduleName}.service.${table.businessName};
|
||||
import java.util.*;
|
||||
import javax.validation.*;
|
||||
import ${basePackage}.${table.moduleName}.controller.${table.businessName}.vo.*;
|
||||
import ${basePackage}.${table.moduleName}.dal.mysql.dataobject.${table.businessName}.${table.className}DO;
|
||||
import ${basePackage}.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO;
|
||||
import ${PageResultClassName};
|
||||
|
||||
/**
|
||||
|
@@ -7,11 +7,11 @@ import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import java.util.*;
|
||||
import ${basePackage}.${table.moduleName}.controller.${table.businessName}.vo.*;
|
||||
import ${basePackage}.${table.moduleName}.dal.mysql.dataobject.${table.businessName}.${table.className}DO;
|
||||
import ${basePackage}.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO;
|
||||
import ${PageResultClassName};
|
||||
|
||||
import ${basePackage}.${table.moduleName}.convert.${table.businessName}.${table.className}Convert;
|
||||
import ${basePackage}.${table.moduleName}.dal.mysql.dao.${table.businessName}.${table.className}Mapper;
|
||||
import ${basePackage}.${table.moduleName}.dal.mysql.${table.businessName}.${table.className}Mapper;
|
||||
import ${basePackage}.${table.moduleName}.service.${table.businessName}.${table.className}Service;
|
||||
|
||||
import ${ServiceExceptionUtilClassName};
|
||||
|
Reference in New Issue
Block a user