From be7082f5e21aaab0ef541d9a78ced7eaebcfb1f7 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 25 十一月 2021 15:33:25 +0800
Subject: [PATCH] 优化多线程参数

---
 src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java |   63 +++++++++++++++++++------------
 1 files changed, 39 insertions(+), 24 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
index c0332c7..2820721 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
@@ -6,9 +6,11 @@
 import com.genersoft.iot.vmp.gb28181.bean.GbStream;
 import com.genersoft.iot.vmp.media.zlm.ZLMRESTfulUtils;
 import com.genersoft.iot.vmp.media.zlm.dto.MediaItem;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
+import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
 import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
+import com.genersoft.iot.vmp.service.IMediaServerService;
 import com.genersoft.iot.vmp.service.IStreamPushService;
+import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
 import com.genersoft.iot.vmp.storager.dao.GbStreamMapper;
 import com.genersoft.iot.vmp.storager.dao.StreamPushMapper;
 import com.github.pagehelper.PageHelper;
@@ -33,8 +35,14 @@
     @Autowired
     private ZLMRESTfulUtils zlmresTfulUtils;
 
+    @Autowired
+    private IRedisCatchStorage redisCatchStorage;
+
+    @Autowired
+    private IMediaServerService mediaServerService;
+
     @Override
-    public List<StreamPushItem> handleJSON(String jsonData) {
+    public List<StreamPushItem> handleJSON(String jsonData, MediaServerItem mediaServerItem) {
         if (jsonData == null) return null;
 
         Map<String, StreamPushItem> result = new HashMap<>();
@@ -43,31 +51,37 @@
         for (MediaItem item : mediaItems) {
 
             // 涓嶄繚瀛樺浗鏍囨帹鐞嗕互鍙婃媺娴佷唬鐞嗙殑娴�
-            if (item.getOriginType() == 3 || item.getOriginType() == 4 || item.getOriginType() == 5) {
-                continue;
+            if (item.getOriginType() == 1 || item.getOriginType() == 2 || item.getOriginType() == 8) {
+                String key = item.getApp() + "_" + item.getStream();
+                StreamPushItem streamPushItem = result.get(key);
+                if (streamPushItem == null) {
+                    streamPushItem = transform(item);
+                    result.put(key, streamPushItem);
+                }
             }
-            String key = item.getApp() + "_" + item.getStream();
-            StreamPushItem streamPushItem = result.get(key);
-            if (streamPushItem == null) {
-                streamPushItem = new StreamPushItem();
-                streamPushItem.setApp(item.getApp());
-                streamPushItem.setStream(item.getStream());
-                streamPushItem.setAliveSecond(item.getAliveSecond());
-                streamPushItem.setCreateStamp(item.getCreateStamp());
-                streamPushItem.setOriginSock(item.getOriginSock());
-                streamPushItem.setTotalReaderCount(item.getTotalReaderCount());
-                streamPushItem.setOriginType(item.getOriginType());
-                streamPushItem.setOriginTypeStr(item.getOriginTypeStr());
-                streamPushItem.setOriginUrl(item.getOriginUrl());
-                streamPushItem.setCreateStamp(item.getCreateStamp());
-                streamPushItem.setAliveSecond(item.getAliveSecond());
-                streamPushItem.setStatus(true);
-                streamPushItem.setVhost(item.getVhost());
-                result.put(key, streamPushItem);
-            }
+
         }
 
         return new ArrayList<>(result.values());
+    }
+    @Override
+    public StreamPushItem transform(MediaItem item) {
+        StreamPushItem streamPushItem = new StreamPushItem();
+        streamPushItem.setApp(item.getApp());
+        streamPushItem.setMediaServerId(item.getMediaServerId());
+        streamPushItem.setStream(item.getStream());
+        streamPushItem.setAliveSecond(item.getAliveSecond());
+        streamPushItem.setCreateStamp(item.getCreateStamp());
+        streamPushItem.setOriginSock(item.getOriginSock());
+        streamPushItem.setTotalReaderCount(item.getTotalReaderCount());
+        streamPushItem.setOriginType(item.getOriginType());
+        streamPushItem.setOriginTypeStr(item.getOriginTypeStr());
+        streamPushItem.setOriginUrl(item.getOriginUrl());
+        streamPushItem.setCreateStamp(item.getCreateStamp());
+        streamPushItem.setAliveSecond(item.getAliveSecond());
+        streamPushItem.setStatus(true);
+        streamPushItem.setVhost(item.getVhost());
+        return streamPushItem;
     }
 
     @Override
@@ -88,7 +102,8 @@
     @Override
     public boolean removeFromGB(GbStream stream) {
         int del = gbStreamMapper.del(stream.getApp(), stream.getStream());
-        JSONObject mediaList = zlmresTfulUtils.getMediaList(stream.getApp(), stream.getStream());
+        MediaServerItem mediaInfo = mediaServerService.getOne(stream.getMediaServerId());
+        JSONObject mediaList = zlmresTfulUtils.getMediaList(mediaInfo, stream.getApp(), stream.getStream());
         if (mediaList == null) {
             streamPushMapper.del(stream.getApp(), stream.getStream());
         }

--
Gitblit v1.8.0