package org.jeecg.modules.doc.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.jeecg.modules.doc.component.DocFileDealComp;
|
import org.jeecg.modules.doc.constant.Constant;
|
import org.jeecg.modules.doc.entity.DocFilePath;
|
import org.jeecg.modules.doc.entity.RecoveryFile;
|
import org.jeecg.modules.doc.mapper.DocFilePathMapper;
|
import org.jeecg.modules.doc.mapper.RecoveryFileMapper;
|
import org.jeecg.modules.doc.service.IRecoveryFileService;
|
import org.jeecg.modules.doc.vo.QiwenFile;
|
import org.jeecg.modules.doc.vo.RecoveryFileListVo;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
|
|
@Service
|
public class RecoveryFileServiceImpl extends ServiceImpl<RecoveryFileMapper, RecoveryFile> implements IRecoveryFileService {
|
|
@Resource
|
DocFilePathMapper docFilePathMapper;
|
|
@Autowired
|
DocFileDealComp docFileDealComp;
|
@Override
|
public void deleteUserFileByDeleteBatchNum(String deleteBatchNum) {
|
LambdaQueryWrapper<DocFilePath> userFileLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
userFileLambdaQueryWrapper.eq(DocFilePath::getDeleteBatchNum, deleteBatchNum);
|
docFilePathMapper.delete(userFileLambdaQueryWrapper);
|
}
|
|
@Override
|
public List<RecoveryFileListVo> selectRecoveryFileList(String userId) {
|
return baseMapper.selectRecoveryFileList(userId);
|
}
|
|
@Override
|
public void restorefile(String deleteBatchNum, String filePath, String pathId, String loginUserId) {
|
|
LambdaUpdateWrapper<DocFilePath> userFileLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
userFileLambdaUpdateWrapper.set(DocFilePath::getDeleteFlag, Constant.DEL_FALSE)
|
.set(DocFilePath::getDeleteBatchNum, "")
|
.eq(DocFilePath::getDeleteBatchNum, deleteBatchNum);
|
docFilePathMapper.update(null, userFileLambdaUpdateWrapper);
|
QiwenFile qiwenFile = new QiwenFile(filePath, true);
|
docFileDealComp.restoreParentFilePath(qiwenFile, pathId);
|
|
docFileDealComp.deleteRepeatSubDirFile(filePath);
|
// TODO 如果被还原的文件已存在,暂未实现
|
|
LambdaQueryWrapper<RecoveryFile> recoveryFileServiceLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
recoveryFileServiceLambdaQueryWrapper.eq(RecoveryFile::getDeleteBatchNum, deleteBatchNum);
|
baseMapper.delete(recoveryFileServiceLambdaQueryWrapper);
|
}
|
|
}
|