//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package com.testor.biz.sys.user.model.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.tongtech.tfw.backend.common.models.supers.SuperModel;
import com.tongtech.tfw.backend.common.models.supers.SuperModel.SuperModelBuilder;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Date;

@Data
@TableName("t_sys_user")
public class SysUser extends SuperModel {
    private static final long serialVersionUID = 1L;
    @TableId
    @ApiModelProperty("用户表主键")
    private String userId;
    @ApiModelProperty("机构表主键")
    private String orgId;
    @ApiModelProperty("登录账号")
    private String loginName;
    @ApiModelProperty("登录密码")
    private String loginPwd;
    @ApiModelProperty("用户昵称")
    private String userName;
    @ApiModelProperty("用户类型，在系统内部使用0表示系统管理员，1表示不是系统内部的人员")
    private String userType;
    @ApiModelProperty("用户头像")
    private String photoUrl;
    @ApiModelProperty("最后登陆IP")
    private String loginIp;
    @ApiModelProperty("最后登陆时间")
    private Date loginDate;
    @ApiModelProperty("密码安全级别，密码安全级别（ 1弱 2一般 3安全）")
    private String pwdSecurityLevel;
    @ApiModelProperty("用户性别0男1女")
    private String sex;
    @ApiModelProperty("年龄")
    private int age;
    @ApiModelProperty("联系地址")
    private String address;
    @ApiModelProperty("邮政编码")
    private String zipCode;
    @ApiModelProperty("电话")
    private String phoneNo;
    @ApiModelProperty("传真")
    private String fax;
    @ApiModelProperty("邮箱")
    private String email;
    @ApiModelProperty("UKEY-USER-PID")
    private String userKeyPid;
    @ApiModelProperty("部门id")
    private String deptId;
    @ApiModelProperty("主岗位id")
    private String postId;
    @ApiModelProperty("副岗位id")
    private String deputyPostId;
    @ApiModelProperty("企业名称")
    private String orgName;
    @ApiModelProperty("岗位名称")
    private String postName;
    public static final String USER_ID = "user_id";
    public static final String ORG_ID = "org_id";
    public static final String LOGIN_NAME = "login_name";
    public static final String LOGIN_PWD = "login_pwd";
    public static final String USER_NAME = "user_name";
    public static final String USER_TYPE = "user_type";
    public static final String PHOTO_URL = "photo_url";
    public static final String LOGIN_IP = "login_ip";
    public static final String LOGIN_DATE = "login_date";
    public static final String PWD_SECURITY_LEVEL = "pwd_security_level";
    public static final String SEX = "sex";
    public static final String ADDRESS = "address";
    public static final String ZIP_CODE = "zip_code";
    public static final String PHONE_NO = "phone_no";
    public static final String FAX = "fax";
    public static final String EMAIL = "email";
    public static final String DEPT_ID = "dept_id";
    public static final String POST_ID = "post_id";
    public static final String USER_KEY_PID = "user_key_pid";
    public static final String DEPUTY_POST_ID = "deputy_post_id";
    public static final String ORG_NAME = "org_name";
    public static final String POST_NAME = "post_name";

    protected SysUser(final SysUser.SysUserBuilder<?, ?> b) {
        super(b);
        this.userId = b.userId;
        this.orgId = b.orgId;
        this.loginName = b.loginName;
        this.loginPwd = b.loginPwd;
        this.userName = b.userName;
        this.userType = b.userType;
        this.photoUrl = b.photoUrl;
        this.loginIp = b.loginIp;
        this.loginDate = b.loginDate;
        this.pwdSecurityLevel = b.pwdSecurityLevel;
        this.sex = b.sex;
        this.age = b.age;
        this.address = b.address;
        this.zipCode = b.zipCode;
        this.phoneNo = b.phoneNo;
        this.fax = b.fax;
        this.email = b.email;
        this.userKeyPid = b.userKeyPid;
        this.deptId = b.deptId;
        this.postId = b.postId;
        this.deputyPostId = b.deputyPostId;
        this.orgName = b.orgName;
        this.postName = b.postName;
    }

