|
@@ -291,7 +291,7 @@ namespace Hotline.Api.Controllers
|
|
|
}
|
|
|
var model = _mapper.Map<CallOutTask>(dto);
|
|
|
var detaillist = _mapper.Map<List<CallOutTaskDetail>>(dto.AddAiCallOutTaskDetailDtos);
|
|
|
- model.AiCallOutTaskState = EAiCallOutTaskState.InProgress;
|
|
|
+ model.AiCallOutTaskState = EAiCallOutTaskState.NoStarted;
|
|
|
model.HasVisitCount = dto.AddAiCallOutTaskDetailDtos.Count;
|
|
|
model.VisitedCount = 0;
|
|
|
model.VisitedFailCount = 0;
|
|
@@ -334,6 +334,26 @@ namespace Hotline.Api.Controllers
|
|
|
return _mapper.Map<List<CanUseCallOutTemplateListRep>>(list);
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 终止外呼任务
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="request"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost("callout/closecallouttask")]
|
|
|
+ public async Task CloseCalloutTask([FromBody] CloseCalloutTaskReq request)
|
|
|
+ {
|
|
|
+ var callOut = await _callOutTaskRepository.Queryable()
|
|
|
+ .Includes(x => x.CallOutTaskDetails)
|
|
|
+ .FirstAsync(x => x.BatchUid == request.Id);
|
|
|
+
|
|
|
+ if (callOut!=null)
|
|
|
+ {
|
|
|
+ if (callOut.AiCallOutTaskState != EAiCallOutTaskState.NoStarted)
|
|
|
+ throw UserFriendlyException.SameMessage("当前状态不能终止");
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
#endregion
|
|
@@ -582,6 +602,10 @@ namespace Hotline.Api.Controllers
|
|
|
{
|
|
|
aiOrderVisit.TaskState = Share.Enums.Ai.EAiOrderVisitTaskState.Ended;
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ aiOrderVisit.TaskState = EAiOrderVisitTaskState.InProgress;
|
|
|
+ }
|
|
|
await _aiOrderVisitRepository.UpdateAsync(aiOrderVisit, HttpContext.RequestAborted);
|
|
|
#region 注释
|
|
|
//处理不满意结果(如果差评没有不满意原因则不能视为回访完成) --(不满意设置为失效,生成新的人工回访记录)
|
|
@@ -700,6 +724,14 @@ namespace Hotline.Api.Controllers
|
|
|
aicallOutDetail.CallOutTime = DateTime.Now;
|
|
|
callOut.VisitedFailCount++;
|
|
|
}
|
|
|
+ if ((callOut.VisitedFailCount + callOut.VisitedCount) == callOut.HasVisitCount)
|
|
|
+ {
|
|
|
+ callOut.AiCallOutTaskState = EAiCallOutTaskState.Ended;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ callOut.AiCallOutTaskState = EAiCallOutTaskState.InProgress;
|
|
|
+ }
|
|
|
await _callOutTaskRepository.UpdateAsync(callOut,HttpContext.RequestAborted);
|
|
|
await _callOutTaskDetailRepository.UpdateAsync(aicallOutDetail,HttpContext.RequestAborted);
|
|
|
}
|
|
@@ -796,7 +828,7 @@ namespace Hotline.Api.Controllers
|
|
|
|
|
|
var detaillist = _mapper.Map<List<AiOrderVisitDetail>>(dto.AiOrderVisitDetails);
|
|
|
|
|
|
- model.TaskState = Share.Enums.Ai.EAiOrderVisitTaskState.InProgress;
|
|
|
+ model.TaskState = Share.Enums.Ai.EAiOrderVisitTaskState.NoStarted;
|
|
|
model.RuleType = 2;
|
|
|
model.HasVisitCount = dto.AiOrderVisitDetails.Count;
|
|
|
model.VisitedCount = 0;
|