From c1c67de2dadc6a3ce6c66373eba514c943ddf66e Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 28 Nov 2022 13:23:35 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E8=BF=87=E6=BB=A4=E5=99=A8):=20=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E8=8C=83=E5=9B=B4=E8=BF=87=E6=BB=A4=E5=99=A8=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E8=AE=BE=E7=BD=AE=E5=8D=95=E4=B8=AA=E7=BB=93=E6=9D=9F?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=9C=89=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/dataease/service/chart/ChartViewService.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java index 884566c6eb..527eb9a450 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -121,6 +121,8 @@ public class ChartViewService { private static final Logger logger = LoggerFactory.getLogger(ChartViewService.class); + private static final String START_END_SEPARATOR = "_START_END_SPLIT"; + //默认使用非公平 private ReentrantLock lock = new ReentrantLock(); @@ -705,6 +707,9 @@ public class ChartViewService { List sqlVariables = new Gson().fromJson(table.getSqlVariableDetails(), new TypeToken>() { }.getType()); for (String parameter : Optional.ofNullable(request.getParameters()).orElse(new ArrayList<>())) { + if (StringUtils.endsWith(parameter, START_END_SEPARATOR)) { + parameter = parameter.split(START_END_SEPARATOR)[0]; + } if (sqlVariables.stream().map(SqlVariableDetails::getVariableName).collect(Collectors.toList()).contains(parameter)) { hasParameters = true; } @@ -1707,8 +1712,8 @@ public class ChartViewService { String paramName = null; if (parameterArray.length > 1) { paramName = parameterArray[1]; - if (paramName.contains("_START_END_SPLIT")) { - String[] paramNameArray = paramName.split("_START_END_SPLIT"); + if (paramName.contains(START_END_SEPARATOR)) { + String[] paramNameArray = paramName.split(START_END_SEPARATOR); paramName = paramNameArray[0]; isEndParam = true; }