648540858
2024-06-06 619a86e0ed6cdda88e2458b9ec4302d202d2215f
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/SubscribeRequestProcessor.java
@@ -1,5 +1,8 @@
package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl;
import com.genersoft.iot.vmp.common.VideoManagerConstants;
import com.genersoft.iot.vmp.conf.DynamicTask;
import com.genersoft.iot.vmp.conf.UserSetting;
import com.genersoft.iot.vmp.gb28181.bean.CmdType;
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
import com.genersoft.iot.vmp.gb28181.bean.SubscribeHolder;
@@ -10,6 +13,7 @@
import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent;
import com.genersoft.iot.vmp.gb28181.utils.SipUtils;
import com.genersoft.iot.vmp.gb28181.utils.XmlUtil;
import com.genersoft.iot.vmp.service.IPlatformService;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
import gov.nist.javax.sip.message.SIPRequest;
import gov.nist.javax.sip.message.SIPResponse;
@@ -49,6 +53,10 @@
   @Autowired
   private SIPSender sipSender;
   @Autowired
   private IPlatformService platformService;
   @Override
   public void afterPropertiesSet() throws Exception {
@@ -139,7 +147,9 @@
            subscribeHolder.removeMobilePositionSubscribe(platformId);
         }else {
            subscribeInfo.setResponse(response);
            subscribeHolder.putMobilePositionSubscribe(platformId, subscribeInfo);
            subscribeHolder.putMobilePositionSubscribe(platformId, subscribeInfo, ()->{
               platformService.sendNotifyMobilePosition(platformId);
            });
         }
      } catch (SipException | InvalidArgumentException | ParseException e) {
@@ -191,5 +201,8 @@
      } catch (SipException | InvalidArgumentException | ParseException e) {
         logger.error("未处理的异常 ", e);
      }
      if (subscribeHolder.getCatalogSubscribe(platformId) == null && platform.isAutoPushChannel()) {
         platformService.addSimulatedSubscribeInfo(platform);
      }
   }
}