From 07cac52e0b64a78361ce4a353604c94bd1186a6c Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期四, 07 九月 2023 10:50:00 +0800 Subject: [PATCH] 更新webrtc-streamer版本 为了避免通道数和通道号混淆修改sdk请求参数channelNum为chanNo sdk接口增加聚焦值获取 --- ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SdkTask.java | 104 ++++++++++++++++++++++++++++++++++------------------ 1 files changed, 68 insertions(+), 36 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 7a93710..816709f 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,22 +1,21 @@ 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; -import com.ruoyi.common.websocket.util.WebSocketUtils; +import com.ruoyi.utils.websocket.util.WebSocketUtils; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.domain.CameraCmd; -import com.ruoyi.device.camera.service.IArdCamerasService; import com.ruoyi.device.hiksdk.common.GlobalVariable; import com.ruoyi.device.hiksdk.service.IHikClientService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; +import java.util.*; -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import static com.ruoyi.common.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS; +import static com.ruoyi.utils.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS; /** * @Description: @@ -26,6 +25,7 @@ * @Version: 1.0 **/ @Component("SdkTask") +@Slf4j(topic = "hikSdk") public class SdkTask { /** @@ -37,34 +37,66 @@ * @淇敼浜哄拰鍏跺畠淇℃伅 */ public void ptzPush() { - 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); - if (!GlobalVariable.loginMap.containsKey(camera.getId()))//鍙帹閫佺櫥褰曟垚鍔熺殑鐩告満 - { - continue; + try { + RedisCache redisCache = SpringUtils.getBean(RedisCache.class); + IHikClientService hikClientService = SpringUtils.getBean(IHikClientService.class); + 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(!"1".equals(camera.getGdtype())) + { + continue; + } + CameraCmd cmd = new CameraCmd(); + cmd.setCameraId(camera.getId()); + cmd.setChanNo(1); + cmd.setOperator(camera.getOperatorId()); + if (!GlobalVariable.loginMap.containsKey(camera.getId()))//鍙帹閫佺櫥褰曟垚鍔熺殑鐩告満 + { + continue; + } + Map<String, Object> ptz = hikClientService.getGisInfo(cmd); + 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; + } + } + + 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); + } } - Map<String, Object> ptz = hikClientService.getPtz(cmd); - if (StringUtils.isNull(ptz)) { - continue; - } - if (ptz.size() > 0) { - ptz.put("cameraId", camera.getId()); - ptz.put("operatorExpired", camera.getOperatorExpired()); - list.add(ptz); - } - } - 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()); } } + } -- Gitblit v1.9.3