package com.zy.asrs.wcs.sys.entity;
|
|
import com.baomidou.mybatisplus.annotation.*;
|
import com.zy.asrs.framework.common.Cools;
|
import com.zy.asrs.framework.common.SpringUtils;
|
import com.zy.asrs.wcs.sys.service.DeptService;
|
import com.zy.asrs.wcs.sys.service.HostService;
|
import com.zy.asrs.wcs.sys.service.UserService;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.Data;
|
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.security.core.userdetails.UserDetails;
|
|
import java.io.Serializable;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.List;
|
|
@Data
|
@TableName("sys_user")
|
public class User implements Serializable, UserDetails {
|
|
private static final long serialVersionUID = 1L;
|
|
/**
|
* ID
|
*/
|
@ApiModelProperty(value= "ID")
|
@TableId(value = "id", type = IdType.AUTO)
|
private Long id;
|
|
/**
|
* 账号
|
*/
|
@ApiModelProperty(value= "账号")
|
private String username;
|
|
/**
|
* 密码
|
*/
|
@ApiModelProperty(value= "密码")
|
private String password;
|
|
/**
|
* 昵称
|
*/
|
@ApiModelProperty(value= "昵称")
|
private String nickname;
|
|
/**
|
* 头像
|
*/
|
@ApiModelProperty(value= "头像")
|
private String avatar;
|
|
/**
|
* 工号
|
*/
|
@ApiModelProperty(value= "工号")
|
private String code;
|
|
/**
|
* 性别 0: 未知 1: 男 2: 女
|
*/
|
@ApiModelProperty(value= "性别 0: 未知 1: 男 2: 女 ")
|
private Integer sex;
|
|
/**
|
* 手机号
|
*/
|
@ApiModelProperty(value= "手机号")
|
private String phone;
|
|
/**
|
* 邮箱
|
*/
|
@ApiModelProperty(value= "邮箱")
|
private String email;
|
|
/**
|
* 邮箱验证 0: 否 1: 是
|
*/
|
@ApiModelProperty(value= "邮箱验证 0: 否 1: 是 ")
|
private Integer emailVerified;
|
|
/**
|
* 所属部门
|
*/
|
@ApiModelProperty(value= "所属部门")
|
private Long deptId;
|
|
/**
|
* 真实姓名
|
*/
|
@ApiModelProperty(value= "真实姓名")
|
private String realName;
|
|
/**
|
* 身份证号
|
*/
|
@ApiModelProperty(value= "身份证号")
|
private String idCard;
|
|
/**
|
* 出生日期
|
*/
|
@ApiModelProperty(value= "出生日期")
|
private String birthday;
|
|
/**
|
* 个人简介
|
*/
|
@ApiModelProperty(value= "个人简介")
|
private String introduction;
|
|
/**
|
* 所属机构
|
*/
|
@ApiModelProperty(value= "所属机构")
|
private Long hostId;
|
|
/**
|
* 状态 1: 正常 0: 禁用
|
*/
|
@ApiModelProperty(value= "状态 1: 正常 0: 禁用 ")
|
private Integer status;
|
|
/**
|
* 是否删除 1: 是 0: 否
|
*/
|
@ApiModelProperty(value= "是否删除 1: 是 0: 否 ")
|
@TableLogic
|
private Integer deleted;
|
|
/**
|
* 添加时间
|
*/
|
@ApiModelProperty(value= "添加时间")
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
private Date createTime;
|
|
/**
|
* 添加人员
|
*/
|
@ApiModelProperty(value= "添加人员")
|
private Long createBy;
|
|
/**
|
* 修改时间
|
*/
|
@ApiModelProperty(value= "修改时间")
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
private Date updateTime;
|
|
/**
|
* 修改人员
|
*/
|
@ApiModelProperty(value= "修改人员")
|
private Long updateBy;
|
|
/**
|
* 备注
|
*/
|
@ApiModelProperty(value= "备注")
|
private String memo;
|
|
@TableField(exist = false)
|
private List<Role> roles;
|
|
@TableField(exist = false)
|
private List<Menu> authorities;
|
|
public User() {}
|
|
public User(String username,String password,String nickname,String avatar,String code,Integer sex,String phone,String email,Integer emailVerified,Long deptId,String realName,String idCard,String birthday,String introduction,Long hostId,Integer status,Integer deleted,Date createTime,Long createBy,Date updateTime,Long updateBy,String memo) {
|
this.username = username;
|
this.password = password;
|
this.nickname = nickname;
|
this.avatar = avatar;
|
this.code = code;
|
this.sex = sex;
|
this.phone = phone;
|
this.email = email;
|
this.emailVerified = emailVerified;
|
this.deptId = deptId;
|
this.realName = realName;
|
this.idCard = idCard;
|
this.birthday = birthday;
|
this.introduction = introduction;
|
this.hostId = hostId;
|
this.status = status;
|
this.deleted = deleted;
|
this.createTime = createTime;
|
this.createBy = createBy;
|
this.updateTime = updateTime;
|
this.updateBy = updateBy;
|
this.memo = memo;
|
}
|
|
// User user = new User(
|
// null, // 账号[非空]
|
// null, // 密码
|
// null, // 昵称
|
// null, // 头像
|
// null, // 工号
|
// null, // 性别
|
// null, // 手机号
|
// null, // 邮箱
|
// null, // 邮箱验证
|
// null, // 所属部门
|
// null, // 真实姓名
|
// null, // 身份证号
|
// null, // 出生日期
|
// null, // 个人简介
|
// null, // 所属机构
|
// null, // 状态
|
// null, // 是否删除
|
// null, // 添加时间
|
// null, // 添加人员
|
// null, // 修改时间
|
// null, // 修改人员
|
// null // 备注
|
// );
|
|
public String getSex$(){
|
if (null == this.sex){ return null; }
|
switch (this.sex){
|
case 0:
|
return "未知";
|
case 1:
|
return "男";
|
case 2:
|
return "女";
|
default:
|
return String.valueOf(this.sex);
|
}
|
}
|
|
public String getEmailVerified$(){
|
if (null == this.emailVerified){ return null; }
|
switch (this.emailVerified){
|
case 0:
|
return "否";
|
case 1:
|
return "是";
|
default:
|
return String.valueOf(this.emailVerified);
|
}
|
}
|
|
public String getDeptId$(){
|
DeptService service = SpringUtils.getBean(DeptService.class);
|
Dept dept = service.getById(this.deptId);
|
if (!Cools.isEmpty(dept)){
|
return String.valueOf(dept.getName());
|
}
|
return null;
|
}
|
|
public String getHostId$(){
|
HostService service = SpringUtils.getBean(HostService.class);
|
Host host = service.getById(this.hostId);
|
if (!Cools.isEmpty(host)){
|
return String.valueOf(host.getName());
|
}
|
return null;
|
}
|
|
public String getStatus$(){
|
if (null == this.status){ return null; }
|
switch (this.status){
|
case 1:
|
return "正常";
|
case 0:
|
return "禁用";
|
default:
|
return String.valueOf(this.status);
|
}
|
}
|
|
public String getDeleted$(){
|
if (null == this.deleted){ return null; }
|
switch (this.deleted){
|
case 1:
|
return "是";
|
case 0:
|
return "否";
|
default:
|
return String.valueOf(this.deleted);
|
}
|
}
|
|
public String getCreateTime$(){
|
if (Cools.isEmpty(this.createTime)){
|
return "";
|
}
|
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
|
}
|
|
public String getCreateBy$(){
|
UserService service = SpringUtils.getBean(UserService.class);
|
User user = service.getById(this.createBy);
|
if (!Cools.isEmpty(user)){
|
return String.valueOf(user.getId());
|
}
|
return null;
|
}
|
|
public String getUpdateTime$(){
|
if (Cools.isEmpty(this.updateTime)){
|
return "";
|
}
|
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
|
}
|
|
public String getUpdateBy$(){
|
UserService service = SpringUtils.getBean(UserService.class);
|
User user = service.getById(this.updateBy);
|
if (!Cools.isEmpty(user)){
|
return String.valueOf(user.getId());
|
}
|
return null;
|
}
|
|
@Override
|
public boolean isAccountNonExpired() {
|
return true;
|
}
|
|
@Override
|
public boolean isAccountNonLocked() {
|
return this.status != null && this.status == 1;
|
}
|
|
@Override
|
public boolean isCredentialsNonExpired() {
|
return true;
|
}
|
|
@Override
|
public boolean isEnabled() {
|
return true;
|
}
|
|
}
|