package com.crm.rely.backend.core.dto.ucard;

import com.crm.rely.backend.core.dto.base.BaseInfoDto;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 卡片申请DTO
 */
@Data
public class CardApplyDto extends BaseInfoDto {

    /**
     * 唯一标识
     */
    private String uniqueId;

    /**
     * 退款手续费流水号
     */
    private String serial;

    /**
     * 是否优惠  1:账户 2:优惠,null:管理端
     */
    private Integer discountType;

    /**
     * 交易账户
     */
    private Long login;

    /**
     * 手续费状态：1-处理中，2-成功，3-失败
     */
    private Integer tradeStatus;

    /**
     * 手续费类型：1-扣款，2-退款
     */
    private Integer tradeType;

    /**
     * 卡片类型（通过卡片类型接口获取）
     */
    private Integer cardTypeId;

    /**
     * 订单号（用于查询开卡进度)
     */
    private String orderNo;

    /**
     * 卡片号
     */
    private String cardNo;

    /**
     * 实体卡卡号
     */
    private String cardNumber;

    /**
     * 币种
     */
    private String currency;

    /**
     * 金额
     */
    private BigDecimal amount;

    /**
     * 手续费
     */
    private BigDecimal fee;

    /**
     * 到账金额
     */
    private BigDecimal receivedAmount;

    /**
     * 到账币种
     */
    private String receivedCurrency;

    /**
     * 状态(0-处理中 1-开卡成功）
     */
    private String status;

    /**
     * 持卡人描述
     */
    private String holderDescription;

    /**
     * cid
     */
    private Long cId;

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

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

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

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

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

    /**
     * 类型(0-Visa虚拟卡 1-Visa实体卡 2-MasterCard虚拟卡 3-MasterCard实体卡)
     */
    private String type;

    /**
     * 审核状态：1，待审核，2审核通过，3审核拒绝
     */
    private Integer approveStatus;

    /**
     * 审核描述
     */
    private String approveDesc;

    /**
     * 卡名称
     */
    private String cardName;

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

    /**
     * 卡片类别 1:ucard 2:wasabi
     */
    private String holderMerchantOrderNo;

    /**
     * 卡组织
     */
    private String organization;

    /**
     * 邮寄国家
     */
    private String mailingCountry;
    /**
     * 邮寄城市
     */
    private String mailingTown;
    /**
     * 邮寄邮编
     */
    private String mailingPostCode;
    /**
     * 邮寄地址
     */
    private String mailingAddress;
    /**
     * 邮寄地址 中文
     */
    private String mailingAddressCn;
    /**
     * 邮寄电话
     */
    private String mailingMobile;
    /**
     * 邮寄手机区号
     */
    private String mailingAreaCode;

    /**
     * 国家
     */
    private String country;

    /**
     * 审核描述中文
     */
    private String approveDescCn;

} 