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

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author gao
 * @date 2025/8/7 13:41
 */
@Data
public class WasabiCardTypesDto {

    /**
     * 卡片类型ID
     */
    private Long cardTypeId;

    /**
     * 卡组织。
     * Visa；
     * MasterCard；
     * Discover
     */
    private String organization;

    /**
     * 发卡地区
     */
    private String country;

    /**
     * 卡BIN
     */
    private String bankCardBin;

    /**
     * 卡类型。
     * Virtual：虚拟卡
     * Physical：实体卡
     */
    private String type;

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

    /**
     * 卡片描述
     */
    private String cardDesc;

    /**
     * 卡片价格
     */
    private BigDecimal cardPrice;

    /**
     * 卡片价格币种
     */
    private String cardPriceCurrency;

    /**
     * 支持的机构。仅供参考
     */
    private List<String> support;

    /**
     * 高风险商户。在此场景下的消费将触发卡片取消风险控制
     */
    private List<String> risk;

    /**
     * 持卡人信息支持的国家/地区编码
     */
    private List<String>  supportHolderRegin;

    /**
     * 持卡人信息支持的手机区号
     */
    private List<String> supportHolderAreaCode;

    /**
     * 开卡时是否需要持卡人
     */
    private Boolean needCardHolder;

    /**
     * 开卡时是否需要进行充值
     */
    private Boolean needDepositForActiveCard;

    /**
     * 开卡时充值最低额度
     */
    private BigDecimal depositAmountMinQuotaForActiveCard;

    /**
     * 开卡时充值最大额度
     */
    private BigDecimal depositAmountMaxQuotaForActiveCard;

    /**
     * 卡本位币种
     */
    private String fiatCurrency;

    /**
     * 最大购卡数量。
     */
    private Integer maxCount;

    /**
     * 状态。
     * online:上架;
     * offline:下架;
     */
    private String status;

    /**
     * 支持充值的币种
     */
    private String rechargeCurrency;

    /**
     * 充值最小额度
     */
    private BigDecimal rechargeMinQuota;

    /**
     * 充值最大额度
     */
    private BigDecimal rechargeMaxQuota;

    /**
     * 充值手续费率 1=1%
     */
    private BigDecimal rechargeFeeRate;

    /**
     * 充值固定手续费
     */
    private BigDecimal rechargeFixedFee;

    /**
     * 充值金额精度
     */
    private Integer rechargeDigital;

    /**
     * 是否开启开卡功能
     */
    private Boolean enableActiveCard;

    /**
     * 是否开启充值功能
     */
    private Boolean enableDeposit;

    /**
     * 是否开启冻结功能
     */
    private Boolean enableFreeze;

    /**
     * 是否开启解冻功能
     */
    private Boolean enableUnFreeze;

    private WasabiCardTypeHolderMetadataDto metadata;

}
