package com.mortals.xhx.common.pdu.user;

import com.mortals.framework.model.BaseEntityLong;

import java.util.Date;
import java.util.List;

/**
* 用户信息业务Pdu对象
*
* @author zxfei
* @date 2022-07-06
*/

public class UserPdu extends BaseEntityLong {
    private static final long serialVersionUID = 1L;

    /**
    * 登录名
    */
    private String loginName;
    /**
    * 登录密码，使用md5双次加密
    */
    private String loginPwd;

    private String password;

    private String securityCode;
    /**
    * 登录限制地址，多个IP地址用逗号分隔，可以使用IP段匹配，如：172.17.*非空：则只能该值内的IP可以登录
    */
    private String loginLimitAddress;
    /**
    * 用户名
    */
    private String realName;
    /**
    * 用户手机号
    */
    private String mobile;
    /**
    * 用户联系电话
    */
    private String phone;
    /**
    * 用户邮箱
    */
    private String email;
    /**
    * QQ号码
    */
    private String qq;
    /**
    * 用户类型(0.系统用户,1.普通用户,2.工作人员)
    */
    private Integer userType;
    /**
    * 所属站点id,多个逗号分隔
    */
    private String siteIds;
    /**
    * 所属区域code,多个逗号分隔
    */
    private String areaCodes;
    /**
    * 用户状态(0.停用，1.正常，2.冻结，3.销户，4.离职)
    */
    private Integer status;
    /**
    * 创建用户名称
    */
    private String createUserName;
    /**
    * 最后一次登录时间
    */
    private Date lastLoginTime;
    /**
    * 最后一次登录地址
    */
    private String lastLoginAddress;

    /** 开始 用户ID，主键，自增长 */
    private Long idStart;

    /** 结束 用户ID，主键，自增长 */
    private Long idEnd;

    /** 增加 用户ID，主键，自增长 */
    private Long idIncrement;

    /** 用户ID，主键，自增长列表 */
    private List <Long> idList;

    /** 登录名 */
    private List<String> loginNameList;

    /** 登录密码，使用md5双次加密 */
    private List<String> loginPwdList;

    /** 登录限制地址，多个IP地址用逗号分隔，可以使用IP段匹配，如：172.17.*非空：则只能该值内的IP可以登录 */
    private List<String> loginLimitAddressList;

    /** 用户名 */
    private List<String> realNameList;

    /** 用户手机号 */
    private List<String> mobileList;

    /** 用户联系电话 */
    private List<String> phoneList;

    /** 用户邮箱 */
    private List<String> emailList;

    /** QQ号码 */
    private List<String> qqList;

    /** 开始 用户类型(0.系统用户,1.普通用户,2.工作人员) */
    private Integer userTypeStart;

    /** 结束 用户类型(0.系统用户,1.普通用户,2.工作人员) */
    private Integer userTypeEnd;

    /** 增加 用户类型(0.系统用户,1.普通用户,2.工作人员) */
    private Integer userTypeIncrement;

    /** 用户类型(0.系统用户,1.普通用户,2.工作人员)列表 */
    private List <Integer> userTypeList;

    /** 所属站点id,多个逗号分隔 */
    private List<String> siteIdsList;

    /** 所属区域code,多个逗号分隔 */
    private List<String> areaCodesList;

    /** 开始 用户状态(0.停用，1.正常，2.冻结，3.销户，4.离职) */
    private Integer statusStart;

    /** 结束 用户状态(0.停用，1.正常，2.冻结，3.销户，4.离职) */
    private Integer statusEnd;

    /** 增加 用户状态(0.停用，1.正常，2.冻结，3.销户，4.离职) */
    private Integer statusIncrement;

    /** 用户状态(0.停用，1.正常，2.冻结，3.销户，4.离职)列表 */
    private List <Integer> statusList;

    /** 开始 创建时间 */
    private String createTimeStart;

    /** 结束 创建时间 */
    private String createTimeEnd;

    /** 开始 创建用户 */
    private Long createUserIdStart;

    /** 结束 创建用户 */
    private Long createUserIdEnd;

    /** 增加 创建用户 */
    private Long createUserIdIncrement;

