diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/FileRecycleController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/FileRecycleController.java index 8c043ea..20aeced 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/FileRecycleController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/FileRecycleController.java @@ -1,8 +1,11 @@ package com.electromagnetic.industry.software.manage.controller; +import cn.hutool.core.lang.Assert; import com.electromagnetic.industry.software.common.annotations.UserOperation; +import com.electromagnetic.industry.software.common.enums.AdminTypeEnum; import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum; import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; +import com.electromagnetic.industry.software.common.util.UserThreadLocal; import com.electromagnetic.industry.software.manage.pojo.req.RecycleFileQueryDTO; import com.electromagnetic.industry.software.manage.service.FileRecycleService; import org.springframework.web.bind.annotation.RequestBody; @@ -28,12 +31,14 @@ public class FileRecycleController { @RequestMapping("remove") @UserOperation(value = "彻底清除文件", modelName = UserOperationModuleEnum.SYS_PRJ_DATABASE) public ElectromagneticResult remove(@RequestParam String fileId) { + Assert.isTrue(UserThreadLocal.getAdminType().equals(AdminTypeEnum.SYSTEM.getValue()), "当前用户没有删除文件权限"); return fileRecycleService.remove(fileId); } @RequestMapping("recover") @UserOperation(value = "文件恢复", modelName = UserOperationModuleEnum.SYS_PRJ_DATABASE) public ElectromagneticResult recover(@RequestParam String fileId) { + Assert.isTrue(UserThreadLocal.getAdminType().equals(AdminTypeEnum.SYSTEM.getValue()), "当前用户没有文件恢复权限"); return fileRecycleService.recover(fileId); } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileRecycleServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileRecycleServiceImpl.java index 69ad09e..c8c1a66 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileRecycleServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileRecycleServiceImpl.java @@ -214,6 +214,7 @@ public class FileRecycleServiceImpl implements FileRecycleService { .eq(EdFileInfo::getFileId, fileId) .last("limit 1")); EdFileInfo edFileInfo = edFileInfos.get(0); + this.edFileInfoMapper.update(new EdFileInfo(), Wrappers.lambdaUpdate(EdFileInfo.class).set(EdFileInfo::getAllDeleted, false).eq(EdFileInfo::getFileId, fileId)); this.edFileInfoMapper.update(new EdFileInfo(), Wrappers.lambdaUpdate(EdFileInfo.class).set(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code).eq(EdFileInfo::getId, edFileInfo.getId())); UserThreadLocal.setSuccessInfo(edFileInfo.getParentId(), edFileInfo.getId(), "还原文件 {} 成功,文件id为 {}", edFileInfo.getFileName() + "." + edFileInfo.getFileType(), fileId); return ElectromagneticResultUtil.success("还原文件成功"); diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/tasks/BackupTask.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/tasks/BackupTask.java index bf1c34f..ab6a5ff 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/tasks/BackupTask.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/tasks/BackupTask.java @@ -24,6 +24,7 @@ import com.electromagnetic.industry.software.manage.pojo.models.FileBackupLog; import com.electromagnetic.industry.software.manage.pojo.models.UserAccessLog; import com.electromagnetic.industry.software.manage.service.FileSystemService; import com.electromagnetic.industry.software.manage.service.serviceimpl.CommonService; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -56,7 +57,7 @@ public class BackupTask { return FileUtil.loopFiles(dir, filter); } - // @Scheduled(cron = "0 0 1 * * ?") + @Scheduled(cron = "0 0 1 * * ?") public void backup() { // 首先查看备份失败的文件 @@ -111,6 +112,7 @@ public class BackupTask { .setFileCreateTime(edFileInfo.getCreatedTime()) .setSource(FileBackupSource.SYS_BACKUP.code); fileBackupLogMapper.insert(backupLog); + } } @@ -129,7 +131,7 @@ public class BackupTask { return fileBackupLogs.stream().map(FileBackupLog::getFileId).collect(Collectors.toList()); } - // @Scheduled(cron = "0 0 3 * * ?") + @Scheduled(cron = "0 0 3 * * ?") public void deleteTmpFile() { DateTime backDaysTime = DateUtil.offsetDay(new Date(), -elePropertyConfig.getTmpFileStoreDays()); FileFilter filter = file -> file.lastModified() < backDaysTime.getTime();