From e07cc12a2c219fceeaecd96e77ed642037552fda Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期二, 04 七月 2023 14:45:37 +0800 Subject: [PATCH] websocket推送ptz增加当前操作用户中文名 --- ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SdkTask.java | 42 ++++++++++++++++++++++++++++++++++-------- 1 files changed, 34 insertions(+), 8 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 ae0c0b5..d97418c 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,16 +1,23 @@ package com.ruoyi.quartz.task; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.common.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 org.springframework.stereotype.Component; + 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; /** @@ -22,10 +29,6 @@ **/ @Component("SdkTask") public class SdkTask { - @Resource - IArdCamerasService ardCamerasService; - @Resource - IHikClientService hikClientService; /** * @鎻忚堪 瀹氭椂鎺ㄩ�乸tz @@ -36,6 +39,9 @@ * @淇敼浜哄拰鍏跺畠淇℃伅 */ 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"); @@ -44,16 +50,36 @@ 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()); + } + if (ptz.size() > 0) { - ptz.put("cameraId", camera.getId()); + ptz.put("cameraId", cmd.getCameraId()); + ptz.put("usernameZh",cmd.getOperatorZh()); + ptz.put("operatorId", cmd.getOperator());//涓婇攣鐢ㄦ埛id + ptz.put("operatorExpired",camera.getOperatorExpired()); list.add(ptz); } } if (ONLINE_USER_SESSIONS.size() > 0) { - Map<String, Object> sendMap=new HashMap<>(); - sendMap.put("command",10000); - sendMap.put("ptz",list); + Map<String, Object> sendMap = new HashMap<>(); + sendMap.put("10000", list); WebSocketUtils.sendMessageAll(sendMap); } } -- Gitblit v1.9.3