package com.doumee.dao.system.model; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableLogic; import com.doumee.core.constants.OperaType; import com.doumee.core.utils.Constants; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import java.io.Serializable; import java.util.Date; /** * 系统用户 * @author Eva.Caesar Liu * @date 2023/02/14 11:14 */ @Data @ApiModel("系统用户") public class SystemUser implements Serializable { @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主键", example = "1") @NotNull(message = "主键不能为空", groups = {OperaType.Update.class}) private Integer id; @ApiModelProperty(value = "用户名") @NotBlank(message = "用户名不能为空", groups = {OperaType.Create.class, OperaType.Update.class}) private String username; @ApiModelProperty(value = "姓名") @NotBlank(message = "姓名不能为空", groups = {OperaType.Create.class, OperaType.Update.class}) private String realname; @ApiModelProperty(value = "工号") private String empNo; @ApiModelProperty(value = "生日") private Date birthday; @ApiModelProperty(value = "性别") @NotBlank(message = "性别不能为空", groups = {OperaType.Create.class, OperaType.Update.class}) private String sex; @ApiModelProperty(value = "邮箱") @Email(message = "邮箱格式不正确", groups = {OperaType.Create.class, OperaType.Update.class}) private String email; @ApiModelProperty(value = "手机号码") @Pattern(message = "手机号码格式不正确", regexp = "^\\d*$", groups = {OperaType.Create.class, OperaType.Update.class}) private String mobile; @ApiModelProperty(value = "头像") // @NotBlank(message = "头像不能为空", groups = {OperaType.Create.class, OperaType.Update.class}) private String avatar; @ApiModelProperty(value = "密码") @NotBlank(message = "初始密码不能为空", groups = {OperaType.Create.class}) private String password; @ApiModelProperty(value = "盐") private String salt; @ApiModelProperty(value = "是否为固定用户", hidden = true) private Boolean fixed; @ApiModelProperty(value = "创建时间") private Date createTime; @ApiModelProperty(value = "更新时间") private Date updateTime; @ApiModelProperty(value = "创建人", example = "1", hidden = true) private Integer createUser; @ApiModelProperty(value = "更新人", example = "1", hidden = true) private Integer updateUser; @ApiModelProperty(value = "是否已删除", hidden = true) private Boolean deleted; @ApiModelProperty(value = "所属企业编码", example = "1" ) private Integer companyId; @ApiModelProperty(value = "区域编码", example = "1" ) private Integer areaId; @ApiModelProperty(value = "城市编码", example = "1" ) private Integer cityId; @ApiModelProperty(value = "父级编码", example = "1" ) private Integer parentId; @ApiModelProperty(value = "用户类型 0系统用户 1企业用户 2服务机构管理员 3服务机构子账号 4综合服务单位管理员 5综合服务单位子账号 6专家 7县区用户 8市局用户", example = "1" ) private Integer type; @ApiModelProperty(value = "用户状态 0正常 1禁用" ) private Integer status; @ApiModelProperty(value = "身份证号" ) private String idCard; @ApiModelProperty(value = "职称" ) private String profession; /**创建账号关联企业的字段*/ @ApiModelProperty(value = "企业名称" ) @TableField(exist = false) private String companyName; @ApiModelProperty(value = "法人名称" ) @TableField(exist = false) private String legalPerson; @ApiModelProperty(value = "联系人姓名" ) @TableField(exist = false) private String linkName; @ApiModelProperty(value = "联系人电话" ) @TableField(exist = false) private String linkPhone; @ApiModelProperty(value = "统一社会信用代码" ) @TableField(exist = false) private String creditCode; @ApiModelProperty(value = "企业type 不使用前端传值 后端自己校正" ) @TableField(exist = false) private Integer companyType; public void convertCompanyType(){ // 1 企业用户 2服务机构管理员 4综合服务单位管理员 //企业类型0企业 1服务机构 2综合服务单位', switch (this.type){ case 1 : // companyType = 0; break; case 2 : companyType = 1; break; case 4 : companyType = 2; break; } } }