doum
2025-09-19 9b8baee48d0bdd95ea157be10e7c24711c511dc1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
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.service.business.third.model.LoginUserModel;
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 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 extends LoginUserModel implements Serializable {
 
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键", example = "1")
    @NotNull(message = "主键不能为空", groups = {OperaType.Update.class})
    private Integer id;
    @ApiModelProperty(value = "用户编码(关联member)", example = "1")
    private Integer memberId;
    @ApiModelProperty(value = "姓名拼音首字母")
    private String pinyin;
    @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 = "生日")
    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 = "密码")
    @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 = "是否需要强制更新密码 0是 1否")
    private Integer needChangePwd;
 
    @ApiModelProperty(value = "更新人", example = "1", hidden = true)
    private Integer updateUser;
 
    @ApiModelProperty(value = "微信openid", example = "1", hidden = true)
    private String openid;
    @ApiModelProperty(value = "微信openid推送海康状态 0待推送 1已推送 2绑定失败", example = "1", hidden = true)
    private Integer openidHkStatus;
    @ApiModelProperty(value = "微信openid推送海康备注 ", example = "1", hidden = true)
    private String openidHkInfo;
    @ApiModelProperty(value = "微信openid推送海康时间", example = "1", hidden = true)
    private Date openidHkDate;
 
    //2024年12月6日11:00:30 类型 0司机人员 1普通访客  2内部人员 3tms管控人员
    @ApiModelProperty(value = "类型 0司机人员 1普通访客  2内部人员 3tms管控人员", example = "0")
    private Integer type;
 
    @ApiModelProperty(value = "微信昵称")
    private String wechatName;
 
    @ApiModelProperty(value = "是否已删除", hidden = true)
    private Boolean deleted;
 
    @ApiModelProperty(value = "0 启用 1 禁用")
    private Integer status;
    @ApiModelProperty(value = "企业编码(关联company)")
    private Integer companyId;
    @ApiModelProperty(value = "账户来源:0=后台添加 ; 2=司机注册")
    private Integer source;
    @ApiModelProperty(value = "公司名称")
    @TableField(exist = false)
    private String companyName;
    @ApiModelProperty(value = "搜索关键词语")
    @TableField(exist = false)
    private String queryParam;
    @ApiModelProperty(value = "在职状态 0在职 1离职")
    @TableField(exist = false)
    private Integer workStatus;
    @ApiModelProperty(value = "公司类型")
    @TableField(exist = false)
    private Integer companyType;
    @ApiModelProperty(value = "是否查询固定人员组织主键" ,hidden = true)
    @TableField(exist = false)
    private String companySpecialId;
 
    @ApiModelProperty(value = "是否查询固定人员:0=否;1=是" )
    @TableField(exist = false)
    private Integer querySpecial;
 
    @ApiModelProperty(value = "数据权限内部门编码集合")
    @TableField(exist = false)
    private List<Integer> companyIdList;
    @ApiModelProperty(value = "人脸照片")
    @TableField(exist = false)
    private String faceImg;
 
}