From c12a7dc00da93aa444638eeaf1e2aedca7858877 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Fri, 6 Sep 2024 18:03:25 +0800 Subject: [PATCH] =?UTF-8?q?perf(X-Pack):=20=E9=98=88=E5=80=BC=E5=91=8A?= =?UTF-8?q?=E8=AD=A6-=E6=97=B6=E9=97=B4=E5=AD=97=E6=AE=B5=E8=A7=84?= =?UTF-8?q?=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/ChartViewThresholdManage.java | 28 +++++++++++++++++-- de-xpack | 2 +- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/chart/manage/ChartViewThresholdManage.java b/core/core-backend/src/main/java/io/dataease/chart/manage/ChartViewThresholdManage.java index d6f0ed85c7..7f0927f6ac 100644 --- a/core/core-backend/src/main/java/io/dataease/chart/manage/ChartViewThresholdManage.java +++ b/core/core-backend/src/main/java/io/dataease/chart/manage/ChartViewThresholdManage.java @@ -3,7 +3,6 @@ package io.dataease.chart.manage; import io.dataease.api.chart.request.ThresholdCheckRequest; import io.dataease.api.chart.vo.ThresholdCheckVO; import io.dataease.engine.constant.DeTypeConstants; -import io.dataease.exception.DEException; import io.dataease.extensions.datasource.dto.DatasetTableFieldDTO; import io.dataease.extensions.view.dto.ChartViewDTO; import io.dataease.extensions.view.dto.ChartViewFieldDTO; @@ -388,11 +387,36 @@ public class ChartViewThresholdManage { } } else if (Objects.equals(deType, DeTypeConstants.DE_TIME)) { // 补充时间逻辑 - return true; + return timeMatch(item, valueObj); } else { return true; } } } + private boolean timeMatch(FilterTreeItem item, Object valueObj) { + if (ObjectUtils.isEmpty(valueObj)) return false; + String valueText = valueObj.toString(); + String target = item.getValue(); + target = target.replaceAll("[^0-9]", ""); + valueText = valueText.replaceAll("[^0-9]", ""); + long targetLong = Long.parseLong(target); + long valueLong = Long.parseLong(valueText); + String term = item.getTerm(); + if (StringUtils.equals(term, "eq")) { + return valueLong == targetLong; + } else if (StringUtils.equals(term, "not_eq")) { + return valueLong != targetLong; + } else if (StringUtils.equals(term, "gt")) { + return valueLong > targetLong; + } else if (StringUtils.equals(term, "ge")) { + return valueLong >= targetLong; + } else if (StringUtils.equals(term, "lt")) { + return valueLong < targetLong; + } else if (StringUtils.equals(term, "le")) { + return valueLong <= targetLong; + } else { + return valueLong == targetLong; + } + } } diff --git a/de-xpack b/de-xpack index 35bc777cd5..d8081f9962 160000 --- a/de-xpack +++ b/de-xpack @@ -1 +1 @@ -Subproject commit 35bc777cd58d0ff07d68e4c5bd5cb803fcbd2ec2 +Subproject commit d8081f9962673ee5313df4a75475aaae0fa56ead