fuliqi
2025-01-15 ab491a079ba4ab85ffef35d14c0767eba01455d8
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);
      }
   }
}