package com.elab.mq.listener;

import com.aliyun.openservices.ons.api.SendResult;
import com.elab.mq.model.MessageModel;
import com.elab.mq.msg.ProducerInterceptor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * @Module TODO
 * @Description TODO
 * @Author liukaixiong
 * @Date 2020/12/30 15:02
 */
public class LoggerConsumerInterceptor implements ConsumerInterceptor, ProducerInterceptor {
    private Logger logger = LoggerFactory.getLogger(getClass());

    @Override
    public boolean check(MessageModel messageModel, String groupName) {
        logger.debug("检测数据 : " + messageModel.getObject(String.class));
        return true;
    }

    @Override
    public void success(MessageModel messageModel, String groupName, SendResult result) {
        logger.debug("发送成功:" + result);
    }

    @Override
    public void error(MessageModel messageModel, String groupName, Throwable e) {
        logger.debug("消费失败:" + messageModel.getMsgID(), e);
    }

    @Override
    public void success(MessageModel messageModel, String groupName) {
        logger.debug("消费:" + messageModel.getMsgID());
    }
}
