package cn.wisenergy.chnmuseum.party.model; import cn.wisenergy.chnmuseum.party.common.validator.groups.Add; import cn.wisenergy.chnmuseum.party.common.validator.groups.Update; import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.annotation.*; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.*; import lombok.experimental.Accessors; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; /** * <p> * 用户 * </p> * * @author Danny Lee * @since 2021-03-22 */ @Data @Builder @AllArgsConstructor @NoArgsConstructor @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) @TableName("t_user") @ApiModel(value = "用户", description = "用户") public class TUser implements Serializable { private static final long serialVersionUID = 1L; public TUser(String id, String userName, String orgId, String orgName, String jwtToken) { this.id = id; this.userName = userName; this.orgId = orgId; this.orgName = orgName; this.jwtToken = jwtToken; } public TUser(String jwtToken) { this.jwtToken = jwtToken; } @ApiModelProperty("用户标识") @TableId(value = "id", type = IdType.ASSIGN_ID) @NotNull(message = "用户标识ID不能为空", groups = {Update.class}) private String id; @ApiModelProperty("用户名") @TableField("user_name") @NotBlank(message = "用户名不能为空", groups = {Add.class, Update.class}) private String userName; @ApiModelProperty(hidden = true) @TableField("password_hash") @JSONField(serialize = false) private byte[] passwordHash; @ApiModelProperty(hidden = true) @TableField("password_salt") @JSONField(serialize = false) private byte[] passwordSalt; @ApiModelProperty("创建时间") @TableField(value = "create_time", fill = FieldFill.INSERT) @NotNull(message = "创建时间不能为空", groups = {Add.class}) private LocalDateTime createTime; @ApiModelProperty("修改时间") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; @ApiModelProperty("所属机构ID") @TableField("org_id") private String orgId; @ApiModelProperty("是否永久用户") @TableField("permanent") private Boolean permanent; @ApiModelProperty("生效日期") @TableField(value = "effective_date",updateStrategy = FieldStrategy.IGNORED) private LocalDate effectiveDate; @ApiModelProperty("失效日期") @TableField(value = "exired_date",updateStrategy = FieldStrategy.IGNORED) private LocalDate exiredDate; @ApiModelProperty(value = "状态", allowableValues = "启用 ENABLE, 禁用DISABLE") @TableField("status") private String status; @ApiModelProperty("手机号") @TableField("phone") private String phone; @ApiModelProperty("邮箱") @TableField("email") private String email; @ApiModelProperty("微信") @TableField("we_chat") private String weChat; @ApiModelProperty("固话") @TableField("telephone") private String telephone; @ApiModelProperty("0:未删除,1:已删除") @TableField("is_deleted") private Boolean isDeleted; @ApiModelProperty("姓名") @TableField("real_name") private String realName; @ApiModelProperty("类型 1.平台账号 2.用户账号 3.机顶盒账号 4.运维账号 5.统计账号") @TableField("type") private String type; @ApiModelProperty(value = "审核状态", allowableValues = "待初审 TBC, 驳回 REFUSED,待复审 TBCA, 通过APPROVED_FINAL") @TableField("audit_status") private String auditStatus; @ApiModelProperty("区域") @TableField("area_id") private String areaId; @ApiModelProperty("机构名称") @TableField(exist = false) private String orgName; @ApiModelProperty("机构编码") @TableField(exist = false) private String orgCode; @ApiModelProperty("角色id集合") @TableField(exist = false) private List<String> roleList; @ApiModelProperty("密码") @TableField("password") private String password; @ApiModelProperty("区域名") @TableField(exist = false) private String areaName; @ApiModelProperty("区域集合") @TableField(exist = false) private List<String> areas; @ApiModelProperty("状态名称") @TableField(exist = false) private String statusName; @TableField(exist = false) private String jwtToken; }