package com.zhongshu.card.server.core.domain.payment;

import com.zhongshu.card.client.model.dahua.ApplyQryResponseModel;
import com.zhongshu.card.client.model.payment.BnfModel;
import com.zhongshu.card.client.model.payment.ProductModel;
import com.zhongshu.card.server.core.domain.base.SuperMain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.mongodb.core.mapping.Document;

import java.util.List;

@Data
@Builder
@Document
@AllArgsConstructor
@NoArgsConstructor
public class Complex extends SuperMain {


    /**
     * 商户id
     */
    private String epId;

    /**
     * 平台用户id，对接平台方的用户id 。平台方自己定义，建议与自身用户ID绑定。 M
     */
//    @Indexed(unique = true)
    private String accesser_user_id;

    /**
     * 注册类型，
     * 00：企业商户
     * 01：个人工商户
     * 02：小微商户
     * 03：机关事业单位或社会团体
     * 05:民办非企业
     * M
     */
    private String reg_mer_type;

    /**
     * 法人身份证姓名 M
     */
    private String legal_name;


    /**
     * 法人身份证号  M
     */
    private String legal_idcard_no;

    /**
     * 法人手机号
     */
    private String legal_mobile;

    /**
     * 法人邮箱 开通泛账户必传 c
     */
    private String legal_email;

    /**
     *
     */
    private String legal_card_start;

    /**
     * 法人代表证件截止日期 yyyy-MM-dd
     * 长期：9999-12-31(需要满46岁)
     */
    private String legal_card_deadline;

    /**
     * 法人性别
     * 0-未知的性别
     * 1-男性
     * 2-女性
     * 5-女性改（变）为男性    6-男性改（变）为女性    9-未说明的性别
     * 企业类型为小微商户时必填，参数按国际标准传
     */
    private String legal_sex;

    /**
     * 法人职业,企业类型为小微商户时必填
     * 0-各类专业、技术人员
     * 1-国家机关、党群组织、企事业单位的负责人
     * 2-办事人员和有关人员
     * 3-商业工作人员
     * 4-服务性工作人员
     * 5-农林牧渔劳动者
     * 6-生产工作、运输工作和部分体力劳动者
     * 7-不便分类的其他劳动者
     */
    private String legal_occupation;

    /**
     * 法人职业详细描述 legal_occupation为7-不便分类的其他劳动者时必填
     */
    private String legalmanCareerDesc;

    /**
     * 法人家庭住址
     */
    private String legalmanHomeAddr;

    /**
     * 商户营业名称
     */
    private String shop_name;

    /**
     * 开户行行号 （所属支行查询接口返回）
     */
    private String bank_no;

    /**
     * 账户类型 '0:个人账户  1:公司账户'
     */
    private String bank_acct_type;

    /**
     * 开户行帐号
     */
    private String bank_acct_no;

    /**
     * 开户帐号名称
     * 对公账户填写公司名称，需与营业执照名称保持一致
     * 个人账户填写法人姓名
     */
    private String bank_acct_name;

    /**
     * 开户省
     */
    private String bank_province_id;

    /**
     * 开户市
     */
    private String bank_city_id;

    /**
     * 对公打款验证
     */
    private Boolean verification;

    /**
     * 发起对公验证时间
     */
    private Long verificationTime;

    /**
     * 验证次数
     */
    private Integer verificationNo;

    /**
     * 营业省份id 3.13接口查询返回
     */
    private String shop_province_id;

    /**
     * 营业市id
     */
    private String shop_city_id;

    /**
     * 营业区id
     */
    private String shop_country_id;

    /**
     * shop_addr_ext
     */
    private String shop_addr_ext;

    /**
     * 社会信用统一代码/营业执照号
     * 00：企业商户（必填）
     * 01：个人工商户（必填）
     * 02：小微商户（选填）
     * 03：机关事业单位或社会团体（必填）
     */
    private String shop_lic;

    /**
     * 行业类别编码 ,自助签约提供字典
     */
    private String mccCode;

    /**
     * 申请开通业务
     * product_id;
     * 0-银联卡（1）
     * 1-全民付（86）
     * 2-POS通（68）
     * 4-营销联盟（40）
     * 8-公共支付-通用（9）
     * 16-代付业务（74）
     * 21-统一会员卡（37）
     * in1-APP支付（in1）
     * in2-H5支付（in2）
     * in3-公众号支付（in3）
     * in4-小程序支付（in4）
     * receipt2Line;
     */
    private List<ProductModel> product;



    /**
     * 控股股东姓名
     */
    private String shareholderName;

    /**
     * 控股股东证件号
     */
    private String shareholderCertno;

    /**
     * 控股股东证件有效期开始时间
     */
    private String shareholderCertBeginDate;


    /**
     * 控股股东证件有效期
     */
    private String shareholderCertExpire;

    /**
     * 控股股东证件证件类型
     * 不填默认为身份证(1):
     * 1、身份证
     * 2、护照
     * 3、军官证
     * 4、警官证
     * 5、士兵证
     * 6、台湾居民来往大陆通行证
     * 7、回乡证
     * 8、港澳居民来往内地通行证
     * 10、港澳台居民居住证
     * 11、营业执照
     * 12、组织机构代码证
     * 13、税务登记证
     * 14、商业登记证
     * 15、民办非企业登记证书
     * 16、批文证明
     */
    private String shareholderCertType;

    /**
     * 控股股东家庭住址 商户类型为非小微，且控股股东非法人时必填
     */
    private String shareholderHomeAddr;

    /**
     * 商户传真 20
     */
    private String fax;

    /**
     * 终端维护经理
     */
    private String lastTerminalManager;

    /**
     * 客户维护经理
     */
    private String lastClientManager;

    /**
     * 所属服务区域
     */
    private String serviceDistrict;

    /**
     * 细分服务区域
     */
    private String detailDistrict;

    /**
     * 发展部门
     */
    private String developingDept;


    /**
     * 发展人或账号
     */
    private String developingPersonID;

    /**
     * bnfName 受益人姓名
     * bnfCertno 受益人证件号
     * bnfCertExpire 受益人证件有效期 yyyy-MM-dd
     * bnfCertType 受益人证件类型
     * bnfHomeAddr 受益人家庭地址
     */
    private List<BnfModel> bnfList;


    /**
     * 二维码id列表 最多7个，每个为26位数字，用英文逗号隔开
     */
    private String ums_qrcode_list;
    /**
     * 商户类型，0-实体商户，1-网络商户
     * 2-实体兼线上
     */
    private String mchntType;

    /**
     * 商户对外名称
     */
    private String externalName;

    /**
     * 是否连锁商户
     */
    private String isChain;

    // 签约状态

    /**
     * 自助签约平台流水号
     */
    private String ums_reg_id;


    /**
     * 商户号
     */
    private String mer_no;

    /**
     * 签约是否完成
     */
    private boolean finish;

    /**
     * 签约状态
     */
    private String apply_status_msg;

    /**
     * 签约状态码
     */
    private String apply_status;

    /**
     * 商户多应用信息
     */
    private List<ApplyQryResponseModel.MappInfoList> mapp_info_list;

    private Boolean copy;

}
