123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- using DataSharing.DataExchange;
- using DataSharing.Enterprise;
- using DataSharing.Province;
- using Microsoft.Extensions.Logging;
- using XF.Domain.Dependency;
- namespace DataSharing.SendTask
- {
- /// <summary>
- /// 执行推送任务
- /// </summary>
- public class SendTaskDataService : ISendTaskDataService, IScopeDependency
- {
- private readonly ILogger<SendTaskDataService> _logger;
- private readonly IPusherProviderService _pusherProviderService;
- private readonly IEnterprisePusherProviderService _enterprisePusherProviderService;
- private readonly IDataExchangePusherProviderService _dataExchangePusherProviderService;
- /// <summary>
- ///
- /// </summary>
- /// <param name="logger"></param>
- /// <param name="pusherProviderService"></param>
- /// <param name="enterprisePusherProviderService"></param>
- /// <param name="dataExchangePusherProviderService"></param>
- public SendTaskDataService(ILogger<SendTaskDataService> logger,
- IPusherProviderService pusherProviderService,
- IEnterprisePusherProviderService enterprisePusherProviderService,
- IDataExchangePusherProviderService dataExchangePusherProviderService)
- {
- _logger = logger;
- _pusherProviderService = pusherProviderService;
- _enterprisePusherProviderService = enterprisePusherProviderService;
- _dataExchangePusherProviderService = dataExchangePusherProviderService;
- }
- /// <summary>
- /// 执行推送任务
- /// </summary>
- /// <param name="dto"></param>
- /// <param name="cancellationToken"></param>
- /// <returns></returns>
- public async Task SendTask(DsSendTask dto, CancellationToken cancellationToken)
- {
- if (dto is null)
- return;
- switch (dto.PlatformSource)
- {
- case Share.Enums.EPlatformSource.Province:
- await _pusherProviderService.SendProvinceDataPusher(dto, cancellationToken);
- break;
- case Share.Enums.EPlatformSource.Police110:
- break;
- case Share.Enums.EPlatformSource.CityDataExchange:
- await _dataExchangePusherProviderService.SendDataExchangeDataPusher(dto, cancellationToken);
- break;
- case Share.Enums.EPlatformSource.ConvergenceMedia:
- break;
- case Share.Enums.EPlatformSource.Enterprise:
- await _enterprisePusherProviderService.SendEnterpriseDataPusher(dto, cancellationToken);
- break;
- default:
- break;
- }
- }
- }
- }
|