    /** 创建用户列表 */
    private List <Long> createUserIdList;

    /** 创建用户名称 */
    private List<String> createUserNameList;

    /** 开始 最后一次登录时间 */
    private String lastLoginTimeStart;

    /** 结束 最后一次登录时间 */
    private String lastLoginTimeEnd;

    /** 最后一次登录地址 */
    private List<String> lastLoginAddressList;


    /** OR条件集合，列表项之间是OR，项内容之间是AND，如：(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
    private List<UserPdu> orConditionList;

    /** AND条件集合，列表项之间是AND，项内容之间是OR，如：(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
    private List<UserPdu> andConditionList;

    public UserPdu(){}
    /**
    * 获取 登录名
    * @return String
    */
    public String getLoginName(){
        return loginName;
    }
    /**
    * 设置 登录名
    * @param loginName
    */
    public void setLoginName(String loginName){
        this.loginName = loginName;
    }
    /**
    * 获取 登录密码，使用md5双次加密
    * @return String
    */
    public String getLoginPwd(){
        return loginPwd;
    }
    /**
    * 设置 登录密码，使用md5双次加密
    * @param loginPwd
    */
    public void setLoginPwd(String loginPwd){
        this.loginPwd = loginPwd;
    }
    /**
    * 获取 登录限制地址，多个IP地址用逗号分隔，可以使用IP段匹配，如：172.17.*非空：则只能该值内的IP可以登录
    * @return String
    */
    public String getLoginLimitAddress(){
        return loginLimitAddress;
    }
    /**
    * 设置 登录限制地址，多个IP地址用逗号分隔，可以使用IP段匹配，如：172.17.*非空：则只能该值内的IP可以登录
    * @param loginLimitAddress
    */
    public void setLoginLimitAddress(String loginLimitAddress){
        this.loginLimitAddress = loginLimitAddress;
    }
    /**
    * 获取 用户名
    * @return String
    */
    public String getRealName(){
        return realName;
    }
    /**
    * 设置 用户名
    * @param realName
    */
    public void setRealName(String realName){
        this.realName = realName;
    }
    /**
    * 获取 用户手机号
    * @return String
    */
    public String getMobile(){
        return mobile;
    }
    /**
    * 设置 用户手机号
    * @param mobile
    */
    public void setMobile(String mobile){
        this.mobile = mobile;
    }
    /**
    * 获取 用户联系电话
    * @return String
    */
    public String getPhone(){
        return phone;
    }
    /**
    * 设置 用户联系电话
    * @param phone
    */
    public void setPhone(String phone){
        this.phone = phone;
    }
    /**
    * 获取 用户邮箱
    * @return String
    */
    public String getEmail(){
        return email;
    }
    /**
    * 设置 用户邮箱
    * @param email
    */
    public void setEmail(String email){
        this.email = email;
    }
    /**
    * 获取 QQ号码
    * @return String
    */
    public String getQq(){
        return qq;
    }
    /**
    * 设置 QQ号码
    * @param qq
    */
    public void setQq(String qq){
        this.qq = qq;
    }
    /**
    * 获取 用户类型(0.系统用户,1.普通用户,2.工作人员)
    * @return Integer
    */
    public Integer getUserType(){
        return userType;
    }
    /**
    * 设置 用户类型(0.系统用户,1.普通用户,2.工作人员)
    * @param userType
    */
    public void setUserType(Integer userType){
        this.userType = userType;
    }
    /**
    * 获取 所属站点id,多个逗号分隔
    * @return String
    */
    public String getSiteIds(){
        return siteIds;
    }
    /**
    * 设置 所属站点id,多个逗号分隔
    * @param siteIds
    */
    public void setSiteIds(String siteIds){
        this.siteIds = siteIds;
    }
    /**
    * 获取 所属区域code,多个逗号分隔
    * @return String
    */
    public String getAreaCodes(){
        return areaCodes;
    }
    /**
    * 设置 所属区域code,多个逗号分隔
    * @param areaCodes
    */
    public void setAreaCodes(String areaCodes){
        this.areaCodes = areaCodes;
    }
    /**
    * 获取 用户状态(0.停用，1.正常，2.冻结，3.销户，4.离职)
    * @return Integer
    */
    public Integer getStatus(){
        return status;
    }
    /**
    * 设置 用户状态(0.停用，1.正常，2.冻结，3.销户，4.离职)
    * @param status
    */
    public void setStatus(Integer status){
        this.status = status;
    }
    /**
    * 获取 创建用户名称
    * @return String
    */
    public String getCreateUserName(){
        return createUserName;
    }
    /**
    * 设置 创建用户名称
    * @param createUserName
    */
    public void setCreateUserName(String createUserName){
        this.createUserName = createUserName;
    }
    /**
    * 获取 最后一次登录时间
    * @return Date
    */
    public Date getLastLoginTime(){
        return lastLoginTime;
    }
    /**
    * 设置 最后一次登录时间
    * @param lastLoginTime
    */
    public void setLastLoginTime(Date lastLoginTime){
        this.lastLoginTime = lastLoginTime;
    }
    /**
    * 获取 最后一次登录地址
    * @return String
    */
    public String getLastLoginAddress(){
        return lastLoginAddress;
    }
    /**
    * 设置 最后一次登录地址
    * @param lastLoginAddress
    */
    public void setLastLoginAddress(String lastLoginAddress){
        this.lastLoginAddress = lastLoginAddress;
    }

