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

import com.alibaba.fastjson2.annotation.JSONField;
import com.czg.third.wechat.dto.req.entry.business.WechatEntryBusinessReqDto;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 微信进件请求参数
 * 参考地址 <a href="https://pay.weixin.qq.com/doc/v3/partner/4012719997">...</a>
 * @author yjjie
 * @date 2025/12/26 13:36
 */
@Data
@Accessors(chain = true)
public class WechatEntryReqDto {

    /**
     * 【必填】
     * 业务申请编号
     */
    @JSONField(name = "business_code")
    private String businessCode;

    /**
     * 【必填】
     * 超级管理员信息
     */
    @JSONField(name = "contact_info")
    private WechatEntryContactReqDto contactInfo;

    /**
     * 【必填】
     * 主体资料
     */
    @JSONField(name = "subject_info")
    private WechatEntrySubjectReqDto subjectInfo;

    /**
     * 【必填】
     * 经营资料
     * 商家的经营业务信息、售卖商品/提供服务场景信息
     */
    @JSONField(name = "business_info")
    private WechatEntryBusinessReqDto businessInfo;

    /**
     * 【必填】
     * 结算规则
     * 请填写商家的结算费率规则、特殊资质等信息
     */
    @JSONField(name = "settlement_info")
    private WechatEntrySettleReqDto settlementInfo;

    /**
     * 【必填】
     * 结算银行账户
     */
    @JSONField(name = "bank_account_info")
    private WechatEntryBankAccountReqDto bankAccountInfo;

    /**
     * 【选填】
     * 补充材料
     * 根据实际审核情况，会额外要求商家提供指定的补充资料
     */
    @JSONField(name = "addition_info")
    private WechatEntryAdditionReqDto additionInfo;
}
