package com.elab.mq.listener;

import com.elab.mq.model.MessageModel;

/**
 * @Module 拦截器
 * @Description 消费者拦截器
 * @Author liukaixiong
 * @Date 2020/12/30 14:57
 */
public interface ConsumerInterceptor {

    /**
     * 检查数据是否符合
     *
     * @param messageModel 消息内容
     * @param groupName    分组名称 拓展
     * @return
     */
    public boolean check(MessageModel messageModel, String groupName);

    /**
     * 成功数据回调
     *
     * @param messageModel 消息内容
     */
    public void success(MessageModel messageModel, String groupName);

    /**
     * 失败数据回调
     *
     * @param messageModel
     * @param groupName
     * @param e
     */
    public void error(MessageModel messageModel, String groupName, Throwable e);

}
