package com.crm.rely.backend.core.pojo.table.ucard;

import com.crm.rely.backend.core.pojo.BaseTable;
import lombok.Data;

import javax.persistence.Entity;
import javax.persistence.Table;
import java.math.BigDecimal;

/**
 * 商户用户表
 */
@Data
@Entity
@Table(name = "ucard_merchant_user")
public class CardMerchantUserTable extends BaseTable {

    private Long customId;

    private Long cId;

    /**
     * 合作商用户的唯一ID
     */
    private String uniqueId;

    /**
     * 卡片类别 1:ucard 2:wasabi
     */
    private Integer cardCategory;

    /**
     * 手机国际区号。例：+86
     */
    private String areaCode;

    /**
     * 手机号
     */
    private String mobile;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 姓(只能是英文，单词之间支持一个英文空格, 长度不能超过64)
     */
    private String lastName;

    /**
     * 名(只能是英文，单词之间支持一个英文空格, 长度不能超过64)
     */
    private String firstName;

    /**
     * 生日 (yyyy-MM-dd)
     */
    private String birthday;

    /**
     * 国籍。2位数code码。参见dictionary_common.xlsx（sheet. regin）
     */
    private String nationality;

    /**
     * 性别。M-男；F-女
     */
    private String gender;

    /**
     * 国家代码。2位数code码。参见dictionary_common.xlsx（sheet. regin）
     */
    private String country;

    /**
     * 城市code码。参见dictionary_common.xlsx（sheet. city）
     */
    private String town;

    /**
     * 	详细地址（英文地址,长度不能超过100)
     */
    private String address;

    /**
     * 	详细地址（英文地址,长度不能超过100)
     */
    private String addressCn;

    /**
     * 	邮寄地址中文
     */
    private String mailingAddressCn;

    /**
     * 	邮寄地址
     */
    private String mailingAddress;

    /**
     * 邮编
     */
    private String postCode;

    /**
     * 职业。取持卡人职业 occupationCode 参数
     */
    private String occupation;

    /**
     * 年薪。例：200000 USD
     */
    private String annualSalary;

    /**
     * 帐户用途。只支持英文，例如：Living Expense
     */
    private String accountPurpose;

    /**
     * 预期月交易量。100000 USD
     */
    private String expectedMonthlyVolume;

    /**
     * 证件类型。参见dictionary_biz.pdf（1.1. Idno Type）。
     */
    private String idType;

    /**
     * 证件号
     */
    private String idNumber;

    /**
     * 安全号码。 如果签发国是美国，则需要 9 位数的 SSN
     */
    private String ssn;

    /**
     * id证件签发日期。yyyy-MM-dd
     */
    private String issueDate;

    /**
     * 证件过期时间(yyyy-MM-dd)
     */
    private String idNoExpiryDate;

    /**
     * 证件照正面照片文件ID。调用 上传文件接口 获取
     */
    private String idFrontId;

    /**
     * 证件照背面照片文件ID。调用 上传文件接口 获取
     */
    private String idBackId;

    /**
     * 手持证件照文件ID。调用 上传文件接口 获取
     */
    private String idHoldId;

    /**
     * IPV4地址。
     */
    private String ipAddress;

    /**
     * 证件照片 (URL格式)。请调用接口 /order/merchant/file/upload 获取url
     */
    private String idPicture;

    /**
     * 人脸照片(URL格式)。请调用接口 /order/merchant/file/upload 获取url
     */
    private String facePicture;

    /**
     * JSON格式({"eeaFileProof":"http://baidu.com/photo.jpg","handheldPhoto":"http://baidu.com/handheldPhoto.jpg","signPhoto":"http://baidu.com/signPhoto.jpg"})
     */
    private String extField;

    /**
     * 证件照正面照片
     */
    private String idFrontUrl;

    /**
     * 证件照背面照片
     */
    private String idBackUrl;

    /**
     * 手持证件照
     */
    private String idHoldUrl;

    /**
     * 地址证明照片
     */
    private String addressUrl;

    private String externalUserId;

    private Integer authStatus;

    private String applicantId;

    private String kycVerifyUrl;

    /**
     * 邮寄国家
     */
    private String mailingCountry;
    /**
     * 邮寄城市
     */
    private String mailingTown;
    /**
     * 邮寄邮编
     */
    private String mailingPostCode;
    /**
     * 证件照片状态，0:未上传,1:可上传
     */
    private Integer photoStatus;
    /**
     * 邮寄手机号
     */
    private String mailingMobile;
    /**
     * 邮寄手机区号
     */
    private String mailingAreaCode;
    /**
     * 卡费
     */
    private BigDecimal cardFee;
    /**
     * 卡充值手续费
     */
    private BigDecimal cardRechargeFeeRate;
    /**
     * 速汇订单手续费率
     */
    private BigDecimal globalFeeRate;
    /**
     * 速汇订单固定手续费
     */
    private BigDecimal globalFixedFee;

    private Integer merchantId;

} 