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 implements IRecoveryFileService { @Resource DocFilePathMapper docFilePathMapper; @Autowired DocFileDealComp docFileDealComp; @Override public void deleteUserFileByDeleteBatchNum(String deleteBatchNum) { LambdaQueryWrapper userFileLambdaQueryWrapper = new LambdaQueryWrapper<>(); userFileLambdaQueryWrapper.eq(DocFilePath::getDeleteBatchNum, deleteBatchNum); docFilePathMapper.delete(userFileLambdaQueryWrapper); } @Override public List selectRecoveryFileList(String userId) { return baseMapper.selectRecoveryFileList(userId); } @Override public void restorefile(String deleteBatchNum, String filePath, String pathId, String loginUserId) { LambdaUpdateWrapper 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 recoveryFileServiceLambdaQueryWrapper = new LambdaQueryWrapper<>(); recoveryFileServiceLambdaQueryWrapper.eq(RecoveryFile::getDeleteBatchNum, deleteBatchNum); baseMapper.delete(recoveryFileServiceLambdaQueryWrapper); } }