package com.ydtech.modules.admin.model; import cn.afterturn.easypoi.excel.annotation.Excel; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.ydtech.exception.SystemException; import com.ydtech.modules.base.model.BaseEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import springfox.documentation.annotations.ApiIgnore; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; import java.util.Date; import java.util.List; /** * 用户 * * @TableName sys_user */ @TableName(value = "sys_user") @Data @ApiModel public class SysUser extends BaseEntity { @TableField(exist = false) private static final long serialVersionUID = 1L; /** * 编号 */ @ApiModelProperty(value = "用户ID") @TableId(value = "id") private String id; @ApiModelProperty(value = "头像") @TableField(value = "head_sculpture") private String headSculpture; /** * 姓名 */ @Excel(name = "姓名") @ApiModelProperty(value = "姓名") @NotBlank(message = "姓名不能为空") @Size(min = 0, max = 30, message = "姓名长度不能超过30个字符") @TableField(value = "name") private String name; /** * 密码 */ @Excel(name = "密码") @ApiModelProperty(value = "密码") @TableField(value = "password") private String password; /** * 盐 */ @TableField(value = "salt") private String salt; /** * 手机号 */ @Excel(name = "手机号") @ApiModelProperty(value = "手机号") @NotBlank(message = "手机号不能为空") @TableField(value = "mobile") private String mobile; /** * 状态 1:正常 0:离司 2:新注册 */ @ApiModelProperty(value = "状态 1:正常 0:删除 2:新注册 3:审批不通过") @TableField(value = "status") private Integer status; /** * 机构ID */ @ApiModelProperty(value = "机构ID") @NotBlank(message = "机构不能为空") @TableField(value = "dept_id") private String deptId; /** * 微信id */ @TableField(value = "openid") private String openid; /** * 支付宝id */ @TableField(value = "alipay") private String alipay; /** * 审批意见 */ @ApiModelProperty(value = "审批意见") @TableField(value = "approval_opinion") private String approvalOpinion; @ApiModelProperty(value = "身份证号") @TableField(value = "identity") private String identity; @ApiModelProperty(value = "领导人ID") @TableField(value = "leader_id") private String leaderId; @ApiModelProperty(value = "领导人姓名") @TableField(value = "leader_name") private String leaderName; @ApiModelProperty(value = "三要素验证") @TableField(value = "factor_verify") private Integer factorVerify; //------------------ @ApiModelProperty(value = "是否有闪电增员权限") @TableField(exist = false) private Integer isHasAddUser; /** * 角色ID */ @ApiModelProperty(value = "角色ID") @TableField(exist = false) private String roleId; /** * 角色名称 */ @Excel(name = "角色") @ApiModelProperty(value = "角色名称") @TableField(exist = false) private String roleName; /** * 机构名称 */ @ApiModelProperty(value = "机构名称") @TableField(exist = false) private String deptName; @ApiModelProperty(value = "") @TableField(exist = false) private String pdeptId; @ApiModelProperty(value = "用户父id") @TableField(exist = false) private String parentId; @TableField(exist = false) @Excel(name = "状态") private String excelStatus; @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @Excel(name = "离职时间") @TableField(value = "logout_time") private Date logoutTime; @Excel(name = "出单员归属业务员") @TableField(value = "operatorCode") private String operatorCode; @TableField(value = "referrer_id") @Excel(name = "推荐人ID") private String referrerId; @TableField(exist = false) @Excel(name = "推荐人名称") private String referrerName; @TableField(exist = false) @ApiModelProperty(value = "树权限等级") private String showLevel; @TableField(exist = false) @ApiModelProperty(value = "是否拥有拨号权限") private String isDial; @TableField(exist = false) @ApiModelProperty(value = "拨号权限账号") private String dialUserName; @TableField(exist = false) @ApiModelProperty(value = "拨号权限密码") private String dialPassWord; @TableField(exist = false) @ApiModelProperty("机构来源") private String managementSource; @TableField(value = "position_id") @ApiModelProperty("岗位id") private String positionId; @TableField(value = "position_name") @ApiModelProperty("岗位名称") private String positionName; @TableField(exist = false) private List children; @TableField(value = "manager_id") @ApiModelProperty("电销管理人") private String managerId; @TableField(value = "manager_name") @ApiModelProperty("电销管理人名称") private String managerName; @ApiModelProperty(value = "用户类型:0:普通用户 1:合伙人 2:工作室管理员") private Integer type; @ApiModelProperty(value = "合伙人等级;1,2,3,4,5") private Integer level; @ApiModelProperty(value = "推荐人id") @TableField(exist = false) private String suggestId; @ApiModelProperty(value = "推荐人name") @TableField(exist = false) private String suggestName; @ApiModelProperty(value = "申请机构来源 1 渠道 2 个代") @TableField(value = "dept_source") private String deptSource; @ApiModelProperty(value = "申请机构类型 股份 直营 加盟" ) @TableField(value = "dept_type") private String deptType; /** * 验证用户 * * @author: lig * @date: 2023年07月03日 0003 */ @ApiIgnore public static void verifyUser(SysUser user) { // 账号不存在、密码错误 if (user == null) { throw new SystemException("账号不存在"); } // 账号锁定 if (user.getStatus() == 0) { throw new SystemException("账号已被锁定,请联系管理员"); } // 新注册用户需要审核 if (user.getStatus() == 2) { throw new SystemException("新注册用户需要审核,请联系管理员"); } // 新注册用户审核不通过 if (user.getStatus() == 3) { throw new SystemException("新注册用户审核不通过,请联系管理员"); } } }