using IM_API.Dtos;
using IM_API.Dtos.Message;
using IM_API.Models;
using IM_API.VOs.Message;
namespace IM_API.Interface.Services
{
public interface IMessageSevice
{
///
/// 发送私聊消息
///
/// 发送人id
/// 接收人
///
///
Task SendPrivateMessageAsync(int senderId,int receiverId,MessageBaseDto dto);
///
/// 发送群聊消息
///
/// 发送人id
/// 接收群id
///
///
Task SendGroupMessageAsync(int senderId,int groupId,MessageBaseDto dto);
///
/// 消息入库
///
///
///
Task MakeMessageAsync(Message message);
///
/// 获取历史消息列表
///
/// 会话id(用于获取指定用户间聊天消息)
/// 消息id
/// 获取消息数量
///
Task> GetMessagesAsync(int userId,MessageQueryDto dto);
///
/// 获取未读消息数
///
///
///
Task GetUnreadCountAsync(int userId);
Task> GetUnreadMessagesAsync(int userId);
Task MarkAsReadAsync(int userId,long messageId);
Task MarkConversationAsReadAsync(int userId,int? userBId,int? groupId);
Task RecallMessageAsync(int userId,int messageId);
}
}