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 29d8d1b884..65fe75a13d 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -132,6 +132,8 @@ public class DataSetTableService { dataSetTableFieldsService.deleteByTableId(id); // 删除同步任务 dataSetTableTaskService.deleteByTableId(id); + // 删除关联关系 + dataSetTableUnionService.deleteUnionByTableId(id); try { deleteDorisTable(id, table); } catch (Exception e) { @@ -359,7 +361,7 @@ public class DataSetTableService { datasourceRequest.setDatasource(ds); String sql = new Gson().fromJson(dataSetTableRequest.getInfo(), DataTableInfoDTO.class).getSql(); // 使用输入的sql先预执行一次,并拿到所有字段 - if(StringUtils.isEmpty(sql)){ + if (StringUtils.isEmpty(sql)) { throw new Exception(Translator.get("i18n_sql_not_empty")); } datasourceRequest.setQuery(sql); @@ -874,14 +876,15 @@ public class DataSetTableService { } public Boolean checkDorisTableIsExists(String id) throws Exception { - Datasource dorisDatasource = (Datasource) CommonBeanFactory.getBean("DorisDatasource"); - JdbcProvider jdbcProvider = CommonBeanFactory.getBean(JdbcProvider.class); - DatasourceRequest datasourceRequest = new DatasourceRequest(); - datasourceRequest.setDatasource(dorisDatasource); - QueryProvider qp = ProviderFactory.getQueryProvider(dorisDatasource.getType()); - datasourceRequest.setQuery(qp.searchTable(DorisTableUtils.dorisName(id))); - List data = jdbcProvider.getData(datasourceRequest); - return CollectionUtils.isNotEmpty(data); +// Datasource dorisDatasource = (Datasource) CommonBeanFactory.getBean("DorisDatasource"); +// JdbcProvider jdbcProvider = CommonBeanFactory.getBean(JdbcProvider.class); +// DatasourceRequest datasourceRequest = new DatasourceRequest(); +// datasourceRequest.setDatasource(dorisDatasource); +// QueryProvider qp = ProviderFactory.getQueryProvider(dorisDatasource.getType()); +// datasourceRequest.setQuery(qp.searchTable(DorisTableUtils.dorisName(id))); +// List data = jdbcProvider.getData(datasourceRequest); +// return CollectionUtils.isNotEmpty(data); + return true; } @Resource diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableUnionService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableUnionService.java index 9ee96a51ce..9eb4fd1503 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableUnionService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableUnionService.java @@ -76,6 +76,14 @@ public class DataSetTableUnionService { return sourceList; } + public void deleteUnionByTableId(String tableId) { + DatasetTableUnionExample datasetTableUnionExample = new DatasetTableUnionExample(); + DatasetTableUnionExample.Criteria criteriaSource = datasetTableUnionExample.createCriteria().andSourceTableIdEqualTo(tableId); + DatasetTableUnionExample.Criteria criteriaTarget = datasetTableUnionExample.createCriteria().andTargetTableIdEqualTo(tableId); + datasetTableUnionExample.or(criteriaTarget); + datasetTableUnionMapper.deleteByExample(datasetTableUnionExample); + } + private void checkUnion(DatasetTableUnion datasetTableUnion) { // check 关联关系是否存在 DatasetTableUnionExample datasetTableUnionExample = new DatasetTableUnionExample();