Эх сурвалжийг харах

修改为根据市州对应注入

tangjiang 8 сар өмнө
parent
commit
01d823488e

+ 33 - 119
src/DataSharing.Application/Receivers/ProvinceReceiver.cs

@@ -1,12 +1,11 @@
 using DataSharing.CityStateDataExchange;
+using DataSharing.Police110;
 using DataSharing.Police110.DaoShu110;
-using DataSharing.Police110.DCJT110;
 using DataSharing.Province;
 using DataSharing.RawData;
+using DataSharing.SendTask;
 using DataSharing.Share.Dtos.Province.HuiJu;
 using DataSharing.Share.Dtos.Province.XieTong.Send;
-using DataSharing.YiBin.Enterprise;
-using DataSharing.YiBin.ZzptPlatformsYB;
 using DotNetCore.CAP;
 using Hotline.Share.Dtos.Knowledge;
 using Hotline.Share.Dtos.Order;
@@ -28,12 +27,9 @@ namespace DataSharing.Application.Receivers
         private readonly IRepository<DsOrder> _dsOrderRepository;
         private readonly ISharingConfigurationManager _sharingConfigurationManager;
         private readonly IProvinceService _provinceService;
-        private readonly IDaoShuService _daoShuService;
-        private readonly IDcjtService _dcjtService;
-        private readonly IEnterpriseService _enterpriseService;
-        private readonly IZzptService _zzptService;
-        private readonly ICityStateDataExchangeService _cityStateDataExchangeService;
         private readonly IRepository<DsOrderSend> _orderSendRepository;
+        private readonly ISendTaskDataService _sendTaskDataService;
+        private readonly IPoliceService _policeService;
 
         /// <summary>
         /// 
@@ -43,34 +39,25 @@ namespace DataSharing.Application.Receivers
         /// <param name="dsOrderRepository"></param>
         /// <param name="sharingConfigurationManager"></param>
         /// <param name="provinceService"></param>
-        /// <param name="daoShuService"></param>
-        /// <param name="dcjtService"></param>
-        /// <param name="enterpriseService"></param>
-        /// <param name="zzptService"></param>
-        /// <param name="cityStateDataExchangeService"></param>
         /// <param name="orderSendRepository"></param>
+        /// <param name="sendTaskDataService"></param>
+        /// <param name="policeService"></param>
         public ProvinceReceiver(IMapper mapper, ILogger<ProvinceReceiver> logger,
              IRepository<DsOrder> dsOrderRepository,
              ISharingConfigurationManager sharingConfigurationManager,
              IProvinceService provinceService,
-              IDaoShuService daoShuService,
-              IDcjtService dcjtService,
-              IEnterpriseService enterpriseService,
-              IZzptService zzptService,
-              ICityStateDataExchangeService cityStateDataExchangeService,
-              IRepository<DsOrderSend> orderSendRepository)
+              IRepository<DsOrderSend> orderSendRepository,
+              ISendTaskDataService sendTaskDataService,
+              IPoliceService policeService)
         {
             _mapper = mapper;
             _logger = logger;
             _dsOrderRepository = dsOrderRepository;
             _sharingConfigurationManager = sharingConfigurationManager;
             _provinceService = provinceService;
-            _daoShuService = daoShuService;
-            _dcjtService = dcjtService;
-            _enterpriseService = enterpriseService;
-            _zzptService = zzptService;
-            _cityStateDataExchangeService = cityStateDataExchangeService;
             _orderSendRepository = orderSendRepository;
+            _sendTaskDataService = sendTaskDataService;
+            _policeService = policeService;
         }
         #endregion
 
@@ -418,20 +405,9 @@ namespace DataSharing.Application.Receivers
             //组装处理110数据
             if (dto.Order.Source == ESource.Police110)
             {
-                //宜宾
-                if (_sharingConfigurationManager.IsCity(ConfigurationConsts.YiBin))
-                {
-                    await _daoShuService.VisitDs(dto, cancellationToken);
-                }
-
-                //自贡
-                if (_sharingConfigurationManager.IsCity(ConfigurationConsts.ZiGong))
-                {
-                    await _dcjtService.VisitDcjt(dto, cancellationToken);
-                }
+                await _policeService.Visit(dto, cancellationToken);
             }
 
-
         }
 
         /// <summary>
