houzhongjian
2024-10-16 7da8f196dee8e3c526c009a4bc7f5983ece6bb97
提交 | 用户 | 时间
e7c126 1 package com.iailab.module.system.dal.dataobject.user;
H 2
d9f9ba 3 import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
e7c126 4 import com.iailab.framework.common.enums.CommonStatusEnum;
H 5 import com.iailab.framework.tenant.core.db.TenantBaseDO;
6 import com.iailab.module.system.enums.common.SexEnum;
7 import com.baomidou.mybatisplus.annotation.KeySequence;
8 import com.baomidou.mybatisplus.annotation.TableField;
9 import com.baomidou.mybatisplus.annotation.TableId;
10 import com.baomidou.mybatisplus.annotation.TableName;
11 import lombok.*;
12 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
13
14 import java.time.LocalDateTime;
15 import java.util.Set;
16
17 /**
18  * 管理后台的用户 DO
19  *
20  * @author iailab
21  */
1ecdfb 22 @TableName(value = "system_user", autoResultMap = true) // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users
23 @KeySequence("system_user_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
e7c126 24 @Data
H 25 @EqualsAndHashCode(callSuper = true)
26 @Builder
27 @NoArgsConstructor
28 @AllArgsConstructor
29 public class AdminUserDO extends TenantBaseDO {
30
31     /**
32      * 用户ID
33      */
34     @TableId
35     private Long id;
36     /**
37      * 用户账号
38      */
39     private String username;
40     /**
41      * 加密后的密码
42      *
43      * 因为目前使用 {@link BCryptPasswordEncoder} 加密器,所以无需自己处理 salt 盐
44      */
45     private String password;
46     /**
47      * 用户昵称
48      */
49     private String nickname;
50     /**
51      * 备注
52      */
53     private String remark;
54     /**
55      * 部门 ID
56      */
57     private Long deptId;
58     /**
59      * 岗位编号数组
60      */
d9f9ba 61     @TableField(typeHandler = JacksonTypeHandler.class)
e7c126 62     private Set<Long> postIds;
H 63     /**
64      * 用户邮箱
65      */
66     private String email;
67     /**
68      * 手机号码
69      */
70     private String mobile;
71     /**
72      * 用户性别
73      *
74      * 枚举类 {@link SexEnum}
75      */
76     private Integer sex;
77     /**
78      * 用户头像
79      */
80     private String avatar;
81     /**
82      * 帐号状态
83      *
84      * 枚举 {@link CommonStatusEnum}
85      */
86     private Integer status;
87     /**
88      * 最后登录IP
89      */
90     private String loginIp;
91     /**
92      * 最后登录时间
93      */
94     private LocalDateTime loginDate;
95
96 }