package com.jcdm.generator.domain; import java.util.List; import javax.validation.Valid; import javax.validation.constraints.NotBlank; import org.apache.commons.lang3.ArrayUtils; import com.jcdm.common.constant.GenConstants; import com.jcdm.common.core.domain.BaseEntity; import com.jcdm.common.utils.StringUtils; /** * 业务表 gen_table * * @author jc */ public class GenTable extends BaseEntity { private static final long serialVersionUID = 1L; /** 编号 */ private Long tableId; /** 表名称 */ @NotBlank(message = "表名称不能为空") private String tableName; /** 表描述 */ @NotBlank(message = "表描述不能为空") private String tableComment; /** 关联父表的表名 */ private String subTableName; /** 本表关联父表的外键名 */ private String subTableFkName; /** 实体类名称(首字母大写) */ @NotBlank(message = "实体类名称不能为空") private String className; /** 使用的模板(crud单表操作 tree树表操作 sub主子表操作) */ private String tplCategory; /** 前端类型(element-ui模版 element-plus模版) */ private String tplWebType; /** 生成包路径 */ @NotBlank(message = "生成包路径不能为空") private String packageName; /** 生成模块名 */ @NotBlank(message = "生成模块名不能为空") private String moduleName; /** 生成业务名 */ @NotBlank(message = "生成业务名不能为空") private String businessName; /** 生成功能名 */ @NotBlank(message = "生成功能名不能为空") private String functionName; /** 生成作者 */ @NotBlank(message = "作者不能为空") private String functionAuthor; /** 生成代码方式(0zip压缩包 1自定义路径) */ private String genType; /** 生成路径(不填默认项目路径) */ private String genPath; /** 主键信息 */ private GenTableColumn pkColumn; /** 子表信息 */ private GenTable subTable; /** 表列信息 */ @Valid private List columns; /** 其它生成选项 */ private String options; /** 树编码字段 */ private String treeCode; /** 树父编码字段 */ private String treeParentCode; /** 树名称字段 */ private String treeName; /** 上级菜单ID字段 */ private String parentMenuId; /** 上级菜单名称字段 */ private String parentMenuName; public Long getTableId() { return tableId; } public void setTableId(Long tableId) { this.tableId = tableId; } public String getTableName() { return tableName; } public void setTableName(String tableName) { this.tableName = tableName; } public String getTableComment() { return tableComment; } public void setTableComment(String tableComment) { this.tableComment = tableComment; } public String getSubTableName() { return subTableName; } public void setSubTableName(String subTableName) { this.subTableName = subTableName; } public String getSubTableFkName() { return subTableFkName; } public void setSubTableFkName(String subTableFkName) { this.subTableFkName = subTableFkName; } public String getClassName() { return className; } public void setClassName(String className) { this.className = className; } public String getTplCategory() { return tplCategory; } public void setTplCategory(String tplCategory) { this.tplCategory = tplCategory; } public String getTplWebType() { return tplWebType; } public void setTplWebType(String tplWebType) { this.tplWebType = tplWebType; } public String getPackageName() { return packageName; } public void setPackageName(String packageName) { this.packageName = packageName; } public String getModuleName() { return moduleName; } public void setModuleName(String moduleName) { this.moduleName = moduleName; } public String getBusinessName() { return businessName; } public void setBusinessName(String businessName) { this.businessName = businessName; } public String getFunctionName() { return functionName; } public void setFunctionName(String functionName) { this.functionName = functionName; } public String getFunctionAuthor() { return functionAuthor; } public void setFunctionAuthor(String functionAuthor) { this.functionAuthor = functionAuthor; } public String getGenType() { return genType; } public void setGenType(String genType) { this.genType = genType; } public String getGenPath() { return genPath; } public void setGenPath(String genPath) { this.genPath = genPath; } public GenTableColumn getPkColumn() { return pkColumn; } public void setPkColumn(GenTableColumn pkColumn) { this.pkColumn = pkColumn; } public GenTable getSubTable() { return subTable; } public void setSubTable(GenTable subTable) { this.subTable = subTable; } public List getColumns() { return columns; } public void setColumns(List columns) { this.columns = columns; } public String getOptions() { return options; } public void setOptions(String options) { this.options = options; } public String getTreeCode() { return treeCode; } public void setTreeCode(String treeCode) { this.treeCode = treeCode; } public String getTreeParentCode() { return treeParentCode; } public void setTreeParentCode(String treeParentCode) { this.treeParentCode = treeParentCode; } public String getTreeName() { return treeName; } public void setTreeName(String treeName) { this.treeName = treeName; } public String getParentMenuId() { return parentMenuId; } public void setParentMenuId(String parentMenuId) { this.parentMenuId = parentMenuId; } public String getParentMenuName() { return parentMenuName; } public void setParentMenuName(String parentMenuName) { this.parentMenuName = parentMenuName; } public boolean isSub() { return isSub(this.tplCategory); } public static boolean isSub(String tplCategory) { return tplCategory != null && StringUtils.equals(GenConstants.TPL_SUB, tplCategory); } public boolean isTree() { return isTree(this.tplCategory); } public static boolean isTree(String tplCategory) { return tplCategory != null && StringUtils.equals(GenConstants.TPL_TREE, tplCategory); } public boolean isCrud() { return isCrud(this.tplCategory); } public static boolean isCrud(String tplCategory) { return tplCategory != null && StringUtils.equals(GenConstants.TPL_CRUD, tplCategory); } public boolean isSuperColumn(String javaField) { return isSuperColumn(this.tplCategory, javaField); } public static boolean isSuperColumn(String tplCategory, String javaField) { if (isTree(tplCategory)) { return StringUtils.equalsAnyIgnoreCase(javaField, ArrayUtils.addAll(GenConstants.TREE_ENTITY, GenConstants.BASE_ENTITY)); } return StringUtils.equalsAnyIgnoreCase(javaField, GenConstants.BASE_ENTITY); } }