@@ -448,17 +424,7 @@ namespace DataSharing.Application.Receivers
             //组装处理110数据
             if (dto.Order.Source == ESource.Police110)
             {
-                //宜宾
-                if (_sharingConfigurationManager.IsCity(ConfigurationConsts.YiBin))
-                {
-                    await _daoShuService.VisitDs(dto, cancellationToken);
-                }
-
-                //自贡
-                if (_sharingConfigurationManager.IsCity(ConfigurationConsts.ZiGong))
-                {
-                    await _dcjtService.VisitDcjt(dto, cancellationToken);
-                }
+                await _policeService.Visit(dto, cancellationToken);
             }
         }
 
@@ -619,42 +585,17 @@ namespace DataSharing.Application.Receivers
             //推省上
             await _provinceService.OrderFiledAsync(dto, cancellationToken);
 
-            //市州互转推送办结结果
-            if (dto.Order.Source >= ESource.CityDataExchangeLz && dto.Order.Source < ESource.ConvergenceMedia)
-                await _cityStateDataExchangeService.UndertakAdviceAsync(dto.Order, cancellationToken);
-
-            //处理宜宾的推送业务
-            if (_sharingConfigurationManager.IsCity(ConfigurationConsts.YiBin))
+            //如果是110来源工单,如果非警情退回未true,则退回100,否则就写入办理记录
+            if (dto.Order.Source == ESource.Police110)
             {
-                //如果是110来源工单,如果非警情退回未true,则退回100,否则就写入办理记录
-                if (dto.Order.Source == ESource.Police110)
-                {
-                    if (dto.IsNonPoliceReturn == true)
-                        await _daoShuService.ReturnPoliceDsAsync(dto.Order, cancellationToken);
-                    else
-                        await _daoShuService.InitPoliceSendChainDealDsAsync(dto, cancellationToken);
-
-                }
-
-                //综治平台推送办理结果
-                if (dto.Order.Source == ESource.ZZPT)
-                {
-                    await _zzptService.InitZzptPlatformsDetailAsync(dto, cancellationToken);
-                }
+                if (dto.IsNonPoliceReturn == true)
+                    await _policeService.ReturnPoliceAsync(dto.Order, cancellationToken);
+                else
+                    await _policeService.InitPoliceSendChainDealAsync(dto, cancellationToken);
             }
 
-            //处理自贡的推送业务
-            if (_sharingConfigurationManager.IsCity(ConfigurationConsts.ZiGong))
-            {
-                //如果是110来源工单,如果非警情退回未true,则退回100,否则就写入办理记录
-                if (dto.Order.Source == ESource.Police110)
-                {
-                    if (dto.IsNonPoliceReturn == true)
-                        await _dcjtService.ReturnPoliceDcjtAsync(dto.Order, cancellationToken);
-                    else
-                        await _dcjtService.InitPoliceSendChainDealDcjtAsync(dto, cancellationToken);
-                }
-            }
+            //市州其他业务推送办理结果
+            await _sendTaskDataService.AddHandleOpinion(dto, cancellationToken);
 
         }
 
@@ -719,17 +660,12 @@ namespace DataSharing.Application.Receivers
         [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderFlowRecalled)]
         public async Task RevokeOrderAsync(PublishSpecialDto dto, CancellationToken cancellationToken)
         {
-            //宜宾业务处理
-            if (_sharingConfigurationManager.IsCity(ConfigurationConsts.YiBin))
-            {
-                //企业服务
-                if (dto.Special.OrgId == "001181")
-                {
-                    await _enterpriseService.EnterpriseRevokeOrderAsync(dto, cancellationToken);
-                }
-            }
+            //市州业务撤单
+            await _sendTaskDataService.RevokeOrderAsync(dto, cancellationToken);
+
             //省12345
-            if (dto.Special.OrgId == "001171" || dto.Special.OrgId == "001178")
+            if (dto.Special.OrgId == _sharingConfigurationManager.GetProvinceOrgCode() ||
+                dto.Special.OrgId == _sharingConfigurationManager.GetProvinceAssignmentOrgCode())
             {
                 //调用省撤单
                 await _provinceService.RevokeOrderAsync(dto, cancellationToken);
@@ -836,7 +772,7 @@ namespace DataSharing.Application.Receivers
                         break;
                 }
                 //数据推送
-                await _cityStateDataExchangeService.InitCityDataAsync(dto, PlatformSource, cancellationToken);
+                await _sendTaskDataService.TranspondCityAsync(dto, PlatformSource, cancellationToken);
             }
         }
         #endregion
@@ -918,34 +854,12 @@ namespace DataSharing.Application.Receivers
                         if (item.Key == _sharingConfigurationManager.GetProvinceOrgCode() || item.Key == _sharingConfigurationManager.GetProvinceAssignmentOrgCode())
                             await _provinceService.SendCaseInfoDataAsync(dto.Order, cancellationToken);
 
