diff --git a/src/main/java/com/ruoyi/device/domain/model/thingsboard/constants/DeviceTelemetry.java b/src/main/java/com/ruoyi/device/domain/model/thingsboard/constants/DeviceTelemetry.java index 12fb5e4..86bedd4 100644 --- a/src/main/java/com/ruoyi/device/domain/model/thingsboard/constants/DeviceTelemetry.java +++ b/src/main/java/com/ruoyi/device/domain/model/thingsboard/constants/DeviceTelemetry.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.ruoyi.device.domain.model.thingsboard.AttributeKey; import com.ruoyi.device.domain.model.thingsboard.TelemetryKey; +import com.ruoyi.device.domain.model.thingsboard.attributes.battery.BatteryInfo; import com.ruoyi.device.domain.model.thingsboard.attributes.psdk.PsdkDevice; import com.ruoyi.device.domain.model.thingsboard.attributes.battery.BatteryData; @@ -305,9 +306,7 @@ public class DeviceTelemetry { ); - /** - * 无人机特有 - */ + /** * 无人机挂载信息 diff --git a/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java b/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java index 1d67add..b0c3138 100644 --- a/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java +++ b/src/main/java/com/ruoyi/device/service/impl/BufferDeviceImpl.java @@ -173,6 +173,16 @@ public class BufferDeviceImpl implements IBufferDeviceService dto.setPayloadList(payloads); } + // 获取电池SN号 - 从 batteries 数组里面的第一个的 SN号 + TelemetryMap telemetryMap = thingsBoardDomain.getPredefinedDeviceTelemetry(device.getIotDeviceId()); + telemetryMap.get(DeviceTelemetry.BATTERY) + .ifPresent(telemetryValue -> { + var batteryData = telemetryValue.getValue(); + if (batteryData != null && !CollectionUtils.isEmpty(batteryData.getBatteries())) { + String batterySn = batteryData.getBatteries().get(0).getSn(); + dto.setBatterySn(batterySn); + } + }); return dto; }