SysUser.java 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387
  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. public String getStaffId() {
  85. return staffId;
  86. }
  87. public void setStaffId(String staffId) {
  88. this.staffId = staffId;
  89. }
  90. public SysUser()
  91. {
  92. }
  93. public SysUser(Long userId)
  94. {
  95. this.userId = userId;
  96. }
  97. public Long getUserId()
  98. {
  99. return userId;
  100. }
  101. public void setUserId(Long userId)
  102. {
  103. this.userId = userId;
  104. }
  105. public boolean isAdmin()
  106. {
  107. return isAdmin(this.userId);
  108. }
  109. public static boolean isAdmin(Long userId)
  110. {
  111. return userId != null && 1L == userId;
  112. }
  113. public Long getDeptId()
  114. {
  115. return deptId;
  116. }
  117. public void setDeptId(Long deptId)
  118. {
  119. this.deptId = deptId;
  120. }
  121. @Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符")
  122. public String getNickName()
  123. {
  124. return nickName;
  125. }
  126. public void setNickName(String nickName)
  127. {
  128. this.nickName = nickName;
  129. }
  130. public String getHomeType() {
  131. return homeType;
  132. }
  133. public void setHomeType(String homeType) {
  134. this.homeType = homeType;
  135. }
  136. @NotBlank(message = "用户账号不能为空")
  137. @Size(min = 0, max = 30, message = "用户账号长度不能超过30个字符")
  138. public String getUserName()
  139. {
  140. return userName;
  141. }
  142. public void setUserName(String userName)
  143. {
  144. this.userName = userName;
  145. }
  146. @Email(message = "邮箱格式不正确")
  147. @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
  148. public String getEmail()
  149. {
  150. return email;
  151. }
  152. public void setEmail(String email)
  153. {
  154. this.email = email;
  155. }
  156. @Size(min = 0, max = 11, message = "手机号码长度不能超过11个字符")
  157. public String getPhonenumber()
  158. {
  159. return phonenumber;
  160. }
  161. public void setPhonenumber(String phonenumber)
  162. {
  163. this.phonenumber = phonenumber;
  164. }
  165. public String getSex()
  166. {
  167. return sex;
  168. }
  169. public void setSex(String sex)
  170. {
  171. this.sex = sex;
  172. }
  173. public String getDataScope() {
  174. return dataScope;
  175. }
  176. public void setDataScope(String dataScope) {
  177. this.dataScope = dataScope;
  178. }
  179. public Long[] getDeptIds() {
  180. return deptIds;
  181. }
  182. public void setDeptIds(Long[] deptIds) {
  183. this.deptIds = deptIds;
  184. }
  185. public String getAvatar()
  186. {
  187. if (StringUtils.isEmpty(avatar))
  188. {
  189. return StringUtils.EMPTY;
  190. }
  191. return avatar;
  192. }
  193. public void setAvatar(String avatar)
  194. {
  195. this.avatar = avatar;
  196. }
  197. @JsonIgnore
  198. @JsonProperty
  199. public String getPassword()
  200. {
  201. return password;
  202. }
  203. public void setPassword(String password)
  204. {
  205. this.password = password;
  206. }
  207. public String getSalt()
  208. {
  209. return salt;
  210. }
  211. public void setSalt(String salt)
  212. {
  213. this.salt = salt;
  214. }
  215. public String getStatus()
  216. {
  217. return status;
  218. }
  219. public void setStatus(String status)
  220. {
  221. this.status = status;
  222. }
  223. public String getDelFlag()
  224. {
  225. return delFlag;
  226. }
  227. public void setDelFlag(String delFlag)
  228. {
  229. this.delFlag = delFlag;
  230. }
  231. public String getLoginIp()
  232. {
  233. return loginIp;
  234. }
  235. public void setLoginIp(String loginIp)
  236. {
  237. this.loginIp = loginIp;
  238. }
  239. public Date getLoginDate()
  240. {
  241. return loginDate;
  242. }
  243. public void setLoginDate(Date loginDate)
  244. {
  245. this.loginDate = loginDate;
  246. }
  247. public SysDept getDept()
  248. {
  249. return dept;
  250. }
  251. public void setDept(SysDept dept)
  252. {
  253. this.dept = dept;
  254. }
  255. public List<SysRole> getRoles()
  256. {
  257. return roles;
  258. }
  259. public void setRoles(List<SysRole> roles)
  260. {
  261. this.roles = roles;
  262. }
  263. public Long[] getRoleIds()
  264. {
  265. return roleIds;
  266. }
  267. public void setRoleIds(Long[] roleIds)
  268. {
  269. this.roleIds = roleIds;
  270. }
  271. public Long[] getPostIds()
  272. {
  273. return postIds;
  274. }
  275. public void setPostIds(Long[] postIds)
  276. {
  277. this.postIds = postIds;
  278. }
  279. public boolean isDeptCheckStrictly()
  280. {
  281. return deptCheckStrictly;
  282. }
  283. public void setDeptCheckStrictly(boolean deptCheckStrictly)
  284. {
  285. this.deptCheckStrictly = deptCheckStrictly;
  286. }
  287. @Override
  288. public String toString() {
  289. return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
  290. .append("userId", getUserId())
  291. .append("deptId", getDeptId())
  292. .append("userName", getUserName())
  293. .append("nickName", getNickName())
  294. .append("email", getEmail())
  295. .append("phonenumber", getPhonenumber())
  296. .append("sex", getSex())
  297. .append("avatar", getAvatar())
  298. .append("password", getPassword())
  299. .append("salt", getSalt())
  300. .append("status", getStatus())
  301. .append("delFlag", getDelFlag())
  302. .append("loginIp", getLoginIp())
  303. .append("loginDate", getLoginDate())
  304. .append("createBy", getCreateBy())
  305. .append("createTime", getCreateTime())
  306. .append("updateBy", getUpdateBy())
  307. .append("updateTime", getUpdateTime())
  308. .append("remark", getRemark())
  309. .append("dept", getDept())
  310. .toString();
  311. }
  312. }