From b17280522b3569b49c0d524b7ed7fb45ef0e991a Mon Sep 17 00:00:00 2001 From: panlinlin <648540858@qq.com> Date: 星期五, 02 四月 2021 19:04:01 +0800 Subject: [PATCH] 增加推流转发到国标,尚不完善 --- src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java | 41 ++++++++++++++++++++++++++++++++++++++++- 1 files changed, 40 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java index b2756e2..63fbbd1 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java @@ -4,6 +4,7 @@ import com.genersoft.iot.vmp.gb28181.bean.*; import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem; +import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.dao.*; import com.genersoft.iot.vmp.vmanager.platform.bean.ChannelReduce; @@ -52,6 +53,9 @@ @Autowired private StreamProxyMapper streamProxyMapper; + + @Autowired + private StreamPushMapper streamPushMapper; @Autowired private GbStreamMapper gbStreamMapper; @@ -221,9 +225,10 @@ */ @Override public synchronized boolean outline(String deviceId) { + System.out.println("鏇存柊璁惧绂荤嚎: " + deviceId); Device device = deviceMapper.getDeviceByDeviceId(deviceId); + if (device == null) return false; device.setOnline(0); - System.out.println("鏇存柊璁惧绂荤嚎"); return deviceMapper.update(device) > 0; } @@ -403,6 +408,7 @@ TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition); boolean result = false; streamProxyItem.setStreamType("proxy"); + streamProxyItem.setStatus(true); try { if (gbStreamMapper.add(streamProxyItem)<0 || streamProxyMapper.add(streamProxyItem) < 0) { //浜嬪姟鍥炴粴 @@ -504,4 +510,37 @@ public StreamProxyItem queryStreamProxy(String app, String stream){ return streamProxyMapper.selectOne(app, stream); } + + @Override + public void updateMediaList(List<StreamPushItem> streamPushItems) { + if (streamPushItems == null || streamPushItems.size() == 0) return; + System.out.printf("updateMediaList: " + streamPushItems.size()); + streamPushMapper.addAll(streamPushItems); + // TODO 寰呬紭鍖� + for (int i = 0; i < streamPushItems.size(); i++) { + gbStreamMapper.setStatus(streamPushItems.get(i).getApp(), streamPushItems.get(i).getStream(), true); + } + } + + @Override + public void updateMedia(StreamPushItem streamPushItem) { + streamPushMapper.del(streamPushItem.getApp(), streamPushItem.getStream()); + streamPushMapper.add(streamPushItem); + gbStreamMapper.setStatus(streamPushItem.getApp(), streamPushItem.getStream(), true); + } + + @Override + public void removeMedia(String app, String stream) { + streamPushMapper.del(app, stream); + } + + @Override + public void clearMediaList() { + streamPushMapper.clear(); + } + + @Override + public void mediaOutline(String app, String streamId) { + gbStreamMapper.setStatus(app, streamId, false); + } } -- Gitblit v1.8.0