Jay
2024-10-08 79914dabac38d83676ea16ff65da8d941a099285
提交 | 用户 | 时间
e7c126 1 package com.iailab.module.infra.dal.dataobject.codegen;
H 2
3 import com.iailab.framework.mybatis.core.dataobject.BaseDO;
4 import com.iailab.module.infra.dal.dataobject.db.DataSourceConfigDO;
5 import com.iailab.module.infra.enums.codegen.CodegenFrontTypeEnum;
6 import com.iailab.module.infra.enums.codegen.CodegenSceneEnum;
7 import com.iailab.module.infra.enums.codegen.CodegenTemplateTypeEnum;
8 import com.baomidou.mybatisplus.annotation.KeySequence;
9 import com.baomidou.mybatisplus.annotation.TableId;
10 import com.baomidou.mybatisplus.annotation.TableName;
11 import com.baomidou.mybatisplus.generator.config.po.TableInfo;
12 import lombok.Data;
13 import lombok.EqualsAndHashCode;
14 import lombok.experimental.Accessors;
15
16 /**
17  * 代码生成 table 表定义
18  *
19  * @author iailab
20  */
21 @TableName(value = "infra_codegen_table", autoResultMap = true)
22 @KeySequence("infra_codegen_table_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
23 @Data
24 @Accessors(chain = true)
25 @EqualsAndHashCode(callSuper = true)
26 public class CodegenTableDO extends BaseDO {
27
28     /**
29      * ID 编号
30      */
31     @TableId
32     private Long id;
33
34     /**
35      * 数据源编号
36      *
37      * 关联 {@link DataSourceConfigDO#getId()}
38      */
39     private Long dataSourceConfigId;
40     /**
41      * 生成场景
42      *
43      * 枚举 {@link CodegenSceneEnum}
44      */
45     private Integer scene;
46
47     // ========== 表相关字段 ==========
48
49     /**
50      * 表名称
51      *
52      * 关联 {@link TableInfo#getName()}
53      */
54     private String tableName;
55     /**
56      * 表描述
57      *
58      * 关联 {@link TableInfo#getComment()}
59      */
60     private String tableComment;
61     /**
62      * 备注
63      */
64     private String remark;
65
66     // ========== 类相关字段 ==========
67
68     /**
69      * 模块名,即一级目录
70      *
71      * 例如说,system、infra、tool 等等
72      */
73     private String moduleName;
74     /**
75      * 业务名,即二级目录
76      *
77      * 例如说,user、permission、dict 等等
78      */
79     private String businessName;
80     /**
81      * 类名称(首字母大写)
82      *
83      * 例如说,SysUser、SysMenu、SysDictData 等等
84      */
85     private String className;
86     /**
87      * 类描述
88      */
89     private String classComment;
90     /**
91      * 作者
92      */
93     private String author;
94
95     // ========== 生成相关字段 ==========
96
97     /**
98      * 模板类型
99      *
100      * 枚举 {@link CodegenTemplateTypeEnum}
101      */
102     private Integer templateType;
103     /**
104      * 代码生成的前端类型
105      *
106      * 枚举 {@link CodegenFrontTypeEnum}
107      */
108     private Integer frontType;
109
110     // ========== 菜单相关字段 ==========
111
112     /**
113      * 父菜单编号
114      *
115      * 关联 MenuDO 的 id 属性
116      */
117     private Long parentMenuId;
118
119     // ========== 主子表相关字段 ==========
120
121     /**
122      * 主表的编号
123      *
124      * 关联 {@link CodegenTableDO#getId()}
125      */
126     private Long masterTableId;
127     /**
128      * 【自己】子表关联主表的字段编号
129      *
130      * 关联 {@link CodegenColumnDO#getId()}
131      */
132     private Long subJoinColumnId;
133     /**
134      * 主表与子表是否一对多
135      *
136      * true:一对多
137      * false:一对一
138      */
139     private Boolean subJoinMany;
140
141     // ========== 树表相关字段 ==========
142
143     /**
144      * 树表的父字段编号
145      *
146      * 关联 {@link CodegenColumnDO#getId()}
147      */
148     private Long treeParentColumnId;
149     /**
150      * 树表的名字字段编号
151      *
152      * 名字的用途:新增或修改时,select 框展示的字段
153      *
154      * 关联 {@link CodegenColumnDO#getId()}
155      */
156     private Long treeNameColumnId;
157
158 }