package com.czg.third.wechat.dto.req.entry;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * 进件 结算信息
 * @author yjjie
 * @date 2025/12/26 13:38
 */
@Data
@Accessors(chain = true)
public class WechatEntrySettleReqDto {

    /**
     * 【必填】
     * 入驻结算规则ID
     * 请选择结算规则ID，详细参见费率结算规则对照表
     * <a href="https://kf.qq.com/faq/220228IJb2UV220228uEjU3Q.html">...</a>
     */
    @JSONField(name = "settlement_id")
    private String settlementId;

    /**
     * 【必填】
     * 所属行业
     * <a href="https://kf.qq.com/faq/220228IJb2UV220228uEjU3Q.html">...</a>
     */
    @JSONField(name = "qualification_type")
    private String qualificationType;

    /**
     * 【选填】
     * 特殊资质图片
     * 1、仅当商户选择了必需提交特殊资质的行业时，需要提供该项资料；若商户选择了无需特殊资质的行业，或未选择行业时，无需提交该项资料，详情查看《费率结算规则对照表》；
     * 2、最多可上传5张照片，请填写通过图片上传API预先上传图片生成好的MediaID。
     */
    @JSONField(name = "qualifications")
    private List<String> qualifications;

    /**
     * 【选填】
     * 优惠费率活动ID
     * 如果商户有意向报名优惠费率活动，该字段【必填】。详细参见《优惠费率活动对照表》
     * <a href="https://pay.weixin.qq.com/doc/v3/partner/4012082816">...</a>
     */
    @JSONField(name = "activities_id")
    private String activitiesId;

    /**
     * 【选填】
     * 优惠费率活动值
     * 根据优惠费率活动规则，由合作伙伴自定义填写，支持两个小数点，需在优惠费率活动ID指定费率范围内
     * （1）2023年7月17日-9月17日，各合作伙伴平台可选择只传入“活动费率值”，或分别传入“信用卡优惠活动费率值” 与 “非信用卡优惠活动费率值”，只传入“活动费率值”的情况下，平台将协助将申请单中的 “优惠活动费率值” 回填入新增的 “信用卡优惠活动费率值” 与 “非信用卡优惠活动费率值”中 ；
     * （2）2023年9月18日起，平台将不再提供如上兼容能力，届时仅能分别传入“信用卡优惠活动费率值” 与 “非信用卡优惠活动费率值”，否则接口将会报错。为避免影响正常进件，请在兼容期间完成相关调整。
     */
    @JSONField(name = "activities_rate")
    private String activitiesRate;

    /**
     * 【选填】
     * 优惠费率活动补充材料
     * 1、根据所选优惠费率活动，提供相关材料，详细参见《优惠费率活动对照表》；<a href="https://pay.weixin.qq.com/doc/v3/partner/4012082816">...</a>
     * 2、最多可上传5张照片，请填写通过图片上传API预先上传图片生成好的MediaID。
     */
    @JSONField(name = "activities_additions")
    private List<String> activitiesAdditions;

    /**
     * 【选填】
     * 非信用卡活动费率值
     * 用户支付方式为借记卡时收取的手续费费率：
     * 1、若填写了优惠费率活动ID，则该字段【必填】；
     * 2、仅能填入2位以内小数，且在优惠费率活动ID指定费率范围内。
     */
    @JSONField(name = "debit_activities_rate")
    private String debitActivitiesRate;

    /**
     * 【选填】
     * 信用卡活动费率值
     * 用户支付方式为信用卡时收取的手续费费率：
     * 1、若填写了优惠费率活动ID，则该字段【必填】；
     * 2、仅能填入2位以内小数，且在优惠费率活动ID指定费率范围内。
     */
    @JSONField(name = "credit_activities_rate")
    private String creditActivitiesRate;
}
