From f0c23ca47d586e0e90b568d559fc2b246a55965b Mon Sep 17 00:00:00 2001 From: lihongjie0209 Date: Thu, 11 Jan 2024 15:59:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=89=B9=E9=87=8F=E5=A4=8D?= =?UTF-8?q?=E5=88=B6=E6=96=87=E4=BB=B6/=E6=96=87=E4=BB=B6=E5=A4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lihongjie/coal/netDisk/dto/CopyDto.java | 4 +- .../coal/netDisk/service/NetDiskService.java | 43 ++++++++----------- 2 files changed, 20 insertions(+), 27 deletions(-) diff --git a/src/main/java/cn/lihongjie/coal/netDisk/dto/CopyDto.java b/src/main/java/cn/lihongjie/coal/netDisk/dto/CopyDto.java index e02206bd..260b17b6 100644 --- a/src/main/java/cn/lihongjie/coal/netDisk/dto/CopyDto.java +++ b/src/main/java/cn/lihongjie/coal/netDisk/dto/CopyDto.java @@ -2,11 +2,13 @@ package cn.lihongjie.coal.netDisk.dto; import lombok.Data; +import java.util.List; + @Data public class CopyDto { private String srcId; - private String newName; + private List srcIds; private String targetId; diff --git a/src/main/java/cn/lihongjie/coal/netDisk/service/NetDiskService.java b/src/main/java/cn/lihongjie/coal/netDisk/service/NetDiskService.java index f865d836..f05165e7 100644 --- a/src/main/java/cn/lihongjie/coal/netDisk/service/NetDiskService.java +++ b/src/main/java/cn/lihongjie/coal/netDisk/service/NetDiskService.java @@ -626,42 +626,33 @@ public class NetDiskService extends BaseService { - // if (x.getId().equals(src.getId())) { - // throw new BizException("不能复制到自己的子目录"); - // } - // }); if (!target.getEntryType().equals("0")) { throw new BizException("只能复制到目录"); } - if (target.getChildren().stream().filter(x -> x.getName().equals(src.getName())).count() - > 0) { - throw new BizException("目标目录已经存在同名文件/文件夹"); + for (String srcId : request.getSrcIds()) { + + NetDiskEntity srcEntity = get(srcId); + + NetDiskEntity src = this.mapper.copyChildren(srcEntity); + + if (target.getChildren().stream().filter(x -> x.getName().equals(src.getName())).count() + > 0) { + throw new BizException("目标目录已经存在同名文件/文件夹"); + } + + src.setParent(target); + + this.save(src); } - src.setParent(target); + if (target.getParent() != null) { - this.save(src); - - if (src.getParent() != null) { - - updateDirSize(src.getParent().getId()); + updateDirSize(target.getParent().getId()); } - - return this.mapper.toDto(src); + return null; } public String downloadFile(String id, boolean attachment) {