package com.gkhy.exam.common.domain.entity; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonInclude; import com.gkhy.exam.common.domain.BaseEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import lombok.experimental.Accessors; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; /** *
* 用户表 *
* * @author kzy * @since 2023-10-17 14:26:29 */ @Getter @Setter @TableName("sys_user") @ApiModel(value = "SysUser对象", description = "用户表") @Accessors(chain = true) @JsonInclude(NON_NULL) public class SysUser extends BaseEntity { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Long id; @NotBlank(message = "登录账号不能为空") @Length(min = 2, message = "登录账号长度不正确") @ApiModelProperty(value = "登录账号",required = true) @TableField("username") private String username; @NotBlank(message = "名称不能为空") @ApiModelProperty(value = "名称",required = true) @TableField("name") private String name; @NotNull(message = "用户类型不能为空") @ApiModelProperty(value = "用户类型(0系统用户,1企业级用户,2部门级用户,3车间级(岗位)级,4其他,默认0)",required = true) @TableField("user_type") private Integer userType; // @NotBlank(message = "手机号码不能为空") // @Length(min = 11, max = 11, message = "手机号只能为11位") // @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$",message = "手机号码有误!") @ApiModelProperty(value = "手机号码",required = false) @TableField("phone") private String phone; @ApiModelProperty("用户性别(0男,1女,2未知,默认2)") @TableField("sex") private Integer sex; @ApiModelProperty("父级账号id") @TableField("parent_id") private Long parentId; @ApiModelProperty("公司id") @TableField("company_id") private Long companyId; @NotBlank(message = "密码不能为空") @Length(min = 2, message = "密码长度不正确") @ApiModelProperty(value = "密码",required = true) @TableField("password") private String password; @ApiModelProperty("账号状态(0正常,1停用,默认0)") @TableField("status") private Integer status; @ApiModelProperty("删除标志(0代表存在,1代表删除,默认0)") @TableField("del_flag") private Integer delFlag; @ApiModelProperty("最后登录ip") @TableField("login_ip") private String loginIp; @ApiModelProperty("最后登录时间") @TableField("login_date") private LocalDateTime loginDate; @ApiModelProperty("密码最后更新时间") @TableField("pwd_update_date") private LocalDateTime pwdUpdateDate; @Version @ApiModelProperty("乐观锁") @TableField("version") private Integer version; @ApiModelProperty("部门") @TableField("dept_id") private Long deptId; @ApiModelProperty("部门名称") @TableField(exist = false) private String deptName; @ApiModelProperty("职务") @TableField("duty") private String duty; @ApiModelProperty("专业") @TableField("post") private String post; @ApiModelProperty("身份证号") @TableField("id_card") private String idCard; @ApiModelProperty("入职时间") @TableField("entry_time") private LocalDate entryTime; @ApiModelProperty("公司名称") @TableField(exist = false) private String companyName; @ApiModelProperty("剩余课时(分)") @TableField(exist = false) private Long remainPeriod; @ApiModelProperty("父级账号名称") @TableField(exist = false) private String parentName; @TableField(exist = false) private List