From 72359f3c9e9fe855ecafafb769ed52fc2a7f7e61 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: 星期六, 10 八月 2024 09:46:02 +0800
Subject: [PATCH] 优化:视频通话会话列表和详情获取最后一条消息中增加用户名称和头像

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

diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java
index 6363c40..fb43356 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java
@@ -17,6 +17,7 @@
 
 import javax.annotation.Resource;
 import java.util.*;
+
 import static com.ruoyi.utils.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS;
 
 /**
@@ -36,6 +37,7 @@
     ICameraSdkService cameraSdkService;
     @Resource
     IGlobalAlarmService globalAlarmService;
+
     /**
      * @鎻忚堪 瀹氭椂鎺ㄩ�佹墍鏈夋姤璀︾殑鐐逛綅鏁伴噺
      * @鍙傛暟 []
@@ -66,62 +68,60 @@
      */
     public void ptzPush() {
         try {
-            List<Map<String, Object>> list = new ArrayList<>();
-            List<Object> Objects = redisCache.getListKey(CacheConstants.CAMERA_LIST_KEY);
-            if (Objects.size() > 0) {
-                for (Object obj : Objects) {
-                    ArdCameras camera = (ArdCameras) obj;
-                    if (!GlobalVariable.loginMap.containsKey(camera.getId()))//鍙帹閫侀娆$櫥褰曟垚鍔熺殑鐩告満
-                    {
-                        continue;
-                    }
-                    if(!"1".equals(camera.getGdtype()))
-                    {
-                        continue;
-                    }
-                    CameraCmd cmd = new CameraCmd();
-                    cmd.setCameraId(camera.getId());
-                    cmd.setChanNo(1);
-                    cmd.setOperator(camera.getOperatorId());
-                    //鎺ㄩ�佸湪绾跨殑鐩告満
-                    boolean onLine = cameraSdkService.isOnLine(cmd);
-                    if(!onLine)
-                    {
-                        continue;
-                    }
-                    AjaxResult ajaxResult = cameraSdkService.getGisInfo(cmd);
-                    Map<String, Object> ptz = (Map<String, Object>)ajaxResult.get("data");
-                    if (StringUtils.isNull(ptz)) {
-                        continue;
-                    }
-                    SysUser sysUser = redisCache.getCacheObject(CacheConstants.USER_LIST_KEY + camera.getOperatorId());
-                    if (StringUtils.isNotNull(sysUser)) {
-                        cmd.setOperatorZh(sysUser.getNickName());
-                    } else {
-                        cmd.setOperatorZh(cmd.getOperator());
-                    }
+            if (ONLINE_USER_SESSIONS.size() > 0) {
+                List<Map<String, Object>> list = new ArrayList<>();
+                List<Object> Objects = redisCache.getListKey(CacheConstants.CAMERA_LIST_KEY);
+                if (Objects.size() > 0) {
+                    for (Object obj : Objects) {
+                        ArdCameras camera = (ArdCameras) obj;
+                        if (!GlobalVariable.loginMap.containsKey(camera.getId()))//鍙帹閫侀娆$櫥褰曟垚鍔熺殑鐩告満
+                        {
+                            continue;
+                        }
+                        if (!"1".equals(camera.getGdtype())) {
+                            continue;
+                        }
+                        CameraCmd cmd = new CameraCmd();
+                        cmd.setCameraId(camera.getId());
+                        cmd.setChanNo(1);
+                        cmd.setOperator(camera.getOperatorId());
+                        //鎺ㄩ�佸湪绾跨殑鐩告満
+                        boolean onLine = cameraSdkService.isOnLine(cmd);
+                        if (!onLine) {
+                            continue;
+                        }
+                        AjaxResult ajaxResult = cameraSdkService.getGisInfo(cmd);
+                        Map<String, Object> ptz = (Map<String, Object>) ajaxResult.get("data");
+                        if (StringUtils.isNull(ptz)) {
+                            continue;
+                        }
+                        SysUser sysUser = redisCache.getCacheObject(CacheConstants.USER_LIST_KEY + 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;
+                        //鑾峰彇鏃堕棿宸�
+                        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);
+                            ptz.put("longitude", camera.getLongitude());
+                            ptz.put("latitude", camera.getLatitude());
+                            ptz.put("altitude", camera.getAltitude());
+                            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);
-                        ptz.put("longitude",camera.getLongitude());
-                        ptz.put("latitude",camera.getLatitude());
-                        ptz.put("altitude",camera.getAltitude());
-                        list.add(ptz);
-                    }
-                }
-                if (ONLINE_USER_SESSIONS.size() > 0) {
                     Map<String, Object> sendMap = new HashMap<>();
                     sendMap.put("10000", list);
                     WebSocketUtils.sendMessageAll(sendMap);
@@ -131,4 +131,4 @@
             log.error("鎺ㄩ�乸tz寮傚父:" + ex.getMessage());
         }
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.9.3