From f9e7ed27f6ae71f6b2d89c40b422284a7e5411d2 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期三, 26 八月 2026 13:29:53 +0800
Subject: [PATCH] fix(device): 完善 BTS 状态与模拟器契约
---
ruoyi-device/src/main/java/com/ruoyi/device/bts/BtsXmlCodec.java | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/ruoyi-device/src/main/java/com/ruoyi/device/bts/BtsXmlCodec.java b/ruoyi-device/src/main/java/com/ruoyi/device/bts/BtsXmlCodec.java
index d0be888..8860b8f 100644
--- a/ruoyi-device/src/main/java/com/ruoyi/device/bts/BtsXmlCodec.java
+++ b/ruoyi-device/src/main/java/com/ruoyi/device/bts/BtsXmlCodec.java
@@ -104,7 +104,7 @@
public List<DetectedChannel> parseDeviceInfo(String xml)
{
Document document = parse(xml, "getdevinfo_resp");
- NodeList nodes = document.getElementsByTagName("channel");
+ NodeList nodes = firstElement(document, "middle").getElementsByTagName("channel");
List<DetectedChannel> channels = new ArrayList<>(nodes.getLength());
for (int i = 0; i < nodes.getLength(); i++)
{
@@ -121,7 +121,7 @@
public Map<ChannelIdentity, RealtimeSnapshot> parseSnapshots(String xml, Instant receivedAt)
{
Document document = parse(xml, "inquire_resp");
- NodeList nodes = document.getElementsByTagName("inquire");
+ NodeList nodes = firstElement(document, "list").getElementsByTagName("inquire");
Map<ChannelIdentity, RealtimeSnapshot> snapshots = new LinkedHashMap<>();
for (int i = 0; i < nodes.getLength(); i++)
{
@@ -148,7 +148,7 @@
public List<HistoryAvailability> parseHistoryAvailability(String xml)
{
Document document = parse(xml, "inquiredf_resp");
- NodeList nodes = document.getElementsByTagName("chl");
+ NodeList nodes = firstElement(document, "list").getElementsByTagName("chl");
List<HistoryAvailability> availability = new ArrayList<>(nodes.getLength());
for (int i = 0; i < nodes.getLength(); i++)
{
@@ -174,7 +174,7 @@
|| !btsTestId.equals(requestedTestId))
throw new BtsProtocolException(BtsProtocolException.Reason.IDENTITY_MISMATCH,
"BTS history response identity does not match the request");
- NodeList nodes = document.getElementsByTagName("data");
+ NodeList nodes = firstElement(document, "list").getElementsByTagName("data");
List<HistorySample> samples = new ArrayList<>(nodes.getLength());
long next = requestedStart;
for (int i = 0; i < nodes.getLength(); i++)
--
Gitblit v1.7.1