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

import lombok.Data;

import java.math.BigDecimal;

@Data
public class WxpayApplymentInfo extends ApplymentBasicInfo{

    /** 超级管理员类型：LEGAL：经营者/法人，SUPER：经办人  */
    protected String contactType;

    /** 超级管理员身份证件号码 */
    protected String contactIdNumber;

    /** 超管身份证人像面照片 */
    protected String contactIdDocCopy;

    /** 超管身份证国徽面照片 */
    protected String contactIdDocCopyBack;

    /** 超管身份证起始有效期 */
    protected String contactIdDocPeriodBegin;

    /** 超管身份证结束有效期 */
    protected String contactIdDocPeriodEnd;

    /** 业务办理授权函 */
    protected String businessAuthorizationLetter;

    /** 经营场景类型 线下门店：SALES_SCENES_STORE  */
    protected String salesSceneType;

    /** 门店名称 */
    protected String storeName;

    /** 入驻结算规则ID  */
    protected String settlementId;

    /** 行业ID  */
    protected String qualificationId;

    /** 是否需要上传特殊资质   */
    protected Boolean isNeedQualification;

    /** 特殊资质   */
    protected String qualifications;

    /** 客服电话  */
    protected String servicePhone;

    /** 是否参与优惠费率活动  */
    protected String isInActivities;

    /** 优惠费率活动ID  */
    protected String activitiesId;

    /** 法人是否为受益人   */
    protected Boolean owner;


    /** 类型转换：标准格式 ---》 接口自定义格式 **/
    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());
            }
        }
        return null;
    }

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

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