using CMS.Plugin.HIAWms.Domain.WmsContainers; using Microsoft.Extensions.Logging; using Volo.Abp.BackgroundJobs; using Volo.Abp.DependencyInjection; using Volo.Abp.Uow; namespace CMS.Plugin.HIAWms.Jobs { /// /// HIAWms 后台作业 /// public class HIAWmsJob : BackgroundJob, ITransientDependency { private readonly ILogger _logger; private readonly IUnitOfWorkManager _unitOfWorkManager; private readonly IWmsContainerRepository _wmscontainerRepository; /// /// Initializes a new instance of the class. /// /// The logger. /// The unit of work manager. /// My entity name repository. public HIAWmsJob(ILogger logger, IUnitOfWorkManager unitOfWorkManager, IWmsContainerRepository wmscontainerRepository) { _logger = logger; _unitOfWorkManager = unitOfWorkManager; _wmscontainerRepository = wmscontainerRepository; } /// public override void Execute(HIAWmsArgs args) { using var uow = _unitOfWorkManager.Begin(requiresNew: true); var count = _wmscontainerRepository.GetCountAsync().GetAwaiter().GetResult(); // 如果有更新数据库操作,需提交保存 // uow.SaveChangesAsync().GetAwaiter().GetResult(); _logger.LogInformation($"HIAWmsJob Execute,Subject={args.Subject},Body={args.Body},Count={count}"); } } }