package com.slodon.b2b2c.seller.example;

import com.slodon.b2b2c.core.response.PagerInfo;
import lombok.Data;

import java.io.Serializable;

/**
 * 商户中金开户表，第一次绑卡成功写入数据example
 */
@Data
public class StoreOpenAccountExample implements Serializable {
    private static final long serialVersionUID = 7456888124554339525L;

    /**
     * 用于编辑时的重复判断
     */
    private Integer openAccountIdNotEquals;

    /**
     * 用于批量操作
     */
    private String openAccountIdIn;

    /**
     * 进度id
     */
    private Integer openAccountId;

    /**
     * 店铺id
     */
    private Long storeId;

    /**
     * 开户类型，11-个人，12-企业
     */
    private String userType;

    /**
     * 开户状态，10-绑卡成功待开户，20开户成功，21-开户失败，22-开户处理中
     */
    private Integer state;

    /**
     * stateIn，用于批量操作
     */
    private String stateIn;

    /**
     * stateNotIn，用于批量操作
     */
    private String stateNotIn;

    /**
     * stateNotEquals，用于批量操作
     */
    private Integer stateNotEquals;

    /**
     * 绑卡流水号
     */
    private String bindCardSn;

    /**
     * 绑卡流水号,用于模糊查询
     */
    private String bindCardSnLike;

    /**
     * 影印件采集流水号
     */
    private String imageCollectionSn;

    /**
     * 影印件采集流水号,用于模糊查询
     */
    private String imageCollectionSnLike;

    /**
     * 开户流水号
     */
    private String openAccountSn;

    /**
     * 开户流水号,用于模糊查询
     */
    private String openAccountSnLike;

    /**
     * 失败原因
     */
    private String failReason;

    /**
     * 失败原因,用于模糊查询
     */
    private String failReasonLike;

    /**
     * 绑卡-账户名称
     */
    private String bankAccountName;

    /**
     * 绑卡-账户名称,用于模糊查询
     */
    private String bankAccountNameLike;

    /**
     * 绑卡-账户号码
     */
    private String bankAccountNumber;

    /**
     * 绑卡-银行id，对应中金附录
     */
    private String bankId;

    /**
     * 绑卡-银行名称，对应中金附录
     */
    private String bankName;

    /**
     * 绑卡-银行名称，对应中金附录,用于模糊查询
     */
    private String bankNameLike;

    /**
     * 绑卡-个人-身份证号
     */
    private String credentialNumber;

    /**
     * 绑卡-个人-银行预留手机号
     */
    private String bankPhoneNumber;

    /**
     * 绑卡-企业-分支行名称
     */
    private String branchName;

    /**
     * 绑卡-企业-分支行名称,用于模糊查询
     */
    private String branchNameLike;

    /**
     * 绑卡-企业-银行省份编码，对应中金附录
     */
    private String province;

    /**
     * 绑卡-企业-银行省份名称，对应中金附录
     */
    private String provinceName;

    /**
     * 绑卡-企业-银行省份名称，对应中金附录,用于模糊查询
     */
    private String provinceNameLike;

    /**
     * 绑卡-企业-银行城市编码，对应中金附录
     */
    private String city;

    /**
     * 绑卡-企业-银行城市名称，对应中金附录
     */
    private String cityName;

    /**
     * 绑卡-企业-银行城市名称，对应中金附录,用于模糊查询
     */
    private String cityNameLike;

    /**
     * 开户-个人-用户姓名
     */
    private String pUserName;

    /**
     * 开户-个人-用户姓名,用于模糊查询
     */
    private String pUserNameLike;

    /**
     * 开户-个人-用户手机号码
     */
    private String pPhoneNumber;

    /**
     * 开户-个人-证件号码
     */
    private String pCredentialNumber;

    /**
     * 开户-个人-身份证件有效期（起始）,yyyyMMdd
     */
    private String pIssDate;

    /**
     * 开户-个人-身份证件有效期（到期）,当证件长期有效时为99991231
     */
    private String pExpiryDate;

    /**
     * 开户-个人-联系地址
     */
    private String pIndAddress;

    /**
     * 开户-个人-个人邮箱
     */
    private String pIndEmail;

    /**
     * 开户-个人-身份证正面扫描件
     */
    private String pIndCardUp;

