Kaynağa Gözat

修改知识批量审核入参

qinchaoyue 5 ay önce
ebeveyn
işleme
f763f0adfe

+ 13 - 6
src/Hotline.Api/Controllers/KnowledgeController.cs

@@ -25,6 +25,7 @@ using Hotline.Share.Dtos.FlowEngine;
 using Hotline.Share.Dtos.Knowledge;
 using Hotline.Share.Dtos.Order;
 using Hotline.Share.Enums.Article;
+using Hotline.Share.Enums.FlowEngine;
 using Hotline.Share.Enums.KnowledgeBase;
 using Hotline.Share.Mq;
 using Hotline.Share.Tools;
@@ -335,21 +336,27 @@ namespace Hotline.Api.Controllers
             var result = new StringBuilder();
             var fail = 0;
             var success = 0;
+            var nextWorkflowDto = new NextWorkflowDto
+            {
+                IsSms = dto.IsSms,
+                ReviewResult = dto.IsPass ? EReviewResult.Approval : EReviewResult.Failed,
+                Opinion = dto.Opinion
+            };
             foreach (var knowledgeId in dto.KnowledgeIds)
             {
                 try
                 {
                     var knowledge = await _knowledgeDomainService.KnowledgeInfo(knowledgeId, HttpContext.RequestAborted);
-                    dto.NextWorkflowDto.WorkflowId = knowledge.WorkflowId;
+                    nextWorkflowDto.WorkflowId = knowledge.WorkflowId;
                     var next = await _workflowApplication.GetNextStepsAsync(knowledge.WorkflowId, HttpContext.RequestAborted);
-                    dto.NextWorkflowDto.StepId = next.StepId;
-                    dto.NextWorkflowDto.NextStepCode = next.Steps.First().Key;
-                    dto.NextWorkflowDto.NextStepName = next.Steps.First().Value;
+                    nextWorkflowDto.StepId = next.StepId;
+                    nextWorkflowDto.NextStepCode = next.Steps.First().Key;
+                    nextWorkflowDto.NextStepName = next.Steps.First().Value;
                     if (dto.IsPass)
-                        await _workflowApplication.NextAsync(dto.NextWorkflowDto, cancellationToken: HttpContext.RequestAborted);
+                        await _workflowApplication.NextAsync(nextWorkflowDto, cancellationToken: HttpContext.RequestAborted);
                     else
                     {
-                        var reject = dto.NextWorkflowDto.Adapt<RejectDto>();
+                        var reject = nextWorkflowDto.Adapt<RejectDto>();
                         await _workflowApplication.RejectAsync(reject, HttpContext.RequestAborted);
                     }
                 }

+ 2 - 5
src/Hotline.Application.Tests/Controller/KnowledgeControllerTest.cs

@@ -46,11 +46,8 @@ public class KnowledgeControllerTest : TestBase
         {
             IsPass = true,
             KnowledgeIds = new string[3],
-            NextWorkflowDto = new NextWorkflowDto
-            {
-                ReviewResult = EReviewResult.Approval,
-                Opinion = "批量审核通过"
-            }
+            IsSms = false,
+            Opinion = "批量审核通过"
         };
         for (int i = 0;i < 3;i++)
         {

+ 10 - 5
src/Hotline.Share/Dtos/Knowledge/KnowledgeDto.cs

@@ -528,11 +528,6 @@ namespace Hotline.Share.Dtos.Knowledge
 
     public class KnowledgeBatchAuditInDto
     {
-        /// <summary>
-        /// 流程信息
-        /// </summary>
-        public NextWorkflowDto NextWorkflowDto { get; set; }
-
         /// <summary>
         /// 知识Id集合
         /// </summary>
@@ -542,5 +537,15 @@ namespace Hotline.Share.Dtos.Knowledge
         /// 是否通过
         /// </summary>
         public bool IsPass { get; set; }
+
+        /// <summary>
+        /// 办理意见
+        /// </summary>
+        public string Opinion { get; set; } = string.Empty;
+
+        /// <summary>
+        /// 是否短信通知
+        /// </summary>
+        public bool IsSms { get; set; }
     }
 }