From a6f9c090cb73f4ae97c40401068216a0b3fcb97d Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 08 九月 2022 10:50:44 +0800
Subject: [PATCH] 重启服务时上级平台直接注销再注册
---
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java | 72 +++++++----------------------------
1 files changed, 15 insertions(+), 57 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
index 8465d80..88cb8c0 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
@@ -26,6 +26,7 @@
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
+import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import java.util.*;
@@ -110,11 +111,11 @@
if (CollectionUtils.isEmpty(deviceChannelList)) {
return false;
}
- List<DeviceChannel> allChannelInPlay = deviceChannelMapper.getAllChannelInPlay();
- Map<String,DeviceChannel> allChannelMapInPlay = new ConcurrentHashMap<>();
- if (allChannelInPlay.size() > 0) {
- for (DeviceChannel deviceChannel : allChannelInPlay) {
- allChannelMapInPlay.put(deviceChannel.getChannelId(), deviceChannel);
+ List<DeviceChannel> allChannels = deviceChannelMapper.queryAllChannels(deviceId);
+ Map<String,DeviceChannel> allChannelMap = new ConcurrentHashMap<>();
+ if (allChannels.size() > 0) {
+ for (DeviceChannel deviceChannel : allChannels) {
+ allChannelMap.put(deviceChannel.getChannelId(), deviceChannel);
}
}
TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
@@ -122,17 +123,19 @@
List<DeviceChannel> channels = new ArrayList<>();
StringBuilder stringBuilder = new StringBuilder();
Map<String, Integer> subContMap = new HashMap<>();
- if (deviceChannelList.size() > 1) {
+ if (deviceChannelList.size() > 0) {
// 鏁版嵁鍘婚噸
Set<String> gbIdSet = new HashSet<>();
for (DeviceChannel deviceChannel : deviceChannelList) {
if (!gbIdSet.contains(deviceChannel.getChannelId())) {
gbIdSet.add(deviceChannel.getChannelId());
- if (allChannelMapInPlay.containsKey(deviceChannel.getChannelId())) {
- deviceChannel.setStreamId(allChannelMapInPlay.get(deviceChannel.getChannelId()).getStreamId());
+ if (allChannelMap.containsKey(deviceChannel.getChannelId())) {
+ deviceChannel.setStreamId(allChannelMap.get(deviceChannel.getChannelId()).getStreamId());
+ deviceChannel.setHasAudio(allChannelMap.get(deviceChannel.getChannelId()).isHasAudio());
}
+
channels.add(deviceChannel);
- if (!StringUtils.isEmpty(deviceChannel.getParentId())) {
+ if (!ObjectUtils.isEmpty(deviceChannel.getParentId())) {
if (subContMap.get(deviceChannel.getParentId()) == null) {
subContMap.put(deviceChannel.getParentId(), 1);
}else {
@@ -152,8 +155,6 @@
}
}
- }else {
- channels = deviceChannelList;
}
if (stringBuilder.length() > 0) {
logger.info("[鐩綍鏌ヨ]鏀跺埌鐨勬暟鎹瓨鍦ㄩ噸澶嶏細 {}" , stringBuilder);
@@ -457,13 +458,6 @@
}
@Override
- public PageInfo<ParentPlatform> queryParentPlatformList(int page, int count) {
- PageHelper.startPage(page, count);
- List<ParentPlatform> all = platformMapper.getParentPlatformList();
- return new PageInfo<>(all);
- }
-
- @Override
public ParentPlatform queryParentPlatByServerGBId(String platformGbId) {
return platformMapper.getParentPlatByServerGBId(platformGbId);
}
@@ -636,44 +630,8 @@
}
@Override
- public void updateMediaList(List<StreamPushItem> streamPushItems) {
- if (streamPushItems == null || streamPushItems.size() == 0) {
- return;
- }
- logger.info("updateMediaList: " + streamPushItems.size());
- streamPushMapper.addAll(streamPushItems);
- // TODO 寰呬紭鍖�
- for (int i = 0; i < streamPushItems.size(); i++) {
- int onlineResult = mediaOnline(streamPushItems.get(i).getApp(), streamPushItems.get(i).getStream());
- if (onlineResult > 0) {
- // 鍙戦�佷笂绾块�氱煡
- eventPublisher.catalogEventPublishForStream(null, streamPushItems.get(i), CatalogEvent.ON);
- }
- }
- }
-
-
-
- @Override
- public void updateMedia(StreamPushItem streamPushItem) {
- streamPushMapper.del(streamPushItem.getApp(), streamPushItem.getStream());
- streamPushMapper.add(streamPushItem);
- mediaOffline(streamPushItem.getApp(), streamPushItem.getStream());
- }
-
- @Override
public int removeMedia(String app, String stream) {
return streamPushMapper.del(app, stream);
- }
-
- @Override
- public StreamPushItem getMedia(String app, String stream) {
- return streamPushMapper.selectOne(app, stream);
- }
-
- @Override
- public void clearMediaList() {
- streamPushMapper.clear();
}
@Override
@@ -683,7 +641,7 @@
if ("proxy".equals(gbStream.getStreamType())) {
result = streamProxyMapper.updateStatus(app, stream, false);
}else {
- result = streamPushMapper.updateStatus(app, stream, false);
+ result = streamPushMapper.updatePushStatus(app, stream, false);
}
return result;
}
@@ -695,7 +653,7 @@
if ("proxy".equals(gbStream.getStreamType())) {
result = streamProxyMapper.updateStatus(app, stream, true);
}else {
- result = streamPushMapper.updateStatus(app, stream, true);
+ result = streamPushMapper.updatePushStatus(app, stream, true);
}
return result;
}
@@ -744,7 +702,7 @@
platformCatalog.setParentId(platform.getDeviceGBId());
}else {
// 鑾峰彇椤跺眰鐨�
- PlatformCatalog topCatalog = getTopCatalog(platformCatalog.getParentId(), platformCatalog.getPlatformId());
+ PlatformCatalog topCatalog = getTopCatalog(platformCatalog.getParentId(), platform.getDeviceGBId());
platformCatalog.setBusinessGroupId(topCatalog.getId());
}
}
--
Gitblit v1.8.0