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(); } /** * 十进制数据转换为十六进制字符串数