    public static SysUser.SysUserBuilder<?, ?> builder() {
        return new SysUser.SysUserBuilderImpl();
    }

    public String getUserId() {
        return this.userId;
    }

    public String getOrgId() {
        return this.orgId;
    }

    public String getLoginName() {
        return this.loginName;
    }

    public String getLoginPwd() {
        return this.loginPwd;
    }

    public String getUserName() {
        return this.userName;
    }

    public String getUserType() {
        return this.userType;
    }

    public String getPhotoUrl() {
        return this.photoUrl;
    }

    public String getLoginIp() {
        return this.loginIp;
    }

    public Date getLoginDate() {
        return this.loginDate;
    }

    public String getPwdSecurityLevel() {
        return this.pwdSecurityLevel;
    }

    public String getSex() {
        return this.sex;
    }

    public int getAge() {
        return this.age;
    }

    public String getAddress() {
        return this.address;
    }

    public String getZipCode() {
        return this.zipCode;
    }

    public String getPhoneNo() {
        return this.phoneNo;
    }

    public String getFax() {
        return this.fax;
    }

    public String getEmail() {
        return this.email;
    }

    public String getUserKeyPid() {
        return this.userKeyPid;
    }

    public String getDeptId() {
        return this.deptId;
    }

    public String getPostId() {
        return this.postId;
    }

    public String getDeputyPostId() {
        return this.deputyPostId;
    }

    public String getOrgName() {
        return this.orgName;
    }

    public String getPostName() {
        return this.postName;
    }

    public SysUser setUserId(final String userId) {
        this.userId = userId;
        return this;
    }

    public SysUser setOrgId(final String orgId) {
        this.orgId = orgId;
        return this;
    }

    public SysUser setLoginName(final String loginName) {
        this.loginName = loginName;
        return this;
    }

    public SysUser setLoginPwd(final String loginPwd) {
        this.loginPwd = loginPwd;
        return this;
    }

    public SysUser setUserName(final String userName) {
        this.userName = userName;
        return this;
    }

    public SysUser setUserType(final String userType) {
        this.userType = userType;
        return this;
    }

    public SysUser setPhotoUrl(final String photoUrl) {
        this.photoUrl = photoUrl;
        return this;
    }

    public SysUser setLoginIp(final String loginIp) {
        this.loginIp = loginIp;
        return this;
    }

    public SysUser setLoginDate(final Date loginDate) {
        this.loginDate = loginDate;
        return this;
    }

    public SysUser setPwdSecurityLevel(final String pwdSecurityLevel) {
        this.pwdSecurityLevel = pwdSecurityLevel;
        return this;
    }

    public SysUser setSex(final String sex) {
        this.sex = sex;
        return this;
    }

    public SysUser setAge(final int age) {
        this.age = age;
        return this;
    }

    public SysUser setAddress(final String address) {
        this.address = address;
        return this;
    }

    public SysUser setZipCode(final String zipCode) {
        this.zipCode = zipCode;
        return this;
    }

    public SysUser setPhoneNo(final String phoneNo) {
        this.phoneNo = phoneNo;
        return this;
    }

    public SysUser setFax(final String fax) {
        this.fax = fax;
        return this;
    }

    public SysUser setEmail(final String email) {
        this.email = email;
        return this;
    }

    public SysUser setUserKeyPid(final String userKeyPid) {
        this.userKeyPid = userKeyPid;
        return this;
    }

    public SysUser setDeptId(final String deptId) {
        this.deptId = deptId;
        return this;
    }

    public SysUser setPostId(final String postId) {
        this.postId = postId;
        return this;
    }

    public SysUser setDeputyPostId(final String deputyPostId) {
        this.deputyPostId = deputyPostId;
        return this;
    }

    public SysUser setOrgName(final String orgName) {
        this.orgName = orgName;
        return this;
    }

    public SysUser setPostName(final String postName) {
        this.postName = postName;
        return this;
    }

