Dun.Jason 5 сар өмнө
parent
commit
435c6d65f3

+ 29 - 7
src/Hotline.Api/Controllers/AiController.cs

@@ -1,5 +1,6 @@
 
 using Consul;
+using DocumentFormat.OpenXml.Wordprocessing;
 using DotNetCore.CAP;
 using Hotline.Ai.CallOut;
 using Hotline.Ai.Jths;
@@ -661,7 +662,7 @@ namespace Hotline.Api.Controllers
                                     x.VisitContent = seatVisitContent;
                                 });
 
-                                await _orderVisitDetailRepository.UpdateRangeAsync(seatDetail, HttpContext.RequestAborted);
+                               
 
                                 //处理结果
                                 orgDetail.ForEach(x =>
@@ -678,8 +679,26 @@ namespace Hotline.Api.Controllers
                                     {
                                         //x.OrgNoSatisfiedReason = new List<Kv>() { new Kv() { Key = "7", Value = "未回复" } };
                                         //TODO 记录不满意原因到内容中供人工回访甄别选择不满意原因
-                                        aiOrderVisitDetail.OrderVisit.VisitState = Share.Enums.Order.EVisitState.WaitForVisit;
-                                        aiOrderVisitDetail.OrderVisit.IsEffectiveAiVisit = false;
+                                        if (dto.CallTimes.Value>=1)
+                                        {
+                                            aiOrderVisitDetail.OrderVisit.VisitState = EVisitState.Visited;
+                                            aiOrderVisitDetail.OrderVisit.NowEvaluate = new Kv() { Key = "6", Value = "未接通" };
+                                            x.VisitContent = "智能回访两次未接默认已回访";
+                                            x.Volved = true;
+                                            x.IsContact = true;
+                                            seatDetail.ForEach(x =>
+                                            {
+                                                x.VoiceEvaluate = Share.Enums.Order.EVoiceEvaluate.Satisfied;
+                                                x.SeatEvaluate =  ESeatEvaluate.DefaultSatisfied;
+                                                x.VisitContent = "智能回访两次未接默认已回访";
+                                            });
+                                        }
+                                        else
+                                        {
+                                            aiOrderVisitDetail.OrderVisit.VisitState = Share.Enums.Order.EVisitState.WaitForVisit;
+                                            aiOrderVisitDetail.OrderVisit.IsEffectiveAiVisit = false;
+                                        }
+                                        
                                     }
                                     else
                                     {
@@ -687,6 +706,7 @@ namespace Hotline.Api.Controllers
                                         aiOrderVisitDetail.OrderVisit.IsEffectiveAiVisit = true;
                                     }
                                 });
+                                await _orderVisitDetailRepository.UpdateRangeAsync(seatDetail, HttpContext.RequestAborted);
                                 await _orderVisitDetailRepository.UpdateRangeAsync(orgDetail, HttpContext.RequestAborted);
 
                                 //var first = orgProcessingResults; //aiOrderVisitDetail.OrderVisit.OrderVisitDetails.FirstOrDefault(x => x.VisitTarget == EVisitTarget.Org);
@@ -1065,10 +1085,12 @@ namespace Hotline.Api.Controllers
         public async Task AddAiVisit([FromBody]AddAiVisitDto dto)
         {
             //验证是否有重复电话
-            if (dto.AiOrderVisitDetails.DistinctBy(x=>x.OuterNo.Trim()).Count() != dto.AiOrderVisitDetails.Count)
-            {
-                throw UserFriendlyException.SameMessage("任务中存在重复外呼号码,请检查后重新提交");
-            }
+            //有重复电话自动排除
+            dto.AiOrderVisitDetails = dto.AiOrderVisitDetails.DistinctBy(x => x.OuterNo.Trim()).ToList() ;
+            //if (dto.AiOrderVisitDetails.DistinctBy(x=>x.OuterNo.Trim()).Count() != dto.AiOrderVisitDetails.Count)
+            //{
+            //    throw UserFriendlyException.SameMessage("任务中存在重复外呼号码,请检查后重新提交");
+            //}
 
             var model = _mapper.Map<AiOrderVisit>(dto);