    /**
     * 开户-个人-身份证背面扫描件
     */
    private String pIndCardDown;

    /**
     * 开户-企业-企业名称,工商登记企业名称
     */
    private String eCorporationName;

    /**
     * 开户-企业-企业名称,工商登记企业名称,用于模糊查询
     */
    private String eCorporationNameLike;

    /**
     * 开户-企业-分类类别,营业执照企业类型为“合伙企业”时必填。详见附录
     */
    private String eCategoryType;

    /**
     * 开户-企业-分类类别名称,营业执照企业类型为“合伙企业”时必填。详见附录
     */
    private String eCategoryTypeName;

    /**
     * 开户-企业-分类类别名称,营业执照企业类型为“合伙企业”时必填。详见附录,用于模糊查询
     */
    private String eCategoryTypeNameLike;

    /**
     * 开户-企业-统一社会信用代码
     */
    private String eUnifiedSocialCreditCode;

    /**
     * 开户-企业-企业邮箱
     */
    private String eCorEmail;

    /**
     * 开户-企业-企业地址
     */
    private String eCorAddress;

    /**
     * 开户-企业-省份,详见附录
     */
    private String eProvince;

    /**
     * 开户-企业-省份名称,详见附录
     */
    private String eProvinceName;

    /**
     * 开户-企业-省份名称,详见附录,用于模糊查询
     */
    private String eProvinceNameLike;

    /**
     * 开户-企业-城市,详见附录
     */
    private String eCity;

    /**
     * 开户-企业-城市名称,详见附录
     */
    private String eCityName;

    /**
     * 开户-企业-城市名称,详见附录,用于模糊查询
     */
    private String eCityNameLike;

    /**
     * 开户-企业-区/县,详见附录
     */
    private String eDistrict;

    /**
     * 开户-企业-区/县名称,详见附录
     */
    private String eDistrictName;

    /**
     * 开户-企业-区/县名称,详见附录,用于模糊查询
     */
    private String eDistrictNameLike;

    /**
     * 开户-企业-企业规模：01=大型;02=中型;03=小型;04=微型;98=其他
     */
    private String eScale;

    /**
     * 开户-企业-企业规模名称：01=大型;02=中型;03=小型;04=微型;98=其他
     */
    private String eScaleName;

    /**
     * 开户-企业-企业规模名称：01=大型;02=中型;03=小型;04=微型;98=其他,用于模糊查询
     */
    private String eScaleNameLike;

    /**
     * 开户-企业-企业银行账户
     */
    private String eBasicAcctNo;

    /**
     * 开户-企业-基础存款账户编号
     */
    private String eApprovalNo;

    /**
     * 开户-企业-营业执照有效期（起始）,yyyyMMdd格式
     */
    private String eAllLicenceIssDate;

    /**
     * 开户-企业-营业执照有效期（到期），格式：yyyyMMdd；证件长期有效时为 99991231
     */
    private String eAllLicenceExpiryDate;

    /**
     * 开户-企业-法人姓名
     */
    private String eLegalPersonName;

    /**
     * 开户-企业-法人姓名,用于模糊查询
     */
    private String eLegalPersonNameLike;

    /**
     * 开户-企业-法人证件号码
     */
    private String eLegalCredentialNumber;

    /**
     * 开户-企业-法人身份证件有效期（起始）,格式：yyyyMMdd
     */
    private String eLegalPersonIssDate;

    /**
     * 开户-企业-法人身份证件有效期（到期）,当证件长期有效时为99991231
     */
    private String eLegalPersonExpiryDate;

    /**
     * 开户-企业-法人联系电话
     */
    private String eLegalPersonContactNumber;

    /**
     * 开户-企业-营业执照扫描件
     */
    private String eBusinessLicenseImage;

    /**
     * 开户-企业-基本开户证明
     */
    private String eOpenAccountCertificate;

    /**
     * 开户-企业-法人身份证正面扫描件
     */
    private String eLegalCardUp;

    /**
     * 开户-企业-法人身份证背面扫描件
     */
    private String eLegalCardDown;

    /**
     * 排序条件，条件之间用逗号隔开，如果不传则按照openAccountId倒序排列
     */
    private String orderBy;

    /**
     * 分组条件
     */
    private String groupBy;

    /**
     * 分页信息
     */
    private PagerInfo pager;
}