From 2e81e44c7dc4945b9d1db55bf0357e4c79d59500 Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期二, 04 七月 2023 16:15:42 +0800 Subject: [PATCH] websocket推送ptz增加剩余秒数 --- ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SdkTask.java | 91 ++++++++++++++++++++++++++------------------- 1 files changed, 53 insertions(+), 38 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 746bae2..4fcc320 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 @@ -11,6 +11,7 @@ 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 javax.annotation.Resource; @@ -26,6 +27,7 @@ * @Version: 1.0 **/ @Component("SdkTask") +@Slf4j(topic = "hikSdk") public class SdkTask { /** @@ -37,48 +39,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 { + 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 = DateUtils.getSecDatePoor(camera.getOperatorExpired(), new Date()); + //鑾峰彇鏃堕棿宸� + 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()); } } } -- Gitblit v1.9.3