MrShi
2025-01-12 426718fb2310abff70f54962f118f4300ead2408
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
146
147
148
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 com.doumee.dao.business.model.CompanyDepartment;
import com.doumee.dao.business.model.CompanyPermission;
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 = "组织编码")
    private Integer departmentId;
    @ApiModelProperty(value = "类型 0平台用户 1企业用户 2商户用户")
    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 String companyName;
    @ApiModelProperty(value = "部门名称")
    @TableField(exist = false)
    private String departmentName;
    @ApiModelProperty(value = "授权企业数")
    @TableField(exist = false)
    private Integer authNum;
 
    @ApiModelProperty(value = "是否主管 0否 1是", example = "1")
    @TableField(exist = false)
    private Integer headStatus;
 
    @ApiModelProperty(value = "所属企业信息")
    @TableField(exist = false)
    private Company company;
 
 
    @ApiModelProperty(value = "展示的企业信息")
    @TableField(exist = false)
    private Company showCompany;
 
 
    @ApiModelProperty(value = "所属组织对象")
    @TableField(exist = false)
    private CompanyDepartment companyDepartment;
 
    @ApiModelProperty(value = "平台管理员权限内企业编码集合")
    @TableField(exist = false)
    private List<Integer> companyIdList;
 
    @ApiModelProperty(value = "企业用户 - 可查看组织数据")
    @TableField(exist = false)
    private List<CompanyPermission> companyPermissionList;
 
    @ApiModelProperty(value = "数据权限内组织编码集合")
    @TableField(exist = false)
    private List<Integer> departIdList;
 
}