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