From d7a1b94f905c5f28c9c8f2d48c3f9e28ebcf9cc4 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期六, 24 九月 2022 21:04:58 +0800 Subject: [PATCH] Merge branch 'wvp-28181-2.0' --- src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeHandlerTask.java | 62 ++++--------------------------- 1 files changed, 8 insertions(+), 54 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 2ee1037..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 @@ -4,9 +4,11 @@ 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; @@ -20,71 +22,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) { - 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() { - } - - @Override - public DialogState getDialogState() { - return null; } } -- Gitblit v1.8.0