From dd2a9e984d391ce7ab14b2c81162a0e12db8623a Mon Sep 17 00:00:00 2001 From: mh Date: Mon, 25 Mar 2024 10:02:53 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E7=8A=B6=E6=80=81=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E6=8A=A5=E6=96=87=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mh/user/strategy/StatusCheckStrategy.java | 3 ++- .../src/main/java/com/mh/user/utils/ExchangeStringUtil.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/user-service/src/main/java/com/mh/user/strategy/StatusCheckStrategy.java b/user-service/src/main/java/com/mh/user/strategy/StatusCheckStrategy.java index 701167c..42bf08e 100644 --- a/user-service/src/main/java/com/mh/user/strategy/StatusCheckStrategy.java +++ b/user-service/src/main/java/com/mh/user/strategy/StatusCheckStrategy.java @@ -64,12 +64,13 @@ public class StatusCheckStrategy implements DeviceStrategy { @Override public String analysisReceiveData(String dateStr, String deviceType, String registerAddr, String brand, String buildingId, String buildingName, String dataStr) { + // 68 12 00 00 00 00 00 68 81 03 58 F3 35 E6 16 if (dataStr.length() == 30) { //检验报文 String checkStr = dataStr.substring(0, dataStr.length() - 4); //减去校验码 String checkNum = ExchangeStringUtil.makeChecksum(checkStr); //生成校验码 //返回的校验码与重新生成的校验码进行校验 - if (checkNum.equalsIgnoreCase(dataStr.substring(dataStr.length() - 4, dataStr.length() - 2))) { + if (!checkNum.equalsIgnoreCase(dataStr.substring(dataStr.length() - 4, dataStr.length() - 2))) { return Constant.FAIL; } //表号,12位 diff --git a/user-service/src/main/java/com/mh/user/utils/ExchangeStringUtil.java b/user-service/src/main/java/com/mh/user/utils/ExchangeStringUtil.java index 77104f5..d249c32 100644 --- a/user-service/src/main/java/com/mh/user/utils/ExchangeStringUtil.java +++ b/user-service/src/main/java/com/mh/user/utils/ExchangeStringUtil.java @@ -296,7 +296,7 @@ public class ExchangeStringUtil { if (len < 2) { hex = "0" + hex; } - return hex; + return hex.toUpperCase(); } /** * 十进制数据转换为十六进制字符串数