using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; using System.Transactions; using GxPress.Common.Exceptions; namespace GxPress.Service.Implement.GroupChatUser { public partial class GroupChatUserService { /// /// 移除用户成员 /// /// /// public async Task DeleteAsync(List groupChatUserIds) { try { using (TransactionScope transactionScope = new TransactionScope()) { foreach (var item in groupChatUserIds) { //获取成员 var groupChartUser = await _groupChatUserRepository.FindGroupChatUserByIdAsync(item); //获取群 var groupChart = await _groupChatRepository.FindGroupChatByIdAsync(groupChartUser.GroupChatId); //获取聊天界面 var oftenContact = await _oftenContactRepository.FindOftenContactAsync(groupChartUser.UserId, groupChart.GroupChatImId); //删除聊天界面 await _oftenContactRepository.DeleteAsync(oftenContact.Id); //删除群成员 await _groupChatUserRepository.DeleteAsync(groupChartUser.Id); } transactionScope.Complete(); } } catch (Exception e) { throw new BusinessException(e.Message); } return true; } } }