‘liusuyi’
2024-04-02 c33a9e7923e24b3fd8bad1a9e2cd2d1cf385105b
修复相机密码脱敏导致的bug
已修改2个文件
30 ■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SyncTask.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
    }
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) {