1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- using DataSharing.FwDataExchange;
- using DataSharing.RawData;
- using DataSharing.SendTask;
- using DataSharing.Share.Dtos.HotlineSetting;
- using Hotline.Share.Dtos.Order;
- using MapsterMapper;
- using Microsoft.Extensions.Logging;
- using Quartz;
- using SqlSugar;
- using XF.Domain.Repository;
- namespace DataSharing.Province.SendTask
- {
- public class TaskUpdateOrderSourceJob : IJob, IDisposable
- {
- private readonly IMapper _mapper;
- private readonly ILogger<TaskUpdateOrderSourceJob> _logger;
- private readonly IRepository<DsOrderSend> _dsOrderSendRepository;
- private readonly FwClient _fwClient;
- private readonly IChannelConfigurationManager _channelConfigurationManager;
- public TaskUpdateOrderSourceJob(IMapper mapper,
- ILogger<TaskUpdateOrderSourceJob> logger,
- IRepository<DsOrderSend> dsOrderSendRepository,
- FwClient fwClient,
- IChannelConfigurationManager channelConfigurationManager)
- {
- _mapper = mapper;
- _logger = logger;
- _dsOrderSendRepository = dsOrderSendRepository;
- _fwClient = fwClient;
- _channelConfigurationManager = channelConfigurationManager;
- }
- public async Task Execute(IJobExecutionContext context)
- {
- var isOpenPush = _channelConfigurationManager.GetConfigurationIsOpenPush();
- _logger.LogWarning("是否开启:" + "--------------" + isOpenPush);
- if (isOpenPush == true)
- {
- //查询数据
- var items = await _dsOrderSendRepository.Queryable()
- .LeftJoin<DsTelCall>((p, o) => p.CallId == o.CallId)
- .Where((p, o) => p.FirstSendProvinceTime >= Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"))
- && p.FirstSendProvinceTime <= Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 23:59:59")) && p.CaseSourceCode == "RGDH")
- .Where((p, o) => p.FirstSendProvinceTime.HasValue && p.HandleState == "办理完成")
- .Where((p, o) => o.CallId == null || o.CallId == "")
- .OrderByDescending((p, o) => p.CreationTime)
- .ToListAsync();
- //处理数据
- if (items != null && items.Any())
- {
- _logger.LogWarning("读取到条数:" + "--------------" + items.Count);
- List<string> Ids = [];
- foreach (var item in items)
- {
- Ids.Add(item.OrderId);
- }
- //推送数据
- if (Ids != null && Ids.Count > 0)
- {
- UpdateOrderSourceChannelDto data = new()
- {
- Ids = Ids,
- IsPush = true
- };
- await _fwClient.RequestNoTokenAsync<HotlineClientResponse>("api/v1/Order/update-order-sourcechannel", "Post", System.Text.Json.JsonSerializer.Serialize(data));
- }
- }
- }
- }
- public void Dispose()
- {
- }
- }
- }
|