using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; using Datory; using GxPress.Common.Exceptions; using GxPress.Entity; using GxPress.Request.App.GroupUser; namespace GxPress.Service.Implement.Group { public partial class GroupService { /// /// 移除小组成员 /// /// /// public async Task DeleteAsync(GroupUserDeRequest request) { var group = await _groupRepository.GetAsync(request.GroupId); // if (request.GroupUserIds.Contains(group.UserId)) // throw new BusinessException("创建人不能删除"); await _groupUserRepository.DeleteAsync(Q.Where(nameof(GroupUser.GroupId), request.GroupId) .WhereIn(nameof(GroupUser.UserId), request.GroupUserIds)); //删除小组会话界面 return await _middleRepository.DeleteAsync(Q.Where(nameof(Entity.Middle.Middle.FolderType), 7) .Where(nameof(Entity.Middle.Middle.MiddleId), request.GroupId) .WhereIn(nameof(Entity.Middle.Middle.UserId), request.GroupUserIds)); } /// /// 退出小组 /// /// /// /// public async Task DeleteAsync(int userId, int groupId) { var group = await _groupRepository.GetAsync(groupId); if (group == null) throw new BusinessException("小组不存在!"); // if (group.UserId == userId) // throw new BusinessException("创建人不能退出"); await _groupUserRepository.DeleteAsync(Q.Where(nameof(GroupUser.GroupId), groupId) .Where(nameof(GroupUser.UserId), userId)); return await _middleRepository.DeleteAsync(Q.Where(nameof(Entity.Middle.Middle.FolderType), 7) .Where(nameof(Entity.Middle.Middle.MiddleId), groupId) .Where(nameof(Entity.Middle.Middle.UserId), userId)); } } }