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

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

import java.math.BigDecimal;
import java.util.LinkedHashMap;
import java.util.Map;

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

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

    @JSONField(ordinal = 1)
    private String beneficiaryName;
    @JSONField(ordinal = 10)
    private String beneficiaryFirstName;
    @JSONField(ordinal = 20)
    private String beneficiaryLastName;
    @JSONField(ordinal = 30)
    private String bankName;
    @JSONField(ordinal = 40)
    private String beneficiaryEmail;
    @JSONField(ordinal = 50)
    private String beneficiaryCity;
    @JSONField(ordinal = 60)
    private String beneficiaryPhone;
    @JSONField(ordinal = 70)
    private String beneficiaryIdentityCard;
    @JSONField(ordinal = 80)
    private String accountNumber;
    @JSONField(ordinal = 90)
    private String currency;
    @JSONField(ordinal = 100)
    private BigDecimal amount;

    private Map<String, String> currencySelect;


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

        params.put("beneficiaryName", "姓名");
        params.put("beneficiaryFirstName", "名");
        params.put("beneficiaryLastName", "姓氏");
        params.put("bankName", "银行名称");
        params.put("beneficiaryEmail", "电子邮件地址");
        params.put("beneficiaryCity", "城市");
        params.put("beneficiaryPhone", "电话");
        params.put("beneficiaryIdentityCard", "身份证号码");
        params.put("accountNumber", "账号");
        params.put("currency", "货币类型");
        params.put("amount", "金额");

        paramsEn.put("beneficiaryName", "beneficiaryName");
        paramsEn.put("beneficiaryFirstName", "beneficiaryFirstName");
        paramsEn.put("beneficiaryLastName", "beneficiaryLastName");
        paramsEn.put("bankName", "bankName");
        paramsEn.put("beneficiaryEmail", "beneficiaryEmail");
        paramsEn.put("beneficiaryCity", "beneficiaryCity");
        paramsEn.put("beneficiaryPhone", "beneficiaryPhone");
        paramsEn.put("beneficiaryIdentityCard", "beneficiaryIdentityCard");
        paramsEn.put("accountNumber", "accountNumber");
        paramsEn.put("currency", "currency");
        paramsEn.put("amount", "amount");

        currencySelect = new LinkedHashMap<>(4);

        currencySelect.put("VND","VND");
        currencySelect.put("IDR","IDR");
        currencySelect.put("MYR","MYR");
        currencySelect.put("PHP","PHP");

    }
}
