package com.czg.third.wechat.dto.resp;

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

import java.util.List;

/**
 * 微信进件状态查询返回参数
 * @author yjjie
 * @date 2026/1/7 15:42
 */
@Data
@Accessors(chain = true)
public class WechatQueryStateResp {

    /**
     * 业务申请编号
     */
    @JSONField(name = "business_code")
    public String businessCode;

    /**
     * 微信支付申请单号
     */
    @JSONField(name = "applyment_id")
    public String applyId;

    /**
     * 特约商户号
     * 当申请单状态为APPLYMENT_STATE_TO_BE_SIGNED、APPLYMENT_STATE_SIGNING、APPLYMENT_STATE_FINISHED时才返回。
     */
    @JSONField(name = "sub_mchid")
    public String subMchId;

    /**
     * 超级管理员签约链接
     * 1、超级管理员用微信扫码，关注“微信支付商家助手”公众号后，公众号将自动发送签约消息；超管需点击消息，根据指引完成核对联系信息、账户验证、签约等操作；
     * 2、超管完成核对联系信息，后续申请单进度可通过公众号自动通知超级管理员。
     */
    @JSONField(name = "sign_url")
    public String signUrl;

    /**
     * 申请单状态
     * APPLYMENT_STATE_EDITTING:（编辑中）提交申请发生错误导致，请尝试重新提交。
     * APPLYMENT_STATE_AUDITING:（审核中）申请单正在审核中，超级管理员用微信打开“签约链接”，完成绑定微信号后，申请单进度将通过微信公众号通知超级管理员，引导完成后续步骤。
     * APPLYMENT_STATE_REJECTED:（已驳回）请按照驳回原因修改申请资料，超级管理员用微信打开“签约链接”，完成绑定微信号，后续申请单进度将通过微信公众号通知超级管理员。
     * APPLYMENT_STATE_TO_BE_CONFIRMED:（待账户验证）请超级管理员使用微信打开返回的“签约链接”，根据页面指引完成账户验证。
     * APPLYMENT_STATE_TO_BE_SIGNED:（待签约）请超级管理员使用微信打开返回的“签约链接”，根据页面指引完成签约。
     * APPLYMENT_STATE_SIGNING:（开通权限中）系统开通相关权限中，请耐心等待。
     * APPLYMENT_STATE_FINISHED:（已完成）商户入驻申请已完成。
     * APPLYMENT_STATE_CANCELED:（已作废）申请单已被撤销。
     */
    @JSONField(name = "applyment_state")
    public String applyState;

    /**
     * 申请状态描述
     */
    @JSONField(name = "applyment_state_msg")
    public String applyStateMsg;

    /**
     * 驳回原因详情
     */
    @JSONField(name = "audit_detail")
    public List<WechatAuditDetail> auditDetail;
}
