Procházet zdrojové kódy

Merge branch 'feature/task_4_knowledge_bath' into test

qinchaoyue před 5 měsíci
rodič
revize
468e9466ea
1 změnil soubory, kde provedl 19 přidání a 2 odebrání
  1. 19 2
      src/Hotline.Api/Controllers/KnowledgeController.cs

+ 19 - 2
src/Hotline.Api/Controllers/KnowledgeController.cs

@@ -348,7 +348,24 @@ namespace Hotline.Api.Controllers
                 {
                     var knowledge = await _knowledgeDomainService.KnowledgeInfo(knowledgeId, HttpContext.RequestAborted);
                     nextWorkflowDto.WorkflowId = knowledge.WorkflowId;
-                    var next = await _workflowApplication.GetNextStepsAsync(knowledge.WorkflowId, HttpContext.RequestAborted);
+                    NextStepsWithOpinionDto<NextStepOption> next = null;
+                    try
+                    {
+                        next = await _workflowApplication.GetNextStepsAsync(knowledge.WorkflowId, HttpContext.RequestAborted);
+                    }
+                    catch (UserFriendlyException e)
+                    {
+                        if (e.Message.Contains("未找到对应节点"))
+                        {
+                            result.Append("无权审核:" + knowledge.Title);
+                            fail++;
+                        }
+                        else
+                        {
+                            throw;
+                        }
+                    }
+                    if (next == null) continue;
                     nextWorkflowDto.StepId = next.StepId;
                     nextWorkflowDto.NextStepCode = next.Steps.First().Key;
                     nextWorkflowDto.NextStepName = next.Steps.First().Value;
@@ -359,13 +376,13 @@ namespace Hotline.Api.Controllers
                         var reject = nextWorkflowDto.Adapt<RejectDto>();
                         await _workflowApplication.RejectAsync(reject, HttpContext.RequestAborted);
                     }
+                    success++;
                 }
                 catch (UserFriendlyException e)
                 {
                     result.Append(e.Message);
                     fail++;
                 }
-                success++;
             }
             return $"总共: {dto.KnowledgeIds.Length}, 成功: {success}, 失败: {fail}, 失败原因: {result.ToString()}";
         }