package com.jeequan.jeepay.thirdparty.channel.lklspay.model;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;

import java.util.Set;

@Setter
@Getter
public class LklMercInfoConn {
    private Long userNo;
    private String email;
    private String busiCode;
    private String merchantCode;
    private String merRegName;
    private String merType;
    private String merName;
    private String merAddr;
    private String provinceCode;
    private String cityCode;
    private String countyCode;
    private String licenseName;
    private String licenseNo;
    private String licenseDtStart;
    private String licenseDtEnd;
    private String latitude;
    private String longtude;
    private String source;
    private String businessContent;
    private String larName;
    private String larIdType;
    private String larIdCard;
    private String larIdCardStart;
    private String larIdCardEnd;
    private String contactMobile;
    private String contactName;

    private String openningBankCode;

    private String openningBankName;

    private String clearingBankCode;

    private String settleProvinceCode;

    private String settleProvinceName;

    private String settleCityCode;

    private String settleCityName;

    private String accountNo;

    private String accountName;

    private String accountType;

    private String accountIdCard;

    private String accountIdDtStart;

    private String accountIdDtEnd;

    private String accountIdType;

    private BizContent bizContent;

    private Set<Attachment> attchments;
    private String settleType;
    private String shopId;
    private String settlementType;
    private String regularSettlementTime;

    @Getter
    @Setter
    public static class BizContent {

        private String termNum;

        private Set<Fee> fees;

        private String mcc;

        private Integer activityId;
    }

    @Getter
    @Setter
    @AllArgsConstructor
    public static class Fee {

        private String feeCode;

        private Double feeValue;

        private Double topFee;

        public Fee(String feeCode, String feeValue, Double topFee) {
            this.feeValue = Double.parseDouble(feeValue);
            this.feeCode = feeCode;
            this.topFee = topFee;
        }
    }

    @Getter
    @Setter
    public static class Attachment {

        private String id;

        private String type;
    }
}
