SysUser.java 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748
  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 List<String> dateList;
  239. private boolean include = false;
  240. private List<Object> permitMenus = new ArrayList<>();
  241. public Date getDateBirth() {
  242. return dateBirth;
  243. }
  244. public void setDateBirth(Date dateBirth) {
  245. this.dateBirth = dateBirth;
  246. }
  247. public String getCardNum() {
  248. return cardNum;
  249. }
  250. public void setCardNum(String cardNum) {
  251. this.cardNum = cardNum;
  252. }
  253. public String getWechatId() {
  254. return wechatId;
  255. }
  256. public void setWechatId(String wechatId) {
  257. this.wechatId = wechatId;
  258. }
  259. public String getEducation() {
  260. return education;
  261. }
  262. public void setEducation(String education) {
  263. this.education = education;
  264. }
  265. public String getNationality() {
  266. return nationality;
  267. }
  268. public void setNationality(String nationality) {
  269. this.nationality = nationality;
  270. }
  271. public String getAddr() {
  272. return addr;
  273. }
  274. public void setAddr(String addr) {
  275. this.addr = addr;
  276. }
  277. public String getWorkStatus() {
  278. return workStatus;
  279. }
  280. public void setWorkStatus(String workStatus) {
  281. this.workStatus = workStatus;
  282. }
  283. public SysUser() {
  284. }
  285. public SysUser(Long userId) {
  286. this.userId = userId;
  287. }
  288. public Long getUserId() {
  289. return userId;
  290. }
  291. public void setUserId(Long userId) {
  292. this.userId = userId;
  293. }
  294. public boolean isAdmin() {
  295. return isAdmin(this.userId);
  296. }
  297. public static boolean isAdmin(Long userId) {
  298. return userId != null && 1L == userId;
  299. }
  300. public Long getDeptId() {
  301. return deptId;
  302. }
  303. public void setDeptId(Long deptId) {
  304. this.deptId = deptId;
  305. }
  306. @Size(min = 0, max = 50, message = "用户昵称长度不能超过50个字符")
  307. public String getNickName() {
  308. return nickName;
  309. }
  310. public void setNickName(String nickName) {
  311. this.nickName = nickName;
  312. }
  313. @NotBlank(message = "用户账号不能为空")
  314. @Size(min = 0, max = 30, message = "用户账号长度不能超过30个字符")
  315. public String getUserName() {
  316. return userName;
  317. }
  318. public void setUserName(String userName) {
  319. this.userName = userName;
  320. }
  321. @Email(message = "邮箱格式不正确")
  322. @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
  323. public String getEmail() {
  324. return email;
  325. }
  326. public void setEmail(String email) {
  327. this.email = email;
  328. }
  329. @Size(min = 0, max = 11, message = "手机号码长度不能超过11个字符")
  330. public String getPhonenumber() {
  331. return phonenumber;
  332. }
  333. public void setPhonenumber(String phonenumber) {
  334. this.phonenumber = phonenumber;
  335. }
  336. public String getSex() {
  337. return sex;
  338. }
  339. public void setSex(String sex) {
  340. this.sex = sex;
  341. }
  342. public String getAvatar() {
  343. return avatar;
  344. }
  345. public void setAvatar(String avatar) {
  346. this.avatar = avatar;
  347. }
  348. @JsonProperty
  349. public String getPassword() {
  350. return password;
  351. }
  352. public void setPassword(String password) {
  353. this.password = password;
  354. }
  355. public String getStatus() {
  356. return status;
  357. }
  358. public void setStatus(String status) {
  359. this.status = status;
  360. }
  361. public String getDelFlag() {
  362. return delFlag;
  363. }
  364. public void setDelFlag(String delFlag) {
  365. this.delFlag = delFlag;
  366. }
  367. public String getLoginIp() {
  368. return loginIp;
  369. }
  370. public void setLoginIp(String loginIp) {
  371. this.loginIp = loginIp;
  372. }
  373. public Date getLoginDate() {
  374. return loginDate;
  375. }
  376. public void setLoginDate(Date loginDate) {
  377. this.loginDate = loginDate;
  378. }
  379. public SysDept getDept() {
  380. return dept;
  381. }
  382. public void setDept(SysDept dept) {
  383. this.dept = dept;
  384. }
  385. @Deprecated
  386. public List<SysRole> getRoles() {
  387. return roles;
  388. }
  389. @Deprecated
  390. public void setRoles(List<SysRole> roles) {
  391. this.roles = roles;
  392. }
  393. public Long[] getRoleIds() {
  394. return roleIds;
  395. }
  396. public void setRoleIds(Long[] roleIds) {
  397. this.roleIds = roleIds;
  398. }
  399. public Long[] getPostIds() {
  400. return postIds;
  401. }
  402. public void setPostIds(Long[] postIds) {
  403. this.postIds = postIds;
  404. }
  405. public Long getRoleId() {
  406. return roleId;
  407. }
  408. public void setRoleId(Long roleId) {
  409. this.roleId = roleId;
  410. }
  411. public String getMajor() {
  412. return major;
  413. }
  414. public void setMajor(String major) {
  415. this.major = major;
  416. }
  417. public String getGrade() {
  418. return grade;
  419. }
  420. public void setGrade(String grade) {
  421. this.grade = grade;
  422. }
  423. public String getCategory() {
  424. return category;
  425. }
  426. public void setCategory(String category) {
  427. this.category = category;
  428. }
  429. public Integer getTutorUserId() {
  430. return tutorUserId;
  431. }
  432. public void setTutorUserId(Integer tutorUserId) {
  433. this.tutorUserId = tutorUserId;
  434. }
  435. public String getPosition() {
  436. return position;
  437. }
  438. public void setPosition(String position) {
  439. this.position = position;
  440. }
  441. public String getNature() {
  442. return nature;
  443. }
  444. public void setNature(String nature) {
  445. this.nature = nature;
  446. }
  447. public String getTutorUserName() {
  448. return tutorUserName;
  449. }
  450. public void setTutorUserName(String tutorUserName) {
  451. this.tutorUserName = tutorUserName;
  452. }
  453. public String getUserType() {
  454. return userType;
  455. }
  456. public void setUserType(String userType) {
  457. this.userType = userType;
  458. }
  459. public String getDepartment() {
  460. return department;
  461. }
  462. public void setDepartment(String department) {
  463. this.department = department;
  464. }
  465. public Integer getManageSubCount() {
  466. return manageSubCount;
  467. }
  468. public void setManageSubCount(Integer manageSubCount) {
  469. this.manageSubCount = manageSubCount;
  470. }
  471. public Long getMajorId() {
  472. return majorId;
  473. }
  474. public void setMajorId(Long majorId) {
  475. this.majorId = majorId;
  476. }
  477. public Integer getIsCheck() { return isCheck; }
  478. public void setIsCheck(Integer isCheck) { this.isCheck = isCheck; }
  479. public Long[] getUserIds() {
  480. return userIds;
  481. }
  482. public void setUserIds(Long[] userIds) {
  483. this.userIds = userIds;
  484. }
  485. public String getPositionName() {
  486. return positionName;
  487. }
  488. public void setPositionName(String positionName) {
  489. this.positionName = positionName;
  490. }
  491. public String getParamIds() {
  492. return paramIds;
  493. }
  494. public void setParamIds(String paramIds) {
  495. this.paramIds = paramIds;
  496. }
  497. public List<SysPermitInfo> getPermits() {
  498. return permits;
  499. }
  500. public void setPermits(List<SysPermitInfo> permits) {
  501. this.permits = permits;
  502. }
  503. public String getSignature() {
  504. return signature;
  505. }
  506. public void setSignature(String signature) {
  507. this.signature = signature;
  508. }
  509. public String getFaceImg() {
  510. return faceImg;
  511. }
  512. public void setFaceImg(String faceImg) {
  513. this.faceImg = faceImg;
  514. }
  515. public List <Object> getPermitMenus() {
  516. return permitMenus;
  517. }
  518. public void setPermitMenus(List <Object> permitMenus) {
  519. this.permitMenus = permitMenus;
  520. }
  521. @Override
  522. public String getSearchValue() {
  523. return searchValue;
  524. }
  525. @Override
  526. public void setSearchValue(String searchValue) {
  527. this.searchValue = searchValue;
  528. }
  529. public String getClassName() {
  530. return className;
  531. }
  532. public void setClassName(String className) {
  533. this.className = className;
  534. }
  535. public String getCreateTimeStr() {
  536. return createTimeStr;
  537. }
  538. public void setCreateTimeStr(String createTimeStr) {
  539. this.createTimeStr = createTimeStr;
  540. }
  541. public String getGradeName() {
  542. return gradeName;
  543. }
  544. public void setGradeName(String gradeName) {
  545. this.gradeName = gradeName;
  546. }
  547. public boolean isInclude() {
  548. return include;
  549. }
  550. public void setInclude(boolean include) {
  551. this.include = include;
  552. }
  553. public String getSafeUserId() {
  554. return safeUserId;
  555. }
  556. public void setSafeUserId(String safeUserId) {
  557. this.safeUserId = safeUserId;
  558. }
  559. public List<Long> getDeptIds() {
  560. return deptIds;
  561. }
  562. public void setDeptIds(List<Long> deptIds) {
  563. this.deptIds = deptIds;
  564. }
  565. public String getCardNumSimple() {
  566. return cardNumSimple;
  567. }
  568. public void setCardNumSimple(String cardNumSimple) {
  569. this.cardNumSimple = cardNumSimple;
  570. }
  571. public List<Long> getSubjectIds() {
  572. return subjectIds;
  573. }
  574. public void setSubjectIds(List<Long> subjectIds) {
  575. this.subjectIds = subjectIds;
  576. }
  577. public List<String> getDateList() {
  578. return dateList;
  579. }
  580. public void setDateList(List<String> dateList) {
  581. this.dateList = dateList;
  582. }
  583. }