From e89c8ac439ff1cc9aefdf2e1e5ae9ffb586915b9 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Wed, 12 May 2021 15:17:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=A0=E6=8E=89=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=9B=86=E6=97=B6=EF=BC=8C=E5=90=8C=E6=AD=A5=E5=88=A0=E6=8E=89?= =?UTF-8?q?=20doris=20=E9=87=8C=E7=9A=84=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/commons/utils/DorisTableUtils.java | 4 ++++ .../dataset/DataSetGroupController.java | 2 +- .../dataset/DataSetTableController.java | 2 +- .../service/dataset/DataSetGroupService.java | 4 ++-- .../service/dataset/DataSetTableService.java | 17 +++++++++++++++-- 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/backend/src/main/java/io/dataease/commons/utils/DorisTableUtils.java b/backend/src/main/java/io/dataease/commons/utils/DorisTableUtils.java index 56c9e2649f..4f6757bcd3 100644 --- a/backend/src/main/java/io/dataease/commons/utils/DorisTableUtils.java +++ b/backend/src/main/java/io/dataease/commons/utils/DorisTableUtils.java @@ -17,4 +17,8 @@ public class DorisTableUtils { public static String dorisFieldName(String dorisName) { return "f_" + Md5Utils.md5(dorisName); } + + public static String excelColumnName(String filedName) { + return "C_" + Md5Utils.md5(filedName); + } } diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetGroupController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetGroupController.java index 6ab588a83b..0d9282dc45 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetGroupController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetGroupController.java @@ -32,7 +32,7 @@ public class DataSetGroupController { } @PostMapping("/delete/{id}") - public void tree(@PathVariable String id) { + public void tree(@PathVariable String id) throws Exception{ dataSetGroupService.delete(id); } 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 d6c594439a..f300f8e83b 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java @@ -34,7 +34,7 @@ public class DataSetTableController { } @PostMapping("delete/{id}") - public void delete(@PathVariable String id) { + public void delete(@PathVariable String id)throws Exception { dataSetTableService.delete(id); } diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetGroupService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetGroupService.java index 1be0092f53..3c0937b13d 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetGroupService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetGroupService.java @@ -47,7 +47,7 @@ public class DataSetGroupService { return dataSetGroupDTO; } - public void delete(String id) { + public void delete(String id) throws Exception{ DataSetGroupRequest datasetGroup = new DataSetGroupRequest(); datasetGroup.setId(id); List tree = tree(datasetGroup); @@ -64,7 +64,7 @@ public class DataSetGroupService { return datasetGroupMapper.selectByPrimaryKey(id); } - public void deleteTableAndField(List sceneIds) { + public void deleteTableAndField(List sceneIds) throws Exception{ for (String sceneId : sceneIds) { DataSetTableRequest dataSetTableRequest = new DataSetTableRequest(); dataSetTableRequest.setSceneId(sceneId); 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 7ce260cf82..b27bc8eda2 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -112,11 +112,24 @@ public class DataSetTableService { return datasetTable; } - public void delete(String id) { + public void delete(String id) throws Exception{ datasetTableMapper.deleteByPrimaryKey(id); dataSetTableFieldsService.deleteByTableId(id); // 删除同步任务 dataSetTableTaskService.deleteByTableId(id); + deleteDorisTable(id); + } + + private void deleteDorisTable(String datasetId) throws Exception{ + String dorisTableName = DorisTableUtils.dorisName(datasetId); + Datasource dorisDatasource = (Datasource)CommonBeanFactory.getBean("DorisDatasource"); + JdbcProvider jdbcProvider = CommonBeanFactory.getBean(JdbcProvider.class);; + DatasourceRequest datasourceRequest = new DatasourceRequest(); + datasourceRequest.setDatasource(dorisDatasource); + datasourceRequest.setQuery("drop table if exists " + dorisTableName); + jdbcProvider.exec(datasourceRequest); + datasourceRequest.setQuery("drop table if exists " + DorisTableUtils.dorisTmpName(dorisTableName)); + jdbcProvider.exec(datasourceRequest); } public List list(DataSetTableRequest dataSetTableRequest) { @@ -515,7 +528,7 @@ public class DataSetTableService { datasetTableField.setOriginName(filed.getFieldName()); datasetTableField.setName(filed.getRemarks()); if (StringUtils.equalsIgnoreCase(datasetTable.getType(), "excel")) { - datasetTableField.setDataeaseName("C_" + Md5Utils.md5(filed.getFieldName())); + datasetTableField.setDataeaseName(DorisTableUtils.excelColumnName(filed.getFieldName())); } else { datasetTableField.setDataeaseName(filed.getFieldName()); }