    /**
    * 获取 开始 用户ID，主键，自增长
    * @return idStart
    */
    public Long getIdStart(){
        return this.idStart;
    }

    /**
    * 设置 开始 用户ID，主键，自增长
    * @param idStart
    */
    public void setIdStart(Long idStart){
        this.idStart = idStart;
    }

    /**
    * 获取 结束 用户ID，主键，自增长
    * @return $idEnd
    */
    public Long getIdEnd(){
        return this.idEnd;
    }

    /**
    * 设置 结束 用户ID，主键，自增长
    * @param idEnd
    */
    public void setIdEnd(Long idEnd){
        this.idEnd = idEnd;
    }

    /**
    * 获取 增加 用户ID，主键，自增长
    * @return idIncrement
    */
    public Long getIdIncrement(){
        return this.idIncrement;
    }

    /**
    * 设置 增加 用户ID，主键，自增长
    * @param idIncrement
    */
    public void setIdIncrement(Long idIncrement){
        this.idIncrement = idIncrement;
    }

    /**
    * 获取 用户ID，主键，自增长
    * @return idList
    */
    public List<Long> getIdList(){
        return this.idList;
    }

    /**
    * 设置 用户ID，主键，自增长
    * @param idList
    */
    public void setIdList(List<Long> idList){
        this.idList = idList;
    }

    /**
    * 获取 登录名
    * @return loginNameList
    */
    public List<String> getLoginNameList(){
        return this.loginNameList;
    }

    /**
    * 设置 登录名
    * @param loginNameList
    */
    public void setLoginNameList(List<String> loginNameList){
        this.loginNameList = loginNameList;
    }
    /**
    * 获取 登录密码，使用md5双次加密
    * @return loginPwdList
    */
    public List<String> getLoginPwdList(){
        return this.loginPwdList;
    }

    /**
    * 设置 登录密码，使用md5双次加密
    * @param loginPwdList
    */
    public void setLoginPwdList(List<String> loginPwdList){
        this.loginPwdList = loginPwdList;
    }
    /**
    * 获取 登录限制地址，多个IP地址用逗号分隔，可以使用IP段匹配，如：172.17.*非空：则只能该值内的IP可以登录
    * @return loginLimitAddressList
    */
    public List<String> getLoginLimitAddressList(){
        return this.loginLimitAddressList;
    }

    /**
    * 设置 登录限制地址，多个IP地址用逗号分隔，可以使用IP段匹配，如：172.17.*非空：则只能该值内的IP可以登录
    * @param loginLimitAddressList
    */
    public void setLoginLimitAddressList(List<String> loginLimitAddressList){
        this.loginLimitAddressList = loginLimitAddressList;
    }
    /**
    * 获取 用户名
    * @return realNameList
    */
    public List<String> getRealNameList(){
        return this.realNameList;
    }

