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