From bd50f1b756c1da2dbf92f6541407ad40f455e24a Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期六, 05 九月 2026 00:17:52 +0800
Subject: [PATCH] 建立厂商无关设备观测接缝
---
battery-device-api/src/main/java/com/battery/device/model/RealtimeSnapshot.java | 21 ++++++++++++++++++++-
1 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/battery-device-api/src/main/java/com/battery/device/model/RealtimeSnapshot.java b/battery-device-api/src/main/java/com/battery/device/model/RealtimeSnapshot.java
index f5b971f..ede253e 100644
--- a/battery-device-api/src/main/java/com/battery/device/model/RealtimeSnapshot.java
+++ b/battery-device-api/src/main/java/com/battery/device/model/RealtimeSnapshot.java
@@ -2,6 +2,7 @@
import java.math.BigDecimal;
import java.time.Instant;
+import java.util.List;
import java.util.Map;
public record RealtimeSnapshot(
@@ -19,10 +20,28 @@
Long relativeTimeSeconds,
String logCode,
Instant receivedAt,
- Map<String, Measurement> measurements)
+ Map<String, Measurement> measurements,
+ DeviceConnectionStatus connectionStatus,
+ Instant deviceTime,
+ List<PlannedStep> plannedSteps,
+ String failureReason)
{
+ /** 兼容已有适配器调用的实时快照构造方式。 */
+ public RealtimeSnapshot(ChannelIdentity channel, DeviceWorkStatus workStatus, Integer cycleNo, Integer stepNo,
+ String stepType, String barcode, BigDecimal currentA, BigDecimal voltageV, BigDecimal capacityAh,
+ BigDecimal energyWh, Long totalTimeSeconds, Long relativeTimeSeconds, String logCode, Instant receivedAt,
+ Map<String, Measurement> measurements)
+ {
+ this(channel, workStatus, cycleNo, stepNo, stepType, barcode, currentA, voltageV, capacityAh, energyWh,
+ totalTimeSeconds, relativeTimeSeconds, logCode, receivedAt, measurements,
+ DeviceConnectionStatus.ONLINE, null, List.of(), null);
+ }
+
public RealtimeSnapshot
{
measurements = measurements == null ? Map.of() : Map.copyOf(measurements);
+ plannedSteps = plannedSteps == null ? List.of() : List.copyOf(plannedSteps);
+ connectionStatus = connectionStatus == null ? DeviceConnectionStatus.ONLINE : connectionStatus;
+ failureReason = failureReason == null || failureReason.isBlank() ? null : failureReason.trim();
}
}
--
Gitblit v1.7.1