    /**
    * 设置 用户名
    * @param realNameList
    */
    public void setRealNameList(List<String> realNameList){
        this.realNameList = realNameList;
    }
    /**
    * 获取 用户手机号
    * @return mobileList
    */
    public List<String> getMobileList(){
        return this.mobileList;
    }

    /**
    * 设置 用户手机号
    * @param mobileList
    */
    public void setMobileList(List<String> mobileList){
        this.mobileList = mobileList;
    }
    /**
    * 获取 用户联系电话
    * @return phoneList
    */
    public List<String> getPhoneList(){
        return this.phoneList;
    }

    /**
    * 设置 用户联系电话
    * @param phoneList
    */
    public void setPhoneList(List<String> phoneList){
        this.phoneList = phoneList;
    }
    /**
    * 获取 用户邮箱
    * @return emailList
    */
    public List<String> getEmailList(){
        return this.emailList;
    }

    /**
    * 设置 用户邮箱
    * @param emailList
    */
    public void setEmailList(List<String> emailList){
        this.emailList = emailList;
    }
    /**
    * 获取 QQ号码
    * @return qqList
    */
    public List<String> getQqList(){
        return this.qqList;
    }

    /**
    * 设置 QQ号码
    * @param qqList
    */
    public void setQqList(List<String> qqList){
        this.qqList = qqList;
    }
    /**
    * 获取 开始 用户类型(0.系统用户,1.普通用户,2.工作人员)
    * @return userTypeStart
    */
    public Integer getUserTypeStart(){
        return this.userTypeStart;
    }

    /**
    * 设置 开始 用户类型(0.系统用户,1.普通用户,2.工作人员)
    * @param userTypeStart
    */
    public void setUserTypeStart(Integer userTypeStart){
        this.userTypeStart = userTypeStart;
    }

    /**
    * 获取 结束 用户类型(0.系统用户,1.普通用户,2.工作人员)
    * @return $userTypeEnd
    */
    public Integer getUserTypeEnd(){
        return this.userTypeEnd;
    }

    /**
    * 设置 结束 用户类型(0.系统用户,1.普通用户,2.工作人员)
    * @param userTypeEnd
    */
    public void setUserTypeEnd(Integer userTypeEnd){
        this.userTypeEnd = userTypeEnd;
    }

    /**
    * 获取 增加 用户类型(0.系统用户,1.普通用户,2.工作人员)
    * @return userTypeIncrement
    */
    public Integer getUserTypeIncrement(){
        return this.userTypeIncrement;
    }

    /**
    * 设置 增加 用户类型(0.系统用户,1.普通用户,2.工作人员)
    * @param userTypeIncrement
    */
    public void setUserTypeIncrement(Integer userTypeIncrement){
        this.userTypeIncrement = userTypeIncrement;
    }

    /**
    * 获取 用户类型(0.系统用户,1.普通用户,2.工作人员)
    * @return userTypeList
    */
    public List<Integer> getUserTypeList(){
        return this.userTypeList;
    }

    /**
    * 设置 用户类型(0.系统用户,1.普通用户,2.工作人员)
    * @param userTypeList
    */
    public void setUserTypeList(List<Integer> userTypeList){
        this.userTypeList = userTypeList;
    }

    /**
    * 获取 所属站点id,多个逗号分隔
    * @return siteIdsList
    */
    public List<String> getSiteIdsList(){
        return this.siteIdsList;
    }

    /**
    * 设置 所属站点id,多个逗号分隔
    * @param siteIdsList
    */
    public void setSiteIdsList(List<String> siteIdsList){
        this.siteIdsList = siteIdsList;
    }
    /**
    * 获取 所属区域code,多个逗号分隔
    * @return areaCodesList
    */
    public List<String> getAreaCodesList(){
        return this.areaCodesList;
    }

    /**
    * 设置 所属区域code,多个逗号分隔
    * @param areaCodesList
    */
    public void setAreaCodesList(List<String> areaCodesList){
        this.areaCodesList = areaCodesList;
    }
    /**
    * 获取 开始 用户状态(0.停用，1.正常，2.冻结，3.销户，4.离职)
    * @return statusStart
    */
    public Integer getStatusStart(){
        return this.statusStart;
    }

