using CMS.Plugin.HIAWms.Domain.WmsPlaces;
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 IWmsPlaceRepository _wmsplaceRepository;
///
/// Initializes a new instance of the class.
///
/// The logger.
/// The unit of work manager.
/// My entity name repository.
public HIAWmsJob(ILogger logger, IUnitOfWorkManager unitOfWorkManager, IWmsPlaceRepository wmsplaceRepository)
{
_logger = logger;
_unitOfWorkManager = unitOfWorkManager;
_wmsplaceRepository = wmsplaceRepository;
}
///
public override void Execute(HIAWmsArgs args)
{
using var uow = _unitOfWorkManager.Begin(requiresNew: true);
var count = _wmsplaceRepository.GetCountAsync().GetAwaiter().GetResult();
// 如果有更新数据库操作,需提交保存
// uow.SaveChangesAsync().GetAwaiter().GetResult();
_logger.LogInformation($"HIAWmsJob Execute,Subject={args.Subject},Body={args.Body},Count={count}");
}
}
}