From d70903ea176f6856636ef57dffac73feaae56bac Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期二, 04 七月 2023 17:22:23 +0800
Subject: [PATCH] 推送ptz获取相机方式更改为从redis中获取

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SdkTask.java |   98 +++++++++++++++++++++++++++----------------------
 1 files changed, 54 insertions(+), 44 deletions(-)

diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SdkTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SdkTask.java
index 4fcc320..78edeb6 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SdkTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SdkTask.java
@@ -1,6 +1,8 @@
 package com.ruoyi.quartz.task;
 
+import com.ruoyi.common.constant.CacheConstants;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.spring.SpringUtils;
@@ -40,60 +42,68 @@
      */
     public void ptzPush() {
         try {
+            RedisCache redisCache = SpringUtils.getBean(RedisCache.class);
             ISysUserService sysUserService = SpringUtils.getBean(ISysUserService.class);
-            IArdCamerasService ardCamerasService = SpringUtils.getBean(IArdCamerasService.class);
             IHikClientService hikClientService = SpringUtils.getBean(IHikClientService.class);
             List<Map<String, Object>> list = new ArrayList<>();
             ArdCameras ardCameras = new ArdCameras();
             ardCameras.setGdtype("1");
-            List<ArdCameras> ardCamerasList = ardCamerasService.selectArdCamerasListNoDataScope(ardCameras);
-            for (ArdCameras camera : ardCamerasList) {
-                CameraCmd cmd = new CameraCmd();
-                cmd.setCameraId(camera.getId());
-                cmd.setChannelNum(1);
-                cmd.setOperator(camera.getOperatorId());
-                if (!GlobalVariable.loginMap.containsKey(camera.getId()))//鍙帹閫佺櫥褰曟垚鍔熺殑鐩告満
-                {
-                    continue;
-                }
-                Map<String, Object> ptz = hikClientService.getPtz(cmd);
-                if (StringUtils.isNull(ptz)) {
-                    continue;
-                }
-                SysUser sysUser = sysUserService.selectUserById(camera.getOperatorId());
-                if (StringUtils.isNotNull(sysUser)) {
-                    cmd.setOperatorZh(sysUser.getNickName());
-                } else {
-                    cmd.setOperatorZh(cmd.getOperator());
-                }
-
-                //鑾峰彇鏃堕棿宸�
-                long secDatePoor = 0;
-                if (StringUtils.isNotNull(camera.getOperatorExpired())) {
-                    secDatePoor = DateUtils.getSecDatePoor(camera.getOperatorExpired(), new Date());
-                    if(secDatePoor<0)
+            List<Object> Objects = redisCache.getListKey(getCacheKey());
+            if (Objects.size() > 0) {
+                for (Object obj : Objects) {
+                    ArdCameras camera = (ArdCameras) obj;
+                    CameraCmd cmd = new CameraCmd();
+                    cmd.setCameraId(camera.getId());
+                    cmd.setChannelNum(1);
+                    cmd.setOperator(camera.getOperatorId());
+                    if (!GlobalVariable.loginMap.containsKey(camera.getId()))//鍙帹閫佺櫥褰曟垚鍔熺殑鐩告満
                     {
-                        secDatePoor=0;
+                        continue;
+                    }
+                    Map<String, Object> ptz = hikClientService.getPtz(cmd);
+                    if (StringUtils.isNull(ptz)) {
+                        continue;
+                    }
+                    SysUser sysUser = sysUserService.selectUserById(camera.getOperatorId());
+                    if (StringUtils.isNotNull(sysUser)) {
+                        cmd.setOperatorZh(sysUser.getNickName());
+                    } else {
+                        cmd.setOperatorZh(cmd.getOperator());
+                    }
+
+                    //鑾峰彇鏃堕棿宸�
+                    long secDatePoor = 0;
+                    if (StringUtils.isNotNull(camera.getOperatorExpired())) {
+                        secDatePoor = DateUtils.getSecDatePoor(camera.getOperatorExpired(), new Date());
+                        if (secDatePoor < 0) {
+                            secDatePoor = 0;
+                        }
+                    }
+
+                    if (ptz.size() > 0) {
+                        ptz.put("cameraId", cmd.getCameraId());
+                        ptz.put("usernameZh", cmd.getOperatorZh());
+                        ptz.put("operatorId", cmd.getOperator());//涓婇攣鐢ㄦ埛id
+                        ptz.put("expirationRemainingSecond", secDatePoor);
+                        list.add(ptz);
                     }
                 }
-
-                if (ptz.size() > 0) {
-                    ptz.put("cameraId", cmd.getCameraId());
-                    ptz.put("usernameZh", cmd.getOperatorZh());
-                    ptz.put("operatorId", cmd.getOperator());//涓婇攣鐢ㄦ埛id
-                    ptz.put("expirationRemainingSecond", secDatePoor);
-                    list.add(ptz);
+                if (ONLINE_USER_SESSIONS.size() > 0) {
+                    Map<String, Object> sendMap = new HashMap<>();
+                    sendMap.put("10000", list);
+                    WebSocketUtils.sendMessageAll(sendMap);
                 }
             }
-            if (ONLINE_USER_SESSIONS.size() > 0) {
-                Map<String, Object> sendMap = new HashMap<>();
-                sendMap.put("10000", list);
-                WebSocketUtils.sendMessageAll(sendMap);
-            }
+        } catch (Exception ex) {
+            log.error("鎺ㄩ�乸tz寮傚父:" + ex.getMessage());
         }
-        catch (Exception ex)
-        {
-            log.error("鎺ㄩ�乸tz寮傚父:"+ex.getMessage());
-        }
+    }
+    /**
+     * 鑾峰彇cache key
+     *
+     * @return 缂撳瓨閿甼ey
+     */
+    private String getCacheKey() {
+        return CacheConstants.CAMERA_LIST_KEY;
     }
 }

--
Gitblit v1.9.3