From 764d04b497356ba6bcbb75fd42b51eca750f7223 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期三, 29 五月 2024 15:02:51 +0800 Subject: [PATCH] 调整上级观看消息的发送 --- src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeHandlerTask.java | 78 +++++---------------------------------- 1 files changed, 10 insertions(+), 68 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 old mode 100644 new mode 100755 index 7edee4d..a4512f3 --- 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,18 +1,9 @@ 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.common.CommonCallback; import com.genersoft.iot.vmp.gb28181.task.ISubscribeTask; -import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform; -import com.genersoft.iot.vmp.service.bean.GPSMsgInfo; -import com.genersoft.iot.vmp.storager.IRedisCatchStorage; -import com.genersoft.iot.vmp.storager.IVideoManagerStorage; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.scheduling.annotation.Async; - -import javax.sip.DialogState; -import java.util.List; +import com.genersoft.iot.vmp.service.IPlatformService; +import com.genersoft.iot.vmp.utils.SpringBeanFactory; /** * 鍚戝凡缁忚闃�(绉诲姩浣嶇疆)鐨勪笂绾у彂閫丮obilePosition娑堟伅 @@ -20,72 +11,23 @@ */ 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 IPlatformService platformService; + private String platformId; - private String sn; - private String key; - public MobilePositionSubscribeHandlerTask(IRedisCatchStorage redisCatchStorage, - ISIPCommanderForPlatform sipCommanderForPlatform, - IVideoManagerStorage storager, - String platformId, - String sn, - String key, - SubscribeHolder subscribeInfo, - DynamicTask dynamicTask) { - 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) { - - // TODO 鏆傛椂鍙鐞嗚棰戞祦鐨勫洖澶�,鍚庣画澧炲姞瀵瑰浗鏍囪澶囩殑鏀寔 - List<DeviceChannel> gbStreams = storager.queryGbStreamListInPlatform(platform.getServerGBId()); - if (gbStreams.size() == 0) { - logger.info("鍙戦�佽闃呮椂鍙戠幇骞冲彴宸茬粡娌℃湁鍏宠仈鐨勭洿鎾祦锛歿}", platform.getServerGBId()); - return; - } - for (DeviceChannel deviceChannel : gbStreams) { - String gbId = deviceChannel.getChannelId(); - GPSMsgInfo gpsMsgInfo = redisCatchStorage.getGpsMsgInfo(gbId); - // 鏃犳渶鏂颁綅缃笉鍙戦�� - if (gpsMsgInfo != null) { - // 缁忕含搴﹂兘涓�0涓嶅彂閫� - if (gpsMsgInfo.getLng() == 0 && gpsMsgInfo.getLat() == 0) { - continue; - } - // 鍙戦�丟PS娑堟伅 - sipCommanderForPlatform.sendNotifyMobilePosition(platform, gpsMsgInfo, subscribe); - } - } - } + platformService.sendNotifyMobilePosition(this.platformId); } @Override - public void stop() { + public void stop(CommonCallback<Boolean> callback) { - } - - @Override - public DialogState getDialogState() { - return null; } } -- Gitblit v1.8.0