package com.vci.ubcs.omd.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.ToString; import org.springframework.data.annotation.Transient; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.util.Date; /** * Description: 元数据(属性池) * * @author LiHang * @date 2023/4/3 */ @Data @ToString(callSuper = true) @TableName("pl_omd_attribute") @ApiModel(value = "属性对象", description = "属性对象") public class Attribute implements Serializable { /** * 序列化 */ private static final long serialVersionUID = -6792640675358002410L; /** * 主键 */ @ApiModelProperty(value = "主键") @NotNull private String oid; /** * 字段编号 */ @ApiModelProperty(value = "字段编号") @NotNull private String id; /** * 字段名称 */ @ApiModelProperty(value = "字段名称") private String name; /** * 属性类型字典码 */ @ApiModelProperty(value = "属性类型字典码") private String typeCode; /** * 属性类型字典值 */ @ApiModelProperty(value = "属性类型字典值") private String typeKey; /** * 属性类型字典显示名称 */ @Transient @TableField(exist = false) private String typeValue; /** * 标签 */ @ApiModelProperty(value = "标签") private String hashtag; /** * 描述 */ @ApiModelProperty(value = "描述") private String description; /** * 是否为空 */ @ApiModelProperty("是否为空") private String nullable; /** * 最大长度 */ @ApiModelProperty("最大长度") private Integer maxLength; /** * 精度 */ @ApiModelProperty("精度") private Integer precision; /** * 参照的类型 */ @ApiModelProperty("参照类型字典码") private String referTypeCode; /** * 参照类型字典值 */ @ApiModelProperty("参照类型字典值") private String referTypeKey; /** * 参照类型字典显示名称 */ @Transient @TableField(exist = false) private String referTypeValue; /** * 参照对象 */ @ApiModelProperty("参照的主键") @JsonSerialize(using = ToStringSerializer.class) private String referToId; /** * 参照对象的名称 */ @ApiModelProperty("参照对象名称") private String referToName; /** * 使用字典 */ @ApiModelProperty("使用字典") private String usingDict; /** * 字典码 */ @ApiModelProperty("字典码") private String dictCode; /** * 字典键值 */ @ApiModelProperty("字典键值") private String dictKey; /** * 字典显示值 */ @Transient @TableField(exist = false) private String dictValue; /** * 默认值 */ @ApiModelProperty("默认值") private String defaultValue; /** * 时间戳 */ @ApiModelProperty(value = "时间戳") private Date ts; /** * 比较方式 */ @Transient @TableField(exist = false) private String calculateType; /** * 比较值 */ @Transient @TableField(exist = false) private String calculateValue; /** * 业务类型名称 */ @ApiModelProperty("业务类型名称") private String btmName; /** * 拥有者 */ @ApiModelProperty("拥有者") private String owner; /** * 创建人 */ @ApiModelProperty("创建人") private String creator; /** * 创建时间 */ @ApiModelProperty("创建时间") private Date createTime; /** * 最后修改人 */ @ApiModelProperty("最后修改人") private String lastModifier; /** * 最后修改时间,格式是yyyy-MM-dd HH:mm:ss */ @ApiModelProperty("最后修改时间") private Date lastModifyTime; }