    /**
    * 设置 开始 用户状态(0.停用，1.正常，2.冻结，3.销户，4.离职)
    * @param statusStart
    */
    public void setStatusStart(Integer statusStart){
        this.statusStart = statusStart;
    }

    /**
    * 获取 结束 用户状态(0.停用，1.正常，2.冻结，3.销户，4.离职)
    * @return $statusEnd
    */
    public Integer getStatusEnd(){
        return this.statusEnd;
    }

    /**
    * 设置 结束 用户状态(0.停用，1.正常，2.冻结，3.销户，4.离职)
    * @param statusEnd
    */
    public void setStatusEnd(Integer statusEnd){
        this.statusEnd = statusEnd;
    }

    /**
    * 获取 增加 用户状态(0.停用，1.正常，2.冻结，3.销户，4.离职)
    * @return statusIncrement
    */
    public Integer getStatusIncrement(){
        return this.statusIncrement;
    }

    /**
    * 设置 增加 用户状态(0.停用，1.正常，2.冻结，3.销户，4.离职)
    * @param statusIncrement
    */
    public void setStatusIncrement(Integer statusIncrement){
        this.statusIncrement = statusIncrement;
    }

    /**
    * 获取 用户状态(0.停用，1.正常，2.冻结，3.销户，4.离职)
    * @return statusList
    */
    public List<Integer> getStatusList(){
        return this.statusList;
    }

    /**
    * 设置 用户状态(0.停用，1.正常，2.冻结，3.销户，4.离职)
    * @param statusList
    */
    public void setStatusList(List<Integer> statusList){
        this.statusList = statusList;
    }

    /**
    * 获取 开始 创建时间
    * @return createTimeStart
    */
    public String getCreateTimeStart(){
        return this.createTimeStart;
    }

    /**
    * 设置 开始 创建时间
    * @param createTimeStart
    */
    public void setCreateTimeStart(String createTimeStart){
        this.createTimeStart = createTimeStart;
    }

    /**
    * 获取 结束 创建时间
    * @return createTimeEnd
    */
    public String getCreateTimeEnd(){
        return this.createTimeEnd;
    }

    /**
    * 设置 结束 创建时间
    * @param createTimeEnd
    */
    public void setCreateTimeEnd(String createTimeEnd){
        this.createTimeEnd = createTimeEnd;
    }

    /**
    * 获取 开始 创建用户
    * @return createUserIdStart
    */
    public Long getCreateUserIdStart(){
        return this.createUserIdStart;
    }

    /**
    * 设置 开始 创建用户
    * @param createUserIdStart
    */
    public void setCreateUserIdStart(Long createUserIdStart){
        this.createUserIdStart = createUserIdStart;
    }

    /**
    * 获取 结束 创建用户
    * @return $createUserIdEnd
    */
    public Long getCreateUserIdEnd(){
        return this.createUserIdEnd;
    }

    /**
    * 设置 结束 创建用户
    * @param createUserIdEnd
    */
    public void setCreateUserIdEnd(Long createUserIdEnd){
        this.createUserIdEnd = createUserIdEnd;
    }

    /**
    * 获取 增加 创建用户
    * @return createUserIdIncrement
    */
    public Long getCreateUserIdIncrement(){
        return this.createUserIdIncrement;
    }

    /**
    * 设置 增加 创建用户
    * @param createUserIdIncrement
    */
    public void setCreateUserIdIncrement(Long createUserIdIncrement){
        this.createUserIdIncrement = createUserIdIncrement;
    }

    /**
    * 获取 创建用户
    * @return createUserIdList
    */
    public List<Long> getCreateUserIdList(){
        return this.createUserIdList;
    }

    /**
    * 设置 创建用户
    * @param createUserIdList
    */
    public void setCreateUserIdList(List<Long> createUserIdList){
        this.createUserIdList = createUserIdList;
    }

    /**
    * 获取 创建用户名称
    * @return createUserNameList
    */
    public List<String> getCreateUserNameList(){
        return this.createUserNameList;
    }

