package com.finance.common.core.domain.entity; 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.finance.common.core.domain.BaseEntity; import com.finance.common.enums.AreaLevelEnum; import com.finance.common.enums.DisabledEnum; import com.finance.common.enums.UserTypeEnum; import com.finance.common.xss.Xss; import io.swagger.annotations.ApiModelProperty; import java.util.Date; import java.util.List; import javax.validation.constraints.Email; import javax.validation.constraints.Size; import lombok.Data; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; /** * 用户对象 sys_user * * @author ruoyi */ @Data @TableName("sys_user") public class SysUser extends BaseEntity { private static final long serialVersionUID = 1L; /** * 用户ID */ //@Excel(name = "用户序号", cellType = ColumnType.NUMERIC, prompt = "用户编号") @ApiModelProperty(value = "用户id") @TableId(value = "user_id", type = IdType.AUTO) @TableField("user_id") private Long userId; /** * 部门ID */ //@Excel(name = "部门编号", type = Type.IMPORT) @ApiModelProperty(value = "部门id") @TableField("dept_id") private Long deptId; @ApiModelProperty(value = "用户类型") @TableField("user_type") private UserTypeEnum userType; /** * 用户账号 */ //@Excel(name = "登录名称") @ApiModelProperty(value = "登录名称") @TableField("user_name") private String userName; /** * 用户昵称 */ //@Excel(name = "用户名称") @ApiModelProperty(value = "用户名称") @TableField("nick_name") private String nickName; /** * 用户邮箱 */ //@Excel(name = "用户邮箱") @ApiModelProperty(value = "用户邮箱") @TableField("email") private String email; /** * 手机号码 */ //@Excel(name = "手机号码") @ApiModelProperty(value = "手机号码") @TableField("phone_number") private String phoneNumber; /** * 用户性别 */ //@Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知") @ApiModelProperty(value = "用户性别 0=男,1=女,2=未知") @TableField("sex") private String sex; /** * 用户头像 */ @ApiModelProperty(value = "用户头像") @TableField("avatar") private String avatar; /** * 密码 */ @ApiModelProperty(value = "密码") @TableField("password") private String password; /** * 帐号状态(0正常 1停用) */ //@Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用") @ApiModelProperty(value = "帐号状态 0=正常,1=停用") @TableField("status") private String status; /** * 删除标志(0代表存在 2代表删除) */ @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)") @TableField("del_flag") private String delFlag; /** * 最后登录IP */ //@Excel(name = "最后登录IP", type = Type.EXPORT) @ApiModelProperty(value = "最后登录IP") @TableField("login_ip") private String loginIp; /** * 最后登录时间 */ //@Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "最后登录时间") @TableField("login_date") private Date loginDate; /** * 部门对象 */ //@Excels({ //@Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT), //@Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT) // }) @TableField(exist = false) @ApiModelProperty(value = "部门对象") private SysDept dept; /** * 角色对象 */ @TableField(exist = false) @ApiModelProperty(value = "角色对象") private List roles; /** * 角色组 */ @TableField(exist = false) @ApiModelProperty(value = "角色组") private Long[] roleIds; /** * 岗位组 */ @TableField(exist = false) @ApiModelProperty(value = "岗位组") private Long[] postIds; /** * 角色ID */ @TableField(exist = false) @ApiModelProperty(value = "角色ID") private Long roleId; @TableField(exist = false) private String roleName; @TableField(exist = false) private String deptName; @ApiModelProperty(value = "部门地区") @TableField("area_name") private String areaName; @ApiModelProperty(value = "别名") @TableField("area_alias") private String areaAlias; @ApiModelProperty(value = "区划代码") @TableField("area_code") private String areaCode; // 1:省 2:市 3:开发区 4:县 @ApiModelProperty(value = "级次(省、市、开发区、县)") @TableField("area_level") private AreaLevelEnum areaLevel; @ApiModelProperty(value = "县级标志(不包含直辖市的区 0:否 1:是)") @TableField("county_flag") private DisabledEnum countyFlag; @ApiModelProperty(value = "负责人") @TableField("person_in_charge") private String personInCharge; @ApiModelProperty(value = "是否重点关注(0:否 1:是)") @TableField("focussed") private DisabledEnum focussed; public String getRoleName() { return roleName; } public void setRoleName(String roleName) { this.roleName = roleName; } public SysUser() { } public SysUser(Long userId) { this.userId = userId; } public static boolean isAdmin(Long userId) { return userId != null && 1L == userId; } public Long getUserId() { return userId; } public void setUserId(Long userId) { this.userId = userId; } public boolean isAdmin() { return isAdmin(this.userId); } public Long getDeptId() { return deptId; } public void setDeptId(Long deptId) { this.deptId = deptId; } @Xss(message = "用户昵称不能包含脚本字符") @Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符") public String getNickName() { return nickName; } public void setNickName(String nickName) { this.nickName = nickName; } @Xss(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; } 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; } public List getRoles() { return roles; } 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; } @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) .append("userId", getUserId()) .append("deptId", getDeptId()) .append("userName", getUserName()) .append("nickName", getNickName()) .append("email", getEmail()) .append("phoneNumber", getPhoneNumber()) .append("sex", getSex()) .append("avatar", getAvatar()) .append("password", getPassword()) .append("status", getStatus()) .append("delFlag", getDelFlag()) .append("loginIp", getLoginIp()) .append("loginDate", getLoginDate()) .append("createBy", getCreateBy()) .append("createTime", getCreateTime()) .append("updateBy", getUpdateBy()) .append("updateTime", getUpdateTime()) .append("remark", getRemark()) .append("dept", getDept()) .toString(); } }