From 409059d589db823b9f856c903593c9153ae0c734 Mon Sep 17 00:00:00 2001 From: junjun Date: Tue, 28 Mar 2023 09:56:06 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E8=A7=86=E5=9B=BE):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E4=B8=8D=E8=83=BD=E8=BF=87=E6=BB=A4=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/mysql/MysqlQueryProvider.java | 27 ++++++++----------- .../query/mysql/MysqlQueryProvider.java | 21 ++++++++------- 2 files changed, 22 insertions(+), 26 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlQueryProvider.java b/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlQueryProvider.java index 66574ccaa8..4c8591d85b 100644 --- a/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlQueryProvider.java @@ -1098,26 +1098,21 @@ public class MysqlQueryProvider extends QueryProvider { } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { whereValue = "'%" + value.get(0) + "%'"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { - if (request.getDatasetTableField().getDeType() == 1 - && (request.getDatasetTableField().getDeExtractType() == 2 - || request.getDatasetTableField().getDeExtractType() == 3 - || request.getDatasetTableField().getDeExtractType() == 4)) { - whereValue = String.format(MysqlConstants.WHERE_BETWEEN, value.get(0), value.get(1)); - } else 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); + if (request.getDatasetTableField().getDeType() == 1) { + if (request.getDatasetTableField().getDeExtractType() == 2 + || request.getDatasetTableField().getDeExtractType() == 3 + || request.getDatasetTableField().getDeExtractType() == 4) { + whereValue = String.format(MysqlConstants.WHERE_BETWEEN, value.get(0), value.get(1)); + } else { + 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 { - // doris field type test - /*if (field.getDeExtractType() == 2 || field.getDeExtractType() == 3 || field.getDeExtractType() == 4) { - whereValue = String.format(MysqlConstants.WHERE_NUMBER_VALUE, value.get(0)); - } else { - whereValue = String.format(MysqlConstants.WHERE_VALUE_VALUE, value.get(0)); - }*/ whereValue = String.format(MysqlConstants.WHERE_VALUE_VALUE, value.get(0)); } list.add(SQLObj.builder() diff --git a/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java index 3a0ab9d863..141f722112 100644 --- a/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java @@ -1105,16 +1105,17 @@ public class MysqlQueryProvider extends QueryProvider { } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { whereValue = "'%" + value.get(0) + "%'"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { - if (request.getDatasetTableField().getDeType() == 1 - && (request.getDatasetTableField().getDeExtractType() == 2 - || request.getDatasetTableField().getDeExtractType() == 3 - || request.getDatasetTableField().getDeExtractType() == 4)) { - whereValue = String.format(MysqlConstants.WHERE_BETWEEN, value.get(0), value.get(1)); - } else if (request.getDatasetTableField().getDeType() == 1) { - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); - 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) { + if (request.getDatasetTableField().getDeExtractType() == 2 + || request.getDatasetTableField().getDeExtractType() == 3 + || request.getDatasetTableField().getDeExtractType() == 4) { + whereValue = String.format(MysqlConstants.WHERE_BETWEEN, value.get(0), value.get(1)); + } else { + 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)); }