Files
guoxue-java/src/main/java/com/gxwebsoft/common/system/entity/User.java
T
gxwebsoft 428e4996f9 初始化
2023-06-04 00:28:12 +08:00

239 lines
5.6 KiB
Java

package com.gxwebsoft.common.system.entity;
import cn.hutool.core.util.DesensitizedUtil;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.security.core.userdetails.UserDetails;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 用户
*
* @author WebSoft
* @since 2018-12-24 16:10:13
*/
@Data
@ApiModel(description = "用户")
@TableName("sys_user")
public class User implements UserDetails {
private static final long serialVersionUID = 1L;
@ApiModelProperty("用户id")
@TableId(type = IdType.AUTO)
private Integer userId;
@ApiModelProperty("用户类型, 0普通用户 6开发者 10企业用户")
private Integer type;
@ApiModelProperty("用户编码")
private String userCode;
@ApiModelProperty("账号")
private String username;
@ApiModelProperty("密码")
private String password;
@ApiModelProperty("昵称")
private String nickname;
@ApiModelProperty("头像")
private String avatar;
@ApiModelProperty("性别, 字典标识")
private String sex;
@ApiModelProperty("手机号")
private String phone;
@ApiModelProperty("邮箱")
private String email;
@ApiModelProperty("职务")
private String position;
@ApiModelProperty("邮箱是否验证, 0否, 1是")
private Integer emailVerified;
@ApiModelProperty("别名")
private String alias;
@ApiModelProperty("真实姓名")
private String realName;
@ApiModelProperty("身份证号")
private String idCard;
@ApiModelProperty("出生日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date birthday;
@ApiModelProperty("所在国家")
private String country;
@ApiModelProperty(value = "所在省份")
private String province;
@ApiModelProperty(value = "所在城市")
private String city;
@ApiModelProperty(value = "所在辖区")
private String region;
@ApiModelProperty("街道地址")
private String address;
@ApiModelProperty("用户可用余额")
private BigDecimal balance;
@ApiModelProperty("用户可用积分")
private Integer points;
@ApiModelProperty("用户总支付的金额")
private String payMoney;
@ApiModelProperty("实际消费的金额(不含退款)")
private String expendMoney;
@ApiModelProperty("会员等级ID")
private Integer gradeId;
@ApiModelProperty("个人简介")
private String introduction;
@ApiModelProperty("机构ID")
private Integer organizationId;
@ApiModelProperty("客户ID")
private Integer customerId;
@ApiModelProperty("企业ID")
private Integer companyId;
@ApiModelProperty("注册来源客户端")
private String platform;
@ApiModelProperty("备注")
private String comments;
@ApiModelProperty("状态, 0正常, 1冻结")
private Integer status;
@ApiModelProperty("是否删除, 0否, 1是")
@TableLogic
private Integer deleted;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "租户名称")
@TableField(exist = false)
private String tenantName;
@ApiModelProperty(value = "最后结算时间")
private Date settlementTime;
@ApiModelProperty("注册时间")
private Date createTime;
@ApiModelProperty("修改时间")
private Date updateTime;
@ApiModelProperty("公司名称")
private String companyName;
@ApiModelProperty("是否已实名认证")
private Integer certification;
@ApiModelProperty("机构名称")
@TableField(exist = false)
private String organizationName;
@ApiModelProperty("性别名称")
@TableField(exist = false)
private String sexName;
@ApiModelProperty("默认注册的角色ID")
@TableField(exist = false)
private Integer roleId;
@ApiModelProperty("角色列表")
@TableField(exist = false)
private List<Role> roles;
@ApiModelProperty("权限列表")
@TableField(exist = false)
private List<Menu> authorities;
@ApiModelProperty("微信凭证")
@TableField(exist = false)
private String code;
@ApiModelProperty("所属商户的编号")
@TableField(exist = false)
private String merchantCode;
@ApiModelProperty("所属商户名称")
@TableField(exist = false)
private String merchantName;
@ApiModelProperty("ico文件")
@TableField(exist = false)
private String logo;
@ApiModelProperty("创建的应用数量")
@TableField(exist = false)
private Double apps;
@ApiModelProperty("租户设置信息")
@TableField(exist = false)
private String setting;
@ApiModelProperty("手机号(脱敏)")
@TableField(exist = false)
private String mobile;
@ApiModelProperty("企业信息")
@TableField(exist = false)
private Company companyInfo;
@Override
public boolean isAccountNonExpired() {
return true;
}
@Override
public boolean isAccountNonLocked() {
return this.status != null && this.status == 0;
}
@Override
public boolean isCredentialsNonExpired() {
return true;
}
@Override
public boolean isEnabled() {
return true;
}
//
// public String getRealName(){
// return DesensitizedUtil.chineseName(this.realName);
// }
//
// public String getIdCard(){
// return DesensitizedUtil.idCardNum(this.idCard,1,2);
// }
public String getMobile(){
return DesensitizedUtil.mobilePhone(this.phone);
}
}