package com.elab.mq.rocket.msg;

import com.elab.mq.rocket.msg.entity.RmqConsumerEntity;

/**
 * 消费者数据存储
 *
 * @author ： liukx
 * @time ： 2019/7/18 - 15:12
 */
public interface ConsumerDataStore {


    /**
     * 添加一条消息内容
     *
     * @param keyModel
     * @return
     */
    public boolean add(RmqConsumerEntity keyModel) throws Exception;

    /**
     * 根据消息Key获取信息
     *
     * @param group 消费组
     * @param key   消费key
     * @return
     */
    public RmqConsumerEntity getMsgKey(String group, String key) throws Exception;

    /**
     * 修改消息数据
     *
     * @param entity 最终的实体
     * @return
     */
    public boolean update(RmqConsumerEntity entity) throws Exception;

    /**
     * 根据消息编号获取信息
     *
     * @param group 消费组
     * @param msgId 消费编号
     * @return
     */
    public RmqConsumerEntity getMsgId(String group, String msgId) throws Exception;
}
