Browse Source

修改政民互动数据推送

tangjiang 10 months ago
parent
commit
5328bd8697

+ 10 - 11
src/DataSharing.Application/Mappers/MapperConfigs.cs

@@ -187,17 +187,16 @@ namespace DataSharing.Application.Mappers
             ;
 
             ///政民互动提交公开
-            config.ForType<PublishPublishOrderDto, ZmhdCaseInfoPublicInfo>()
-           .Map(d => d.CaseSerial, x => x.Order.ProvinceNo)
-           .Map(d => d.AnswerTime, x => x.Order.ActualHandleTime)
-           .Map(d => d.AnswerOu, x => x.Order.ActualHandleOrgName)
-           .Map(d => d.AnswerContent, x => x.Order.ActualOpinion)
-           .Map(d => d.AuditFirstName, x => x.CreatorName)
-           .Map(d => d.AuditFirstTime, x => x.CreationTime)
-           .Map(d => d.AuditSecondName, x => x.CreatorName)
-           .Map(d => d.PublishDate, x => x.CreationTime)
-           .Map(d => d.PublicOpinion, x => x.ArrangeOpinion)
-           .Map(d => d.AreaCode, x => x.Order.AreaCode.Length > 6 ? x.Order.AreaCode.Substring(0, 6) : x.Order.AreaCode)
+            config.ForType<PublicOrderProvinceZmhdDto, ZmhdCaseInfoPublicInfo>()
+           .Map(d => d.CaseSerial, x => x.ProvinceNo)
+           .Map(d => d.AnswerTime, x => x.AnswerTime)
+           .Map(d => d.AnswerOu, x => x.AnswerOu)
+           .Map(d => d.AnswerContent, x => x.AnswerContent)
+           .Map(d => d.AuditFirstName, x => x.AuditFirstName)
+           .Map(d => d.AuditFirstTime, x => x.AuditFirstTime)
+           .Map(d => d.AuditSecondName, x => x.AuditSecondName)
+           .Map(d => d.PublishDate, x => x.PublishDate)
+           .Map(d => d.PublicOpinion, x => x.PublicOpinion)
             ;
 
             //通话记录

+ 10 - 0
src/DataSharing.Application/Receivers/ProvinceReceiver.cs

@@ -773,6 +773,16 @@ namespace DataSharing.Application.Receivers
 
         }
 
+        /// <summary>
+        /// 接收政民互动发布数据
+        /// </summary>
+        /// <returns></returns>
+        [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderProvinceZmhd)]
+        public async Task PublicOrderProvinceZmhd(PublicOrderProvinceZmhdDto dto, CancellationToken cancellationToken)
+        {
+            await _provinceService.PublicOrderProvinceZmhd(dto,cancellationToken);
+        }
+
         /// <summary>
         /// 接收发布的时候生成的待回访部门数据
         /// </summary>

+ 1 - 1
src/DataSharing/DataSharing.csproj

@@ -8,7 +8,7 @@
 
   <ItemGroup>
     <PackageReference Include="FluentValidation" Version="11.6.0" />
-    <PackageReference Include="Hotline.Share" Version="1.0.79" />
+    <PackageReference Include="Hotline.Share" Version="1.0.80" />
     <PackageReference Include="Portable.BouncyCastle" Version="1.9.0" />
     <PackageReference Include="Quartz.Jobs" Version="3.8.0" />
     <PackageReference Include="RestSharp" Version="110.2.0" />

+ 9 - 0
src/DataSharing/Province/IProvinceService.cs

@@ -161,6 +161,15 @@ namespace DataSharing.Province
         /// <returns></returns>
         Task PublishOrderAsync(PublishPublishOrderDto dto, CancellationToken cancellationToken);
 
+        /// <summary>
+        /// 政民互动公开
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        /// <exception cref="UserFriendlyException"></exception>
+        Task PublicOrderProvinceZmhd(PublicOrderProvinceZmhdDto dto, CancellationToken cancellationToken);
+
         /// <summary>
         /// 接收发布的时候生成的待回访部门数据
         /// </summary>

+ 31 - 27
src/DataSharing/Province/ProvinceService.cs

@@ -991,15 +991,7 @@ namespace DataSharing.Province
             if (string.IsNullOrEmpty(dto.Order.AreaCode) || dto.Order.Source == ESource.ProvinceStraight || dto.Order.AreaCode.Contains("519"))
                 dto.Order.AreaCode = _sharingConfigurationManager.GetCityCode();
 
-            //政民互动提交公开数据验证
-            if (dto.Order.SourceChannelCode == "SZMHD" && dto.ProPublishState == true)
-            {
-                var validator = new ZmhdCaseInfoPublicInfoValidator();
-                var validResult = await validator.ValidateAsync(dto, cancellationToken);
-                if (!validResult.IsValid)
-                    throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
-            }
-
+            //推省上的交办结果
             if (dto.Order.IsProvince && dto.Order.Source == ESource.ProvinceStraight)
             {
                 if (dto.Order.RealCommunicationMode == null)
@@ -1067,26 +1059,38 @@ namespace DataSharing.Province
                 #endregion
             }
 
