diff --git a/backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java b/backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java index d03a15f2db..54ccb07504 100644 --- a/backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java +++ b/backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java @@ -74,8 +74,8 @@ public class DatasourceController { @DePermission(type = DePermissionType.DATASOURCE, level = ResourceAuthLevel.DATASOURCE_LEVEL_MANAGE) @ApiOperation("删除数据源") @PostMapping("/delete/{datasourceID}") - public void deleteDatasource(@PathVariable(value = "datasourceID") String datasourceID) throws Exception { - datasourceService.deleteDatasource(datasourceID); + public ResultHolder deleteDatasource(@PathVariable(value = "datasourceID") String datasourceID) throws Exception { + return datasourceService.deleteDatasource(datasourceID); } @RequiresPermissions("datasource:read") diff --git a/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java b/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java index 7a20a5bd39..0883d92131 100644 --- a/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java +++ b/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java @@ -163,16 +163,17 @@ public class DatasourceService { } @DeCleaner(DePermissionType.DATASOURCE) - public void deleteDatasource(String datasourceId) throws Exception { + public ResultHolder deleteDatasource(String datasourceId) throws Exception { DatasetTableExample example = new DatasetTableExample(); example.createCriteria().andDataSourceIdEqualTo(datasourceId); List datasetTables = datasetTableMapper.selectByExample(example); if(CollectionUtils.isNotEmpty(datasetTables)){ - DataEaseException.throwException(datasetTables.size() + Translator.get("i18n_datasource_not_allow_delete_msg")); + return ResultHolder.error(datasetTables.size() + Translator.get("i18n_datasource_not_allow_delete_msg")); } Datasource datasource = datasourceMapper.selectByPrimaryKey(datasourceId); datasourceMapper.deleteByPrimaryKey(datasourceId); handleConnectionPool(datasource, "delete"); + return ResultHolder.success("success"); } public void updateDatasource(Datasource datasource) { diff --git a/frontend/src/views/system/datasource/DsTree.vue b/frontend/src/views/system/datasource/DsTree.vue index e5ca81de49..e7fa48e7f6 100644 --- a/frontend/src/views/system/datasource/DsTree.vue +++ b/frontend/src/views/system/datasource/DsTree.vue @@ -268,9 +268,16 @@ export default { type: 'warning' }).then(() => { delDs(datasource.id).then(res => { - this.$success(this.$t('commons.delete_success')) - this.switchMain('DataHome', {}, this.tData) - this.refreshType(datasource) + if(res.success){ + this.$success(this.$t('commons.delete_success')) + this.switchMain('DataHome', {}, this.tData) + this.refreshType(datasource) + }else { + this.$message({ + type: 'error', + message: res.message + }) + } }) }).catch(() => { this.$message({