TANG JIANG 1 year ago
parent
commit
41419b73c9

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

@@ -393,6 +393,8 @@ namespace DataSharing.Application.Receivers
                 var dataCall = _mapper.Map<SubmitCaseRecordInfo>(pushdto.TrCallRecordDto);
                 dataCall.AreaCode = dto.AreaCode.Length > 6 ? dto.AreaCode.Substring(0, 6) : dto.AreaCode;
                 dataCall.CaseSerial = dto.ProvinceNo;
+                if (string.IsNullOrEmpty(dataCall.AccordUrl))
+                    dataCall.AccordUrl = "";
 
                 //处理通话记录时间
                 SetCallTime(dataCall);
@@ -405,6 +407,7 @@ namespace DataSharing.Application.Receivers
                 var requestCall = new ProvinceListRequest<SubmitCaseRecordInfo>(configProvince.ClientId, configProvince.ClientSecret);
                 requestCall.SetData(new List<SubmitCaseRecordInfo>() { dataCall });
                 var jsonDataCall = requestCall.ToString();
+                jsonDataCall = jsonDataCall.Replace("0001-01-01 00:00:00", "");
                 var urlCall = configProvince.HuiJu + "submit_case_record";
                 //将待推送数据写入待推送表
                 var taskId = await InitPushDataAsync("SubmitCaseRecord", "submit_case_record", jsonDataCall, pathType: EPathType.HuiJu, taskPriority: 20, GenerationTime: pushdto.Order.StartTime, cancellationToken: cancellationToken);
@@ -615,6 +618,8 @@ namespace DataSharing.Application.Receivers
                 var dataCall = _mapper.Map<SubmitCaseRecordInfo>(dto.TrCallRecordDto);
                 dataCall.AreaCode = dto.Order.AreaCode.Length > 6 ? dto.Order.AreaCode.Substring(0, 6) : dto.Order.AreaCode;
                 dataCall.CaseSerial = dto.Order.ProvinceNo;
+                if (string.IsNullOrEmpty(dataCall.AccordUrl))
+                    dataCall.AccordUrl = "";
 
                 //处理通话记录时间
                 SetCallTime(dataCall);
@@ -627,6 +632,7 @@ namespace DataSharing.Application.Receivers
                 var requestCall = new ProvinceListRequest<SubmitCaseRecordInfo>(configProvince.ClientId, configProvince.ClientSecret);
                 requestCall.SetData(new List<SubmitCaseRecordInfo>() { dataCall });
                 var jsonDataCall = requestCall.ToString();
+                jsonDataCall = jsonDataCall.Replace("0001-01-01 00:00:00", "");
                 var urlCall = configProvince.HuiJu + "submit_case_record";
                 //将待推送数据写入待推送表
                 var taskId = await InitPushDataAsync("SubmitCaseRecord", "submit_case_record", jsonDataCall, pathType: EPathType.HuiJu, taskPriority: 20, GenerationTime: dto.Order.StartTime, cancellationToken: cancellationToken);
