|
@@ -93,32 +93,35 @@ namespace Hotline.Api.Controllers
|
|
|
.Includes(x => x.OrderVisits.Where(q => q.VisitState == EVisitState.Visited).ToList(), d => d.OrderVisitDetails)
|
|
|
.Where(x => provinceNos.Contains(x.ProvinceNo) && x.Status == EOrderStatus.Visited).ToListAsync();
|
|
|
|
|
|
- foreach (var item in list)
|
|
|
+ if (list != null && list.Any())
|
|
|
{
|
|
|
- try
|
|
|
+ foreach (var item in list)
|
|
|
{
|
|
|
- var visit = item.OrderVisits.FirstOrDefault();
|
|
|
- if (visit != null)
|
|
|
+ try
|
|
|
{
|
|
|
- var visitRemark = visit.OrderVisitDetails.Where(q => q.VisitTarget == EVisitTarget.Org).FirstOrDefault()?.VisitContent;
|
|
|
- //推省上
|
|
|
- await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderVisited,
|
|
|
- new PublishVisitDto()
|
|
|
+ var visit = item.OrderVisits.FirstOrDefault();
|
|
|
+ if (visit != null)
|
|
|
{
|
|
|
- Order = _mapper.Map<OrderDto>(item),
|
|
|
- No = visit.No,
|
|
|
- VisitType = visit.VisitType,
|
|
|
- VisitName = visit.CreatorName,
|
|
|
- VisitTime = visit.VisitTime,
|
|
|
- VisitRemark = string.IsNullOrEmpty(visitRemark) == true ? "满意" : visitRemark,
|
|
|
- AreaCode = item.AreaCode!,
|
|
|
- SubjectResultSatifyCode = visit.NowEvaluate.Key,
|
|
|
- FirstSatisfactionCode = item.FirstVisitResultCode,
|
|
|
- ClientGuid = ""
|
|
|
- }, cancellationToken: HttpContext.RequestAborted);
|
|
|
+ var visitRemark = visit.OrderVisitDetails.Where(q => q.VisitTarget == EVisitTarget.Org).FirstOrDefault()?.VisitContent;
|
|
|
+ //推省上
|
|
|
+ await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderVisited,
|
|
|
+ new PublishVisitDto()
|
|
|
+ {
|
|
|
+ Order = _mapper.Map<OrderDto>(item),
|
|
|
+ No = visit.No,
|
|
|
+ VisitType = visit.VisitType,
|
|
|
+ VisitName = visit.CreatorName,
|
|
|
+ VisitTime = visit.VisitTime,
|
|
|
+ VisitRemark = string.IsNullOrEmpty(visitRemark) == true ? "满意" : visitRemark,
|
|
|
+ AreaCode = item.AreaCode!,
|
|
|
+ SubjectResultSatifyCode = visit.NowEvaluate.Key,
|
|
|
+ FirstSatisfactionCode = item.FirstVisitResultCode,
|
|
|
+ ClientGuid = ""
|
|
|
+ }, cancellationToken: HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
}
|
|
|
+ catch { }
|
|
|
}
|
|
|
- catch { }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -142,38 +145,41 @@ namespace Hotline.Api.Controllers
|
|
|
.Where(d => provinceNos.Contains(d.ProvinceNo) && !string.IsNullOrEmpty(d.ProvinceNo) && d.Status >= EOrderStatus.Filed)
|
|
|
.ToListAsync(HttpContext.RequestAborted);
|
|
|
|
|
|
- foreach (var order in unpublishOrders)
|
|
|
+ if (unpublishOrders != null && unpublishOrders.Any())
|
|
|
{
|
|
|
- var trace = await _workflowTraceRepository.Queryable()
|
|
|
- .FirstAsync(d => d.WorkflowId == order.WorkflowId && d.StepType == EStepType.End,
|
|
|
- HttpContext.RequestAborted);
|
|
|
- var orderFlowDto = new OrderFlowDto
|
|
|
+ foreach (var order in unpublishOrders)
|
|
|
{
|
|
|
- Order = _mapper.Map<OrderDto>(order),
|
|
|
- WorkflowTrace = _mapper.Map<WorkflowTraceDto>(trace)
|
|
|
- };
|
|
|
- if (order.SourceChannelCode == AppDefaults.SourceChannel.DianHua &&
|
|
|
- !string.IsNullOrEmpty(order.CallId))
|
|
|
- {
|
|
|
- if (_appOptions.Value.GetDefaultAppScopeConfiguration().CallCenterType == AppDefaults.CallCenterType.TianRun)
|
|
|
+ var trace = await _workflowTraceRepository.Queryable()
|
|
|
+ .FirstAsync(d => d.WorkflowId == order.WorkflowId && d.StepType == EStepType.End,
|
|
|
+ HttpContext.RequestAborted);
|
|
|
+ var orderFlowDto = new OrderFlowDto
|
|
|
+ {
|
|
|
+ Order = _mapper.Map<OrderDto>(order),
|
|
|
+ WorkflowTrace = _mapper.Map<WorkflowTraceDto>(trace)
|
|
|
+ };
|
|
|
+ if (order.SourceChannelCode == AppDefaults.SourceChannel.DianHua &&
|
|
|
+ !string.IsNullOrEmpty(order.CallId))
|
|
|
{
|
|
|
- var callRecord = await _callApplication.GetTianrunCallAsync(order.CallId, HttpContext.RequestAborted);
|
|
|
- if (callRecord != null)
|
|
|
+ if (_appOptions.Value.GetDefaultAppScopeConfiguration().CallCenterType == AppDefaults.CallCenterType.TianRun)
|
|
|
{
|
|
|
- orderFlowDto.TrCallRecordDto = _mapper.Map<TrCallDto>(callRecord);
|
|
|
+ var callRecord = await _callApplication.GetTianrunCallAsync(order.CallId, HttpContext.RequestAborted);
|
|
|
+ if (callRecord != null)
|
|
|
+ {
|
|
|
+ orderFlowDto.TrCallRecordDto = _mapper.Map<TrCallDto>(callRecord);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (_appOptions.Value.GetDefaultAppScopeConfiguration().CallCenterType == AppDefaults.CallCenterType.XingTang)
|
|
|
+ {
|
|
|
+ var call = await _callApplication.GetCallAsync(order.CallId, HttpContext.RequestAborted);
|
|
|
+ if (call is not null)
|
|
|
+ orderFlowDto.TrCallRecordDto = _mapper.Map<TrCallDto>(call);
|
|
|
}
|
|
|
}
|
|
|
- else if (_appOptions.Value.GetDefaultAppScopeConfiguration().CallCenterType == AppDefaults.CallCenterType.XingTang)
|
|
|
- {
|
|
|
- var call = await _callApplication.GetCallAsync(order.CallId, HttpContext.RequestAborted);
|
|
|
- if (call is not null)
|
|
|
- orderFlowDto.TrCallRecordDto = _mapper.Map<TrCallDto>(call);
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- //这里需要判断是否是警情退回
|
|
|
- orderFlowDto.IsNonPoliceReturn = false;
|
|
|
- await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderFiled, orderFlowDto, cancellationToken: HttpContext.RequestAborted);
|
|
|
+ //这里需要判断是否是警情退回
|
|
|
+ orderFlowDto.IsNonPoliceReturn = false;
|
|
|
+ await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderFiled, orderFlowDto, cancellationToken: HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|