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

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

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

@Data
public class FinanceWithdrawEcomDto extends FinanceWithdrawDto {

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


    private String ps;

    @JSONField(ordinal = 1)
    private BigDecimal amount;
    @JSONField(ordinal = 10)
    private String bankCode;
    @JSONField(ordinal = 20)
    private String bankAccountNo;
    @JSONField(ordinal = 30)
    private String bankAccountName;
    @JSONField(ordinal = 40)
    private String bankTransferContent;

    private Map<String, String> bankCodeSelect;

    public FinanceWithdrawEcomDto() {

        params = new LinkedHashMap<>();

        paramsEn = new LinkedHashMap<>();
        params.put("amount", "金额");
        params.put("bankCode", "银行code");
        params.put("bankAccountNo", "银行卡号");
        params.put("bankAccountName", "持卡人姓名");
        params.put("bankTransferContent", "Bank transfer content");


        paramsEn.put("amount", "amount");
        paramsEn.put("bankCode", "bankCode");
        paramsEn.put("bankAccountNo", "bankAccountNo");
        paramsEn.put("bankAccountName", "bankAccountName");
        paramsEn.put("bankTransferContent", "bankTransferContent");

        bankCodeSelect = new HashMap<>(50);
        bankCodeSelect.put("VCB-Ngân hàng thương mại Cổ phần Ngoại thương Việt Nam", "VCB");
        bankCodeSelect.put("TECHCOMBANK-Ngân hàng thương mại Cổ phần kỹ thương Việt Nam", "TECHCOMBANK");
        bankCodeSelect.put("TPBANK-Ngân hàng thương mại Cổ phần Tiên Phong", "TPBANK");
        bankCodeSelect.put("VIETINBANK-Ngân hàng Thương mại cổ phần Công Thương Việt Nam", "VIETINBANK");
        bankCodeSelect.put("VIB-Ngân Hàng Quốc Tế VIB", "VIB");
        bankCodeSelect.put("DAB-Ngân hàng TMCP Đông Á", "DAB");
        bankCodeSelect.put("HDBANK-Ngân hàng thương mại cổ phần Phát triển Thành phố Hồ Chí Minh", "HDBANK");
        bankCodeSelect.put("MB-Ngân hàng thương mại cổ phần Quân đội", "MB");
        bankCodeSelect.put("VIETABANK-Ngân hàng thương mại CP Việt Á", "VIETABANK");
        bankCodeSelect.put("MARITIMEBANK-Ngân hàng thương mại cổ phần Hàng hải Việt Nam", "MARITIMEBANK");
        bankCodeSelect.put("EXIMBANK-Ngân hàng thương mại cổ phần Xuất Nhập Khẩu Việt Nam", "EXIMBANK");
        bankCodeSelect.put("SHB-Ngân hàng TMCP Sài Gòn - Hà Nội", "SHB");
        bankCodeSelect.put("VPBANK-Ngân hàng TMCP Việt Nam Thịnh Vượng", "VPBANK");
        bankCodeSelect.put("ABBANK-Ngân hàng Thương mại Cổ phần An Bình", "ABBANK");
        bankCodeSelect.put("SACOMBANK-Ngân hàng thương mại cổ phần Sài Gòn Thương Tín", "SACOMBANK");
        bankCodeSelect.put("NAMABANK-Ngân hàng TMCP Nam Á", "NAMABANK");
        bankCodeSelect.put("OCEANBANK-Ngân hàng Đại Dương", "OCEANBANK");
        bankCodeSelect.put("BIDV-Ngân hàng Đầu tư và Phát triển Việt Nam", "BIDV");
        bankCodeSelect.put("SEABANK-Ngân hàng TMCP Đông Nam Á", "SEABANK");
        bankCodeSelect.put("BACA-Ngân hàng Bắc A", "BACA");
        bankCodeSelect.put("NCB-Ngân hàng Quốc Dân", "NCB");
        bankCodeSelect.put("AGRIBANK-Ngân hàng Nông nghiệp và Phát triển Nông thôn Việt Nam", "AGRIBANK");
        bankCodeSelect.put("SAIGONBANK-Ngân hàng thương mại cổ phần Sài Gòn Công Thương", "SAIGONBANK");
        bankCodeSelect.put("PVBANK-Ngân hàng TMCP Đại Chúng Việt Nam", "PVBANK");
        bankCodeSelect.put("ACB-Ngân hàng thương mại cổ phần Á Châu", "ACB");
        bankCodeSelect.put("LPB-Ngân hàng thương mại cổ phần Bưu điện Liên Việt", "LPB");
        bankCodeSelect.put("BVBANK-Ngân hàng TMCP Bảo Việt", "BVBANK");
        bankCodeSelect.put("OCB-Ngân hàng TMCP Phương Đông", "OCB");
        bankCodeSelect.put("KIENLONGBANK-Ngân hàng TMCP Kiên Long", "KIENLONGBANK");
        bankCodeSelect.put("VRB-Ngân hàng Liên Doanh Việt Nga", "VRB");
        bankCodeSelect.put("PBVN-Ngân hàng Public Bank", "PBVN");
        bankCodeSelect.put("PGBANK-Ngân hàng TMCP Xăng Dầu Petrolimex", "PGBANK");
        bankCodeSelect.put("GPBANK-Ngân hàng TMCP Dầu Khí Toàn Cầu", "GPBANK");
        bankCodeSelect.put("SCB-Ngân hàng TMCP Sài Gòn", "SCB");
        bankCodeSelect.put("WOORIBANK-Ngân hàng Wooribank", "WOORIBANK");
        bankCodeSelect.put("VIETCAPITALBANK-Ngân hàng TMCP Bản Việt", "VIETCAPITALBANK");
        bankCodeSelect.put("UOB-Ngân hàng TNHH MTV United Overseas Bank", "UOB");
        bankCodeSelect.put("IVB-Ngân hàng TNHH Indovina", "IVB");
        bankCodeSelect.put("SHINHAN-Ngân hàng TNHH MTV Shinhan Việt Nam", "SHINHAN");
        bankCodeSelect.put("IBK-Ngân Hàng Công Nghiệp Hàn Quốc", "IBK");
        bankCodeSelect.put("COOPBANK-Ngân hàng hợp tác Co-opBank", "COOPBANK");
        bankCodeSelect.put("VIETBANK-Ngân hàng TMCP Việt Nam Thương Tín", "VIETBANK");
        bankCodeSelect.put("HONGLEONG-Ngân hàng TNHH MTV Hongleong Việt Nam", "HONGLEONG");
    }
}
