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) {