开启定时任务,修改已知问题。

This commit is contained in:
chenxudong 2025-03-12 16:25:06 +08:00
parent 10ca9cd403
commit 8213bbf18c
3 changed files with 10 additions and 2 deletions

View File

@ -1,8 +1,11 @@
package com.electromagnetic.industry.software.manage.controller; 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.annotations.UserOperation;
import com.electromagnetic.industry.software.common.enums.AdminTypeEnum;
import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum; import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum;
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; 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.pojo.req.RecycleFileQueryDTO;
import com.electromagnetic.industry.software.manage.service.FileRecycleService; import com.electromagnetic.industry.software.manage.service.FileRecycleService;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@ -28,12 +31,14 @@ public class FileRecycleController {
@RequestMapping("remove") @RequestMapping("remove")
@UserOperation(value = "彻底清除文件", modelName = UserOperationModuleEnum.SYS_PRJ_DATABASE) @UserOperation(value = "彻底清除文件", modelName = UserOperationModuleEnum.SYS_PRJ_DATABASE)
public ElectromagneticResult<?> remove(@RequestParam String fileId) { public ElectromagneticResult<?> remove(@RequestParam String fileId) {
Assert.isTrue(UserThreadLocal.getAdminType().equals(AdminTypeEnum.SYSTEM.getValue()), "当前用户没有删除文件权限");
return fileRecycleService.remove(fileId); return fileRecycleService.remove(fileId);
} }
@RequestMapping("recover") @RequestMapping("recover")
@UserOperation(value = "文件恢复", modelName = UserOperationModuleEnum.SYS_PRJ_DATABASE) @UserOperation(value = "文件恢复", modelName = UserOperationModuleEnum.SYS_PRJ_DATABASE)
public ElectromagneticResult<?> recover(@RequestParam String fileId) { public ElectromagneticResult<?> recover(@RequestParam String fileId) {
Assert.isTrue(UserThreadLocal.getAdminType().equals(AdminTypeEnum.SYSTEM.getValue()), "当前用户没有文件恢复权限");
return fileRecycleService.recover(fileId); return fileRecycleService.recover(fileId);
} }

View File

@ -214,6 +214,7 @@ public class FileRecycleServiceImpl implements FileRecycleService {
.eq(EdFileInfo::getFileId, fileId) .eq(EdFileInfo::getFileId, fileId)
.last("limit 1")); .last("limit 1"));
EdFileInfo edFileInfo = edFileInfos.get(0); 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())); 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); UserThreadLocal.setSuccessInfo(edFileInfo.getParentId(), edFileInfo.getId(), "还原文件 {} 成功文件id为 {}", edFileInfo.getFileName() + "." + edFileInfo.getFileType(), fileId);
return ElectromagneticResultUtil.success("还原文件成功"); return ElectromagneticResultUtil.success("还原文件成功");

View File

@ -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.pojo.models.UserAccessLog;
import com.electromagnetic.industry.software.manage.service.FileSystemService; import com.electromagnetic.industry.software.manage.service.FileSystemService;
import com.electromagnetic.industry.software.manage.service.serviceimpl.CommonService; import com.electromagnetic.industry.software.manage.service.serviceimpl.CommonService;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -56,7 +57,7 @@ public class BackupTask {
return FileUtil.loopFiles(dir, filter); return FileUtil.loopFiles(dir, filter);
} }
// @Scheduled(cron = "0 0 1 * * ?") @Scheduled(cron = "0 0 1 * * ?")
public void backup() { public void backup() {
// 首先查看备份失败的文件 // 首先查看备份失败的文件
@ -111,6 +112,7 @@ public class BackupTask {
.setFileCreateTime(edFileInfo.getCreatedTime()) .setFileCreateTime(edFileInfo.getCreatedTime())
.setSource(FileBackupSource.SYS_BACKUP.code); .setSource(FileBackupSource.SYS_BACKUP.code);
fileBackupLogMapper.insert(backupLog); fileBackupLogMapper.insert(backupLog);
} }
} }
@ -129,7 +131,7 @@ public class BackupTask {
return fileBackupLogs.stream().map(FileBackupLog::getFileId).collect(Collectors.toList()); return fileBackupLogs.stream().map(FileBackupLog::getFileId).collect(Collectors.toList());
} }
// @Scheduled(cron = "0 0 3 * * ?") @Scheduled(cron = "0 0 3 * * ?")
public void deleteTmpFile() { public void deleteTmpFile() {
DateTime backDaysTime = DateUtil.offsetDay(new Date(), -elePropertyConfig.getTmpFileStoreDays()); DateTime backDaysTime = DateUtil.offsetDay(new Date(), -elePropertyConfig.getTmpFileStoreDays());
FileFilter filter = file -> file.lastModified() < backDaysTime.getTime(); FileFilter filter = file -> file.lastModified() < backDaysTime.getTime();