From dd85e18e7654cac887514619d0d3ba7b313a3023 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Fri, 28 Feb 2025 09:56:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=A4=87=E4=BB=BD=E7=9B=B8?= =?UTF-8?q?=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/FileRecycleController.java | 4 +-- .../manage/pojo/models/FileBackupLog.java | 4 +-- .../service/serviceimpl/CommonService.java | 7 ++++++ .../serviceimpl/FileRecycleServiceImpl.java | 25 ++++++++++--------- .../software/manage/tasks/BackupTask.java | 6 +++-- 5 files changed, 28 insertions(+), 18 deletions(-) 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 cfbb546..23bd6c2 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 @@ -26,13 +26,13 @@ public class FileRecycleController { } @RequestMapping("remove") - @UserOperation(value = "查看回收站", modelName = UserOperationModuleEnum.DATABASE) + @UserOperation(value = "物理删除", modelName = UserOperationModuleEnum.DATABASE) public ElectromagneticResult remove(@RequestParam String fileId) { return fileRecycleService.remove(fileId); } @RequestMapping("list") - @UserOperation(value = "查看回收站", modelName = UserOperationModuleEnum.DATABASE) + @UserOperation(value = "文件恢复", modelName = UserOperationModuleEnum.DATABASE) public ElectromagneticResult recover(@RequestParam String fileId) { return fileRecycleService.recover(fileId); } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/FileBackupLog.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/FileBackupLog.java index d523932..078390d 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/FileBackupLog.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/FileBackupLog.java @@ -1,14 +1,12 @@ package com.electromagnetic.industry.software.manage.pojo.models; import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Builder; import lombok.Data; import lombok.experimental.Accessors; import java.util.Date; @TableName("file_backup_log") -@Builder @Data @Accessors(chain = true) public class FileBackupLog { @@ -17,6 +15,8 @@ public class FileBackupLog { private String fileId; + private String fileCode; + private boolean backupSuccess; private Date createTime; diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java index 7620921..c642478 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java @@ -422,4 +422,11 @@ public class CommonService { return ""; } + public String getFileCode(String path) { + int index = path.lastIndexOf("."); + return path.substring(index + 1); + + } + + } 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 2709ca8..fa31676 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 @@ -132,22 +132,22 @@ public class FileRecycleServiceImpl implements FileRecycleService { String saveFileName = edFileInfo.getFileName() + "." + edFileInfo.getFileType() + "." + edFileInfo.getFileCode(); // 表示从没有备份过该文件 - if (fileBackupLog != null) { + if (fileBackupLog == null) { long startTime = System.currentTimeMillis(); BackupFileResLog backup = backupTask.backup(fileSysPath); long endTime = System.currentTimeMillis(); - FileBackupLog backupLog = FileBackupLog.builder() - .id(IdWorker.getSnowFlakeIdString()) - .fileId(edFileInfo.getId()) - .startTime(startTime) - .endTime(endTime) - .duration(endTime - startTime) - .fileTime(FileUtil.lastModifiedTime(fileSysPath).getTime()) - .createTime(new Date()) - .fileName(saveFileName) - .source(FileBackupSource.SYS_BACKUP.code) - .build(); + FileBackupLog backupLog = new FileBackupLog() + .setId(IdWorker.getSnowFlakeIdString()) + .setFileId(edFileInfo.getId()) + .setStartTime(startTime) + .setEndTime(endTime) + .setDuration(endTime - startTime) + .setFileTime(FileUtil.lastModifiedTime(fileSysPath).getTime()) + .setCreateTime(new Date()) + .setFileName(saveFileName) + .setFileCode(commonService.getFileCode(fileSysPath)) + .setSource(FileBackupSource.SYS_BACKUP.code); if (backup.getBackupSuccess()) { backupLog.setBackupSuccess(true); @@ -168,6 +168,7 @@ public class FileRecycleServiceImpl implements FileRecycleService { .setDuration(endTime - startTime) .setFileTime(FileUtil.lastModifiedTime(fileSysPath).getTime()) .setCreateTime(new Date()) + .setFileCode(commonService.getFileCode(fileSysPath)) .setFileName(saveFileName); if (backup.getBackupSuccess()) { fileBackupLog.setBackupSuccess(true); 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 43b792e..5418951 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 @@ -1,5 +1,6 @@ package com.electromagnetic.industry.software.manage.tasks; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.io.FileUtil; @@ -18,6 +19,7 @@ import com.electromagnetic.industry.software.manage.mapper.UserAccessLogMapper; 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 org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -52,7 +54,7 @@ public class BackupTask extends ServiceImpl } } -// @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(); @@ -98,7 +100,7 @@ public class BackupTask extends ServiceImpl .select(FileBackupLog::getFileTime) .orderByDesc(FileBackupLog::getFileTime) .last("limit 1")); - if (eleFileBackupLogs.isEmpty()) { + if (CollUtil.isEmpty(eleFileBackupLogs)) { return 0L; } return eleFileBackupLogs.get(0).getFileTime();