From 733474d5ed3d8072d6e0b3572cbbf96d45c148fb Mon Sep 17 00:00:00 2001 From: MAC <1162714483@qq.com> Date: Sat, 28 Aug 2021 00:34:34 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=96=87=E4=BB=B6=E8=A7=A3=E5=8E=8B):=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=A7=A3=E5=8E=8B=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 自动创建该文件名目录,并解压到目录里 --- .../file/dto/file/UnzipFileDTO.java | 2 +- .../qiwenshare/file/service/FileService.java | 14 ++++++++++--- .../qiwenshare/file/util/QiwenFileUtil.java | 21 +++++++++++++++++++ 3 files changed, 33 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/qiwenshare/file/util/QiwenFileUtil.java diff --git a/src/main/java/com/qiwenshare/file/dto/file/UnzipFileDTO.java b/src/main/java/com/qiwenshare/file/dto/file/UnzipFileDTO.java index 321da33..587552c 100644 --- a/src/main/java/com/qiwenshare/file/dto/file/UnzipFileDTO.java +++ b/src/main/java/com/qiwenshare/file/dto/file/UnzipFileDTO.java @@ -9,7 +9,7 @@ public class UnzipFileDTO { @Schema(description = "文件url", required = true) private long userFileId; - @Schema(description = "解压模式 0-解压到当前文件夹, 1-自动创建该文件名目录,并解压到目录里, 3-手动选择解压目录", required = true) + @Schema(description = "解压模式 0-解压到当前文件夹, 1-自动创建该文件名目录,并解压到目录里, 2-手动选择解压目录", required = true) private int unzipMode; @Schema(description = "解压目的文件目录,仅当 unzipMode 为 2 时必传") diff --git a/src/main/java/com/qiwenshare/file/service/FileService.java b/src/main/java/com/qiwenshare/file/service/FileService.java index 44df03f..2e63dac 100644 --- a/src/main/java/com/qiwenshare/file/service/FileService.java +++ b/src/main/java/com/qiwenshare/file/service/FileService.java @@ -10,6 +10,7 @@ import com.qiwenshare.file.domain.FileBean; import com.qiwenshare.file.domain.UserFile; import com.qiwenshare.file.mapper.FileMapper; import com.qiwenshare.file.mapper.UserFileMapper; +import com.qiwenshare.file.util.QiwenFileUtil; import com.qiwenshare.ufop.factory.UFOPFactory; import com.qiwenshare.ufop.operation.copy.domain.CopyFile; import com.qiwenshare.ufop.operation.download.Downloader; @@ -110,6 +111,11 @@ public class FileService extends ServiceImpl implements IF if (destFile.exists()) { destFile.delete(); } + + if (!fileEntryNameList.isEmpty()) { + UserFile qiwenDir = QiwenFileUtil.getQiwenDir(userFile.getUserId(), userFile.getFilePath(), userFile.getFileName()); + userFileMapper.insert(qiwenDir); + } for (int i = 0; i < fileEntryNameList.size(); i++){ String entryName = fileEntryNameList.get(i); log.info("文件名:"+ entryName); @@ -196,10 +202,12 @@ public class FileService extends ServiceImpl implements IF saveUserFile.setDeleteFlag(0); if (unzipMode == 1) { - String destFilePath = "/" + userFile.getFilePath() + saveUserFile.getFilePath(); - saveUserFile.setFilePath(destFilePath); +// String destFilePath = "/" + userFile.getFilePath() + saveUserFile.getFilePath(); +// saveUserFile.setFilePath(destFilePath); + + saveUserFile.setFilePath(UFOPUtils.pathSplitFormat(userFile.getFilePath() + userFile.getFileName() + "/" + entryName.replace(currentFile.getName(), "")).replace("\\", "/")); } else if(unzipMode == 2) { - saveUserFile.setFilePath(filePath); + saveUserFile.setFilePath(UFOPUtils.pathSplitFormat(filePath + entryName.replace(currentFile.getName(), "")).replace("\\", "/")); } String fileName = fileDealComp.getRepeatFileName(saveUserFile, saveUserFile.getFilePath()); diff --git a/src/main/java/com/qiwenshare/file/util/QiwenFileUtil.java b/src/main/java/com/qiwenshare/file/util/QiwenFileUtil.java new file mode 100644 index 0000000..6a14d75 --- /dev/null +++ b/src/main/java/com/qiwenshare/file/util/QiwenFileUtil.java @@ -0,0 +1,21 @@ +package com.qiwenshare.file.util; + +import com.qiwenshare.common.util.DateUtil; +import com.qiwenshare.file.domain.UserFile; + +public class QiwenFileUtil { + + public static UserFile getQiwenDir(long userId, String filePath, String fileName) { + UserFile userFile = new UserFile(); + userFile.setUserId(userId); + userFile.setFileId(null); + userFile.setFileName(fileName); + userFile.setFilePath(filePath); + userFile.setExtendName(null); + userFile.setIsDir(1); + userFile.setUploadTime(DateUtil.getCurrentTime()); + userFile.setDeleteFlag(0); + userFile.setDeleteBatchNum(null); + return userFile; + } +}