From 65bbd30d2c1ad64861363d55307a6e46550458e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E8=B6=85?= <1162714483@qq.com> Date: Mon, 26 Jul 2021 20:45:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=9B=AE=E5=BD=95=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../file/component/FileDealComp.java | 5 +- .../controller/FiletransferController.java | 74 +++++++++---------- .../file/controller/TaskController.java | 2 +- .../file/service/FiletransferService.java | 3 + 4 files changed, 43 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/qiwenshare/file/component/FileDealComp.java b/src/main/java/com/qiwenshare/file/component/FileDealComp.java index 5aaf330..b25ddcc 100644 --- a/src/main/java/com/qiwenshare/file/component/FileDealComp.java +++ b/src/main/java/com/qiwenshare/file/component/FileDealComp.java @@ -148,6 +148,7 @@ public class FileDealComp { * @param sessionUserId */ public void deleteRepeatSubDirFile(String filePath, Long sessionUserId) { + log.debug("删除子目录:"+filePath); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.select(UserFile::getFileName, UserFile::getFilePath) @@ -269,7 +270,7 @@ public class FileDealComp { elasticSearchService.save(fileSearch); } } catch (Exception e) { - log.error("ES更新操作失败,请检查配置"); + log.debug("ES更新操作失败,请检查配置"); } }); @@ -281,7 +282,7 @@ public class FileDealComp { try { elasticSearchService.deleteById(userFileId); } catch (Exception e) { - log.error("ES删除操作失败,请检查配置"); + log.debug("ES删除操作失败,请检查配置"); } }); diff --git a/src/main/java/com/qiwenshare/file/controller/FiletransferController.java b/src/main/java/com/qiwenshare/file/controller/FiletransferController.java index 46aba8e..804eac0 100644 --- a/src/main/java/com/qiwenshare/file/controller/FiletransferController.java +++ b/src/main/java/com/qiwenshare/file/controller/FiletransferController.java @@ -55,10 +55,7 @@ public class FiletransferController { FileDealComp fileDealComp; @Resource StorageService storageService; - @Resource - ShareService shareService; - @Resource - ShareFileService shareFileService; + public static final String CURRENT_MODULE = "文件传输接口"; @Operation(summary = "极速上传", description = "校验文件MD5判断文件是否存在,如果存在直接上传成功并返回skipUpload=true,如果不存在返回skipUpload=false需要再次调用该接口的POST方法", tags = {"filetransfer"}) @@ -77,45 +74,46 @@ public class FiletransferController { UploadFileVo uploadFileVo = new UploadFileVo(); Map param = new HashMap(); param.put("identifier", uploadFileDto.getIdentifier()); - synchronized (FiletransferController.class) { - List list = fileService.listByMap(param); - if (list != null && !list.isEmpty()) { - FileBean file = list.get(0); - UserFile userFile = new UserFile(); + List list = fileService.listByMap(param); + if (list != null && !list.isEmpty()) { + FileBean file = list.get(0); - userFile.setUserId(sessionUserBean.getUserId()); - String relativePath = uploadFileDto.getRelativePath(); - if (relativePath.contains("/")) { - userFile.setFilePath(uploadFileDto.getFilePath() + PathUtil.getParentPath(relativePath) + "/"); - fileDealComp.restoreParentFilePath(uploadFileDto.getFilePath() + PathUtil.getParentPath(relativePath) + "/", sessionUserBean.getUserId()); - } else { - userFile.setFilePath(uploadFileDto.getFilePath()); - } - - String fileName = uploadFileDto.getFilename(); - userFile.setFileName(FileUtil.getFileNameNotExtend(fileName)); - userFile.setExtendName(FileUtil.getFileExtendName(fileName)); - userFile.setDeleteFlag(0); - List userFileList = userFileService.userFileList(userFile, null, null); - if (userFileList.size() <= 0) { - - userFile.setIsDir(0); - userFile.setUploadTime(DateUtil.getCurrentTime()); - userFile.setFileId(file.getFileId()); - //"fileName", "filePath", "extendName", "deleteFlag", "userId" - - userFileService.save(userFile); - fileService.increaseFilePointCount(file.getFileId()); - fileDealComp.uploadESByUserFileId(userFile.getUserFileId()); - } - - uploadFileVo.setSkipUpload(true); + UserFile userFile = new UserFile(); + userFile.setUserId(sessionUserBean.getUserId()); + String relativePath = uploadFileDto.getRelativePath(); + if (relativePath.contains("/")) { + userFile.setFilePath(uploadFileDto.getFilePath() + PathUtil.getParentPath(relativePath) + "/"); + fileDealComp.restoreParentFilePath(uploadFileDto.getFilePath() + PathUtil.getParentPath(relativePath) + "/", sessionUserBean.getUserId()); + String rootPath = relativePath.split("/")[0]; + fileDealComp.deleteRepeatSubDirFile(uploadFileDto.getFilePath() + rootPath + "/", sessionUserBean.getUserId()); } else { - uploadFileVo.setSkipUpload(false); - + userFile.setFilePath(uploadFileDto.getFilePath()); } + + String fileName = uploadFileDto.getFilename(); + userFile.setFileName(FileUtil.getFileNameNotExtend(fileName)); + userFile.setExtendName(FileUtil.getFileExtendName(fileName)); + userFile.setDeleteFlag(0); + List userFileList = userFileService.userFileList(userFile, null, null); + if (userFileList.size() <= 0) { + + userFile.setIsDir(0); + userFile.setUploadTime(DateUtil.getCurrentTime()); + userFile.setFileId(file.getFileId()); + //"fileName", "filePath", "extendName", "deleteFlag", "userId" + + userFileService.save(userFile); + fileService.increaseFilePointCount(file.getFileId()); + fileDealComp.uploadESByUserFileId(userFile.getUserFileId()); + } + + uploadFileVo.setSkipUpload(true); + + } else { + uploadFileVo.setSkipUpload(false); + } return RestResult.success().data(uploadFileVo); diff --git a/src/main/java/com/qiwenshare/file/controller/TaskController.java b/src/main/java/com/qiwenshare/file/controller/TaskController.java index 6bd7ff5..c8e7e8a 100644 --- a/src/main/java/com/qiwenshare/file/controller/TaskController.java +++ b/src/main/java/com/qiwenshare/file/controller/TaskController.java @@ -64,7 +64,7 @@ public class TaskController { try { elasticSearchService.deleteAll(); } catch (Exception e) { - log.error("删除ES失败:" + e); + log.debug("删除ES失败:" + e); } List userfileList = userFileService.list(); diff --git a/src/main/java/com/qiwenshare/file/service/FiletransferService.java b/src/main/java/com/qiwenshare/file/service/FiletransferService.java index c955e76..b012511 100644 --- a/src/main/java/com/qiwenshare/file/service/FiletransferService.java +++ b/src/main/java/com/qiwenshare/file/service/FiletransferService.java @@ -103,6 +103,9 @@ public class FiletransferService implements IFiletransferService { if (relativePath.contains("/")) { userFile.setFilePath(uploadFileDto.getFilePath() + PathUtil.getParentPath(relativePath) + "/"); fileDealComp.restoreParentFilePath(uploadFileDto.getFilePath() + PathUtil.getParentPath(relativePath) + "/", userId); + String rootPath = relativePath.split("/")[0]; + + fileDealComp.deleteRepeatSubDirFile(uploadFileDto.getFilePath() + rootPath + "/", userId); } else { userFile.setFilePath(uploadFileDto.getFilePath());