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