From 73efd5f8585215f2906072319f783524357f8556 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E8=B6=85?= <1162714483@qq.com> Date: Sat, 10 Apr 2021 19:57:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E5=88=86=E4=BA=AB=E6=96=87?= =?UTF-8?q?=E4=BB=B6bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qiwenshare/file/api/IUserFileService.java | 2 +- .../file/controller/ShareController.java | 10 ++++--- .../file/service/UserFileService.java | 26 +++++++++++-------- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/file-web/src/main/java/com/qiwenshare/file/api/IUserFileService.java b/file-web/src/main/java/com/qiwenshare/file/api/IUserFileService.java index 6dbaad3..d5d6321 100644 --- a/file-web/src/main/java/com/qiwenshare/file/api/IUserFileService.java +++ b/file-web/src/main/java/com/qiwenshare/file/api/IUserFileService.java @@ -22,6 +22,6 @@ public interface IUserFileService extends IService { List selectFileListLikeRightFilePath(String filePath, long userId); List selectFilePathTreeByUserId(Long userId); void deleteUserFile(Long userFileId, Long sessionUserId); - UserFile repeatUserFileDeal(UserFile userFile); + String getRepeatFileName(UserFile userFile, String savefilePath); } diff --git a/file-web/src/main/java/com/qiwenshare/file/controller/ShareController.java b/file-web/src/main/java/com/qiwenshare/file/controller/ShareController.java index 9200f36..2d2d71e 100644 --- a/file-web/src/main/java/com/qiwenshare/file/controller/ShareController.java +++ b/file-web/src/main/java/com/qiwenshare/file/controller/ShareController.java @@ -116,6 +116,9 @@ public class ShareController { List saveUserFileList = new ArrayList<>(); for (ShareFile shareFile : fileList) { UserFile userFile = userFileService.getById(shareFile.getUserFileId()); + String fileName = userFile.getFileName(); + String savefileName = userFileService.getRepeatFileName(userFile, savefilePath); + if (userFile.getIsDir() == 1) { List userfileList = userFileService.selectFileListLikeRightFilePath(userFile.getFilePath() + userFile.getFileName(), userFile.getUserId()); log.info("查询文件列表:" + JSON.toJSONString(userfileList)); @@ -123,8 +126,7 @@ public class ShareController { userfileList.forEach(p->{ p.setUserFileId(null); p.setUserId(userId); - p.setFilePath(p.getFilePath().replaceFirst(filePath, savefilePath)); - p = userFileService.repeatUserFileDeal(p); + p.setFilePath(p.getFilePath().replaceFirst(filePath + fileName, savefilePath + savefileName)); saveUserFileList.add(p); log.info("当前文件:" + JSON.toJSONString(p)); if (p.getIsDir() == 0) { @@ -134,12 +136,12 @@ public class ShareController { } else { fileService.increaseFilePointCount(userFile.getFileId()); } - userFile.setUserFileId(null); userFile.setUserId(userId); userFile.setFilePath(savefilePath); - userFile = userFileService.repeatUserFileDeal(userFile); + userFile.setFileName(savefileName); saveUserFileList.add(userFile); + } log.info("----------" + JSON.toJSONString(saveUserFileList)); userFileService.saveBatch(saveUserFileList); diff --git a/file-web/src/main/java/com/qiwenshare/file/service/UserFileService.java b/file-web/src/main/java/com/qiwenshare/file/service/UserFileService.java index b6c5cb8..96ad83b 100644 --- a/file-web/src/main/java/com/qiwenshare/file/service/UserFileService.java +++ b/file-web/src/main/java/com/qiwenshare/file/service/UserFileService.java @@ -217,38 +217,42 @@ public class UserFileService extends ServiceImpl impl } @Override - public UserFile repeatUserFileDeal(UserFile userFile) { + public String getRepeatFileName(UserFile userFile, String savefilePath) { String fileName = userFile.getFileName(); - String filePath = userFile.getFilePath(); String extendName = userFile.getExtendName(); Integer deleteFlag = userFile.getDeleteFlag(); Long userId = userFile.getUserId(); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(UserFile::getFilePath, filePath) - .eq(UserFile::getExtendName, extendName) + lambdaQueryWrapper.eq(UserFile::getFilePath, savefilePath) .eq(UserFile::getDeleteFlag, deleteFlag) .eq(UserFile::getUserId, userId) .eq(UserFile::getFileName, fileName); + if (userFile.getIsDir() == 0) { + lambdaQueryWrapper.eq(UserFile::getExtendName, extendName); + } List list = userFileMapper.selectList(lambdaQueryWrapper); if (list == null) { - return userFile; + return fileName; } if (list.isEmpty()) { - return userFile; + return fileName; } int i = 0; while (list != null && !list.isEmpty()) { i++; - lambdaQueryWrapper.eq(UserFile::getFilePath, filePath) - .eq(UserFile::getExtendName, extendName) + LambdaQueryWrapper lambdaQueryWrapper1 = new LambdaQueryWrapper<>(); + lambdaQueryWrapper1.eq(UserFile::getFilePath, savefilePath) .eq(UserFile::getDeleteFlag, deleteFlag) .eq(UserFile::getUserId, userId) .eq(UserFile::getFileName, fileName + "(" + i + ")"); - list = userFileMapper.selectList(lambdaQueryWrapper); + if (userFile.getIsDir() == 0) { + lambdaQueryWrapper1.eq(UserFile::getExtendName, extendName); + } + list = userFileMapper.selectList(lambdaQueryWrapper1); } - userFile.setFileName(fileName + "(" + i + ")"); - return userFile; + + return fileName + "(" + i + ")"; }