diff --git a/plugins/FlashSales/src/EasyAbp.EShop.Plugins.FlashSales.Application/EasyAbp/EShop/Plugins/FlashSales/FlashSalePlans/FlashSaleOrderCreationResultEventHandler.cs b/plugins/FlashSales/src/EasyAbp.EShop.Plugins.FlashSales.Application/EasyAbp/EShop/Plugins/FlashSales/FlashSalePlans/FlashSaleOrderCreationResultEventHandler.cs index ba59e962..852d3fa9 100644 --- a/plugins/FlashSales/src/EasyAbp.EShop.Plugins.FlashSales.Application/EasyAbp/EShop/Plugins/FlashSales/FlashSalePlans/FlashSaleOrderCreationResultEventHandler.cs +++ b/plugins/FlashSales/src/EasyAbp.EShop.Plugins.FlashSales.Application/EasyAbp/EShop/Plugins/FlashSales/FlashSalePlans/FlashSaleOrderCreationResultEventHandler.cs @@ -2,7 +2,6 @@ using EasyAbp.EShop.Plugins.FlashSales.FlashSaleResults; using EasyAbp.EShop.Plugins.FlashSales.FlashSaleResults.Dtos; using EasyAbp.Eshop.Products.Products; -using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Volo.Abp.DependencyInjection; using Volo.Abp.EventBus.Distributed; @@ -17,7 +16,7 @@ public class FlashSaleOrderCreationResultEventHandler : IDistributedEventHandler protected ILogger Logger { get; } protected IFlashSaleInventoryManager FlashSaleInventoryManager { get; } protected IUnitOfWorkManager UnitOfWorkManager { get; } - protected IServiceScopeFactory ServiceScopeFactory { get; } + protected IObjectMapper ObjectMapper { get; } protected IFlashSaleCurrentResultCache FlashSaleCurrentResultCache { get; } protected IFlashSaleResultRepository FlashSaleResultRepository { get; } @@ -25,14 +24,14 @@ public class FlashSaleOrderCreationResultEventHandler : IDistributedEventHandler ILogger logger, IFlashSaleInventoryManager flashSaleInventoryManager, IUnitOfWorkManager unitOfWorkManager, - IServiceScopeFactory serviceScopeFactory, + IObjectMapper objectMapper, IFlashSaleCurrentResultCache flashSaleCurrentResultCache, IFlashSaleResultRepository flashSaleResultRepository) { Logger = logger; FlashSaleInventoryManager = flashSaleInventoryManager; UnitOfWorkManager = unitOfWorkManager; - ServiceScopeFactory = serviceScopeFactory; + ObjectMapper = objectMapper; FlashSaleCurrentResultCache = flashSaleCurrentResultCache; FlashSaleResultRepository = flashSaleResultRepository; } @@ -87,16 +86,11 @@ public class FlashSaleOrderCreationResultEventHandler : IDistributedEventHandler protected virtual async Task ResetFlashSaleCurrentResultCacheAsync(FlashSaleResult flashSaleResult) { - using var scope = ServiceScopeFactory.CreateScope(); - - var objectMapper = scope.ServiceProvider.GetRequiredService(); - var flashSaleCurrentResultCache = scope.ServiceProvider.GetRequiredService(); - - await flashSaleCurrentResultCache.SetAsync(flashSaleResult.PlanId, flashSaleResult.UserId, + await FlashSaleCurrentResultCache.SetAsync(flashSaleResult.PlanId, flashSaleResult.UserId, new FlashSaleCurrentResultCacheItem { TenantId = flashSaleResult.TenantId, - ResultDto = objectMapper.Map(flashSaleResult) + ResultDto = ObjectMapper.Map(flashSaleResult) }); } } \ No newline at end of file diff --git a/plugins/FlashSales/src/EasyAbp.EShop.Plugins.FlashSales.Application/EasyAbp/EShop/Plugins/FlashSales/FlashSaleResults/CreateFlashSaleResultEventHandler.cs b/plugins/FlashSales/src/EasyAbp.EShop.Plugins.FlashSales.Application/EasyAbp/EShop/Plugins/FlashSales/FlashSaleResults/CreateFlashSaleResultEventHandler.cs index ef53a8d7..e691edd7 100644 --- a/plugins/FlashSales/src/EasyAbp.EShop.Plugins.FlashSales.Application/EasyAbp/EShop/Plugins/FlashSales/FlashSaleResults/CreateFlashSaleResultEventHandler.cs +++ b/plugins/FlashSales/src/EasyAbp.EShop.Plugins.FlashSales.Application/EasyAbp/EShop/Plugins/FlashSales/FlashSaleResults/CreateFlashSaleResultEventHandler.cs @@ -3,7 +3,6 @@ using EasyAbp.EShop.Plugins.FlashSales.FlashSalePlans; using EasyAbp.EShop.Plugins.FlashSales.FlashSaleResults.Dtos; using EasyAbp.Eshop.Products.Products; using EasyAbp.EShop.Products.Products; -using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Volo.Abp; using Volo.Abp.DependencyInjection; @@ -23,7 +22,6 @@ public class CreateFlashSaleResultEventHandler : IDistributedEventHandler Logger { get; } protected IAbpDistributedLock AbpDistributedLock { get; } protected IDistributedEventBus DistributedEventBus { get; } @@ -35,7 +33,6 @@ public class CreateFlashSaleResultEventHandler : IDistributedEventHandler logger, IAbpDistributedLock abpDistributedLock, IDistributedEventBus distributedEventBus, @@ -46,7 +43,6 @@ public class CreateFlashSaleResultEventHandler : IDistributedEventHandler { - using var scope = ServiceScopeFactory.CreateScope(); - - var flashSaleInventoryManager = scope.ServiceProvider.GetRequiredService(); - - if (!await flashSaleInventoryManager.TryRollBackInventoryAsync(eventData.TenantId, + if (!await FlashSaleInventoryManager.TryRollBackInventoryAsync(eventData.TenantId, eventData.ProductInventoryProviderName, eventData.Plan.StoreId, eventData.Plan.ProductId, eventData.Plan.ProductSkuId)) {