From 3d02afb677c690bd31366d0f5683dd0020c40734 Mon Sep 17 00:00:00 2001
From: Administrator <1144154118@qq.com>
Date: 星期三, 26 七月 2023 16:04:38 +0800
Subject: [PATCH] 部门下所有车辆位置
---
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SdkTask.java | 94 +++++++++++++++++++++++++++++++----------------
1 files changed, 62 insertions(+), 32 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 6ee5445..388b551 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,5 +1,9 @@
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;
@@ -8,13 +12,12 @@
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 javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import static com.ruoyi.common.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS;
@@ -26,6 +29,7 @@
* @Version: 1.0
**/
@Component("SdkTask")
+@Slf4j(topic = "hikSdk")
public class SdkTask {
/**
@@ -37,35 +41,61 @@
* @淇敼浜哄拰鍏跺畠淇℃伅
*/
public void ptzPush() {
- 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);
- if (!GlobalVariable.loginMap.containsKey(camera.getId()))//鍙帹閫佺櫥褰曟垚鍔熺殑鐩告満
- {
- continue;
+ 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());
+ }
+
+ //鑾峰彇鏃堕棿宸�
+ 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);
+ }
}
- Map<String, Object> ptz = hikClientService.getPtz(cmd);
- if (StringUtils.isNull(ptz)) {
- continue;
- }
- if (ptz.size() > 0) {
- ptz.put("cameraId", camera.getId());
- ptz.put("operatorId", camera.getOperatorId());//涓婇攣鐢ㄦ埛id
- ptz.put("operatorExpired", camera.getOperatorExpired());
- 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());
}
}
+
}
--
Gitblit v1.9.3