Browse Source

Merge branch 'master' of http://git.12345lm.cn/Fengwo/data-sharing

TANG JIANG 1 year ago
parent
commit
73f068a605

+ 1 - 0
src/DataSharing.Application/DataSharing.Application.csproj

@@ -10,6 +10,7 @@
     <PackageReference Include="Hotline.Api.Sdk" Version="1.0.7" />
     <PackageReference Include="Hotline.Share" Version="1.0.61" />
     <PackageReference Include="Polly.Core" Version="8.2.0" />
+    <PackageReference Include="FluentValidation" Version="11.6.0" />
   </ItemGroup>
 
   <ItemGroup>

+ 7 - 1
src/DataSharing.Application/Receivers/ProvinceReceiver.cs

@@ -1,4 +1,5 @@
-using DataSharing.DaoShu110;
+using DataSharing.Application.Validators;
+using DataSharing.DaoShu110;
 using DataSharing.Province;
 using DataSharing.RawData;
 using DataSharing.SendTask;
@@ -25,6 +26,7 @@ using System.Security.Cryptography;
 using System.Text;
 using XF.Domain.Cache;
 using XF.Domain.Dependency;
+using XF.Domain.Exceptions;
 using XF.Domain.Repository;
 
 namespace DataSharing.Application.Receivers
@@ -313,6 +315,10 @@ namespace DataSharing.Application.Receivers
             if (dto is not null && !dto.IsProvince)
             {
                 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 处理请求参数
                 var request = new ProvinceListRequest<SubmitCaseInfo>(configProvince.ClientId, configProvince.ClientSecret);

+ 18 - 0
src/DataSharing.Application/Validators/SubmitCaseInfoValidator.cs

@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using DataSharing.Share.Dtos.Province.HuiJu;
+using FluentValidation;
+
+namespace DataSharing.Application.Validators
+{
+    public class SubmitCaseInfoValidator : AbstractValidator<SubmitCaseInfo>
+    {
+        public SubmitCaseInfoValidator()
+        {
+            RuleFor(d => d.CaseTitle).NotEmpty();
+        }
+    }
+}