Blame view

src/main/java/com/huaheng/pc/system/user/domain/User.java 4.58 KB
tangying authored
1
2
3
4
5
package com.huaheng.pc.system.user.domain;

import java.util.Date;
import java.util.List;
import java.util.Map;
6
7
8
9
10

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
tangying authored
11
import com.fasterxml.jackson.annotation.JsonFormat;
12
import lombok.Data;
tangying authored
13
14
15
16
17
18
19
20
21
import org.apache.shiro.crypto.SecureRandomNumberGenerator;
import com.huaheng.framework.aspectj.lang.annotation.Excel;
import com.huaheng.pc.system.dept.domain.Dept;

/**
 * 用户对象 sys_user
 * 
 * @author huaheng
 */
22
23
@Data
@TableName(value = "sys_user")
tangying authored
24
25
26
27
28
public class User
{

    /** 用户ID */
    @Excel(name = "用户序号")
29
    @TableId(value = "id", type = IdType.AUTO)
tangying authored
30
31
32
    private Integer id;

    /** 部门ID */
33
    @TableField(value = "deptId")
tangying authored
34
35
36
    private Integer deptId;

    /** 部门父ID */
37
    @TableField(value = "parentId")
tangying authored
38
39
40
41
    private Integer parentId;

    /** 登录名称 */
    @Excel(name = "登录名称")
42
    @TableField(value = "loginName")
tangying authored
43
44
45
46
    private String loginName;

    /** 用户名称 */
    @Excel(name = "用户名称")
47
    @TableField(value = "userName")
tangying authored
48
49
50
51
    private String userName;

    /** 用户邮箱 */
    @Excel(name = "用户邮箱")
52
    @TableField(value = "email")
tangying authored
53
54
55
56
    private String email;

    /** 手机号码 */
    @Excel(name = "手机号码")
57
    @TableField(value = "phoneNumber")
tangying authored
58
59
60
61
    private String phoneNumber;

    /** 用户性别 */
    @Excel(name = "用户性别")
62
    @TableField(value = "sex")
tangying authored
63
64
65
    private String sex;

    /** 用户头像 */
66
    @TableField(value = "avatar")
tangying authored
67
68
69
    private String avatar;

    /** 密码 */
70
    @TableField(value = "password")
tangying authored
71
72
73
    private String password;

    /** 盐加密 */
74
    @TableField(value = "salt")
tangying authored
75
76
77
78
    private String salt;

    /** 启用状态 */
    @Excel(name = "启用状态")
79
    @TableField(value = "enable")
tangying authored
80
81
82
83
    private Boolean enable;

    /** 删除状态 */
    @Excel(name = "删除状态")
84
    @TableField(value = "deleted")
tangying authored
85
86
87
88
    private Boolean deleted;

    /** 最后登陆IP */
    @Excel(name = "最后登陆IP")
89
    @TableField(value = "loginIp")
tangying authored
90
91
92
93
    private String loginIp;

    /** 最后登陆时间 */
    @Excel(name = "最后登陆时间")
94
    @TableField(value = "loginDate")
tangying authored
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
    private Date loginDate;

    /** 部门对象 */
    private Dept dept;

    /** 仓库ID */
    private Integer warehouseId;

    /** 仓库编码 */
    private String warehouseCode;

    /** 角色列表 */
    private List<Integer> roleIds;

    /** 货主id列表 */
    private List<Integer> companyIdList;

    /** 货主编码列表 */
    private List<String> companyCodeList;
115
116
117
    /** 仓库编码列表 */
    private List<String> warehouseCodeList;
tangying authored
118
119
120
121
    /** 搜索值 */
    private String searchValue;

    /** 创建者 */
122
    @TableField(value = "createBy")
tangying authored
123
124
125
126
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
127
    @TableField(value = "createTime")
tangying authored
128
129
130
    private Date createTime;

    /** 更新者 */
131
    @TableField(value = "updateBy")
tangying authored
132
133
134
135
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
136
    @TableField(value = "updateTime")
tangying authored
137
138
139
    private Date updateTime;

    /** 备注 */
140
    @TableField(value = "remark")
tangying authored
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
    private String remark;

    /** 请求参数 */
    private Map<String, Object> params;

    /**
     * 生成随机盐
     */
    public void randomSalt()
    {
        // 一个Byte占两个字节,此处生成的3字节,字符串长度为6
        SecureRandomNumberGenerator secureRandom = new SecureRandomNumberGenerator();
        String hex = secureRandom.nextBytes(3).toHex();
        setSalt(hex);
    }
157
    public boolean isAdmin()
tangying authored
158
    {
159
        return isAdmin(this.id);
tangying authored
160
161
    }
162
    public static boolean isAdmin(Integer id)
tangying authored
163
    {
164
        return id != null && 1L == id;
tangying authored
165
166
    }
167
    public static boolean isAdmin(String loginName)
tangying authored
168
    {
169
        return loginName.equals("superAdmin");
tangying authored
170
171
172
173
174
175
176
177
178
179
180
181
182
    }

    @Override
    public String toString()
    {
        return "User [id=" + id + ", deptId=" + deptId + ", parentId=" + parentId + ", loginName=" + loginName
                + ", userName=" + userName + ", email=" + email + ", phoneNumber=" + phoneNumber + ", sex=" + sex
                + ", avatar=" + avatar + ", password=" + password + ", salt=" + salt + ", enable=" + enable
                + ", deleted=" + deleted + ", loginIp=" + loginIp + ", loginDate=" + loginDate + ", dept=" + dept + "]";
//                + ", roleIds=" + String.join(",", roleIds) + ", companyIds=" + Arrays.toString(companyIds.toArray()) + "]";
    }

}