新增回收站文件还原接口
This commit is contained in:
parent
a3b4ec168b
commit
5253791bed
@ -90,4 +90,15 @@ public class PathUtil {
|
|||||||
}
|
}
|
||||||
return fileName.substring(fileName.lastIndexOf("."));
|
return fileName.substring(fileName.lastIndexOf("."));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getParentPath(String path) {
|
||||||
|
return path.substring(0, path.lastIndexOf("/"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
String path = "aaa/bbb/ccc";
|
||||||
|
System.out.println(getParentPath(path));
|
||||||
|
String fileName = path.substring(path.lastIndexOf("/"));
|
||||||
|
System.out.println(fileName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,20 @@
|
|||||||
package com.qiwenshare.file.controller;
|
package com.qiwenshare.file.controller;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import com.qiwenshare.common.cbb.DateUtil;
|
||||||
import com.qiwenshare.common.cbb.RestResult;
|
import com.qiwenshare.common.cbb.RestResult;
|
||||||
|
import com.qiwenshare.common.util.PathUtil;
|
||||||
import com.qiwenshare.file.api.IRecoveryFileService;
|
import com.qiwenshare.file.api.IRecoveryFileService;
|
||||||
import com.qiwenshare.file.api.IUserFileService;
|
import com.qiwenshare.file.api.IUserFileService;
|
||||||
|
import com.qiwenshare.file.api.IUserService;
|
||||||
import com.qiwenshare.file.domain.RecoveryFile;
|
import com.qiwenshare.file.domain.RecoveryFile;
|
||||||
|
import com.qiwenshare.file.domain.UserBean;
|
||||||
import com.qiwenshare.file.domain.UserFile;
|
import com.qiwenshare.file.domain.UserFile;
|
||||||
import com.qiwenshare.file.dto.BatchDeleteRecoveryFileDTO;
|
import com.qiwenshare.file.dto.BatchDeleteRecoveryFileDTO;
|
||||||
import com.qiwenshare.file.dto.DeleteRecoveryFileDTO;
|
import com.qiwenshare.file.dto.DeleteRecoveryFileDTO;
|
||||||
import com.qiwenshare.file.service.RecoveryFileService;
|
import com.qiwenshare.file.dto.recoveryfile.RestoreFileDto;
|
||||||
import com.qiwenshare.file.vo.file.RecoveryFileListVo;
|
import com.qiwenshare.file.vo.file.RecoveryFileListVo;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
@ -27,6 +33,8 @@ public class RecoveryFileController {
|
|||||||
IRecoveryFileService recoveryFileService;
|
IRecoveryFileService recoveryFileService;
|
||||||
@Resource
|
@Resource
|
||||||
IUserFileService userFileService;
|
IUserFileService userFileService;
|
||||||
|
@Resource
|
||||||
|
IUserService userService;
|
||||||
|
|
||||||
|
|
||||||
@Operation(summary = "删除回收文件", description = "删除回收文件", tags = {"recoveryfile"})
|
@Operation(summary = "删除回收文件", description = "删除回收文件", tags = {"recoveryfile"})
|
||||||
@ -76,4 +84,62 @@ public class RecoveryFileController {
|
|||||||
return restResult;
|
return restResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "还原文件", description = "还原文件", tags = {"recoveryfile"})
|
||||||
|
@RequestMapping(value = "/restorefile", method = RequestMethod.POST)
|
||||||
|
@ResponseBody
|
||||||
|
public RestResult restoreFile(RestoreFileDto restoreFileDto, @RequestHeader("token") String token) {
|
||||||
|
UserBean sessionUserBean = userService.getUserBeanByToken(token);
|
||||||
|
LambdaUpdateWrapper<UserFile> userFileLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
userFileLambdaUpdateWrapper.set(UserFile::getDeleteFlag, 0)
|
||||||
|
.set(UserFile::getDeleteBatchNum, "")
|
||||||
|
.eq(UserFile::getDeleteBatchNum, restoreFileDto.getDeleteBatchNum());
|
||||||
|
userFileService.update(userFileLambdaUpdateWrapper);
|
||||||
|
|
||||||
|
String filePath = PathUtil.getParentPath(restoreFileDto.getFilePath());
|
||||||
|
while(filePath.indexOf("/") != -1) {
|
||||||
|
String fileName = filePath.substring(filePath.lastIndexOf("/") + 1);
|
||||||
|
filePath = PathUtil.getParentPath(filePath);
|
||||||
|
LambdaQueryWrapper<UserFile> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.eq(UserFile::getFilePath, filePath)
|
||||||
|
.eq(UserFile::getDeleteFlag, 0)
|
||||||
|
.eq(UserFile::getUserId, sessionUserBean.getUserId());
|
||||||
|
List<UserFile> userFileList = userFileService.list(lambdaQueryWrapper);
|
||||||
|
if (userFileList.size() == 0) {
|
||||||
|
UserFile userFile = new UserFile();
|
||||||
|
userFile.setUserId(sessionUserBean.getUserId());
|
||||||
|
userFile.setFileName(fileName);
|
||||||
|
userFile.setFilePath(filePath);
|
||||||
|
userFile.setDeleteFlag(0);
|
||||||
|
userFile.setIsDir(1);
|
||||||
|
userFile.setUploadTime(DateUtil.getCurrentTime());
|
||||||
|
|
||||||
|
userFileService.save(userFile);
|
||||||
}
|
}
|
||||||
|
// else {
|
||||||
|
//
|
||||||
|
// LambdaUpdateWrapper<UserFile> updateUserfileWp = new LambdaUpdateWrapper<>();
|
||||||
|
// updateUserfileWp.set(UserFile::getDeleteBatchNum, "")
|
||||||
|
// .set(UserFile::getDeleteFlag, "0")
|
||||||
|
// .eq(UserFile::getFilePath, filePath).eq(UserFile::getUserId, sessionUserBean.getUserId());
|
||||||
|
// userFileService.update(updateUserfileWp);
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
LambdaQueryWrapper<RecoveryFile> recoveryFileServiceLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
recoveryFileServiceLambdaQueryWrapper.eq(RecoveryFile::getDeleteBatchNum, restoreFileDto.getDeleteBatchNum());
|
||||||
|
recoveryFileService.remove(recoveryFileServiceLambdaQueryWrapper);
|
||||||
|
|
||||||
|
|
||||||
|
return RestResult.success().message("还原成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
package com.qiwenshare.file.dto.recoveryfile;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class RestoreFileDto {
|
||||||
|
private String deleteBatchNum;
|
||||||
|
private String filePath;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user