package com.zd.model.entity; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonProperty; import com.zd.model.annotation.Excel; import com.zd.model.annotation.Excel.ColumnType; import com.zd.model.annotation.Excel.Type; import com.zd.model.annotation.Excels; import io.swagger.annotations.ApiModelProperty; import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; import java.io.Serializable; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * 用户对象 sys_user * * @author zd */ public class SysUser extends BaseEntity implements Serializable { private static final long serialVersionUID = 1L; /** * 用户ID */ @Excel(name = "用户序号", cellType = ColumnType.NUMERIC, prompt = "用户编号") private Long userId; /** * 部门ID */ @Excel(name = "部门编号", type = Type.IMPORT) private Long deptId; /** * 用户账号 */ @Excel(name = "登录名称") private String userName; /** * 用户类型(00系统用户,11 教职工,22 学生) */ @Excel(name = "登录名称", readConverterExp = "用户类型(00系统用户,11 教职工,22 学生,99 大屏,33 供应商)") private String userType; /** * 用户昵称 */ @Excel(name = "用户名称") private String nickName; /** * 用户邮箱 */ @Excel(name = "用户邮箱") private String email; /** * 手机号码 */ @Excel(name = "手机号码") private String phonenumber; /** * 用户性别 */ @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知") private String sex; /** * 用户头像 */ private String avatar; /** * 密码 */ private String password; /** * 帐号状态(0正常 1停用) */ @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用") private String status; /** * 删除标志(0代表存在 2代表删除) */ private String delFlag; /** * 最后登录IP */ @Excel(name = "最后登录IP", type = Type.EXPORT) private String loginIp; /** * 最后登录时间 */ // @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT) private Date loginDate; /** * 部门对象 */ @Excels({ @Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT), @Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT) }) private SysDept dept; /** * 角色对象 -- 2.6 弃用 */ @Deprecated private List roles; /** * 2.6 需求新权限数据 */ private List permits; /** * 角色组 */ private Long[] roleIds; /** * 岗位组 */ private Long[] postIds; /** * 用户组 */ private Long[] userIds; /** * 角色ID */ private Long roleId; /** * 专业 */ private String major; /** * 年级id */ private String grade; /** * 年级名称 */ private String gradeName; /** * 类别(1 博士,2 硕士) */ private String category; /** * 关联导师id */ private Integer tutorUserId; /** * 导师名称 */ private String tutorUserName; /** * 职称 - 职位表 */ private String position; /** * 职称名称 */ private String positionName; /** * 工作性质(0,非在编 1,在编) */ private String nature; /** * 卡号8位简写 */ private String cardNum; /** * 卡号des加密 */ private String cardNumSimple; /** * 微信ID */ private String wechatId; /** * 文化程度 */ private String education; /** * 民族 */ private String nationality; /** * 通信地址 */ private String addr; /** * 用户状态 */ private String workStatus; /** * 科室 */ private String department; /** * 出生年月 */ @JsonFormat(pattern = "yyyy-MM-dd") private Date dateBirth; /** * 专业ID */ private Long majorId; private Integer isCheck; /** * 多ID 查询 */ private String paramIds; /** * 电子签名 */ private String signature; /** * 人脸照片 */ private String faceImg; /** * 组合检索 (姓名,学号,导师,电话) */ private String searchValue; /** * 班级名称 */ private String className; /** * 创建时间字符串 年月日 */ private String createTimeStr; private String safeUserId; /** * 管理实验室数量 */ @Excel(name = "管理实验室数量", type = Type.EXPORT) @ApiModelProperty(value = "管理实验室数量") private Integer manageSubCount; /** * 部门集合 * */ private List deptIds; private List subjectIds; private List dateList; private boolean include = false; private List permitMenus = new ArrayList<>(); public Date getDateBirth() { return dateBirth; } public void setDateBirth(Date dateBirth) { this.dateBirth = dateBirth; } public String getCardNum() { return cardNum; } public void setCardNum(String cardNum) { this.cardNum = cardNum; } public String getWechatId() { return wechatId; } public void setWechatId(String wechatId) { this.wechatId = wechatId; } public String getEducation() { return education; } public void setEducation(String education) { this.education = education; } public String getNationality() { return nationality; } public void setNationality(String nationality) { this.nationality = nationality; } public String getAddr() { return addr; } public void setAddr(String addr) { this.addr = addr; } public String getWorkStatus() { return workStatus; } public void setWorkStatus(String workStatus) { this.workStatus = workStatus; } public SysUser() { } public SysUser(Long userId) { this.userId = userId; } public Long getUserId() { return userId; } public void setUserId(Long userId) { this.userId = userId; } public boolean isAdmin() { return isAdmin(this.userId); } public static boolean isAdmin(Long userId) { return userId != null && 1L == userId; } public Long getDeptId() { return deptId; } public void setDeptId(Long deptId) { this.deptId = deptId; } @Size(min = 0, max = 50, message = "用户昵称长度不能超过50个字符") public String getNickName() { return nickName; } public void setNickName(String nickName) { this.nickName = nickName; } @NotBlank(message = "用户账号不能为空") @Size(min = 0, max = 30, message = "用户账号长度不能超过30个字符") public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } @Email(message = "邮箱格式不正确") @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符") public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @Size(min = 0, max = 11, message = "手机号码长度不能超过11个字符") public String getPhonenumber() { return phonenumber; } public void setPhonenumber(String phonenumber) { this.phonenumber = phonenumber; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getAvatar() { return avatar; } public void setAvatar(String avatar) { this.avatar = avatar; } @JsonProperty public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getDelFlag() { return delFlag; } public void setDelFlag(String delFlag) { this.delFlag = delFlag; } public String getLoginIp() { return loginIp; } public void setLoginIp(String loginIp) { this.loginIp = loginIp; } public Date getLoginDate() { return loginDate; } public void setLoginDate(Date loginDate) { this.loginDate = loginDate; } public SysDept getDept() { return dept; } public void setDept(SysDept dept) { this.dept = dept; } @Deprecated public List getRoles() { return roles; } @Deprecated public void setRoles(List roles) { this.roles = roles; } public Long[] getRoleIds() { return roleIds; } public void setRoleIds(Long[] roleIds) { this.roleIds = roleIds; } public Long[] getPostIds() { return postIds; } public void setPostIds(Long[] postIds) { this.postIds = postIds; } public Long getRoleId() { return roleId; } public void setRoleId(Long roleId) { this.roleId = roleId; } public String getMajor() { return major; } public void setMajor(String major) { this.major = major; } public String getGrade() { return grade; } public void setGrade(String grade) { this.grade = grade; } public String getCategory() { return category; } public void setCategory(String category) { this.category = category; } public Integer getTutorUserId() { return tutorUserId; } public void setTutorUserId(Integer tutorUserId) { this.tutorUserId = tutorUserId; } public String getPosition() { return position; } public void setPosition(String position) { this.position = position; } public String getNature() { return nature; } public void setNature(String nature) { this.nature = nature; } public String getTutorUserName() { return tutorUserName; } public void setTutorUserName(String tutorUserName) { this.tutorUserName = tutorUserName; } public String getUserType() { return userType; } public void setUserType(String userType) { this.userType = userType; } public String getDepartment() { return department; } public void setDepartment(String department) { this.department = department; } public Integer getManageSubCount() { return manageSubCount; } public void setManageSubCount(Integer manageSubCount) { this.manageSubCount = manageSubCount; } public Long getMajorId() { return majorId; } public void setMajorId(Long majorId) { this.majorId = majorId; } public Integer getIsCheck() { return isCheck; } public void setIsCheck(Integer isCheck) { this.isCheck = isCheck; } public Long[] getUserIds() { return userIds; } public void setUserIds(Long[] userIds) { this.userIds = userIds; } public String getPositionName() { return positionName; } public void setPositionName(String positionName) { this.positionName = positionName; } public String getParamIds() { return paramIds; } public void setParamIds(String paramIds) { this.paramIds = paramIds; } public List getPermits() { return permits; } public void setPermits(List permits) { this.permits = permits; } public String getSignature() { return signature; } public void setSignature(String signature) { this.signature = signature; } public String getFaceImg() { return faceImg; } public void setFaceImg(String faceImg) { this.faceImg = faceImg; } public List getPermitMenus() { return permitMenus; } public void setPermitMenus(List permitMenus) { this.permitMenus = permitMenus; } @Override public String getSearchValue() { return searchValue; } @Override public void setSearchValue(String searchValue) { this.searchValue = searchValue; } public String getClassName() { return className; } public void setClassName(String className) { this.className = className; } public String getCreateTimeStr() { return createTimeStr; } public void setCreateTimeStr(String createTimeStr) { this.createTimeStr = createTimeStr; } public String getGradeName() { return gradeName; } public void setGradeName(String gradeName) { this.gradeName = gradeName; } public boolean isInclude() { return include; } public void setInclude(boolean include) { this.include = include; } public String getSafeUserId() { return safeUserId; } public void setSafeUserId(String safeUserId) { this.safeUserId = safeUserId; } public List getDeptIds() { return deptIds; } public void setDeptIds(List deptIds) { this.deptIds = deptIds; } public String getCardNumSimple() { return cardNumSimple; } public void setCardNumSimple(String cardNumSimple) { this.cardNumSimple = cardNumSimple; } public List getSubjectIds() { return subjectIds; } public void setSubjectIds(List subjectIds) { this.subjectIds = subjectIds; } public List getDateList() { return dateList; } public void setDateList(List dateList) { this.dateList = dateList; } }