|
@@ -14,6 +14,7 @@ using DataSharing.Share.Dtos.Province.XieTong.Send;
|
|
using DataSharing.Share.Enums;
|
|
using DataSharing.Share.Enums;
|
|
using DataSharing.WebPortal;
|
|
using DataSharing.WebPortal;
|
|
using DotNetCore.CAP;
|
|
using DotNetCore.CAP;
|
|
|
|
+using FluentValidation;
|
|
using Hotline.Share.Dtos.Knowledge;
|
|
using Hotline.Share.Dtos.Knowledge;
|
|
using Hotline.Share.Dtos.Order;
|
|
using Hotline.Share.Dtos.Order;
|
|
using Hotline.Share.Dtos.TrCallCenter;
|
|
using Hotline.Share.Dtos.TrCallCenter;
|
|
@@ -28,6 +29,7 @@ using XF.Domain.Cache;
|
|
using XF.Domain.Dependency;
|
|
using XF.Domain.Dependency;
|
|
using XF.Domain.Exceptions;
|
|
using XF.Domain.Exceptions;
|
|
using XF.Domain.Repository;
|
|
using XF.Domain.Repository;
|
|
|
|
+using static System.Runtime.InteropServices.JavaScript.JSType;
|
|
|
|
|
|
namespace DataSharing.Application.Receivers
|
|
namespace DataSharing.Application.Receivers
|
|
{
|
|
{
|
|
@@ -343,6 +345,10 @@ namespace DataSharing.Application.Receivers
|
|
//处理通话记录时间
|
|
//处理通话记录时间
|
|
SetCallTime(dataCall);
|
|
SetCallTime(dataCall);
|
|
|
|
|
|
|
|
+ var validator = new SubmitCaseRecordInfoValidator();
|
|
|
|
+ var validResult = await validator.ValidateAsync(dataCall, cancellationToken);
|
|
|
|
+ if (!validResult.IsValid)
|
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
#region 处理请求参数
|
|
#region 处理请求参数
|
|
var requestCall = new ProvinceListRequest<SubmitCaseRecordInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
var requestCall = new ProvinceListRequest<SubmitCaseRecordInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
requestCall.SetData(new List<SubmitCaseRecordInfo>() { dataCall });
|
|
requestCall.SetData(new List<SubmitCaseRecordInfo>() { dataCall });
|
|
@@ -402,7 +408,10 @@ namespace DataSharing.Application.Receivers
|
|
if (!dto.IsProvince)
|
|
if (!dto.IsProvince)
|
|
{
|
|
{
|
|
var data = await InitDataAsync(dto, cancellationToken);
|
|
var data = await InitDataAsync(dto, cancellationToken);
|
|
-
|
|
|
|
|
|
+ var validator = new SubmitCaseInfoValidator();
|
|
|
|
+ var validResult = await validator.ValidateAsync(data, cancellationToken);
|
|
|
|
+ if (!validResult.IsValid)
|
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
#region 处理请求参数
|
|
#region 处理请求参数
|
|
var configProvince = _channelConfigurationManager.GetConfigurationProvince();
|
|
var configProvince = _channelConfigurationManager.GetConfigurationProvince();
|
|
var request = new ProvinceListRequest<SubmitCaseInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
var request = new ProvinceListRequest<SubmitCaseInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
@@ -429,7 +438,10 @@ namespace DataSharing.Application.Receivers
|
|
if (dto.ExpiredTimeChanged || dto.Order.ActualHandleStepName == "话务部")
|
|
if (dto.ExpiredTimeChanged || dto.Order.ActualHandleStepName == "话务部")
|
|
{
|
|
{
|
|
var submitCaseInfo = await InitDataAsync(dto.Order, cancellationToken);
|
|
var submitCaseInfo = await InitDataAsync(dto.Order, cancellationToken);
|
|
-
|
|
|
|
|
|
+ var validator = new SubmitCaseInfoValidator();
|
|
|
|
+ var validResult = await validator.ValidateAsync(submitCaseInfo, cancellationToken);
|
|
|
|
+ if (!validResult.IsValid)
|
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
#region 处理请求参数
|
|
#region 处理请求参数
|
|
var configProvince = _channelConfigurationManager.GetConfigurationProvince();
|
|
var configProvince = _channelConfigurationManager.GetConfigurationProvince();
|
|
var requestSubmitCaseInfo = new ProvinceListRequest<SubmitCaseInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
var requestSubmitCaseInfo = new ProvinceListRequest<SubmitCaseInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
@@ -491,7 +503,10 @@ namespace DataSharing.Application.Receivers
|
|
if (dto != null && dto.Order != null && !dto.Order.IsProvince)
|
|
if (dto != null && dto.Order != null && !dto.Order.IsProvince)
|
|
{
|
|
{
|
|
var data = await InitDataAsync(dto.Order, cancellationToken);
|
|
var data = await InitDataAsync(dto.Order, cancellationToken);
|
|
-
|
|
|
|
|
|
+ var validator = new SubmitCaseInfoValidator();
|
|
|
|
+ var validResult = await validator.ValidateAsync(data, cancellationToken);
|
|
|
|
+ if (!validResult.IsValid)
|
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
#region 处理请求参数
|
|
#region 处理请求参数
|
|
var configProvince = _channelConfigurationManager.GetConfigurationProvince();
|
|
var configProvince = _channelConfigurationManager.GetConfigurationProvince();
|
|
var request = new ProvinceListRequest<SubmitCaseInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
var request = new ProvinceListRequest<SubmitCaseInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
@@ -547,7 +562,10 @@ namespace DataSharing.Application.Receivers
|
|
|
|
|
|
//处理通话记录时间
|
|
//处理通话记录时间
|
|
SetCallTime(data);
|
|
SetCallTime(data);
|
|
-
|
|
|
|
|
|
+ var validator = new SubmitCaseRecordInfoValidator();
|
|
|
|
+ var validResult = await validator.ValidateAsync(data, cancellationToken);
|
|
|
|
+ if (!validResult.IsValid)
|
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
#region 处理请求参数
|
|
#region 处理请求参数
|
|
var configProvince = _channelConfigurationManager.GetConfigurationProvince();
|
|
var configProvince = _channelConfigurationManager.GetConfigurationProvince();
|
|
var request = new ProvinceListRequest<SubmitCaseRecordInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
var request = new ProvinceListRequest<SubmitCaseRecordInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
@@ -581,7 +599,10 @@ namespace DataSharing.Application.Receivers
|
|
|
|
|
|
//处理通话记录时间
|
|
//处理通话记录时间
|
|
SetCallTime(data);
|
|
SetCallTime(data);
|
|
-
|
|
|
|
|
|
+ var validator = new SubmitCaseRecordInfoValidator();
|
|
|
|
+ var validResult = await validator.ValidateAsync(data, cancellationToken);
|
|
|
|
+ if (!validResult.IsValid)
|
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
#region 处理请求参数
|
|
#region 处理请求参数
|
|
var configProvince = _channelConfigurationManager.GetConfigurationProvince();
|
|
var configProvince = _channelConfigurationManager.GetConfigurationProvince();
|
|
var request = new ProvinceListRequest<SubmitCaseRecordInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
var request = new ProvinceListRequest<SubmitCaseRecordInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
@@ -1054,7 +1075,6 @@ namespace DataSharing.Application.Receivers
|
|
if (!string.IsNullOrEmpty(dto.Order.ActualHandleOrgCode) && dto.Order.ActualHandleOrgCode == "001")
|
|
if (!string.IsNullOrEmpty(dto.Order.ActualHandleOrgCode) && dto.Order.ActualHandleOrgCode == "001")
|
|
dto.Order.ActualHandleOrgName = "热线中心";
|
|
dto.Order.ActualHandleOrgName = "热线中心";
|
|
|
|
|
|
-
|
|
|
|
#region 写本地办理数据-用于查询办理流程
|
|
#region 写本地办理数据-用于查询办理流程
|
|
//写本地办理数据-用于查询办理流程
|
|
//写本地办理数据-用于查询办理流程
|
|
var orderWorkFlow = _mapper.Map<DsOrderWorkFlow>(dto.WorkflowTrace);
|
|
var orderWorkFlow = _mapper.Map<DsOrderWorkFlow>(dto.WorkflowTrace);
|
|
@@ -1068,10 +1088,12 @@ namespace DataSharing.Application.Receivers
|
|
//省上下来的工单走协同的接口
|
|
//省上下来的工单走协同的接口
|
|
if (dto.Order.Source == ESource.ProvinceStraight && dto.Order.IsProvince)
|
|
if (dto.Order.Source == ESource.ProvinceStraight && dto.Order.IsProvince)
|
|
{
|
|
{
|
|
-
|
|
|
|
var data = _mapper.Map<GetCaseProcessReceiveInfo>(dto);
|
|
var data = _mapper.Map<GetCaseProcessReceiveInfo>(dto);
|
|
data.TacheName = "70:" + data.DeptName;
|
|
data.TacheName = "70:" + data.DeptName;
|
|
-
|
|
|
|
|
|
+ var validator = new GetCaseProcessReceiveInfoValidator();
|
|
|
|
+ var validResult = await validator.ValidateAsync(data, cancellationToken);
|
|
|
|
+ if (!validResult.IsValid)
|
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
#region 处理请求参数
|
|
#region 处理请求参数
|
|
var request = new ProvinceRequest<GetCaseProcessReceiveInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
var request = new ProvinceRequest<GetCaseProcessReceiveInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
request.SetData(data);
|
|
request.SetData(data);
|
|
@@ -1091,6 +1113,11 @@ namespace DataSharing.Application.Receivers
|
|
var data = _mapper.Map<SubmitCaseProcessInfo>(dto);
|
|
var data = _mapper.Map<SubmitCaseProcessInfo>(dto);
|
|
data.TacheName = "70:" + data.DeptName;
|
|
data.TacheName = "70:" + data.DeptName;
|
|
|
|
|
|
|
|
+ var validator = new SubmitCaseProcessInfoValidator();
|
|
|
|
+ var validResult = await validator.ValidateAsync(data, cancellationToken);
|
|
|
|
+ if (!validResult.IsValid)
|
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
|
|
+
|
|
#region 处理请求参数
|
|
#region 处理请求参数
|
|
var requestSubmitCaseProcessInfo = new ProvinceListRequest<SubmitCaseProcessInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
var requestSubmitCaseProcessInfo = new ProvinceListRequest<SubmitCaseProcessInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
requestSubmitCaseProcessInfo.SetData(new List<SubmitCaseProcessInfo>() { data });
|
|
requestSubmitCaseProcessInfo.SetData(new List<SubmitCaseProcessInfo>() { data });
|
|
@@ -1208,7 +1235,10 @@ namespace DataSharing.Application.Receivers
|
|
|
|
|
|
data.VisitType = visitType;
|
|
data.VisitType = visitType;
|
|
data.CliengGuid = Guid.NewGuid().ToString();
|
|
data.CliengGuid = Guid.NewGuid().ToString();
|
|
-
|
|
|
|
|
|
+ var validator = new GetVisitInfoReceiveInfoValidator();
|
|
|
|
+ var validResult = await validator.ValidateAsync(data, cancellationToken);
|
|
|
|
+ if (!validResult.IsValid)
|
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
#region 处理请求参数
|
|
#region 处理请求参数
|
|
var request = new ProvinceRequest<GetVisitInfoReceiveInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
var request = new ProvinceRequest<GetVisitInfoReceiveInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
request.SetData(data);
|
|
request.SetData(data);
|
|
@@ -1227,6 +1257,10 @@ namespace DataSharing.Application.Receivers
|
|
data.VisitType = visitType;
|
|
data.VisitType = visitType;
|
|
data.CliengGuid = Guid.NewGuid().ToString();
|
|
data.CliengGuid = Guid.NewGuid().ToString();
|
|
|
|
|
|
|
|
+ var validator = new SubmitVisitInfoValidator();
|
|
|
|
+ var validResult = await validator.ValidateAsync(data, cancellationToken);
|
|
|
|
+ if (!validResult.IsValid)
|
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
#region 处理请求参数
|
|
#region 处理请求参数
|
|
var request = new ProvinceListRequest<SubmitVisitInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
var request = new ProvinceListRequest<SubmitVisitInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
request.SetData(new List<SubmitVisitInfo>() { data });
|
|
request.SetData(new List<SubmitVisitInfo>() { data });
|
|
@@ -1291,6 +1325,10 @@ namespace DataSharing.Application.Receivers
|
|
data.FinishTime = finishTime;
|
|
data.FinishTime = finishTime;
|
|
data.FdBackTime = finishTime;
|
|
data.FdBackTime = finishTime;
|
|
}
|
|
}
|
|
|
|
+ var validator = new SubmitCaseResultInfoValidator();
|
|
|
|
+ var validResult = await validator.ValidateAsync(data, cancellationToken);
|
|
|
|
+ if (!validResult.IsValid)
|
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
|
|
|
|
#region 处理请求参数
|
|
#region 处理请求参数
|
|
var configProvince = _channelConfigurationManager.GetConfigurationProvince();
|
|
var configProvince = _channelConfigurationManager.GetConfigurationProvince();
|
|
@@ -1560,6 +1598,22 @@ namespace DataSharing.Application.Receivers
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
#endregion
|
|
#endregion
|
|
|
|
+ switch (dto.SourceChannelCode.ToUpper())
|
|
|
|
+ {
|
|
|
|
+ case "RGDH":
|
|
|
|
+ case "WX":
|
|
|
|
+ case "WB":
|
|
|
|
+ case "AP":
|
|
|
|
+ case "WZ":
|
|
|
|
+ case "YJ":
|
|
|
|
+ case "SCZWFWW":
|
|
|
|
+ case "XCX":
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ sendCaseInfo.CaseSource = "QT";
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ sendCaseInfo.CaseSource = sendCaseInfo.CaseSource;
|
|
|
|
|
|
var sendCaseInfoData = _mapper.Map<DsSendCaseInfo>(sendCaseInfo);
|
|
var sendCaseInfoData = _mapper.Map<DsSendCaseInfo>(sendCaseInfo);
|
|
sendCaseInfoData.OrderID = dto.Id;
|
|
sendCaseInfoData.OrderID = dto.Id;
|