|
@@ -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,8 @@ namespace Hotline.Ai.Jths
|
|
|
private readonly string _serviceversion;
|
|
|
private readonly string _sceneuid;
|
|
|
private readonly string _ruleuid;
|
|
|
+ private ILogger<AiVisitService> _logger;
|
|
|
+
|
|
|
public AiVisitService(string baseUrl, string appkey, string serviceversion, string sceneuid, string ruleuid)
|
|
|
{
|
|
|
|
|
@@ -45,13 +48,13 @@ namespace Hotline.Ai.Jths
|
|
|
EndDate = aiOrderVisit.EndTime,
|
|
|
FestivalBan = aiOrderVisit.FestivalBan,
|
|
|
RuleType = aiOrderVisit.RuleType,
|
|
|
- RuleUid = aiOrderVisit.RuleUid,
|
|
|
+ RuleUid = _ruleuid,
|
|
|
};
|
|
|
var taskDataList = new List<TaskData>();
|
|
|
foreach (var item in aiOrderVisit.AiOrderVisitDetails)
|
|
|
{
|
|
|
var taskData = new TaskData();
|
|
|
- taskData.CalledNumber = item.Order.FromPhone;
|
|
|
+ taskData.CalledNumber = item.OuterNo;
|
|
|
taskData.VariableList = new List<Variable>();
|
|
|
|
|
|
if (item.Order.FromGender!= EGender.Unknown)
|
|
@@ -65,26 +68,29 @@ namespace Hotline.Ai.Jths
|
|
|
|
|
|
taskData.VariableList.Add(new Variable() { Code = "反馈时间", Value = item.Order.CreationTime.ToString("yyyy年MM月dd日hh点mm分") });
|
|
|
taskData.VariableList.Add(new Variable() { Code = "反馈问题", Value = item.Order.Title });
|
|
|
+ taskDataList.Add(taskData);
|
|
|
}
|
|
|
requestData.TaskDataList = taskDataList;
|
|
|
- var response = await ExecuteAsync<AiVisitServiceRequest, AiVisitServiceResponse>(_baseUrl + "edas/batchTask",Method.Post, requestData,cancellationToken);
|
|
|
+ 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;
|
|
|
}
|
|
|
|
|
@@ -106,7 +112,6 @@ namespace Hotline.Ai.Jths
|
|
|
{
|
|
|
req.AddJsonBody(request);
|
|
|
}
|
|
|
-
|
|
|
try
|
|
|
{
|
|
|
var response = await _client.ExecuteAsync<TResponse>(req, cancellationToken);
|