TANG JIANG 1 жил өмнө
parent
commit
d77221f715
19 өөрчлөгдсөн 270 нэмэгдсэн , 28 устгасан
  1. 2 15
      src/DataSharing.Application/Mappers/MapperConfigs.cs
  2. 72 5
      src/DataSharing.Application/Receivers/ProvinceReceiver.cs
  3. 2 2
      src/DataSharing.Application/Validators/HuiJu/GetCaseProcessReceiveInfoValidator.cs
  4. 1 1
      src/DataSharing.Application/Validators/HuiJu/GetVisitInfoReceiveInfoValidator.cs
  5. 15 0
      src/DataSharing.Application/Validators/HuiJu/KnowledgeInfoAbandonValidator.cs
  6. 21 0
      src/DataSharing.Application/Validators/HuiJu/KnowledgeInfoValidator.cs
  7. 1 1
      src/DataSharing.Application/Validators/HuiJu/SubmitCaseInfoValidator.cs
  8. 1 1
      src/DataSharing.Application/Validators/HuiJu/SubmitCaseProcessInfoValidator.cs
  9. 1 1
      src/DataSharing.Application/Validators/HuiJu/SubmitCaseRecordInfoValidator.cs
  10. 1 1
      src/DataSharing.Application/Validators/HuiJu/SubmitCaseResultInfoValidator.cs
  11. 1 1
      src/DataSharing.Application/Validators/HuiJu/SubmitVisitInfoValidator.cs
  12. 24 0
      src/DataSharing.Application/Validators/XieTong/CaseResultReceiveValidator.cs
  13. 20 0
      src/DataSharing.Application/Validators/XieTong/DelayCaseInfoSendInfoValidator.cs
  14. 19 0
      src/DataSharing.Application/Validators/XieTong/GetCaseBackApplyValidator.cs
  15. 17 0
      src/DataSharing.Application/Validators/XieTong/RemindCaseInfoValidator.cs
  16. 17 0
      src/DataSharing.Application/Validators/XieTong/RevokeCaseInfoModelValidator.cs
  17. 18 0
      src/DataSharing.Application/Validators/XieTong/ScreenCaseInfoSendInfoValidator.cs
  18. 17 0
      src/DataSharing.Application/Validators/XieTong/SendSuperviseProcessInfoValidator.cs
  19. 20 0
      src/DataSharing.Application/Validators/XieTong/ZmhdCaseInfoPublicInfoValidator.cs

+ 2 - 15
src/DataSharing.Application/Mappers/MapperConfigs.cs

@@ -78,13 +78,7 @@ namespace DataSharing.Application.Mappers
             .Map(d => d.ProcessNote, x => string.IsNullOrEmpty(x.WorkflowTrace.Opinion) == false ? x.WorkflowTrace.Opinion : x.Order.ActualOpinion)
             .Map(d => d.EndAreaCode, x => x.WorkflowTrace.HandlerOrgAreaCode)
             .Map(d => d.EndAreaName, x => x.WorkflowTrace.HandlerOrgAreaName)
-            // .Map(d => d.DeptName, x => x.Order.ActualHandleOrgName)
-            //.Map(d => d.ProcessTime, x => x.Order.ActualHandleTime)
-            //.Map(d => d.ProcessName, x => x.Order.ActualHandlerName)
-            //.Map(d => d.ProcessNote, x => x.WorkflowTrace.Opinion)
-            //.Map(d => d.EndAreaCode, x => x.Order.ActualHandleOrgAreaCode)
-            //.Map(d => d.EndAreaName, x => x.Order.ActualHandleOrgAreaName)
-
+            
             .Map(d => d.CaseId, x => x.WorkflowTrace.Id)
             .Map(d => d.AreaCode, x => x.Order.AreaCode)
             .Map(d => d.CliengGuid, x => x.WorkflowTrace.Id)
@@ -99,13 +93,6 @@ namespace DataSharing.Application.Mappers
             .Map(d => d.ProcessNote, x => string.IsNullOrEmpty(x.WorkflowTrace.Opinion) == false ? x.WorkflowTrace.Opinion : x.Order.ActualOpinion)
             .Map(d => d.EndAreaCode, x => x.WorkflowTrace.HandlerOrgAreaCode)
             .Map(d => d.EndAreaName, x => x.WorkflowTrace.HandlerOrgAreaName)
