package cn.pluss.platform.channel;

import cn.pluss.platform.entity.MerchantChannelStatus;
import cn.pluss.platform.pojo.CombineMercInfo;
import com.alibaba.fastjson.JSONObject;

/**
 * 进件流程，AOP
 */
public interface MercAuditListener {

    /**
     * 进件之前的检查操作
     * @param userId        用户id
     * @param channelId     通道id
     */
    void beforeCheck(String userId, Integer channelId);

    /**
     * 获取商户信息
     * @param userId        用户id
     * @param channelType   D0、D1
     * @return
     */
    CombineMercInfo getMercInfo(String userId, String channelType);

    /**
     * 进件失败后的操作
     * @param userId        用户id
     * @param mcs           进件通道相关信息
     * @param msg           驳回原因
     */
    void onFail(String userId, MerchantChannelStatus mcs, String msg);

    /**
     * 进件成功后的操作
     * @param userId        用户id
     */
    void onSuccess(String userId, MerchantChannelStatus mcs);
}
