提交
This commit is contained in:
@@ -1,22 +1,22 @@
|
||||
using IM_API.Dtos.Auth;
|
||||
using IM_API.Dtos.User;
|
||||
using IM_API.Models;
|
||||
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface IAuthService
|
||||
{
|
||||
/// <summary>
|
||||
/// 登录
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <returns></returns>
|
||||
Task<User> LoginAsync(LoginRequestDto dto);
|
||||
/// <summary>
|
||||
/// 注册
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <returns></returns>
|
||||
Task<UserInfoDto> RegisterAsync(RegisterRequestDto dto);
|
||||
}
|
||||
}
|
||||
using IM_API.Dtos.Auth;
|
||||
using IM_API.Dtos.User;
|
||||
using IM_API.Models;
|
||||
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface IAuthService
|
||||
{
|
||||
/// <summary>
|
||||
/// 登录
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <returns></returns>
|
||||
Task<User> LoginAsync(LoginRequestDto dto);
|
||||
/// <summary>
|
||||
/// 注册
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <returns></returns>
|
||||
Task<UserInfoDto> RegisterAsync(RegisterRequestDto dto);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,49 +1,49 @@
|
||||
using IM_API.Models;
|
||||
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface ICacheService
|
||||
{
|
||||
/// <summary>
|
||||
/// 设置缓存
|
||||
/// </summary>
|
||||
/// <typeparam name="T">缓存对象类型</typeparam>
|
||||
/// <param name="key">缓存索引值</param>
|
||||
/// <param name="value">要缓存的对象</param>
|
||||
/// <param name="expiration">过期时间</param>
|
||||
/// <returns></returns>
|
||||
Task SetAsync<T>(string key, T value, TimeSpan? expiration = null);
|
||||
/// <summary>
|
||||
/// 获取缓存
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
/// <param name="key">缓存索引</param>
|
||||
/// <returns></returns>
|
||||
Task<T?> GetAsync<T>(string key);
|
||||
/// <summary>
|
||||
/// 删除缓存
|
||||
/// </summary>
|
||||
/// <param name="key">缓存索引</param>
|
||||
/// <returns></returns>
|
||||
Task RemoveAsync(string key);
|
||||
/// <summary>
|
||||
/// 设置用户缓存
|
||||
/// </summary>
|
||||
/// <param name="user"></param>
|
||||
/// <returns></returns>
|
||||
Task SetUserCacheAsync(User user);
|
||||
/// <summary>
|
||||
/// 通过用户名获取用户缓存
|
||||
/// </summary>
|
||||
/// <param name="username"></param>
|
||||
/// <returns></returns>
|
||||
Task<User?> GetUserCacheAsync(string username);
|
||||
/// <summary>
|
||||
/// 删除用户缓存
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="username"></param>
|
||||
/// <returns></returns>
|
||||
Task RemoveUserCacheAsync(string username);
|
||||
}
|
||||
}
|
||||
using IM_API.Models;
|
||||
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface ICacheService
|
||||
{
|
||||
/// <summary>
|
||||
/// 设置缓存
|
||||
/// </summary>
|
||||
/// <typeparam name="T">缓存对象类型</typeparam>
|
||||
/// <param name="key">缓存索引值</param>
|
||||
/// <param name="value">要缓存的对象</param>
|
||||
/// <param name="expiration">过期时间</param>
|
||||
/// <returns></returns>
|
||||
Task SetAsync<T>(string key, T value, TimeSpan? expiration = null);
|
||||
/// <summary>
|
||||
/// 获取缓存
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
/// <param name="key">缓存索引</param>
|
||||
/// <returns></returns>
|
||||
Task<T?> GetAsync<T>(string key);
|
||||
/// <summary>
|
||||
/// 删除缓存
|
||||
/// </summary>
|
||||
/// <param name="key">缓存索引</param>
|
||||
/// <returns></returns>
|
||||
Task RemoveAsync(string key);
|
||||
/// <summary>
|
||||
/// 设置用户缓存
|
||||
/// </summary>
|
||||
/// <param name="user"></param>
|
||||
/// <returns></returns>
|
||||
Task SetUserCacheAsync(User user);
|
||||
/// <summary>
|
||||
/// 通过用户名获取用户缓存
|
||||
/// </summary>
|
||||
/// <param name="username"></param>
|
||||
/// <returns></returns>
|
||||
Task<User?> GetUserCacheAsync(string username);
|
||||
/// <summary>
|
||||
/// 删除用户缓存
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="username"></param>
|
||||
/// <returns></returns>
|
||||
Task RemoveUserCacheAsync(string username);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,56 +1,56 @@
|
||||
using IM_API.Dtos.Conversation;
|
||||
using IM_API.Models;
|
||||
using IM_API.VOs.Conversation;
|
||||
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface IConversationService
|
||||
{
|
||||
/// <summary>
|
||||
/// 清除消息会话
|
||||
/// </summary>
|
||||
/// <param name="clearConversationsDto"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> ClearConversationsAsync(int userId);
|
||||
/// <summary>
|
||||
/// 删除单个聊天会话
|
||||
/// </summary>
|
||||
/// <param name="conversationId"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> DeleteConversationAsync(int conversationId);
|
||||
/// <summary>
|
||||
/// 获取用户当前消息会话
|
||||
/// </summary>
|
||||
/// <param name="userId">用户id</param>
|
||||
/// <returns></returns>
|
||||
Task<List<ConversationVo>> GetConversationsAsync(int userId);
|
||||
/// <summary>
|
||||
/// 获取指定用户的所有推送标识符
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<string>> GetUserAllStreamKeyAsync(int userId);
|
||||
/// <summary>
|
||||
/// 获取单个conversation信息
|
||||
/// </summary>
|
||||
/// <param name="conversationId"></param>
|
||||
/// <returns></returns>
|
||||
Task<ConversationVo> GetConversationByIdAsync(int userId, int conversationId);
|
||||
/// <summary>
|
||||
/// 清空未读消息
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <param name="conversationId"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> ClearUnreadCountAsync(int userId, int conversationId);
|
||||
/// <summary>
|
||||
/// 为用户创建会话
|
||||
/// </summary>
|
||||
/// <param name="userAId"></param>
|
||||
/// <param name="userBId"></param>
|
||||
/// <param name="chatType"></param>
|
||||
/// <returns></returns>
|
||||
Task MakeConversationAsync(int userAId, int userBId, ChatType chatType);
|
||||
Task UpdateConversationAfterSentAsync(UpdateConversationDto dto);
|
||||
}
|
||||
}
|
||||
using IM_API.Dtos.Conversation;
|
||||
using IM_API.Models;
|
||||
using IM_API.VOs.Conversation;
|
||||
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface IConversationService
|
||||
{
|
||||
/// <summary>
|
||||
/// 清除消息会话
|
||||
/// </summary>
|
||||
/// <param name="clearConversationsDto"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> ClearConversationsAsync(int userId);
|
||||
/// <summary>
|
||||
/// 删除单个聊天会话
|
||||
/// </summary>
|
||||
/// <param name="conversationId"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> DeleteConversationAsync(int conversationId);
|
||||
/// <summary>
|
||||
/// 获取用户当前消息会话
|
||||
/// </summary>
|
||||
/// <param name="userId">用户id</param>
|
||||
/// <returns></returns>
|
||||
Task<List<ConversationVo>> GetConversationsAsync(int userId);
|
||||
/// <summary>
|
||||
/// 获取指定用户的所有推送标识符
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<string>> GetUserAllStreamKeyAsync(int userId);
|
||||
/// <summary>
|
||||
/// 获取单个conversation信息
|
||||
/// </summary>
|
||||
/// <param name="conversationId"></param>
|
||||
/// <returns></returns>
|
||||
Task<ConversationVo> GetConversationByIdAsync(int userId, int conversationId);
|
||||
/// <summary>
|
||||
/// 清空未读消息
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <param name="conversationId"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> ClearUnreadCountAsync(int userId, int conversationId);
|
||||
/// <summary>
|
||||
/// 为用户创建会话
|
||||
/// </summary>
|
||||
/// <param name="userAId"></param>
|
||||
/// <param name="userBId"></param>
|
||||
/// <param name="chatType"></param>
|
||||
/// <returns></returns>
|
||||
Task MakeConversationAsync(int userAId, int userBId, ChatType chatType);
|
||||
Task UpdateConversationAfterSentAsync(UpdateConversationDto dto);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,71 +1,71 @@
|
||||
using IM_API.Dtos.Friend;
|
||||
using IM_API.Models;
|
||||
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface IFriendSerivce
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取好友列表
|
||||
/// </summary>
|
||||
/// <param name="userId">指定用户</param>
|
||||
/// <param name="page">当前页</param>
|
||||
/// <param name="limit">分页大小</param>
|
||||
/// <returns></returns>
|
||||
Task<List<FriendInfoDto>> GetFriendListAsync(int userId,int page,int limit,bool desc);
|
||||
/// <summary>
|
||||
/// 新增好友请求
|
||||
/// </summary>
|
||||
/// <param name="friendRequest"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> SendFriendRequestAsync(FriendRequestDto friendRequest);
|
||||
/// <summary>
|
||||
/// 获取好友请求
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <param name="isReceived">是否为接受请求方</param>
|
||||
/// <param name="page"></param>
|
||||
/// <param name="limit"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<FriendRequestResDto>> GetFriendRequestListAsync(int userId,int page,int limit, bool desc);
|
||||
/// <summary>
|
||||
/// 处理好友请求
|
||||
/// </summary>
|
||||
/// <param name="requestDto"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> HandleFriendRequestAsync(HandleFriendRequestDto requestDto);
|
||||
/// <summary>
|
||||
/// 通过用户Id删除好友关系
|
||||
/// </summary>
|
||||
/// <param name="userId">操作用户Id</param>
|
||||
/// <param name="toUserId">被删除用户ID</param>
|
||||
/// <returns></returns>
|
||||
Task<bool> DeleteFriendByUserIdAsync(int userId,int toUserId);
|
||||
/// <summary>
|
||||
/// 通过好友关系Id删除好友关系
|
||||
/// </summary>
|
||||
/// <param name="friendId">好友关系id</param>
|
||||
/// <returns></returns>
|
||||
Task<bool> DeleteFriendAsync(int friendId);
|
||||
/// <summary>
|
||||
/// 通过用户Id拉黑好友关系
|
||||
/// </summary>
|
||||
/// <param name="userId">操作用户Id</param>
|
||||
/// <param name="toUserId">被拉黑用户ID</param>
|
||||
/// <returns></returns>
|
||||
Task<bool> BlockFriendByUserIdAsync(int userId, int toUserId);
|
||||
/// <summary>
|
||||
/// 通过好友关系Id拉黑好友关系
|
||||
/// </summary>
|
||||
/// <param name="friendId">好友关系id</param>
|
||||
/// <returns></returns>
|
||||
Task<bool> BlockeFriendAsync(int friendId);
|
||||
/// <summary>
|
||||
/// 创建好友关系
|
||||
/// </summary>
|
||||
/// <param name="userAId"></param>
|
||||
/// <param name="userBId"></param>
|
||||
/// <returns></returns>
|
||||
Task MakeFriendshipAsync(int userAId, int userBId, string? remarkName);
|
||||
}
|
||||
}
|
||||
using IM_API.Dtos.Friend;
|
||||
using IM_API.Models;
|
||||
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface IFriendSerivce
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取好友列表
|
||||
/// </summary>
|
||||
/// <param name="userId">指定用户</param>
|
||||
/// <param name="page">当前页</param>
|
||||
/// <param name="limit">分页大小</param>
|
||||
/// <returns></returns>
|
||||
Task<List<FriendInfoDto>> GetFriendListAsync(int userId,int page,int limit,bool desc);
|
||||
/// <summary>
|
||||
/// 新增好友请求
|
||||
/// </summary>
|
||||
/// <param name="friendRequest"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> SendFriendRequestAsync(FriendRequestDto friendRequest);
|
||||
/// <summary>
|
||||
/// 获取好友请求
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <param name="isReceived">是否为接受请求方</param>
|
||||
/// <param name="page"></param>
|
||||
/// <param name="limit"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<FriendRequestResDto>> GetFriendRequestListAsync(int userId,int page,int limit, bool desc);
|
||||
/// <summary>
|
||||
/// 处理好友请求
|
||||
/// </summary>
|
||||
/// <param name="requestDto"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> HandleFriendRequestAsync(HandleFriendRequestDto requestDto);
|
||||
/// <summary>
|
||||
/// 通过用户Id删除好友关系
|
||||
/// </summary>
|
||||
/// <param name="userId">操作用户Id</param>
|
||||
/// <param name="toUserId">被删除用户ID</param>
|
||||
/// <returns></returns>
|
||||
Task<bool> DeleteFriendByUserIdAsync(int userId,int toUserId);
|
||||
/// <summary>
|
||||
/// 通过好友关系Id删除好友关系
|
||||
/// </summary>
|
||||
/// <param name="friendId">好友关系id</param>
|
||||
/// <returns></returns>
|
||||
Task<bool> DeleteFriendAsync(int friendId);
|
||||
/// <summary>
|
||||
/// 通过用户Id拉黑好友关系
|
||||
/// </summary>
|
||||
/// <param name="userId">操作用户Id</param>
|
||||
/// <param name="toUserId">被拉黑用户ID</param>
|
||||
/// <returns></returns>
|
||||
Task<bool> BlockFriendByUserIdAsync(int userId, int toUserId);
|
||||
/// <summary>
|
||||
/// 通过好友关系Id拉黑好友关系
|
||||
/// </summary>
|
||||
/// <param name="friendId">好友关系id</param>
|
||||
/// <returns></returns>
|
||||
Task<bool> BlockeFriendAsync(int friendId);
|
||||
/// <summary>
|
||||
/// 创建好友关系
|
||||
/// </summary>
|
||||
/// <param name="userAId"></param>
|
||||
/// <param name="userBId"></param>
|
||||
/// <returns></returns>
|
||||
Task MakeFriendshipAsync(int userAId, int userBId, string? remarkName);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,55 +1,55 @@
|
||||
using IM_API.Dtos.Group;
|
||||
using IM_API.Models;
|
||||
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface IGroupService
|
||||
{
|
||||
/// <summary>
|
||||
/// 邀请好友入群
|
||||
/// </summary>
|
||||
/// <param name="userId">操作者ID</param>
|
||||
/// <param name="groupId">群ID</param>
|
||||
/// <param name="userIds">邀请的用户列表</param>
|
||||
/// <returns></returns>
|
||||
Task InviteUsersAsync(int userId,int groupId, List<int> userIds);
|
||||
/// <summary>
|
||||
/// 加入群聊
|
||||
/// </summary>
|
||||
/// <param name="userId">操作者ID</param>
|
||||
/// <param name="groupId">群ID</param>
|
||||
/// <returns></returns>
|
||||
Task JoinGroupAsync(int userId,int groupId);
|
||||
/// <summary>
|
||||
/// 创建群聊
|
||||
/// </summary>
|
||||
/// <param name="userId">操作者ID</param>
|
||||
/// <param name="groupCreateDto">群信息</param>
|
||||
/// <param name="userIds">邀请用户列表</param>
|
||||
/// <returns></returns>
|
||||
Task<GroupInfoDto> CreateGroupAsync(int userId, GroupCreateDto groupCreateDto);
|
||||
/// <summary>
|
||||
/// 删除群
|
||||
/// </summary>
|
||||
/// <param name="userId">操作者ID</param>
|
||||
/// <param name="groupId">群ID</param>
|
||||
/// <returns></returns>
|
||||
Task DeleteGroupAsync(int userId, int groupId);
|
||||
/// <summary>
|
||||
/// 获取当前用户群列表
|
||||
/// </summary>
|
||||
/// <param name="userId">操作者ID</param>
|
||||
/// <param name="page"></param>
|
||||
/// <param name="limit"></param>
|
||||
/// <param name="desc"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<GroupInfoDto>> GetGroupListAsync(int userId, int page, int limit, bool desc);
|
||||
|
||||
Task UpdateGroupConversationAsync(GroupUpdateConversationDto dto);
|
||||
|
||||
Task HandleGroupInviteAsync(int userid, HandleGroupInviteDto dto);
|
||||
Task HandleGroupRequestAsync(int userid, HandleGroupRequestDto dto);
|
||||
Task MakeGroupRequestAsync(int userId,int? adminUserId,int groupId);
|
||||
Task MakeGroupMemberAsync(int userId, int groupId, GroupMemberRole? role);
|
||||
}
|
||||
}
|
||||
using IM_API.Dtos.Group;
|
||||
using IM_API.Models;
|
||||
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface IGroupService
|
||||
{
|
||||
/// <summary>
|
||||
/// 邀请好友入群
|
||||
/// </summary>
|
||||
/// <param name="userId">操作者ID</param>
|
||||
/// <param name="groupId">群ID</param>
|
||||
/// <param name="userIds">邀请的用户列表</param>
|
||||
/// <returns></returns>
|
||||
Task InviteUsersAsync(int userId,int groupId, List<int> userIds);
|
||||
/// <summary>
|
||||
/// 加入群聊
|
||||
/// </summary>
|
||||
/// <param name="userId">操作者ID</param>
|
||||
/// <param name="groupId">群ID</param>
|
||||
/// <returns></returns>
|
||||
Task JoinGroupAsync(int userId,int groupId);
|
||||
/// <summary>
|
||||
/// 创建群聊
|
||||
/// </summary>
|
||||
/// <param name="userId">操作者ID</param>
|
||||
/// <param name="groupCreateDto">群信息</param>
|
||||
/// <param name="userIds">邀请用户列表</param>
|
||||
/// <returns></returns>
|
||||
Task<GroupInfoDto> CreateGroupAsync(int userId, GroupCreateDto groupCreateDto);
|
||||
/// <summary>
|
||||
/// 删除群
|
||||
/// </summary>
|
||||
/// <param name="userId">操作者ID</param>
|
||||
/// <param name="groupId">群ID</param>
|
||||
/// <returns></returns>
|
||||
Task DeleteGroupAsync(int userId, int groupId);
|
||||
/// <summary>
|
||||
/// 获取当前用户群列表
|
||||
/// </summary>
|
||||
/// <param name="userId">操作者ID</param>
|
||||
/// <param name="page"></param>
|
||||
/// <param name="limit"></param>
|
||||
/// <param name="desc"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<GroupInfoDto>> GetGroupListAsync(int userId, int page, int limit, bool desc);
|
||||
|
||||
Task UpdateGroupConversationAsync(GroupUpdateConversationDto dto);
|
||||
|
||||
Task HandleGroupInviteAsync(int userid, HandleGroupInviteDto dto);
|
||||
Task HandleGroupRequestAsync(int userid, HandleGroupRequestDto dto);
|
||||
Task MakeGroupRequestAsync(int userId,int? adminUserId,int groupId);
|
||||
Task MakeGroupMemberAsync(int userId, int groupId, GroupMemberRole? role);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
using System.Security.Claims;
|
||||
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface IJWTService
|
||||
{
|
||||
/// <summary>
|
||||
/// 生成用户凭证
|
||||
/// </summary>
|
||||
/// <param name="claims">负载</param>
|
||||
/// <param name="expiresAt">过期时间</param>
|
||||
/// <returns></returns>
|
||||
string GenerateAccessToken(IEnumerable<Claim> claims, DateTime expiresAt);
|
||||
/// <summary>
|
||||
/// 创建用户凭证
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
(string token, DateTime expiresAt) CreateAccessTokenForUser(int userId,string username,string role);
|
||||
}
|
||||
}
|
||||
using System.Security.Claims;
|
||||
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface IJWTService
|
||||
{
|
||||
/// <summary>
|
||||
/// 生成用户凭证
|
||||
/// </summary>
|
||||
/// <param name="claims">负载</param>
|
||||
/// <param name="expiresAt">过期时间</param>
|
||||
/// <returns></returns>
|
||||
string GenerateAccessToken(IEnumerable<Claim> claims, DateTime expiresAt);
|
||||
/// <summary>
|
||||
/// 创建用户凭证
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
(string token, DateTime expiresAt) CreateAccessTokenForUser(int userId,string username,string role);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,53 +1,53 @@
|
||||
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);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
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);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface IRefreshTokenService
|
||||
{
|
||||
/// <summary>
|
||||
/// 创建刷新令牌
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <param name="ct"></param>
|
||||
/// <returns></returns>
|
||||
Task<string> CreateRefreshTokenAsync(int userId, CancellationToken ct = default);
|
||||
/// <summary>
|
||||
/// 验证刷新令牌
|
||||
/// </summary>
|
||||
/// <param name="token">刷新令牌</param>
|
||||
/// <param name="ct"></param>
|
||||
/// <returns></returns>
|
||||
Task<(bool ok, int userId)> ValidateRefreshTokenAsync(string token, CancellationToken ct = default);
|
||||
/// <summary>
|
||||
/// 删除更新令牌
|
||||
/// </summary>
|
||||
/// <param name="token">刷新令牌</param>
|
||||
/// <param name="ct"></param>
|
||||
/// <returns></returns>
|
||||
Task RevokeRefreshTokenAsync(string token, CancellationToken ct = default);
|
||||
}
|
||||
}
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface IRefreshTokenService
|
||||
{
|
||||
/// <summary>
|
||||
/// 创建刷新令牌
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <param name="ct"></param>
|
||||
/// <returns></returns>
|
||||
Task<string> CreateRefreshTokenAsync(int userId, CancellationToken ct = default);
|
||||
/// <summary>
|
||||
/// 验证刷新令牌
|
||||
/// </summary>
|
||||
/// <param name="token">刷新令牌</param>
|
||||
/// <param name="ct"></param>
|
||||
/// <returns></returns>
|
||||
Task<(bool ok, int userId)> ValidateRefreshTokenAsync(string token, CancellationToken ct = default);
|
||||
/// <summary>
|
||||
/// 删除更新令牌
|
||||
/// </summary>
|
||||
/// <param name="token">刷新令牌</param>
|
||||
/// <param name="ct"></param>
|
||||
/// <returns></returns>
|
||||
Task RevokeRefreshTokenAsync(string token, CancellationToken ct = default);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface ISequenceIdService
|
||||
{
|
||||
/// <summary>
|
||||
/// 创建消息序号
|
||||
/// </summary>
|
||||
/// <param name="streamKey">聊天唯一标识/param>
|
||||
/// <returns></returns>
|
||||
Task<long> GetNextSquenceIdAsync(string streamKey);
|
||||
}
|
||||
}
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface ISequenceIdService
|
||||
{
|
||||
/// <summary>
|
||||
/// 创建消息序号
|
||||
/// </summary>
|
||||
/// <param name="streamKey">聊天唯一标识/param>
|
||||
/// <returns></returns>
|
||||
Task<long> GetNextSquenceIdAsync(string streamKey);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,45 +1,45 @@
|
||||
using IM_API.Dtos.User;
|
||||
using IM_API.Models;
|
||||
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface IUserService
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取用户信息
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
Task<UserInfoDto> GetUserInfoAsync(int userId);
|
||||
/// <summary>
|
||||
/// 用户名查找用户
|
||||
/// </summary>
|
||||
/// <param name="username"></param>
|
||||
/// <returns></returns>
|
||||
Task<UserInfoDto> GetUserInfoByUsernameAsync(string username);
|
||||
/// <summary>
|
||||
/// 更新用户信息
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <returns></returns>
|
||||
Task<UserInfoDto> UpdateUserAsync(int userId, UpdateUserDto dto);
|
||||
/// <summary>
|
||||
/// 重置用户密码
|
||||
/// </summary>
|
||||
/// <param name="password"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> ResetPasswordAsync(int userId, string oldPassword, string password);
|
||||
/// <summary>
|
||||
/// 更新用户在线状态
|
||||
/// </summary>
|
||||
/// <param name="onlineStatus"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> UpdateOlineStatusAsync(int userId, UserOnlineStatus onlineStatus);
|
||||
/// <summary>
|
||||
/// 批量获取用户信息
|
||||
/// </summary>
|
||||
/// <param name="ids">用户id列表</param>
|
||||
/// <returns></returns>
|
||||
Task<List<UserInfoDto>> GetUserInfoListAsync(List<int> ids);
|
||||
}
|
||||
}
|
||||
using IM_API.Dtos.User;
|
||||
using IM_API.Models;
|
||||
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface IUserService
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取用户信息
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
Task<UserInfoDto> GetUserInfoAsync(int userId);
|
||||
/// <summary>
|
||||
/// 用户名查找用户
|
||||
/// </summary>
|
||||
/// <param name="username"></param>
|
||||
/// <returns></returns>
|
||||
Task<UserInfoDto> GetUserInfoByUsernameAsync(string username);
|
||||
/// <summary>
|
||||
/// 更新用户信息
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <returns></returns>
|
||||
Task<UserInfoDto> UpdateUserAsync(int userId, UpdateUserDto dto);
|
||||
/// <summary>
|
||||
/// 重置用户密码
|
||||
/// </summary>
|
||||
/// <param name="password"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> ResetPasswordAsync(int userId, string oldPassword, string password);
|
||||
/// <summary>
|
||||
/// 更新用户在线状态
|
||||
/// </summary>
|
||||
/// <param name="onlineStatus"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> UpdateOlineStatusAsync(int userId, UserOnlineStatus onlineStatus);
|
||||
/// <summary>
|
||||
/// 批量获取用户信息
|
||||
/// </summary>
|
||||
/// <param name="ids">用户id列表</param>
|
||||
/// <returns></returns>
|
||||
Task<List<UserInfoDto>> GetUserInfoListAsync(List<int> ids);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user