-            //.Map(d => d.DeptName, x => x.Order.ActualHandleOrgName)
-            //.Map(d => d.ProcessTime, x => x.Order.ActualHandleTime)
-            //.Map(d => d.ProcessName, x => x.Order.ActualHandlerName)
-            //.Map(d => d.ProcessNote, x => x.WorkflowTrace.Opinion)
-            //.Map(d => d.EndAreaCode, x => x.Order.ActualHandleOrgAreaCode)
-            //.Map(d => d.EndAreaName, x => x.Order.ActualHandleOrgAreaName)
-
            .Map(d => d.TrowGuid, x => x.WorkflowTrace.Id)
            .Map(d => d.AreaCode, x => x.Order.AreaCode)
             .Map(d => d.CliengGuid, x => x.WorkflowTrace.Id)
@@ -200,7 +187,7 @@ namespace DataSharing.Application.Mappers
            .Map(d => d.HandleTimeLong, x => x.HandleDurationWorkday)
             ;
 
-            ///服务工单交办处理结果
+            ///政民互动提交公开
             config.ForType<PublishPublishOrderDto, ZmhdCaseInfoPublicInfo>()
            .Map(d => d.CaseSerial, x => x.Order.ProvinceNo)
            .Map(d => d.AnswerTime, x => x.Order.ActualHandleTime)

+ 72 - 5
src/DataSharing.Application/Receivers/ProvinceReceiver.cs

@@ -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";

+ 2 - 2
src/DataSharing.Application/Validators/GetCaseProcessReceiveInfoValidator.cs → src/DataSharing.Application/Validators/HuiJu/GetCaseProcessReceiveInfoValidator.cs

@@ -1,7 +1,7 @@
 using DataSharing.Share.Dtos.Province.XieTong.Send;
 using FluentValidation;
 
