|
|
|
@ -3,6 +3,7 @@ using LINGYUN.Abp.MessageService.Utils; |
|
|
|
using LINGYUN.Abp.Notifications; |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Linq; |
|
|
|
using System.Threading.Tasks; |
|
|
|
using Volo.Abp.Domain.Services; |
|
|
|
using Volo.Abp.Json; |
|
|
|
@ -77,6 +78,20 @@ namespace LINGYUN.Abp.MessageService.Notifications |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[UnitOfWork] |
|
|
|
public async Task DeleteAllUserSubscriptionAsync(Guid? tenantId, string notificationName) |
|
|
|
{ |
|
|
|
using (var unitOfWork = _unitOfWorkManager.Begin()) |
|
|
|
using (CurrentTenant.Change(tenantId)) |
|
|
|
{ |
|
|
|
var userSubscribes = await UserSubscribeRepository.GetSubscribesAsync(notificationName); |
|
|
|
|
|
|
|
await UserSubscribeRepository.DeleteUserSubscriptionAsync(userSubscribes); |
|
|
|
|
|
|
|
await unitOfWork.SaveChangesAsync(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[UnitOfWork] |
|
|
|
public async Task DeleteUserSubscriptionAsync(Guid? tenantId, Guid userId, string notificationName) |
|
|
|
{ |
|
|
|
@ -90,6 +105,22 @@ namespace LINGYUN.Abp.MessageService.Notifications |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[UnitOfWork] |
|
|
|
public async Task DeleteUserSubscriptionAsync(Guid? tenantId, IEnumerable<UserIdentifier> identifiers, string notificationName) |
|
|
|
{ |
|
|
|
using (var unitOfWork = _unitOfWorkManager.Begin()) |
|
|
|
using (CurrentTenant.Change(tenantId)) |
|
|
|
{ |
|
|
|
var userSubscribes = await UserSubscribeRepository.GetSubscribesAsync(notificationName); |
|
|
|
|
|
|
|
var removeUserSubscribes = userSubscribes.Where(us => identifiers.Any(id => id.UserId.Equals(us.UserId))); |
|
|
|
|
|
|
|
await UserSubscribeRepository.DeleteUserSubscriptionAsync(removeUserSubscribes); |
|
|
|
|
|
|
|
await unitOfWork.SaveChangesAsync(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public async Task<NotificationInfo> GetNotificationOrNullAsync(Guid? tenantId, long notificationId) |
|
|
|
{ |
|
|
|
using (CurrentTenant.Change(tenantId)) |
|
|
|
|