-            //政民互动提交公开
-            if (dto.Order.SourceChannelCode == "SZMHD" && dto.ProPublishState == true)
-            {
-                var data = _mapper.Map<ZmhdCaseInfoPublicInfo>(dto);
-
-                #region 处理请求参数
-                var configProvince = _channelConfigurationManager.GetConfigurationProvince();
-                var request = new ProvinceRequest<ZmhdCaseInfoPublicInfo>(configProvince.ClientId, configProvince.ClientSecret);
-                request.SetData(data);
-                var jsonData = request.ToString();
-                #endregion
+        }
 
-                //将待推送数据写入待推送表
-                //await _initPushDataService.InitPushDataAsync("ZmhdCaseInfoPublic", "zmhd_case_info_public", jsonData, data.CaseSerial, pathType: EPathType.XieTong, GenerationTime: dto.Order.StartTime, cancellationToken: cancellationToken);
-                await _initPushDataService.InitDsSendTaskProvinceOther("ZmhdCaseInfoPublic", "zmhd_case_info_public", data.CaseSerial,
-           jsonData, JsonSerializer.Serialize(data, ProvinceJsonSerializerOptions.UnStandardDatetimeJsonOptions), pathType: EPathType.XieTong,
-           generationTime: dto.Order.StartTime, cancellationToken: cancellationToken);
+        /// <summary>
+        /// 政民互动公开
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        /// <exception cref="UserFriendlyException"></exception>
+        public async Task PublicOrderProvinceZmhd(PublicOrderProvinceZmhdDto dto, CancellationToken cancellationToken)
+        {
+            //政民互动提交公开数据验证
+            var validator = new ZmhdCaseInfoPublicInfoValidator();
+            var validResult = await validator.ValidateAsync(dto, cancellationToken);
+            if (!validResult.IsValid)
+                throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
 
-            }
+            //政民互动提交公开
+            var data = _mapper.Map<ZmhdCaseInfoPublicInfo>(dto);
+            data.AreaCode = _sharingConfigurationManager.GetCityCode();
+            #region 处理请求参数
+            var configProvince = _channelConfigurationManager.GetConfigurationProvince();
+            var request = new ProvinceRequest<ZmhdCaseInfoPublicInfo>(configProvince.ClientId, configProvince.ClientSecret);
+            request.SetData(data);
+            var jsonData = request.ToString();
+            #endregion
 
+            //将待推送数据写入待推送表
+            //await _initPushDataService.InitPushDataAsync("ZmhdCaseInfoPublic", "zmhd_case_info_public", jsonData, data.CaseSerial, pathType: EPathType.XieTong, GenerationTime: dto.Order.StartTime, cancellationToken: cancellationToken);
+            await _initPushDataService.InitDsSendTaskProvinceOther("ZmhdCaseInfoPublic", "zmhd_case_info_public", data.CaseSerial,
+               jsonData, JsonSerializer.Serialize(data, ProvinceJsonSerializerOptions.UnStandardDatetimeJsonOptions), pathType: EPathType.XieTong,
+               generationTime: dto.PublishDate, cancellationToken: cancellationToken);
         }
 
         /// <summary>
@@ -1885,7 +1889,7 @@ namespace DataSharing.Province
             else
                 missedCallCount = configurationInformation.MissedCallCount;
 
-            _logger.LogWarning("获取到的不上传的值:------------------------"+ missedCallCount);
+            _logger.LogWarning("获取到的不上传的值:------------------------" + missedCallCount);
 
             var dataCache = await _missedCallModelCache.GetAsync(key, cancellationToken);
             _logger.LogWarning("获取到缓存的值:------------------------" + JsonSerializer.Serialize(dataCache));

+ 10 - 9
src/DataSharing/Validators/XieTong/ZmhdCaseInfoPublicInfoValidator.cs

@@ -3,18 +3,19 @@ using Hotline.Share.Dtos.Order;
 
 namespace DataSharing.Validators.XieTong
 {
-    public class ZmhdCaseInfoPublicInfoValidator : AbstractValidator<PublishPublishOrderDto>
+    public class ZmhdCaseInfoPublicInfoValidator : AbstractValidator<PublicOrderProvinceZmhdDto>
     {
         public ZmhdCaseInfoPublicInfoValidator()
         {
-            RuleFor(d => d.Order.ProvinceNo).NotEmpty();
-            RuleFor(d => d.Order.AreaCode).NotEmpty();
-            RuleFor(d => d.Order.ActualHandleTime).NotEmpty();
-            RuleFor(d => d.Order.ActualHandleOrgName).NotEmpty();
-            RuleFor(d => d.Order.ActualOpinion).NotEmpty();
-            RuleFor(d => d.CreatorName).NotEmpty();
-            RuleFor(d => d.CreationTime).NotEmpty();
-            RuleFor(d => d.ArrangeOpinion).NotEmpty();
+            RuleFor(d => d.ProvinceNo).NotEmpty();
+            RuleFor(d => d.AnswerTime).NotEmpty();
+            RuleFor(d => d.AnswerOu).NotEmpty();
+            RuleFor(d => d.AnswerContent).NotEmpty();
+            RuleFor(d => d.AuditFirstName).NotEmpty();
+            RuleFor(d => d.AuditFirstTime).NotEmpty();
+            RuleFor(d => d.AuditSecondName).NotEmpty();
+            RuleFor(d => d.PublishDate).NotEmpty();
+            RuleFor(d => d.PublicOpinion).NotEmpty();
         }
     }
 }