Browse Source

Fix the delay value in OrderAutoCancelOnCreatedHandler

pull/163/head
gdlcf88 4 years ago
parent
commit
d6365a549a
  1. 8
      modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Domain/EasyAbp/EShop/Orders/Orders/OrderAutoCancelOnCreatedHandler.cs

8
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.DependencyInjection;
using Volo.Abp.Domain.Entities.Events.Distributed; using Volo.Abp.Domain.Entities.Events.Distributed;
using Volo.Abp.EventBus.Distributed; using Volo.Abp.EventBus.Distributed;
using Volo.Abp.Timing;
namespace EasyAbp.EShop.Orders.Orders namespace EasyAbp.EShop.Orders.Orders
{ {
@ -10,14 +11,17 @@ namespace EasyAbp.EShop.Orders.Orders
IDistributedEventHandler<EntityCreatedEto<OrderEto>>, IDistributedEventHandler<EntityCreatedEto<OrderEto>>,
ITransientDependency ITransientDependency
{ {
private readonly IClock _clock;
private readonly IBackgroundJobManager _backgroundJobManager; private readonly IBackgroundJobManager _backgroundJobManager;
public OrderAutoCancelOnCreatedHandler( public OrderAutoCancelOnCreatedHandler(
IClock clock,
IBackgroundJobManager backgroundJobManager) IBackgroundJobManager backgroundJobManager)
{ {
_clock = clock;
_backgroundJobManager = backgroundJobManager; _backgroundJobManager = backgroundJobManager;
} }
public virtual async Task HandleEventAsync(EntityCreatedEto<OrderEto> eventData) public virtual async Task HandleEventAsync(EntityCreatedEto<OrderEto> eventData)
{ {
if (!eventData.Entity.PaymentExpiration.HasValue) if (!eventData.Entity.PaymentExpiration.HasValue)
@ -33,7 +37,7 @@ namespace EasyAbp.EShop.Orders.Orders
await _backgroundJobManager.EnqueueAsync( await _backgroundJobManager.EnqueueAsync(
args: args, 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.
); );
} }
} }

Loading…
Cancel
Save