From c21d973977a9f1d00d26179de764687ddd0ec56c Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期三, 24 四月 2024 14:59:41 +0800 Subject: [PATCH] 修复收到catalog消息是更新导致是否有音频的设置失效的BUG --- src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeHandlerTask.java | 75 +++++-------------------------------- 1 files changed, 10 insertions(+), 65 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 569a9b7..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,88 +1,33 @@ package com.genersoft.iot.vmp.gb28181.task.impl; -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娑堟伅 + * @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 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) { - 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; } - @Async @Override public void run() { - - logger.info("鎵цMobilePositionSubscribeHandlerTask"); - SubscribeInfo subscribe = subscribeHolder.getMobilePositionSubscribe(platformId); - if (subscribe != null) { - ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(platformId); - if (parentPlatform == null ) { - logger.info("鍙戦�佽闃呮椂鏈壘鍒板钩鍙颁俊鎭細{}", platformId); - return; - } - if (!parentPlatform.isStatus()) { - logger.info("鍙戦�佽闃呮椂鍙戠幇骞冲彴宸茬粡绂荤嚎锛歿}", platformId); - return; - } - // TODO 鏆傛椂鍙鐞嗚棰戞祦鐨勫洖澶�,鍚庣画澧炲姞瀵瑰浗鏍囪澶囩殑鏀寔 - List<GbStream> gbStreams = storager.queryGbStreamListInPlatform(platformId); - if (gbStreams.size() == 0) { - logger.info("鍙戦�佽闃呮椂鍙戠幇骞冲彴宸茬粡娌℃湁鍏宠仈鐨勭洿鎾祦锛歿}", platformId); - return; - } - for (GbStream gbStream : gbStreams) { - String gbId = gbStream.getGbId(); - GPSMsgInfo gpsMsgInfo = redisCatchStorage.getGpsMsgInfo(gbId); - if (gpsMsgInfo != null) { // 鏃犳渶鏂颁綅缃笉鍙戦�� - // 缁忕含搴﹂兘涓�0涓嶅彂閫� - if (gpsMsgInfo.getLng() == 0 && gpsMsgInfo.getLat() == 0) { - continue; - } - // 鍙戦�丟PS娑堟伅 - sipCommanderForPlatform.sendNotifyMobilePosition(parentPlatform, gpsMsgInfo, subscribe); - } - } - } - logger.info("缁撴潫鎵цMobilePositionSubscribeHandlerTask"); + platformService.sendNotifyMobilePosition(this.platformId); } @Override - public void stop() { + public void stop(CommonCallback<Boolean> callback) { - } - - @Override - public DialogState getDialogState() { - return null; } } -- Gitblit v1.8.0