SysUser.java 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397
  1. package com.ruoyi.project.system.domain;
  2. import java.util.Date;
  3. import java.util.List;
  4. import javax.validation.constraints.Email;
  5. import javax.validation.constraints.NotBlank;
  6. import javax.validation.constraints.Size;
  7. import org.apache.commons.lang3.builder.ToStringBuilder;
  8. import org.apache.commons.lang3.builder.ToStringStyle;
  9. import com.fasterxml.jackson.annotation.JsonIgnore;
  10. import com.fasterxml.jackson.annotation.JsonProperty;
  11. import com.ruoyi.common.utils.StringUtils;
  12. import com.ruoyi.framework.aspectj.lang.annotation.Excel;
  13. import com.ruoyi.framework.aspectj.lang.annotation.Excel.ColumnType;
  14. import com.ruoyi.framework.aspectj.lang.annotation.Excel.Type;
  15. import com.ruoyi.framework.aspectj.lang.annotation.Excels;
  16. import com.ruoyi.framework.web.domain.BaseEntity;
  17. /**
  18. * 用户对象 sys_user
  19. *
  20. * @author ruoyi
  21. */
  22. public class SysUser extends BaseEntity
  23. {
  24. private static final long serialVersionUID = 1L;
  25. /** 用户ID */
  26. @Excel(name = "用户序号", cellType = ColumnType.NUMERIC, prompt = "用户编号")
  27. private Long userId;
  28. /** 部门ID */
  29. @Excel(name = "部门编号", type = Type.IMPORT)
  30. private Long deptId;
  31. /** 用户账号 */
  32. @Excel(name = "登录名称")
  33. private String userName;
  34. /** 用户昵称 */
  35. @Excel(name = "用户名称")
  36. private String nickName;
  37. /** 用户邮箱 */
  38. @Excel(name = "用户邮箱")
  39. private String email;
  40. /** 手机号码 */
  41. @Excel(name = "手机号码")
  42. private String phonenumber;
  43. /** 用户性别 */
  44. @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
  45. private String sex;
  46. /** 用户头像 */
  47. private String avatar;
  48. /** 密码 */
  49. private String password;
  50. /** 盐加密 */
  51. private String salt;
  52. /** 帐号状态(0正常 1停用) */
  53. @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用")
  54. private String status;
  55. /** 删除标志(0代表存在 2代表删除) */
  56. private String delFlag;
  57. /** 最后登录IP */
  58. @Excel(name = "最后登录IP", type = Type.EXPORT)
  59. private String loginIp;
  60. /** 最后登录时间 */
  61. @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT)
  62. private Date loginDate;
  63. private String homeType;
  64. /** 部门对象 */
  65. @Excels({
  66. @Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT),
  67. @Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT)
  68. })
  69. private SysDept dept;
  70. /** 角色对象 */
  71. private List<SysRole> roles;
  72. /** 角色组 */
  73. private Long[] roleIds;
  74. /** 岗位组 */
  75. private Long[] postIds;
  76. /** 部门组(数据权限) */
  77. private Long[] deptIds;
  78. /** 部门树选择项是否关联显示(0:父子不互相关联显示 1:父子互相关联显示 ) */
  79. private boolean deptCheckStrictly;
  80. /** 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限) */
  81. private String dataScope;
  82. @Excel(name = "员工编号")
  83. private String staffId;
  84. private String signUrl;
  85. public String getStaffId() {
  86. return staffId;
  87. }
  88. public void setStaffId(String staffId) {
  89. this.staffId = staffId;
  90. }
  91. public SysUser()
  92. {
  93. }
  94. public SysUser(Long userId)
  95. {
  96. this.userId = userId;
  97. }
  98. public Long getUserId()
  99. {
  100. return userId;
  101. }
  102. public void setUserId(Long userId)
  103. {
  104. this.userId = userId;
  105. }
  106. public boolean isAdmin()
  107. {
  108. return isAdmin(this.userId);
  109. }
  110. public static boolean isAdmin(Long userId)
  111. {
  112. return userId != null && 1L == userId;
  113. }
  114. public Long getDeptId()
  115. {
  116. return deptId;
  117. }
  118. public void setDeptId(Long deptId)
  119. {
  120. this.deptId = deptId;
  121. }
  122. @Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符")
  123. public String getNickName()
  124. {
  125. return nickName;
  126. }
  127. public void setNickName(String nickName)
  128. {
  129. this.nickName = nickName;
  130. }
  131. public String getHomeType() {
  132. return homeType;
  133. }
  134. public void setHomeType(String homeType) {
  135. this.homeType = homeType;
  136. }
  137. @NotBlank(message = "用户账号不能为空")
  138. @Size(min = 0, max = 30, message = "用户账号长度不能超过30个字符")
  139. public String getUserName()
  140. {
  141. return userName;
  142. }
  143. public void setUserName(String userName)
  144. {
  145. this.userName = userName;
  146. }
  147. @Email(message = "邮箱格式不正确")
  148. @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
  149. public String getEmail()
  150. {
  151. return email;
  152. }
  153. public void setEmail(String email)
  154. {
  155. this.email = email;
  156. }
  157. @Size(min = 0, max = 11, message = "手机号码长度不能超过11个字符")
  158. public String getPhonenumber()
  159. {
  160. return phonenumber;
  161. }
  162. public void setPhonenumber(String phonenumber)
  163. {
  164. this.phonenumber = phonenumber;
  165. }
  166. public String getSex()
  167. {
  168. return sex;
  169. }
  170. public void setSex(String sex)
  171. {
  172. this.sex = sex;
  173. }
  174. public String getDataScope() {
  175. return dataScope;
  176. }
  177. public void setDataScope(String dataScope) {
  178. this.dataScope = dataScope;
  179. }
  180. public Long[] getDeptIds() {
  181. return deptIds;
  182. }
  183. public void setDeptIds(Long[] deptIds) {
  184. this.deptIds = deptIds;
  185. }
  186. public String getAvatar()
  187. {
  188. if (StringUtils.isEmpty(avatar))
  189. {
  190. return StringUtils.EMPTY;
  191. }
  192. return avatar;
  193. }
  194. public void setAvatar(String avatar)
  195. {
  196. this.avatar = avatar;
  197. }
  198. @JsonIgnore
  199. @JsonProperty
  200. public String getPassword()
  201. {
  202. return password;
  203. }
  204. public void setPassword(String password)
  205. {
  206. this.password = password;
  207. }
  208. public String getSalt()
  209. {
  210. return salt;
  211. }
  212. public void setSalt(String salt)
  213. {
  214. this.salt = salt;
  215. }
  216. public String getStatus()
  217. {
  218. return status;
  219. }
  220. public void setStatus(String status)
  221. {
  222. this.status = status;
  223. }
  224. public String getDelFlag()
  225. {
  226. return delFlag;
  227. }
  228. public void setDelFlag(String delFlag)
  229. {
  230. this.delFlag = delFlag;
  231. }
  232. public String getLoginIp()
  233. {
  234. return loginIp;
  235. }
  236. public void setLoginIp(String loginIp)
  237. {
  238. this.loginIp = loginIp;
  239. }
  240. public Date getLoginDate()
  241. {
  242. return loginDate;
  243. }
  244. public void setLoginDate(Date loginDate)
  245. {
  246. this.loginDate = loginDate;
  247. }
  248. public SysDept getDept()
  249. {
  250. return dept;
  251. }
  252. public void setDept(SysDept dept)
  253. {
  254. this.dept = dept;
  255. }
  256. public List<SysRole> getRoles()
  257. {
  258. return roles;
  259. }
  260. public void setRoles(List<SysRole> roles)
  261. {
  262. this.roles = roles;
  263. }
  264. public Long[] getRoleIds()
  265. {
  266. return roleIds;
  267. }
  268. public void setRoleIds(Long[] roleIds)
  269. {
  270. this.roleIds = roleIds;
  271. }
  272. public Long[] getPostIds()
  273. {
  274. return postIds;
  275. }
  276. public void setPostIds(Long[] postIds)
  277. {
  278. this.postIds = postIds;
  279. }
  280. public boolean isDeptCheckStrictly()
  281. {
  282. return deptCheckStrictly;
  283. }
  284. public void setDeptCheckStrictly(boolean deptCheckStrictly)
  285. {
  286. this.deptCheckStrictly = deptCheckStrictly;
  287. }
  288. public String getSignUrl() {
  289. return signUrl;
  290. }
  291. public void setSignUrl(String signUrl) {
  292. this.signUrl = signUrl;
  293. }
  294. @Override
  295. public String toString() {
  296. return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
  297. .append("userId", getUserId())
  298. .append("deptId", getDeptId())
  299. .append("userName", getUserName())
  300. .append("nickName", getNickName())
  301. .append("email", getEmail())
  302. .append("phonenumber", getPhonenumber())
  303. .append("sex", getSex())
  304. .append("avatar", getAvatar())
  305. .append("password", getPassword())
  306. .append("salt", getSalt())
  307. .append("status", getStatus())
  308. .append("delFlag", getDelFlag())
  309. .append("loginIp", getLoginIp())
  310. .append("loginDate", getLoginDate())
  311. .append("createBy", getCreateBy())
  312. .append("createTime", getCreateTime())
  313. .append("updateBy", getUpdateBy())
  314. .append("updateTime", getUpdateTime())
  315. .append("remark", getRemark())
  316. .append("dept", getDept())
  317. .toString();
  318. }
  319. }