From 267b10a4287c5e544b0b452e06be3e0861bef2ce Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期一, 13 十二月 2021 10:14:03 +0800 Subject: [PATCH] 修复多参数逗号分隔的问题 --- src/main/java/com/ruoyi/common/utils/job/JobInvokeUtil.java | 24 ++++++++++++------------ 1 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/ruoyi/common/utils/job/JobInvokeUtil.java b/src/main/java/com/ruoyi/common/utils/job/JobInvokeUtil.java index 71118f2..077b256 100644 --- a/src/main/java/com/ruoyi/common/utils/job/JobInvokeUtil.java +++ b/src/main/java/com/ruoyi/common/utils/job/JobInvokeUtil.java @@ -65,7 +65,7 @@ /** * 鏍¢獙鏄惁涓轰负class鍖呭悕 * - * @param str 鍚嶇О + * @param invokeTarget 鍚嶇О * @return true鏄� false鍚� */ public static boolean isValidClassName(String invokeTarget) @@ -110,30 +110,30 @@ { return null; } - String[] methodParams = methodStr.split(",(?=(?:[^\']*\"[^\']*\')*[^\']*$)"); + String[] methodParams = methodStr.split(",(?=([^\"']*[\"'][^\"']*[\"'])*[^\"']*$)"); List<Object[]> classs = new LinkedList<>(); for (int i = 0; i < methodParams.length; i++) { String str = StringUtils.trimToEmpty(methodParams[i]); - // String瀛楃涓茬被鍨嬶紝鍖呭惈' - if (StringUtils.contains(str, "'")) + // String瀛楃涓茬被鍨嬶紝浠�'鎴�"寮�澶� + if (StringUtils.startsWithAny(str, "'", "\"")) { - classs.add(new Object[] { StringUtils.replace(str, "'", ""), String.class }); + classs.add(new Object[] { StringUtils.substring(str, 1, str.length() - 1), String.class }); } // boolean甯冨皵绫诲瀷锛岀瓑浜巘rue鎴栬�協alse - else if (StringUtils.equals(str, "true") || StringUtils.equalsIgnoreCase(str, "false")) + else if ("true".equalsIgnoreCase(str) || "false".equalsIgnoreCase(str)) { classs.add(new Object[] { Boolean.valueOf(str), Boolean.class }); } - // long闀挎暣褰紝鍖呭惈L - else if (StringUtils.containsIgnoreCase(str, "L")) + // long闀挎暣褰紝浠缁撳熬 + else if (StringUtils.endsWith(str, "L")) { - classs.add(new Object[] { Long.valueOf(StringUtils.replaceIgnoreCase(str, "L", "")), Long.class }); + classs.add(new Object[] { Long.valueOf(StringUtils.substring(str, 0, str.length() - 1)), Long.class }); } - // double娴偣绫诲瀷锛屽寘鍚獶 - else if (StringUtils.containsIgnoreCase(str, "D")) + // double娴偣绫诲瀷锛屼互D缁撳熬 + else if (StringUtils.endsWith(str, "D")) { - classs.add(new Object[] { Double.valueOf(StringUtils.replaceIgnoreCase(str, "D", "")), Double.class }); + classs.add(new Object[] { Double.valueOf(StringUtils.substring(str, 0, str.length() - 1)), Double.class }); } // 鍏朵粬绫诲瀷褰掔被涓烘暣褰� else -- Gitblit v1.9.3