From 7056db3b5302c320ee8ac55ba66b60891aede909 Mon Sep 17 00:00:00 2001 From: junjie Date: Wed, 24 Feb 2021 11:21:37 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=95=B0=E6=8D=AE=E9=9B=86):=20=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E8=A1=A8=EF=BC=9Amysql=E7=9B=B4=E8=BF=9E?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=EF=BC=8C=E8=A1=A8=E5=AD=97=E6=AE=B5=20?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=20=E6=95=B0=E6=8D=AE=20=E8=AF=BB=E5=8F=96?= =?UTF-8?q?=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataset/DataSetTableController.java | 8 +++++- .../service/dataset/DataSetTableService.java | 25 ++++++++++++++++--- .../components/dataset/data/AddDB.vue | 2 +- .../components/dataset/data/ViewTable.vue | 19 ++++++++------ 4 files changed, 41 insertions(+), 13 deletions(-) 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 32df6747e0..8d7a15d520 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java @@ -8,6 +8,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; +import java.util.Map; /** * @Author gin @@ -50,7 +51,12 @@ public class DataSetTableController { } @PostMapping("getData") - public List getData(@RequestBody DataSetTableRequest dataSetTableRequest) throws Exception { + public List getData(@RequestBody DataSetTableRequest dataSetTableRequest) throws Exception { return dataSetTableService.getData(dataSetTableRequest); } + + @PostMapping("getPreviewData") + public Map getPreviewData(@RequestBody DataSetTableRequest dataSetTableRequest) throws Exception { + return dataSetTableService.getPreviewData(dataSetTableRequest); + } } 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 fbc8f7aa0f..05ab6fd49e 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -19,7 +19,9 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @Author gin @@ -80,15 +82,26 @@ public class DataSetTableService { return datasourceProvider.getTableFileds(datasourceRequest); } - public List getData(DataSetTableRequest dataSetTableRequest) throws Exception { + public List getData(DataSetTableRequest dataSetTableRequest) throws Exception { Datasource ds = datasourceMapper.selectByPrimaryKey(dataSetTableRequest.getDataSourceId()); DatasourceProvider datasourceProvider = ProviderFactory.getProvider(ds.getType()); DatasourceRequest datasourceRequest = new DatasourceRequest(); datasourceRequest.setDatasource(ds); String table = new Gson().fromJson(dataSetTableRequest.getInfo(), DataTableInfoDTO.class).getTable(); - datasourceRequest.setQuery("SELECT * FROM " + table + " LIMIT 0,100;"); + datasourceRequest.setQuery("SELECT * FROM " + table + ";"); + return datasourceProvider.getData(datasourceRequest); + } - List fields = getFields(dataSetTableRequest); + public Map getPreviewData(DataSetTableRequest dataSetTableRequest) throws Exception { + Datasource ds = datasourceMapper.selectByPrimaryKey(dataSetTableRequest.getDataSourceId()); + DatasourceProvider datasourceProvider = ProviderFactory.getProvider(ds.getType()); + DatasourceRequest datasourceRequest = new DatasourceRequest(); + datasourceRequest.setDatasource(ds); + String table = new Gson().fromJson(dataSetTableRequest.getInfo(), DataTableInfoDTO.class).getTable(); + datasourceRequest.setTable(table); + datasourceRequest.setQuery("SELECT * FROM " + table + " LIMIT 0,10;"); + + List fields = datasourceProvider.getTableFileds(datasourceRequest); List data = datasourceProvider.getData(datasourceRequest); JSONArray jsonArray = new JSONArray(); @@ -100,6 +113,10 @@ public class DataSetTableService { jsonArray.add(jsonObject); }); - return jsonArray; + Map map = new HashMap<>(); + map.put("fields",fields); + map.put("data",jsonArray); + + return map; } } diff --git a/frontend/src/business/components/dataset/data/AddDB.vue b/frontend/src/business/components/dataset/data/AddDB.vue index a5e76bdcfc..bdc47a0553 100644 --- a/frontend/src/business/components/dataset/data/AddDB.vue +++ b/frontend/src/business/components/dataset/data/AddDB.vue @@ -38,7 +38,7 @@ - + { this.table = response.data; - this.initTableFields(); + this.initPreviewData(); }) } }, + initPreviewData() { + if (this.table.id) { + this.$post('/dataset/table/getPreviewData', this.table, response => { + this.fields = response.data.fields; + this.data = response.data.data; + }); + } + }, + initTableFields() { if (this.table.id) { this.$post('/dataset/table/getFields', this.table, response => { - // console.log(response.data); - this.fields = response.data; - this.initTableData(); }); } }, initTableData() { if (this.table.id) { this.$post('/dataset/table/getData', this.table, response => { - // console.log(response.data); - this.data = response.data; - console.log(this.data) }); } },