package cn.pluss.platform.channel;

import cn.pluss.platform.entity.SubMerchantApplyOrder;
import com.alibaba.fastjson.JSONObject;

/**
 * 商户认证接口定义
 */
public interface MerchantCertService {

    /**
     * 商户微信实名认证
     * @param merchantId    商户渠道编号
     * @param merchantCode 商户code
     */
    void wxCert(String merchantId, String merchantCode);

    /**
     * 商户微信二次实名认证，失败后认证
     * @param merchantId    商户渠道编号
     * @param merchantCode 商户code
     */
    void wxReCert(String merchantId, String merchantCode);

    /**
     * 商户微信实名认证结果查询
     * @param merchantId    商户编号
     * @param wxApplyNo
     */
    JSONObject wxCertResult(String merchantId, String wxApplyNo);

    /**
     * 商户微信实名申请回调
     */
    JSONObject wxCertCallback(JSONObject certResult);

    /**
     * 商户微信认证申请撤销
     * 认证信息
     */
    void wxCertCancel(String merchantId, SubMerchantApplyOrder subMerchantApplyOrder);

    /**
     * 微信认证授权状态
     * @param merchantId    通道商编
     */
    default void wxCertAuthStatus(String merchantId) {}

}
