梳理代码生成器的表结构,优化相关字段的命名

This commit is contained in:
YunaiV
2021-01-30 21:36:01 +08:00
parent 67c3a62dcf
commit 58f83a2bd1
19 changed files with 369 additions and 615 deletions

View File

@ -1,6 +1,10 @@
package cn.iocoder.dashboard.modules.tool.dal.mysql.dataobject.codegen;
import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dict.SysDictTypeDO;
import cn.iocoder.dashboard.modules.tool.enums.codegen.ToolCodegenColumnHtmlTypeEnum;
import cn.iocoder.dashboard.modules.tool.enums.codegen.ToolCodegenColumnListConditionEnum;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Builder;
import lombok.Data;
@ -17,6 +21,99 @@ import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true)
public class ToolCodegenColumnDO extends BaseDO {
/**
* ID 编号
*/
@TableId
private Long id;
/**
* 表编号
*
* 外键 {@link ToolCodegenTableDO#getId()}
*/
private Long tableId;
// ========== 表相关字段 ==========
/**
* 字段名
*/
private String columnName;
/**
* 字段类型
*/
private String columnType;
/**
* 字段描述
*/
private String columnComment;
/**
* 是否允许为空
*/
private Boolean nullable;
/**
* 是否主键
*/
private Boolean primaryKey;
/**
* 是否自增
*/
private Boolean autoIncrement;
/**
* 排序字段
*/
private Integer ordinalPosition;
// ========== Java 相关字段 ==========
/**
* Java 属性类型
*
* 例如说 String、Boolean 等等
*/
private String javaType;
/**
* Java 属性名
*/
// @NotBlank(message = "Java属性不能为空")
private String javaField;
/**
* 字典类型
*
* 关联 {@link SysDictTypeDO#getType()}
*/
private String dictType;
// ========== CRUD 相关字段 ==========
/**
* 是否为 Create 创建操作的字段
*/
private Boolean createOperation;
/**
* 是否为 Update 更新操作的字段
*/
private Boolean updateOperation;
/**
* 是否为 List 查询操作的返回字段
*/
private Boolean listOperationResult;
/**
* List 查询操作的条件类型
* 如果为空,则说明不是查询字段
*
* 枚举 {@link ToolCodegenColumnListConditionEnum}
*/
private String listOperationCondition;
// ========== UI 相关字段 ==========
/**
* 显示类型
*
* 枚举 {@link ToolCodegenColumnHtmlTypeEnum}
*/
private String htmlType;
}

View File

@ -1,7 +1,7 @@
package cn.iocoder.dashboard.modules.tool.dal.mysql.dataobject.codegen;
import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.dashboard.modules.tool.enums.codegen.ToolCodeGenTemplateTypeEnum;
import cn.iocoder.dashboard.modules.tool.enums.codegen.ToolCodegenTemplateTypeEnum;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Builder;
import lombok.Data;
@ -18,12 +18,13 @@ import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true)
public class ToolCodegenTableDO extends BaseDO {
// ========== 表相关字段 ==========
/**
* ID 编号
*/
private Long id;
// ========== 表相关字段 ==========
/**
* 表名称
*/
@ -78,7 +79,7 @@ public class ToolCodegenTableDO extends BaseDO {
/**
* 模板类型
*
* 枚举 {@link ToolCodeGenTemplateTypeEnum}
* 枚举 {@link ToolCodegenTemplateTypeEnum}
*/
private Integer templateType;

View File

@ -27,6 +27,10 @@ public class ToolInformationSchemaColumnDO {
* 字段类型
*/
private String columnType;
/**
* 字段描述
*/
private String columnComment;
/**
* 是否允许为空
*/
@ -37,6 +41,11 @@ public class ToolInformationSchemaColumnDO {
*/
@TableField("case when column_key = 'PRI' then '1' else '0' end")
private Boolean primaryKey;
/**
* 是否自增
*/
@TableField("case when extra = 'auto_increment' then '1' else '0' end")
private Boolean autoIncrement;
/**
* 排序字段
*/

View File

@ -0,0 +1,28 @@
package cn.iocoder.dashboard.modules.tool.enums.codegen;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 代码生成器的字段 HTML 展示枚举
*/
@AllArgsConstructor
@Getter
public enum ToolCodegenColumnHtmlTypeEnum {
INPUT("input"), // 文本框
TEXTAREA("textarea"), // 文本域
SELECT("select"), // 下拉框
RADIO("radio"), // 单选框
CHECKBOX("checkbox"), // 复选框
DATETIME("datetime"), // 日期控件
UPLOAD_IMAGE("upload_image"), // 上传控件
EDITOR("editor"), // 富文本控件
;
/**
* 条件
*/
private final String condition;
}

View File

@ -0,0 +1,27 @@
package cn.iocoder.dashboard.modules.tool.enums.codegen;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 代码生成器的字段过滤条件枚举
*/
@AllArgsConstructor
@Getter
public enum ToolCodegenColumnListConditionEnum {
EQ("="),
NE("!="),
GT(">"),
GTE(">="),
LT("<"),
LTE("<="),
LIKE("LIKE"),
BETWEEN("BETWEEN");
/**
* 条件
*/
private final String condition;
}

View File

@ -10,7 +10,7 @@ import lombok.Getter;
*/
@AllArgsConstructor
@Getter
public enum ToolCodeGenTemplateTypeEnum {
public enum ToolCodegenTemplateTypeEnum {
CRUD(1), // 基础 CRUD
TREE(2), // 树形 CRUD