From 2c97f9adf61f846edbce4ef458400416f0003ff8 Mon Sep 17 00:00:00 2001 From: liusuyi <13324259@qq.com> Date: 星期五, 28 七月 2023 23:16:31 +0800 Subject: [PATCH] 修改exe程序调用方式 修改推送app实时位置为传参开启 --- ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SdkTask.java | 111 ++++++++++++++++++++++++++++++------------------------- 1 files changed, 61 insertions(+), 50 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 d97418c..f844f56 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,24 +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 com.ruoyi.system.service.ISysUserService; +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: @@ -28,6 +25,7 @@ * @Version: 1.0 **/ @Component("SdkTask") +@Slf4j(topic = "hikSdk") public class SdkTask { /** @@ -39,48 +37,61 @@ * @淇敼浜哄拰鍏跺畠淇℃伅 */ public void ptzPush() { - 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()); - } + try { + RedisCache redisCache = SpringUtils.getBean(RedisCache.class); + IHikClientService hikClientService = SpringUtils.getBean(IHikClientService.class); + List<Map<String, Object>> list = new ArrayList<>(); + ArdCameras ardCameras = new ArdCameras(); + ardCameras.setGdtype("1"); + List<Object> Objects = redisCache.getListKey(CacheConstants.CAMERA_LIST_KEY); + 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()))//鍙帹閫佺櫥褰曟垚鍔熺殑鐩告満 + { + continue; + } + Map<String, Object> ptz = hikClientService.getPtz(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()); + } - if (ptz.size() > 0) { - ptz.put("cameraId", cmd.getCameraId()); - ptz.put("usernameZh",cmd.getOperatorZh()); - ptz.put("operatorId", cmd.getOperator());//涓婇攣鐢ㄦ埛id - ptz.put("operatorExpired",camera.getOperatorExpired()); - list.add(ptz); + //鑾峰彇鏃堕棿宸� + 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 (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()); } } + } -- Gitblit v1.9.3