diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/StringUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/StringUtils.java index acffb78d4..4b8b1ca76 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/StringUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/StringUtils.java @@ -296,6 +296,16 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils { return splitTo(str, separator, Convert::toStr); } + /** + * 切分字符串,解析成Long列表(默认逗号分隔) + * + * @param str 被切分字符串 + * @return 分割后的数据列表 + */ + public static List splitLongList(String str) { + return splitTo(str, Convert::toLong); + } + /** * 切分字符串自定义转换(分隔符默认逗号) * diff --git a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/TranslationInterface.java b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/TranslationInterface.java index 9bb82a53c..7261e3efb 100644 --- a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/TranslationInterface.java +++ b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/TranslationInterface.java @@ -56,7 +56,7 @@ public interface TranslationInterface { Set result = new LinkedHashSet<>(); for (Object key : keys) { if (key instanceof String ids) { - result.addAll(parseLongIds(ids)); + result.addAll(StringUtils.splitLongList(ids)); } else if (key != null) { result.add(Convert.toLong(key)); } @@ -64,19 +64,6 @@ public interface TranslationInterface { return result; } - /** - * 解析逗号分隔的 Long ID 列表。 - * - * @param ids 逗号分隔字符串 - * @return Long 列表 - */ - default List parseLongIds(String ids) { - return StreamUtils.toList( - StreamUtils.filter(Arrays.asList(ids.split(StringUtils.SEPARATOR)), StringUtils::isNotBlank), - value -> Convert.toLong(value.trim()) - ); - } - /** * 按原始 ID 顺序拼接映射值。 * @@ -86,7 +73,7 @@ public interface TranslationInterface { * @return 拼接后的结果字符串 */ default String joinMappedValues(String ids, Function mapper) { - return StreamUtils.join(parseLongIds(ids), id -> { + return StreamUtils.join(StringUtils.splitLongList(ids), id -> { E value = mapper.apply(id); return value == null ? null : String.valueOf(value); }); diff --git a/ruoyi-common/ruoyi-common-translation/src/test/java/org/dromara/common/translation/core/TranslationInterfaceTest.java b/ruoyi-common/ruoyi-common-translation/src/test/java/org/dromara/common/translation/core/TranslationInterfaceTest.java index 157fcc0ef..2544b9a63 100644 --- a/ruoyi-common/ruoyi-common-translation/src/test/java/org/dromara/common/translation/core/TranslationInterfaceTest.java +++ b/ruoyi-common/ruoyi-common-translation/src/test/java/org/dromara/common/translation/core/TranslationInterfaceTest.java @@ -38,7 +38,6 @@ class TranslationInterfaceTest { Set result = translation.collectLongIds(List.of("1, 2,1", 3L, " ")); assertEquals(new LinkedHashSet<>(List.of(1L, 2L, 3L)), result); - assertEquals(List.of(4L, 5L), translation.parseLongIds("4, 5")); } /** diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/liteflow/operation/TaskOpNotifyComponent.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/liteflow/operation/TaskOpNotifyComponent.java index b58a2430d..a444a2dc6 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/liteflow/operation/TaskOpNotifyComponent.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/liteflow/operation/TaskOpNotifyComponent.java @@ -5,6 +5,7 @@ import cn.hutool.core.convert.Convert; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; import lombok.RequiredArgsConstructor; +import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.system.api.UserService; import org.dromara.workflow.common.ConditionalOnEnable; @@ -39,7 +40,7 @@ public class TaskOpNotifyComponent extends NodeComponent { userIdList.add(Convert.toLong(bo.getUserId())); } if (CollUtil.isNotEmpty(bo.getUserIds())) { - userIdList.addAll(bo.getUserIds().stream().map(Convert::toLong).toList()); + userIdList.addAll(StreamUtils.toList(bo.getUserIds(), Convert::toLong)); } if (CollUtil.isEmpty(userIdList)) { return;