From 810304a51db84a24fe9ebf5c9f0abc074f8276ec Mon Sep 17 00:00:00 2001 From: cKey <35512826+colinin@users.noreply.github.com> Date: Sun, 27 Dec 2020 16:56:31 +0800 Subject: [PATCH] Tenant administrators subscribe before publishing new tenant events --- .../Distributed/TenantCreateEventHandler.cs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/aspnet-core/services/messages/LINGYUN.Abp.MessageService.HttpApi.Host/EventBus/Distributed/TenantCreateEventHandler.cs b/aspnet-core/services/messages/LINGYUN.Abp.MessageService.HttpApi.Host/EventBus/Distributed/TenantCreateEventHandler.cs index ec1fa8927..283b40f2f 100644 --- a/aspnet-core/services/messages/LINGYUN.Abp.MessageService.HttpApi.Host/EventBus/Distributed/TenantCreateEventHandler.cs +++ b/aspnet-core/services/messages/LINGYUN.Abp.MessageService.HttpApi.Host/EventBus/Distributed/TenantCreateEventHandler.cs @@ -21,11 +21,13 @@ namespace LINGYUN.Abp.MessageService.EventBus.Distributed protected ISettingProvider SettingProvider { get; } protected IStringLocalizer StringLocalizer { get; } protected INotificationSender NotificationSender { get; } + protected INotificationSubscriptionManager NotificationSubscriptionManager { get; } public TenantCreateEventHandler( ICurrentTenant currentTenant, ISettingProvider settingProvider, INotificationSender notificationSender, + INotificationSubscriptionManager notificationSubscriptionManager, IStringLocalizer stringLocalizer, ILogger logger) { @@ -34,10 +36,20 @@ namespace LINGYUN.Abp.MessageService.EventBus.Distributed SettingProvider = settingProvider; StringLocalizer = stringLocalizer; NotificationSender = notificationSender; + NotificationSubscriptionManager = notificationSubscriptionManager; } public async Task HandleEventAsync(CreateEventData eventData) { + var tenantAdminUserIdentifier = new UserIdentifier(eventData.AdminUserId, eventData.AdminEmailAddress); + + // 租户管理员订阅事件 + await NotificationSubscriptionManager + .SubscribeAsync( + eventData.Id, + tenantAdminUserIdentifier, + TenantNotificationNames.NewTenantRegistered); + var userDefaultCultureName = await SettingProvider.GetOrNullAsync(LocalizationSettingNames.DefaultLanguage); if (userDefaultCultureName.IsNullOrWhiteSpace()) { @@ -46,8 +58,6 @@ namespace LINGYUN.Abp.MessageService.EventBus.Distributed // 使用系统区域语言发布通知 using (CultureHelper.Use(userDefaultCultureName, userDefaultCultureName)) { - var tenantAdminUserIdentifier = new UserIdentifier(eventData.AdminUserId, eventData.AdminEmailAddress); - var notificationData = new NotificationData(); notificationData.WriteStandardData( L("NewTenantRegisteredNotificationTitle"),