Commit 6ba8ab22b54e83d0e0edabb9d0fdc8870b86e98f

Authored by 648540858
1 parent e8090bc8

修复推流生成通道未通知上级平台的问题,添加注册时清楚脏数据。

src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java
@@ -90,8 +90,13 @@ public class RegisterRequestProcessor extends SIPRequestProcessorParent implemen @@ -90,8 +90,13 @@ public class RegisterRequestProcessor extends SIPRequestProcessorParent implemen
90 AddressImpl address = (AddressImpl) fromHeader.getAddress(); 90 AddressImpl address = (AddressImpl) fromHeader.getAddress();
91 SipUri uri = (SipUri) address.getURI(); 91 SipUri uri = (SipUri) address.getURI();
92 String deviceId = uri.getUser(); 92 String deviceId = uri.getUser();
93 - Device device = redisCatchStorage.getDevice(deviceId);  
94 - AuthorizationHeader authorhead = (AuthorizationHeader) request.getHeader(AuthorizationHeader.NAME); 93 + Device deviceInRedis = redisCatchStorage.getDevice(deviceId);
  94 + Device device = storager.queryVideoDevice(deviceId);
  95 + if (deviceInRedis != null && device == null) {
  96 + // redis 存在脏数据
  97 + redisCatchStorage.clearCatchByDeviceId(deviceId);
  98 + }
  99 + AuthorizationHeader authorhead = (AuthorizationHeader) request.getHeader(AuthorizationHeader.NAME);
95 // 校验密码是否正确 100 // 校验密码是否正确
96 if (authorhead != null) { 101 if (authorhead != null) {
97 passwordCorrect = new DigestServerAuthenticationHelper().doAuthenticatePlainTextPassword(request, 102 passwordCorrect = new DigestServerAuthenticationHelper().doAuthenticatePlainTextPassword(request,
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
@@ -814,9 +814,11 @@ public class VideoManagerStoragerImpl implements IVideoManagerStorager { @@ -814,9 +814,11 @@ public class VideoManagerStoragerImpl implements IVideoManagerStorager {
814 streamPushItem.setCatalogId(parentPlatform.getCatalogId()); 814 streamPushItem.setCatalogId(parentPlatform.getCatalogId());
815 streamPushItem.setPlatformId(parentPlatform.getServerGBId()); 815 streamPushItem.setPlatformId(parentPlatform.getServerGBId());
816 String stream = streamPushItem.getStream(); 816 String stream = streamPushItem.getStream();
817 - StreamProxyItem streamProxyItems = platformGbStreamMapper.selectOne(streamPushItem.getApp(), stream, parentPlatform.getServerGBId()); 817 + StreamProxyItem streamProxyItems = platformGbStreamMapper.selectOne(streamPushItem.getApp(), stream,
  818 + parentPlatform.getServerGBId());
818 if (streamProxyItems == null) { 819 if (streamProxyItems == null) {
819 platformGbStreamMapper.add(streamPushItem); 820 platformGbStreamMapper.add(streamPushItem);
  821 + eventPublisher.catalogEventPublishForStream(parentPlatform.getServerGBId(), streamPushItem, CatalogEvent.ADD);
820 } 822 }
821 } 823 }
822 } 824 }