37 lines
1.4 KiB
C#
37 lines
1.4 KiB
C#
using Hg.Core.Domain;
|
|
using Hg.Core.Domain.Impl;
|
|
|
|
namespace Hg.Core.WebApi.Workers
|
|
{
|
|
public class ComplaintWorker : BackgroundService
|
|
{
|
|
private readonly IServiceProvider _serviceProvider;
|
|
public ComplaintWorker(IServiceProvider serviceProvider)
|
|
{
|
|
_serviceProvider = serviceProvider;
|
|
}
|
|
|
|
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
|
{
|
|
using IServiceScope scope = _serviceProvider.CreateScope();
|
|
var outComplaintDomain = scope.ServiceProvider.GetRequiredService<IOutComplaintDomain>();
|
|
var inComplaintDomain = scope.ServiceProvider.GetRequiredService<IInComplaintDomain>();
|
|
var orderRefundApplyDomain = scope.ServiceProvider.GetRequiredService<IOrderRefundApplyDomain>();
|
|
while (!stoppingToken.IsCancellationRequested)
|
|
{
|
|
var now = DateTime.Now;
|
|
if (now.Minute == 0)
|
|
{
|
|
if (now.Hour == 0)
|
|
{
|
|
await outComplaintDomain.SyncOutComplaintStatus();
|
|
}
|
|
await inComplaintDomain.SyncInComplaintStatus();
|
|
await orderRefundApplyDomain.SyncOrderRefundApplyStatus();
|
|
}
|
|
await Task.Delay(60 * 1000);
|
|
}
|
|
}
|
|
}
|
|
}
|