54 lines
2.0 KiB
C#
54 lines
2.0 KiB
C#
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
|
||
{
|
||
/// <summary>
|
||
/// 发送私聊消息
|
||
/// </summary>
|
||
/// <param name="senderId">发送人id</param>
|
||
/// <param name="receiverId">接收人</param>
|
||
/// <param name="dto"></param>
|
||
/// <returns></returns>
|
||
Task<MessageBaseVo> SendPrivateMessageAsync(int senderId,int receiverId,MessageBaseDto dto);
|
||
/// <summary>
|
||
/// 发送群聊消息
|
||
/// </summary>
|
||
/// <param name="senderId">发送人id</param>
|
||
/// <param name="groupId">接收群id</param>
|
||
/// <param name="dto"></param>
|
||
/// <returns></returns>
|
||
Task<MessageBaseVo> SendGroupMessageAsync(int senderId,int groupId,MessageBaseDto dto);
|
||
/// <summary>
|
||
/// 消息入库
|
||
/// </summary>
|
||
/// <param name="message"></param>
|
||
/// <returns></returns>
|
||
Task MakeMessageAsync(Message message);
|
||
/// <summary>
|
||
/// 获取历史消息列表
|
||
/// </summary>
|
||
/// <param name="conversationId">会话id(用于获取指定用户间聊天消息)</param>
|
||
/// <param name="sequenceId">消息id</param>
|
||
/// <param name="pageSize">获取消息数量</param>
|
||
/// <returns></returns>
|
||
Task<List<MessageBaseVo>> GetMessagesAsync(int userId,MessageQueryDto dto);
|
||
/// <summary>
|
||
/// 获取未读消息数
|
||
/// </summary>
|
||
/// <param name="userId"></param>
|
||
/// <returns></returns>
|
||
Task<int> GetUnreadCountAsync(int userId);
|
||
Task<List<MessageBaseDto>> GetUnreadMessagesAsync(int userId);
|
||
Task<bool> MarkAsReadAsync(int userId,long messageId);
|
||
Task<bool> MarkConversationAsReadAsync(int userId,int? userBId,int? groupId);
|
||
Task<bool> RecallMessageAsync(int userId,int messageId);
|
||
|
||
Task<MessageBaseDto> HandleFileMessageContentAsync(MessageBaseDto dto);
|
||
}
|
||
}
|