package com.red.circle.other.infra.database.mongo.service.team.bd;

import com.red.circle.other.infra.database.mongo.entity.team.bd.BdInviteAgentMessage;
import java.util.List;

/**
 * bd邀请代理消息服务.
 *
 * @author pengliang on 2022/10/10
 */
public interface BdInviteAgentMessageService {

  /**
   * 添加.
   */
  void add(BdInviteAgentMessage message);

  /**
   * 获取最近的消息信息.
   */
  List<BdInviteAgentMessage> listInviteMessage(Long inviteUserId, String group, Integer size);

  /**
   * 撤销邀请
   * @param messageId
   */
  void remove(String messageId);

  /**
   * 获取发起邀请的信息.
   */
  List<BdInviteAgentMessage> listInviteMessageOwn(Long userId, String group, Integer size);

  /**
   * 是否存在等待消息.
   */
  boolean existsWaitMessage(Long userId, Long inviteUserId, String group);

  /**
   * 获取指定消息.
   */
  BdInviteAgentMessage getById(String id);

  /**
   * 修改状态.
   */
  boolean updateStatus(String id, Integer historyStatus, Integer status, String group);

}
