Просмотр исходного кода

update 优化工作流,跳过以 $ 或 # 开头的内置变量表达式解析

AprilWind 1 год назад
Родитель
Сommit
9256432532

+ 8 - 0
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskAssigneeServiceImpl.java

@@ -228,6 +228,14 @@ public class FlwTaskAssigneeServiceImpl implements IFlwTaskAssigneeService, Hand
      * @return Pair(TaskAssigneeEnum, Long),如果格式非法返回 null
      */
     private Pair<TaskAssigneeEnum, Long> parseStorageId(String storageId) {
+        if (StringUtils.isBlank(storageId)) {
+            return null;
+        }
+        // 跳过以 $ 或 # 开头的字符串
+        if (StringUtils.startsWith(storageId, "$") || StringUtils.startsWith(storageId, "#")) {
+            log.info("跳过 storageId 解析,检测到内置变量表达式:{}", storageId);
+            return null;
+        }
         try {
             String[] parts = storageId.split(StrUtil.COLON, 2);
             if (parts.length < 2) {