From 62f716be9cd1cee2a5fba566db3fcd43bd9fc4cc Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 03 四月 2024 15:04:33 +0800
Subject: [PATCH] 添加idea logo
---
src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java | 33 +++++++++++++++++++++++++++------
1 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
old mode 100644
new mode 100755
index 45166de..e2d7e68
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
@@ -4,6 +4,7 @@
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.alibaba.fastjson2.TypeReference;
+import com.baomidou.dynamic.datasource.annotation.DS;
import com.genersoft.iot.vmp.conf.MediaConfig;
import com.genersoft.iot.vmp.conf.UserSetting;
import com.genersoft.iot.vmp.gb28181.bean.*;
@@ -20,7 +21,7 @@
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.dao.*;
import com.genersoft.iot.vmp.utils.DateUtil;
-import com.genersoft.iot.vmp.vmanager.bean.ResourceBaceInfo;
+import com.genersoft.iot.vmp.vmanager.bean.ResourceBaseInfo;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.slf4j.Logger;
@@ -36,6 +37,7 @@
import java.util.stream.Collectors;
@Service
+@DS("master")
public class StreamPushServiceImpl implements IStreamPushService {
private final static Logger logger = LoggerFactory.getLogger(StreamPushServiceImpl.class);
@@ -183,8 +185,11 @@
@Override
public boolean stop(String app, String streamId) {
+ logger.info("[鎺ㄦ祦 ] 鍋滄娴侊細 {}/{}", app, streamId);
StreamPushItem streamPushItem = streamPushMapper.selectOne(app, streamId);
- gbStreamService.sendCatalogMsg(streamPushItem, CatalogEvent.DEL);
+ if (streamPushItem != null) {
+ gbStreamService.sendCatalogMsg(streamPushItem, CatalogEvent.DEL);
+ }
platformGbStreamMapper.delByAppAndStream(app, streamId);
gbStreamMapper.del(app, streamId);
@@ -279,6 +284,8 @@
redisCatchStorage.sendStreamChangeMsg(type, jsonObject);
// 绉婚櫎redis鍐呮祦鐨勪俊鎭�
redisCatchStorage.removeStream(mediaServerItem.getId(), "PUSH", offlineOnStreamChangedHookParam.getApp(), offlineOnStreamChangedHookParam.getStream());
+ // 鍐椾綑鏁版嵁锛岃嚜宸辩郴缁熶腑鑷敤
+ redisCatchStorage.removePushListItem(offlineOnStreamChangedHookParam.getApp(), offlineOnStreamChangedHookParam.getStream(), mediaServerItem.getId());
}
}
@@ -316,6 +323,9 @@
jsonObject.put("register", false);
jsonObject.put("mediaServerId", mediaServerId);
redisCatchStorage.sendStreamChangeMsg(type, jsonObject);
+
+ // 鍐椾綑鏁版嵁锛岃嚜宸辩郴缁熶腑鑷敤
+ redisCatchStorage.removePushListItem(onStreamChangedHookParam.getApp(), onStreamChangedHookParam.getStream(), mediaServerId);
}
}
}
@@ -364,7 +374,7 @@
// 瀛樺偍鏁版嵁鍒皊tream_push琛�
streamPushMapper.addAll(streamPushItems);
List<StreamPushItem> streamPushItemForGbStream = streamPushItems.stream()
- .filter(streamPushItem-> streamPushItem.getId() != null)
+ .filter(streamPushItem-> streamPushItem.getGbId() != null)
.collect(Collectors.toList());
// 瀛樺偍鏁版嵁鍒癵b_stream琛紝 id浼氳繑鍥炲埌streamPushItemForGbStream閲�
if (streamPushItemForGbStream.size() > 0) {
@@ -437,7 +447,7 @@
}
}
- if (streamPushItemListFroPlatform.size() > 0) {
+ if (!streamPushItemListFroPlatform.isEmpty()) {
platformGbStreamMapper.batchAdd(streamPushItemListFroPlatform);
// 鍙戦�侀�氱煡
for (String platformId : platformForEvent.keySet()) {
@@ -503,6 +513,9 @@
stream.setUpdateTime(DateUtil.getNow());
stream.setCreateTime(DateUtil.getNow());
stream.setServerId(userSetting.getServerId());
+ stream.setMediaServerId(mediaConfig.getId());
+ stream.setSelf(true);
+ stream.setPushIng(true);
// 鏀惧湪浜嬪姟鍐呮墽琛�
boolean result = false;
@@ -529,7 +542,15 @@
}
@Override
- public ResourceBaceInfo getOverview() {
- return streamPushMapper.getOverview(userSetting.isUsePushingAsStatus());
+ public ResourceBaseInfo getOverview() {
+ int total = streamPushMapper.getAllCount();
+ int online = streamPushMapper.getAllOnline(userSetting.isUsePushingAsStatus());
+
+ return new ResourceBaseInfo(total, online);
+ }
+
+ @Override
+ public Map<String, StreamPushItem> getAllAppAndStreamMap() {
+ return streamPushMapper.getAllAppAndStreamMap();
}
}
--
Gitblit v1.8.0