package com.doumee.dao.system.model; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.doumee.core.constants.OperaType; import com.doumee.dao.business.model.Company; 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; import java.util.List; /** * 系统用户 * @author Eva.Caesar Liu * @date 2023/03/21 14:49 */ @Data @ApiModel("系统用户") @TableName("`SYSTEM_USER`") 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 = "用户名不能为空") private String username; @ApiModelProperty(value = "员工名称") @NotBlank(message = "姓名不能为空", groups = {OperaType.Create.class, OperaType.Update.class}) private String realname; @ApiModelProperty(value = "工号") private String empNo; @ApiModelProperty(value = "生日") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date birthday; @ApiModelProperty(value = "性别") @NotBlank(message = "性别不能为空") private String sex; @ApiModelProperty(value = "邮箱") @Email(message = "邮箱格式不正确") private String email; @ApiModelProperty(value = "手机号码") @Pattern(message = "手机号码格式不正确", regexp = "^\\d*$", groups = {OperaType.Create.class, OperaType.Update.class}) private String mobile; @ApiModelProperty(value = "头像") @NotBlank(message = "头像不能为空") private String avatar; @ApiModelProperty(value = "企业编码") private Integer companyId; @ApiModelProperty(value = "类型 0平台用户 1企业用户") private Integer type; @ApiModelProperty(value = "密码") @NotBlank(message = "初始密码不能为空") 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 = "0 启用 1 禁用") private Integer status; @ApiModelProperty(value = "微信小程序OPENID") private String openid; @ApiModelProperty(value = "所属企业信息对") @TableField(exist = false) private Company company; @ApiModelProperty(value = "权限内企业编码集合") @TableField(exist = false) private List companyIdList; }