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 FinanceWithdrawIbitDto extends FinanceWithdrawDto {

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

    @JSONField(ordinal = 1)
    private String currencyType;
    @JSONField(ordinal = 10)
    private String bankAccountName;
    @JSONField(ordinal = 20)
    private String bankAccountNumber;
    @JSONField(ordinal = 30)
    private String amount;
    @JSONField(ordinal = 40)
    private String bankName;
    @JSONField(ordinal = 50)
    private String bankBranchName;

    private Map<String, String> currencyTypeSelect;

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

        params.put("currencyType", "法币类型");
        params.put("bankAccountName", "账户姓名");
        params.put("bankAccountNumber", "银行卡号");
        params.put("amount", "金额");
        params.put("bankName", "所属银行");
        params.put("bankBranchName", "银行支行");

        paramsEn.put("currencyType", "currencyCode");
        paramsEn.put("bankAccountName", "amount");
        paramsEn.put("bankAccountNumber", "bankCode");
        paramsEn.put("amount", "toBankAccountName");
        paramsEn.put("bankName", "toBankAccountNumber");
        paramsEn.put("bankBranchName", "toProvince");

        currencyTypeSelect = new LinkedHashMap<>(12);

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

}

