From df86ccb7ef4193ee57eb1773e6604e244c248df5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?LAPTOP-S9HJSOEB=5C=E6=98=8A=E5=A4=A9?= Date: Thu, 21 Dec 2023 16:54:46 +0800 Subject: [PATCH] =?UTF-8?q?=E7=90=83=E6=9C=BA=E5=88=A4=E6=96=AD=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E8=BF=9E=E7=BA=BF=EF=BC=8C=E5=A6=82=E6=9E=9C=E6=96=AD?= =?UTF-8?q?=E8=BF=9Ejava=E8=AE=B0=E5=BD=95=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/encryptor/Encryptor.java | 2 +- .../controller/CameraControlController.java | 21 +++++++++++++++---- .../com/zhehekeji/web/lib/CameraConnMap.java | 1 + .../web/lib/hik/HikLoginModuleImpl.java | 3 ++- .../zhehekeji/web/service/CameraService.java | 1 + web/src/main/resources/application-prod.yml | 2 +- 6 files changed, 23 insertions(+), 7 deletions(-) diff --git a/modules/common/src/main/java/encryptor/Encryptor.java b/modules/common/src/main/java/encryptor/Encryptor.java index 100562f..773e81b 100644 --- a/modules/common/src/main/java/encryptor/Encryptor.java +++ b/modules/common/src/main/java/encryptor/Encryptor.java @@ -25,7 +25,7 @@ public class Encryptor { public static void main(String[] args) { - String noEncrypt = "BFEBFBFF000A06550026_B728_2C38_69F5."; + String noEncrypt = "BFEBFBFF000A0671AK7211183"; String encrypt = Encryptor.encryptStr(noEncrypt); System.out.println(encrypt); } diff --git a/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java b/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java index 766b3f2..2b2c0ef 100644 --- a/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java +++ b/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java @@ -7,6 +7,8 @@ import com.zhehekeji.web.config.ConfigProperties; import com.zhehekeji.web.entity.Camera; import com.zhehekeji.web.lib.*; import com.zhehekeji.web.lib.hik.HCNetSDK; +import com.zhehekeji.web.lib.hik.HikLoginModuleImpl; +import com.zhehekeji.web.lib.joyware.JoywareLoginModuleImpl; import com.zhehekeji.web.lib.joyware.NetSDKLib; import com.zhehekeji.web.mapper.CameraMapper; import com.zhehekeji.web.service.CameraService; @@ -331,10 +333,21 @@ public class CameraControlController { @Resource private CameraService cameraService; - private void checkLogin(Integer cameraId){ - if(CameraConnMap.getConnId(cameraId) == null){ - Camera camera = cameraMapper.selectById(cameraId); - cameraService.cameraLogin(camera); + private void checkLogin(Integer cameraId) { + if (CameraConnMap.getConnId(cameraId) == null) { + Boolean ok = false; + if (configProperties.getCameraConfig().getCameraType() == ConfigProperties.HIK_CAMERA) { + ok = HikLoginModuleImpl.connectStatus(CameraConnMap.getConnId(cameraId).intValue()); + } else { + ok = JoywareLoginModuleImpl.connectStatus(CameraConnMap.getConnId(cameraId)); + } + if (!ok) { + { + CameraConnMap.disConn(cameraId); + Camera camera = cameraMapper.selectById(cameraId); + cameraService.cameraLogin(camera); + } + } } } } diff --git a/web/src/main/java/com/zhehekeji/web/lib/CameraConnMap.java b/web/src/main/java/com/zhehekeji/web/lib/CameraConnMap.java index ef03a71..0700b29 100644 --- a/web/src/main/java/com/zhehekeji/web/lib/CameraConnMap.java +++ b/web/src/main/java/com/zhehekeji/web/lib/CameraConnMap.java @@ -39,6 +39,7 @@ public class CameraConnMap { } public static NetSDKLib.LLong getConnId(Integer cameraId){ + return cameraMap.get(cameraId); } diff --git a/web/src/main/java/com/zhehekeji/web/lib/hik/HikLoginModuleImpl.java b/web/src/main/java/com/zhehekeji/web/lib/hik/HikLoginModuleImpl.java index 37f09a0..e0b81b1 100644 --- a/web/src/main/java/com/zhehekeji/web/lib/hik/HikLoginModuleImpl.java +++ b/web/src/main/java/com/zhehekeji/web/lib/hik/HikLoginModuleImpl.java @@ -50,7 +50,7 @@ public class HikLoginModuleImpl implements CameraControlLoginModule { } //设置登录超时时间和尝试次数,可选 int waitTime = 1000; //登录请求响应超时时间设置 - int tryTimes = 1000; //登录时尝试建立链接次数 + int tryTimes = 1000000; //登录时尝试建立链接次数 Boolean ok1 = hcNetsdk.NET_DVR_SetConnectTime(waitTime, tryTimes); Boolean ok2 = hcNetsdk.NET_DVR_SetReconnect(500,Boolean.TRUE); return true; @@ -58,6 +58,7 @@ public class HikLoginModuleImpl implements CameraControlLoginModule { //检测球机连接状态 public static Boolean connectStatus(int userId){ + return hcNetsdk.NET_DVR_RemoteControl(userId,20005,null,0); } diff --git a/web/src/main/java/com/zhehekeji/web/service/CameraService.java b/web/src/main/java/com/zhehekeji/web/service/CameraService.java index 27759c4..dfba0e5 100644 --- a/web/src/main/java/com/zhehekeji/web/service/CameraService.java +++ b/web/src/main/java/com/zhehekeji/web/service/CameraService.java @@ -145,6 +145,7 @@ public class CameraService { if(ok){ camera.setStatus("连接正常"); }else { + CameraConnMap.disConn(camera.getId()); camera.setStatus("未连接"); } }catch (Exception e){ diff --git a/web/src/main/resources/application-prod.yml b/web/src/main/resources/application-prod.yml index b96ba19..0058968 100644 --- a/web/src/main/resources/application-prod.yml +++ b/web/src/main/resources/application-prod.yml @@ -7,7 +7,7 @@ spring: maxWait: 60000 minEvictableIdleTimeMillis: 300000 minIdle: 15 - password: Leaper@123 + password: root poolPreparedStatements: true testOnBorrow: true testOnReturn: false