From ea71e2c2c8b9ec2fe9a47fdfca6d807806a21f12 Mon Sep 17 00:00:00 2001
From: xiaoyi <908147524@qq.com>
Date: 星期一, 02 十一月 2026 15:13:34 +0800
Subject: [PATCH] fix(bpm): 修复发起流程报 500 - 流程定义编号 URL 编码归一化 + 缺失定义容错

---
 yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/definition/BpmProcessDefinitionInfoMapper.java |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/definition/BpmProcessDefinitionInfoMapper.java b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/definition/BpmProcessDefinitionInfoMapper.java
index 55f8de7..86d5983 100644
--- a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/definition/BpmProcessDefinitionInfoMapper.java
+++ b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/definition/BpmProcessDefinitionInfoMapper.java
@@ -15,8 +15,18 @@
         return selectList(BpmProcessDefinitionInfoDO::getProcessDefinitionId, processDefinitionIds);
     }
 
+    /**
+     * 鏌ヨ娴佺▼瀹氫箟鐨勬墿灞曚俊鎭�
+     *
+     * 鍘嗗彶鍘熷洜鍚屼竴 processDefinitionId 鍙兘瀛樺湪澶氭潯璁板綍锛堜緥濡傞噸澶嶉儴缃�/閲嶅淇濆瓨妯″瀷锛夛紝
+     * 鐩存帴鐢� selectOne 浼氭姏 TooManyResultsException 瀵艰嚧鎺ュ彛 500锛�
+     * 杩欓噷鏀逛负鍙栨渶鏂扮殑涓�鏉★紝淇濊瘉鎺ュ彛鍙敤銆�
+     */
     default BpmProcessDefinitionInfoDO selectByProcessDefinitionId(String processDefinitionId) {
-        return selectOne(BpmProcessDefinitionInfoDO::getProcessDefinitionId, processDefinitionId);
+        List<BpmProcessDefinitionInfoDO> list = selectList(new LambdaQueryWrapperX<BpmProcessDefinitionInfoDO>()
+                .eq(BpmProcessDefinitionInfoDO::getProcessDefinitionId, processDefinitionId)
+                .orderByDesc(BpmProcessDefinitionInfoDO::getId));
+        return list.isEmpty() ? null : list.get(0);
     }
 
     default void updateByModelId(String modelId, BpmProcessDefinitionInfoDO updateObj) {

--
Gitblit v1.9.3