diff --git a/src/main/java/com/techsor/datacenter/sender/service/F10Service.java b/src/main/java/com/techsor/datacenter/sender/service/F10Service.java index 47e6f90..1e4948d 100644 --- a/src/main/java/com/techsor/datacenter/sender/service/F10Service.java +++ b/src/main/java/com/techsor/datacenter/sender/service/F10Service.java @@ -153,6 +153,8 @@ public class F10Service { long receivedCurrentTs = parseToTimestamp(f10JournalLog.getReceiveDate(), f10JournalLog.getReceiveTime()); f10JournalLog.setReceiveTimestamp(receivedCurrentTs); + long sendTs = parseToTimestamp(f10JournalLog.getSendDate(), f10JournalLog.getSendTime()); + String redisKey = getLatestAlarmKey(f10JournalLog.getDeviceId()); // 从 Redis 取值 String latestTsStr = redisUtils.get(redisKey); @@ -169,12 +171,12 @@ public class F10Service { // ===== 判断逻辑 ===== if (latestTs == null) { // 首次 - redisUtils.add(redisKey, String.valueOf(receivedCurrentTs)); + redisUtils.add(redisKey, String.valueOf(sendTs)); } else { - if (receivedCurrentTs > latestTs) { + if (sendTs > latestTs) { // 新数据 - redisUtils.add(redisKey, String.valueOf(receivedCurrentTs)); - } else if (receivedCurrentTs == latestTs) { + redisUtils.add(redisKey, String.valueOf(sendTs)); + } else if (sendTs == latestTs) { // 重复数据 → 直接丢弃 log.warn("[F10] 重复告警, 丢弃 deviceId={}", f10JournalLog.getDeviceId()); return;