-                        //todo 判断不同地市业务逻辑
-                        //处理宜宾的推送业务
-                        if (_sharingConfigurationManager.IsCity(ConfigurationConsts.YiBin))
-                        {
-                            //需要判断是否需要往110推送
-                            if (item.Key == _sharingConfigurationManager.GetPoliceOrgCode())
-                                //写入110本地数据库
-                                await _daoShuService.InitPoliceSendChainAlarmDsAsync(dto.Order, cancellationToken);
-
-                            //需要判断是否需要往企业专班提交数据
-                            if (item.Key == "001181")
-                                //企业专班提交数据
-                                await _enterpriseService.InitEnterpriseDataAsync(dto.Order, cancellationToken);
-
-                            //综治平台
-                            if (item.Key == "001143")
-                                await _zzptService.InitZzptPlatformsAsync(dto.Order, cancellationToken);
-                        }
-
-
-                        //处理自贡的推送业务
-                        if (_sharingConfigurationManager.IsCity(ConfigurationConsts.YiBin))
-                        {
-                            //需要判断是否需要往110推送
-                            if (item.Key == _sharingConfigurationManager.GetPoliceOrgCode())
-                                //写入110本地数据库
-                                await _dcjtService.InitPoliceSendChainAlarmDcjtAsync(dto.Order, cancellationToken);
-                        }
+                        //需要判断是否需要往110推送
+                        if (item.Key == _sharingConfigurationManager.GetPoliceOrgCode())
+                            //写入110本地数据库
+                            await _policeService.InitPoliceSendChainAlarmAsync(dto.Order, cancellationToken);
+
+
                     }
                 }
             }

+ 14 - 6
src/DataSharing.Host/StartupExtensions.cs

@@ -1,7 +1,11 @@
-using DataSharing.Police110.DaoShu110;
+using DataSharing.CityStateDataExchange;
+using DataSharing.Police110;
+using DataSharing.Police110.DaoShu110;
 using DataSharing.Police110.DCJT110;
 using DataSharing.Repository.Extensions;
 using DataSharing.SendTask;
+using DataSharing.YiBin.Enterprise;
+using DataSharing.YiBin.ZzptPlatformsYB;
 using FluentValidation;
 using FluentValidation.AspNetCore;
 using Hotline.Application;
@@ -38,21 +42,25 @@ internal static class StartupExtensions
 
         //根据市州编码判断属于哪个市州,启用对应的推送服务
         var sharingConfig = configuration.GetSection("SharingConfiguration").Get<SharingConfiguration>();
-        if (sharingConfig != null && sharingConfig.CityCode == ConfigurationConsts.YiBin)
+        if (sharingConfig != null && sharingConfig.CityCode == ConfigurationConsts.YiBin)//宜宾
         {
             services.AddScoped<ISendTaskDataService, DataSharing.YiBin.YiBinSendTaskDataService>();
+            services.AddScoped<IPoliceService, DaoShuService>();//110
+            services.AddScoped<IEnterpriseService, EnterpriseService>();//企业专班
+            services.AddScoped<IZzptService, ZzptService>();//综治平台
+            services.AddScoped<ICityStateDataExchangeService, CityStateDataExchangeService>();//市州互转
 
             //应急管理局业务
             if (sharingConfig.CityYiBin.YingJiGuanLiJu != null && sharingConfig.CityYiBin.YingJiGuanLiJu.DbConnectionString != null)
                 services.AddYingJiDb(sharingConfig.CityYiBin.YingJiGuanLiJu);
         }
-        else if (sharingConfig != null && sharingConfig.CityCode == ConfigurationConsts.ZiGong)
+        else if (sharingConfig != null && sharingConfig.CityCode == ConfigurationConsts.ZiGong)//自贡
         {
             services.AddScoped<ISendTaskDataService, DataSharing.ZiGong.ZiGongSendTaskDataService>();
-
+            services.AddScoped<IPoliceService, DcjtService>();//110
+            services.AddScoped<ICityStateDataExchangeService, CityStateDataExchangeService>();//市州互转
         }
-        services.AddScoped<IDaoShuService, DaoShuService>();
-        services.AddScoped<IDcjtService, DcjtService>();
+
         services
             .BatchInjectServices()
             .RegisterRepository()

+ 5 - 5
src/DataSharing.Police110/DCJT110/DcjtService.cs