    /**
    * 设置 创建用户名称
    * @param createUserNameList
    */
    public void setCreateUserNameList(List<String> createUserNameList){
        this.createUserNameList = createUserNameList;
    }
    /**
    * 获取 开始 最后一次登录时间
    * @return lastLoginTimeStart
    */
    public String getLastLoginTimeStart(){
        return this.lastLoginTimeStart;
    }

    /**
    * 设置 开始 最后一次登录时间
    * @param lastLoginTimeStart
    */
    public void setLastLoginTimeStart(String lastLoginTimeStart){
        this.lastLoginTimeStart = lastLoginTimeStart;
    }

    /**
    * 获取 结束 最后一次登录时间
    * @return lastLoginTimeEnd
    */
    public String getLastLoginTimeEnd(){
        return this.lastLoginTimeEnd;
    }

    /**
    * 设置 结束 最后一次登录时间
    * @param lastLoginTimeEnd
    */
    public void setLastLoginTimeEnd(String lastLoginTimeEnd){
        this.lastLoginTimeEnd = lastLoginTimeEnd;
    }

    /**
    * 获取 最后一次登录地址
    * @return lastLoginAddressList
    */
    public List<String> getLastLoginAddressList(){
        return this.lastLoginAddressList;
    }

    /**
    * 设置 最后一次登录地址
    * @param lastLoginAddressList
    */
    public void setLastLoginAddressList(List<String> lastLoginAddressList){
        this.lastLoginAddressList = lastLoginAddressList;
    }
    /**
    * 设置  用户ID，主键，自增长
    * @param id
    */
    public UserPdu id(Long id){
	    setId(id);
		return this;
    }

	 /**
    * 设置 开始 用户ID，主键，自增长
    * @param idStart
    */
    public UserPdu idStart(Long idStart){
		this.idStart = idStart;
		return this;
    }

    /**
    * 设置 结束 用户ID，主键，自增长
    * @param idEnd
    */
    public UserPdu idEnd(Long idEnd){
		this.idEnd = idEnd;
		return this;
    }

    /**
    * 设置 增加 用户ID，主键，自增长
    * @param idIncrement
    */
    public UserPdu idIncrement(Long idIncrement){
		this.idIncrement = idIncrement;
		return this;
    }

    /**
    * 设置 用户ID，主键，自增长
    * @param idList
    */
    public UserPdu idList(List<Long> idList){
        this.idList = idList;
		return this;
        }


	/**
    * 设置 登录名
    * @param loginName
    */
    public UserPdu loginName(String loginName){
        setLoginName(loginName);
		return this;
    }

    /**
    * 设置 登录名
    * @param loginNameList
    */
    public UserPdu loginNameList(List<String> loginNameList){
        this.loginNameList = loginNameList;
		return this;
    }


	/**
    * 设置 登录密码，使用md5双次加密
    * @param loginPwd
    */
    public UserPdu loginPwd(String loginPwd){
        setLoginPwd(loginPwd);
		return this;
    }

    /**
    * 设置 登录密码，使用md5双次加密
    * @param loginPwdList
    */
    public UserPdu loginPwdList(List<String> loginPwdList){
        this.loginPwdList = loginPwdList;
		return this;
    }


	/**
    * 设置 登录限制地址，多个IP地址用逗号分隔，可以使用IP段匹配，如：172.17.*非空：则只能该值内的IP可以登录
    * @param loginLimitAddress
    */
    public UserPdu loginLimitAddress(String loginLimitAddress){
        setLoginLimitAddress(loginLimitAddress);
		return this;
    }

    /**
    * 设置 登录限制地址，多个IP地址用逗号分隔，可以使用IP段匹配，如：172.17.*非空：则只能该值内的IP可以登录
    * @param loginLimitAddressList
    */
    public UserPdu loginLimitAddressList(List<String> loginLimitAddressList){
        this.loginLimitAddressList = loginLimitAddressList;
		return this;
    }


	/**
    * 设置 用户名
    * @param realName
    */
    public UserPdu realName(String realName){
        setRealName(realName);
		return this;
    }

    /**
    * 设置 用户名
    * @param realNameList
    */
    public UserPdu realNameList(List<String> realNameList){
        this.realNameList = realNameList;
		return this;
    }


	/**
    * 设置 用户手机号
    * @param mobile
    */
    public UserPdu mobile(String mobile){
        setMobile(mobile);
		return this;
    }

