Browse Source

feat: After the setting definition is changed, a local event is triggered.

pull/1565/head
colin 2 weeks ago
parent
commit
d5c56f68a5
  1. 1
      aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN.Abp.SettingManagement.Application.csproj
  2. 2
      aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN/Abp/SettingManagement/AbpSettingManagementApplicationModule.cs
  3. 14
      aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN/Abp/SettingManagement/SettingDefinitionAppService.cs

1
aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN.Abp.SettingManagement.Application.csproj

@ -22,6 +22,7 @@
<PackageReference Include="Volo.Abp.AspNetCore.Mvc.Contracts" /> <PackageReference Include="Volo.Abp.AspNetCore.Mvc.Contracts" />
<PackageReference Include="Volo.Abp.Ddd.Application" /> <PackageReference Include="Volo.Abp.Ddd.Application" />
<PackageReference Include="Volo.Abp.Emailing" /> <PackageReference Include="Volo.Abp.Emailing" />
<PackageReference Include="Volo.Abp.EventBus" />
<PackageReference Include="Volo.Abp.SettingManagement.Domain" /> <PackageReference Include="Volo.Abp.SettingManagement.Domain" />
<PackageReference Include="Volo.Abp.SettingManagement.Application.Contracts" /> <PackageReference Include="Volo.Abp.SettingManagement.Application.Contracts" />
</ItemGroup> </ItemGroup>

2
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 Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Application; using Volo.Abp.Application;
using Volo.Abp.Emailing; using Volo.Abp.Emailing;
using Volo.Abp.EventBus;
using Volo.Abp.Localization; using Volo.Abp.Localization;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
using Volo.Abp.SettingManagement; using Volo.Abp.SettingManagement;
@ -20,6 +21,7 @@ namespace LINGYUN.Abp.SettingManagement;
typeof(VoloAbpSettingManagementApplicationContractsModule), typeof(VoloAbpSettingManagementApplicationContractsModule),
typeof(AbpAccountApplicationContractsModule), typeof(AbpAccountApplicationContractsModule),
typeof(AbpAccountOAuthModule), typeof(AbpAccountOAuthModule),
typeof(AbpEventBusModule),
typeof(AbpEmailingModule), typeof(AbpEmailingModule),
typeof(AbpTimingModule), typeof(AbpTimingModule),
typeof(AbpLocalizationModule), typeof(AbpLocalizationModule),

14
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.Application.Dtos;
using Volo.Abp.Data; using Volo.Abp.Data;
using Volo.Abp.Domain.Repositories; using Volo.Abp.Domain.Repositories;
using Volo.Abp.Localization; using Volo.Abp.EventBus.Local;
using Volo.Abp.Security.Encryption; using Volo.Abp.Security.Encryption;
using Volo.Abp.SettingManagement; using Volo.Abp.SettingManagement;
using Volo.Abp.Settings; using Volo.Abp.Settings;
@ -18,19 +18,19 @@ namespace LINGYUN.Abp.SettingManagement;
[Authorize(SettingManagementPermissions.Definition.Default)] [Authorize(SettingManagementPermissions.Definition.Default)]
public class SettingDefinitionAppService : SettingManagementAppServiceBase, ISettingDefinitionAppService public class SettingDefinitionAppService : SettingManagementAppServiceBase, ISettingDefinitionAppService
{ {
private readonly ILocalEventBus _eventBus;
private readonly IStringEncryptionService _stringEncryptionService; private readonly IStringEncryptionService _stringEncryptionService;
private readonly ISettingValueProviderManager _settingValueProviderManager; private readonly ISettingValueProviderManager _settingValueProviderManager;
private readonly ILocalizableStringSerializer _localizableStringSerializer;
private readonly IRepository<SettingDefinitionRecord, Guid> _settingRepository; private readonly IRepository<SettingDefinitionRecord, Guid> _settingRepository;
public SettingDefinitionAppService( public SettingDefinitionAppService(
ILocalEventBus eventBus,
IStringEncryptionService stringEncryptionService, IStringEncryptionService stringEncryptionService,
ILocalizableStringSerializer localizableStringSerializer,
IRepository<SettingDefinitionRecord, Guid> settingRepository, IRepository<SettingDefinitionRecord, Guid> settingRepository,
ISettingValueProviderManager settingValueProviderManager) ISettingValueProviderManager settingValueProviderManager)
{ {
_eventBus = eventBus;
_stringEncryptionService = stringEncryptionService; _stringEncryptionService = stringEncryptionService;
_localizableStringSerializer = localizableStringSerializer;
_settingRepository = settingRepository; _settingRepository = settingRepository;
_settingValueProviderManager = settingValueProviderManager; _settingValueProviderManager = settingValueProviderManager;
} }
@ -70,6 +70,8 @@ public class SettingDefinitionAppService : SettingManagementAppServiceBase, ISet
await CurrentUnitOfWork!.SaveChangesAsync(); await CurrentUnitOfWork!.SaveChangesAsync();
await _eventBus.PublishAsync(new StaticSettingDefinitionChangedEvent());
return DefinitionRecordToDto(settingDefinitionRecord); return DefinitionRecordToDto(settingDefinitionRecord);
} }
@ -84,6 +86,8 @@ public class SettingDefinitionAppService : SettingManagementAppServiceBase, ISet
await _settingRepository.DeleteAsync(definitionRecord); await _settingRepository.DeleteAsync(definitionRecord);
await _eventBus.PublishAsync(new StaticSettingDefinitionChangedEvent());
await CurrentUnitOfWork!.SaveChangesAsync(); await CurrentUnitOfWork!.SaveChangesAsync();
} }
@ -149,6 +153,8 @@ public class SettingDefinitionAppService : SettingManagementAppServiceBase, ISet
await CurrentUnitOfWork!.SaveChangesAsync(); await CurrentUnitOfWork!.SaveChangesAsync();
await _eventBus.PublishAsync(new StaticSettingDefinitionChangedEvent());
return DefinitionRecordToDto(definitionRecord); return DefinitionRecordToDto(definitionRecord);
} }

Loading…
Cancel
Save