| | |
| | | package com.ruoyi.generator.domain; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ruoyi.common.constant.GenConstants; |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import lombok.Data; |
| | | import lombok.NoArgsConstructor; |
| | | import lombok.experimental.Accessors; |
| | | import lombok.EqualsAndHashCode; |
| | | import org.apache.commons.lang3.ArrayUtils; |
| | | |
| | | import javax.validation.Valid; |
| | | import javax.validation.constraints.NotBlank; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import jakarta.validation.Valid; |
| | | import jakarta.validation.constraints.NotBlank; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 业务表 gen_table |
| | | * |
| | | * @author ruoyi |
| | | * |
| | | * @author Lion Li |
| | | */ |
| | | |
| | | @Data |
| | | @NoArgsConstructor |
| | | @Accessors(chain = true) |
| | | @EqualsAndHashCode(callSuper = true) |
| | | @TableName("gen_table") |
| | | public class GenTable |
| | | { |
| | | private static final long serialVersionUID = 1L; |
| | | public class GenTable extends BaseEntity { |
| | | |
| | | /** 编号 */ |
| | | @TableId(value = "table_id", type = IdType.AUTO) |
| | | /** |
| | | * 编号 |
| | | */ |
| | | @TableId(value = "table_id") |
| | | 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主子表操作) */ |
| | | /** |
| | | * 使用的模板(crud单表操作 tree树表操作 sub主子表操作) |
| | | */ |
| | | private String tplCategory; |
| | | |
| | | /** 生成包路径 */ |
| | | /** |
| | | * 生成包路径 |
| | | */ |
| | | @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自定义路径) */ |
| | | /** |
| | | * 生成代码方式(0zip压缩包 1自定义路径) |
| | | */ |
| | | private String genType; |
| | | |
| | | /** 生成路径(不填默认项目路径) */ |
| | | /** |
| | | * 生成路径(不填默认项目路径) |
| | | */ |
| | | @TableField(updateStrategy = FieldStrategy.NOT_EMPTY) |
| | | private String genPath; |
| | | |
| | | /** 主键信息 */ |
| | | /** |
| | | * 主键信息 |
| | | */ |
| | | @TableField(exist = false) |
| | | private GenTableColumn pkColumn; |
| | | |
| | | /** 子表信息 */ |
| | | /** |
| | | * 子表信息 |
| | | */ |
| | | @TableField(exist = false) |
| | | private GenTable subTable; |
| | | |
| | | /** 表列信息 */ |
| | | /** |
| | | * 表列信息 |
| | | */ |
| | | @Valid |
| | | @TableField(exist = false) |
| | | private List<GenTableColumn> columns; |
| | | |
| | | /** 其它生成选项 */ |
| | | /** |
| | | * 其它生成选项 |
| | | */ |
| | | private String options; |
| | | |
| | | /** |
| | | * 创建者 |
| | | */ |
| | | private String createBy; |
| | | |
| | | /** |
| | | * 创建时间 |
| | | */ |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | /** |
| | | * 更新者 |
| | | */ |
| | | private String updateBy; |
| | | |
| | | /** |
| | | * 更新时间 |
| | | */ |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date updateTime; |
| | | |
| | | /** |
| | | * 备注 |
| | |
| | | private String remark; |
| | | |
| | | /** |
| | | * 请求参数 |
| | | * 树编码字段 |
| | | */ |
| | | @TableField(exist = false) |
| | | private Map<String, Object> params = new HashMap<>(); |
| | | |
| | | /** 树编码字段 */ |
| | | @TableField(exist = false) |
| | | private String treeCode; |
| | | |
| | | /** 树父编码字段 */ |
| | | /** |
| | | * 树父编码字段 |
| | | */ |
| | | @TableField(exist = false) |
| | | private String treeParentCode; |
| | | |
| | | /** 树名称字段 */ |
| | | /** |
| | | * 树名称字段 |
| | | */ |
| | | @TableField(exist = false) |
| | | private String treeName; |
| | | |
| | | /** 上级菜单ID字段 */ |
| | | /* |
| | | * 菜单id列表 |
| | | */ |
| | | @TableField(exist = false) |
| | | private List<Long> menuIds; |
| | | |
| | | /** |
| | | * 上级菜单ID字段 |
| | | */ |
| | | @TableField(exist = false) |
| | | private String parentMenuId; |
| | | |
| | | /** 上级菜单名称字段 */ |
| | | /** |
| | | * 上级菜单名称字段 |
| | | */ |
| | | @TableField(exist = false) |
| | | private String parentMenuName; |
| | | |
| | | public boolean isSub() |
| | | { |
| | | public boolean isSub() { |
| | | return isSub(this.tplCategory); |
| | | } |
| | | |
| | | public static boolean isSub(String tplCategory) |
| | | { |
| | | return tplCategory != null && StrUtil.equals(GenConstants.TPL_SUB, tplCategory); |
| | | public static boolean isSub(String tplCategory) { |
| | | return tplCategory != null && StringUtils.equals(GenConstants.TPL_SUB, tplCategory); |
| | | } |
| | | |
| | | public boolean isTree() |
| | | { |
| | | public boolean isTree() { |
| | | return isTree(this.tplCategory); |
| | | } |
| | | |
| | | public static boolean isTree(String tplCategory) |
| | | { |
| | | return tplCategory != null && StrUtil.equals(GenConstants.TPL_TREE, tplCategory); |
| | | public static boolean isTree(String tplCategory) { |
| | | return tplCategory != null && StringUtils.equals(GenConstants.TPL_TREE, tplCategory); |
| | | } |
| | | |
| | | public boolean isCrud() |
| | | { |
| | | public boolean isCrud() { |
| | | return isCrud(this.tplCategory); |
| | | } |
| | | |
| | | public static boolean isCrud(String tplCategory) |
| | | { |
| | | return tplCategory != null && StrUtil.equals(GenConstants.TPL_CRUD, tplCategory); |
| | | public static boolean isCrud(String tplCategory) { |
| | | return tplCategory != null && StringUtils.equals(GenConstants.TPL_CRUD, tplCategory); |
| | | } |
| | | |
| | | public boolean isSuperColumn(String javaField) |
| | | { |
| | | public boolean isSuperColumn(String javaField) { |
| | | return isSuperColumn(this.tplCategory, javaField); |
| | | } |
| | | |
| | | public static boolean isSuperColumn(String tplCategory, String javaField) |
| | | { |
| | | if (isTree(tplCategory)) |
| | | { |
| | | return StrUtil.equalsAnyIgnoreCase(javaField, |
| | | ArrayUtils.addAll(GenConstants.TREE_ENTITY, GenConstants.BASE_ENTITY)); |
| | | public static boolean isSuperColumn(String tplCategory, String javaField) { |
| | | if (isTree(tplCategory)) { |
| | | return StringUtils.equalsAnyIgnoreCase(javaField, |
| | | ArrayUtils.addAll(GenConstants.TREE_ENTITY, GenConstants.BASE_ENTITY)); |
| | | } |
| | | return StrUtil.equalsAnyIgnoreCase(javaField, GenConstants.BASE_ENTITY); |
| | | return StringUtils.equalsAnyIgnoreCase(javaField, GenConstants.BASE_ENTITY); |
| | | } |
| | | } |
| | | } |