    /**
    * 设置 用户手机号
    * @param mobileList
    */
    public UserPdu mobileList(List<String> mobileList){
        this.mobileList = mobileList;
		return this;
    }


	/**
    * 设置 用户联系电话
    * @param phone
    */
    public UserPdu phone(String phone){
        setPhone(phone);
		return this;
    }

    /**
    * 设置 用户联系电话
    * @param phoneList
    */
    public UserPdu phoneList(List<String> phoneList){
        this.phoneList = phoneList;
		return this;
    }


	/**
    * 设置 用户邮箱
    * @param email
    */
    public UserPdu email(String email){
        setEmail(email);
		return this;
    }

    /**
    * 设置 用户邮箱
    * @param emailList
    */
    public UserPdu emailList(List<String> emailList){
        this.emailList = emailList;
		return this;
    }


	/**
    * 设置 QQ号码
    * @param qq
    */
    public UserPdu qq(String qq){
        setQq(qq);
		return this;
    }

    /**
    * 设置 QQ号码
    * @param qqList
    */
    public UserPdu qqList(List<String> qqList){
        this.qqList = qqList;
		return this;
    }

    /**
    * 设置  用户类型(0.系统用户,1.普通用户,2.工作人员)
    * @param userType
    */
    public UserPdu userType(Integer userType){
	    setUserType(userType);
		return this;
    }

	 /**
    * 设置 开始 用户类型(0.系统用户,1.普通用户,2.工作人员)
    * @param userTypeStart
    */
    public UserPdu userTypeStart(Integer userTypeStart){
		this.userTypeStart = userTypeStart;
		return this;
    }

    /**
    * 设置 结束 用户类型(0.系统用户,1.普通用户,2.工作人员)
    * @param userTypeEnd
    */
    public UserPdu userTypeEnd(Integer userTypeEnd){
		this.userTypeEnd = userTypeEnd;
		return this;
    }

    /**
    * 设置 增加 用户类型(0.系统用户,1.普通用户,2.工作人员)
    * @param userTypeIncrement
    */
    public UserPdu userTypeIncrement(Integer userTypeIncrement){
		this.userTypeIncrement = userTypeIncrement;
		return this;
    }

    /**
    * 设置 用户类型(0.系统用户,1.普通用户,2.工作人员)
    * @param userTypeList
    */
    public UserPdu userTypeList(List<Integer> userTypeList){
        this.userTypeList = userTypeList;
		return this;
        }


	/**
    * 设置 所属站点id,多个逗号分隔
    * @param siteIds
    */
    public UserPdu siteIds(String siteIds){
        setSiteIds(siteIds);
		return this;
    }

    /**
    * 设置 所属站点id,多个逗号分隔
    * @param siteIdsList
    */
    public UserPdu siteIdsList(List<String> siteIdsList){
        this.siteIdsList = siteIdsList;
		return this;
    }


	/**
    * 设置 所属区域code,多个逗号分隔
    * @param areaCodes
    */
    public UserPdu areaCodes(String areaCodes){
        setAreaCodes(areaCodes);
		return this;
    }

    /**
    * 设置 所属区域code,多个逗号分隔
    * @param areaCodesList
    */
    public UserPdu areaCodesList(List<String> areaCodesList){
        this.areaCodesList = areaCodesList;
		return this;
    }

    /**
    * 设置  用户状态(0.停用，1.正常，2.冻结，3.销户，4.离职)
    * @param status
    */
    public UserPdu status(Integer status){
	    setStatus(status);
		return this;
    }

	 /**
    * 设置 开始 用户状态(0.停用，1.正常，2.冻结，3.销户，4.离职)
    * @param statusStart
    */
    public UserPdu statusStart(Integer statusStart){
		this.statusStart = statusStart;
		return this;
    }

    /**
    * 设置 结束 用户状态(0.停用，1.正常，2.冻结，3.销户，4.离职)
    * @param statusEnd
    */
    public UserPdu statusEnd(Integer statusEnd){
		this.statusEnd = statusEnd;
		return this;
    }

