From 6b6eda00c8dc72960089f781d881b9292423fde3 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Wed, 25 Oct 2023 16:42:08 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=E6=95=B0=E6=8D=AE=E6=BA=90=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datasource/server/DatasourceServer.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) 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 954dd2d05c..e7373c95a3 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 @@ -19,8 +19,6 @@ import io.dataease.api.permissions.user.vo.UserFormVO; import io.dataease.commons.constants.TaskStatus; import io.dataease.commons.utils.CommonThreadPool; import io.dataease.constant.DataSourceType; -import io.dataease.dataset.dao.auto.entity.CoreDatasetTable; -import io.dataease.dataset.dao.auto.mapper.CoreDatasetTableMapper; import io.dataease.dataset.dto.DatasourceSchemaDTO; import io.dataease.dataset.manage.DatasetDataManage; import io.dataease.dataset.utils.TableUtils; @@ -109,6 +107,14 @@ public class DatasourceServer implements DatasourceApi { private boolean isUpdatingStatus = false; + private void getParents(Long pid, List ids) { + CoreDatasource parent = datasourceMapper.selectById(pid);// 查找父级folder + ids.add(parent.getId()); + if (parent.getPid() != null && parent.getPid() != 0) { + getParents(parent.getPid(), ids); + } + } + public void move(DatasourceDTO dataSourceDTO) throws DEException { switch (dataSourceDTO.getAction()) { case "move" -> { @@ -116,7 +122,12 @@ public class DatasourceServer implements DatasourceApi { DEException.throwException("目录必选!"); } if (Objects.equals(dataSourceDTO.getId(), dataSourceDTO.getPid())) { - DEException.throwException("pid can not equal to id."); + DEException.throwException(Translator.get("i18n_pid_not_eq_id")); + } + List ids = new ArrayList<>(); + getParents(dataSourceDTO.getPid(), ids); + if (ids.contains(dataSourceDTO.getId())) { + DEException.throwException(Translator.get("i18n_pid_not_eq_id")); } dataSourceManage.move(dataSourceDTO); } From 2d97fd672b3ba4e911803bf8639ccde18574ac37 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Wed, 25 Oct 2023 16:49:54 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E6=95=B0=E6=8D=AE=E9=9B=86=E8=A1=8C?= =?UTF-8?q?=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- de-xpack | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/de-xpack b/de-xpack index e3143e3176..0a8337cd2b 160000 --- a/de-xpack +++ b/de-xpack @@ -1 +1 @@ -Subproject commit e3143e3176ca189c35729fa7bb195264c061a824 +Subproject commit 0a8337cd2b6ea435977c22614c2a24bc9460c6c9