|
@@ -1,4 +1,5 @@
|
|
|
-using DataSharing.Application.Validators;
|
|
|
+using DataSharing.Application.Validators.HuiJu;
|
|
|
+using DataSharing.Application.Validators.XieTong;
|
|
|
using DataSharing.DaoShu110;
|
|
|
using DataSharing.Province;
|
|
|
using DataSharing.RawData;
|
|
@@ -14,7 +15,6 @@ using DataSharing.Share.Dtos.Province.XieTong.Send;
|
|
|
using DataSharing.Share.Enums;
|
|
|
using DataSharing.WebPortal;
|
|
|
using DotNetCore.CAP;
|
|
|
-using FluentValidation;
|
|
|
using Hotline.Share.Dtos.Knowledge;
|
|
|
using Hotline.Share.Dtos.Order;
|
|
|
using Hotline.Share.Dtos.TrCallCenter;
|
|
@@ -29,7 +29,6 @@ using XF.Domain.Cache;
|
|
|
using XF.Domain.Dependency;
|
|
|
using XF.Domain.Exceptions;
|
|
|
using XF.Domain.Repository;
|
|
|
-using static System.Runtime.InteropServices.JavaScript.JSType;
|
|
|
|
|
|
namespace DataSharing.Application.Receivers
|
|
|
{
|
|
@@ -112,6 +111,15 @@ namespace DataSharing.Application.Receivers
|
|
|
{
|
|
|
if (dtos != null && dtos.SendDatas != null)
|
|
|
{
|
|
|
+ //验证数据
|
|
|
+ foreach (var dto in dtos.SendDatas)
|
|
|
+ {
|
|
|
+ var validator = new GetCaseBackApplyValidator();
|
|
|
+ var validResult = await validator.ValidateAsync(dto, cancellationToken);
|
|
|
+ if (!validResult.IsValid)
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
|
+ }
|
|
|
+
|
|
|
foreach (var dto in dtos.SendDatas)
|
|
|
{
|
|
|
//处理110退回事件
|
|
@@ -190,6 +198,11 @@ namespace DataSharing.Application.Receivers
|
|
|
//工单是省上派下来的,才能进行督办回复
|
|
|
if (dto.Order.Source == ESource.ProvinceStraight && dto.Order.IsProvince)
|
|
|
{
|
|
|
+ var validator = new SendSuperviseProcessInfoValidator();
|
|
|
+ var validResult = await validator.ValidateAsync(dto, cancellationToken);
|
|
|
+ if (!validResult.IsValid)
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
|
+
|
|
|
var data = _mapper.Map<SendSuperviseProcessInfo>(dto);
|
|
|
|
|
|
#region 处理请求参数
|
|
@@ -216,6 +229,11 @@ namespace DataSharing.Application.Receivers
|
|
|
//工单是省上派下来的,才能进行督办回复
|
|
|
if (dto.Order.Source == ESource.ProvinceStraight && dto.Order.IsProvince)
|
|
|
{
|
|
|
+ var validator = new SendSuperviseProcessInfoValidator();
|
|
|
+ var validResult = await validator.ValidateAsync(dto, cancellationToken);
|
|
|
+ if (!validResult.IsValid)
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
|
+
|
|
|
var data = _mapper.Map<SendSuperviseResultInfo>(dto);
|
|
|
data.CliengGuid = dto.Supervise.Id;
|
|
|
|
|
@@ -246,6 +264,11 @@ namespace DataSharing.Application.Receivers
|
|
|
//如果是省上派下来的工单,才能调发起甄别的接口
|
|
|
if (dto.Order.Source == ESource.ProvinceStraight && dto.Order.IsProvince)
|
|
|
{
|
|
|
+ var validator = new ScreenCaseInfoSendInfoValidator();
|
|
|
+ var validResult = await validator.ValidateAsync(dto, cancellationToken);
|
|
|
+ if (!validResult.IsValid)
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
|
+
|
|
|
var data = _mapper.Map<ScreenCaseInfoSendInfo>(dto);
|
|
|
data.CliengGuid = dto.Screen.Id;
|
|
|
data.ApplyType = dto.Screen.TypeDicName switch
|
|
@@ -278,6 +301,11 @@ namespace DataSharing.Application.Receivers
|
|
|
[CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderApplyDelay)]
|
|
|
public async Task DelayCaseInfoSendAsync(PublishOrderDelayDto dto, CancellationToken cancellationToken)
|
|
|
{
|
|
|
+ var validator = new DelayCaseInfoSendInfoValidator();
|
|
|
+ var validResult = await validator.ValidateAsync(dto, cancellationToken);
|
|
|
+ if (!validResult.IsValid)
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
|
+
|
|
|
var data = _mapper.Map<DelayCaseInfoSendInfo>(dto);
|
|
|
data.CliengGuid = dto.Id;
|
|
|
data.ApplyType = "1";
|
|
@@ -702,6 +730,11 @@ namespace DataSharing.Application.Receivers
|
|
|
//省12345
|
|
|
if (dto.Special.OrgId == "001170" || dto.Special.OrgId == "001177")
|
|
|
{
|
|
|
+ var validator = new RevokeCaseInfoModelValidator();
|
|
|
+ var validResult = await validator.ValidateAsync(dto, cancellationToken);
|
|
|
+ if (!validResult.IsValid)
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
|
+
|
|
|
RevokeCaseInfoModel dsRevoke = new()
|
|
|
{
|
|
|
CaseSerial = dto.Order.ProvinceNo,
|
|
@@ -709,7 +742,7 @@ namespace DataSharing.Application.Receivers
|
|
|
RevokeTime = dto.Special.CreationTime,
|
|
|
RevokeName = dto.Special.CreatorName,
|
|
|
RevokeReasion = dto.Special.Reason,
|
|
|
- CliengGuid = Guid.NewGuid().ToString()
|
|
|
+ CliengGuid = dto.Special.Id
|
|
|
};
|
|
|
|
|
|
if (string.IsNullOrEmpty(dto.Special.Cause))
|
|
@@ -747,6 +780,11 @@ namespace DataSharing.Application.Receivers
|
|
|
//被催办部门为省上,才能调用接口
|
|
|
if (dto.Urge.OrgId == "001170" || dto.Urge.OrgId == "001177")
|
|
|
{
|
|
|
+ var validator = new RemindCaseInfoValidator();
|
|
|
+ var validResult = await validator.ValidateAsync(dto, cancellationToken);
|
|
|
+ if (!validResult.IsValid)
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
|
+
|
|
|
var data = _mapper.Map<RemindCaseInfoModel>(dto);
|
|
|
data.CliengGuid = dto.Urge.Id;
|
|
|
|
|
@@ -775,8 +813,22 @@ namespace DataSharing.Application.Receivers
|
|
|
[CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderPublishOrder)]
|
|
|
public async Task PublishOrderAsync(PublishPublishOrderDto dto, CancellationToken cancellationToken)
|
|
|
{
|
|
|
+ //政民互动提交公开数据验证
|
|
|
+ if (dto.Order.SourceChannelCode == "SZMHD" && dto.ProPublishState == true)
|
|
|
+ {
|
|
|
+ var validator = new ZmhdCaseInfoPublicInfoValidator();
|
|
|
+ var validResult = await validator.ValidateAsync(dto, cancellationToken);
|
|
|
+ if (!validResult.IsValid)
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
|
+ }
|
|
|
+
|
|
|
if (dto.Order.IsProvince && dto.Order.Source == ESource.ProvinceStraight)
|
|
|
{
|
|
|
+ var validator = new CaseResultReceiveValidator();
|
|
|
+ var validResult = await validator.ValidateAsync(dto, cancellationToken);
|
|
|
+ if (!validResult.IsValid)
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
|
+
|
|
|
#region 服务工单交办处理结果
|
|
|
//判断是否是热线中心
|
|
|
if (!string.IsNullOrEmpty(dto.Order.ActualHandleOrgCode) && dto.Order.ActualHandleOrgCode == "001")
|
|
@@ -935,7 +987,7 @@ namespace DataSharing.Application.Receivers
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
- #region 协同-第四批次
|
|
|
+ #region 汇聚-第四批次
|
|
|
|
|
|
#region 知识库--已对接附件
|
|
|
/// <summary>
|
|
@@ -946,6 +998,11 @@ namespace DataSharing.Application.Receivers
|
|
|
[CapSubscribe(Hotline.Share.Mq.EventNames.HotlineKnowledgeAdd)]
|
|
|
public async Task GetKnowledgeInfoSendAsync(KnowledgeSendDto dto, CancellationToken cancellationToken)
|
|
|
{
|
|
|
+ var validator = new KnowledgeInfoValidator();
|
|
|
+ var validResult = await validator.ValidateAsync(dto, cancellationToken);
|
|
|
+ if (!validResult.IsValid)
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
|
+
|
|
|
var data = _mapper.Map<KnowledgeInfoSendInfo>(dto);
|
|
|
data.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
|
|
|
data.CliengGuid = Guid.NewGuid().ToString();
|
|
@@ -991,6 +1048,11 @@ namespace DataSharing.Application.Receivers
|
|
|
[CapSubscribe(Hotline.Share.Mq.EventNames.HotlineKnowledgeUpdate)]
|
|
|
public async Task GetKnowledgeInfoUpdateAsync(KnowledgeSendDto dto, CancellationToken cancellationToken)
|
|
|
{
|
|
|
+ var validator = new KnowledgeInfoValidator();
|
|
|
+ var validResult = await validator.ValidateAsync(dto, cancellationToken);
|
|
|
+ if (!validResult.IsValid)
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
|
+
|
|
|
var data = _mapper.Map<GetKnowledgeInfoUpdateInfo>(dto);
|
|
|
data.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
|
|
|
data.CliengGuid = Guid.NewGuid().ToString();
|
|
@@ -1035,6 +1097,11 @@ namespace DataSharing.Application.Receivers
|
|
|
[CapSubscribe(Hotline.Share.Mq.EventNames.HotlineKnowledgeRemove)]
|
|
|
public async Task GetKnowledgeInfoAbandonAsync(KnowledgeSendDto dto, CancellationToken cancellationToken)
|
|
|
{
|
|
|
+ var validator = new KnowledgeInfoAbandonValidator();
|
|
|
+ var validResult = await validator.ValidateAsync(dto, cancellationToken);
|
|
|
+ if (!validResult.IsValid)
|
|
|
+ throw new UserFriendlyException(string.Join(',', validResult.Errors.Select(d => d.ErrorMessage)));
|
|
|
+
|
|
|
var data = _mapper.Map<GetKnowledgeInfoAbandonInfo>(dto);
|
|
|
data.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
|
|
|
data.CategoryCode = "01";
|