diff --git a/src/main/java/com/qiwenshare/file/controller/FileController.java b/src/main/java/com/qiwenshare/file/controller/FileController.java index 14d16f8..8a87765 100644 --- a/src/main/java/com/qiwenshare/file/controller/FileController.java +++ b/src/main/java/com/qiwenshare/file/controller/FileController.java @@ -284,14 +284,11 @@ public class FileController { @MyLog(operation = "批量删除文件", module = CURRENT_MODULE) @ResponseBody public RestResult deleteImageByIds(@RequestBody BatchDeleteFileDTO batchDeleteFileDto) { - - JwtUser sessionUserBean = SessionUtil.getSession(); - List userFiles = JSON.parseArray(batchDeleteFileDto.getFiles(), UserFile.class); - DigestUtils.md5Hex("data"); - for (UserFile userFile : userFiles) { - - userFileService.deleteUserFile(userFile.getUserFileId(),sessionUserBean.getUserId()); - fileDealComp.deleteESByUserFileId(userFile.getUserFileId()); + String userFileIds = batchDeleteFileDto.getUserFileIds(); + String[] userFileIdList = userFileIds.split(","); + for (String userFileId : userFileIdList) { + userFileService.deleteUserFile(userFileId, SessionUtil.getUserId()); + fileDealComp.deleteESByUserFileId(userFileId); } return RestResult.success().message("批量删除文件成功"); @@ -332,23 +329,25 @@ public class FileController { @MyLog(operation = "文件复制", module = CURRENT_MODULE) @ResponseBody public RestResult copyFile(@RequestBody CopyFileDTO copyFileDTO) { - - JwtUser sessionUserBean = SessionUtil.getSession(); - - String userFileId = copyFileDTO.getUserFileId(); - UserFile userFile = userFileService.getById(userFileId); - String oldfilePath = userFile.getFilePath(); - String newfilePath = copyFileDTO.getFilePath(); - String fileName = userFile.getFileName(); - if (userFile.getIsDir() == 1) { - QiwenFile qiwenFile = new QiwenFile(oldfilePath, fileName, true); - if (newfilePath.startsWith(qiwenFile.getPath() + QiwenFile.separator) || newfilePath.equals(qiwenFile.getPath())) { - return RestResult.fail().message("原路径与目标路径冲突,不能复制"); + String userId = SessionUtil.getUserId(); + String filePath = copyFileDTO.getFilePath(); + String userFileIds = copyFileDTO.getUserFileIds(); + String[] userFileIdArr = userFileIds.split(","); + for (String userFileId : userFileIdArr) { + UserFile userFile = userFileService.getById(userFileId); + String oldfilePath = userFile.getFilePath(); + String fileName = userFile.getFileName(); + if (userFile.isDirectory()) { + QiwenFile qiwenFile = new QiwenFile(oldfilePath, fileName, true); + if (filePath.startsWith(qiwenFile.getPath() + QiwenFile.separator) || filePath.equals(qiwenFile.getPath())) { + return RestResult.fail().message("原路径与目标路径冲突,不能复制"); + } } + + userFileService.userFileCopy(SessionUtil.getUserId(), userFileId, filePath); + fileDealComp.deleteRepeatSubDirFile(filePath, userId); } - userFileService.userFileCopy(userFileId, newfilePath,sessionUserBean.getUserId()); - fileDealComp.deleteRepeatSubDirFile(newfilePath, sessionUserBean.getUserId()); return RestResult.success(); } @@ -387,13 +386,14 @@ public class FileController { JwtUser sessionUserBean = SessionUtil.getSession(); - String files = batchMoveFileDto.getFiles(); + String newfilePath = batchMoveFileDto.getFilePath(); - List fileList = JSON.parseArray(files, UserFile.class); + String userFileIds = batchMoveFileDto.getUserFileIds(); + String[] userFileIdArr = userFileIds.split(","); - for (UserFile userFile : fileList) { - + for (String userFileId : userFileIdArr) { + UserFile userFile = userFileService.getById(userFileId); if (StringUtil.isEmpty(userFile.getExtendName())) { QiwenFile qiwenFile = new QiwenFile(userFile.getFilePath(), userFile.getFileName(), true); if (newfilePath.startsWith(qiwenFile.getPath() + QiwenFile.separator) || newfilePath.equals(qiwenFile.getPath())) { diff --git a/src/main/java/com/qiwenshare/file/dto/file/BatchDeleteFileDTO.java b/src/main/java/com/qiwenshare/file/dto/file/BatchDeleteFileDTO.java index 71415e1..76a615e 100644 --- a/src/main/java/com/qiwenshare/file/dto/file/BatchDeleteFileDTO.java +++ b/src/main/java/com/qiwenshare/file/dto/file/BatchDeleteFileDTO.java @@ -3,12 +3,14 @@ package com.qiwenshare.file.dto.file; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import javax.validation.constraints.NotEmpty; import java.util.regex.Pattern; @Data @Schema(name = "批量删除文件DTO",required = true) public class BatchDeleteFileDTO { - @Schema(description="文件集合", required = true) - private String files; + @Schema(description="文件Id集合", required = true) + @NotEmpty + private String userFileIds; } diff --git a/src/main/java/com/qiwenshare/file/dto/file/BatchMoveFileDTO.java b/src/main/java/com/qiwenshare/file/dto/file/BatchMoveFileDTO.java index 78fe32f..dfffeed 100644 --- a/src/main/java/com/qiwenshare/file/dto/file/BatchMoveFileDTO.java +++ b/src/main/java/com/qiwenshare/file/dto/file/BatchMoveFileDTO.java @@ -6,8 +6,8 @@ import lombok.Data; @Data @Schema(name = "批量移动文件DTO",required = true) public class BatchMoveFileDTO { - @Schema(description="文件集合", required = true) - private String files; + @Schema(description="用户文件Id集合", required = true) + private String userFileIds; @Schema(description="目的文件路径", required = true) private String filePath; diff --git a/src/main/java/com/qiwenshare/file/dto/file/CopyFileDTO.java b/src/main/java/com/qiwenshare/file/dto/file/CopyFileDTO.java index cf21877..c8b6cee 100644 --- a/src/main/java/com/qiwenshare/file/dto/file/CopyFileDTO.java +++ b/src/main/java/com/qiwenshare/file/dto/file/CopyFileDTO.java @@ -6,8 +6,8 @@ import lombok.Data; @Data @Schema(name = "复制文件DTO",required = true) public class CopyFileDTO { - @Schema(description = "用户文件id", required = true) - private String userFileId; + @Schema(description = "用户文件id集合", required = true) + private String userFileIds; @Schema(description = "文件路径", required = true) private String filePath;