From c33a9e7923e24b3fd8bad1a9e2cd2d1cf385105b Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期二, 02 四月 2024 08:54:28 +0800 Subject: [PATCH] 修复相机密码脱敏导致的bug --- ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java | 7 +++++-- ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SyncTask.java | 23 ++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java b/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java index 9eb2008..4aa2d0c 100644 --- a/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java +++ b/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java @@ -6,6 +6,7 @@ import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; import com.ruoyi.common.constant.CameraConstants; import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.camera.domain.DeptAndCamerasDto; @@ -130,8 +131,10 @@ } int i = ardCamerasService.updateArdCameras(camera); if (i > 0) { - cameraSdkService.logout(camera.getId()); - cameraSdkService.login(camera); + if(StringUtils.isNotNull(camera.getPassword())) { + cameraSdkService.logout(camera.getId()); + cameraSdkService.login(camera); + } } return toAjax(i); } diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SyncTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SyncTask.java index 3ca2b61..ea6535c 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SyncTask.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SyncTask.java @@ -1,9 +1,12 @@ package com.ruoyi.quartz.task; +import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.domain.CameraCmd; +import com.ruoyi.device.camera.factory.CameraSDK; +import com.ruoyi.device.camera.factory.CameraSDKFactory; import com.ruoyi.device.camera.service.IArdCamerasService; import com.ruoyi.media.domain.Vtdu; import com.ruoyi.media.service.IMediaService; @@ -14,6 +17,7 @@ import com.ruoyi.utils.sdk.hiksdk.service.impl.HikvisionSDK; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; + import javax.annotation.Resource; import java.util.List; @@ -33,14 +37,11 @@ @Resource IArdCamerasService iArdCamerasService; @Resource - HikvisionSDK hikClientService; - @Resource - DahuaSDK dhClientService; - @Resource IVtduService vtduService; @Resource IMediaService mediaService; - + @Resource + private CameraSDKFactory cameraSDKFactory; /** * 鍚屾鐩告満鍦ㄧ嚎鐘舵�� * 鍒樿嫃涔� @@ -48,19 +49,15 @@ */ public void cameraState() { try { - ArdCameras ardCamera = new ArdCameras(); + ArdCameras ardCamera = new ArdCameras(); //璋冪敤鏌ヨ鏂规硶 List<ArdCameras> ardCameras = iArdCamerasService.selectArdCamerasListNoDataScope(ardCamera); for (ArdCameras camera : ardCameras) { CameraCmd cmd = new CameraCmd(); cmd.setCameraId(camera.getId()); - boolean onLineNew = false; - // 鍒ゆ柇鏄�1杩樻槸2 - if (camera.getFactory().equals("1")) { - onLineNew = hikClientService.isOnLine(cmd); - } else if (camera.getFactory().equals("2")) { - onLineNew = dhClientService.isOnLine(cmd); - } + String factory = camera.getFactory(); + CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); + boolean onLineNew = cameraSDK.isOnLine(cmd); boolean onLineOld = "1".equals(camera.getState()); if (onLineNew != onLineOld) { if (onLineNew) { -- Gitblit v1.9.3