package cc.mrbird.febs.system.entity; import cc.mrbird.febs.common.annotation.Desensitization; import cc.mrbird.febs.common.annotation.IsMobile; import cc.mrbird.febs.common.converter.TimeConverter; import cc.mrbird.febs.common.entity.DesensitizationType; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.wuwenze.poi.annotation.Excel; import com.wuwenze.poi.annotation.ExcelField; import lombok.Data; import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; import java.io.Serializable; import java.util.Date; /** * @author MrBird */ @Data @TableName("t_user") @Excel("用户信息表") public class User implements Serializable { private static final long serialVersionUID = -4352868070794165001L; /** * 用户状态:有效 */ public static final String STATUS_VALID = "1"; /** * 用户状态:锁定 */ public static final String STATUS_LOCK = "0"; /** * 默认头像 */ public static final String DEFAULT_AVATAR = "default.jpg"; /** * 默认密码 */ public static final String DEFAULT_PASSWORD = "1234qwer"; /** * 性别男 */ public static final String SEX_MALE = "0"; /** * 性别女 */ public static final String SEX_FEMALE = "1"; /** * 性别保密 */ public static final String SEX_UNKNOW = "2"; /** * 黑色主题 */ public static final String THEME_BLACK = "black"; /** * 白色主题 */ public static final String THEME_WHITE = "white"; /** * TAB开启 */ public static final String TAB_OPEN = "1"; /** * TAB关闭 */ public static final String TAB_CLOSE = "0"; /** * 用户 ID */ @TableId(value = "USER_ID", type = IdType.AUTO) private Long userId; /** * 用户名 */ @TableField("USERNAME") @Size(min = 4, max = 10, message = "{range}") @ExcelField(value = "用户名") private String username; /** * 密码 */ @TableField("PASSWORD") private String password; /** * 部门 ID */ @TableField("DEPT_ID") private Long deptId; /** * 邮箱 */ @TableField("EMAIL") @Size(max = 50, message = "{noMoreThan}") @Email(message = "{email}") @ExcelField(value = "邮箱") private String email; /** * 联系电话 */ @TableField("MOBILE") @IsMobile(message = "{mobile}") @ExcelField(value = "联系电话") @Desensitization(type = DesensitizationType.PHONE) private String mobile; /** * 状态 0锁定 1有效 */ @TableField("STATUS") @NotBlank(message = "{required}") @ExcelField(value = "状态", writeConverterExp = "0=锁定,1=有效") private String status; /** * 创建时间 */ @TableField("CREATE_TIME") @ExcelField(value = "创建时间", writeConverter = TimeConverter.class) private Date createTime; /** * 修改时间 */ @TableField("MODIFY_TIME") @ExcelField(value = "修改时间", writeConverter = TimeConverter.class) private Date modifyTime; /** * 最近访问时间 */ @TableField("LAST_LOGIN_TIME") @ExcelField(value = "最近访问时间", writeConverter = TimeConverter.class) @JsonFormat(pattern = "yyyy年MM月dd日 HH时mm分ss秒", timezone = "GMT+8") private Date lastLoginTime; /** * 性别 0男 1女 2 保密 */ @TableField("SSEX") @NotBlank(message = "{required}") @ExcelField(value = "性别", writeConverterExp = "0=男,1=女,2=保密") private String sex; /** * 头像 */ @TableField("AVATAR") private String avatar; /** * 主题 */ @TableField("THEME") private String theme; /** * 是否开启 tab 0开启,1关闭 */ @TableField("IS_TAB") private String isTab; /** * 描述 */ @TableField("DESCRIPTION") @Size(max = 100, message = "{noMoreThan}") @ExcelField(value = "个人描述") private String description; /** * 部门名称 */ @ExcelField(value = "部门") @TableField(exist = false) private String deptName; @TableField(exist = false) private String createTimeFrom; @TableField(exist = false) private String createTimeTo; /** * 角色 ID */ @NotBlank(message = "{required}") @TableField(exist = false) private String roleId; @ExcelField(value = "角色") @TableField(exist = false) private String roleName; @TableField(exist = false) private String deptIds; public Long getId() { return userId; } }