From 7e48d847402d2ea4da85af582529de676f30dc38 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 08 五月 2023 17:56:56 +0800
Subject: [PATCH] Merge pull request #844 from xiaoQQya/wvp-28181-2.0
---
src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeHandlerTask.java | 61 +++++++-----------------------
1 files changed, 14 insertions(+), 47 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 fcac3e9..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,73 +1,40 @@
package com.genersoft.iot.vmp.gb28181.task.impl;
-import com.genersoft.iot.vmp.gb28181.bean.GbStream;
-import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
-import com.genersoft.iot.vmp.gb28181.bean.SubscribeHolder;
-import com.genersoft.iot.vmp.gb28181.bean.SubscribeInfo;
+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;
-import java.text.SimpleDateFormat;
+import javax.sip.DialogState;
import java.util.List;
/**
* 鍚戝凡缁忚闃�(绉诲姩浣嶇疆)鐨勪笂绾у彂閫丮obilePosition娑堟伅
+ * @author lin
*/
public class MobilePositionSubscribeHandlerTask implements ISubscribeTask {
- private IRedisCatchStorage redisCatchStorage;
- private IVideoManagerStorage storager;
- private ISIPCommanderForPlatform sipCommanderForPlatform;
- private SubscribeHolder subscribeHolder;
+
+ private IPlatformService platformService;
private String platformId;
- private String sn;
- private String key;
- private final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- public MobilePositionSubscribeHandlerTask(IRedisCatchStorage redisCatchStorage, ISIPCommanderForPlatform sipCommanderForPlatform, IVideoManagerStorage storager, String platformId, String sn, String key, SubscribeHolder subscribeInfo) {
- this.redisCatchStorage = redisCatchStorage;
- this.storager = storager;
+ public MobilePositionSubscribeHandlerTask(String platformId) {
+ this.platformService = SpringBeanFactory.getBean("platformServiceImpl");
this.platformId = platformId;
- this.sn = sn;
- this.key = key;
- this.sipCommanderForPlatform = sipCommanderForPlatform;
- this.subscribeHolder = subscribeInfo;
}
@Override
public void run() {
-
- SubscribeInfo subscribe = subscribeHolder.getMobilePositionSubscribe(platformId);
-
- if (subscribe != null) {
- ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(platformId);
- if (parentPlatform == null || parentPlatform.isStatus()) {
- // TODO 鏆傛椂鍙鐞嗚棰戞祦鐨勫洖澶�,鍚庣画澧炲姞瀵瑰浗鏍囪澶囩殑鏀寔
- List<GbStream> gbStreams = storager.queryGbStreamListInPlatform(platformId);
- if (gbStreams.size() > 0) {
- for (GbStream gbStream : gbStreams) {
- String gbId = gbStream.getGbId();
- GPSMsgInfo gpsMsgInfo = redisCatchStorage.getGpsMsgInfo(gbId);
- if (gpsMsgInfo != null) {
- // 鍙戦�丟PS娑堟伅
- sipCommanderForPlatform.sendNotifyMobilePosition(parentPlatform, gpsMsgInfo, subscribe);
- }else {
- // 娌℃湁鍦╮edis鎵惧埌鏂扮殑娑堟伅灏变娇鐢ㄦ暟鎹簱鐨勬秷鎭�
- gpsMsgInfo = new GPSMsgInfo();
- gpsMsgInfo.setId(gbId);
- gpsMsgInfo.setLat(gbStream.getLongitude());
- gpsMsgInfo.setLng(gbStream.getLongitude());
- // 鍙戦�丟PS娑堟伅
- sipCommanderForPlatform.sendNotifyMobilePosition(parentPlatform, gpsMsgInfo, subscribe);
- }
- }
- }
- }
- }
+ platformService.sendNotifyMobilePosition(this.platformId);
}
@Override
--
Gitblit v1.8.0