From feea17293427887fee33e7915b3bb92985494a11 Mon Sep 17 00:00:00 2001 From: maojian <550076202@qq.com> Date: Tue, 24 Jun 2025 15:00:50 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/bfd/assemble/entity/Constants.java | 5 ++++ src/main/java/com/bfd/assemble/utils/DataUtil.java | 30 ++++++++++++---------- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/bfd/assemble/entity/Constants.java b/src/main/java/com/bfd/assemble/entity/Constants.java index 9901a11..dbebb79 100644 --- a/src/main/java/com/bfd/assemble/entity/Constants.java +++ b/src/main/java/com/bfd/assemble/entity/Constants.java @@ -144,4 +144,9 @@ public class Constants { public static final String SEARCHFIELDS = "searchFields"; public static final String ISLAST = "isLast"; public static final String TRACE = "trace"; + + /** + * 不需要DataUtil解析的Key + */ + public static final String NOT_KEY = ":$"; } diff --git a/src/main/java/com/bfd/assemble/utils/DataUtil.java b/src/main/java/com/bfd/assemble/utils/DataUtil.java index ad6f5e3..48b7a9c 100644 --- a/src/main/java/com/bfd/assemble/utils/DataUtil.java +++ b/src/main/java/com/bfd/assemble/utils/DataUtil.java @@ -19,17 +19,19 @@ import com.bfd.assemble.entity.Constants; @Slf4j public class DataUtil { /** - * - * @param key 传入的key + * @param key 传入的key * @param dataMap 数据map * @return 根据传入的参数进行判断解析,返回正确的dataValue */ public static Object getValue(String key, Map dataMap) { - try { - //公式为空直接就返回 - if(key.equals(Constants.EMPTY)){ - return Constants.EMPTY; - } + try { + //公式为空直接就返回 + if (key.equals(Constants.EMPTY)) { + return Constants.EMPTY; + } + if (!key.contains(Constants.NOT_KEY)) { + return key; + } Object dataValue; String isJson = "#json#"; if (key.contains(isJson)) { @@ -51,13 +53,13 @@ public class DataUtil { String jsonPath = keySplit[1]; String dataJson = (String) dataMap.get(keySplit[0]); JSONObject dataJsonObject = JSON.parseObject(dataJson); - dataValue = JSONPath.eval(dataJsonObject, jsonPath); + dataValue = JSONPath.eval(dataJsonObject, jsonPath); return dataValue; - } catch (Exception e) { - // TODO: handle exception - log.error("jsonpath公式取值异常,",e); - return null; - } - + } catch (Exception e) { + // TODO: handle exception + log.error("jsonpath公式取值异常,", e); + return null; + } + } } \ No newline at end of file