using Microsoft.EntityFrameworkCore.Storage; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Quartz; using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; using WMS.Web.Domain.Infrastructure; using WMS.Web.Domain.IService; using WMS.Web.Domain.IService.Public; using WMS.Web.Domain.Options; namespace WMS.Web.Domain.QuartzJob { public class OutStockOrderQuartzJob : IJob { private readonly ILogger _logger; private readonly IServiceScopeFactory _serviceScopeFactory; private readonly AppOptions _options; private readonly IOutStockTaskService _outStockTaskService; private readonly ITransactionRepositories _transactionRepositories; public OutStockOrderQuartzJob(ILogger logger, IServiceScopeFactory serviceScopeFactory, IOptions options, IOutStockTaskService inStockTaskService, ITransactionRepositories transactionRepositories) { this._logger = logger; _serviceScopeFactory = serviceScopeFactory; this._options = options?.Value; _outStockTaskService = inStockTaskService; _transactionRepositories = transactionRepositories; } /// /// 执行方法 /// /// /// public async Task Execute(IJobExecutionContext context) { try { //2.记录:开始时间 var begindatetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); _logger.LogInformation($"出库单-同步金蝶入库单数据:执行开始时间->{begindatetime}"); //3.同步数据 var result = await _outStockTaskService.Sync(null); //5.记录:结束时间 var enddatetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); _logger.LogInformation($"出库单-同步金蝶入库单数据:执行结束时间->{begindatetime}"); } catch (Exception ex) { _logger.LogInformation($"同步金蝶入库单数据:定时任务执行失败->{ex.Message}"); } } } }