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 lombok.*;
|
import lombok.experimental.Accessors;
|
import org.apache.commons.lang3.ArrayUtils;
|
|
import javax.validation.Valid;
|
import javax.validation.constraints.NotBlank;
|
import java.io.Serializable;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 业务表 gen_table
|
*
|
* @author ruoyi
|
*/
|
|
@Data
|
@NoArgsConstructor
|
@Accessors(chain = true)
|
@TableName("gen_table")
|
public class GenTable implements Serializable {
|
private static final long serialVersionUID = 1L;
|
|
/**
|
* 编号
|
*/
|
@TableId(value = "table_id", type = IdType.AUTO)
|
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;
|
|
/**
|
* 生成包路径
|
*/
|
@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;
|
|
/**
|
* 主键信息
|
*/
|
@TableField(exist = false)
|
private GenTableColumn pkColumn;
|
|
/**
|
* 子表信息
|
*/
|
@TableField(exist = false)
|
private GenTable subTable;
|
|
/**
|
* 表列信息
|
*/
|
@Valid
|
@TableField(exist = false)
|
private List<GenTableColumn> columns;
|
|
/**
|
* 其它生成选项
|
*/
|
private String options;
|
|
/**
|
* 创建者
|
*/
|
@TableField(fill = FieldFill.INSERT)
|
private String createBy;
|
|
/**
|
* 创建时间
|
*/
|
@TableField(fill = FieldFill.INSERT)
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
private Date createTime;
|
|
/**
|
* 更新者
|
*/
|
@TableField(fill = FieldFill.INSERT_UPDATE)
|
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字段
|
*/
|
@TableField(exist = false)
|
private String parentMenuId;
|
|
/**
|
* 上级菜单名称字段
|
*/
|
@TableField(exist = false)
|
private String parentMenuName;
|
|
public boolean isSub() {
|
return isSub(this.tplCategory);
|
}
|
|
public static boolean isSub(String tplCategory) {
|
return tplCategory != null && StrUtil.equals(GenConstants.TPL_SUB, tplCategory);
|
}
|
|
public boolean isTree() {
|
return isTree(this.tplCategory);
|
}
|
|
public static boolean isTree(String tplCategory) {
|
return tplCategory != null && StrUtil.equals(GenConstants.TPL_TREE, tplCategory);
|
}
|
|
public boolean isCrud() {
|
return isCrud(this.tplCategory);
|
}
|
|
public static boolean isCrud(String tplCategory) {
|
return tplCategory != null && StrUtil.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 StrUtil.equalsAnyIgnoreCase(javaField,
|
ArrayUtils.addAll(GenConstants.TREE_ENTITY, GenConstants.BASE_ENTITY));
|
}
|
return StrUtil.equalsAnyIgnoreCase(javaField, GenConstants.BASE_ENTITY);
|
}
|
}
|