skyouc
2024-12-21 c635d78b479510ebe2556a420948effcd30a0731
zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/entity/User.java
@@ -1,380 +1,380 @@
package com.zy.asrs.wms.system.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.asrs.common.domain.enums.LoginSystemType;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.SpringUtils;
import com.zy.asrs.wms.system.service.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import net.sf.jsqlparser.expression.LongValue;
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 Long[] roleIds;
    @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;
    }
    public Long[] getRoleIds() {
        return this.roleIds;
    }
    public Long[] getUserRoleIds() {
        UserRoleService service = SpringUtils.getBean(UserRoleService.class);
        List<UserRole> list = service.list(new LambdaQueryWrapper<UserRole>().eq(UserRole::getUserId, this.id));
        return list.stream().map(UserRole::getRoleId).toArray(Long[]::new);
    }
    @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;
    }
    public Long getHostId() {
        boolean root = false;
        UserRoleService userRoleService = SpringUtils.getBean(UserRoleService.class);
        UserLoginService userLoginService = SpringUtils.getBean(UserLoginService.class);
        List<Role> roles = userRoleService.listByUserId(this.id);
        for (Role role : roles) {
            if (role.getId() == 1) {
                root = true;
                break;
            }
        }
        if (root) {
            UserLogin userLogin = userLoginService.superFindByUserId(this.id, String.valueOf(LoginSystemType.WMS));
            if (userLogin != null) {
                return userLogin.getHostId();
            }
        }
        return this.hostId;
    }
}
package com.zy.asrs.wms.system.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.asrs.common.domain.enums.LoginSystemType;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.SpringUtils;
import com.zy.asrs.wms.system.service.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import net.sf.jsqlparser.expression.LongValue;
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 Long[] roleIds;
    @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;
    }
    public Long[] getRoleIds() {
        return this.roleIds;
    }
    public Long[] getUserRoleIds() {
        UserRoleService service = SpringUtils.getBean(UserRoleService.class);
        List<UserRole> list = service.list(new LambdaQueryWrapper<UserRole>().eq(UserRole::getUserId, this.id));
        return list.stream().map(UserRole::getRoleId).toArray(Long[]::new);
    }
    @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;
    }
    public Long getHostId() {
        boolean root = false;
        UserRoleService userRoleService = SpringUtils.getBean(UserRoleService.class);
        UserLoginService userLoginService = SpringUtils.getBean(UserLoginService.class);
        List<Role> roles = userRoleService.listByUserId(this.id);
        for (Role role : roles) {
            if (role.getId() == 1) {
                root = true;
                break;
            }
        }
        if (root) {
            UserLogin userLogin = userLoginService.superFindByUserId(this.id, String.valueOf(LoginSystemType.WMS));
            if (userLogin != null) {
                return userLogin.getHostId();
            }
        }
        return this.hostId;
    }
}