SysUser.java 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738
  1. package com.zd.model.entity;
  2. import com.fasterxml.jackson.annotation.JsonFormat;
  3. import com.fasterxml.jackson.annotation.JsonProperty;
  4. import com.zd.model.annotation.Excel;
  5. import com.zd.model.annotation.Excel.ColumnType;
  6. import com.zd.model.annotation.Excel.Type;
  7. import com.zd.model.annotation.Excels;
  8. import io.swagger.annotations.ApiModelProperty;
  9. import javax.validation.constraints.Email;
  10. import javax.validation.constraints.NotBlank;
  11. import javax.validation.constraints.Size;
  12. import java.io.Serializable;
  13. import java.util.ArrayList;
  14. import java.util.Date;
  15. import java.util.List;
  16. /**
  17. * 用户对象 sys_user
  18. *
  19. * @author zd
  20. */
  21. public class SysUser extends BaseEntity implements Serializable {
  22. private static final long serialVersionUID = 1L;
  23. /**
  24. * 用户ID
  25. */
  26. @Excel(name = "用户序号", cellType = ColumnType.NUMERIC, prompt = "用户编号")
  27. private Long userId;
  28. /**
  29. * 部门ID
  30. */
  31. @Excel(name = "部门编号", type = Type.IMPORT)
  32. private Long deptId;
  33. /**
  34. * 用户账号
  35. */
  36. @Excel(name = "登录名称")
  37. private String userName;
  38. /**
  39. * 用户类型(00系统用户,11 教职工,22 学生)
  40. */
  41. @Excel(name = "登录名称", readConverterExp = "用户类型(00系统用户,11 教职工,22 学生,99 大屏,33 供应商)")
  42. private String userType;
  43. /**
  44. * 用户昵称
  45. */
  46. @Excel(name = "用户名称")
  47. private String nickName;
  48. /**
  49. * 用户邮箱
  50. */
  51. @Excel(name = "用户邮箱")
  52. private String email;
  53. /**
  54. * 手机号码
  55. */
  56. @Excel(name = "手机号码")
  57. private String phonenumber;
  58. /**
  59. * 用户性别
  60. */
  61. @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
  62. private String sex;
  63. /**
  64. * 用户头像
  65. */
  66. private String avatar;
  67. /**
  68. * 密码
  69. */
  70. private String password;
  71. /**
  72. * 帐号状态(0正常 1停用)
  73. */
  74. @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用")
  75. private String status;
  76. /**
  77. * 删除标志(0代表存在 2代表删除)
  78. */
  79. private String delFlag;
  80. /**
  81. * 最后登录IP
  82. */
  83. @Excel(name = "最后登录IP", type = Type.EXPORT)
  84. private String loginIp;
  85. /**
  86. * 最后登录时间
  87. */
  88. // @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  89. @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT)
  90. private Date loginDate;
  91. /**
  92. * 部门对象
  93. */
  94. @Excels({
  95. @Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT),
  96. @Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT)
  97. })
  98. private SysDept dept;
  99. /**
  100. * 角色对象 -- 2.6 弃用
  101. */
  102. @Deprecated
  103. private List<SysRole> roles;
  104. /**
  105. * 2.6 需求新权限数据
  106. */
  107. private List<SysPermitInfo> permits;
  108. /**
  109. * 角色组
  110. */
  111. private Long[] roleIds;
  112. /**
  113. * 岗位组
  114. */
  115. private Long[] postIds;
  116. /**
  117. * 用户组
  118. */
  119. private Long[] userIds;
  120. /**
  121. * 角色ID
  122. */
  123. private Long roleId;
  124. /**
  125. * 专业
  126. */
  127. private String major;
  128. /**
  129. * 年级id
  130. */
  131. private String grade;
  132. /**
  133. * 年级名称
  134. */
  135. private String gradeName;
  136. /**
  137. * 类别(1 博士,2 硕士)
  138. */
  139. private String category;
  140. /**
  141. * 关联导师id
  142. */
  143. private Integer tutorUserId;
  144. /**
  145. * 导师名称
  146. */
  147. private String tutorUserName;
  148. /**
  149. * 职称 - 职位表
  150. */
  151. private String position;
  152. /**
  153. * 职称名称
  154. */
  155. private String positionName;
  156. /**
  157. * 工作性质(0,非在编 1,在编)
  158. */
  159. private String nature;
  160. /**
  161. * 卡号8位简写
  162. */
  163. private String cardNum;
  164. /**
  165. * 卡号des加密
  166. */
  167. private String cardNumSimple;
  168. /**
  169. * 微信ID
  170. */
  171. private String wechatId;
  172. /**
  173. * 文化程度
  174. */
  175. private String education;
  176. /**
  177. * 民族
  178. */
  179. private String nationality;
  180. /**
  181. * 通信地址
  182. */
  183. private String addr;
  184. /**
  185. * 用户状态
  186. */
  187. private String workStatus;
  188. /**
  189. * 科室
  190. */
  191. private String department;
  192. /**
  193. * 出生年月
  194. */
  195. @JsonFormat(pattern = "yyyy-MM-dd")
  196. private Date dateBirth;
  197. /**
  198. * 专业ID
  199. */
  200. private Long majorId;
  201. private Integer isCheck;
  202. /**
  203. * 多ID 查询
  204. */
  205. private String paramIds;
  206. /**
  207. * 电子签名
  208. */
  209. private String signature;
  210. /**
  211. * 人脸照片
  212. */
  213. private String faceImg;
  214. /**
  215. * 组合检索 (姓名,学号,导师,电话)
  216. */
  217. private String searchValue;
  218. /**
  219. * 班级名称
  220. */
  221. private String className;
  222. /**
  223. * 创建时间字符串 年月日
  224. */
  225. private String createTimeStr;
  226. private String safeUserId;
  227. /**
  228. * 管理实验室数量
  229. */
  230. @Excel(name = "管理实验室数量", type = Type.EXPORT)
  231. @ApiModelProperty(value = "管理实验室数量")
  232. private Integer manageSubCount;
  233. /**
  234. * 部门集合
  235. * */
  236. private List<Long> deptIds;
  237. private List<Long> subjectIds;
  238. private boolean include = false;
  239. private List<Object> permitMenus = new ArrayList<>();
  240. public Date getDateBirth() {
  241. return dateBirth;
  242. }
  243. public void setDateBirth(Date dateBirth) {
  244. this.dateBirth = dateBirth;
  245. }
  246. public String getCardNum() {
  247. return cardNum;
  248. }
  249. public void setCardNum(String cardNum) {
  250. this.cardNum = cardNum;
  251. }
  252. public String getWechatId() {
  253. return wechatId;
  254. }
  255. public void setWechatId(String wechatId) {
  256. this.wechatId = wechatId;
  257. }
  258. public String getEducation() {
  259. return education;
  260. }
  261. public void setEducation(String education) {
  262. this.education = education;
  263. }
  264. public String getNationality() {
  265. return nationality;
  266. }
  267. public void setNationality(String nationality) {
  268. this.nationality = nationality;
  269. }
  270. public String getAddr() {
  271. return addr;
  272. }
  273. public void setAddr(String addr) {
  274. this.addr = addr;
  275. }
  276. public String getWorkStatus() {
  277. return workStatus;
  278. }
  279. public void setWorkStatus(String workStatus) {
  280. this.workStatus = workStatus;
  281. }
  282. public SysUser() {
  283. }
  284. public SysUser(Long userId) {
  285. this.userId = userId;
  286. }
  287. public Long getUserId() {
  288. return userId;
  289. }
  290. public void setUserId(Long userId) {
  291. this.userId = userId;
  292. }
  293. public boolean isAdmin() {
  294. return isAdmin(this.userId);
  295. }
  296. public static boolean isAdmin(Long userId) {
  297. return userId != null && 1L == userId;
  298. }
  299. public Long getDeptId() {
  300. return deptId;
  301. }
  302. public void setDeptId(Long deptId) {
  303. this.deptId = deptId;
  304. }
  305. @Size(min = 0, max = 50, message = "用户昵称长度不能超过50个字符")
  306. public String getNickName() {
  307. return nickName;
  308. }
  309. public void setNickName(String nickName) {
  310. this.nickName = nickName;
  311. }
  312. @NotBlank(message = "用户账号不能为空")
  313. @Size(min = 0, max = 30, message = "用户账号长度不能超过30个字符")
  314. public String getUserName() {
  315. return userName;
  316. }
  317. public void setUserName(String userName) {
  318. this.userName = userName;
  319. }
  320. @Email(message = "邮箱格式不正确")
  321. @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
  322. public String getEmail() {
  323. return email;
  324. }
  325. public void setEmail(String email) {
  326. this.email = email;
  327. }
  328. @Size(min = 0, max = 11, message = "手机号码长度不能超过11个字符")
  329. public String getPhonenumber() {
  330. return phonenumber;
  331. }
  332. public void setPhonenumber(String phonenumber) {
  333. this.phonenumber = phonenumber;
  334. }
  335. public String getSex() {
  336. return sex;
  337. }
  338. public void setSex(String sex) {
  339. this.sex = sex;
  340. }
  341. public String getAvatar() {
  342. return avatar;
  343. }
  344. public void setAvatar(String avatar) {
  345. this.avatar = avatar;
  346. }
  347. @JsonProperty
  348. public String getPassword() {
  349. return password;
  350. }
  351. public void setPassword(String password) {
  352. this.password = password;
  353. }
  354. public String getStatus() {
  355. return status;
  356. }
  357. public void setStatus(String status) {
  358. this.status = status;
  359. }
  360. public String getDelFlag() {
  361. return delFlag;
  362. }
  363. public void setDelFlag(String delFlag) {
  364. this.delFlag = delFlag;
  365. }
  366. public String getLoginIp() {
  367. return loginIp;
  368. }
  369. public void setLoginIp(String loginIp) {
  370. this.loginIp = loginIp;
  371. }
  372. public Date getLoginDate() {
  373. return loginDate;
  374. }
  375. public void setLoginDate(Date loginDate) {
  376. this.loginDate = loginDate;
  377. }
  378. public SysDept getDept() {
  379. return dept;
  380. }
  381. public void setDept(SysDept dept) {
  382. this.dept = dept;
  383. }
  384. @Deprecated
  385. public List<SysRole> getRoles() {
  386. return roles;
  387. }
  388. @Deprecated
  389. public void setRoles(List<SysRole> roles) {
  390. this.roles = roles;
  391. }
  392. public Long[] getRoleIds() {
  393. return roleIds;
  394. }
  395. public void setRoleIds(Long[] roleIds) {
  396. this.roleIds = roleIds;
  397. }
  398. public Long[] getPostIds() {
  399. return postIds;
  400. }
  401. public void setPostIds(Long[] postIds) {
  402. this.postIds = postIds;
  403. }
  404. public Long getRoleId() {
  405. return roleId;
  406. }
  407. public void setRoleId(Long roleId) {
  408. this.roleId = roleId;
  409. }
  410. public String getMajor() {
  411. return major;
  412. }
  413. public void setMajor(String major) {
  414. this.major = major;
  415. }
  416. public String getGrade() {
  417. return grade;
  418. }
  419. public void setGrade(String grade) {
  420. this.grade = grade;
  421. }
  422. public String getCategory() {
  423. return category;
  424. }
  425. public void setCategory(String category) {
  426. this.category = category;
  427. }
  428. public Integer getTutorUserId() {
  429. return tutorUserId;
  430. }
  431. public void setTutorUserId(Integer tutorUserId) {
  432. this.tutorUserId = tutorUserId;
  433. }
  434. public String getPosition() {
  435. return position;
  436. }
  437. public void setPosition(String position) {
  438. this.position = position;
  439. }
  440. public String getNature() {
  441. return nature;
  442. }
  443. public void setNature(String nature) {
  444. this.nature = nature;
  445. }
  446. public String getTutorUserName() {
  447. return tutorUserName;
  448. }
  449. public void setTutorUserName(String tutorUserName) {
  450. this.tutorUserName = tutorUserName;
  451. }
  452. public String getUserType() {
  453. return userType;
  454. }
  455. public void setUserType(String userType) {
  456. this.userType = userType;
  457. }
  458. public String getDepartment() {
  459. return department;
  460. }
  461. public void setDepartment(String department) {
  462. this.department = department;
  463. }
  464. public Integer getManageSubCount() {
  465. return manageSubCount;
  466. }
  467. public void setManageSubCount(Integer manageSubCount) {
  468. this.manageSubCount = manageSubCount;
  469. }
  470. public Long getMajorId() {
  471. return majorId;
  472. }
  473. public void setMajorId(Long majorId) {
  474. this.majorId = majorId;
  475. }
  476. public Integer getIsCheck() { return isCheck; }
  477. public void setIsCheck(Integer isCheck) { this.isCheck = isCheck; }
  478. public Long[] getUserIds() {
  479. return userIds;
  480. }
  481. public void setUserIds(Long[] userIds) {
  482. this.userIds = userIds;
  483. }
  484. public String getPositionName() {
  485. return positionName;
  486. }
  487. public void setPositionName(String positionName) {
  488. this.positionName = positionName;
  489. }
  490. public String getParamIds() {
  491. return paramIds;
  492. }
  493. public void setParamIds(String paramIds) {
  494. this.paramIds = paramIds;
  495. }
  496. public List<SysPermitInfo> getPermits() {
  497. return permits;
  498. }
  499. public void setPermits(List<SysPermitInfo> permits) {
  500. this.permits = permits;
  501. }
  502. public String getSignature() {
  503. return signature;
  504. }
  505. public void setSignature(String signature) {
  506. this.signature = signature;
  507. }
  508. public String getFaceImg() {
  509. return faceImg;
  510. }
  511. public void setFaceImg(String faceImg) {
  512. this.faceImg = faceImg;
  513. }
  514. public List <Object> getPermitMenus() {
  515. return permitMenus;
  516. }
  517. public void setPermitMenus(List <Object> permitMenus) {
  518. this.permitMenus = permitMenus;
  519. }
  520. @Override
  521. public String getSearchValue() {
  522. return searchValue;
  523. }
  524. @Override
  525. public void setSearchValue(String searchValue) {
  526. this.searchValue = searchValue;
  527. }
  528. public String getClassName() {
  529. return className;
  530. }
  531. public void setClassName(String className) {
  532. this.className = className;
  533. }
  534. public String getCreateTimeStr() {
  535. return createTimeStr;
  536. }
  537. public void setCreateTimeStr(String createTimeStr) {
  538. this.createTimeStr = createTimeStr;
  539. }
  540. public String getGradeName() {
  541. return gradeName;
  542. }
  543. public void setGradeName(String gradeName) {
  544. this.gradeName = gradeName;
  545. }
  546. public boolean isInclude() {
  547. return include;
  548. }
  549. public void setInclude(boolean include) {
  550. this.include = include;
  551. }
  552. public String getSafeUserId() {
  553. return safeUserId;
  554. }
  555. public void setSafeUserId(String safeUserId) {
  556. this.safeUserId = safeUserId;
  557. }
  558. public List<Long> getDeptIds() {
  559. return deptIds;
  560. }
  561. public void setDeptIds(List<Long> deptIds) {
  562. this.deptIds = deptIds;
  563. }
  564. public String getCardNumSimple() {
  565. return cardNumSimple;
  566. }
  567. public void setCardNumSimple(String cardNumSimple) {
  568. this.cardNumSimple = cardNumSimple;
  569. }
  570. public List<Long> getSubjectIds() {
  571. return subjectIds;
  572. }
  573. public void setSubjectIds(List<Long> subjectIds) {
  574. this.subjectIds = subjectIds;
  575. }
  576. }