!78 自动创建该文件名目录,并解压到目录里

Merge pull request !78 from MAC/develop
This commit is contained in:
MAC 2021-08-27 16:35:30 +00:00 committed by Gitee
commit f22a4d5fb9
4 changed files with 34 additions and 4 deletions

View File

@ -124,6 +124,7 @@ public class FileDealComp {
lambdaQueryWrapper.eq(UserFile::getFilePath, parentFilePath + FileConstant.pathSeparator)
.eq(UserFile::getFileName, fileName)
.eq(UserFile::getDeleteFlag, 0)
.eq(UserFile::getIsDir, 1)
.eq(UserFile::getUserId, sessionUserId);
List<UserFile> userFileList = userFileMapper.selectList(lambdaQueryWrapper);
if (userFileList.size() == 0) {

View File

@ -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 时必传")

View File

@ -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<FileMapper, FileBean> 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<FileMapper, FileBean> 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());

View File

@ -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;
}
}