fix(批量操作): 批量操作报错修改

This commit is contained in:
马超 2023-02-07 13:43:04 +08:00
parent b93e1342ab
commit 7e7016030e
4 changed files with 34 additions and 32 deletions

View File

@ -284,14 +284,11 @@ public class FileController {
@MyLog(operation = "批量删除文件", module = CURRENT_MODULE)
@ResponseBody
public RestResult<String> deleteImageByIds(@RequestBody BatchDeleteFileDTO batchDeleteFileDto) {
JwtUser sessionUserBean = SessionUtil.getSession();
List<UserFile> 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<String> copyFile(@RequestBody CopyFileDTO copyFileDTO) {
JwtUser sessionUserBean = SessionUtil.getSession();
String userFileId = copyFileDTO.getUserFileId();
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 newfilePath = copyFileDTO.getFilePath();
String fileName = userFile.getFileName();
if (userFile.getIsDir() == 1) {
if (userFile.isDirectory()) {
QiwenFile qiwenFile = new QiwenFile(oldfilePath, fileName, true);
if (newfilePath.startsWith(qiwenFile.getPath() + QiwenFile.separator) || newfilePath.equals(qiwenFile.getPath())) {
if (filePath.startsWith(qiwenFile.getPath() + QiwenFile.separator) || filePath.equals(qiwenFile.getPath())) {
return RestResult.fail().message("原路径与目标路径冲突,不能复制");
}
}
userFileService.userFileCopy(userFileId, newfilePath,sessionUserBean.getUserId());
fileDealComp.deleteRepeatSubDirFile(newfilePath, sessionUserBean.getUserId());
userFileService.userFileCopy(SessionUtil.getUserId(), userFileId, filePath);
fileDealComp.deleteRepeatSubDirFile(filePath, userId);
}
return RestResult.success();
}
@ -387,13 +386,14 @@ public class FileController {
JwtUser sessionUserBean = SessionUtil.getSession();
String files = batchMoveFileDto.getFiles();
String newfilePath = batchMoveFileDto.getFilePath();
List<UserFile> fileList = JSON.parseArray(files, UserFile.class);
for (UserFile userFile : fileList) {
String userFileIds = batchMoveFileDto.getUserFileIds();
String[] userFileIdArr = userFileIds.split(",");
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())) {

View File

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

View File

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

View File

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