package com.crm.pay.dto.finance.withdraw.automatic;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

import java.util.LinkedHashMap;
import java.util.Map;

/**
 * @author gao
 * @date 2025/7/2 13:19
 */
@Data
public class FinanceWithdrawHelpDto extends FinanceWithdrawDto {

    private Map<String, String> params;
    private Map<String, String> paramsEn;

    @JSONField(ordinal = 1)
    private String currencyCode;
    @JSONField(ordinal = 10)
    private String amount;
    @JSONField(ordinal = 20)
    private String bankCode;
    @JSONField(ordinal = 30)
    private String toBankAccountName;
    @JSONField(ordinal = 40)
    private String toBankAccountNumber;
    @JSONField(ordinal = 50)
    private String toProvince;
    @JSONField(ordinal = 60)
    private String toCity;
    @JSONField(ordinal = 70)
    private String customerName;
    @JSONField(ordinal = 80)
    private String customerEmail;
    @JSONField(ordinal = 90)
    private String customerMobile;
    @JSONField(ordinal = 100)
    private String ifsc;

    private Map<String, String> currencyCodeSelect;
    //private Map<String, String> bankCodeSelect;

    public FinanceWithdrawHelpDto() {
        params = new LinkedHashMap<>();
        paramsEn = new LinkedHashMap<>();

        params.put("currencyCode", "货币代码");
        params.put("amount", "金额");
        params.put("bankCode", "银行代码");
        params.put("toBankAccountName", "收款账户名");
        params.put("toBankAccountNumber", "收款账户号码");
        params.put("toProvince", "收款银行位于的国家");
        params.put("toCity", "收款银行位于的城市");
        params.put("customerName", "客户姓名");
        params.put("customerEmail", "客户邮箱");
        params.put("customerMobile", "客户电话号码");
        params.put("ifsc", "银行IFSC代码");

        paramsEn.put("currencyCode", "currencyCode");
        paramsEn.put("amount", "amount");
        paramsEn.put("bankCode", "bankCode");
        paramsEn.put("toBankAccountName", "toBankAccountName");
        paramsEn.put("toBankAccountNumber", "toBankAccountNumber");
        paramsEn.put("toProvince", "toProvince");
        paramsEn.put("toCity", "toCity");
        paramsEn.put("customerName", "customerName");
        paramsEn.put("customerEmail", "customerEmail");
        paramsEn.put("customerMobile", "customerMobile");
        paramsEn.put("ifsc", "ifsc");

        currencyCodeSelect = new LinkedHashMap<>(12);

        currencyCodeSelect.put("MYR", "MYR");
        currencyCodeSelect.put("THB", "THB");
        currencyCodeSelect.put("VND", "VND");
        currencyCodeSelect.put("IDR", "IDR");
        currencyCodeSelect.put("PHP", "PHP");
        currencyCodeSelect.put("USD", "USD");
        currencyCodeSelect.put("TET", "TET");
        currencyCodeSelect.put("INR", "INR");
        currencyCodeSelect.put("CNY", "CNY");
        currencyCodeSelect.put("PKR", "PKR");
        currencyCodeSelect.put("KRW", "KRW");
        currencyCodeSelect.put("TEX", "TEX");
    }

}

