IM/backend/IM_API/Interface/Services/IMessageSevice.cs
2026-02-23 18:52:32 +08:00

54 lines
2.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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);
}
}