    @Override
    public String toString() {
        return "SysUser(userId=" + this.getUserId() + ", orgId=" + this.getOrgId() + ", loginName=" + this.getLoginName() + ", loginPwd=" + this.getLoginPwd() + ", userName=" + this.getUserName() + ", userType=" + this.getUserType() + ", photoUrl=" + this.getPhotoUrl() + ", loginIp=" + this.getLoginIp() + ", loginDate=" + this.getLoginDate() + ", pwdSecurityLevel=" + this.getPwdSecurityLevel() + ", sex=" + this.getSex() + ", age=" + this.getAge() + ", address=" + this.getAddress() + ", zipCode=" + this.getZipCode() + ", phoneNo=" + this.getPhoneNo() + ", fax=" + this.getFax() + ", email=" + this.getEmail() + ", userKeyPid=" + this.getUserKeyPid() + ", deptId=" + this.getDeptId() + ", postId=" + this.getPostId() + ", deputyPostId=" + this.getDeputyPostId() + ", orgName=" + this.getOrgName() + ", postName=" + this.getPostName() + ")";
    }

    @Override
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof SysUser)) {
            return false;
        } else {
            SysUser other = (SysUser)o;
            if (!other.canEqual(this)) {
                return false;
            } else if (!super.equals(o)) {
                return false;
            } else if (this.getAge() != other.getAge()) {
                return false;
            } else {
                label280: {
                    Object this$userId = this.getUserId();
                    Object other$userId = other.getUserId();
                    if (this$userId == null) {
                        if (other$userId == null) {
                            break label280;
                        }
                    } else if (this$userId.equals(other$userId)) {
                        break label280;
                    }

                    return false;
                }

                Object this$orgId = this.getOrgId();
                Object other$orgId = other.getOrgId();
                if (this$orgId == null) {
                    if (other$orgId != null) {
                        return false;
                    }
                } else if (!this$orgId.equals(other$orgId)) {
                    return false;
                }

                label266: {
                    Object this$loginName = this.getLoginName();
                    Object other$loginName = other.getLoginName();
                    if (this$loginName == null) {
                        if (other$loginName == null) {
                            break label266;
                        }
                    } else if (this$loginName.equals(other$loginName)) {
                        break label266;
                    }

                    return false;
                }

                label259: {
                    Object this$loginPwd = this.getLoginPwd();
                    Object other$loginPwd = other.getLoginPwd();
                    if (this$loginPwd == null) {
                        if (other$loginPwd == null) {
                            break label259;
                        }
                    } else if (this$loginPwd.equals(other$loginPwd)) {
                        break label259;
                    }

                    return false;
                }

                Object this$userName = this.getUserName();
                Object other$userName = other.getUserName();
                if (this$userName == null) {
                    if (other$userName != null) {
                        return false;
                    }
                } else if (!this$userName.equals(other$userName)) {
                    return false;
                }

                Object this$userType = this.getUserType();
                Object other$userType = other.getUserType();
                if (this$userType == null) {
                    if (other$userType != null) {
                        return false;
                    }
                } else if (!this$userType.equals(other$userType)) {
                    return false;
                }

                label238: {
                    Object this$photoUrl = this.getPhotoUrl();
                    Object other$photoUrl = other.getPhotoUrl();
                    if (this$photoUrl == null) {
                        if (other$photoUrl == null) {
                            break label238;
                        }
                    } else if (this$photoUrl.equals(other$photoUrl)) {
                        break label238;
                    }

                    return false;
                }

                label231: {
                    Object this$loginIp = this.getLoginIp();
                    Object other$loginIp = other.getLoginIp();
                    if (this$loginIp == null) {
                        if (other$loginIp == null) {
                            break label231;
                        }
                    } else if (this$loginIp.equals(other$loginIp)) {
                        break label231;
                    }

                    return false;
                }

                Object this$loginDate = this.getLoginDate();
                Object other$loginDate = other.getLoginDate();
                if (this$loginDate == null) {
                    if (other$loginDate != null) {
                        return false;
                    }
                } else if (!this$loginDate.equals(other$loginDate)) {
                    return false;
                }

                label217: {
                    Object this$pwdSecurityLevel = this.getPwdSecurityLevel();
                    Object other$pwdSecurityLevel = other.getPwdSecurityLevel();
                    if (this$pwdSecurityLevel == null) {
                        if (other$pwdSecurityLevel == null) {
                            break label217;
                        }
                    } else if (this$pwdSecurityLevel.equals(other$pwdSecurityLevel)) {
                        break label217;
                    }

                    return false;
                }

                Object this$sex = this.getSex();
                Object other$sex = other.getSex();
                if (this$sex == null) {
                    if (other$sex != null) {
                        return false;
                    }
                } else if (!this$sex.equals(other$sex)) {
                    return false;
                }

                label203: {
                    Object this$address = this.getAddress();
                    Object other$address = other.getAddress();
                    if (this$address == null) {
                        if (other$address == null) {
                            break label203;
                        }
                    } else if (this$address.equals(other$address)) {
                        break label203;
                    }

                    return false;
                }

                Object this$zipCode = this.getZipCode();
                Object other$zipCode = other.getZipCode();
                if (this$zipCode == null) {
                    if (other$zipCode != null) {
                        return false;
                    }
                } else if (!this$zipCode.equals(other$zipCode)) {
                    return false;
                }

                Object this$phoneNo = this.getPhoneNo();
                Object other$phoneNo = other.getPhoneNo();
                if (this$phoneNo == null) {
                    if (other$phoneNo != null) {
                        return false;
                    }
                } else if (!this$phoneNo.equals(other$phoneNo)) {
                    return false;
                }

                label182: {
                    Object this$fax = this.getFax();
                    Object other$fax = other.getFax();
                    if (this$fax == null) {
                        if (other$fax == null) {
                            break label182;
                        }
                    } else if (this$fax.equals(other$fax)) {
                        break label182;
                    }

                    return false;
                }

                label175: {
                    Object this$email = this.getEmail();
                    Object other$email = other.getEmail();
                    if (this$email == null) {
                        if (other$email == null) {
                            break label175;
                        }
                    } else if (this$email.equals(other$email)) {
                        break label175;
                    }

                    return false;
                }

                label168: {
                    Object this$userKeyPid = this.getUserKeyPid();
                    Object other$userKeyPid = other.getUserKeyPid();
                    if (this$userKeyPid == null) {
                        if (other$userKeyPid == null) {
                            break label168;
                        }
                    } else if (this$userKeyPid.equals(other$userKeyPid)) {
                        break label168;
                    }

                    return false;
                }

                Object this$deptId = this.getDeptId();
                Object other$deptId = other.getDeptId();
                if (this$deptId == null) {
                    if (other$deptId != null) {
                        return false;
                    }
                } else if (!this$deptId.equals(other$deptId)) {
                    return false;
                }

                label154: {
                    Object this$postId = this.getPostId();
                    Object other$postId = other.getPostId();
                    if (this$postId == null) {
                        if (other$postId == null) {
                            break label154;
                        }
                    } else if (this$postId.equals(other$postId)) {
                        break label154;
                    }

                    return false;
                }

                label147: {
                    Object this$deputyPostId = this.getDeputyPostId();
                    Object other$deputyPostId = other.getDeputyPostId();
                    if (this$deputyPostId == null) {
                        if (other$deputyPostId == null) {
                            break label147;
                        }
                    } else if (this$deputyPostId.equals(other$deputyPostId)) {
                        break label147;
                    }

                    return false;
                }

                Object this$orgName = this.getOrgName();
                Object other$orgName = other.getOrgName();
                if (this$orgName == null) {
                    if (other$orgName != null) {
                        return false;
                    }
                } else if (!this$orgName.equals(other$orgName)) {
                    return false;
                }

                Object this$postName = this.getPostName();
                Object other$postName = other.getPostName();
                if (this$postName == null) {
                    if (other$postName != null) {
                        return false;
                    }
                } else if (!this$postName.equals(other$postName)) {
                    return false;
                }

                return true;
            }
        }
    }

    @Override
    protected boolean canEqual(final Object other) {
        return other instanceof SysUser;
    }

    @Override
    public int hashCode() {
        boolean PRIME = true;
        int result = super.hashCode();
        result = result * 59 + this.getAge();
        Object $userId = this.getUserId();
        result = result * 59 + ($userId == null ? 43 : $userId.hashCode());
        Object $orgId = this.getOrgId();
        result = result * 59 + ($orgId == null ? 43 : $orgId.hashCode());
        Object $loginName = this.getLoginName();
        result = result * 59 + ($loginName == null ? 43 : $loginName.hashCode());
        Object $loginPwd = this.getLoginPwd();
        result = result * 59 + ($loginPwd == null ? 43 : $loginPwd.hashCode());
        Object $userName = this.getUserName();
        result = result * 59 + ($userName == null ? 43 : $userName.hashCode());
        Object $userType = this.getUserType();
        result = result * 59 + ($userType == null ? 43 : $userType.hashCode());
        Object $photoUrl = this.getPhotoUrl();
        result = result * 59 + ($photoUrl == null ? 43 : $photoUrl.hashCode());
        Object $loginIp = this.getLoginIp();
        result = result * 59 + ($loginIp == null ? 43 : $loginIp.hashCode());
        Object $loginDate = this.getLoginDate();
        result = result * 59 + ($loginDate == null ? 43 : $loginDate.hashCode());
        Object $pwdSecurityLevel = this.getPwdSecurityLevel();
        result = result * 59 + ($pwdSecurityLevel == null ? 43 : $pwdSecurityLevel.hashCode());
        Object $sex = this.getSex();
        result = result * 59 + ($sex == null ? 43 : $sex.hashCode());
        Object $address = this.getAddress();
        result = result * 59 + ($address == null ? 43 : $address.hashCode());
        Object $zipCode = this.getZipCode();
        result = result * 59 + ($zipCode == null ? 43 : $zipCode.hashCode());
        Object $phoneNo = this.getPhoneNo();
        result = result * 59 + ($phoneNo == null ? 43 : $phoneNo.hashCode());
        Object $fax = this.getFax();
        result = result * 59 + ($fax == null ? 43 : $fax.hashCode());
        Object $email = this.getEmail();
        result = result * 59 + ($email == null ? 43 : $email.hashCode());
        Object $userKeyPid = this.getUserKeyPid();
        result = result * 59 + ($userKeyPid == null ? 43 : $userKeyPid.hashCode());
        Object $deptId = this.getDeptId();
        result = result * 59 + ($deptId == null ? 43 : $deptId.hashCode());
        Object $postId = this.getPostId();
        result = result * 59 + ($postId == null ? 43 : $postId.hashCode());
        Object $deputyPostId = this.getDeputyPostId();
        result = result * 59 + ($deputyPostId == null ? 43 : $deputyPostId.hashCode());
        Object $orgName = this.getOrgName();
        result = result * 59 + ($orgName == null ? 43 : $orgName.hashCode());
        Object $postName = this.getPostName();
        result = result * 59 + ($postName == null ? 43 : $postName.hashCode());
        return result;
    }

    public SysUser(final String userId, final String orgId, final String loginName, final String loginPwd, final String userName, final String userType, final String photoUrl, final String loginIp, final Date loginDate, final String pwdSecurityLevel, final String sex, final int age, final String address, final String zipCode, final String phoneNo, final String fax, final String email, final String userKeyPid, final String deptId, final String postId, final String deputyPostId, final String orgName, final String postName) {
        this.userId = userId;
        this.orgId = orgId;
        this.loginName = loginName;
        this.loginPwd = loginPwd;
        this.userName = userName;
        this.userType = userType;
        this.photoUrl = photoUrl;
        this.loginIp = loginIp;
        this.loginDate = loginDate;
        this.pwdSecurityLevel = pwdSecurityLevel;
        this.sex = sex;
        this.age = age;
        this.address = address;
        this.zipCode = zipCode;
        this.phoneNo = phoneNo;
        this.fax = fax;
        this.email = email;
        this.userKeyPid = userKeyPid;
        this.deptId = deptId;
        this.postId = postId;
        this.deputyPostId = deputyPostId;
        this.orgName = orgName;
        this.postName = postName;
    }

    public SysUser() {
    }

    private static final class SysUserBuilderImpl extends SysUser.SysUserBuilder<SysUser, SysUser.SysUserBuilderImpl> {
        private SysUserBuilderImpl() {
        }

        @Override
        protected SysUser.SysUserBuilderImpl self() {
            return this;
        }

        @Override
        public SysUser build() {
            return new SysUser(this);
        }
    }

    public abstract static class SysUserBuilder<C extends SysUser, B extends SysUser.SysUserBuilder<C, B>> extends SuperModelBuilder<C, B> {
        private String userId;
        private String orgId;
        private String loginName;
        private String loginPwd;
        private String userName;
        private String userType;
        private String photoUrl;
        private String loginIp;
        private Date loginDate;
        private String pwdSecurityLevel;
        private String sex;
        private int age;
        private String address;
        private String zipCode;
        private String phoneNo;
        private String fax;
        private String email;
        private String userKeyPid;
        private String deptId;
        private String postId;
        private String deputyPostId;
        private String orgName;
        private String postName;

        public SysUserBuilder() {
        }

        @Override
        protected abstract B self();

        @Override
        public abstract C build();

        public B userId(final String userId) {
            this.userId = userId;
            return this.self();
        }

        public B orgId(final String orgId) {
            this.orgId = orgId;
            return this.self();
        }

        public B loginName(final String loginName) {
            this.loginName = loginName;
            return this.self();
        }

        public B loginPwd(final String loginPwd) {
            this.loginPwd = loginPwd;
            return this.self();
        }

        public B userName(final String userName) {
            this.userName = userName;
            return this.self();
        }

        public B userType(final String userType) {
            this.userType = userType;
            return this.self();
        }

        public B photoUrl(final String photoUrl) {
            this.photoUrl = photoUrl;
            return this.self();
        }

        public B loginIp(final String loginIp) {
            this.loginIp = loginIp;
            return this.self();
        }

        public B loginDate(final Date loginDate) {
            this.loginDate = loginDate;
            return this.self();
        }

        public B pwdSecurityLevel(final String pwdSecurityLevel) {
            this.pwdSecurityLevel = pwdSecurityLevel;
            return this.self();
        }

        public B sex(final String sex) {
            this.sex = sex;
            return this.self();
        }

        public B age(final int age) {
            this.age = age;
            return this.self();
        }

        public B address(final String address) {
            this.address = address;
            return this.self();
        }

        public B zipCode(final String zipCode) {
            this.zipCode = zipCode;
            return this.self();
        }

        public B phoneNo(final String phoneNo) {
            this.phoneNo = phoneNo;
            return this.self();
        }

        public B fax(final String fax) {
            this.fax = fax;
            return this.self();
        }

        public B email(final String email) {
            this.email = email;
            return this.self();
        }

        public B userKeyPid(final String userKeyPid) {
            this.userKeyPid = userKeyPid;
            return this.self();
        }

        public B deptId(final String deptId) {
            this.deptId = deptId;
            return this.self();
        }

        public B postId(final String postId) {
            this.postId = postId;
            return this.self();
        }

        public B deputyPostId(final String deputyPostId) {
            this.deputyPostId = deputyPostId;
            return this.self();
        }

        public B orgName(final String orgName) {
            this.orgName = orgName;
            return this.self();
        }

        public B postName(final String postName) {
            this.postName = postName;
            return this.self();
        }

        @Override
        public String toString() {
            return "SysUser.SysUserBuilder(super=" + super.toString() + ", userId=" + this.userId + ", orgId=" + this.orgId + ", loginName=" + this.loginName + ", loginPwd=" + this.loginPwd + ", userName=" + this.userName + ", userType=" + this.userType + ", photoUrl=" + this.photoUrl + ", loginIp=" + this.loginIp + ", loginDate=" + this.loginDate + ", pwdSecurityLevel=" + this.pwdSecurityLevel + ", sex=" + this.sex + ", age=" + this.age + ", address=" + this.address + ", zipCode=" + this.zipCode + ", phoneNo=" + this.phoneNo + ", fax=" + this.fax + ", email=" + this.email + ", userKeyPid=" + this.userKeyPid + ", deptId=" + this.deptId + ", postId=" + this.postId + ", deputyPostId=" + this.deputyPostId + ", orgName=" + this.orgName + ", postName=" + this.postName + ")";
        }
    }
}
