From 92dba8e44a911c92832ecc22e4c98968409d5c68 Mon Sep 17 00:00:00 2001 From: aijinhui <aijinhui> Date: 星期二, 14 十一月 2023 15:01:37 +0800 Subject: [PATCH] 远程封印 --- ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java | 264 ++++++++++++++++++++++++++-------------------------- 1 files changed, 131 insertions(+), 133 deletions(-) diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java index 559f8cd..5ed9959 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java @@ -1,134 +1,132 @@ -package com.ruoyi.quartz.task; - -import com.ruoyi.alarm.global.service.IGlobalAlarmService; -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.device.camera.domain.ArdCameras; -import com.ruoyi.device.camera.domain.CameraCmd; -import com.ruoyi.device.camera.service.ICameraSdkService; -import com.ruoyi.device.hiksdk.common.GlobalVariable; -import com.ruoyi.device.hiksdk.service.IHikClientService; -import com.ruoyi.utils.websocket.util.WebSocketUtils; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; - -import javax.annotation.Resource; -import java.util.*; -import static com.ruoyi.utils.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS; - -/** - * @ClassName: AlarmTask - * @Description: 鎺ㄩ�佷换鍔� - * @Author: Administrator - * @Date: 2023骞�03鏈�06鏃� 11:13 - * @Version: 1.0 - **/ -@Component("PushTask") -@Slf4j -public class PushTask { - - @Resource - RedisCache redisCache; - @Resource - ICameraSdkService cameraSdkService; - @Resource - IGlobalAlarmService globalAlarmService; - /** - * @鎻忚堪 瀹氭椂鎺ㄩ�佹墍鏈夋姤璀︾殑鐐逛綅鏁伴噺 - * @鍙傛暟 [] - * @杩斿洖鍊� void - * @鍒涘缓浜� 鍒樿嫃涔� - * @鍒涘缓鏃堕棿 2023/6/15 15:43 - * @淇敼浜哄拰鍏跺畠淇℃伅 - */ - public void globalAlarmCountPush() { - try { - Map<String, Object> stringIntegerMap = globalAlarmService.selectAlarmLogsCount(); - if (ONLINE_USER_SESSIONS.size() > 0) { - WebSocketUtils.sendMessageAll(stringIntegerMap); - } - } catch (Exception ex) { - log.error("鎺ㄩ�佹姤璀︾殑鐐逛綅鏁伴噺寮傚父:" + ex.getMessage()); - } - } - - - /** - * @鎻忚堪 瀹氭椂鎺ㄩ�乸tz - * @鍙傛暟 [] - * @杩斿洖鍊� void - * @鍒涘缓浜� 鍒樿嫃涔� - * @鍒涘缓鏃堕棿 2023/6/15 15:43 - * @淇敼浜哄拰鍏跺畠淇℃伅 - */ - public void ptzPush() { - try { - 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 (!GlobalVariable.loginMap.containsKey(camera.getId()))//鍙帹閫侀娆$櫥褰曟垚鍔熺殑鐩告満 - { - continue; - } - if(!"1".equals(camera.getGdtype())) - { - continue; - } - CameraCmd cmd = new CameraCmd(); - cmd.setCameraId(camera.getId()); - cmd.setChanNo(1); - cmd.setOperator(camera.getOperatorId()); - //鎺ㄩ�佸湪绾跨殑鐩告満 - boolean onLine = cameraSdkService.isOnLine(cmd); - if(!onLine) - { - continue; - } - Map<String, Object> ptz = cameraSdkService.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); - } - } - } catch (Exception ex) { - log.error("鎺ㄩ�乸tz寮傚父:" + ex.getMessage()); - } - } +package com.ruoyi.quartz.task; + +import com.ruoyi.alarm.global.service.IGlobalAlarmService; +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.device.camera.domain.ArdCameras; +import com.ruoyi.device.camera.domain.CameraCmd; +import com.ruoyi.device.camera.service.ICameraSdkService; +import com.ruoyi.utils.sdk.common.GlobalVariable; +import com.ruoyi.utils.websocket.util.WebSocketUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.*; +import static com.ruoyi.utils.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS; + +/** + * @ClassName: AlarmTask + * @Description: 鎺ㄩ�佷换鍔� + * @Author: Administrator + * @Date: 2023骞�03鏈�06鏃� 11:13 + * @Version: 1.0 + **/ +@Component("PushTask") +@Slf4j +public class PushTask { + + @Resource + RedisCache redisCache; + @Resource + ICameraSdkService cameraSdkService; + @Resource + IGlobalAlarmService globalAlarmService; + /** + * @鎻忚堪 瀹氭椂鎺ㄩ�佹墍鏈夋姤璀︾殑鐐逛綅鏁伴噺 + * @鍙傛暟 [] + * @杩斿洖鍊� void + * @鍒涘缓浜� 鍒樿嫃涔� + * @鍒涘缓鏃堕棿 2023/6/15 15:43 + * @淇敼浜哄拰鍏跺畠淇℃伅 + */ + public void globalAlarmCountPush() { + try { + Map<String, Object> stringIntegerMap = globalAlarmService.selectAlarmLogsCount(); + if (ONLINE_USER_SESSIONS.size() > 0) { + WebSocketUtils.sendMessageAll(stringIntegerMap); + } + } catch (Exception ex) { + log.error("鎺ㄩ�佹姤璀︾殑鐐逛綅鏁伴噺寮傚父:" + ex.getMessage()); + } + } + + + /** + * @鎻忚堪 瀹氭椂鎺ㄩ�乸tz + * @鍙傛暟 [] + * @杩斿洖鍊� void + * @鍒涘缓浜� 鍒樿嫃涔� + * @鍒涘缓鏃堕棿 2023/6/15 15:43 + * @淇敼浜哄拰鍏跺畠淇℃伅 + */ + public void ptzPush() { + try { + 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 (!GlobalVariable.loginMap.containsKey(camera.getId()))//鍙帹閫侀娆$櫥褰曟垚鍔熺殑鐩告満 + { + continue; + } + if(!"1".equals(camera.getGdtype())) + { + continue; + } + CameraCmd cmd = new CameraCmd(); + cmd.setCameraId(camera.getId()); + cmd.setChanNo(1); + cmd.setOperator(camera.getOperatorId()); + //鎺ㄩ�佸湪绾跨殑鐩告満 + boolean onLine = cameraSdkService.isOnLine(cmd); + if(!onLine) + { + continue; + } + Map<String, Object> ptz = cameraSdkService.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); + } + } + } catch (Exception ex) { + log.error("鎺ㄩ�乸tz寮傚父:" + ex.getMessage()); + } + } } \ No newline at end of file -- Gitblit v1.9.3