@@ -7,7 +7,7 @@ using XF.Domain.Repository;
 
 namespace DataSharing.Police110.DCJT110
 {
-    public class DcjtService : IDcjtService
+    public class DcjtService : IPoliceService
     {
         private readonly IMapper _mapper;
         private readonly ILogger<DcjtService> _logger;
@@ -44,7 +44,7 @@ namespace DataSharing.Police110.DCJT110
         /// </summary>
         /// <param name="orderDto"></param>
         /// <returns></returns>
-        public async Task InitPoliceSendChainAlarmDcjtAsync(OrderDto orderDto, CancellationToken cancellationToken)
+        public async Task InitPoliceSendChainAlarmAsync(OrderDto orderDto, CancellationToken cancellationToken)
         {
             var areaCodeDefu = _sharingConfigurationManager.GetCityCode();
             var config = _sharingConfigurationManager.GetZiGongConfig().PoliceDCJT;
@@ -106,7 +106,7 @@ namespace DataSharing.Police110.DCJT110
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task InitPoliceSendChainDealDcjtAsync(OrderFlowDto dto, CancellationToken cancellationToken)
+        public async Task InitPoliceSendChainDealAsync(OrderFlowDto dto, CancellationToken cancellationToken)
         {
             var data = await _policeSendChainDealDcjtRepository.GetAsync(p => p.OrderId == dto.Order.Id && p.DisposalType == (int)EDsDisposalType.OrderFiled, cancellationToken);
             if (data == null)
@@ -148,7 +148,7 @@ namespace DataSharing.Police110.DCJT110
         /// <param name="orderDto"></param>
         /// <param name="cancellationToken"></param>
         /// <returns></returns>
-        public async Task ReturnPoliceDcjtAsync(OrderDto orderDto, CancellationToken cancellationToken)
+        public async Task ReturnPoliceAsync(OrderDto orderDto, CancellationToken cancellationToken)
         {
             var checkData = await _policeSendChainDealDcjtRepository.AnyAsync(p => p.AlarmReceiptNumber == orderDto.ExternalId && p.DisposalType == (int)EDsDisposalType.Return, cancellationToken);
             if (!checkData)
@@ -174,7 +174,7 @@ namespace DataSharing.Police110.DCJT110
         /// <param name="dto"></param>
         /// <param name="cancellationToken"></param>
         /// <returns></returns>
-        public async Task VisitDcjt(PublishVisitDto dto, CancellationToken cancellationToken)
+        public async Task Visit(PublishVisitDto dto, CancellationToken cancellationToken)
         {
             var VisitResult = dto.SubjectResultSatifyCode switch
             {

+ 0 - 37
src/DataSharing.Police110/DCJT110/IDcjtService.cs

@@ -1,37 +0,0 @@
-using Hotline.Share.Dtos.Order;
-
-namespace DataSharing.Police110.DCJT110
-{
-    public interface IDcjtService
-    {
-        /// <summary>
-        /// 组装110数据,12345警情工单推送到110
-        /// </summary>
-        /// <param name="orderDto"></param>
-        /// <returns></returns>
-        Task InitPoliceSendChainAlarmDcjtAsync(OrderDto orderDto, CancellationToken cancellationToken);
-
-        /// <summary>
-        /// 110的非警情工单获取办理信息
-        /// </summary>
-        /// <param name="dto"></param>
-        /// <returns></returns>
-        Task InitPoliceSendChainDealDcjtAsync(OrderFlowDto dto, CancellationToken cancellationToken);
-
-        /// <summary>
-        /// 110警情工单退回
-        /// </summary>
-        /// <param name="orderDto"></param>
-        /// <param name="cancellationToken"></param>
-        /// <returns></returns>
-        Task ReturnPoliceDcjtAsync(OrderDto orderDto, CancellationToken cancellationToken);
-
-        /// <summary>
-        /// 110回访数据
-        /// </summary>
-        /// <param name="dto"></param>
-        /// <param name="cancellationToken"></param>
-        /// <returns></returns>
-        Task VisitDcjt(PublishVisitDto dto, CancellationToken cancellationToken);
-    }
-}

+ 5 - 5
src/DataSharing.Police110/DaoShu110/DaoShuService.cs

@@ -10,7 +10,7 @@ namespace DataSharing.Police110.DaoShu110
     /// <summary>
     /// 道枢110
     /// </summary>
-    public class DaoShuService : IDaoShuService
+    public class DaoShuService : IPoliceService
     {
         private readonly IMapper _mapper;
         private readonly ILogger<DaoShuService> _logger;
@@ -48,7 +48,7 @@ namespace DataSharing.Police110.DaoShu110
         /// </summary>
         /// <param name="orderDto"></param>
         /// <returns></returns>
-        public async Task InitPoliceSendChainAlarmDsAsync(OrderDto orderDto, CancellationToken cancellationToken)
+        public async Task InitPoliceSendChainAlarmAsync(OrderDto orderDto, CancellationToken cancellationToken)
         {
             var areaCodeDefu = _sharingConfigurationManager.GetCityCode();
             ConfigurationPoliceDS config = new();
@@ -105,7 +105,7 @@ namespace DataSharing.Police110.DaoShu110
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task InitPoliceSendChainDealDsAsync(OrderFlowDto dto, CancellationToken cancellationToken)
+        public async Task InitPoliceSendChainDealAsync(OrderFlowDto dto, CancellationToken cancellationToken)
         {
             var data = await _policeSendChainDealDsRepository.GetAsync(p => p.OrderId == dto.Order.Id && p.DisposalType == (int)EDsDisposalType.OrderFiled, cancellationToken);
             if (data == null)
@@ -147,7 +147,7 @@ namespace DataSharing.Police110.DaoShu110
         /// <param name="orderDto"></param>
         /// <param name="cancellationToken"></param>
         /// <returns></returns>
-        public async Task ReturnPoliceDsAsync(OrderDto orderDto, CancellationToken cancellationToken)
+        public async Task ReturnPoliceAsync(OrderDto orderDto, CancellationToken cancellationToken)
         {
             var checkData = await _policeSendChainDealDsRepository.AnyAsync(p => p.AlarmReceiptNumber == orderDto.ExternalId && p.DisposalType == (int)EDsDisposalType.Return, cancellationToken);
             if (!checkData)
@@ -173,7 +173,7 @@ namespace DataSharing.Police110.DaoShu110
         /// <param name="dto"></param>
         /// <param name="cancellationToken"></param>
         /// <returns></returns>
-        public async Task VisitDs(PublishVisitDto dto, CancellationToken cancellationToken)
+        public async Task Visit(PublishVisitDto dto, CancellationToken cancellationToken)
         {
             var VisitResult = dto.SubjectResultSatifyCode switch
             {

+ 6 - 6
src/DataSharing.Police110/DaoShu110/IDaoShuService.cs → src/DataSharing.Police110/IPoliceService.cs

@@ -1,22 +1,22 @@
 using Hotline.Share.Dtos.Order;
 
-namespace DataSharing.Police110.DaoShu110
+namespace DataSharing.Police110
 {
-    public interface IDaoShuService
+    public interface IPoliceService
     {
         /// <summary>
         /// 组装110数据,12345警情工单推送到110
         /// </summary>
         /// <param name="orderDto"></param>
         /// <returns></returns>
-        Task InitPoliceSendChainAlarmDsAsync(OrderDto orderDto, CancellationToken cancellationToken);
+        Task InitPoliceSendChainAlarmAsync(OrderDto orderDto, CancellationToken cancellationToken);
 
         /// <summary>
         /// 110的非警情工单获取办理信息
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        Task InitPoliceSendChainDealDsAsync(OrderFlowDto dto, CancellationToken cancellationToken);
+        Task InitPoliceSendChainDealAsync(OrderFlowDto dto, CancellationToken cancellationToken);
 
         /// <summary>
         /// 110警情工单退回
@@ -24,7 +24,7 @@ namespace DataSharing.Police110.DaoShu110
         /// <param name="orderDto"></param>
         /// <param name="cancellationToken"></param>
         /// <returns></returns>
-        Task ReturnPoliceDsAsync(OrderDto orderDto, CancellationToken cancellationToken);
+        Task ReturnPoliceAsync(OrderDto orderDto, CancellationToken cancellationToken);
 
         /// <summary>
         /// 110回访数据
@@ -32,6 +32,6 @@ namespace DataSharing.Police110.DaoShu110
         /// <param name="dto"></param>
         /// <param name="cancellationToken"></param>
         /// <returns></returns>
-        Task VisitDs(PublishVisitDto dto, CancellationToken cancellationToken);
+        Task Visit(PublishVisitDto dto, CancellationToken cancellationToken);
     }
 }

+ 1 - 2
src/DataSharing.YiBin/Enterprise/EnterpriseService.cs

@@ -6,14 +6,13 @@ using Hotline.Share.Dtos.Order;
 using MapsterMapper;
 using Microsoft.Extensions.Logging;
 using System.Text.Json;
-using XF.Domain.Dependency;
 
 namespace DataSharing.YiBin.Enterprise
 {
     /// <summary>
     /// 企业专班
     /// </summary>
-    public class EnterpriseService : IEnterpriseService, IScopeDependency
+    public class EnterpriseService : IEnterpriseService
     {
         private readonly IMapper _mapper;
         private readonly ILogger<EnterpriseService> _logger;

+ 80 - 1
src/DataSharing.YiBin/YiBinSendTaskDataService.cs

@@ -1,8 +1,11 @@
 using DataSharing.CityStateDataExchange;
 using DataSharing.SendTask;
 using DataSharing.SendTask.OtherPlatforms;
+using DataSharing.Share.Enums;
 using DataSharing.YiBin.Enterprise;
 using DataSharing.YiBin.ZzptPlatformsYB;
+using Hotline.Share.Dtos.Order;
+using Hotline.Share.Enums.Order;
 using Microsoft.Extensions.Logging;
 
 namespace DataSharing.YiBin
@@ -16,6 +19,10 @@ namespace DataSharing.YiBin
         private readonly IEnterprisePusherProviderService _enterprisePusherProviderService;
         private readonly ICityStateDataExchangePusherProviderService _dataExchangePusherProviderService;
         private readonly IZzptPusherProviderService _zzptPusherProviderService;
+        private readonly ISharingConfigurationManager _sharingConfigurationManager;
+        private readonly IEnterpriseService _enterpriseService;
+        private readonly IZzptService _zzptService;
+        private readonly ICityStateDataExchangeService _cityStateDataExchangeService;
 
         /// <summary>
         /// 
@@ -28,12 +35,20 @@ namespace DataSharing.YiBin
         public YiBinSendTaskDataService(ILogger<YiBinSendTaskDataService> logger,
          IEnterprisePusherProviderService enterprisePusherProviderService,
          ICityStateDataExchangePusherProviderService dataExchangePusherProviderService,
-         IZzptPusherProviderService zzptPusherProviderService)
+         IZzptPusherProviderService zzptPusherProviderService,
+         ISharingConfigurationManager sharingConfigurationManager,
+              IEnterpriseService enterpriseService,
+              IZzptService zzptService,
+              ICityStateDataExchangeService cityStateDataExchangeService)
         {
             _logger = logger;
             _enterprisePusherProviderService = enterprisePusherProviderService;
             _dataExchangePusherProviderService = dataExchangePusherProviderService;
             _zzptPusherProviderService = zzptPusherProviderService;
+            _sharingConfigurationManager = sharingConfigurationManager;
+            _enterpriseService = enterpriseService;
+            _zzptService = zzptService;
+            _cityStateDataExchangeService = cityStateDataExchangeService;
         }
 
         /// <summary>
@@ -67,5 +82,69 @@ namespace DataSharing.YiBin
             }
         }
 
+        /// <summary>
+        /// 宜宾其他推送
+        /// </summary>
+        /// <param name="Key"></param>
+        /// <param name="order"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public async Task OtherSendTask(string Key, OrderDto order, CancellationToken cancellationToken)
+        {
+            //需要判断是否需要往企业专班提交数据
+            if (Key == "001181")
+                //企业专班提交数据
+                await _enterpriseService.InitEnterpriseDataAsync(order, cancellationToken);
+
+            //综治平台
+            if (Key == "001143")
+                await _zzptService.InitZzptPlatformsAsync(order, cancellationToken);
+        }
+
+        /// <summary>
+        /// 企业服务撤单
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public async Task RevokeOrderAsync(PublishSpecialDto dto, CancellationToken cancellationToken)
+        {
+            //企业服务
+            if (dto.Special.OrgId == "001181")
+            {
+                await _enterpriseService.EnterpriseRevokeOrderAsync(dto, cancellationToken);
+            }
+        }
+
+        /// <summary>
+        /// 推送办理结果
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public async Task AddHandleOpinion(OrderFlowDto dto, CancellationToken cancellationToken)
+        {
+            //综治平台推送办理结果
+            if (dto.Order.Source == ESource.ZZPT)
+            {
+                await _zzptService.InitZzptPlatformsDetailAsync(dto, cancellationToken);
+            }
+            //市州互转推送办结结果
+            if (dto.Order.Source >= ESource.CityDataExchangeLz && dto.Order.Source < ESource.ConvergenceMedia)
+                await _cityStateDataExchangeService.UndertakAdviceAsync(dto.Order, cancellationToken);
+        }
+
+        /// <summary>
+        /// 市州互转
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <param name="PlatformSource"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public async Task TranspondCityAsync(OrderDto dto,string PlatformSource, CancellationToken cancellationToken)
+        {
+            //数据推送
+            await _cityStateDataExchangeService.InitCityDataAsync(dto, PlatformSource, cancellationToken);
+        }
     }
 }

+ 1 - 7
src/DataSharing.YiBin/ZzptPlatformsYB/ZzptService.cs

@@ -7,14 +7,13 @@ using Hotline.Share.Enums.Order;
 using MapsterMapper;
 using Microsoft.Extensions.Logging;
 using System.Text.Json;
-using XF.Domain.Dependency;
 
 namespace DataSharing.YiBin.ZzptPlatformsYB
 {
     /// <summary>
     /// 综治平台
     /// </summary>
-    public class ZzptService : IZzptService, IScopeDependency
+    public class ZzptService : IZzptService
     {
         private readonly IMapper _mapper;
         private readonly ILogger<ZzptService> _logger;
@@ -74,9 +73,6 @@ namespace DataSharing.YiBin.ZzptPlatformsYB
             };
 
             //写入待推送数据
-            //await _initPushDataService.InitPushDataAsync("InitZzptPlatformsAsync", YbEnterpriseDefaults.ZzptPlatformsSendOrder, System.Text.Json.JsonSerializer.Serialize(dicParam), 
-                //dto.ProvinceNo, platformSource: EPlatformSource.ZZPT, cancellationToken: cancellationToken);
-
             var request = JsonSerializer.Serialize(dicParam, ProvinceJsonSerializerOptions.UnStandardDatetimeJsonOptions);
             await _initPushDataService.InitDsSendTaskOtherPlatforms("InitZzptPlatformsAsync", YbEnterpriseDefaults.ZzptPlatformsSendOrder, dto.ProvinceNo,
                 request, request, EPlatformSource.ZZPT, cancellationToken: cancellationToken);
@@ -100,8 +96,6 @@ namespace DataSharing.YiBin.ZzptPlatformsYB
             };
 
             //写入待推送数据
-          //  await _initPushDataService.InitPushDataAsync("InitZzptPlatformsDetailAsync", YbEnterpriseDefaults.ZzptPlatformsSendHandle,
-          //  System.Text.Json.JsonSerializer.Serialize(dicParam), dto.Order.ProvinceNo, platformSource: EPlatformSource.ZZPT, cancellationToken: cancellationToken);
             var request = JsonSerializer.Serialize(dicParam, ProvinceJsonSerializerOptions.UnStandardDatetimeJsonOptions);
             await _initPushDataService.InitDsSendTaskOtherPlatforms("InitZzptPlatformsDetailAsync", YbEnterpriseDefaults.ZzptPlatformsSendHandle, dto.Order.ProvinceNo,
                 request, request, EPlatformSource.ZZPT, cancellationToken: cancellationToken);

+ 62 - 5
src/DataSharing.ZiGong/ZiGongSendTaskDataService.cs

@@ -1,6 +1,8 @@
 using DataSharing.CityStateDataExchange;
 using DataSharing.SendTask;
 using DataSharing.SendTask.OtherPlatforms;
+using Hotline.Share.Dtos.Order;
+using Hotline.Share.Enums.Order;
 using Microsoft.Extensions.Logging;
 
 namespace DataSharing.ZiGong
@@ -10,23 +12,27 @@ namespace DataSharing.ZiGong
     /// </summary>
     public class ZiGongSendTaskDataService : ISendTaskDataService
     {
-
         private readonly ILogger<ZiGongSendTaskDataService> _logger;
         private readonly ICityStateDataExchangePusherProviderService _dataExchangePusherProviderService;
+        private readonly ISharingConfigurationManager _sharingConfigurationManager;
+        private readonly ICityStateDataExchangeService _cityStateDataExchangeService;
 
         /// <summary>
         /// 
         /// </summary>
         /// <param name="logger"></param>
-        /// <param name="pusherProviderService"></param>
-        /// <param name="enterprisePusherProviderService"></param>
         /// <param name="dataExchangePusherProviderService"></param>
-        /// <param name="zzptPusherProviderService"></param>
+        /// <param name="sharingConfigurationManager"></param>
+        /// <param name="dcjtService"></param>
         public ZiGongSendTaskDataService(ILogger<ZiGongSendTaskDataService> logger,
-         ICityStateDataExchangePusherProviderService dataExchangePusherProviderService)
+         ICityStateDataExchangePusherProviderService dataExchangePusherProviderService,
+         ISharingConfigurationManager sharingConfigurationManager,
+         ICityStateDataExchangeService cityStateDataExchangeService)
         {
             _logger = logger;
             _dataExchangePusherProviderService = dataExchangePusherProviderService;
+            _sharingConfigurationManager = sharingConfigurationManager;
+            _cityStateDataExchangeService = cityStateDataExchangeService;
         }
 
         /// <summary>
@@ -52,5 +58,56 @@ namespace DataSharing.ZiGong
                     break;
             }
         }
+
+        /// <summary>
+        ///自贡其他推送
+        /// </summary>
+        /// <param name="Key"></param>
+        /// <param name="order"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public Task OtherSendTask(string Key, OrderDto order, CancellationToken cancellationToken)
+        {
+            throw new NotImplementedException();
+        }
+
+        /// <summary>
+        ///撤单操作
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        /// <exception cref="NotImplementedException"></exception>
+        public Task RevokeOrderAsync(PublishSpecialDto dto, CancellationToken cancellationToken)
+        {
+            throw new NotImplementedException();
+        }
+
+        /// <summary>
+        /// 推送办理结果
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        /// <exception cref="NotImplementedException"></exception>
+        public async Task AddHandleOpinion(OrderFlowDto dto, CancellationToken cancellationToken)
+        {
+            //市州互转推送办结结果
+            if (dto.Order.Source >= ESource.CityDataExchangeLz && dto.Order.Source < ESource.ConvergenceMedia)
+                await _cityStateDataExchangeService.UndertakAdviceAsync(dto.Order, cancellationToken);
+        }
+
+        /// <summary>
+        /// 市州互转
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <param name="PlatformSource"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public async Task TranspondCityAsync(OrderDto dto, string PlatformSource, CancellationToken cancellationToken)
+        {
+            //数据推送
+            await _cityStateDataExchangeService.InitCityDataAsync(dto, PlatformSource, cancellationToken);
+        }
     }
 }

+ 1 - 4
src/DataSharing/CityStateDataExchange/CityStateDataExchangeService.cs

@@ -1,7 +1,6 @@
 using DataSharing.Province;
 using DataSharing.RawData;
 using DataSharing.SendTask;
-using DataSharing.Share.Dtos.YiBin.Enterprise;
 using DataSharing.Share.Enums;
 using Hotline.Share.Dtos.Order;
 using Hotline.Share.Enums.Order;
@@ -10,8 +9,6 @@ using Microsoft.Extensions.Logging;
 using System.Security.Cryptography;
 using System.Text;
 using System.Text.Json;
-using System.Web;
-using XF.Domain.Dependency;
 using XF.Domain.Repository;
 
 namespace DataSharing.CityStateDataExchange
@@ -19,7 +16,7 @@ namespace DataSharing.CityStateDataExchange
     /// <summary>
     /// 市州工单互转
     /// </summary>
-    public class CityStateDataExchangeService : ICityStateDataExchangeService, IScopeDependency
+    public class CityStateDataExchangeService : ICityStateDataExchangeService
     {
         private readonly IMapper _mapper;
         private readonly ILogger<CityStateDataExchangeService> _logger;

+ 35 - 0
src/DataSharing/SendTask/ISendTaskDataService.cs

@@ -1,4 +1,5 @@
 using DataSharing.SendTask.OtherPlatforms;
+using Hotline.Share.Dtos.Order;
 
 namespace DataSharing.SendTask
 {
@@ -11,5 +12,39 @@ namespace DataSharing.SendTask
         /// <param name="cancellationToken"></param>
         /// <returns></returns>
         Task SendTask(DsWaitSendTaskOtherPlatforms dto, CancellationToken cancellationToken);
+
+        /// <summary>
+        ///其他推送
+        /// </summary>
+        /// <param name="Key"></param>
+        /// <param name="order"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        Task OtherSendTask(string Key, OrderDto order, CancellationToken cancellationToken);
+
+        /// <summary>
+        /// 工单撤单
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        Task RevokeOrderAsync(PublishSpecialDto dto, CancellationToken cancellationToken);
+
+        /// <summary>
+        /// 推送办理结果
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        Task AddHandleOpinion(OrderFlowDto dto, CancellationToken cancellationToken);
+
+        /// <summary>
+        /// 市州互转
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <param name="PlatformSource"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        Task TranspondCityAsync(OrderDto dto, string PlatformSource, CancellationToken cancellationToken);
     }
 }