From a450a023aab67525c3d196be49c3cd6b5b9ec1f9 Mon Sep 17 00:00:00 2001 From: junjie Date: Thu, 22 Jul 2021 12:43:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E4=BB=AA=E8=A1=A8?= =?UTF-8?q?=E6=9D=BF=E6=95=B0=E5=AD=97=E5=8C=BA=E9=97=B4=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../provider/doris/DorisQueryProvider.java | 12 ++++++++---- .../provider/mysql/MysqlQueryProvider.java | 12 ++++++++---- .../provider/oracle/OracleQueryProvider.java | 14 ++++++++++---- 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/doris/DorisQueryProvider.java b/backend/src/main/java/io/dataease/provider/doris/DorisQueryProvider.java index 839599a566..42aaacbcea 100644 --- a/backend/src/main/java/io/dataease/provider/doris/DorisQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/doris/DorisQueryProvider.java @@ -569,10 +569,14 @@ public class DorisQueryProvider extends QueryProvider { } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { whereValue = "'%" + value.get(0) + "%'"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String startTime = simpleDateFormat.format(new Date(Long.parseLong(value.get(0)))); - String endTime = simpleDateFormat.format(new Date(Long.parseLong(value.get(1)))); - whereValue = String.format(DorisConstants.WHERE_BETWEEN, startTime, endTime); + if (request.getDatasetTableField().getDeType() == 1) { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String startTime = simpleDateFormat.format(new Date(Long.parseLong(value.get(0)))); + String endTime = simpleDateFormat.format(new Date(Long.parseLong(value.get(1)))); + whereValue = String.format(DorisConstants.WHERE_BETWEEN, startTime, endTime); + } else { + whereValue = String.format(MySQLConstants.WHERE_BETWEEN, value.get(0), value.get(1)); + } } else { whereValue = String.format(DorisConstants.WHERE_VALUE_VALUE, value.get(0)); } diff --git a/backend/src/main/java/io/dataease/provider/mysql/MysqlQueryProvider.java b/backend/src/main/java/io/dataease/provider/mysql/MysqlQueryProvider.java index 41d9e3ea12..98647c50eb 100644 --- a/backend/src/main/java/io/dataease/provider/mysql/MysqlQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/mysql/MysqlQueryProvider.java @@ -576,10 +576,14 @@ public class MysqlQueryProvider extends QueryProvider { } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { whereValue = "'%" + value.get(0) + "%'"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String startTime = simpleDateFormat.format(new Date(Long.parseLong(value.get(0)))); - String endTime = simpleDateFormat.format(new Date(Long.parseLong(value.get(1)))); - whereValue = String.format(MySQLConstants.WHERE_BETWEEN, startTime, endTime); + if (request.getDatasetTableField().getDeType() == 1) { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String startTime = simpleDateFormat.format(new Date(Long.parseLong(value.get(0)))); + String endTime = simpleDateFormat.format(new Date(Long.parseLong(value.get(1)))); + whereValue = String.format(MySQLConstants.WHERE_BETWEEN, startTime, endTime); + } else { + whereValue = String.format(MySQLConstants.WHERE_BETWEEN, value.get(0), value.get(1)); + } } else { whereValue = String.format(MySQLConstants.WHERE_VALUE_VALUE, value.get(0)); } diff --git a/backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java b/backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java index f9701a4362..9622f02c6d 100644 --- a/backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java @@ -7,6 +7,8 @@ import io.dataease.dto.chart.ChartViewFieldDTO; import io.dataease.dto.sqlObj.SQLObj; import io.dataease.provider.QueryProvider; import io.dataease.provider.SQLConstants; +import io.dataease.provider.doris.DorisConstants; +import io.dataease.provider.mysql.MySQLConstants; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -584,10 +586,14 @@ public class OracleQueryProvider extends QueryProvider { } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { whereValue = "'%" + value.get(0) + "%'"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String startTime = simpleDateFormat.format(new Date(Long.parseLong(value.get(0)))); - String endTime = simpleDateFormat.format(new Date(Long.parseLong(value.get(1)))); - whereValue = String.format(OracleConstants.WHERE_BETWEEN, startTime, endTime); + if (request.getDatasetTableField().getDeType() == 1) { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String startTime = simpleDateFormat.format(new Date(Long.parseLong(value.get(0)))); + String endTime = simpleDateFormat.format(new Date(Long.parseLong(value.get(1)))); + whereValue = String.format(OracleConstants.WHERE_BETWEEN, startTime, endTime); + } else { + whereValue = String.format(MySQLConstants.WHERE_BETWEEN, value.get(0), value.get(1)); + } } else { whereValue = String.format(OracleConstants.WHERE_VALUE_VALUE, value.get(0)); }