    /**
    * 设置 增加 用户状态(0.停用，1.正常，2.冻结，3.销户，4.离职)
    * @param statusIncrement
    */
    public UserPdu statusIncrement(Integer statusIncrement){
		this.statusIncrement = statusIncrement;
		return this;
    }

    /**
    * 设置 用户状态(0.停用，1.正常，2.冻结，3.销户，4.离职)
    * @param statusList
    */
    public UserPdu statusList(List<Integer> statusList){
        this.statusList = statusList;
		return this;
        }


    /**
    * 设置  创建用户
    * @param createUserId
    */
    public UserPdu createUserId(Long createUserId){
	    setCreateUserId(createUserId);
		return this;
    }

	 /**
    * 设置 开始 创建用户
    * @param createUserIdStart
    */
    public UserPdu createUserIdStart(Long createUserIdStart){
		this.createUserIdStart = createUserIdStart;
		return this;
    }

    /**
    * 设置 结束 创建用户
    * @param createUserIdEnd
    */
    public UserPdu createUserIdEnd(Long createUserIdEnd){
		this.createUserIdEnd = createUserIdEnd;
		return this;
    }

    /**
    * 设置 增加 创建用户
    * @param createUserIdIncrement
    */
    public UserPdu createUserIdIncrement(Long createUserIdIncrement){
		this.createUserIdIncrement = createUserIdIncrement;
		return this;
    }

    /**
    * 设置 创建用户
    * @param createUserIdList
    */
    public UserPdu createUserIdList(List<Long> createUserIdList){
        this.createUserIdList = createUserIdList;
		return this;
        }


	/**
    * 设置 创建用户名称
    * @param createUserName
    */
    public UserPdu createUserName(String createUserName){
        setCreateUserName(createUserName);
		return this;
    }

    /**
    * 设置 创建用户名称
    * @param createUserNameList
    */
    public UserPdu createUserNameList(List<String> createUserNameList){
        this.createUserNameList = createUserNameList;
		return this;
    }



	/**
    * 设置 最后一次登录地址
    * @param lastLoginAddress
    */
    public UserPdu lastLoginAddress(String lastLoginAddress){
        setLastLoginAddress(lastLoginAddress);
		return this;
    }

    /**
    * 设置 最后一次登录地址
    * @param lastLoginAddressList
    */
    public UserPdu lastLoginAddressList(List<String> lastLoginAddressList){
        this.lastLoginAddressList = lastLoginAddressList;
		return this;
    }


/**
    * 获取 OR条件集合，列表项之间是OR，项内容之间是AND，如：(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
    * @return orConditionList
    */
    public List<UserPdu> getOrConditionList(){
    return this.orConditionList;
    }

    /**
    * 设置 OR条件集合，列表项之间是OR，项内容之间是AND，如：(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
    * @param orConditionList
    */
    public void setOrConditionList(List<UserPdu> orConditionList){
        this.orConditionList = orConditionList;
    }

    /**
    * 获取 AND条件集合，列表项之间是AND，项内容之间是OR，如：(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
    * @return andConditionList
    */
    public List<UserPdu> getAndConditionList(){
        return this.andConditionList;
    }

    /**
    * 设置 AND条件集合，列表项之间是AND，项内容之间是OR，如：(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
    * @param andConditionList
    */
    public void setAndConditionList(List<UserPdu> andConditionList){
        this.andConditionList = andConditionList;
    }

    public String getSecurityCode() {
        return securityCode;
    }

    public void setSecurityCode(String securityCode) {
        this.securityCode = securityCode;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public int hashCode() {
         return this.getId().hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (obj instanceof UserPdu) {
            UserPdu tmp = (UserPdu) obj;
            if (this.getId() == tmp.getId()) {
                 return true;
            }
        }
        return false;
    }

    public void initAttrValue(){

            this.loginName = "";

            this.loginPwd = "";

            this.loginLimitAddress = "";

            this.realName = "";

            this.mobile = "";

            this.phone = "";

            this.email = "";

            this.qq = "";

            this.userType = null;

            this.siteIds = "";

            this.areaCodes = "";

            this.status = 1;

            this.createUserName = "";

            this.lastLoginTime = null;

            this.lastLoginAddress = "";
    }
}