TANG JIANG 1 vuosi sitten
vanhempi
commit
6cf9f87cce

+ 1 - 1
src/DataSharing.Application/DataSharing.Application.csproj

@@ -8,7 +8,7 @@
 
   <ItemGroup>
     <PackageReference Include="Hotline.Api.Sdk" Version="1.0.7" />
-    <PackageReference Include="Hotline.Share" Version="1.0.61" />
+    <PackageReference Include="Hotline.Share" Version="1.0.62" />
     <PackageReference Include="Polly.Core" Version="8.2.0" />
     <PackageReference Include="FluentValidation" Version="11.6.0" />
   </ItemGroup>

+ 26 - 2
src/DataSharing.Application/Receivers/ProvinceReceiver.cs

@@ -540,13 +540,13 @@ namespace DataSharing.Application.Receivers
             //判断是否是热线中心
             if (!string.IsNullOrEmpty(dto.Order.ActualHandleOrgCode) && dto.Order.ActualHandleOrgCode == "001")
                 dto.Order.ActualHandleOrgName = "热线中心";
-
+            var configProvince = _channelConfigurationManager.GetConfigurationProvince();
             //IsProvince 如果是false 则推送服务工单受理
             if (dto != null && dto.Order != null && !dto.Order.IsProvince)
             {
 
                 #region 处理请求参数--推送工单数据
-                var configProvince = _channelConfigurationManager.GetConfigurationProvince();
+
                 var request = new ProvinceListRequest<SubmitCaseInfo>(configProvince.ClientId, configProvince.ClientSecret);
                 request.SetData(new List<SubmitCaseInfo>() { data });
                 var jsonData = request.ToString();
@@ -560,6 +560,30 @@ namespace DataSharing.Application.Receivers
                 await SubmitCaseResultAsync(dto, cancellationToken);
             }
 
+            //再次推送通话记录
+            if (dto.TrCallRecordDto is not null)
+            {
+                var dataCall = _mapper.Map<SubmitCaseRecordInfo>(dto.TrCallRecordDto);
+                dataCall.AreaCode = dto.Order.AreaCode;
+                dataCall.CaseSerial = dto.Order.ProvinceNo;
+
+                //处理通话记录时间
+                SetCallTime(dataCall);
+
+                var validator = new SubmitCaseRecordInfoValidator();
+                var validResult = await validator.ValidateAsync(dataCall, cancellationToken);
+                if (!validResult.IsValid)
+                    throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
+                #region 处理请求参数
+                var requestCall = new ProvinceListRequest<SubmitCaseRecordInfo>(configProvince.ClientId, configProvince.ClientSecret);
+                requestCall.SetData(new List<SubmitCaseRecordInfo>() { dataCall });
+                var jsonDataCall = requestCall.ToString();
+                var urlCall = configProvince.HuiJu + "submit_case_record";
+                //将待推送数据写入待推送表
+                await InitPushDataAsync("SubmitCaseRecord", "submit_case_record", jsonDataCall, pathType: EPathType.HuiJu, taskPriority: 20, cancellationToken: cancellationToken);
+                #endregion
+            }
+
             //修改工单基础数据
             var dataOrder = await _dsOrderRepository.GetAsync(p => p.OrderId == dto.Order.Id, cancellationToken);
             if (dataOrder != null)