-namespace DataSharing.Application.Validators
+namespace DataSharing.Application.Validators.HuiJu
 {
     public class GetCaseProcessReceiveInfoValidator : AbstractValidator<GetCaseProcessReceiveInfo>
     {
@@ -14,7 +14,7 @@ namespace DataSharing.Application.Validators
             RuleFor(d => d.ProcessTime).NotEmpty();
             RuleFor(d => d.ProcessName).NotEmpty();
             RuleFor(d => d.ProcessNote).NotEmpty();
-           // RuleFor(d => d.TrowGuid).NotEmpty();
+            // RuleFor(d => d.TrowGuid).NotEmpty();
             RuleFor(d => d.CliengGuid).NotEmpty();
             RuleFor(d => d.EndAreaCode).NotEmpty();
             RuleFor(d => d.EndAreaName).NotEmpty();

+ 1 - 1
src/DataSharing.Application/Validators/GetVisitInfoReceiveInfoValidator.cs → src/DataSharing.Application/Validators/HuiJu/GetVisitInfoReceiveInfoValidator.cs

@@ -1,7 +1,7 @@
 using DataSharing.Share.Dtos.Province.XieTong.Send;
 using FluentValidation;
 
-namespace DataSharing.Application.Validators
+namespace DataSharing.Application.Validators.HuiJu
 {
     public class GetVisitInfoReceiveInfoValidator : AbstractValidator<GetVisitInfoReceiveInfo>
     {

+ 15 - 0
src/DataSharing.Application/Validators/HuiJu/KnowledgeInfoAbandonValidator.cs

@@ -0,0 +1,15 @@
+using FluentValidation;
+using Hotline.Share.Dtos.Knowledge;
+
+namespace DataSharing.Application.Validators.HuiJu
+{
+    public class KnowledgeInfoAbandonValidator : AbstractValidator<KnowledgeSendDto>
+    {
+        public KnowledgeInfoAbandonValidator()
+        {
+            RuleFor(d => d.CategoryCode).NotEmpty();
+            RuleFor(d => d.CategoryName).NotEmpty();
+            RuleFor(d => d.UID).NotEmpty();
+        }
+    }
+}

+ 21 - 0
src/DataSharing.Application/Validators/HuiJu/KnowledgeInfoValidator.cs

@@ -0,0 +1,21 @@
+using FluentValidation;
+using Hotline.Share.Dtos.Knowledge;
+
+namespace DataSharing.Application.Validators.HuiJu
+{
+    public class KnowledgeInfoValidator : AbstractValidator<KnowledgeSendDto>
+    {
+        public KnowledgeInfoValidator()
+        {
+            RuleFor(d => d.CategoryCode).NotEmpty();
+            RuleFor(d => d.CategoryName).NotEmpty();
+            RuleFor(d => d.PublishPerson).NotEmpty();
+            RuleFor(d => d.OuName).NotEmpty();
+            RuleFor(d => d.KName).NotEmpty();
+            RuleFor(d => d.KContent).NotEmpty();
+            RuleFor(d => d.CreatDate).NotEmpty();
+            RuleFor(d => d.BeginDate).NotEmpty();
+            RuleFor(d => d.UID).NotEmpty();
+        }
+    }
+}

+ 1 - 1
src/DataSharing.Application/Validators/SubmitCaseInfoValidator.cs → src/DataSharing.Application/Validators/HuiJu/SubmitCaseInfoValidator.cs

@@ -1,7 +1,7 @@
 using DataSharing.Share.Dtos.Province.HuiJu;
 using FluentValidation;
 
-namespace DataSharing.Application.Validators
+namespace DataSharing.Application.Validators.HuiJu
 {
     public class SubmitCaseInfoValidator : AbstractValidator<SubmitCaseInfo>
     {

+ 1 - 1
src/DataSharing.Application/Validators/SubmitCaseProcessInfoValidator.cs → src/DataSharing.Application/Validators/HuiJu/SubmitCaseProcessInfoValidator.cs

@@ -1,7 +1,7 @@
 using DataSharing.Share.Dtos.Province.HuiJu;
 using FluentValidation;
 
-namespace DataSharing.Application.Validators
+namespace DataSharing.Application.Validators.HuiJu
 {
     public class SubmitCaseProcessInfoValidator : AbstractValidator<SubmitCaseProcessInfo>
     {

+ 1 - 1
src/DataSharing.Application/Validators/SubmitCaseRecordInfoValidator.cs → src/DataSharing.Application/Validators/HuiJu/SubmitCaseRecordInfoValidator.cs

@@ -1,7 +1,7 @@
 using DataSharing.Share.Dtos.Province.HuiJu;
 using FluentValidation;
 
-namespace DataSharing.Application.Validators
+namespace DataSharing.Application.Validators.HuiJu
 {
     public class SubmitCaseRecordInfoValidator : AbstractValidator<SubmitCaseRecordInfo>
     {

+ 1 - 1
src/DataSharing.Application/Validators/SubmitCaseResultInfoValidator.cs → src/DataSharing.Application/Validators/HuiJu/SubmitCaseResultInfoValidator.cs

@@ -1,7 +1,7 @@
 using DataSharing.Share.Dtos.Province.HuiJu;
 using FluentValidation;
 
-namespace DataSharing.Application.Validators
+namespace DataSharing.Application.Validators.HuiJu
 {
     public class SubmitCaseResultInfoValidator : AbstractValidator<SubmitCaseResultInfo>
     {

+ 1 - 1
src/DataSharing.Application/Validators/SubmitVisitInfoValidator.cs → src/DataSharing.Application/Validators/HuiJu/SubmitVisitInfoValidator.cs

@@ -1,7 +1,7 @@
 using DataSharing.Share.Dtos.Province.HuiJu;
 using FluentValidation;
 
-namespace DataSharing.Application.Validators
+namespace DataSharing.Application.Validators.HuiJu
 {
     internal class SubmitVisitInfoValidator : AbstractValidator<SubmitVisitInfo>
     {

+ 24 - 0
src/DataSharing.Application/Validators/XieTong/CaseResultReceiveValidator.cs

@@ -0,0 +1,24 @@
+using FluentValidation;
+using Hotline.Share.Dtos.Order;
+
+namespace DataSharing.Application.Validators.XieTong
+{
+    public class CaseResultReceiveValidator : AbstractValidator<PublishPublishOrderDto>
+    {
+        public CaseResultReceiveValidator()
+        {
+            RuleFor(d => d.Order.ProvinceNo).NotEmpty();
+            RuleFor(d => d.Order.AreaCode).NotEmpty();
+            RuleFor(d => d.Order.ActualHandleOrgName).NotEmpty();
+            RuleFor(d => d.Order.ActualHandleTime).NotEmpty();
+            RuleFor(d => d.Order.ActualHandlerName).NotEmpty();
+            RuleFor(d => d.Order.ActualOpinion).NotEmpty();
+            RuleFor(d => d.Order.ActualHandleStepCreateTime).NotEmpty();
+            RuleFor(d => d.Order.ActualHandleOrgAreaCode).NotEmpty();
+            RuleFor(d => d.Order.ActualHandleOrgAreaName).NotEmpty();
+            RuleFor(d => d.Order.ActualHandleStepAcceptTime).NotEmpty();
+            RuleFor(d => d.Order.HandleDurationWorkday).NotEmpty();
+            RuleFor(d => d.Order.RealCommunicationMode).NotEmpty();
+        }
+    }
+}

+ 20 - 0
src/DataSharing.Application/Validators/XieTong/DelayCaseInfoSendInfoValidator.cs

@@ -0,0 +1,20 @@
+using FluentValidation;
+using Hotline.Share.Dtos.Order;
+
+namespace DataSharing.Application.Validators.XieTong
+{
+    public class DelayCaseInfoSendInfoValidator : AbstractValidator<PublishOrderDelayDto>
+    {
+        public DelayCaseInfoSendInfoValidator()
+        {
+            RuleFor(d => d.DelayNum).NotEmpty();
+            RuleFor(d => d.DelayUnit).NotEmpty();
+            RuleFor(d => d.EmployeeName).NotEmpty();
+            RuleFor(d => d.ApplyDelayTime).NotEmpty();
+            RuleFor(d => d.ApplyOrgName).NotEmpty();
+            RuleFor(d => d.DelayReason).NotEmpty();
+            RuleFor(d => d.Order.ProvinceNo).NotEmpty();
+            RuleFor(d => d.Order.AreaCode).NotEmpty();
+        }
+    }
+}

+ 19 - 0
src/DataSharing.Application/Validators/XieTong/GetCaseBackApplyValidator.cs

@@ -0,0 +1,19 @@
+using FluentValidation;
+using Hotline.Share.Dtos.Order;
+
+namespace DataSharing.Application.Validators.XieTong
+{
+    public class GetCaseBackApplyValidator : AbstractValidator<PublishOrderSendBackModelDto>
+    {
+        public GetCaseBackApplyValidator()
+        {
+            RuleFor(d => d.SendBack.Handle).NotEmpty();
+            RuleFor(d => d.SendBack.CreatorOrgName).NotEmpty();
+            RuleFor(d => d.SendBack.CreatorName).NotEmpty();
+            RuleFor(d => d.Order.ProvinceNo).NotEmpty();
+            RuleFor(d => d.Order.AreaCode).NotEmpty();
+            RuleFor(d => d.SendBack.CreationTime).NotEmpty();
+            RuleFor(d => string.IsNullOrEmpty(d.SendBack.AuditOpinion) ? d.SendBack.Content : d.SendBack.AuditOpinion).NotEmpty();
+        }
+    }
+}

+ 17 - 0
src/DataSharing.Application/Validators/XieTong/RemindCaseInfoValidator.cs

@@ -0,0 +1,17 @@
+using FluentValidation;
+using Hotline.Share.Dtos.Order;
+
+namespace DataSharing.Application.Validators.XieTong
+{
+    public class RemindCaseInfoValidator : AbstractValidator<PublishUrgeDto>
+    {
+        public RemindCaseInfoValidator()
+        {
+            RuleFor(d => d.Order.ProvinceNo).NotEmpty();
+            RuleFor(d => d.Order.AreaCode).NotEmpty();
+            RuleFor(d => d.Urge.CreationTime).NotEmpty();
+            RuleFor(d => d.Urge.CrUser).NotEmpty();
+            RuleFor(d => d.Urge.ApplyContent).NotEmpty();
+        }
+    }
+}

+ 17 - 0
src/DataSharing.Application/Validators/XieTong/RevokeCaseInfoModelValidator.cs

@@ -0,0 +1,17 @@
+using FluentValidation;
+using Hotline.Share.Dtos.Order;
+
+namespace DataSharing.Application.Validators.XieTong
+{
+    public class RevokeCaseInfoModelValidator : AbstractValidator<PublishSpecialDto>
+    {
+        public RevokeCaseInfoModelValidator()
+        {
+            RuleFor(d => d.Order.ProvinceNo).NotEmpty();
+            RuleFor(d => d.Order.AreaCode).NotEmpty();
+            RuleFor(d => d.Special.CreationTime).NotEmpty();
+            RuleFor(d => d.Special.CreatorName).NotEmpty();
+            RuleFor(d => d.Special.Reason).NotEmpty();
+        }
+    }
+}

+ 18 - 0
src/DataSharing.Application/Validators/XieTong/ScreenCaseInfoSendInfoValidator.cs

@@ -0,0 +1,18 @@
+using FluentValidation;
+using Hotline.Share.Dtos.Order;
+
+namespace DataSharing.Application.Validators.XieTong
+{
+    public class ScreenCaseInfoSendInfoValidator : AbstractValidator<PublishScreenDto>
+    {
+        public ScreenCaseInfoSendInfoValidator()
+        {
+            RuleFor(d => d.Order.ProvinceNo).NotEmpty();
+            RuleFor(d => d.Order.AreaCode).NotEmpty();
+            RuleFor(d => d.Screen.CreatorName).NotEmpty();
+            RuleFor(d => d.Screen.CreationTime).NotEmpty();
+            RuleFor(d => d.Screen.CreatorOrgName).NotEmpty();
+            RuleFor(d => d.Screen.Content).NotEmpty();
+        }
+    }
+}

+ 17 - 0
src/DataSharing.Application/Validators/XieTong/SendSuperviseProcessInfoValidator.cs

@@ -0,0 +1,17 @@
+using FluentValidation;
+using Hotline.Share.Dtos.Order;
+
+namespace DataSharing.Application.Validators.XieTong
+{
+    public class SendSuperviseProcessInfoValidator : AbstractValidator<PublishSuperviseDto>
+    {
+        public SendSuperviseProcessInfoValidator()
+        {
+            RuleFor(d => d.Supervise.SuperviseSerial).NotEmpty();
+            RuleFor(d => d.Order.AreaCode).NotEmpty();
+            RuleFor(d => d.Supervise.ReUser).NotEmpty();
+            RuleFor(d => d.Supervise.ReplyTime).NotEmpty();
+            RuleFor(d => d.Supervise.ReplyContent).NotEmpty();
+        }
+    }
+}

+ 20 - 0
src/DataSharing.Application/Validators/XieTong/ZmhdCaseInfoPublicInfoValidator.cs

@@ -0,0 +1,20 @@
+using FluentValidation;
+using Hotline.Share.Dtos.Order;
+
+namespace DataSharing.Application.Validators.XieTong
+{
+    public class ZmhdCaseInfoPublicInfoValidator : AbstractValidator<PublishPublishOrderDto>
+    {
+        public ZmhdCaseInfoPublicInfoValidator()
+        {
+            RuleFor(d => d.Order.ProvinceNo).NotEmpty();
+            RuleFor(d => d.Order.AreaCode).NotEmpty();
+            RuleFor(d => d.Order.ActualHandleTime).NotEmpty();
+            RuleFor(d => d.Order.ActualHandleOrgName).NotEmpty();
+            RuleFor(d => d.Order.ActualOpinion).NotEmpty();
+            RuleFor(d => d.CreatorName).NotEmpty();
+            RuleFor(d => d.CreationTime).NotEmpty();
+            RuleFor(d => d.ArrangeOpinion).NotEmpty();
+        }
+    }
+}