liujie
5 天以前 3b64bcc08e7103006599278f7fe3d8cdeebf30b5
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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
package com.ruoyi.user.domain;
 
import java.util.Date;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.annotation.Excel.ColumnType;
import com.ruoyi.common.core.web.domain.BaseEntity;
 
/**
 * C端会员用户表 account_user
 *
 * @author ruoyi
 */
public class AccountUser extends BaseEntity
{
    private static final long serialVersionUID = 1L;
 
    /** 会员ID */
    @Excel(name = "会员ID", cellType = ColumnType.NUMERIC)
    private Long userId;
 
    /**
     * 用户名
     *
     * 注意:属性名刻意用驼峰 userName,与上游 SysUser.userName 一致。网关的 AuthFilter 会
     * 给每个转发请求加上请求头 username=<登录名>(SecurityConstants.DETAILS_USERNAME),
     * 而 Spring 6+ 的 @ModelAttribute 会把请求头一并绑定到命令对象——若此处叫 username,
     * 列表/导出接口在未显式传参时会被注入当前登录名,导致查询结果被静默过滤(实测列表恒为空)。
     */
    @Excel(name = "用户名")
    private String userName;
 
    /** 手机号 */
    @Excel(name = "手机号")
    private String phone;
 
    /** 密码(BCrypt 存储)。只入不出,避免密码随响应回传 */
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private String password;
 
    /** 昵称 */
    @Excel(name = "昵称")
    private String nickname;
 
    /** 头像地址 */
    private String avatar;
 
    /** 性别(0男 1女 2未知,对齐 sys_user_sex 字典) */
    @Excel(name = "性别", readConverterExp = "0=男,1=女,2=未知")
    private String gender;
 
    /** 生日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;
 
    /** 状态(0正常 1停用) */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;
 
    /** 删除标志(0存在 2删除) */
    private String delFlag;
 
    public Long getUserId()
    {
        return userId;
    }
 
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }
 
    @NotBlank(message = "用户名不能为空")
    @Size(min = 0, max = 64, message = "用户名长度不能超过64个字符")
    public String getUserName()
    {
        return userName;
    }
 
    public void setUserName(String userName)
    {
        this.userName = userName;
    }
 
    @Size(min = 0, max = 20, message = "手机号长度不能超过20个字符")
    public String getPhone()
    {
        return phone;
    }
 
    public void setPhone(String phone)
    {
        this.phone = phone;
    }
 
    @Size(min = 0, max = 20, message = "密码长度必须在5到20个字符之间")
    public String getPassword()
    {
        return password;
    }
 
    public void setPassword(String password)
    {
        this.password = password;
    }
 
    @Size(min = 0, max = 64, message = "昵称长度不能超过64个字符")
    public String getNickname()
    {
        return nickname;
    }
 
    public void setNickname(String nickname)
    {
        this.nickname = nickname;
    }
 
    public String getAvatar()
    {
        return avatar;
    }
 
    public void setAvatar(String avatar)
    {
        this.avatar = avatar;
    }
 
    public String getGender()
    {
        return gender;
    }
 
    public void setGender(String gender)
    {
        this.gender = gender;
    }
 
    public Date getBirthday()
    {
        return birthday;
    }
 
    public void setBirthday(Date birthday)
    {
        this.birthday = birthday;
    }
 
    public String getStatus()
    {
        return status;
    }
 
    public void setStatus(String status)
    {
        this.status = status;
    }
 
    public String getDelFlag()
    {
        return delFlag;
    }
 
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }
 
    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("userId", getUserId())
            .append("userName", getUserName())
            .append("phone", getPhone())
            .append("nickname", getNickname())
            .append("avatar", getAvatar())
            .append("gender", getGender())
            .append("birthday", getBirthday())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}