From f3e4928995401ba3b7ff0981867293838a50036e Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 31 一月 2023 14:16:47 +0800
Subject: [PATCH] Merge pull request #731 from zl2fxy/patch-1
---
src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeHandlerTask.java | 62 +++++-------------------------
1 files changed, 11 insertions(+), 51 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeHandlerTask.java b/src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeHandlerTask.java
index 034f9de..2e792c1 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeHandlerTask.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeHandlerTask.java
@@ -1,11 +1,14 @@
package com.genersoft.iot.vmp.gb28181.task.impl;
+import com.genersoft.iot.vmp.conf.DynamicTask;
import com.genersoft.iot.vmp.gb28181.bean.*;
import com.genersoft.iot.vmp.gb28181.task.ISubscribeTask;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
+import com.genersoft.iot.vmp.service.IPlatformService;
import com.genersoft.iot.vmp.service.bean.GPSMsgInfo;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
+import com.genersoft.iot.vmp.utils.SpringBeanFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Async;
@@ -15,70 +18,27 @@
/**
* 鍚戝凡缁忚闃�(绉诲姩浣嶇疆)鐨勪笂绾у彂閫丮obilePosition娑堟伅
+ * @author lin
*/
public class MobilePositionSubscribeHandlerTask implements ISubscribeTask {
- private Logger logger = LoggerFactory.getLogger(MobilePositionSubscribeHandlerTask.class);
- private IRedisCatchStorage redisCatchStorage;
- private IVideoManagerStorage storager;
- private ISIPCommanderForPlatform sipCommanderForPlatform;
- private SubscribeHolder subscribeHolder;
- private ParentPlatform platform;
- private String sn;
- private String key;
+ private IPlatformService platformService;
+ private String platformId;
- public MobilePositionSubscribeHandlerTask(IRedisCatchStorage redisCatchStorage, ISIPCommanderForPlatform sipCommanderForPlatform, IVideoManagerStorage storager, String platformId, String sn, String key, SubscribeHolder subscribeInfo) {
- System.out.println("MobilePositionSubscribeHandlerTask 鍒濆鍖�");
- this.redisCatchStorage = redisCatchStorage;
- this.storager = storager;
- this.platform = storager.queryParentPlatByServerGBId(platformId);
- this.sn = sn;
- this.key = key;
- this.sipCommanderForPlatform = sipCommanderForPlatform;
- this.subscribeHolder = subscribeInfo;
+
+ public MobilePositionSubscribeHandlerTask(String platformId) {
+ this.platformService = SpringBeanFactory.getBean("platformServiceImpl");
+ this.platformId = platformId;
}
@Override
public void run() {
-
- if (platform == null) return;
- SubscribeInfo subscribe = subscribeHolder.getMobilePositionSubscribe(platform.getServerGBId());
- if (subscribe != null) {
-
-// if (!parentPlatform.isStatus()) {
-// logger.info("鍙戦�佽闃呮椂鍙戠幇骞冲彴宸茬粡绂荤嚎锛歿}", platformId);
-// return;
-// }
- // TODO 鏆傛椂鍙鐞嗚棰戞祦鐨勫洖澶�,鍚庣画澧炲姞瀵瑰浗鏍囪澶囩殑鏀寔
- List<GbStream> gbStreams = storager.queryGbStreamListInPlatform(platform.getServerGBId());
- if (gbStreams.size() == 0) {
- logger.info("鍙戦�佽闃呮椂鍙戠幇骞冲彴宸茬粡娌℃湁鍏宠仈鐨勭洿鎾祦锛歿}", platform.getServerGBId());
- return;
- }
- for (GbStream gbStream : gbStreams) {
- String gbId = gbStream.getGbId();
- GPSMsgInfo gpsMsgInfo = redisCatchStorage.getGpsMsgInfo(gbId);
- if (gpsMsgInfo != null) { // 鏃犳渶鏂颁綅缃笉鍙戦��
- logger.info("鏃犳渶鏂颁綅缃笉鍙戦��");
- // 缁忕含搴﹂兘涓�0涓嶅彂閫�
- if (gpsMsgInfo.getLng() == 0 && gpsMsgInfo.getLat() == 0) {
- continue;
- }
- // 鍙戦�丟PS娑堟伅
- sipCommanderForPlatform.sendNotifyMobilePosition(platform, gpsMsgInfo, subscribe);
- }
- }
- }
+ platformService.sendNotifyMobilePosition(this.platformId);
}
@Override
public void stop() {
- }
-
- @Override
- public DialogState getDialogState() {
- return null;
}
}
--
Gitblit v1.8.0