src/main/java/com/genersoft/iot/vmp/gb28181/bean/SubscribeHolder.java
@@ -4,7 +4,6 @@ import com.genersoft.iot.vmp.conf.DynamicTask; import com.genersoft.iot.vmp.conf.UserSetting; import com.genersoft.iot.vmp.gb28181.task.ISubscribeTask; import com.genersoft.iot.vmp.service.IPlatformService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -62,8 +61,15 @@ mobilePositionMap.put(platformId, subscribeInfo); String key = VideoManagerConstants.SIP_SUBSCRIBE_PREFIX + userSetting.getServerId() + "MobilePosition_" + platformId; // 添加任务处理GPS定时推送 int cycleForCatalog; if (subscribeInfo.getGpsInterval() <= 0) { cycleForCatalog = 5; }else { cycleForCatalog = subscribeInfo.getGpsInterval(); } dynamicTask.startCron(key, gpsTask, subscribeInfo.getGpsInterval() * 1000); cycleForCatalog * 1000); String taskOverdueKey = taskOverduePrefix + "MobilePosition_" + platformId; if (subscribeInfo.getExpires() > 0) { // 添加任务处理订阅过期 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
@@ -7,10 +7,6 @@ import com.genersoft.iot.vmp.conf.exception.SsrcTransactionNotFoundException; import com.genersoft.iot.vmp.gb28181.SipLayer; import com.genersoft.iot.vmp.gb28181.bean.*; import com.genersoft.iot.vmp.gb28181.bean.Device; import com.genersoft.iot.vmp.gb28181.bean.DeviceAlarm; import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; import com.genersoft.iot.vmp.gb28181.bean.SsrcTransaction; import com.genersoft.iot.vmp.gb28181.event.SipSubscribe; import com.genersoft.iot.vmp.gb28181.session.VideoStreamSessionManager; import com.genersoft.iot.vmp.gb28181.transmit.SIPSender; @@ -44,7 +40,6 @@ import javax.sip.header.CallIdHeader; import javax.sip.message.Request; import java.text.ParseException; import java.util.ArrayList; import java.util.List; /** @@ -1249,6 +1244,8 @@ subscribePostitionXml.append("<DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n"); if (device.getSubscribeCycleForMobilePosition() > 0) { subscribePostitionXml.append("<Interval>" + device.getMobilePositionSubmissionInterval() + "</Interval>\r\n"); }else { subscribePostitionXml.append("<Interval>5</Interval>\r\n"); } subscribePostitionXml.append("</Query>\r\n"); src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java
@@ -322,6 +322,9 @@ public void updateDevice(Device device){ if (device != null && device.getDeviceId() != null) { if (device.getSubscribeCycleForMobilePosition() > 0 && device.getMobilePositionSubmissionInterval() <= 0) { device.setMobilePositionSubmissionInterval(5); } deviceService.updateCustomDevice(device); } } web_src/src/components/dialog/deviceEdit.vue
@@ -128,6 +128,9 @@ this.form.subscribeCycleForCatalog = this.form.subscribeCycleForCatalog||0 this.form.subscribeCycleForMobilePosition = this.form.subscribeCycleForMobilePosition||0 this.form.mobilePositionSubmissionInterval = this.form.mobilePositionSubmissionInterval||0 if (this.form.mobilePositionSubmissionInterval === 0) { this.form.mobilePositionSubmissionInterval = 5 } this.$axios({ method: 'post', url:`/api/device/query/device/${this.isEdit?'update':'add'}/`,