From b468cde8bfd9d6e1d7ae7ccc535fc7e8ffb9f818 Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期五, 26 七月 2024 22:34:44 +0800
Subject: [PATCH] 电磁锁报警查询提交

---
 ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplSerialPort.java |   26 ++++++++++++++++++++++----
 1 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplSerialPort.java b/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplSerialPort.java
index 666b8bb..ee4a60d 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplSerialPort.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplSerialPort.java
@@ -113,6 +113,25 @@
                     Date now = new Date();
                     try {
                         String data = (String) dataMap.get("data");
+                        if(data.length() %2 != 0){//闀垮害涓嶆槸鍋舵暟锛屽氨杩斿洖
+                            return;
+                        }
+
+                        Integer sum = 0;
+                        for(int i = 0;i <= data.length() - 4;i = i + 2){
+                            String str = data.substring(i, i + 2);
+                            sum = sum + Integer.parseInt(str, 16);
+                        }//姹傚拰
+                        String checkNum = data.substring(data.length() - 2, data.length());
+                        String checkNumComputed = Integer.toHexString(sum).toUpperCase();//璁$畻鏍¢獙
+                        //褰撴牎楠屾暟鎹ぇ浜�2涓瓧绗︼紝鎴彇鏈�鍚庝袱浣�
+                        if(checkNumComputed.length() != 2){
+                            checkNumComputed = checkNumComputed.substring(checkNumComputed.length() - 2,checkNumComputed.length());
+                        }
+                        if(!checkNum.equals(checkNumComputed)){//鏍¢獙涓嶉�氳繃锛屽氨杩斿洖
+                            return;
+                        }
+
                         String lockNum = data.substring(0, 4);
                         String code = data.substring(4, 6);
                         if(code.equals("01")){//鍔熻兘鐮�01涓洪攣瀹炴椂鐘舵��
@@ -182,9 +201,6 @@
                             }
 
                             long cha = now.getTime() - sdf.parse(time).getTime();
-                            /*System.out.println("////////////////");
-                            System.out.println(time);
-                            System.out.println(cha);*/
                             if(Math.abs(cha) >= 5 * 1000){
                                 //鏃堕棿鏍″噯
                                 /*String url = "http://" + ip + ":9999";
@@ -314,7 +330,9 @@
                                 ardTankLockState.setUniqueMark(uniqueMark);
                                 ((ArdTankLockStateServiceImpl)SpringUtils.getBean("ardTankLockStateServiceImpl")).insertOrUpdateArdTankLockState(ardTankLockState);
                             }
-                        }
+                        }/*else if(code.equals("06")){//鍔熻兘鐮�06涓洪攣鍘嗗彶鎶ヨ
+
+                        }*/
                     }catch (Exception e){
                         e.printStackTrace();
                         return;//寮鸿浆澶辫触杩斿洖

--
Gitblit v1.9.3