diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskAssigneeServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskAssigneeServiceImpl.java index 28c1e8b04..7910b7b35 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskAssigneeServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskAssigneeServiceImpl.java @@ -129,11 +129,16 @@ public class FlwTaskAssigneeServiceImpl implements IFlwTaskAssigneeService, Hand */ @Override public List fetchUsersByStorageId(String storageId) { - String[] parts = storageId.split(StrUtil.COLON, 2); - if (parts.length < 2) { - return getUsersByType(TaskAssigneeEnum.USER, List.of(Long.valueOf(parts[0]))); + List list = new ArrayList<>(); + for (String str : storageId.split(StrUtil.COMMA)) { + String[] parts = str.split(StrUtil.COLON, 2); + TaskAssigneeEnum enumd = TaskAssigneeEnum.USER; + if (parts.length >= 2) { + enumd = TaskAssigneeEnum.fromDesc(parts[0] + StrUtil.COLON); + } + list.addAll(getUsersByType(enumd, List.of(Long.valueOf(parts[1])))); } - return getUsersByType(TaskAssigneeEnum.fromCode(parts[0] + StrUtil.COLON), List.of(Long.valueOf(parts[1]))); + return list; } /**