优化备份相关
This commit is contained in:
parent
347ae33c71
commit
dd85e18e76
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -422,4 +422,11 @@ public class CommonService {
|
|||
return "";
|
||||
}
|
||||
|
||||
public String getFileCode(String path) {
|
||||
int index = path.lastIndexOf(".");
|
||||
return path.substring(index + 1);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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<FileBackupLogMapper, FileBackupLog>
|
|||
}
|
||||
}
|
||||
|
||||
// @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<FileBackupLogMapper, FileBackupLog>
|
|||
.select(FileBackupLog::getFileTime)
|
||||
.orderByDesc(FileBackupLog::getFileTime)
|
||||
.last("limit 1"));
|
||||
if (eleFileBackupLogs.isEmpty()) {
|
||||
if (CollUtil.isEmpty(eleFileBackupLogs)) {
|
||||
return 0L;
|
||||
}
|
||||
return eleFileBackupLogs.get(0).getFileTime();
|
||||
|
|
|
|||
Loading…
Reference in New Issue