@@ -711,6 +717,8 @@ namespace DataSharing.Application.Receivers
             {
                 if (string.IsNullOrEmpty(dto.Order.AreaCode))
                     data.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
+                else
+                    data.AreaCode = dto.Order.AreaCode;
 
                 if (!string.IsNullOrEmpty(dto.Order.ProvinceNo))
                     data.CaseSerial = dto.Order.ProvinceNo;
@@ -727,6 +735,9 @@ namespace DataSharing.Application.Receivers
             if (string.IsNullOrEmpty(data.CaseSerial))
                 data.CaseSerial = "";
 
+            if (string.IsNullOrEmpty(data.AccordUrl))
+                data.AccordUrl = "";
+
             //处理通话记录时间
             SetCallTime(data);
             var validator = new SubmitCaseRecordInfoValidator();
@@ -738,6 +749,7 @@ namespace DataSharing.Application.Receivers
             var request = new ProvinceListRequest<SubmitCaseRecordInfo>(configProvince.ClientId, configProvince.ClientSecret);
             request.SetData(new List<SubmitCaseRecordInfo>() { data });
             var jsonData = request.ToString();
+            jsonData = jsonData.Replace("0001-01-01 00:00:00", "");
             var url = configProvince.HuiJu + "submit_case_record";
             #endregion
 
@@ -762,6 +774,8 @@ namespace DataSharing.Application.Receivers
             {
                 if (string.IsNullOrEmpty(dto.Order.AreaCode))
                     data.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
+                else
+                    data.AreaCode = dto.Order.AreaCode;
 
                 if (!string.IsNullOrEmpty(dto.Order.ProvinceNo))
                     data.CaseSerial = dto.Order.ProvinceNo;
@@ -778,6 +792,9 @@ namespace DataSharing.Application.Receivers
             if (string.IsNullOrEmpty(data.CaseSerial))
                 data.CaseSerial = "";
 
+            if (string.IsNullOrEmpty(data.AccordUrl))
+                data.AccordUrl = "";
+
             //处理通话记录时间
             SetCallTime(data);
             var validator = new SubmitCaseRecordInfoValidator();
@@ -789,6 +806,7 @@ namespace DataSharing.Application.Receivers
             var request = new ProvinceListRequest<SubmitCaseRecordInfo>(configProvince.ClientId, configProvince.ClientSecret);
             request.SetData(new List<SubmitCaseRecordInfo>() { data });
             var jsonData = request.ToString();
+            jsonData = jsonData.Replace("0001-01-01 00:00:00", "");
             var url = configProvince.HuiJu + "submit_case_record";
             #endregion
 
@@ -1950,9 +1968,9 @@ namespace DataSharing.Application.Receivers
             {
                 if (recordInfo.InQueue == null)
                 {
-                    recordInfo.InQueue = recordInfo.CallStart.Value.AddSeconds(-2);
+                    recordInfo.InQueue = recordInfo.CallStart.AddSeconds(-2);
                 }
-                recordInfo.InIvr = recordInfo.InQueue.Value.AddSeconds(-2);
+                recordInfo.InIvr = recordInfo.InQueue.AddSeconds(-2);
             }
 
             //进入队列时间为空
@@ -1960,16 +1978,16 @@ namespace DataSharing.Application.Receivers
             {
                 if (recordInfo.InIvr == null)
                 {
-                    recordInfo.InQueue = recordInfo.CallStart.Value.AddSeconds(-2);
-                    recordInfo.InIvr = recordInfo.InQueue.Value.AddSeconds(-2);
+                    recordInfo.InQueue = recordInfo.CallStart.AddSeconds(-2);
+                    recordInfo.InIvr = recordInfo.InQueue.AddSeconds(-2);
                 }
                 else
-                    recordInfo.InQueue = recordInfo.InIvr.Value.AddSeconds(2);
+                    recordInfo.InQueue = recordInfo.InIvr.AddSeconds(2);
             }
 
             //振铃时间为空
             if (recordInfo.CallTime == null && recordInfo.CallStart != null)
-                recordInfo.CallTime = recordInfo.CallStart.Value.AddSeconds(-2);
+                recordInfo.CallTime = recordInfo.CallStart.AddSeconds(-2);
 
         }
 
@@ -1994,7 +2012,7 @@ namespace DataSharing.Application.Receivers
                     //没有达到最大值
                     //检查第一条数据是否匹配当前推送时间
                     var list = dataCache.DateTimeList;
-                    if (list[0] < dto.AnsweredTime)
+                    if (list[0] < dto.OverTime)
                     {
                         //处理数据
                         list.RemoveAt(0);
@@ -2029,7 +2047,7 @@ namespace DataSharing.Application.Receivers
                 timeLists.Sort();
                 #endregion
 
-                if (timeLists[0] < dto.AnsweredTime)
+                if (timeLists[0] < dto.OverTime)
                     //处理数据
                     timeLists.RemoveAt(0);
 

+ 5 - 5
src/DataSharing.Share/Dtos/Province/HuiJu/SubmitCaseRecordInfo.cs

@@ -29,31 +29,31 @@ namespace DataSharing.Share.Dtos.Province.HuiJu
         /// 接通电话时间
         /// </summary>
         [JsonPropertyName("CALL_START")]
-        public DateTime? CallStart { get; set; }
+        public DateTime CallStart { get; set; }
 
         /// <summary>
         /// 通话结束时间
         /// </summary>
         [JsonPropertyName("CALL_END")]
-        public DateTime? CallEnd { get; set; }
+        public DateTime CallEnd { get; set; }
 
         /// <summary>
         /// 进ivr时间
         /// </summary>
         [JsonPropertyName("IN_IVR")]
-        public DateTime? InIvr { get; set; }
+        public DateTime InIvr { get; set; }
 
         /// <summary>
         /// 进队列时间
         /// </summary>
         [JsonPropertyName("IN_QUEUE")]
-        public DateTime? InQueue { get; set; }
+        public DateTime InQueue { get; set; }
 
         /// <summary>
         /// 振铃时间
         /// </summary>
         [JsonPropertyName("CALL_TIME")]
-        public DateTime? CallTime { get; set; }
+        public DateTime CallTime { get; set; }
 
         /// <summary>
         /// 通话时长