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 |   54 +++++++++++++++++++++++++++++-------------------------
 1 files changed, 29 insertions(+), 25 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 3692e54..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
@@ -5,7 +5,6 @@
 import com.alibaba.fastjson.TypeReference;
 import com.genersoft.iot.vmp.gb28181.bean.GbStream;
 import com.genersoft.iot.vmp.media.zlm.ZLMRESTfulUtils;
-import com.genersoft.iot.vmp.media.zlm.dto.IMediaServerItem;
 import com.genersoft.iot.vmp.media.zlm.dto.MediaItem;
 import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
 import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
@@ -43,7 +42,7 @@
     private IMediaServerService mediaServerService;
 
     @Override
-    public List<StreamPushItem> handleJSON(String jsonData, IMediaServerItem mediaServerItem) {
+    public List<StreamPushItem> handleJSON(String jsonData, MediaServerItem mediaServerItem) {
         if (jsonData == null) return null;
 
         Map<String, StreamPushItem> result = new HashMap<>();
@@ -52,32 +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.setMediaServerId(mediaServerItem.getId());
-                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
@@ -98,7 +102,7 @@
     @Override
     public boolean removeFromGB(GbStream stream) {
         int del = gbStreamMapper.del(stream.getApp(), stream.getStream());
-        IMediaServerItem mediaInfo = mediaServerService.getOne(stream.getMediaServerId());
+        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