tangjiang 6 месяцев назад
Родитель
Сommit
31f5810c52

+ 118 - 11
src/Hotline.Application.Contracts/Validators/Order/AddOrderDtoValidator.cs

@@ -1,26 +1,133 @@
 using FluentValidation;
-using Hotline.Orders;
 using Hotline.Share.Dtos.Order;
 
 namespace Hotline.Application.Contracts.Validators.Order;
 
 public class AddOrderDtoValidator : AbstractValidator<AddOrderDto>
 {
+    //新增验证
     public AddOrderDtoValidator()
     {
-        RuleFor(d => d.Content).NotEmpty().WithMessage("请填写工单内容");
+        RuleFor(d => d.Content).NotEmpty().When(d=>d.OrderExtension!=null).WithMessage("请填写工单内容");
 
         #region 医疗服务中心受理单
 
-        //RuleFor(d => d.OrderExtension.MedName).Length(0, 200).WithMessage("医院名称最多200字符");
-        //RuleFor(d => d.OrderExtension.MedAddress).Length(0, 500).WithMessage("医院地址最多500字符");
-        //RuleFor(d => d.OrderExtension.MedDepartment).Length(0, 100).WithMessage("科室最多200字符");
-        //RuleFor(d => d.OrderExtension.MedDoctor).Length(0, 50).WithMessage("医生最多200字符");
-        //RuleFor(d => d.OrderExtension.MedPatient).Length(0, 200).WithMessage("病人姓名最多200字符");
-        //RuleFor(d => d.OrderExtension.MedNo).Length(0, 50).WithMessage("就诊卡号最多200字符");
-        //RuleFor(d => d.OrderExtension.MedIdNo).Length(0, 50).WithMessage("身份证号最多200字符");
+        RuleFor(d => d.OrderExtension.MedName).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("医院名称最多200字符");
+        RuleFor(d => d.OrderExtension.MedAddress).MaximumLength(500).When(d=>d.OrderExtension!=null).WithMessage("医院地址最多500字符");
+        RuleFor(d => d.OrderExtension.MedDepartment).MaximumLength(100).When(d=>d.OrderExtension!=null).WithMessage("科室最多200字符");
+        RuleFor(d => d.OrderExtension.MedDoctor).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("医生最多200字符");
+        RuleFor(d => d.OrderExtension.MedPatient).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("病人姓名最多200字符");
+        RuleFor(d => d.OrderExtension.MedNo).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("就诊卡号最多200字符");
+        RuleFor(d => d.OrderExtension.MedIdNo).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("身份证号最多200字符");
         #endregion
 
-        //RuleFor(d => d.OrderExtension.ExchTv).Length(0, 200).WithMessage("医院名称最多200字符");
+        #region 电视购物及商铺购买退换货中心受理单
+        RuleFor(d => d.OrderExtension.ExchTv).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("电视台(商铺)最多50字符");
+        RuleFor(d => d.OrderExtension.ExchProduct).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("产品名称最多200字符");
+        RuleFor(d => d.OrderExtension.ExchName).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("商家名称最多200字符");
+        RuleFor(d => d.OrderExtension.ExchAddress).MaximumLength(500).When(d=>d.OrderExtension!=null).WithMessage("商家地址最多500字符");
+        RuleFor(d => d.OrderExtension.ExchConsignee).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("收货人最多200字符");
+        RuleFor(d => d.OrderExtension.ExchConsigneeAddress).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("收货地址最多200字符");
+        #endregion
+
+        #region 高速公路投诉中心受理单
+        RuleFor(d => d.OrderExtension.ExpwyEntrance).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("高速入口最多200字符");
+        RuleFor(d => d.OrderExtension.ExpwyExit).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("高速出口最多200字符");
+        RuleFor(d => d.OrderExtension.ExpwyNo).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("高速入口最多50字符");
+        #endregion
+
+        #region 电视台虚假广告中心受理单
+        RuleFor(d => d.OrderExtension.AdTv).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("电视台最多50字符");
+        RuleFor(d => d.OrderExtension.AdProduct).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("产品名称最多200字符");
+        #endregion
+
+        #region 四川政务服务网技术中心受理单
+
+        RuleFor(d => d.OrderExtension.ZwfwwAccount).MaximumLength(20).When(d=>d.OrderExtension!=null).WithMessage("服务账号最多20字符");
+        RuleFor(d => d.OrderExtension.ZwfwwContact).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("联系方式最多50字符");
+        #endregion
+
+        #region 四川省12366热线诉求交办单
+        RuleFor(d => d.OrderExtension.Location12366Sq).MaximumLength(500).When(d=>d.OrderExtension!=null).WithMessage("主管税务机关最多500字符");
+        RuleFor(d => d.OrderExtension.Info12366Sq).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("被投诉单位或个人信息最多200字符");
+        RuleFor(d => d.OrderExtension.Type12366Sq).MaximumLength(10).When(d=>d.OrderExtension!=null).WithMessage("投诉类型最多10字符");
+        #endregion
+
+        #region 四川省12366热线咨询交办单
+        RuleFor(d => d.OrderExtension.Location12366Zx).MaximumLength(500).When(d=>d.OrderExtension!=null).WithMessage("主管税务机关最多500字符");
+        RuleFor(d => d.OrderExtension.Info12366Zx).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("被投诉单位或个人信息最多200字符");
+        #endregion
+
+        #region 12328服务监督中心受理单
+        RuleFor(d => d.OrderExtension.AcceptType12328).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("受理方式最多50字符");
+        RuleFor(d => d.OrderExtension.Client12328).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("客户最多200字符");
+        #endregion
+
+        #region 邮政业消费者申诉受理单
+        RuleFor(d => d.OrderExtension.MailClaimantName).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("申诉人姓名最多50字符");
+        RuleFor(d => d.OrderExtension.MailClaimantPhone).MaximumLength(12).When(d=>d.OrderExtension!=null).WithMessage("申诉人电话最多12字符");
+        RuleFor(d => d.OrderExtension.MailClaimantEnterprise).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("申诉企业最多200字符");
+        RuleFor(d => d.OrderExtension.MailSenderName).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("寄件人姓名最多50字符");
+        RuleFor(d => d.OrderExtension.MailSenderPhone).MaximumLength(12).When(d=>d.OrderExtension!=null).WithMessage("寄件人电话最多12字符");
+        RuleFor(d => d.OrderExtension.MailSenderAddress).MaximumLength(500).When(d=>d.OrderExtension!=null).WithMessage("寄件人地址最多500字符");
+        RuleFor(d => d.OrderExtension.MailReceiverName).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("收件人姓名最多50字符");
+        RuleFor(d => d.OrderExtension.MailReceiverPhone).MaximumLength(12).When(d=>d.OrderExtension!=null).WithMessage("收件人电话最多12字符");
+        RuleFor(d => d.OrderExtension.MailReceiverAddress).MaximumLength(500).When(d=>d.OrderExtension!=null).WithMessage("收件人地址最多500字符");
+        #endregion
+
+        #region 环保举报业务受理单
+        RuleFor(d => d.OrderExtension.EpEmail).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("邮箱最多50字符");
+        RuleFor(d => d.OrderExtension.EpAddress).MaximumLength(500).When(d=>d.OrderExtension!=null).WithMessage("通讯地址最多500字符");
+        RuleFor(d => d.OrderExtension.EpObject).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("举报对象最多200字符");
+        RuleFor(d => d.OrderExtension.EpObjectAddress).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("详细地址最多200字符");
+        RuleFor(d => d.OrderExtension.EpIndustryType).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("行业类型最多50字符");
+        RuleFor(d => d.OrderExtension.EpKeyPoint).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("重点要素最多50字符");
+        #endregion
+
+        #region 投诉人信息
+        RuleFor(d => d.OrderExtension.LicenceTypeCode).MaximumLength(10).When(d => d.OrderExtension != null).WithMessage("证件类型最多10字符");
+        RuleFor(d => d.OrderExtension.LicenceType).MaximumLength(50).When(d => d.OrderExtension != null).WithMessage("证件类型名称最多50字符");
+        RuleFor(d => d.OrderExtension.IdentityTypeCode).MaximumLength(4).When(d => d.OrderExtension != null).WithMessage("提供方类型最多4字符");
+        RuleFor(d => d.OrderExtension.IdentityType).MaximumLength(50).When(d => d.OrderExtension != null).WithMessage("提供方类型名称最多50字符");
+        RuleFor(d => d.OrderExtension.IdentityCode).MaximumLength(10).When(d => d.OrderExtension != null).WithMessage("提供方身份最多10字符");
+        RuleFor(d => d.OrderExtension.Identity).MaximumLength(50).When(d => d.OrderExtension != null).WithMessage("提供方身份名称最多50字符");
+        RuleFor(d => d.OrderExtension.NationalityCode).MaximumLength(1).When(d => d.OrderExtension != null).WithMessage("国籍最多1字符");
+        RuleFor(d => d.OrderExtension.Nationality).MaximumLength(50).When(d => d.OrderExtension != null).WithMessage("国籍名称最多50字符");
+        RuleFor(d => d.OrderExtension.NationCode).MaximumLength(4).When(d => d.OrderExtension != null).WithMessage("民族最多4字符");
+        RuleFor(d => d.OrderExtension.Nation).MaximumLength(50).When(d => d.OrderExtension != null).WithMessage("民族名称最多50字符");
+        RuleFor(d => d.OrderExtension.LicenceNo).MaximumLength(64).When(d=>d.OrderExtension!=null).WithMessage("证件号码最多64字符");
+        RuleFor(d => d.OrderExtension.PostalCode).MaximumLength(10).When(d=>d.OrderExtension!=null).WithMessage("邮政编码最多10字符");
+        RuleFor(d => d.OrderExtension.Email).MaximumLength(100).When(d=>d.OrderExtension!=null).WithMessage("电子邮箱最多100字符");
+        RuleFor(d => d.OrderExtension.OtherContact).MaximumLength(64).When(d=>d.OrderExtension!=null).WithMessage("其他联系方式最多64字符");
+        #endregion
+
+        #region 投诉对象信息
+        RuleFor(d => d.OrderExtension.EnterpriseName).MaximumLength(100).When(d=>d.OrderExtension!=null).WithMessage("企业名称最多100字符");
+        RuleFor(d => d.OrderExtension.UnifiedSocialCreditCode).MaximumLength(30).When(d=>d.OrderExtension!=null).WithMessage("统一社会信用代码最多30字符");
+        RuleFor(d => d.OrderExtension.RegisterAddress).MaximumLength(500).When(d=>d.OrderExtension!=null).WithMessage("企业注册地址最多500字符");
+        RuleFor(d => d.OrderExtension.RegisterNumber).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("注册号最多50字符");
+        RuleFor(d => d.OrderExtension.EnterpriseContact).MaximumLength(70).When(d=>d.OrderExtension!=null).WithMessage("联系人最多70字符");
+        RuleFor(d => d.OrderExtension.MarketTypeCode).MaximumLength(64).When(d => d.OrderExtension != null).WithMessage("市场主体类型代码最多64字符");
+        RuleFor(d => d.OrderExtension.MarketType).MaximumLength(200).When(d => d.OrderExtension != null).WithMessage("市场主体类型名称最多200字符");
+        RuleFor(d => d.OrderExtension.IndustryClassifyCode).MaximumLength(64).When(d => d.OrderExtension != null).WithMessage("行业类型代码最多64字符");
+        RuleFor(d => d.OrderExtension.IndustryClassify).MaximumLength(200).When(d => d.OrderExtension != null).WithMessage("行业类型名称最多10字符");
+        #endregion
+
+        #region 投诉详情
+        RuleFor(d => d.OrderExtension.ExternalOrderNo).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("订单号最多50字符");
+        RuleFor(d => d.OrderExtension.Patentee).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("专利权人最多50字符");
+        RuleFor(d => d.OrderExtension.PatentName).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("专利名称最多200字符");
+        RuleFor(d => d.OrderExtension.PatentNo).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("专利号最多50字符");
+        RuleFor(d => d.OrderExtension.ProductName).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("产品名称最多50字符");
+        RuleFor(d => d.OrderExtension.ApprovalNumber).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("批准文号最多50字符");
+        RuleFor(d => d.OrderExtension.ProductBatchNo).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("产品批号最多50字符");
+        RuleFor(d => d.OrderExtension.ProductStandard).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("产品规格最多50字符");
+        RuleFor(d => d.OrderExtension.Manufacturer).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("生产厂家最多50字符");
+        RuleFor(d => d.OrderExtension.SalesEnterprise).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("销售企业最多50字符");
+        RuleFor(d => d.OrderExtension.ConsumerAddress).MaximumLength(100).When(d=>d.OrderExtension!=null).WithMessage("消费者地址最多100字符");
+        RuleFor(d => d.OrderExtension.BusinessPosition.Street).MaximumLength(100).When(d=>d.OrderExtension!=null).WithMessage("经营详细地址最多100字符"); 
+        #endregion
     }
-}
+
+}
+

+ 16 - 0
src/Hotline.Application.Contracts/Validators/Order/UpdateOrderDtoValidator.cs

@@ -0,0 +1,16 @@
+using FluentValidation;
+using Hotline.Share.Dtos.Order;
+
+namespace Hotline.Application.Contracts.Validators.Order
+{
+    /// <summary>
+    /// 编辑验证
+    /// </summary>
+    public class UpdateOrderDtoValidator : AbstractValidator<UpdateOrderDto>
+    {
+        public UpdateOrderDtoValidator()
+        {
+            Include(new AddOrderDtoValidator());
+        }
+    }
+}