diff --git a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain/EasyAbp/EShop/Orders/Orders/OrderAutoCancelOnCreatedHandler.cs b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain/EasyAbp/EShop/Orders/Orders/OrderAutoCancelOnCreatedHandler.cs index 69ad84f7..98924395 100644 --- a/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain/EasyAbp/EShop/Orders/Orders/OrderAutoCancelOnCreatedHandler.cs +++ b/modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain/EasyAbp/EShop/Orders/Orders/OrderAutoCancelOnCreatedHandler.cs @@ -3,6 +3,7 @@ using Volo.Abp.BackgroundJobs; using Volo.Abp.DependencyInjection; using Volo.Abp.Domain.Entities.Events.Distributed; using Volo.Abp.EventBus.Distributed; +using Volo.Abp.Timing; namespace EasyAbp.EShop.Orders.Orders { @@ -10,14 +11,17 @@ namespace EasyAbp.EShop.Orders.Orders IDistributedEventHandler>, ITransientDependency { + private readonly IClock _clock; private readonly IBackgroundJobManager _backgroundJobManager; public OrderAutoCancelOnCreatedHandler( + IClock clock, IBackgroundJobManager backgroundJobManager) { + _clock = clock; _backgroundJobManager = backgroundJobManager; } - + public virtual async Task HandleEventAsync(EntityCreatedEto eventData) { if (!eventData.Entity.PaymentExpiration.HasValue) @@ -33,7 +37,7 @@ namespace EasyAbp.EShop.Orders.Orders await _backgroundJobManager.EnqueueAsync( args: args, - delay: eventData.Entity.PaymentExpiration.Value.Subtract(eventData.Entity.CreationTime) // Todo: use a absolute time. + delay: eventData.Entity.PaymentExpiration.Value.Subtract(_clock.Now) // Todo: use a absolute time. ); } }