|
@@ -3,6 +3,7 @@ package org.springblade.archive.external.impl;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
import org.springblade.archive.entity.ArchivesAuto;
|
|
import org.springblade.archive.entity.ArchivesAuto;
|
|
import org.springblade.archive.external.bean.ExternalDataInfo;
|
|
import org.springblade.archive.external.bean.ExternalDataInfo;
|
|
|
|
+import org.springblade.archive.external.utils.TransUtil;
|
|
import org.springblade.archive.mapper.ArchivesAutoMapper;
|
|
import org.springblade.archive.mapper.ArchivesAutoMapper;
|
|
import org.springblade.archive.trans.ArchiveAutoVo;
|
|
import org.springblade.archive.trans.ArchiveAutoVo;
|
|
import org.springblade.archive.trans.ArchiveFileVo;
|
|
import org.springblade.archive.trans.ArchiveFileVo;
|
|
@@ -160,10 +161,19 @@ public class ExternalDataArchiveFileService {
|
|
|
|
|
|
// 辅助方法:判断是否需要更新
|
|
// 辅助方法:判断是否需要更新
|
|
private boolean needUpdate(ArchiveFile external, ArchiveFile local) {
|
|
private boolean needUpdate(ArchiveFile external, ArchiveFile local) {
|
|
- // 示例:检查关键字段是否变化
|
|
|
|
- return !Objects.equals(external.getFileUrl(), local.getFileUrl())
|
|
|
|
- || !Objects.equals(external.getPdfPageUrl(), local.getPdfPageUrl())
|
|
|
|
- || !Objects.equals(external.getFileSize(), local.getFileSize());
|
|
|
|
|
|
+ String extUtimeStr = formatTime(external.getUtime());
|
|
|
|
+ String localUtimeStr = formatTime(local.getUtime());
|
|
|
|
+
|
|
|
|
+ // 字符串严格比较:格式或内容不同即视为不一致
|
|
|
|
+ return !Objects.equals(extUtimeStr, localUtimeStr)
|
|
|
|
+ || !Objects.equals(external.getPdfPageUrl(), local.getPdfPageUrl());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 将时间统一格式化为字符串(精确到秒)
|
|
|
|
+ */
|
|
|
|
+ private String formatTime(LocalDateTime time) {
|
|
|
|
+ return time != null ? time.format(TransUtil.FORMATTER) : null;
|
|
}
|
|
}
|
|
|
|
|
|
// 辅助方法:更新本地文件字段
|
|
// 辅助方法:更新本地文件字段
|
|
@@ -173,6 +183,7 @@ public class ExternalDataArchiveFileService {
|
|
local.setPdfPageUrl(external.getPdfPageUrl());
|
|
local.setPdfPageUrl(external.getPdfPageUrl());
|
|
local.setFilePage(external.getFilePage());
|
|
local.setFilePage(external.getFilePage());
|
|
local.setFileSize(external.getFileSize());
|
|
local.setFileSize(external.getFileSize());
|
|
|
|
+ local.setUtime(external.getUtime());
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|