From d5c56f68a5d14e2a31d6aeb5f030594b6a4bbc0b Mon Sep 17 00:00:00 2001 From: colin Date: Wed, 26 Aug 2026 09:27:48 +0800 Subject: [PATCH] feat: After the setting definition is changed, a local event is triggered. --- ...INGYUN.Abp.SettingManagement.Application.csproj | 1 + .../AbpSettingManagementApplicationModule.cs | 2 ++ .../SettingDefinitionAppService.cs | 14 ++++++++++---- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN.Abp.SettingManagement.Application.csproj b/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN.Abp.SettingManagement.Application.csproj index cdf9bb431..64df2c01d 100644 --- a/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN.Abp.SettingManagement.Application.csproj +++ b/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN.Abp.SettingManagement.Application.csproj @@ -22,6 +22,7 @@ + diff --git a/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN/Abp/SettingManagement/AbpSettingManagementApplicationModule.cs b/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN/Abp/SettingManagement/AbpSettingManagementApplicationModule.cs index 04bcf3254..b8f17b1d4 100644 --- a/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN/Abp/SettingManagement/AbpSettingManagementApplicationModule.cs +++ b/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN/Abp/SettingManagement/AbpSettingManagementApplicationModule.cs @@ -4,6 +4,7 @@ using LINGYUN.Abp.Account.OAuth.Localization; using Microsoft.Extensions.DependencyInjection; using Volo.Abp.Application; using Volo.Abp.Emailing; +using Volo.Abp.EventBus; using Volo.Abp.Localization; using Volo.Abp.Modularity; using Volo.Abp.SettingManagement; @@ -20,6 +21,7 @@ namespace LINGYUN.Abp.SettingManagement; typeof(VoloAbpSettingManagementApplicationContractsModule), typeof(AbpAccountApplicationContractsModule), typeof(AbpAccountOAuthModule), + typeof(AbpEventBusModule), typeof(AbpEmailingModule), typeof(AbpTimingModule), typeof(AbpLocalizationModule), diff --git a/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN/Abp/SettingManagement/SettingDefinitionAppService.cs b/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN/Abp/SettingManagement/SettingDefinitionAppService.cs index 819369b5a..f454a0ef3 100644 --- a/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN/Abp/SettingManagement/SettingDefinitionAppService.cs +++ b/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN/Abp/SettingManagement/SettingDefinitionAppService.cs @@ -8,7 +8,7 @@ using Volo.Abp; using Volo.Abp.Application.Dtos; using Volo.Abp.Data; using Volo.Abp.Domain.Repositories; -using Volo.Abp.Localization; +using Volo.Abp.EventBus.Local; using Volo.Abp.Security.Encryption; using Volo.Abp.SettingManagement; using Volo.Abp.Settings; @@ -18,19 +18,19 @@ namespace LINGYUN.Abp.SettingManagement; [Authorize(SettingManagementPermissions.Definition.Default)] public class SettingDefinitionAppService : SettingManagementAppServiceBase, ISettingDefinitionAppService { + private readonly ILocalEventBus _eventBus; private readonly IStringEncryptionService _stringEncryptionService; private readonly ISettingValueProviderManager _settingValueProviderManager; - private readonly ILocalizableStringSerializer _localizableStringSerializer; private readonly IRepository _settingRepository; public SettingDefinitionAppService( + ILocalEventBus eventBus, IStringEncryptionService stringEncryptionService, - ILocalizableStringSerializer localizableStringSerializer, IRepository settingRepository, ISettingValueProviderManager settingValueProviderManager) { + _eventBus = eventBus; _stringEncryptionService = stringEncryptionService; - _localizableStringSerializer = localizableStringSerializer; _settingRepository = settingRepository; _settingValueProviderManager = settingValueProviderManager; } @@ -70,6 +70,8 @@ public class SettingDefinitionAppService : SettingManagementAppServiceBase, ISet await CurrentUnitOfWork!.SaveChangesAsync(); + await _eventBus.PublishAsync(new StaticSettingDefinitionChangedEvent()); + return DefinitionRecordToDto(settingDefinitionRecord); } @@ -84,6 +86,8 @@ public class SettingDefinitionAppService : SettingManagementAppServiceBase, ISet await _settingRepository.DeleteAsync(definitionRecord); + await _eventBus.PublishAsync(new StaticSettingDefinitionChangedEvent()); + await CurrentUnitOfWork!.SaveChangesAsync(); } @@ -149,6 +153,8 @@ public class SettingDefinitionAppService : SettingManagementAppServiceBase, ISet await CurrentUnitOfWork!.SaveChangesAsync(); + await _eventBus.PublishAsync(new StaticSettingDefinitionChangedEvent()); + return DefinitionRecordToDto(definitionRecord); }