‘liusuyi’
2024-04-12 7de353fa99cfe82101c434b5d080f6a5a1945aac
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SyncTask.java
@@ -1,10 +1,14 @@
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.device.camera.service.ICameraSdkService;
import com.ruoyi.media.domain.Vtdu;
import com.ruoyi.media.service.IMediaService;
import com.ruoyi.media.service.IVtduService;
@@ -14,6 +18,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 +38,11 @@
    @Resource
    IArdCamerasService iArdCamerasService;
    @Resource
    HikvisionSDK hikClientService;
    @Resource
    DahuaSDK dhClientService;
    @Resource
    IVtduService vtduService;
    @Resource
    IMediaService mediaService;
    @Resource
    private ICameraSdkService cameraSdkService;
    /**
     * 同步相机在线状态
     * 刘苏义
@@ -48,19 +50,13 @@
     */
    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);
                }
                boolean onLineNew = cameraSdkService.isOnLine(cmd);
                boolean onLineOld = "1".equals(camera.getState());
                if (onLineNew != onLineOld) {
                    if (onLineNew) {