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 d78ac93..ef3b270 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 @@ -97,35 +97,43 @@ public class BackupTask { .eq(EdFileInfo::getAllDeleted, false) .gt(EdFileInfo::getCreatedTime, fileMaxCreateTime)); for (EdFileInfo edFileInfo : edFileInfos) { - long count = fileBackupLogMapper.selectCount(Wrappers.lambdaQuery().eq(FileBackupLog::getFileId, edFileInfo.getId())); - if (count > 0) { - continue; + try { + backUpFile(edFileInfo); + } catch (Exception e) { + log.warn("备份文件错误, {} ", e.getMessage(), e); } - UserLoginInfo userLoginInfo = new UserLoginInfo(); - userLoginInfo.setUserId(edFileInfo.getCreatedBy()); - UserThreadLocal.set(userLoginInfo); - String fileSysPath = commonService.getFileSysPath(edFileInfo.getId()); - UserThreadLocal.remove(); - long startTime = System.currentTimeMillis(); - BackupFileResLog resLog = backupHandler.backupFiles(fileSysPath); - long endTime = System.currentTimeMillis(); - FileBackupLog backupLog = new FileBackupLog() - .setId(EleIdCreator.createSnowflakeId()) - .setFileId(edFileInfo.getId()) - .setFileCode(edFileInfo.getFileCode()) - .setBackupSuccess(resLog.getBackupSuccess()) - .setStartTime(startTime) - .setEndTime(endTime) - .setDuration(endTime - startTime) - .setFailInfoDetail(resLog.getFailInfoDetail()) - .setFileTime(FileUtil.lastModifiedTime(fileSysPath).getTime()) - .setFileName(edFileInfo.getFileName() + "." + edFileInfo.getFileType()) - .setFileCreateTime(edFileInfo.getCreatedTime()) - .setSource(FileBackupSource.SYS_BACKUP.code); - fileBackupLogMapper.insert(backupLog); } } + private void backUpFile(EdFileInfo edFileInfo) { + long count = fileBackupLogMapper.selectCount(Wrappers.lambdaQuery().eq(FileBackupLog::getFileId, edFileInfo.getId())); + if (count > 0) { + return; + } + UserLoginInfo userLoginInfo = new UserLoginInfo(); + userLoginInfo.setUserId(edFileInfo.getCreatedBy()); + UserThreadLocal.set(userLoginInfo); + String fileSysPath = commonService.getFileSysPath(edFileInfo.getId()); + UserThreadLocal.remove(); + long startTime = System.currentTimeMillis(); + BackupFileResLog resLog = backupHandler.backupFiles(fileSysPath); + long endTime = System.currentTimeMillis(); + FileBackupLog backupLog = new FileBackupLog() + .setId(EleIdCreator.createSnowflakeId()) + .setFileId(edFileInfo.getId()) + .setFileCode(edFileInfo.getFileCode()) + .setBackupSuccess(resLog.getBackupSuccess()) + .setStartTime(startTime) + .setEndTime(endTime) + .setDuration(endTime - startTime) + .setFailInfoDetail(resLog.getFailInfoDetail()) + .setFileTime(FileUtil.lastModifiedTime(fileSysPath).getTime()) + .setFileName(edFileInfo.getFileName() + "." + edFileInfo.getFileType()) + .setFileCreateTime(edFileInfo.getCreatedTime()) + .setSource(FileBackupSource.SYS_BACKUP.code); + fileBackupLogMapper.insert(backupLog); + } + private Date getFileMaxCreateTime() { List fileBackupLogs = fileBackupLogMapper.selectList(Wrappers.lambdaQuery() .eq(FileBackupLog::getSource, FileBackupSource.SYS_BACKUP.code)