From cbbea55a92b178b75f58e7c468f7e8d8ae417c9d Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期四, 11 七月 2024 13:18:38 +0800
Subject: [PATCH] 电磁锁手动操控提交

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SyncTask.java |   75 ++++++++++++++++++++++++++-----------
 1 files changed, 52 insertions(+), 23 deletions(-)

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 e857c30..4e7d4ff 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,21 +1,32 @@
 package com.ruoyi.quartz.task;
 
 
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.uuid.IdUtils;
 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.device.channel.domain.ArdChannel;
+import com.ruoyi.device.channel.service.IArdChannelService;
+import com.ruoyi.device.channel.service.impl.ArdChannelServiceImpl;
 import com.ruoyi.media.domain.Vtdu;
 import com.ruoyi.media.service.IMediaService;
 import com.ruoyi.media.service.IVtduService;
 import com.ruoyi.rongcloud.service.RongCloudService;
 import com.ruoyi.system.service.ISysUserService;
-import com.ruoyi.utils.sdk.dhsdk.service.impl.DhSdkStrategy;
-import com.ruoyi.utils.sdk.hiksdk.service.impl.HikSdkStrategy;
+import com.ruoyi.utils.sdk.dhsdk.service.impl.DahuaSDK;
+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;
+import java.util.UUID;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 鍚屾浠诲姟
@@ -33,14 +44,15 @@
     @Resource
     IArdCamerasService iArdCamerasService;
     @Resource
-    HikSdkStrategy hikClientService;
-    @Resource
-    DhSdkStrategy dhClientService;
-    @Resource
     IVtduService vtduService;
     @Resource
     IMediaService mediaService;
-
+    @Resource
+    private ICameraSdkService cameraSdkService;
+    @Resource
+    private CameraSDKFactory cameraSDKFactory;
+    @Resource
+    private IArdChannelService ardChannelService;
     /**
      * 鍚屾鐩告満鍦ㄧ嚎鐘舵��
      * 鍒樿嫃涔�
@@ -48,19 +60,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) {
@@ -73,6 +79,34 @@
             }
         } catch (Exception ex) {
             log.error("鍚屾鐩告満鍦ㄧ嚎鐘舵�佸紓甯�:" + ex.getMessage());
+        }
+    }
+
+    /**
+     * @Author 鍒樿嫃涔�
+     * @Description 鍚屾nvr閫氶亾鐘舵�佸疄鏃跺悓姝ユ祦濯掍綋
+     * @Date 2024/7/9 16:01
+     */
+    public void nvrChannelState() {
+        //鑾峰彇鎵�鏈塶vr璁惧
+        List<ArdCameras> ardCamerasList = iArdCamerasService.selectArdCamerasListNoDataScope(new ArdCameras());
+        if (ardCamerasList.size() > 0) {
+            ardCamerasList.stream()
+                    .filter(ardCameras -> ardCameras.getGdtype().equals("2"))
+                    .forEach(ardCameras -> {
+                        //閫氳繃SDK鑾峰彇NVR褰撳墠閫氶亾
+                        CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(ardCameras.getFactory());
+                        List<ArdChannel> ardChannelList = cameraSDK.getChannels(ardCameras);
+                        //鍚屾閫氶亾琛�
+                        ArdChannel ardChannel=new ArdChannel();
+                        ardChannel.setDeviceId(ardCameras.getId());
+                        List<ArdChannel> ardChannelListDb = ardChannelService.selectArdChannelList(ardChannel);
+                        ardChannelService.asyncChannel(ardChannelListDb,ardChannelList);
+                        //鍚屾娴佸獟浣撹〃
+
+                        //鍚屾娴佸獟浣揳pi
+
+                    });
         }
     }
 
@@ -109,13 +143,8 @@
      * 2023/10/13 14:13:53
      */
     public void vtdu() {
-
-        List<Vtdu> vtdus = vtduService.selectVtduList(new Vtdu());
-        for (Vtdu vtdu : vtdus) {
-            boolean nameExist = mediaService.checkNameExist(vtdu.getName());
-            if (!nameExist) {
-                mediaService.addPath(vtdu.getName(), vtdu.getRtspSource(), vtdu.getMode(), vtdu.getIsCode());
-            }
-        }
+        List<String> nameList = mediaService.getNameList();
+        List<Vtdu> vtduList = vtduService.selectVtduList(new Vtdu());
+        vtduService.asyncVtdu(vtduList,nameList);
     }
 }

--
Gitblit v1.9.3