From 38f29e38fcc668171dc05c53d40a36b895c86102 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: 星期四, 10 十月 2024 13:34:28 +0800
Subject: [PATCH] init

---
 ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java |   46 ++++++++++++++++++++++++++++++++++------------
 1 files changed, 34 insertions(+), 12 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java
index eb62b1c..4478731 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java
@@ -25,12 +25,17 @@
 import com.ruoyi.utils.sdk.common.GlobalVariable;
 import com.ruoyi.utils.tools.ArdTool;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.ApplicationArguments;
 import org.springframework.boot.ApplicationRunner;
+import org.springframework.context.ApplicationEventPublisher;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 
@@ -41,7 +46,7 @@
  * @Date: 2023骞�10鏈�16鏃�15:21:01
  **/
 @Service
-@Slf4j(topic = "SDK")
+@Slf4j(topic = "sdk")
 public class CameraSdkServiceImpl implements ICameraSdkService, ApplicationRunner {
     @Resource
     private IArdCamerasService ardCamerasService;
@@ -64,10 +69,27 @@
     @Override
     public void run(ApplicationArguments args) {
         try {
+            log.info("鍒濆鍖栫櫥褰曠浉鏈哄紑濮�");
+            ardCamerasService.resetCameraLoginId();
             List<ArdCameras> ardCameras = ardCamerasService.selectArdCamerasListNoDataScope(new ArdCameras());
-            for (ArdCameras camera : ardCameras) {
-                asyncLogin(camera);
-            }
+            ardCameras.stream().forEach(ardCamera -> asyncLogin(ardCamera));
+            //寮�鍚櫥褰曞け璐ョ浉鏈洪噸杩炲畾鏃朵换鍔�
+            ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
+            executor.scheduleAtFixedRate(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        log.info("寮�濮嬫墽琛岀櫥褰曞け璐ョ浉鏈洪噸杩炲畾鏃朵换鍔�");
+                        List<Object> ardCameras = redisCache.getListKey(CacheConstants.CAMERA_LIST_KEY);
+                        ardCameras.stream()
+                                .map(object -> (ArdCameras) object) // 灏哋bject杞崲涓篈rdCameras
+                                .filter(camera -> !GlobalVariable.loginMap.containsKey(camera.getId()))
+                                .forEach(camera -> asyncLogin(camera));
+                    } catch (Exception ex) {
+                        log.error("閲嶈繛鐩告満寮傚父锛�" + ex.getMessage());
+                    }
+                }
+            }, 30, 30, TimeUnit.SECONDS);  // 浠诲姟寤惰繜
         } catch (Exception ex) {
             log.error("鍒濆鍖栫櫥褰曠浉鏈哄紓甯革細" + ex.getMessage());
         }
@@ -586,17 +608,17 @@
                     case 1:
                         if (ardWellGuideCamera.getP1() != null) {
                             ptzMap = new HashMap<>();
-                            ptzMap.put("p" , ardWellGuideCamera.getP1());
-                            ptzMap.put("t" , ardWellGuideCamera.getT1());
-                            ptzMap.put("z" , ardWellGuideCamera.getZ1());
+                            ptzMap.put("p", ardWellGuideCamera.getP1());
+                            ptzMap.put("t", ardWellGuideCamera.getT1());
+                            ptzMap.put("z", ardWellGuideCamera.getZ1());
                         }
                         break;
                     case 2:
                         if (ardWellGuideCamera.getP2() != null) {
                             ptzMap = new HashMap<>();
-                            ptzMap.put("p" , ardWellGuideCamera.getP2());
-                            ptzMap.put("t" , ardWellGuideCamera.getT2());
-                            ptzMap.put("z" , ardWellGuideCamera.getZ2());
+                            ptzMap.put("p", ardWellGuideCamera.getP2());
+                            ptzMap.put("t", ardWellGuideCamera.getT2());
+                            ptzMap.put("z", ardWellGuideCamera.getZ2());
                         }
                         break;
 
@@ -624,9 +646,9 @@
         }
         //鎸変簳鍧愭爣寮�濮嬪紩瀵�
         if (!guideTargetPosition(cmd).get("code").equals(200)) {
-            return AjaxResult.warn("浜曞潗鏍囧紩瀵煎け璐�" , "cameraId:" + cameraId);
+            return AjaxResult.warn("浜曞潗鏍囧紩瀵煎け璐�", "cameraId:" + cameraId);
         }
-        return AjaxResult.success("浜曞潗鏍囧紩瀵兼垚鍔�" , "cameraId:" + cameraId);
+        return AjaxResult.success("浜曞潗鏍囧紩瀵兼垚鍔�", "cameraId:" + cameraId);
 
     }
 

--
Gitblit v1.9.3