Dun.Jason 1 год назад
Родитель
Сommit
5276b8f293

+ 16 - 12
src/Hotline.Ai.Jths/AiVisitService.cs

@@ -3,6 +3,7 @@ using Hotline.Ai.Jths.OrderVisits;
 using Hotline.Ai.Visit;
 using Hotline.Orders;
 using Hotline.Share.Enums.Order;
+using Microsoft.Extensions.Logging;
 using Newtonsoft.Json;
 using RestSharp;
 using System;
@@ -21,6 +22,7 @@ namespace Hotline.Ai.Jths
         private readonly string _serviceversion;
         private readonly string _sceneuid;
         private readonly string _ruleuid;
+
         public AiVisitService(string baseUrl, string appkey, string serviceversion, string sceneuid, string ruleuid)
         {
          
@@ -69,22 +71,24 @@ namespace Hotline.Ai.Jths
             requestData.TaskDataList = taskDataList;
             var response = await ExecuteAsync<AiVisitServiceRequest, AiVisitServiceResponse>(_baseUrl + "/edas/batchTask",Method.Post, requestData,cancellationToken);
 
-            //拼对象 TODO
-            aiOrderVisit.BatchUid = response.BatchUid;
-            for (int i = 0; i < aiOrderVisit.AiOrderVisitDetails.Count; i++)
+            if (response.TaskInfoList!=null && !string.IsNullOrEmpty(response.BatchUid))
             {
-                var taskInfo = response.TaskInfoList.FirstOrDefault(x => x.CalledNumber == aiOrderVisit.AiOrderVisitDetails[i].OuterNo);
-                if (taskInfo!=null)
-                {
-                    aiOrderVisit.AiOrderVisitDetails[i].AiOrderVisitState = Share.Enums.Ai.EAiOrderVisitState.InProgress;
-                    aiOrderVisit.AiOrderVisitDetails[i].TaskUid = taskInfo.TaskUid;
-                }
-                else
+                //拼对象
+                aiOrderVisit.BatchUid = response.BatchUid;
+                for (int i = 0; i < aiOrderVisit.AiOrderVisitDetails.Count; i++)
                 {
-                    aiOrderVisit.AiOrderVisitDetails[i].AiOrderVisitState = Share.Enums.Ai.EAiOrderVisitState.Cancel;
+                    var taskInfo = response.TaskInfoList.FirstOrDefault(x => x.CalledNumber == aiOrderVisit.AiOrderVisitDetails[i].OuterNo);
+                    if (taskInfo != null)
+                    {
+                        aiOrderVisit.AiOrderVisitDetails[i].AiOrderVisitState = Share.Enums.Ai.EAiOrderVisitState.InProgress;
+                        aiOrderVisit.AiOrderVisitDetails[i].TaskUid = taskInfo.TaskUid;
+                    }
+                    else
+                    {
+                        aiOrderVisit.AiOrderVisitDetails[i].AiOrderVisitState = Share.Enums.Ai.EAiOrderVisitState.Cancel;
+                    }
                 }
             }
-
             return aiOrderVisit;
         }
 

+ 3 - 1
src/Hotline.Api/Controllers/AiController.cs

@@ -241,6 +241,8 @@ namespace Hotline.Api.Controllers
         {
             var model = _mapper.Map<AiOrderVisit>(dto);
 
+            var detaillist = _mapper.Map<List<AiOrderVisitDetail>>(dto.AiOrderVisitDetails);
+
             model.TaskState = Share.Enums.Ai.EAiOrderVisitTaskState.InProgress;
             model.RuleType = 2;
             model.HasVisitCount = dto.AiOrderVisitDetails.Count;
@@ -248,7 +250,7 @@ namespace Hotline.Api.Controllers
             model.VisitedFailCount = 0;
             var id = await _aiOrderVisitRepository.AddAsync(model, HttpContext.RequestAborted);
 
-            var detaillist = _mapper.Map<List<AiOrderVisitDetail>>(dto.AiOrderVisitDetails);
+            
             detaillist.ForEach(x =>
             {
                 x.AiOrderVisitId = id;

+ 1 - 0
src/Hotline.Api/Controllers/OrderController.cs

@@ -1790,6 +1790,7 @@ public class OrderController : BaseController
             .Includes(d => d.OrderDelays)
             .Includes(d => d.OrderScreens)
             .Includes(d => d.OrderVisits, x => x.OrderVisitDetails)
+            .Includes(d=> d.OrderVisits,x=>x.Employee)
             .FirstAsync(d => d.Id == id);
         if (order == null)
             return new();