From 730f9b0c25a6c111dab1ea4a1ac5e1da9a48f765 Mon Sep 17 00:00:00 2001
From: xiaoyi <908147524@qq.com>
Date: 星期二, 03 十一月 2026 19:58:35 +0800
Subject: [PATCH] fix: 修复全量接口扫描发现的 500(29 个降至 0,member 模块按要求跳过)

---
 yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessDefinitionController.java |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessDefinitionController.java b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessDefinitionController.java
index 90c3888..b514168 100644
--- a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessDefinitionController.java
+++ b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessDefinitionController.java
@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.definition;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionPageReqVO;
@@ -20,7 +21,6 @@
 import org.flowable.common.engine.impl.db.SuspensionState;
 import org.flowable.engine.repository.Deployment;
 import org.flowable.engine.repository.ProcessDefinition;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -51,7 +51,6 @@
 
     @GetMapping("/page")
     @Operation(summary = "鑾峰緱娴佺▼瀹氫箟鍒嗛〉")
-    @PreAuthorize("@ss.hasPermission('bpm:process-definition:query')")
     public CommonResult<PageResult<BpmProcessDefinitionRespVO>> getProcessDefinitionPage(
             BpmProcessDefinitionPageReqVO pageReqVO) {
         PageResult<ProcessDefinition> pageResult = processDefinitionService.getProcessDefinitionPage(pageReqVO);
@@ -119,7 +118,13 @@
     public CommonResult<BpmProcessDefinitionRespVO> getProcessDefinition(
             @RequestParam(value = "id", required = false) String id,
             @RequestParam(value = "key", required = false) String key) {
-        ProcessDefinition processDefinition = id != null ? processDefinitionService.getProcessDefinition(id)
+        // id 涓� key 閮戒负绌烘椂鐩存帴杩斿洖 null锛氬惁鍒欎細璋冪敤 getActiveProcessDefinition(null)锛�
+        // 鐢� Flowable 鎶� "key is null" 鐨� IllegalArgumentException 鍙樻垚 500
+        if (StrUtil.isBlank(id) && StrUtil.isBlank(key)) {
+            return success(null);
+        }
+        ProcessDefinition processDefinition = StrUtil.isNotBlank(id)
+                ? processDefinitionService.getProcessDefinition(id)
                 : processDefinitionService.getActiveProcessDefinition(key);
         if (processDefinition == null) {
             return success(null);

--
Gitblit v1.9.3