From 62babb205c662c359ee590d923a10ea3924c7667 Mon Sep 17 00:00:00 2001 From: yubaolee Date: Sat, 13 Jun 2026 23:44:08 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9Bfix:=20=E4=BF=AE=E5=A4=8D=E5=8A=A0?= =?UTF-8?q?=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FlowApproverApp/FlowApproverApp.cs | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/OpenAuth.App/FlowApproverApp/FlowApproverApp.cs b/OpenAuth.App/FlowApproverApp/FlowApproverApp.cs index 26ebc074..63335d5d 100644 --- a/OpenAuth.App/FlowApproverApp/FlowApproverApp.cs +++ b/OpenAuth.App/FlowApproverApp/FlowApproverApp.cs @@ -103,22 +103,23 @@ namespace OpenAuth.App /// public FlowApprover[] GetApprovers(QueryApproverReq req) { - var query= Repository.AsQueryable() + // 一次查询,内存中处理,避免 ISugarQueryable 状态污染 + var all = Repository.AsQueryable() .Where(u => u.InstanceId == req.FlowInstanceId - && u.ActivityId == req.ActivityId && u.Status == 0); //本节点待审批的加签人 - if (query.Count() == 0) + && u.ActivityId == req.ActivityId && u.Status == 0) + .OrderBy(u => u.OrderNo) + .ToArray(); + + if (all.Length == 0) return null; + + // 顺序执行:只返回第一个 + if (all[0].ApproveType == Define.APPROVE_TYPE_SEQUENTIAL) { - return null; + return new[] { all[0] }; } - - //如果是顺序执行,取第一个人 - if (query.First().ApproveType == Define.APPROVE_TYPE_SEQUENTIAL) - { - var result = query.OrderBy(u => u.OrderNo).First(); - return new[] { result }; - } - //否则并行且/并行或都是返回所有加签人 - return query.ToArray(); + + // 并行且/并行或:返回全部 + return all; } ///