From e1dd3f90de7261acd88391296c854f2fc26471d2 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 1 Nov 2021 17:33:31 +0800 Subject: [PATCH 1/6] =?UTF-8?q?feat:=20redshift=20=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/datasource/provider/JdbcProvider.java | 14 ++++++++++++++ .../datasource/provider/ProviderFactory.java | 2 ++ frontend/src/views/system/datasource/DsTree.vue | 2 ++ frontend/src/views/system/datasource/form.vue | 6 +++--- 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/backend/src/main/java/io/dataease/datasource/provider/JdbcProvider.java b/backend/src/main/java/io/dataease/datasource/provider/JdbcProvider.java index 568e618343..48ee70879d 100644 --- a/backend/src/main/java/io/dataease/datasource/provider/JdbcProvider.java +++ b/backend/src/main/java/io/dataease/datasource/provider/JdbcProvider.java @@ -335,6 +335,12 @@ public class JdbcProvider extends DatasourceProvider { driver = mongodbConfiguration.getDriver(); jdbcurl = mongodbConfiguration.getJdbc(); break; + case redshift: + RedshiftConfigration redshiftConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), RedshiftConfigration.class); + username = redshiftConfigration.getUsername(); + password = redshiftConfigration.getPassword(); + driver = redshiftConfigration.getDriver(); + jdbcurl = redshiftConfigration.getJdbc(); default: break; } @@ -411,6 +417,12 @@ public class JdbcProvider extends DatasourceProvider { dataSource.setUrl(mongodbConfiguration.getJdbc()); jdbcConfiguration = mongodbConfiguration; break; + case redshift: + RedshiftConfigration redshiftConfigration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), RedshiftConfigration.class); + dataSource.setPassword(redshiftConfigration.getPassword()); + dataSource.setDriverClassName(redshiftConfigration.getDriver()); + dataSource.setUrl(redshiftConfigration.getJdbc()); + jdbcConfiguration = redshiftConfigration; default: break; } @@ -513,6 +525,8 @@ public class JdbcProvider extends DatasourceProvider { return "select name from sys.schemas;"; case pg: return "SELECT nspname FROM pg_namespace;"; + case redshift: + return "SELECT nspname FROM pg_namespace;"; default: return "show tables;"; } diff --git a/backend/src/main/java/io/dataease/datasource/provider/ProviderFactory.java b/backend/src/main/java/io/dataease/datasource/provider/ProviderFactory.java index 9081c0d09a..6df1c449e8 100644 --- a/backend/src/main/java/io/dataease/datasource/provider/ProviderFactory.java +++ b/backend/src/main/java/io/dataease/datasource/provider/ProviderFactory.java @@ -50,6 +50,8 @@ public class ProviderFactory implements ApplicationContextAware { return context.getBean("ckQuery", QueryProvider.class); case mongo: return context.getBean("mongoQuery", QueryProvider.class); + case redshift: + return context.getBean("redshiftQuery", QueryProvider.class); default: return context.getBean("mysqlQuery", QueryProvider.class); } diff --git a/frontend/src/views/system/datasource/DsTree.vue b/frontend/src/views/system/datasource/DsTree.vue index 02172b12f6..f05d5f6462 100644 --- a/frontend/src/views/system/datasource/DsTree.vue +++ b/frontend/src/views/system/datasource/DsTree.vue @@ -165,6 +165,8 @@ export default { return 'Doris' } else if (type === 'mongo') { return 'MongoDB' + }else if (type === 'redshift') { + return 'AWS Redshift' } }, diff --git a/frontend/src/views/system/datasource/form.vue b/frontend/src/views/system/datasource/form.vue index 6cb4fe4a00..77a398d58c 100644 --- a/frontend/src/views/system/datasource/form.vue +++ b/frontend/src/views/system/datasource/form.vue @@ -59,14 +59,14 @@ - + {{ $t('datasource.get_schema') }} - - + + Date: Mon, 1 Nov 2021 18:31:38 +0800 Subject: [PATCH 2/6] =?UTF-8?q?feat:=20redshift=20mongo=20=E5=8F=AA?= =?UTF-8?q?=E6=9C=89=E7=9B=B4=E8=BF=9E=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/dataset/add/AddDB.vue | 2 +- frontend/src/views/dataset/add/AddSQL.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/views/dataset/add/AddDB.vue b/frontend/src/views/dataset/add/AddDB.vue index 0229c1e0d3..6cd152f51c 100644 --- a/frontend/src/views/dataset/add/AddDB.vue +++ b/frontend/src/views/dataset/add/AddDB.vue @@ -29,7 +29,7 @@ - + diff --git a/frontend/src/views/dataset/add/AddSQL.vue b/frontend/src/views/dataset/add/AddSQL.vue index 32db00b933..18ad79c08f 100644 --- a/frontend/src/views/dataset/add/AddSQL.vue +++ b/frontend/src/views/dataset/add/AddSQL.vue @@ -33,7 +33,7 @@ - + From a50f6ad0d426c3f4b9306c3b757c24d93dde7320 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 1 Nov 2021 18:42:00 +0800 Subject: [PATCH 3/6] =?UTF-8?q?fix:=20=E6=97=B6=E9=97=B4=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/canvas/components/Editor/DateFormat.vue | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/frontend/src/components/canvas/components/Editor/DateFormat.vue b/frontend/src/components/canvas/components/Editor/DateFormat.vue index e7c3be67b9..cbf7b2f4ef 100644 --- a/frontend/src/components/canvas/components/Editor/DateFormat.vue +++ b/frontend/src/components/canvas/components/Editor/DateFormat.vue @@ -14,6 +14,7 @@ v-model="formatInfo.openMode" :placeholder="$t('deshowdate.select_openMode')" style="width: 100%;" + @change="modelChange" > Date: Mon, 1 Nov 2021 18:42:33 +0800 Subject: [PATCH 4/6] =?UTF-8?q?fix:=20=E5=9F=BA=E7=A1=80=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/lang/en.js | 2 ++ frontend/src/lang/tw.js | 2 ++ frontend/src/lang/zh.js | 2 +- frontend/src/views/system/SysParam/BasicSetting.vue | 10 +++++----- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index 9ef01755b2..8682b36dcc 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -611,6 +611,8 @@ export default { msg_time_out: 'Message retention time(unit: day)', empty_front: 'If empty then default value is 10s', empty_msg: 'If empty then default value is 30 days', + front_error: 'Valid ranger [0 - 100]', + msg_error: 'Valid ranger [1 - 365]', SMTP_port: 'SMTP Port', SMTP_account: 'SMTP Account', SMTP_password: 'SMTP Password', diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index af2479d535..47cca6524e 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -613,6 +613,8 @@ export default { msg_time_out: '消息保留時間(單位:天)', empty_front: '為空則默認取值10秒', empty_msg: '為空則默認取值30天', + front_error: '請填寫0-100正整數', + msg_error: '請填寫1-365正整數', SMTP_port: 'SMTP端口', SMTP_account: 'SMTP賬戶', SMTP_password: 'SMTP密碼', diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index 4c2207422d..e0d5a42d6a 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -617,7 +617,7 @@ export default { empty_front: '为空则默认取10秒', empty_msg: '为空则默认取30天', front_error: '请填写0-100正整数', - msg_error: '请填写正整数', + msg_error: '请填写1-365正整数', SMTP_port: 'SMTP端口', SMTP_account: 'SMTP账户', SMTP_password: 'SMTP密码', diff --git a/frontend/src/views/system/SysParam/BasicSetting.vue b/frontend/src/views/system/SysParam/BasicSetting.vue index b71c23e7cc..f29e560d02 100644 --- a/frontend/src/views/system/SysParam/BasicSetting.vue +++ b/frontend/src/views/system/SysParam/BasicSetting.vue @@ -70,7 +70,7 @@ export default { ], msgTimeOut: [ { - pattern: '^[0-9]*$', + pattern: '^([1-9]|[1-9]\\d|365)$', message: this.$t('system_parameter_setting.msg_error'), trigger: 'blur' } @@ -101,10 +101,6 @@ export default { this.show = false }, save(formInline) { - this.showEdit = true - this.showCancel = false - this.showSave = false - this.show = true const param = [ { paramKey: 'basic.frontTimeOut', paramValue: this.formInline.frontTimeOut, type: 'text', sort: 1 }, { paramKey: 'basic.msgTimeOut', paramValue: this.formInline.msgTimeOut, type: 'text', sort: 2 } @@ -117,6 +113,10 @@ export default { const flag = response.success if (flag) { this.$success(this.$t('commons.save_success')) + this.showEdit = true + this.showCancel = false + this.showSave = false + this.show = true window.location.reload() } else { this.$message.error(this.$t('commons.save_failed')) From 8935dd2e07307681c83c0e72ed7ef79bafd1ce15 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 1 Nov 2021 18:45:43 +0800 Subject: [PATCH 5/6] =?UTF-8?q?refactor:=20=E8=A7=84=E8=8C=83=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constants/DatasourceTypes.java | 2 +- .../commons/utils/ExcelXlsReader.java | 2 +- .../commons/utils/ExcelXlsxReader.java | 2 +- .../dataset/DataSetTableController.java | 2 +- .../datasource}/DatasourceController.java | 6 +- .../request/dataset/DataSetTableRequest.java | 2 +- .../datasource}/DatasourceRequest.java | 2 +- .../request/datasource}/es/EsReponse.java | 2 +- .../request/datasource}/es/Requst.java | 2 +- .../datasource}/es/RequstWithCursor.java | 2 +- .../dataease/dto/dataset/ExcelSheetData.java | 2 +- .../datasource}/CHConfiguration.java | 2 +- .../dto => dto/datasource}/DBTableDTO.java | 2 +- .../datasource}/DorisConfiguration.java | 2 +- .../datasource}/EsConfiguration.java | 2 +- .../datasource}/JdbcConfiguration.java | 2 +- .../datasource}/MongodbConfiguration.java | 2 +- .../dto/datasource/MysqlConfigration.java | 19 +++ .../datasource}/MysqlConfiguration.java | 2 +- .../datasource}/OracleConfiguration.java | 2 +- .../datasource}/PgConfiguration.java | 2 +- .../datasource}/RedshiftConfigration.java | 2 +- .../datasource}/SqlServerConfiguration.java | 2 +- .../dto => dto/datasource}/TableFiled.java | 2 +- .../dataease/dto/panel/PanelViewTableDTO.java | 4 - .../io/dataease/job/sechedule/Schedular.java | 2 +- .../listener/DataSourceInitStartListener.java | 2 +- .../provider/ProviderFactory.java | 9 +- .../datasource}/DatasourceProvider.java | 7 +- .../datasource}/EsProvider.java | 15 +-- .../datasource}/ExtendedJdbcClassLoader.java | 2 +- .../datasource}/JdbcProvider.java | 11 +- .../provider/{ => query}/DDLProvider.java | 2 +- .../provider/{ => query}/QueryProvider.java | 6 +- .../provider/{ => query}/SQLConstants.java | 2 +- .../provider/{ => query}/ck/CKConstants.java | 6 +- .../{ => query}/ck/CKQueryProvider.java | 8 +- .../{ => query}/doris/DorisConstants.java | 6 +- .../{ => query}/doris/DorisDDLProvider.java | 4 +- .../{ => query}/doris/DorisQueryProvider.java | 9 +- .../{ => query}/es/EsQueryProvider.java | 119 ++++++++++++++---- .../{ => query}/es/EsSqlLConstants.java | 6 +- .../{ => query}/mongodb/MongoConstants.java | 8 +- .../mongodb/MongoQueryProvider.java | 9 +- .../{ => query}/mysql/MySQLConstants.java | 6 +- .../{ => query}/mysql/MysqlQueryProvider.java | 9 +- .../{ => query}/oracle/OracleConstants.java | 6 +- .../oracle/OracleQueryProvider.java | 12 +- .../provider/{ => query}/pg/PgConstants.java | 6 +- .../{ => query}/pg/PgQueryProvider.java | 12 +- .../redshift/RedshiftConstants.java | 6 +- .../redshift/RedshiftQueryProvider.java | 14 +-- .../sqlserver/SqlServerSQLConstants.java | 6 +- .../sqlserver/SqlserverQueryProvider.java | 10 +- .../service/chart/ChartViewService.java | 10 +- .../service/dataset/DataSetTableService.java | 16 +-- .../dataset/DatasetFunctionService.java | 3 +- .../service/dataset/ExtractDataService.java | 16 +-- .../impl/direct/DirectFieldService.java | 10 +- .../datasource}/DatasourceService.java | 12 +- 60 files changed, 269 insertions(+), 191 deletions(-) rename backend/src/main/java/io/dataease/{datasource => commons}/constants/DatasourceTypes.java (98%) rename backend/src/main/java/io/dataease/{datasource/controller => controller/datasource}/DatasourceController.java (95%) rename backend/src/main/java/io/dataease/{datasource/request => controller/request/datasource}/DatasourceRequest.java (89%) rename backend/src/main/java/io/dataease/{datasource/dto => controller/request/datasource}/es/EsReponse.java (90%) rename backend/src/main/java/io/dataease/{datasource/dto => controller/request/datasource}/es/Requst.java (68%) rename backend/src/main/java/io/dataease/{datasource/dto => controller/request/datasource}/es/RequstWithCursor.java (65%) rename backend/src/main/java/io/dataease/{datasource/dto => dto/datasource}/CHConfiguration.java (96%) rename backend/src/main/java/io/dataease/{datasource/dto => dto/datasource}/DBTableDTO.java (92%) rename backend/src/main/java/io/dataease/{datasource/dto => dto/datasource}/DorisConfiguration.java (81%) rename backend/src/main/java/io/dataease/{datasource/dto => dto/datasource}/EsConfiguration.java (88%) rename backend/src/main/java/io/dataease/{datasource/dto => dto/datasource}/JdbcConfiguration.java (91%) rename backend/src/main/java/io/dataease/{datasource/dto => dto/datasource}/MongodbConfiguration.java (93%) create mode 100644 backend/src/main/java/io/dataease/dto/datasource/MysqlConfigration.java rename backend/src/main/java/io/dataease/{datasource/dto => dto/datasource}/MysqlConfiguration.java (96%) rename backend/src/main/java/io/dataease/{datasource/dto => dto/datasource}/OracleConfiguration.java (96%) rename backend/src/main/java/io/dataease/{datasource/dto => dto/datasource}/PgConfiguration.java (96%) rename backend/src/main/java/io/dataease/{datasource/dto => dto/datasource}/RedshiftConfigration.java (93%) rename backend/src/main/java/io/dataease/{datasource/dto => dto/datasource}/SqlServerConfiguration.java (96%) rename backend/src/main/java/io/dataease/{datasource/dto => dto/datasource}/TableFiled.java (91%) rename backend/src/main/java/io/dataease/{datasource => }/provider/ProviderFactory.java (91%) rename backend/src/main/java/io/dataease/{datasource/provider => provider/datasource}/DatasourceProvider.java (86%) rename backend/src/main/java/io/dataease/{datasource/provider => provider/datasource}/EsProvider.java (96%) rename backend/src/main/java/io/dataease/{datasource/provider => provider/datasource}/ExtendedJdbcClassLoader.java (98%) rename backend/src/main/java/io/dataease/{datasource/provider => provider/datasource}/JdbcProvider.java (98%) rename backend/src/main/java/io/dataease/provider/{ => query}/DDLProvider.java (88%) rename backend/src/main/java/io/dataease/provider/{ => query}/QueryProvider.java (97%) rename backend/src/main/java/io/dataease/provider/{ => query}/SQLConstants.java (96%) rename backend/src/main/java/io/dataease/provider/{ => query}/ck/CKConstants.java (88%) rename backend/src/main/java/io/dataease/provider/{ => query}/ck/CKQueryProvider.java (99%) rename backend/src/main/java/io/dataease/provider/{ => query}/doris/DorisConstants.java (89%) rename backend/src/main/java/io/dataease/provider/{ => query}/doris/DorisDDLProvider.java (86%) rename backend/src/main/java/io/dataease/provider/{ => query}/doris/DorisQueryProvider.java (99%) rename backend/src/main/java/io/dataease/provider/{ => query}/es/EsQueryProvider.java (90%) rename backend/src/main/java/io/dataease/provider/{ => query}/es/EsSqlLConstants.java (87%) rename backend/src/main/java/io/dataease/provider/{ => query}/mongodb/MongoConstants.java (83%) rename backend/src/main/java/io/dataease/provider/{ => query}/mongodb/MongoQueryProvider.java (99%) rename backend/src/main/java/io/dataease/provider/{ => query}/mysql/MySQLConstants.java (88%) rename backend/src/main/java/io/dataease/provider/{ => query}/mysql/MysqlQueryProvider.java (99%) rename backend/src/main/java/io/dataease/provider/{ => query}/oracle/OracleConstants.java (91%) rename backend/src/main/java/io/dataease/provider/{ => query}/oracle/OracleQueryProvider.java (99%) rename backend/src/main/java/io/dataease/provider/{ => query}/pg/PgConstants.java (89%) rename backend/src/main/java/io/dataease/provider/{ => query}/pg/PgQueryProvider.java (99%) rename backend/src/main/java/io/dataease/provider/{ => query}/redshift/RedshiftConstants.java (89%) rename backend/src/main/java/io/dataease/provider/{ => query}/redshift/RedshiftQueryProvider.java (99%) rename backend/src/main/java/io/dataease/provider/{ => query}/sqlserver/SqlServerSQLConstants.java (89%) rename backend/src/main/java/io/dataease/provider/{ => query}/sqlserver/SqlserverQueryProvider.java (99%) rename backend/src/main/java/io/dataease/{datasource/service => service/datasource}/DatasourceService.java (97%) diff --git a/backend/src/main/java/io/dataease/datasource/constants/DatasourceTypes.java b/backend/src/main/java/io/dataease/commons/constants/DatasourceTypes.java similarity index 98% rename from backend/src/main/java/io/dataease/datasource/constants/DatasourceTypes.java rename to backend/src/main/java/io/dataease/commons/constants/DatasourceTypes.java index fb4ade0982..7de1c4c638 100644 --- a/backend/src/main/java/io/dataease/datasource/constants/DatasourceTypes.java +++ b/backend/src/main/java/io/dataease/commons/constants/DatasourceTypes.java @@ -1,4 +1,4 @@ -package io.dataease.datasource.constants; +package io.dataease.commons.constants; public enum DatasourceTypes { excel("excel", "excel", "", "", "", "", ""), diff --git a/backend/src/main/java/io/dataease/commons/utils/ExcelXlsReader.java b/backend/src/main/java/io/dataease/commons/utils/ExcelXlsReader.java index e8c60275d4..0b16ec2d9f 100644 --- a/backend/src/main/java/io/dataease/commons/utils/ExcelXlsReader.java +++ b/backend/src/main/java/io/dataease/commons/utils/ExcelXlsReader.java @@ -1,6 +1,6 @@ package io.dataease.commons.utils; -import io.dataease.datasource.dto.TableFiled; +import io.dataease.dto.datasource.TableFiled; import io.dataease.dto.dataset.ExcelSheetData; import io.dataease.i18n.Translator; import org.apache.poi.hssf.eventusermodel.*; diff --git a/backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java b/backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java index e76bb57216..e989d795c4 100644 --- a/backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java +++ b/backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java @@ -1,5 +1,5 @@ package io.dataease.commons.utils; -import io.dataease.datasource.dto.TableFiled; +import io.dataease.dto.datasource.TableFiled; import io.dataease.dto.dataset.ExcelSheetData; import io.dataease.i18n.Translator; import org.apache.commons.collections4.CollectionUtils; diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java index be0d595749..58add3eb9d 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java @@ -6,7 +6,7 @@ import io.dataease.base.domain.DatasetTableField; import io.dataease.base.domain.DatasetTableIncrementalConfig; import io.dataease.controller.request.dataset.DataSetTableRequest; import io.dataease.controller.response.DataSetDetail; -import io.dataease.datasource.dto.TableFiled; +import io.dataease.dto.datasource.TableFiled; import io.dataease.dto.dataset.DataSetTableDTO; import io.dataease.dto.dataset.ExcelFileData; import io.dataease.service.dataset.DataSetTableService; diff --git a/backend/src/main/java/io/dataease/datasource/controller/DatasourceController.java b/backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java similarity index 95% rename from backend/src/main/java/io/dataease/datasource/controller/DatasourceController.java rename to backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java index 6836c86526..377265cb30 100644 --- a/backend/src/main/java/io/dataease/datasource/controller/DatasourceController.java +++ b/backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java @@ -1,4 +1,4 @@ -package io.dataease.datasource.controller; +package io.dataease.controller.datasource; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; @@ -10,8 +10,8 @@ import io.dataease.commons.utils.Pager; import io.dataease.controller.ResultHolder; import io.dataease.controller.request.DatasourceUnionRequest; import io.dataease.controller.sys.base.BaseGridRequest; -import io.dataease.datasource.dto.DBTableDTO; -import io.dataease.datasource.service.DatasourceService; +import io.dataease.dto.datasource.DBTableDTO; +import io.dataease.service.datasource.DatasourceService; import io.dataease.dto.DatasourceDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/backend/src/main/java/io/dataease/controller/request/dataset/DataSetTableRequest.java b/backend/src/main/java/io/dataease/controller/request/dataset/DataSetTableRequest.java index c2a774ff0b..85fae8e129 100644 --- a/backend/src/main/java/io/dataease/controller/request/dataset/DataSetTableRequest.java +++ b/backend/src/main/java/io/dataease/controller/request/dataset/DataSetTableRequest.java @@ -1,7 +1,7 @@ package io.dataease.controller.request.dataset; import io.dataease.base.domain.DatasetTable; -import io.dataease.datasource.dto.TableFiled; +import io.dataease.dto.datasource.TableFiled; import io.dataease.dto.dataset.ExcelSheetData; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; diff --git a/backend/src/main/java/io/dataease/datasource/request/DatasourceRequest.java b/backend/src/main/java/io/dataease/controller/request/datasource/DatasourceRequest.java similarity index 89% rename from backend/src/main/java/io/dataease/datasource/request/DatasourceRequest.java rename to backend/src/main/java/io/dataease/controller/request/datasource/DatasourceRequest.java index ebf237e3fd..c9946341c5 100644 --- a/backend/src/main/java/io/dataease/datasource/request/DatasourceRequest.java +++ b/backend/src/main/java/io/dataease/controller/request/datasource/DatasourceRequest.java @@ -1,4 +1,4 @@ -package io.dataease.datasource.request; +package io.dataease.controller.request.datasource; import io.dataease.base.domain.Datasource; import lombok.Getter; diff --git a/backend/src/main/java/io/dataease/datasource/dto/es/EsReponse.java b/backend/src/main/java/io/dataease/controller/request/datasource/es/EsReponse.java similarity index 90% rename from backend/src/main/java/io/dataease/datasource/dto/es/EsReponse.java rename to backend/src/main/java/io/dataease/controller/request/datasource/es/EsReponse.java index d40f214d53..f185e9bf19 100644 --- a/backend/src/main/java/io/dataease/datasource/dto/es/EsReponse.java +++ b/backend/src/main/java/io/dataease/controller/request/datasource/es/EsReponse.java @@ -1,4 +1,4 @@ -package io.dataease.datasource.dto.es; +package io.dataease.controller.request.datasource.es; import lombok.Data; diff --git a/backend/src/main/java/io/dataease/datasource/dto/es/Requst.java b/backend/src/main/java/io/dataease/controller/request/datasource/es/Requst.java similarity index 68% rename from backend/src/main/java/io/dataease/datasource/dto/es/Requst.java rename to backend/src/main/java/io/dataease/controller/request/datasource/es/Requst.java index 1e0bb8a608..f63cdc53b8 100644 --- a/backend/src/main/java/io/dataease/datasource/dto/es/Requst.java +++ b/backend/src/main/java/io/dataease/controller/request/datasource/es/Requst.java @@ -1,4 +1,4 @@ -package io.dataease.datasource.dto.es; +package io.dataease.controller.request.datasource.es; import lombok.Data; diff --git a/backend/src/main/java/io/dataease/datasource/dto/es/RequstWithCursor.java b/backend/src/main/java/io/dataease/controller/request/datasource/es/RequstWithCursor.java similarity index 65% rename from backend/src/main/java/io/dataease/datasource/dto/es/RequstWithCursor.java rename to backend/src/main/java/io/dataease/controller/request/datasource/es/RequstWithCursor.java index cb79c3460e..eebd503d5d 100644 --- a/backend/src/main/java/io/dataease/datasource/dto/es/RequstWithCursor.java +++ b/backend/src/main/java/io/dataease/controller/request/datasource/es/RequstWithCursor.java @@ -1,4 +1,4 @@ -package io.dataease.datasource.dto.es; +package io.dataease.controller.request.datasource.es; import lombok.Data; diff --git a/backend/src/main/java/io/dataease/dto/dataset/ExcelSheetData.java b/backend/src/main/java/io/dataease/dto/dataset/ExcelSheetData.java index c1632b342f..27356e2d93 100644 --- a/backend/src/main/java/io/dataease/dto/dataset/ExcelSheetData.java +++ b/backend/src/main/java/io/dataease/dto/dataset/ExcelSheetData.java @@ -1,6 +1,6 @@ package io.dataease.dto.dataset; -import io.dataease.datasource.dto.TableFiled; +import io.dataease.dto.datasource.TableFiled; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/backend/src/main/java/io/dataease/datasource/dto/CHConfiguration.java b/backend/src/main/java/io/dataease/dto/datasource/CHConfiguration.java similarity index 96% rename from backend/src/main/java/io/dataease/datasource/dto/CHConfiguration.java rename to backend/src/main/java/io/dataease/dto/datasource/CHConfiguration.java index a6a1a31f2f..8134a397bb 100644 --- a/backend/src/main/java/io/dataease/datasource/dto/CHConfiguration.java +++ b/backend/src/main/java/io/dataease/dto/datasource/CHConfiguration.java @@ -1,4 +1,4 @@ -package io.dataease.datasource.dto; +package io.dataease.dto.datasource; import lombok.Getter; import lombok.Setter; diff --git a/backend/src/main/java/io/dataease/datasource/dto/DBTableDTO.java b/backend/src/main/java/io/dataease/dto/datasource/DBTableDTO.java similarity index 92% rename from backend/src/main/java/io/dataease/datasource/dto/DBTableDTO.java rename to backend/src/main/java/io/dataease/dto/datasource/DBTableDTO.java index 4dd41af776..3c42edf228 100644 --- a/backend/src/main/java/io/dataease/datasource/dto/DBTableDTO.java +++ b/backend/src/main/java/io/dataease/dto/datasource/DBTableDTO.java @@ -1,4 +1,4 @@ -package io.dataease.datasource.dto; +package io.dataease.dto.datasource; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; diff --git a/backend/src/main/java/io/dataease/datasource/dto/DorisConfiguration.java b/backend/src/main/java/io/dataease/dto/datasource/DorisConfiguration.java similarity index 81% rename from backend/src/main/java/io/dataease/datasource/dto/DorisConfiguration.java rename to backend/src/main/java/io/dataease/dto/datasource/DorisConfiguration.java index 50dee1d7e4..18f3f41806 100644 --- a/backend/src/main/java/io/dataease/datasource/dto/DorisConfiguration.java +++ b/backend/src/main/java/io/dataease/dto/datasource/DorisConfiguration.java @@ -1,4 +1,4 @@ -package io.dataease.datasource.dto; +package io.dataease.dto.datasource; import lombok.Getter; import lombok.Setter; diff --git a/backend/src/main/java/io/dataease/datasource/dto/EsConfiguration.java b/backend/src/main/java/io/dataease/dto/datasource/EsConfiguration.java similarity index 88% rename from backend/src/main/java/io/dataease/datasource/dto/EsConfiguration.java rename to backend/src/main/java/io/dataease/dto/datasource/EsConfiguration.java index f9e9ee5f1c..c5fdb61d2f 100644 --- a/backend/src/main/java/io/dataease/datasource/dto/EsConfiguration.java +++ b/backend/src/main/java/io/dataease/dto/datasource/EsConfiguration.java @@ -1,4 +1,4 @@ -package io.dataease.datasource.dto; +package io.dataease.dto.datasource; import lombok.Getter; diff --git a/backend/src/main/java/io/dataease/datasource/dto/JdbcConfiguration.java b/backend/src/main/java/io/dataease/dto/datasource/JdbcConfiguration.java similarity index 91% rename from backend/src/main/java/io/dataease/datasource/dto/JdbcConfiguration.java rename to backend/src/main/java/io/dataease/dto/datasource/JdbcConfiguration.java index bb178bacfe..2c8f3f5138 100644 --- a/backend/src/main/java/io/dataease/datasource/dto/JdbcConfiguration.java +++ b/backend/src/main/java/io/dataease/dto/datasource/JdbcConfiguration.java @@ -1,4 +1,4 @@ -package io.dataease.datasource.dto; +package io.dataease.dto.datasource; import lombok.Getter; diff --git a/backend/src/main/java/io/dataease/datasource/dto/MongodbConfiguration.java b/backend/src/main/java/io/dataease/dto/datasource/MongodbConfiguration.java similarity index 93% rename from backend/src/main/java/io/dataease/datasource/dto/MongodbConfiguration.java rename to backend/src/main/java/io/dataease/dto/datasource/MongodbConfiguration.java index cf7ffae616..11efcf2944 100644 --- a/backend/src/main/java/io/dataease/datasource/dto/MongodbConfiguration.java +++ b/backend/src/main/java/io/dataease/dto/datasource/MongodbConfiguration.java @@ -1,4 +1,4 @@ -package io.dataease.datasource.dto; +package io.dataease.dto.datasource; import lombok.Getter; import lombok.Setter; diff --git a/backend/src/main/java/io/dataease/dto/datasource/MysqlConfigration.java b/backend/src/main/java/io/dataease/dto/datasource/MysqlConfigration.java new file mode 100644 index 0000000000..4c4da879ee --- /dev/null +++ b/backend/src/main/java/io/dataease/dto/datasource/MysqlConfigration.java @@ -0,0 +1,19 @@ +package io.dataease.dto.datasource; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class MysqlConfigration extends JdbcConfiguration { + + private String driver = "com.mysql.cj.jdbc.Driver"; + + public String getJdbc() { + // 连接参数先写死,后边要把编码、时区等参数放到数据源的设置中 + return "jdbc:mysql://HOSTNAME:PORT/DATABASE?characterEncoding=UTF-8&connectTimeout=5000&useSSL=false" + .replace("HOSTNAME", getHost().trim()) + .replace("PORT", getPort().toString().trim()) + .replace("DATABASE", getDataBase().trim()); + } +} \ No newline at end of file diff --git a/backend/src/main/java/io/dataease/datasource/dto/MysqlConfiguration.java b/backend/src/main/java/io/dataease/dto/datasource/MysqlConfiguration.java similarity index 96% rename from backend/src/main/java/io/dataease/datasource/dto/MysqlConfiguration.java rename to backend/src/main/java/io/dataease/dto/datasource/MysqlConfiguration.java index fdc7357de5..b44f3a0aa3 100644 --- a/backend/src/main/java/io/dataease/datasource/dto/MysqlConfiguration.java +++ b/backend/src/main/java/io/dataease/dto/datasource/MysqlConfiguration.java @@ -1,4 +1,4 @@ -package io.dataease.datasource.dto; +package io.dataease.dto.datasource; import lombok.Getter; import lombok.Setter; diff --git a/backend/src/main/java/io/dataease/datasource/dto/OracleConfiguration.java b/backend/src/main/java/io/dataease/dto/datasource/OracleConfiguration.java similarity index 96% rename from backend/src/main/java/io/dataease/datasource/dto/OracleConfiguration.java rename to backend/src/main/java/io/dataease/dto/datasource/OracleConfiguration.java index f73806b888..dc188b773f 100644 --- a/backend/src/main/java/io/dataease/datasource/dto/OracleConfiguration.java +++ b/backend/src/main/java/io/dataease/dto/datasource/OracleConfiguration.java @@ -1,4 +1,4 @@ -package io.dataease.datasource.dto; +package io.dataease.dto.datasource; import lombok.Getter; import lombok.Setter; diff --git a/backend/src/main/java/io/dataease/datasource/dto/PgConfiguration.java b/backend/src/main/java/io/dataease/dto/datasource/PgConfiguration.java similarity index 96% rename from backend/src/main/java/io/dataease/datasource/dto/PgConfiguration.java rename to backend/src/main/java/io/dataease/dto/datasource/PgConfiguration.java index fa4393285d..6b19ade64b 100644 --- a/backend/src/main/java/io/dataease/datasource/dto/PgConfiguration.java +++ b/backend/src/main/java/io/dataease/dto/datasource/PgConfiguration.java @@ -1,4 +1,4 @@ -package io.dataease.datasource.dto; +package io.dataease.dto.datasource; import lombok.Getter; import lombok.Setter; diff --git a/backend/src/main/java/io/dataease/datasource/dto/RedshiftConfigration.java b/backend/src/main/java/io/dataease/dto/datasource/RedshiftConfigration.java similarity index 93% rename from backend/src/main/java/io/dataease/datasource/dto/RedshiftConfigration.java rename to backend/src/main/java/io/dataease/dto/datasource/RedshiftConfigration.java index 9751944c7b..ba4f3e1137 100644 --- a/backend/src/main/java/io/dataease/datasource/dto/RedshiftConfigration.java +++ b/backend/src/main/java/io/dataease/dto/datasource/RedshiftConfigration.java @@ -1,4 +1,4 @@ -package io.dataease.datasource.dto; +package io.dataease.dto.datasource; import lombok.Getter; import lombok.Setter; diff --git a/backend/src/main/java/io/dataease/datasource/dto/SqlServerConfiguration.java b/backend/src/main/java/io/dataease/dto/datasource/SqlServerConfiguration.java similarity index 96% rename from backend/src/main/java/io/dataease/datasource/dto/SqlServerConfiguration.java rename to backend/src/main/java/io/dataease/dto/datasource/SqlServerConfiguration.java index c8e1fe7436..15127dff4f 100644 --- a/backend/src/main/java/io/dataease/datasource/dto/SqlServerConfiguration.java +++ b/backend/src/main/java/io/dataease/dto/datasource/SqlServerConfiguration.java @@ -1,4 +1,4 @@ -package io.dataease.datasource.dto; +package io.dataease.dto.datasource; import lombok.Getter; import lombok.Setter; diff --git a/backend/src/main/java/io/dataease/datasource/dto/TableFiled.java b/backend/src/main/java/io/dataease/dto/datasource/TableFiled.java similarity index 91% rename from backend/src/main/java/io/dataease/datasource/dto/TableFiled.java rename to backend/src/main/java/io/dataease/dto/datasource/TableFiled.java index 6ca38dd059..2c2024be1e 100644 --- a/backend/src/main/java/io/dataease/datasource/dto/TableFiled.java +++ b/backend/src/main/java/io/dataease/dto/datasource/TableFiled.java @@ -1,4 +1,4 @@ -package io.dataease.datasource.dto; +package io.dataease.dto.datasource; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; diff --git a/backend/src/main/java/io/dataease/dto/panel/PanelViewTableDTO.java b/backend/src/main/java/io/dataease/dto/panel/PanelViewTableDTO.java index 51f4bb6621..1d86a7a9ad 100644 --- a/backend/src/main/java/io/dataease/dto/panel/PanelViewTableDTO.java +++ b/backend/src/main/java/io/dataease/dto/panel/PanelViewTableDTO.java @@ -2,10 +2,6 @@ package io.dataease.dto.panel; import io.dataease.base.domain.ChartViewWithBLOBs; import io.dataease.base.domain.DatasetTableField; -import io.dataease.base.domain.PanelGroupWithBLOBs; -import io.dataease.commons.model.ITreeBase; -import io.dataease.datasource.dto.TableFiled; -import io.dataease.dto.chart.ChartViewDTO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/backend/src/main/java/io/dataease/job/sechedule/Schedular.java b/backend/src/main/java/io/dataease/job/sechedule/Schedular.java index 9d4319faac..87c0d4c3b6 100644 --- a/backend/src/main/java/io/dataease/job/sechedule/Schedular.java +++ b/backend/src/main/java/io/dataease/job/sechedule/Schedular.java @@ -1,7 +1,7 @@ package io.dataease.job.sechedule; import com.fit2cloud.quartz.anno.QuartzScheduled; -import io.dataease.datasource.service.DatasourceService; +import io.dataease.service.datasource.DatasourceService; import io.dataease.service.dataset.DataSetTableService; import org.springframework.stereotype.Component; diff --git a/backend/src/main/java/io/dataease/listener/DataSourceInitStartListener.java b/backend/src/main/java/io/dataease/listener/DataSourceInitStartListener.java index a33ed18388..543f9f5bc7 100644 --- a/backend/src/main/java/io/dataease/listener/DataSourceInitStartListener.java +++ b/backend/src/main/java/io/dataease/listener/DataSourceInitStartListener.java @@ -1,6 +1,6 @@ package io.dataease.listener; -import io.dataease.datasource.service.DatasourceService; +import io.dataease.service.datasource.DatasourceService; import io.dataease.service.dataset.DataSetTableService; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.ApplicationListener; diff --git a/backend/src/main/java/io/dataease/datasource/provider/ProviderFactory.java b/backend/src/main/java/io/dataease/provider/ProviderFactory.java similarity index 91% rename from backend/src/main/java/io/dataease/datasource/provider/ProviderFactory.java rename to backend/src/main/java/io/dataease/provider/ProviderFactory.java index 6df1c449e8..90e82cda7a 100644 --- a/backend/src/main/java/io/dataease/datasource/provider/ProviderFactory.java +++ b/backend/src/main/java/io/dataease/provider/ProviderFactory.java @@ -1,8 +1,9 @@ -package io.dataease.datasource.provider; +package io.dataease.provider; -import io.dataease.datasource.constants.DatasourceTypes; -import io.dataease.provider.DDLProvider; -import io.dataease.provider.QueryProvider; +import io.dataease.commons.constants.DatasourceTypes; +import io.dataease.provider.datasource.DatasourceProvider; +import io.dataease.provider.query.DDLProvider; +import io.dataease.provider.query.QueryProvider; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; diff --git a/backend/src/main/java/io/dataease/datasource/provider/DatasourceProvider.java b/backend/src/main/java/io/dataease/provider/datasource/DatasourceProvider.java similarity index 86% rename from backend/src/main/java/io/dataease/datasource/provider/DatasourceProvider.java rename to backend/src/main/java/io/dataease/provider/datasource/DatasourceProvider.java index 8e7f6a0087..edc7380136 100644 --- a/backend/src/main/java/io/dataease/datasource/provider/DatasourceProvider.java +++ b/backend/src/main/java/io/dataease/provider/datasource/DatasourceProvider.java @@ -1,9 +1,8 @@ -package io.dataease.datasource.provider; +package io.dataease.provider.datasource; -import io.dataease.datasource.dto.TableFiled; -import io.dataease.datasource.request.DatasourceRequest; +import io.dataease.dto.datasource.TableFiled; +import io.dataease.controller.request.datasource.DatasourceRequest; -import java.util.ArrayList; import java.util.List; import java.util.Map; diff --git a/backend/src/main/java/io/dataease/datasource/provider/EsProvider.java b/backend/src/main/java/io/dataease/provider/datasource/EsProvider.java similarity index 96% rename from backend/src/main/java/io/dataease/datasource/provider/EsProvider.java rename to backend/src/main/java/io/dataease/provider/datasource/EsProvider.java index 324756bea1..4ea43f9115 100644 --- a/backend/src/main/java/io/dataease/datasource/provider/EsProvider.java +++ b/backend/src/main/java/io/dataease/provider/datasource/EsProvider.java @@ -1,17 +1,18 @@ -package io.dataease.datasource.provider; +package io.dataease.provider.datasource; import com.alibaba.fastjson.JSONObject; import com.google.gson.Gson; import io.dataease.commons.utils.HttpClientConfig; import io.dataease.commons.utils.HttpClientUtil; -import io.dataease.datasource.dto.*; -import io.dataease.datasource.dto.es.EsReponse; -import io.dataease.datasource.dto.es.Requst; -import io.dataease.datasource.dto.es.RequstWithCursor; -import io.dataease.datasource.request.DatasourceRequest; +import io.dataease.controller.request.datasource.es.EsReponse; +import io.dataease.controller.request.datasource.es.Requst; +import io.dataease.controller.request.datasource.es.RequstWithCursor; +import io.dataease.controller.request.datasource.DatasourceRequest; +import io.dataease.dto.datasource.EsConfiguration; +import io.dataease.dto.datasource.TableFiled; import io.dataease.exception.DataEaseException; import io.dataease.i18n.Translator; -import io.dataease.provider.es.EsQueryProvider; +import io.dataease.provider.query.es.EsQueryProvider; import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang.StringUtils; import org.apache.http.HttpHeaders; diff --git a/backend/src/main/java/io/dataease/datasource/provider/ExtendedJdbcClassLoader.java b/backend/src/main/java/io/dataease/provider/datasource/ExtendedJdbcClassLoader.java similarity index 98% rename from backend/src/main/java/io/dataease/datasource/provider/ExtendedJdbcClassLoader.java rename to backend/src/main/java/io/dataease/provider/datasource/ExtendedJdbcClassLoader.java index 08892beba6..f10590aa86 100644 --- a/backend/src/main/java/io/dataease/datasource/provider/ExtendedJdbcClassLoader.java +++ b/backend/src/main/java/io/dataease/provider/datasource/ExtendedJdbcClassLoader.java @@ -1,4 +1,4 @@ -package io.dataease.datasource.provider; +package io.dataease.provider.datasource; import java.io.File; diff --git a/backend/src/main/java/io/dataease/datasource/provider/JdbcProvider.java b/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java similarity index 98% rename from backend/src/main/java/io/dataease/datasource/provider/JdbcProvider.java rename to backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java index 48ee70879d..06158dfb93 100644 --- a/backend/src/main/java/io/dataease/datasource/provider/JdbcProvider.java +++ b/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java @@ -1,15 +1,16 @@ -package io.dataease.datasource.provider; +package io.dataease.provider.datasource; import com.alibaba.druid.filter.Filter; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.wall.WallFilter; import com.google.gson.Gson; -import io.dataease.datasource.constants.DatasourceTypes; -import io.dataease.datasource.dto.*; -import io.dataease.datasource.request.DatasourceRequest; +import io.dataease.commons.constants.DatasourceTypes; +import io.dataease.controller.request.datasource.DatasourceRequest; +import io.dataease.dto.datasource.*; import io.dataease.exception.DataEaseException; import io.dataease.i18n.Translator; -import io.dataease.provider.QueryProvider; +import io.dataease.provider.ProviderFactory; +import io.dataease.provider.query.QueryProvider; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; diff --git a/backend/src/main/java/io/dataease/provider/DDLProvider.java b/backend/src/main/java/io/dataease/provider/query/DDLProvider.java similarity index 88% rename from backend/src/main/java/io/dataease/provider/DDLProvider.java rename to backend/src/main/java/io/dataease/provider/query/DDLProvider.java index 0ecc829ab5..ba1e218c1e 100644 --- a/backend/src/main/java/io/dataease/provider/DDLProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/DDLProvider.java @@ -1,4 +1,4 @@ -package io.dataease.provider; +package io.dataease.provider.query; /** * @Author gin diff --git a/backend/src/main/java/io/dataease/provider/QueryProvider.java b/backend/src/main/java/io/dataease/provider/query/QueryProvider.java similarity index 97% rename from backend/src/main/java/io/dataease/provider/QueryProvider.java rename to backend/src/main/java/io/dataease/provider/query/QueryProvider.java index 9224e0d03b..dc818d852e 100644 --- a/backend/src/main/java/io/dataease/provider/QueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/QueryProvider.java @@ -1,15 +1,15 @@ -package io.dataease.provider; +package io.dataease.provider.query; import com.google.gson.Gson; import io.dataease.base.domain.ChartViewWithBLOBs; import io.dataease.base.domain.DatasetTableField; import io.dataease.base.domain.Datasource; import io.dataease.controller.request.chart.ChartExtFilterRequest; -import io.dataease.datasource.dto.JdbcConfiguration; +import io.dataease.dto.datasource.JdbcConfiguration; import io.dataease.dto.chart.ChartCustomFilterDTO; import io.dataease.dto.chart.ChartViewFieldDTO; import io.dataease.dto.sqlObj.SQLObj; -import io.dataease.provider.pg.PgConstants; +import io.dataease.provider.query.pg.PgConstants; import java.util.List; diff --git a/backend/src/main/java/io/dataease/provider/SQLConstants.java b/backend/src/main/java/io/dataease/provider/query/SQLConstants.java similarity index 96% rename from backend/src/main/java/io/dataease/provider/SQLConstants.java rename to backend/src/main/java/io/dataease/provider/query/SQLConstants.java index 76335f84bb..d361d76c7e 100644 --- a/backend/src/main/java/io/dataease/provider/SQLConstants.java +++ b/backend/src/main/java/io/dataease/provider/query/SQLConstants.java @@ -1,4 +1,4 @@ -package io.dataease.provider; +package io.dataease.provider.query; import java.util.ArrayList; import java.util.List; diff --git a/backend/src/main/java/io/dataease/provider/ck/CKConstants.java b/backend/src/main/java/io/dataease/provider/query/ck/CKConstants.java similarity index 88% rename from backend/src/main/java/io/dataease/provider/ck/CKConstants.java rename to backend/src/main/java/io/dataease/provider/query/ck/CKConstants.java index 362477e27c..173849d756 100644 --- a/backend/src/main/java/io/dataease/provider/ck/CKConstants.java +++ b/backend/src/main/java/io/dataease/provider/query/ck/CKConstants.java @@ -1,8 +1,8 @@ -package io.dataease.provider.ck; +package io.dataease.provider.query.ck; -import io.dataease.provider.SQLConstants; +import io.dataease.provider.query.SQLConstants; -import static io.dataease.datasource.constants.DatasourceTypes.ck; +import static io.dataease.commons.constants.DatasourceTypes.ck; /** * @Author gin diff --git a/backend/src/main/java/io/dataease/provider/ck/CKQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/ck/CKQueryProvider.java similarity index 99% rename from backend/src/main/java/io/dataease/provider/ck/CKQueryProvider.java rename to backend/src/main/java/io/dataease/provider/query/ck/CKQueryProvider.java index 752807df74..47f29641ca 100644 --- a/backend/src/main/java/io/dataease/provider/ck/CKQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/ck/CKQueryProvider.java @@ -1,4 +1,4 @@ -package io.dataease.provider.ck; +package io.dataease.provider.query.ck; import io.dataease.base.domain.ChartViewWithBLOBs; import io.dataease.base.domain.DatasetTableField; @@ -10,8 +10,8 @@ import io.dataease.controller.request.chart.ChartExtFilterRequest; import io.dataease.dto.chart.ChartCustomFilterDTO; 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.query.QueryProvider; +import io.dataease.provider.query.SQLConstants; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -27,7 +27,7 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -import static io.dataease.provider.SQLConstants.TABLE_ALIAS_PREFIX; +import static io.dataease.provider.query.SQLConstants.TABLE_ALIAS_PREFIX; /** * @Author gin diff --git a/backend/src/main/java/io/dataease/provider/doris/DorisConstants.java b/backend/src/main/java/io/dataease/provider/query/doris/DorisConstants.java similarity index 89% rename from backend/src/main/java/io/dataease/provider/doris/DorisConstants.java rename to backend/src/main/java/io/dataease/provider/query/doris/DorisConstants.java index 3d16460af7..fec288dee2 100644 --- a/backend/src/main/java/io/dataease/provider/doris/DorisConstants.java +++ b/backend/src/main/java/io/dataease/provider/query/doris/DorisConstants.java @@ -1,8 +1,8 @@ -package io.dataease.provider.doris; +package io.dataease.provider.query.doris; -import io.dataease.provider.SQLConstants; +import io.dataease.provider.query.SQLConstants; -import static io.dataease.datasource.constants.DatasourceTypes.de_doris; +import static io.dataease.commons.constants.DatasourceTypes.de_doris; /** * @Author gin diff --git a/backend/src/main/java/io/dataease/provider/doris/DorisDDLProvider.java b/backend/src/main/java/io/dataease/provider/query/doris/DorisDDLProvider.java similarity index 86% rename from backend/src/main/java/io/dataease/provider/doris/DorisDDLProvider.java rename to backend/src/main/java/io/dataease/provider/query/doris/DorisDDLProvider.java index b86dca6eca..cfa3f420a7 100644 --- a/backend/src/main/java/io/dataease/provider/doris/DorisDDLProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/doris/DorisDDLProvider.java @@ -1,6 +1,6 @@ -package io.dataease.provider.doris; +package io.dataease.provider.query.doris; -import io.dataease.provider.DDLProvider; +import io.dataease.provider.query.DDLProvider; import org.springframework.stereotype.Service; /** diff --git a/backend/src/main/java/io/dataease/provider/doris/DorisQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/doris/DorisQueryProvider.java similarity index 99% rename from backend/src/main/java/io/dataease/provider/doris/DorisQueryProvider.java rename to backend/src/main/java/io/dataease/provider/query/doris/DorisQueryProvider.java index 77fe502e33..60a5f8157c 100644 --- a/backend/src/main/java/io/dataease/provider/doris/DorisQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/doris/DorisQueryProvider.java @@ -1,4 +1,4 @@ -package io.dataease.provider.doris; +package io.dataease.provider.query.doris; import io.dataease.base.domain.ChartViewWithBLOBs; import io.dataease.base.domain.DatasetTableField; @@ -9,9 +9,8 @@ import io.dataease.controller.request.chart.ChartExtFilterRequest; import io.dataease.dto.chart.ChartCustomFilterDTO; 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.ck.CKConstants; +import io.dataease.provider.query.QueryProvider; +import io.dataease.provider.query.SQLConstants; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -27,7 +26,7 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -import static io.dataease.provider.SQLConstants.TABLE_ALIAS_PREFIX; +import static io.dataease.provider.query.SQLConstants.TABLE_ALIAS_PREFIX; /** * @Author gin diff --git a/backend/src/main/java/io/dataease/provider/es/EsQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java similarity index 90% rename from backend/src/main/java/io/dataease/provider/es/EsQueryProvider.java rename to backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java index bc8de7ced2..e9bcdf6d43 100644 --- a/backend/src/main/java/io/dataease/provider/es/EsQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java @@ -1,6 +1,5 @@ -package io.dataease.provider.es; +package io.dataease.provider.query.es; -import io.dataease.base.domain.ChartViewWithBLOBs; import io.dataease.base.domain.DatasetTableField; import io.dataease.base.domain.DatasetTableFieldExample; import io.dataease.base.domain.Datasource; @@ -10,9 +9,8 @@ import io.dataease.controller.request.chart.ChartExtFilterRequest; import io.dataease.dto.chart.ChartCustomFilterDTO; 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.ck.CKConstants; +import io.dataease.provider.query.QueryProvider; +import io.dataease.provider.query.SQLConstants; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -28,7 +26,7 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -import static io.dataease.provider.SQLConstants.TABLE_ALIAS_PREFIX; +import static io.dataease.provider.query.SQLConstants.TABLE_ALIAS_PREFIX; @Service("esQuery") public class EsQueryProvider extends QueryProvider { @@ -199,7 +197,7 @@ public class EsQueryProvider extends QueryProvider { } @Override - public String getSQL(String table, List xAxis, List yAxis, List customFilter, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view) { + public String getSQL(String table, List xAxis, List yAxis, List customFilter, List extFilterRequestList, Datasource ds) { SQLObj tableObj = SQLObj.builder() .tableName((table.startsWith("(") && table.endsWith(")")) ? table : String.format(EsSqlLConstants.KEYWORD_TABLE, table)) .tableAlias(String.format(TABLE_ALIAS_PREFIX, 0)) @@ -301,27 +299,94 @@ public class EsQueryProvider extends QueryProvider { if (CollectionUtils.isNotEmpty(aggWheres)) st.add("filters", aggWheres); if (CollectionUtils.isNotEmpty(orders)) st.add("orders", orders); if (ObjectUtils.isNotEmpty(tableSQL)) st.add("table", tableSQL); - return sqlLimit(st.render(), view); + return st.render(); } @Override - public String getSQLAsTmp(String sql, List xAxis, List yAxis, List customFilter, List extFilterRequestList, ChartViewWithBLOBs view) { - return getSQL("(" + sqlFix(sql) + ")", xAxis, yAxis, customFilter, extFilterRequestList, null, view); + public String getSQLAsTmp(String sql, List xAxis, List yAxis, List customFilter, List extFilterRequestList) { + return getSQL("(" + sqlFix(sql) + ")", xAxis, yAxis, customFilter, extFilterRequestList, null); } @Override - public String getSQLTableInfo(String table, List xAxis, List customFilter, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view) { - return null; + public String getSQLTableInfo(String table, List xAxis, List customFilter, List extFilterRequestList, Datasource ds) { + SQLObj tableObj = SQLObj.builder() + .tableName((table.startsWith("(") && table.endsWith(")")) ? table : String.format(EsSqlLConstants.KEYWORD_TABLE, table)) + .tableAlias(String.format(TABLE_ALIAS_PREFIX, 0)) + .build(); + List xFields = new ArrayList<>(); + List xWheres = new ArrayList<>(); + List xOrders = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(xAxis)) { + for (int i = 0; i < xAxis.size(); i++) { + ChartViewFieldDTO x = xAxis.get(i); + String originField; + if (ObjectUtils.isNotEmpty(x.getExtField()) && x.getExtField() == 2) { + // 解析origin name中有关联的字段生成sql表达式 + originField = calcFieldRegex(x.getOriginName(), tableObj); + } else if (ObjectUtils.isNotEmpty(x.getExtField()) && x.getExtField() == 1) { + originField = String.format(EsSqlLConstants.KEYWORD_FIX, tableObj.getTableAlias(), x.getOriginName()); + } else { + originField = String.format(EsSqlLConstants.KEYWORD_FIX, tableObj.getTableAlias(), x.getOriginName()); + } + String fieldAlias = String.format(SQLConstants.FIELD_ALIAS_X_PREFIX, i); + // 处理横轴字段 + xFields.add(getXFields(x, originField, fieldAlias)); + // 处理横轴过滤 +// xWheres.addAll(getXWheres(x, originField, fieldAlias)); + // 处理横轴排序 + if (StringUtils.isNotEmpty(x.getSort()) && !StringUtils.equalsIgnoreCase(x.getSort(), "none")) { + xOrders.add(SQLObj.builder() + .orderField(originField) + .orderAlias(fieldAlias) + .orderDirection(x.getSort()) + .build()); + } + } + } + // 处理视图中字段过滤 + List customWheres = transCustomFilterList(tableObj, customFilter); + // 处理仪表板字段过滤 + List extWheres = transExtFilterList(tableObj, extFilterRequestList); + // 构建sql所有参数 + List fields = new ArrayList<>(); + fields.addAll(xFields); + List wheres = new ArrayList<>(); + wheres.addAll(xWheres); + if (customWheres != null) wheres.addAll(customWheres); + if (extWheres != null) wheres.addAll(extWheres); + List groups = new ArrayList<>(); + groups.addAll(xFields); + // 外层再次套sql + List orders = new ArrayList<>(); + orders.addAll(xOrders); + + STGroup stg = new STGroupFile(SQLConstants.SQL_TEMPLATE); + ST st_sql = stg.getInstanceOf("previewSql"); + st_sql.add("isGroup", false); + if (CollectionUtils.isNotEmpty(xFields)) st_sql.add("groups", xFields); + if (CollectionUtils.isNotEmpty(wheres)) st_sql.add("filters", wheres); + if (ObjectUtils.isNotEmpty(tableObj)) st_sql.add("table", tableObj); + String sql = st_sql.render(); + + ST st = stg.getInstanceOf("previewSql"); + st.add("isGroup", false); + SQLObj tableSQL = SQLObj.builder() + .tableName(String.format(EsSqlLConstants.BRACKETS, sql)) + .tableAlias(String.format(TABLE_ALIAS_PREFIX, 1)) + .build(); + if (CollectionUtils.isNotEmpty(orders)) st.add("orders", orders); + if (ObjectUtils.isNotEmpty(tableSQL)) st.add("table", tableSQL); + return st.render(); } @Override - public String getSQLAsTmpTableInfo(String sql, List xAxis, List customFilter, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view) { - return null; + public String getSQLAsTmpTableInfo(String sql, List xAxis, List customFilter, List extFilterRequestList, Datasource ds) { + return getSQLTableInfo("(" + sqlFix(sql) + ")", xAxis, customFilter, extFilterRequestList, null); } @Override - public String getSQLStack(String table, List xAxis, List yAxis, List customFilter, List extFilterRequestList, List extStack, Datasource ds, ChartViewWithBLOBs view) { + public String getSQLStack(String table, List xAxis, List yAxis, List customFilter, List extFilterRequestList, List extStack, Datasource ds) { SQLObj tableObj = SQLObj.builder() .tableName((table.startsWith("(") && table.endsWith(")")) ? table : String.format(EsSqlLConstants.KEYWORD_TABLE, table)) .tableAlias(String.format(TABLE_ALIAS_PREFIX, 0)) @@ -426,16 +491,16 @@ public class EsQueryProvider extends QueryProvider { if (CollectionUtils.isNotEmpty(aggWheres)) st.add("filters", aggWheres); if (CollectionUtils.isNotEmpty(orders)) st.add("orders", orders); if (ObjectUtils.isNotEmpty(tableSQL)) st.add("table", tableSQL); - return sqlLimit(st.render(), view); + return st.render(); } @Override - public String getSQLAsTmpStack(String table, List xAxis, List yAxis, List customFilter, List extFilterRequestList, List extStack, ChartViewWithBLOBs view) { - return getSQLStack("(" + sqlFix(table) + ")", xAxis, yAxis, customFilter, extFilterRequestList, extStack, null, view); + public String getSQLAsTmpStack(String table, List xAxis, List yAxis, List customFilter, List extFilterRequestList, List extStack) { + return getSQLStack("(" + sqlFix(table) + ")", xAxis, yAxis, customFilter, extFilterRequestList, extStack, null); } @Override - public String getSQLScatter(String table, List xAxis, List yAxis, List customFilter, List extFilterRequestList, List extBubble, Datasource ds, ChartViewWithBLOBs view) { + public String getSQLScatter(String table, List xAxis, List yAxis, List customFilter, List extFilterRequestList, List extBubble, Datasource ds) { SQLObj tableObj = SQLObj.builder() .tableName((table.startsWith("(") && table.endsWith(")")) ? table : String.format(EsSqlLConstants.KEYWORD_TABLE, table)) .tableAlias(String.format(TABLE_ALIAS_PREFIX, 0)) @@ -540,12 +605,12 @@ public class EsQueryProvider extends QueryProvider { if (CollectionUtils.isNotEmpty(aggWheres)) st.add("filters", aggWheres); if (CollectionUtils.isNotEmpty(orders)) st.add("orders", orders); if (ObjectUtils.isNotEmpty(tableSQL)) st.add("table", tableSQL); - return sqlLimit(st.render(), view); + return st.render(); } @Override - public String getSQLAsTmpScatter(String table, List xAxis, List yAxis, List customFilter, List extFilterRequestList, List extBubble, ChartViewWithBLOBs view) { - return getSQLScatter("(" + sqlFix(table) + ")", xAxis, yAxis, customFilter, extFilterRequestList, extBubble, null, view); + public String getSQLAsTmpScatter(String table, List xAxis, List yAxis, List customFilter, List extFilterRequestList, List extBubble) { + return getSQLScatter("(" + sqlFix(table) + ")", xAxis, yAxis, customFilter, extFilterRequestList, extBubble, null); } @Override @@ -554,7 +619,7 @@ public class EsQueryProvider extends QueryProvider { } @Override - public String getSQLSummary(String table, List yAxis, List customFilter, List extFilterRequestList, ChartViewWithBLOBs view) { + public String getSQLSummary(String table, List yAxis, List customFilter, List extFilterRequestList) { // 字段汇总 排序等 SQLObj tableObj = SQLObj.builder() .tableName((table.startsWith("(") && table.endsWith(")")) ? table : String.format(EsSqlLConstants.KEYWORD_TABLE, table)) @@ -622,12 +687,12 @@ public class EsQueryProvider extends QueryProvider { if (CollectionUtils.isNotEmpty(aggWheres)) st.add("filters", aggWheres); if (CollectionUtils.isNotEmpty(orders)) st.add("orders", orders); if (ObjectUtils.isNotEmpty(tableSQL)) st.add("table", tableSQL); - return sqlLimit(st.render(), view); + return st.render(); } @Override - public String getSQLSummaryAsTmp(String sql, List yAxis, List customFilter, List extFilterRequestList, ChartViewWithBLOBs view) { - return getSQLSummary("(" + sqlFix(sql) + ")", yAxis, customFilter, extFilterRequestList, view); + public String getSQLSummaryAsTmp(String sql, List yAxis, List customFilter, List extFilterRequestList) { + return getSQLSummary("(" + sqlFix(sql) + ")", yAxis, customFilter, extFilterRequestList); } @Override @@ -656,7 +721,7 @@ public class EsQueryProvider extends QueryProvider { } @Override - public String convertTableToSql(String tableName, Datasource ds) { + public String convertTableToSql(String tableName, Datasource ds){ return createSQLPreview("SELECT * FROM " + String.format(EsSqlLConstants.KEYWORD_TABLE, tableName), null); } diff --git a/backend/src/main/java/io/dataease/provider/es/EsSqlLConstants.java b/backend/src/main/java/io/dataease/provider/query/es/EsSqlLConstants.java similarity index 87% rename from backend/src/main/java/io/dataease/provider/es/EsSqlLConstants.java rename to backend/src/main/java/io/dataease/provider/query/es/EsSqlLConstants.java index 042ab0b1a1..2498dc39cb 100644 --- a/backend/src/main/java/io/dataease/provider/es/EsSqlLConstants.java +++ b/backend/src/main/java/io/dataease/provider/query/es/EsSqlLConstants.java @@ -1,8 +1,8 @@ -package io.dataease.provider.es; +package io.dataease.provider.query.es; -import io.dataease.provider.SQLConstants; +import io.dataease.provider.query.SQLConstants; -import static io.dataease.datasource.constants.DatasourceTypes.es; +import static io.dataease.commons.constants.DatasourceTypes.es; /** * @Author gin diff --git a/backend/src/main/java/io/dataease/provider/mongodb/MongoConstants.java b/backend/src/main/java/io/dataease/provider/query/mongodb/MongoConstants.java similarity index 83% rename from backend/src/main/java/io/dataease/provider/mongodb/MongoConstants.java rename to backend/src/main/java/io/dataease/provider/query/mongodb/MongoConstants.java index ecb326b191..4c843c5445 100644 --- a/backend/src/main/java/io/dataease/provider/mongodb/MongoConstants.java +++ b/backend/src/main/java/io/dataease/provider/query/mongodb/MongoConstants.java @@ -1,9 +1,9 @@ -package io.dataease.provider.mongodb; +package io.dataease.provider.query.mongodb; -import io.dataease.provider.SQLConstants; +import io.dataease.provider.query.SQLConstants; -import static io.dataease.datasource.constants.DatasourceTypes.mongo; -import static io.dataease.datasource.constants.DatasourceTypes.oracle; +import static io.dataease.commons.constants.DatasourceTypes.mongo; +import static io.dataease.commons.constants.DatasourceTypes.oracle; /** * @Author gin diff --git a/backend/src/main/java/io/dataease/provider/mongodb/MongoQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/mongodb/MongoQueryProvider.java similarity index 99% rename from backend/src/main/java/io/dataease/provider/mongodb/MongoQueryProvider.java rename to backend/src/main/java/io/dataease/provider/query/mongodb/MongoQueryProvider.java index 1b8a7a608a..6ce769efbe 100644 --- a/backend/src/main/java/io/dataease/provider/mongodb/MongoQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/mongodb/MongoQueryProvider.java @@ -1,4 +1,4 @@ -package io.dataease.provider.mongodb; +package io.dataease.provider.query.mongodb; import io.dataease.base.domain.ChartViewWithBLOBs; import io.dataease.base.domain.DatasetTableField; @@ -10,9 +10,8 @@ import io.dataease.controller.request.chart.ChartExtFilterRequest; import io.dataease.dto.chart.ChartCustomFilterDTO; 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.oracle.OracleConstants; +import io.dataease.provider.query.QueryProvider; +import io.dataease.provider.query.SQLConstants; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -28,7 +27,7 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -import static io.dataease.provider.SQLConstants.TABLE_ALIAS_PREFIX; +import static io.dataease.provider.query.SQLConstants.TABLE_ALIAS_PREFIX; /** * @Author gin diff --git a/backend/src/main/java/io/dataease/provider/mysql/MySQLConstants.java b/backend/src/main/java/io/dataease/provider/query/mysql/MySQLConstants.java similarity index 88% rename from backend/src/main/java/io/dataease/provider/mysql/MySQLConstants.java rename to backend/src/main/java/io/dataease/provider/query/mysql/MySQLConstants.java index 8ab8567e2d..160ff281c9 100644 --- a/backend/src/main/java/io/dataease/provider/mysql/MySQLConstants.java +++ b/backend/src/main/java/io/dataease/provider/query/mysql/MySQLConstants.java @@ -1,8 +1,8 @@ -package io.dataease.provider.mysql; +package io.dataease.provider.query.mysql; -import io.dataease.provider.SQLConstants; +import io.dataease.provider.query.SQLConstants; -import static io.dataease.datasource.constants.DatasourceTypes.mysql; +import static io.dataease.commons.constants.DatasourceTypes.mysql; /** * @Author gin diff --git a/backend/src/main/java/io/dataease/provider/mysql/MysqlQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java similarity index 99% rename from backend/src/main/java/io/dataease/provider/mysql/MysqlQueryProvider.java rename to backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java index 7bc25393cb..a6090f85a5 100644 --- a/backend/src/main/java/io/dataease/provider/mysql/MysqlQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java @@ -1,4 +1,4 @@ -package io.dataease.provider.mysql; +package io.dataease.provider.query.mysql; import io.dataease.base.domain.ChartViewWithBLOBs; import io.dataease.base.domain.DatasetTableField; @@ -9,9 +9,8 @@ import io.dataease.controller.request.chart.ChartExtFilterRequest; import io.dataease.dto.chart.ChartCustomFilterDTO; 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.es.EsSqlLConstants; +import io.dataease.provider.query.QueryProvider; +import io.dataease.provider.query.SQLConstants; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -27,7 +26,7 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -import static io.dataease.provider.SQLConstants.TABLE_ALIAS_PREFIX; +import static io.dataease.provider.query.SQLConstants.TABLE_ALIAS_PREFIX; /** * @Author gin diff --git a/backend/src/main/java/io/dataease/provider/oracle/OracleConstants.java b/backend/src/main/java/io/dataease/provider/query/oracle/OracleConstants.java similarity index 91% rename from backend/src/main/java/io/dataease/provider/oracle/OracleConstants.java rename to backend/src/main/java/io/dataease/provider/query/oracle/OracleConstants.java index 69dcfa32cd..c8e500e174 100644 --- a/backend/src/main/java/io/dataease/provider/oracle/OracleConstants.java +++ b/backend/src/main/java/io/dataease/provider/query/oracle/OracleConstants.java @@ -1,8 +1,8 @@ -package io.dataease.provider.oracle; +package io.dataease.provider.query.oracle; -import io.dataease.provider.SQLConstants; +import io.dataease.provider.query.SQLConstants; -import static io.dataease.datasource.constants.DatasourceTypes.oracle; +import static io.dataease.commons.constants.DatasourceTypes.oracle; /** * @Author gin diff --git a/backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java similarity index 99% rename from backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java rename to backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java index 1db7daa390..182efce285 100644 --- a/backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java @@ -1,4 +1,4 @@ -package io.dataease.provider.oracle; +package io.dataease.provider.query.oracle; import com.google.gson.Gson; import io.dataease.base.domain.ChartViewWithBLOBs; @@ -7,13 +7,13 @@ import io.dataease.base.domain.DatasetTableFieldExample; import io.dataease.base.domain.Datasource; import io.dataease.base.mapper.DatasetTableFieldMapper; import io.dataease.controller.request.chart.ChartExtFilterRequest; -import io.dataease.datasource.dto.JdbcConfiguration; -import io.dataease.datasource.dto.OracleConfiguration; +import io.dataease.dto.datasource.JdbcConfiguration; +import io.dataease.dto.datasource.OracleConfiguration; import io.dataease.dto.chart.ChartCustomFilterDTO; 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.query.QueryProvider; +import io.dataease.provider.query.SQLConstants; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -29,7 +29,7 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -import static io.dataease.provider.SQLConstants.TABLE_ALIAS_PREFIX; +import static io.dataease.provider.query.SQLConstants.TABLE_ALIAS_PREFIX; /** * @Author gin diff --git a/backend/src/main/java/io/dataease/provider/pg/PgConstants.java b/backend/src/main/java/io/dataease/provider/query/pg/PgConstants.java similarity index 89% rename from backend/src/main/java/io/dataease/provider/pg/PgConstants.java rename to backend/src/main/java/io/dataease/provider/query/pg/PgConstants.java index 760717d5e2..0d0a484840 100644 --- a/backend/src/main/java/io/dataease/provider/pg/PgConstants.java +++ b/backend/src/main/java/io/dataease/provider/query/pg/PgConstants.java @@ -1,8 +1,8 @@ -package io.dataease.provider.pg; +package io.dataease.provider.query.pg; -import io.dataease.provider.SQLConstants; +import io.dataease.provider.query.SQLConstants; -import static io.dataease.datasource.constants.DatasourceTypes.pg; +import static io.dataease.commons.constants.DatasourceTypes.pg; /** * @Author gin diff --git a/backend/src/main/java/io/dataease/provider/pg/PgQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/pg/PgQueryProvider.java similarity index 99% rename from backend/src/main/java/io/dataease/provider/pg/PgQueryProvider.java rename to backend/src/main/java/io/dataease/provider/query/pg/PgQueryProvider.java index 219b072586..4bb0821767 100644 --- a/backend/src/main/java/io/dataease/provider/pg/PgQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/pg/PgQueryProvider.java @@ -1,4 +1,4 @@ -package io.dataease.provider.pg; +package io.dataease.provider.query.pg; import com.google.gson.Gson; import io.dataease.base.domain.ChartViewWithBLOBs; @@ -8,13 +8,13 @@ import io.dataease.base.domain.Datasource; import io.dataease.base.mapper.DatasetTableFieldMapper; import io.dataease.commons.constants.DeTypeConstants; import io.dataease.controller.request.chart.ChartExtFilterRequest; -import io.dataease.datasource.dto.JdbcConfiguration; +import io.dataease.dto.datasource.JdbcConfiguration; import io.dataease.dto.chart.ChartCustomFilterDTO; 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.sqlserver.SqlServerSQLConstants; +import io.dataease.provider.query.QueryProvider; +import io.dataease.provider.query.SQLConstants; +import io.dataease.provider.query.sqlserver.SqlServerSQLConstants; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -30,7 +30,7 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -import static io.dataease.provider.SQLConstants.TABLE_ALIAS_PREFIX; +import static io.dataease.provider.query.SQLConstants.TABLE_ALIAS_PREFIX; @Service("pgQuery") diff --git a/backend/src/main/java/io/dataease/provider/redshift/RedshiftConstants.java b/backend/src/main/java/io/dataease/provider/query/redshift/RedshiftConstants.java similarity index 89% rename from backend/src/main/java/io/dataease/provider/redshift/RedshiftConstants.java rename to backend/src/main/java/io/dataease/provider/query/redshift/RedshiftConstants.java index 3913db7ed8..f52c1d36d2 100644 --- a/backend/src/main/java/io/dataease/provider/redshift/RedshiftConstants.java +++ b/backend/src/main/java/io/dataease/provider/query/redshift/RedshiftConstants.java @@ -1,8 +1,8 @@ -package io.dataease.provider.redshift; +package io.dataease.provider.query.redshift; -import io.dataease.provider.SQLConstants; +import io.dataease.provider.query.SQLConstants; -import static io.dataease.datasource.constants.DatasourceTypes.pg; +import static io.dataease.commons.constants.DatasourceTypes.pg; /** * Redshift 静态变量 diff --git a/backend/src/main/java/io/dataease/provider/redshift/RedshiftQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/redshift/RedshiftQueryProvider.java similarity index 99% rename from backend/src/main/java/io/dataease/provider/redshift/RedshiftQueryProvider.java rename to backend/src/main/java/io/dataease/provider/query/redshift/RedshiftQueryProvider.java index 9bfbec6a22..8b6adc8ec7 100644 --- a/backend/src/main/java/io/dataease/provider/redshift/RedshiftQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/redshift/RedshiftQueryProvider.java @@ -1,4 +1,4 @@ -package io.dataease.provider.redshift; +package io.dataease.provider.query.redshift; import com.google.gson.Gson; import io.dataease.base.domain.ChartViewWithBLOBs; @@ -8,14 +8,14 @@ import io.dataease.base.domain.Datasource; import io.dataease.base.mapper.DatasetTableFieldMapper; import io.dataease.commons.constants.DeTypeConstants; import io.dataease.controller.request.chart.ChartExtFilterRequest; -import io.dataease.datasource.dto.JdbcConfiguration; +import io.dataease.dto.datasource.JdbcConfiguration; import io.dataease.dto.chart.ChartCustomFilterDTO; 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.pg.PgConstants; -import io.dataease.provider.sqlserver.SqlServerSQLConstants; +import io.dataease.provider.query.QueryProvider; +import io.dataease.provider.query.SQLConstants; +import io.dataease.provider.query.pg.PgConstants; +import io.dataease.provider.query.sqlserver.SqlServerSQLConstants; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -31,7 +31,7 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -import static io.dataease.provider.SQLConstants.TABLE_ALIAS_PREFIX; +import static io.dataease.provider.query.SQLConstants.TABLE_ALIAS_PREFIX; /** diff --git a/backend/src/main/java/io/dataease/provider/sqlserver/SqlServerSQLConstants.java b/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlServerSQLConstants.java similarity index 89% rename from backend/src/main/java/io/dataease/provider/sqlserver/SqlServerSQLConstants.java rename to backend/src/main/java/io/dataease/provider/query/sqlserver/SqlServerSQLConstants.java index 4ea9eda683..1817f77afa 100644 --- a/backend/src/main/java/io/dataease/provider/sqlserver/SqlServerSQLConstants.java +++ b/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlServerSQLConstants.java @@ -1,8 +1,8 @@ -package io.dataease.provider.sqlserver; +package io.dataease.provider.query.sqlserver; -import io.dataease.provider.SQLConstants; +import io.dataease.provider.query.SQLConstants; -import static io.dataease.datasource.constants.DatasourceTypes.sqlServer; +import static io.dataease.commons.constants.DatasourceTypes.sqlServer; /** * @Author gin diff --git a/backend/src/main/java/io/dataease/provider/sqlserver/SqlserverQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java similarity index 99% rename from backend/src/main/java/io/dataease/provider/sqlserver/SqlserverQueryProvider.java rename to backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java index 88faa0ecdc..f07644a423 100644 --- a/backend/src/main/java/io/dataease/provider/sqlserver/SqlserverQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java @@ -1,4 +1,4 @@ -package io.dataease.provider.sqlserver; +package io.dataease.provider.query.sqlserver; import com.google.gson.Gson; import io.dataease.base.domain.ChartViewWithBLOBs; @@ -8,12 +8,12 @@ import io.dataease.base.domain.Datasource; import io.dataease.base.mapper.DatasetTableFieldMapper; import io.dataease.commons.constants.DeTypeConstants; import io.dataease.controller.request.chart.ChartExtFilterRequest; -import io.dataease.datasource.dto.JdbcConfiguration; +import io.dataease.dto.datasource.JdbcConfiguration; import io.dataease.dto.chart.ChartCustomFilterDTO; 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.query.QueryProvider; +import io.dataease.provider.query.SQLConstants; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -29,7 +29,7 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -import static io.dataease.provider.SQLConstants.TABLE_ALIAS_PREFIX; +import static io.dataease.provider.query.SQLConstants.TABLE_ALIAS_PREFIX; @Service("sqlserverQuery") public class SqlserverQueryProvider extends QueryProvider { 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 51193b5a7f..177e9689ea 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -14,16 +14,16 @@ import io.dataease.commons.utils.LogUtil; import io.dataease.controller.request.chart.*; import io.dataease.controller.response.ChartDetail; import io.dataease.controller.response.DataSetDetail; -import io.dataease.datasource.provider.DatasourceProvider; -import io.dataease.datasource.provider.ProviderFactory; -import io.dataease.datasource.request.DatasourceRequest; -import io.dataease.datasource.service.DatasourceService; +import io.dataease.provider.datasource.DatasourceProvider; +import io.dataease.provider.ProviderFactory; +import io.dataease.controller.request.datasource.DatasourceRequest; +import io.dataease.service.datasource.DatasourceService; import io.dataease.dto.chart.*; import io.dataease.dto.dataset.DataSetTableUnionDTO; import io.dataease.dto.dataset.DataTableInfoDTO; import io.dataease.i18n.Translator; import io.dataease.listener.util.CacheUtils; -import io.dataease.provider.QueryProvider; +import io.dataease.provider.query.QueryProvider; import io.dataease.service.dataset.DataSetTableFieldsService; import io.dataease.service.dataset.DataSetTableService; import io.dataease.service.dataset.DataSetTableUnionService; diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index 6b417d51f8..5a8410a034 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -16,17 +16,17 @@ import io.dataease.controller.request.dataset.DataSetGroupRequest; import io.dataease.controller.request.dataset.DataSetTableRequest; import io.dataease.controller.request.dataset.DataSetTaskRequest; import io.dataease.controller.response.DataSetDetail; -import io.dataease.datasource.constants.DatasourceTypes; -import io.dataease.datasource.dto.TableFiled; -import io.dataease.datasource.provider.DatasourceProvider; -import io.dataease.datasource.provider.JdbcProvider; -import io.dataease.datasource.provider.ProviderFactory; -import io.dataease.datasource.request.DatasourceRequest; +import io.dataease.commons.constants.DatasourceTypes; +import io.dataease.dto.datasource.TableFiled; +import io.dataease.provider.datasource.DatasourceProvider; +import io.dataease.provider.datasource.JdbcProvider; +import io.dataease.provider.ProviderFactory; +import io.dataease.controller.request.datasource.DatasourceRequest; import io.dataease.dto.dataset.*; import io.dataease.exception.DataEaseException; import io.dataease.i18n.Translator; -import io.dataease.provider.DDLProvider; -import io.dataease.provider.QueryProvider; +import io.dataease.provider.query.DDLProvider; +import io.dataease.provider.query.QueryProvider; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; diff --git a/backend/src/main/java/io/dataease/service/dataset/DatasetFunctionService.java b/backend/src/main/java/io/dataease/service/dataset/DatasetFunctionService.java index ff6337037f..1b00f23f35 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DatasetFunctionService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DatasetFunctionService.java @@ -2,13 +2,12 @@ package io.dataease.service.dataset; import io.dataease.base.domain.*; import io.dataease.base.mapper.DatasetTableFunctionMapper; -import io.dataease.datasource.service.DatasourceService; +import io.dataease.service.datasource.DatasourceService; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; -import java.util.UUID; /** * @Author gin diff --git a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java index 214b4b3adc..9dd699ab76 100644 --- a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java +++ b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java @@ -9,18 +9,18 @@ import io.dataease.base.mapper.ext.ExtChartViewMapper; import io.dataease.commons.constants.*; import io.dataease.commons.model.AuthURD; import io.dataease.commons.utils.*; -import io.dataease.datasource.constants.DatasourceTypes; -import io.dataease.datasource.dto.*; -import io.dataease.datasource.provider.DatasourceProvider; -import io.dataease.datasource.provider.JdbcProvider; -import io.dataease.datasource.provider.ProviderFactory; -import io.dataease.datasource.request.DatasourceRequest; -import io.dataease.datasource.service.DatasourceService; +import io.dataease.commons.constants.DatasourceTypes; +import io.dataease.provider.datasource.DatasourceProvider; +import io.dataease.provider.datasource.JdbcProvider; +import io.dataease.provider.ProviderFactory; +import io.dataease.controller.request.datasource.DatasourceRequest; +import io.dataease.dto.datasource.*; +import io.dataease.service.datasource.DatasourceService; import io.dataease.dto.dataset.DataTableInfoDTO; import io.dataease.dto.dataset.ExcelSheetData; import io.dataease.exception.DataEaseException; import io.dataease.listener.util.CacheUtils; -import io.dataease.provider.QueryProvider; +import io.dataease.provider.query.QueryProvider; import io.dataease.service.message.DeMsgutil; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.io.FileUtils; diff --git a/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java b/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java index e683bea423..44f5f3e02a 100644 --- a/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java +++ b/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java @@ -5,13 +5,13 @@ import io.dataease.base.domain.DatasetTable; import io.dataease.base.domain.DatasetTableField; import io.dataease.base.domain.Datasource; import io.dataease.commons.utils.CommonBeanFactory; -import io.dataease.datasource.provider.DatasourceProvider; -import io.dataease.datasource.provider.ProviderFactory; -import io.dataease.datasource.request.DatasourceRequest; -import io.dataease.datasource.service.DatasourceService; +import io.dataease.provider.datasource.DatasourceProvider; +import io.dataease.provider.ProviderFactory; +import io.dataease.controller.request.datasource.DatasourceRequest; +import io.dataease.service.datasource.DatasourceService; import io.dataease.dto.dataset.DataSetTableUnionDTO; import io.dataease.dto.dataset.DataTableInfoDTO; -import io.dataease.provider.QueryProvider; +import io.dataease.provider.query.QueryProvider; import io.dataease.service.dataset.DataSetFieldService; import io.dataease.service.dataset.DataSetTableFieldsService; import io.dataease.service.dataset.DataSetTableService; diff --git a/backend/src/main/java/io/dataease/datasource/service/DatasourceService.java b/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java similarity index 97% rename from backend/src/main/java/io/dataease/datasource/service/DatasourceService.java rename to backend/src/main/java/io/dataease/service/datasource/DatasourceService.java index 17b0b1fd9f..4c286eda89 100644 --- a/backend/src/main/java/io/dataease/datasource/service/DatasourceService.java +++ b/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java @@ -1,4 +1,4 @@ -package io.dataease.datasource.service; +package io.dataease.service.datasource; import com.alibaba.fastjson.JSONObject; import com.google.gson.Gson; @@ -15,13 +15,13 @@ import io.dataease.controller.ResultHolder; import io.dataease.controller.request.DatasourceUnionRequest; import io.dataease.controller.sys.base.BaseGridRequest; import io.dataease.controller.sys.base.ConditionEntity; -import io.dataease.datasource.constants.DatasourceTypes; -import io.dataease.datasource.dto.*; -import io.dataease.datasource.provider.DatasourceProvider; -import io.dataease.datasource.provider.ProviderFactory; -import io.dataease.datasource.request.DatasourceRequest; +import io.dataease.commons.constants.DatasourceTypes; +import io.dataease.provider.datasource.DatasourceProvider; +import io.dataease.provider.ProviderFactory; +import io.dataease.controller.request.datasource.DatasourceRequest; import io.dataease.dto.DatasourceDTO; import io.dataease.dto.dataset.DataTableInfoDTO; +import io.dataease.dto.datasource.*; import io.dataease.exception.DataEaseException; import io.dataease.i18n.Translator; import io.dataease.service.dataset.DataSetGroupService; From 14ea9837b60cf02aa9e1a8be2ace095f5cb9b046 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 1 Nov 2021 18:51:59 +0800 Subject: [PATCH 6/6] =?UTF-8?q?refactor:=20=E8=A7=84=E8=8C=83=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/datasource/MysqlConfigration.java | 19 --- .../provider/query/es/EsQueryProvider.java | 110 ++++-------------- 2 files changed, 22 insertions(+), 107 deletions(-) delete mode 100644 backend/src/main/java/io/dataease/dto/datasource/MysqlConfigration.java diff --git a/backend/src/main/java/io/dataease/dto/datasource/MysqlConfigration.java b/backend/src/main/java/io/dataease/dto/datasource/MysqlConfigration.java deleted file mode 100644 index 4c4da879ee..0000000000 --- a/backend/src/main/java/io/dataease/dto/datasource/MysqlConfigration.java +++ /dev/null @@ -1,19 +0,0 @@ -package io.dataease.dto.datasource; - -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class MysqlConfigration extends JdbcConfiguration { - - private String driver = "com.mysql.cj.jdbc.Driver"; - - public String getJdbc() { - // 连接参数先写死,后边要把编码、时区等参数放到数据源的设置中 - return "jdbc:mysql://HOSTNAME:PORT/DATABASE?characterEncoding=UTF-8&connectTimeout=5000&useSSL=false" - .replace("HOSTNAME", getHost().trim()) - .replace("PORT", getPort().toString().trim()) - .replace("DATABASE", getDataBase().trim()); - } -} \ No newline at end of file diff --git a/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java index e9bcdf6d43..fa3babd645 100644 --- a/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java @@ -1,5 +1,6 @@ package io.dataease.provider.query.es; +import io.dataease.base.domain.ChartViewWithBLOBs; import io.dataease.base.domain.DatasetTableField; import io.dataease.base.domain.DatasetTableFieldExample; import io.dataease.base.domain.Datasource; @@ -197,7 +198,7 @@ public class EsQueryProvider extends QueryProvider { } @Override - public String getSQL(String table, List xAxis, List yAxis, List customFilter, List extFilterRequestList, Datasource ds) { + public String getSQL(String table, List xAxis, List yAxis, List customFilter, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view) { SQLObj tableObj = SQLObj.builder() .tableName((table.startsWith("(") && table.endsWith(")")) ? table : String.format(EsSqlLConstants.KEYWORD_TABLE, table)) .tableAlias(String.format(TABLE_ALIAS_PREFIX, 0)) @@ -299,94 +300,27 @@ public class EsQueryProvider extends QueryProvider { if (CollectionUtils.isNotEmpty(aggWheres)) st.add("filters", aggWheres); if (CollectionUtils.isNotEmpty(orders)) st.add("orders", orders); if (ObjectUtils.isNotEmpty(tableSQL)) st.add("table", tableSQL); - return st.render(); + return sqlLimit(st.render(), view); } @Override - public String getSQLAsTmp(String sql, List xAxis, List yAxis, List customFilter, List extFilterRequestList) { - return getSQL("(" + sqlFix(sql) + ")", xAxis, yAxis, customFilter, extFilterRequestList, null); + public String getSQLAsTmp(String sql, List xAxis, List yAxis, List customFilter, List extFilterRequestList, ChartViewWithBLOBs view) { + return getSQL("(" + sqlFix(sql) + ")", xAxis, yAxis, customFilter, extFilterRequestList, null, view); } @Override - public String getSQLTableInfo(String table, List xAxis, List customFilter, List extFilterRequestList, Datasource ds) { - SQLObj tableObj = SQLObj.builder() - .tableName((table.startsWith("(") && table.endsWith(")")) ? table : String.format(EsSqlLConstants.KEYWORD_TABLE, table)) - .tableAlias(String.format(TABLE_ALIAS_PREFIX, 0)) - .build(); - List xFields = new ArrayList<>(); - List xWheres = new ArrayList<>(); - List xOrders = new ArrayList<>(); - if (CollectionUtils.isNotEmpty(xAxis)) { - for (int i = 0; i < xAxis.size(); i++) { - ChartViewFieldDTO x = xAxis.get(i); - String originField; - if (ObjectUtils.isNotEmpty(x.getExtField()) && x.getExtField() == 2) { - // 解析origin name中有关联的字段生成sql表达式 - originField = calcFieldRegex(x.getOriginName(), tableObj); - } else if (ObjectUtils.isNotEmpty(x.getExtField()) && x.getExtField() == 1) { - originField = String.format(EsSqlLConstants.KEYWORD_FIX, tableObj.getTableAlias(), x.getOriginName()); - } else { - originField = String.format(EsSqlLConstants.KEYWORD_FIX, tableObj.getTableAlias(), x.getOriginName()); - } - String fieldAlias = String.format(SQLConstants.FIELD_ALIAS_X_PREFIX, i); - // 处理横轴字段 - xFields.add(getXFields(x, originField, fieldAlias)); - // 处理横轴过滤 -// xWheres.addAll(getXWheres(x, originField, fieldAlias)); - // 处理横轴排序 - if (StringUtils.isNotEmpty(x.getSort()) && !StringUtils.equalsIgnoreCase(x.getSort(), "none")) { - xOrders.add(SQLObj.builder() - .orderField(originField) - .orderAlias(fieldAlias) - .orderDirection(x.getSort()) - .build()); - } - } - } - // 处理视图中字段过滤 - List customWheres = transCustomFilterList(tableObj, customFilter); - // 处理仪表板字段过滤 - List extWheres = transExtFilterList(tableObj, extFilterRequestList); - // 构建sql所有参数 - List fields = new ArrayList<>(); - fields.addAll(xFields); - List wheres = new ArrayList<>(); - wheres.addAll(xWheres); - if (customWheres != null) wheres.addAll(customWheres); - if (extWheres != null) wheres.addAll(extWheres); - List groups = new ArrayList<>(); - groups.addAll(xFields); - // 外层再次套sql - List orders = new ArrayList<>(); - orders.addAll(xOrders); - - STGroup stg = new STGroupFile(SQLConstants.SQL_TEMPLATE); - ST st_sql = stg.getInstanceOf("previewSql"); - st_sql.add("isGroup", false); - if (CollectionUtils.isNotEmpty(xFields)) st_sql.add("groups", xFields); - if (CollectionUtils.isNotEmpty(wheres)) st_sql.add("filters", wheres); - if (ObjectUtils.isNotEmpty(tableObj)) st_sql.add("table", tableObj); - String sql = st_sql.render(); - - ST st = stg.getInstanceOf("previewSql"); - st.add("isGroup", false); - SQLObj tableSQL = SQLObj.builder() - .tableName(String.format(EsSqlLConstants.BRACKETS, sql)) - .tableAlias(String.format(TABLE_ALIAS_PREFIX, 1)) - .build(); - if (CollectionUtils.isNotEmpty(orders)) st.add("orders", orders); - if (ObjectUtils.isNotEmpty(tableSQL)) st.add("table", tableSQL); - return st.render(); + public String getSQLTableInfo(String table, List xAxis, List customFilter, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view) { + return null; } @Override - public String getSQLAsTmpTableInfo(String sql, List xAxis, List customFilter, List extFilterRequestList, Datasource ds) { - return getSQLTableInfo("(" + sqlFix(sql) + ")", xAxis, customFilter, extFilterRequestList, null); + public String getSQLAsTmpTableInfo(String sql, List xAxis, List customFilter, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view) { + return null; } @Override - public String getSQLStack(String table, List xAxis, List yAxis, List customFilter, List extFilterRequestList, List extStack, Datasource ds) { + public String getSQLStack(String table, List xAxis, List yAxis, List customFilter, List extFilterRequestList, List extStack, Datasource ds, ChartViewWithBLOBs view) { SQLObj tableObj = SQLObj.builder() .tableName((table.startsWith("(") && table.endsWith(")")) ? table : String.format(EsSqlLConstants.KEYWORD_TABLE, table)) .tableAlias(String.format(TABLE_ALIAS_PREFIX, 0)) @@ -491,16 +425,16 @@ public class EsQueryProvider extends QueryProvider { if (CollectionUtils.isNotEmpty(aggWheres)) st.add("filters", aggWheres); if (CollectionUtils.isNotEmpty(orders)) st.add("orders", orders); if (ObjectUtils.isNotEmpty(tableSQL)) st.add("table", tableSQL); - return st.render(); + return sqlLimit(st.render(), view); } @Override - public String getSQLAsTmpStack(String table, List xAxis, List yAxis, List customFilter, List extFilterRequestList, List extStack) { - return getSQLStack("(" + sqlFix(table) + ")", xAxis, yAxis, customFilter, extFilterRequestList, extStack, null); + public String getSQLAsTmpStack(String table, List xAxis, List yAxis, List customFilter, List extFilterRequestList, List extStack, ChartViewWithBLOBs view) { + return getSQLStack("(" + sqlFix(table) + ")", xAxis, yAxis, customFilter, extFilterRequestList, extStack, null, view); } @Override - public String getSQLScatter(String table, List xAxis, List yAxis, List customFilter, List extFilterRequestList, List extBubble, Datasource ds) { + public String getSQLScatter(String table, List xAxis, List yAxis, List customFilter, List extFilterRequestList, List extBubble, Datasource ds, ChartViewWithBLOBs view) { SQLObj tableObj = SQLObj.builder() .tableName((table.startsWith("(") && table.endsWith(")")) ? table : String.format(EsSqlLConstants.KEYWORD_TABLE, table)) .tableAlias(String.format(TABLE_ALIAS_PREFIX, 0)) @@ -605,12 +539,12 @@ public class EsQueryProvider extends QueryProvider { if (CollectionUtils.isNotEmpty(aggWheres)) st.add("filters", aggWheres); if (CollectionUtils.isNotEmpty(orders)) st.add("orders", orders); if (ObjectUtils.isNotEmpty(tableSQL)) st.add("table", tableSQL); - return st.render(); + return sqlLimit(st.render(), view); } @Override - public String getSQLAsTmpScatter(String table, List xAxis, List yAxis, List customFilter, List extFilterRequestList, List extBubble) { - return getSQLScatter("(" + sqlFix(table) + ")", xAxis, yAxis, customFilter, extFilterRequestList, extBubble, null); + public String getSQLAsTmpScatter(String table, List xAxis, List yAxis, List customFilter, List extFilterRequestList, List extBubble, ChartViewWithBLOBs view) { + return getSQLScatter("(" + sqlFix(table) + ")", xAxis, yAxis, customFilter, extFilterRequestList, extBubble, null, view); } @Override @@ -619,7 +553,7 @@ public class EsQueryProvider extends QueryProvider { } @Override - public String getSQLSummary(String table, List yAxis, List customFilter, List extFilterRequestList) { + public String getSQLSummary(String table, List yAxis, List customFilter, List extFilterRequestList, ChartViewWithBLOBs view) { // 字段汇总 排序等 SQLObj tableObj = SQLObj.builder() .tableName((table.startsWith("(") && table.endsWith(")")) ? table : String.format(EsSqlLConstants.KEYWORD_TABLE, table)) @@ -687,12 +621,12 @@ public class EsQueryProvider extends QueryProvider { if (CollectionUtils.isNotEmpty(aggWheres)) st.add("filters", aggWheres); if (CollectionUtils.isNotEmpty(orders)) st.add("orders", orders); if (ObjectUtils.isNotEmpty(tableSQL)) st.add("table", tableSQL); - return st.render(); + return sqlLimit(st.render(), view); } @Override - public String getSQLSummaryAsTmp(String sql, List yAxis, List customFilter, List extFilterRequestList) { - return getSQLSummary("(" + sqlFix(sql) + ")", yAxis, customFilter, extFilterRequestList); + public String getSQLSummaryAsTmp(String sql, List yAxis, List customFilter, List extFilterRequestList, ChartViewWithBLOBs view) { + return getSQLSummary("(" + sqlFix(sql) + ")", yAxis, customFilter, extFilterRequestList, view); } @Override @@ -721,7 +655,7 @@ public class EsQueryProvider extends QueryProvider { } @Override - public String convertTableToSql(String tableName, Datasource ds){ + public String convertTableToSql(String tableName, Datasource ds) { return createSQLPreview("SELECT * FROM " + String.format(EsSqlLConstants.KEYWORD_TABLE, tableName), null); }