IM/backend/IM_API/Interface/Services/IGroupService.cs
nanxun 77db20dc38 前端:
1、完善创建群聊逻辑
后端:
1、完善群聊相关接口
2026-02-11 22:44:28 +08:00

56 lines
2.1 KiB
C#

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