package com.jeequan.jeepay.core.model.applyment;

import lombok.Data;

import java.math.BigDecimal;
import java.math.RoundingMode;

@Data
public class AlipayApplymentInfo extends ApplymentBasicInfo {

    public static Byte PRODUCT_TYPE_OFFLINE = 1;
    public static Byte PRODUCT_TYPE_APP = 2;
    public static Byte PRODUCT_TYPE_FACE = 3;
    public static Byte PRODUCT_TYPE_PHONE_WAP = 4;
    public static Byte PRODUCT_TYPE_PC_WAP = 5;

    /** 支付宝账号 **/
    public String accountNo;

    /** 开通产品类型 1-当面付 2-APP支付 3-刷脸付 4-手机网站 5-电脑网站  **/
    public Byte productType;

    /** 特殊资质证书 **/
    protected String specialLicenseImg;

    /** 类型转换：标准格式 ---》 接口自定义格式 **/
    public String convertPaywayFeeList2String(){

        if(this.paywayFeeList == null){
            return null;
        }

        for (PaywayFee paywayFee : this.paywayFeeList) {

            // 单笔费率配置
            if (PaywayFee.FEE_TYPE_SINGLE.equals(paywayFee.getFeeType())) {
                return convertRate(paywayFee.getFeeRate()).toString();
            }
        }
        return null;
    }

    private BigDecimal convertRate(BigDecimal rate) {
        return rate == null ? null : rate.multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP);
    }

    @Override
    public String bankBranchNo() {
        return null;
    }
}
