From 93fcd79f0b227a1d3e8d7177745189b87f1b87c2 Mon Sep 17 00:00:00 2001 From: tianyongbao Date: Fri, 10 Apr 2026 12:24:53 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=9B=90=E5=BA=A6=E5=8F=96=E5=80=BC?= =?UTF-8?q?=E9=94=99=E8=AF=AF=EF=BC=8C=E9=97=AE=E9=A2=98=E5=86=8D=E6=AC=A1?= =?UTF-8?q?=E8=A7=A3=E5=86=B3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/intc/iot/handler/DeviceDataHandler.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/intc-modules/intc-iot/src/main/java/com/intc/iot/handler/DeviceDataHandler.java b/intc-modules/intc-iot/src/main/java/com/intc/iot/handler/DeviceDataHandler.java index ef49ed2..5af8d08 100644 --- a/intc-modules/intc-iot/src/main/java/com/intc/iot/handler/DeviceDataHandler.java +++ b/intc-modules/intc-iot/src/main/java/com/intc/iot/handler/DeviceDataHandler.java @@ -2128,10 +2128,12 @@ public class DeviceDataHandler { : params.getDouble("ph"); sensorData.setPh(value); } - // 注意:忽略大小写时 containsKey("salinity") 会误匹配 salinitySet, - // 已在取 params 时设置 ignoreCase=false,精确匹配 "salinity" key,不会取到 salinitySet - if (params.containsKey("salinity")) { - sensorData.setSalinity(params.getDouble("salinity")); + // 通过遍历 keySet 做精确字符串比较,彻底避免 Hutool ignoreCase 下 containsKey/getDouble 误匹配 salinitySet + for (String k : params.keySet()) { + if ("salinity".equals(k)) { + sensorData.setSalinity(params.getDouble(k)); + break; + } } if (params.containsKey("treference") || params.containsKey("Treference")) { Double value = params.containsKey("Treference") ?