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