using DataSharing.FwDataExchange; using DataSharing.Province; using DataSharing.Share.Consts; using DataSharing.Share.Dtos.HotlineSetting; using DataSharing.Share.Dtos.HotlineWeb; using DataSharing.Share.Dtos.Province.HuiJu; using DataSharing.Share.Enums; using Microsoft.Extensions.Logging; using Quartz; using XF.Domain.Cache; using XF.Domain.Repository; namespace DataSharing.SendTask { /// /// /// public class TaskSubmitCaseTotalJob : IJob, IDisposable { private readonly ILogger _logger; private readonly FwClient _fwClient; private readonly ITypedCache _configurationInformationCache; private readonly IChannelConfigurationManager _channelConfigurationManager; private readonly IRepository _dsSendTaskRepository; /// /// /// /// /// /// /// public TaskSubmitCaseTotalJob( ILogger logger,FwClient fwClient, ITypedCache configurationInformationCache, IChannelConfigurationManager channelConfigurationManager, IRepository dsSendTaskRepository) { _logger = logger; _fwClient = fwClient; _configurationInformationCache = configurationInformationCache; _channelConfigurationManager = channelConfigurationManager; _dsSendTaskRepository = dsSendTaskRepository; } public async Task Execute(IJobExecutionContext context) { _logger.LogError($"数据汇聚,进来了时间是{DateTime.Now}"); var data = await _fwClient.RequestNoTokenAsync("api/v1/Order/get-orderurge-count", "Get", null); var areaInfo = _channelConfigurationManager.GetConfigurationCityCode(); SubmitCaseTotalInfo submitCaseTotal = new() { AreaCode = areaInfo.AreaCode, SubmitDate = Convert.ToDateTime(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd 00:00:00")) }; if (data != null && data.code == 0) { submitCaseTotal.CBZL = data.result.Totle; } var configurationInformation = await _configurationInformationCache.GetAsync(ConstantSettings.ConfigurationInformationCacheKey, context.CancellationToken); if (configurationInformation != null) { submitCaseTotal.SeatNum = configurationInformation.SeatNum; submitCaseTotal.SeatHwyNum = configurationInformation.SeatHwyNum; } #region 处理请求参数 var configProvince = _channelConfigurationManager.GetConfigurationProvince(); var request = new ProvinceListRequest(configProvince.ClientId, configProvince.ClientSecret); request.SetData(new List() { submitCaseTotal }); var jsonData = request.ToString(); #endregion //组装参数 DsSendTask dsSendTask = new() { TaskPriority = 0, TaskType = "SubmitCaseTotal", HttpMethod = "Post", Path = "submit_case_total", PlatformSource = EPlatformSource.Province, FileJson = null, Request = jsonData, GenerationTime = null, PathType = EPathType.HuiJu }; await _dsSendTaskRepository.AddAsync(dsSendTask, context.CancellationToken); } public void Dispose() { } } }