| package com.zy.asrs.wcs.system.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.system.service.DeptService; | 
| import com.zy.asrs.wcs.system.service.HostService; | 
| import com.zy.asrs.wcs.system.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.getNickname()); | 
|         } | 
|         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.getNickname()); | 
|         } | 
|         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; | 
|     } | 
|   | 
| } |