From f0845bcb76adada52460ca1fee4a9a83c480f75b Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 1 Jul 2024 12:56:20 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=A4=BE=E5=8C=BA?= =?UTF-8?q?=E7=89=88=E6=95=B0=E6=8D=AE=E6=BA=90=E9=87=8D=E5=90=8D=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datasource/manage/DataSourceManage.java | 23 +++++++++++++------ .../datasource/server/DatasourceServer.java | 12 ++++++---- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/datasource/manage/DataSourceManage.java b/core/core-backend/src/main/java/io/dataease/datasource/manage/DataSourceManage.java index aaf0742c58..305941e4d5 100644 --- a/core/core-backend/src/main/java/io/dataease/datasource/manage/DataSourceManage.java +++ b/core/core-backend/src/main/java/io/dataease/datasource/manage/DataSourceManage.java @@ -3,6 +3,7 @@ package io.dataease.datasource.manage; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import io.dataease.commons.constants.OptConstants; +import io.dataease.commons.constants.TaskStatus; import io.dataease.constant.DataSourceType; import io.dataease.datasource.dao.auto.entity.CoreDatasource; import io.dataease.datasource.dao.auto.mapper.CoreDatasourceMapper; @@ -74,13 +75,16 @@ public class DataSourceManage { @XpackInteract(value = "datasourceResourceTree", before = false) - public void innerSave(CoreDatasource coreDatasource) { - checkName(coreDatasource); + public void innerSave(DatasourceDTO dataSourceDTO) { + CoreDatasource coreDatasource = new CoreDatasource(); + coreDatasource.setTaskStatus(TaskStatus.WaitingForExecution.name()); + BeanUtils.copyBean(coreDatasource, dataSourceDTO); + checkName(dataSourceDTO); coreDatasourceMapper.insert(coreDatasource); coreOptRecentManage.saveOpt(coreDatasource.getId(), OptConstants.OPT_RESOURCE_TYPE.DATASOURCE, OptConstants.OPT_TYPE.NEW); } - public void checkName(CoreDatasource dto) { + public void checkName(DatasourceDTO dto) { QueryWrapper wrapper = new QueryWrapper<>(); if (ObjectUtils.isNotEmpty(dto.getPid())) { wrapper.eq("pid", dto.getPid()); @@ -91,8 +95,13 @@ public class DataSourceManage { if (ObjectUtils.isNotEmpty(dto.getId())) { wrapper.ne("id", dto.getId()); } - if (ObjectUtils.isNotEmpty(dto.getType()) && dto.getType().equalsIgnoreCase("folder")) { - wrapper.ne("type", dto.getType()); + if (ObjectUtils.isNotEmpty(dto.getNodeType()) ) { + if(dto.getNodeType().equalsIgnoreCase("folder")){ + wrapper.eq("type", dto.getType()); + }else { + wrapper.ne("type", "folder"); + } + } List list = coreDatasourceMapper.selectList(wrapper); if (list.size() > 0) { @@ -131,7 +140,7 @@ public class DataSourceManage { sourceData.setUpdateBy(AuthUtils.getUser().getUserId()); sourceData.setPid(dataSourceDTO.getPid()); sourceData.setName(dataSourceDTO.getName()); - checkName(sourceData); + checkName(dataSourceDTO); coreDatasourceMapper.updateById(sourceData); coreOptRecentManage.saveOpt(sourceData.getId(), OptConstants.OPT_RESOURCE_TYPE.DATASOURCE, OptConstants.OPT_TYPE.UPDATE); } @@ -139,7 +148,7 @@ public class DataSourceManage { public DatasourceDTO getDs(Long id) { CoreDatasource coreDatasource = coreDatasourceMapper.selectById(id); DatasourceDTO dto = new DatasourceDTO(); - BeanUtils.copyBean(dto,coreDatasource); + BeanUtils.copyBean(dto, coreDatasource); return dto; } } diff --git a/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java b/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java index 4d63538802..0b4f1366f1 100644 --- a/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java +++ b/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java @@ -216,6 +216,7 @@ public class DatasourceServer implements DatasourceApi { } CoreDatasource datasource = datasourceMapper.selectById(dataSourceDTO.getId()); datasource.setName(dataSourceDTO.getName()); + dataSourceManage.checkName(dataSourceDTO); dataSourceManage.innerEdit(datasource); return dataSourceDTO; } @@ -228,10 +229,7 @@ public class DatasourceServer implements DatasourceApi { dataSourceDTO.setType(dataSourceDTO.getNodeType()); dataSourceDTO.setId(IDUtils.snowID()); dataSourceDTO.setConfiguration(""); - CoreDatasource coreDatasource = new CoreDatasource(); - coreDatasource.setTaskStatus(TaskStatus.WaitingForExecution.name()); - BeanUtils.copyBean(coreDatasource, dataSourceDTO); - dataSourceManage.innerSave(coreDatasource); + dataSourceManage.innerSave(dataSourceDTO); return dataSourceDTO; } @@ -260,7 +258,7 @@ public class DatasourceServer implements DatasourceApi { CoreDatasource coreDatasource = new CoreDatasource(); BeanUtils.copyBean(coreDatasource, dataSourceDTO); - dataSourceManage.innerSave(coreDatasource); + dataSourceManage.innerSave(dataSourceDTO); if (dataSourceDTO.getType().equals(DatasourceConfiguration.DatasourceType.Excel.name())) { DatasourceRequest datasourceRequest = new DatasourceRequest(); @@ -398,6 +396,7 @@ public class DatasourceServer implements DatasourceApi { } datasourceSyncManage.deleteSchedule(datasourceTaskServer.selectByDSId(dataSourceDTO.getId())); datasourceSyncManage.addSchedule(coreDatasourceTask); + dataSourceManage.checkName(dataSourceDTO); dataSourceManage.innerEdit(requestDatasource); } else if (dataSourceDTO.getType().equals(DatasourceConfiguration.DatasourceType.Excel.name())) { List sourceTables = ExcelUtils.getTables(sourceTableRequest).stream().map(DatasetTableDTO::getTableName).collect(Collectors.toList()); @@ -421,13 +420,16 @@ public class DatasourceServer implements DatasourceApi { } } datasourceSyncManage.extractExcelData(requestDatasource, "all_scope"); + dataSourceManage.checkName(dataSourceDTO); dataSourceManage.innerEdit(requestDatasource); } else { datasourceSyncManage.extractExcelData(requestDatasource, "add_scope"); + dataSourceManage.checkName(dataSourceDTO); dataSourceManage.innerEdit(requestDatasource); } } else { checkParams(dataSourceDTO.getConfiguration()); + dataSourceManage.checkName(dataSourceDTO); dataSourceManage.innerEdit(requestDatasource); calciteProvider.update(dataSourceDTO); }