package com.newfiber.system.domain; import com.newfiber.common.core.annotation.Excel; import com.newfiber.common.core.annotation.Excel.ColumnType; import com.newfiber.common.core.annotation.Excel.Type; import com.newfiber.common.core.annotation.Excels; import com.newfiber.common.core.web.domain.BaseEntity; import com.newfiber.common.core.xss.Xss; import com.newfiber.system.api.domain.SysDept; import com.newfiber.system.api.domain.SysRole; import java.util.Date; import java.util.List; import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; /** * 用户对象 sys_users * * @author newfiber */ public class RemoteSysUser extends BaseEntity{ 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; /** 用户昵称 */ @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; /** 最后登录时间 */ @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; /** 角色对象 */ private List<SysRole> roles; /** 角色组 */ private Long[] roleIds; /** 岗位组 */ private Long[] postIds; /** 角色ID */ private Long roleId; private String login; private String mobile; private String realName; private List<String> platformCodes; public RemoteSysUser(){ } public RemoteSysUser(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; } @Xss(message = "用户昵称不能包含脚本字符") @Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符") public String getNickName(){ return nickName; } public void setNickName(String nickName){ this.nickName = nickName; } @Xss(message = "用户账号不能包含脚本字符") @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; } 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<SysRole> getRoles(){ return roles; } public void setRoles(List<SysRole> 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 List<String> getPlatformCodes() { return platformCodes; } public void setPlatformCodes(List<String> platformCodes) { this.platformCodes = platformCodes; } public String getLogin() { return login; } public void setLogin(String login) { this.login = login; } public String getMobile() { return mobile; } public void setMobile(String mobile) { this.mobile = mobile; } public String getRealName() { return realName; } public void setRealName(String realName) { this.realName = realName; } @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(); } }