SysUser.java 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  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 = "领导人ID")
  99. @TableField(value = "leader_id")
  100. private String leaderId;
  101. @ApiModelProperty(value = "领导人姓名")
  102. @TableField(value = "leader_name")
  103. private String leaderName;
  104. @ApiModelProperty(value = "三要素验证")
  105. @TableField(value = "factor_verify")
  106. private Integer factorVerify;
  107. //------------------
  108. @ApiModelProperty(value = "是否有闪电增员权限")
  109. @TableField(exist = false)
  110. private Integer isHasAddUser;
  111. /**
  112. * 角色ID
  113. */
  114. @ApiModelProperty(value = "角色ID")
  115. @TableField(exist = false)
  116. private String roleId;
  117. /**
  118. * 角色名称
  119. */
  120. @Excel(name = "角色")
  121. @ApiModelProperty(value = "角色名称")
  122. @TableField(exist = false)
  123. private String roleName;
  124. /**
  125. * 机构名称
  126. */
  127. @ApiModelProperty(value = "机构名称")
  128. @TableField(exist = false)
  129. private String deptName;
  130. @ApiModelProperty(value = "")
  131. @TableField(exist = false)
  132. private String pdeptId;
  133. @ApiModelProperty(value = "用户父id")
  134. @TableField(exist = false)
  135. private String parentId;
  136. @TableField(exist = false)
  137. @Excel(name = "状态")
  138. private String excelStatus;
  139. @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
  140. @Excel(name = "离职时间")
  141. @TableField(value = "logout_time")
  142. private Date logoutTime;
  143. @Excel(name = "出单员归属业务员")
  144. @TableField(value = "operatorCode")
  145. private String operatorCode;
  146. @TableField(value = "referrer_id")
  147. @Excel(name = "推荐人ID")
  148. private String referrerId;
  149. @TableField(exist = false)
  150. @Excel(name = "推荐人名称")
  151. private String referrerName;
  152. @TableField(exist = false)
  153. @ApiModelProperty(value = "树权限等级")
  154. private String showLevel;
  155. @TableField(exist = false)
  156. @ApiModelProperty(value = "是否拥有拨号权限")
  157. private String isDial;
  158. @TableField(exist = false)
  159. @ApiModelProperty(value = "拨号权限账号")
  160. private String dialUserName;
  161. @TableField(exist = false)
  162. @ApiModelProperty(value = "拨号权限密码")
  163. private String dialPassWord;
  164. @TableField(exist = false)
  165. @ApiModelProperty("机构来源")
  166. private String managementSource;
  167. @TableField(value = "position_id")
  168. @ApiModelProperty("岗位id")
  169. private String positionId;
  170. @TableField(value = "position_name")
  171. @ApiModelProperty("岗位名称")
  172. private String positionName;
  173. @TableField(exist = false)
  174. private List<SysUser> children;
  175. @TableField(value = "manager_id")
  176. @ApiModelProperty("电销管理人")
  177. private String managerId;
  178. @TableField(value = "manager_name")
  179. @ApiModelProperty("电销管理人名称")
  180. private String managerName;
  181. @ApiModelProperty(value = "用户类型:0:普通用户 1:合伙人 2:工作室管理员")
  182. private Integer type;
  183. @ApiModelProperty(value = "合伙人等级;1,2,3,4,5")
  184. private Integer level;
  185. @ApiModelProperty(value = "推荐人id")
  186. @TableField(exist = false)
  187. private String suggestId;
  188. @ApiModelProperty(value = "推荐人name")
  189. @TableField(exist = false)
  190. private String suggestName;
  191. @ApiModelProperty(value = "申请机构来源 1 渠道 2 个代")
  192. @TableField(value = "dept_source")
  193. private String deptSource;
  194. @ApiModelProperty(value = "申请机构类型 股份 直营 加盟" )
  195. @TableField(value = "dept_type")
  196. private String deptType;
  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. // 账号锁定
  210. if (user.getStatus() == 0) {
  211. throw new SystemException("账号已被锁定,请联系管理员");
  212. }
  213. // 新注册用户需要审核
  214. if (user.getStatus() == 2) {
  215. throw new SystemException("新注册用户需要审核,请联系管理员");
  216. }
  217. // 新注册用户审核不通过
  218. if (user.getStatus() == 3) {
  219. throw new SystemException("新注册用户审核不通过,请联系管理员");
  220. }
  221. }
  222. }