SysUser.java 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. package com.ydtech.modules.admin.model;
  2. import cn.afterturn.easypoi.excel.annotation.Excel;
  3. import com.baomidou.mybatisplus.annotation.TableField;
  4. import com.baomidou.mybatisplus.annotation.TableId;
  5. import com.baomidou.mybatisplus.annotation.TableName;
  6. import com.fasterxml.jackson.annotation.JsonFormat;
  7. import com.ydtech.exception.SystemException;
  8. import com.ydtech.modules.base.model.BaseEntity;
  9. import io.swagger.annotations.ApiModel;
  10. import io.swagger.annotations.ApiModelProperty;
  11. import lombok.Data;
  12. import springfox.documentation.annotations.ApiIgnore;
  13. import javax.validation.constraints.NotBlank;
  14. import javax.validation.constraints.Size;
  15. import java.util.Date;
  16. import java.util.List;
  17. /**
  18. * 用户
  19. *
  20. * @TableName sys_user
  21. */
  22. @TableName(value = "sys_user")
  23. @Data
  24. @ApiModel
  25. public class SysUser extends BaseEntity {
  26. @TableField(exist = false)
  27. private static final long serialVersionUID = 1L;
  28. /**
  29. * 编号
  30. */
  31. @ApiModelProperty(value = "用户ID")
  32. @TableId(value = "id")
  33. private String id;
  34. @ApiModelProperty(value = "头像")
  35. @TableField(value = "head_sculpture")
  36. private String headSculpture;
  37. /**
  38. * 姓名
  39. */
  40. @Excel(name = "姓名")
  41. @ApiModelProperty(value = "姓名")
  42. @NotBlank(message = "姓名不能为空")
  43. @Size(min = 0, max = 30, message = "姓名长度不能超过30个字符")
  44. @TableField(value = "name")
  45. private String name;
  46. /**
  47. * 密码
  48. */
  49. @Excel(name = "密码")
  50. @ApiModelProperty(value = "密码")
  51. @TableField(value = "password")
  52. private String password;
  53. /**
  54. * 盐
  55. */
  56. @TableField(value = "salt")
  57. private String salt;
  58. /**
  59. * 手机号
  60. */
  61. @Excel(name = "手机号")
  62. @ApiModelProperty(value = "手机号")
  63. @NotBlank(message = "手机号不能为空")
  64. @TableField(value = "mobile")
  65. private String mobile;
  66. /**
  67. * 状态 1:正常 0:离司 2:新注册
  68. */
  69. @ApiModelProperty(value = "状态 1:正常 0:删除 2:新注册 3:审批不通过")
  70. @TableField(value = "status")
  71. private Integer status;
  72. /**
  73. * 机构ID
  74. */
  75. @ApiModelProperty(value = "机构ID")
  76. @NotBlank(message = "机构不能为空")
  77. @TableField(value = "dept_id")
  78. private String deptId;
  79. /**
  80. * 微信id
  81. */
  82. @TableField(value = "openid")
  83. private String openid;
  84. /**
  85. * 支付宝id
  86. */
  87. @TableField(value = "alipay")
  88. private String alipay;
  89. /**
  90. * 审批意见
  91. */
  92. @ApiModelProperty(value = "审批意见")
  93. @TableField(value = "approval_opinion")
  94. private String approvalOpinion;
  95. @ApiModelProperty(value = "身份证号")
  96. @TableField(value = "identity")
  97. private String identity;
  98. @ApiModelProperty(value = "身份证有效期")
  99. @TableField(value = "identity_time")
  100. private String identityTime;
  101. @ApiModelProperty(value = "领导人ID")
  102. @TableField(value = "leader_id")
  103. private String leaderId;
  104. @ApiModelProperty(value = "领导人姓名")
  105. @TableField(value = "leader_name")
  106. private String leaderName;
  107. @ApiModelProperty(value = "三要素验证 0.未认证 1. 认证成功 2. 认证驳回")
  108. @TableField(value = "factor_verify")
  109. private Integer factorVerify;
  110. //------------------
  111. @ApiModelProperty(value = "是否有闪电增员权限")
  112. @TableField(exist = false)
  113. private Integer isHasAddUser;
  114. /**
  115. * 角色ID
  116. */
  117. @ApiModelProperty(value = "角色ID")
  118. @TableField(exist = false)
  119. private String roleId;
  120. /**
  121. * 角色名称
  122. */
  123. @Excel(name = "角色")
  124. @ApiModelProperty(value = "角色名称")
  125. @TableField(exist = false)
  126. private String roleName;
  127. /**
  128. * 机构名称
  129. */
  130. @ApiModelProperty(value = "机构名称")
  131. @TableField(exist = false)
  132. private String deptName;
  133. @ApiModelProperty(value = "")
  134. @TableField(exist = false)
  135. private String pdeptId;
  136. @ApiModelProperty(value = "用户父id")
  137. @TableField(exist = false)
  138. private String parentId;
  139. @TableField(exist = false)
  140. @Excel(name = "状态")
  141. private String excelStatus;
  142. @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
  143. @Excel(name = "离职时间")
  144. @TableField(value = "logout_time")
  145. private Date logoutTime;
  146. @Excel(name = "出单员归属业务员")
  147. @TableField(value = "operatorCode")
  148. private String operatorCode;
  149. @TableField(value = "referrer_id")
  150. @Excel(name = "推荐人ID")
  151. private String referrerId;
  152. @TableField(exist = false)
  153. @Excel(name = "推荐人名称")
  154. private String referrerName;
  155. @TableField(exist = false)
  156. @ApiModelProperty(value = "树权限等级")
  157. private String showLevel;
  158. @TableField(exist = false)
  159. @ApiModelProperty(value = "是否拥有拨号权限")
  160. private String isDial;
  161. @TableField(exist = false)
  162. @ApiModelProperty(value = "拨号权限账号")
  163. private String dialUserName;
  164. @TableField(exist = false)
  165. @ApiModelProperty(value = "拨号权限密码")
  166. private String dialPassWord;
  167. @TableField(exist = false)
  168. @ApiModelProperty("机构来源")
  169. private String managementSource;
  170. @TableField(value = "position_id")
  171. @ApiModelProperty("岗位id")
  172. private String positionId;
  173. @TableField(value = "position_name")
  174. @ApiModelProperty("岗位名称")
  175. private String positionName;
  176. @TableField(exist = false)
  177. private List<SysUser> children;
  178. @TableField(value = "manager_id")
  179. @ApiModelProperty("电销管理人")
  180. private String managerId;
  181. @TableField(value = "manager_name")
  182. @ApiModelProperty("电销管理人名称")
  183. private String managerName;
  184. @ApiModelProperty(value = "用户类型:0:普通用户 1:合伙人 2:工作室管理员")
  185. private Integer type;
  186. @ApiModelProperty(value = "合伙人等级;1,2,3,4,5")
  187. private Integer level;
  188. @ApiModelProperty(value = "申请机构来源 1 渠道 2 个代")
  189. @TableField(value = "dept_source")
  190. private String deptSource;
  191. @ApiModelProperty(value = "申请机构类型 股份 直营 加盟" )
  192. @TableField(value = "dept_type")
  193. private String deptType;
  194. @TableField(exist = false)
  195. @ApiModelProperty(value = "是否判断锁定状态 0.否 1. 是 默认判断")
  196. private Integer isLock = 1;
  197. /**
  198. * 验证用户
  199. *
  200. * @author: lig
  201. * @date: 2023年07月03日 0003
  202. */
  203. @ApiIgnore
  204. public static void verifyUser(SysUser user) {
  205. // 账号不存在、密码错误
  206. if (user == null) {
  207. throw new SystemException("账号不存在");
  208. }
  209. if (user.getStatus() == 9) {
  210. throw new SystemException("账号不存在");
  211. }
  212. // 账号锁定
  213. if(user.getIsLock().equals(1)){
  214. if (user.getStatus() == 0) {
  215. throw new SystemException("账号已被锁定,请联系管理员");
  216. }
  217. // 新注册用户需要审核
  218. if (user.getStatus() == 2) {
  219. throw new SystemException("新注册用户需要审核,请联系管理员");
  220. }
  221. // 新注册用户审核不通过
  222. if (user.getStatus() == 3) {
  223. throw new SystemException("新注册用户审核不通过,请联系管理员");
  224. }
  225. }
  226. }
  227. }