From 6ba8ab22b54e83d0e0edabb9d0fdc8870b86e98f Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期三, 19 一月 2022 15:08:13 +0800 Subject: [PATCH] 修复推流生成通道未通知上级平台的问题,添加注册时清楚脏数据。 --- src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushUploadFileHandler.java | 19 ++++++++++++++++++- 1 files changed, 18 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushUploadFileHandler.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushUploadFileHandler.java index de7307c..a68f5e9 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushUploadFileHandler.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushUploadFileHandler.java @@ -5,15 +5,20 @@ import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem; import com.genersoft.iot.vmp.service.IStreamPushService; import com.genersoft.iot.vmp.vmanager.bean.StreamPushExcelDto; +import org.springframework.util.StringUtils; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; public class StreamPushUploadFileHandler extends AnalysisEventListener<StreamPushExcelDto> { private IStreamPushService pushService; private String defaultMediaServerId; private List<StreamPushItem> streamPushItems = new ArrayList<>(); + private Set<String> streamPushStreamSet = new HashSet<>(); + private Set<String> streamPushGBSet = new HashSet<>(); public StreamPushUploadFileHandler(IStreamPushService pushService, String defaultMediaServerId) { this.pushService = pushService; @@ -22,19 +27,29 @@ @Override public void invoke(StreamPushExcelDto streamPushExcelDto, AnalysisContext analysisContext) { + if (StringUtils.isEmpty(streamPushExcelDto.getApp()) + || StringUtils.isEmpty(streamPushExcelDto.getStream()) + || StringUtils.isEmpty(streamPushExcelDto.getGbId())) { + return; + } + if (streamPushGBSet.contains(streamPushExcelDto.getGbId()) || streamPushStreamSet.contains(streamPushExcelDto.getApp() + streamPushExcelDto.getStream())) { + return; + } StreamPushItem streamPushItem = new StreamPushItem(); streamPushItem.setApp(streamPushExcelDto.getApp()); streamPushItem.setStream(streamPushExcelDto.getStream()); streamPushItem.setGbId(streamPushExcelDto.getGbId()); streamPushItem.setStatus(false); streamPushItem.setStreamType("push"); - streamPushItem.setCreateStamp(System.currentTimeMillis()); + streamPushItem.setCreateStamp(System.currentTimeMillis()/1000); streamPushItem.setMediaServerId(defaultMediaServerId); streamPushItem.setName(streamPushExcelDto.getName()); streamPushItem.setOriginType(2); streamPushItem.setOriginTypeStr("rtsp_push"); streamPushItem.setTotalReaderCount("0"); streamPushItems.add(streamPushItem); + streamPushGBSet.add(streamPushExcelDto.getGbId()); + streamPushStreamSet.add(streamPushExcelDto.getApp()+streamPushExcelDto.getStream()); if (streamPushItems.size() > 300) { pushService.batchAdd(streamPushItems); // 瀛樺偍瀹屾垚娓呯悊 list @@ -46,5 +61,7 @@ public void doAfterAllAnalysed(AnalysisContext analysisContext) { // 杩欓噷涔熻淇濆瓨鏁版嵁锛岀‘淇濇渶鍚庨仐鐣欑殑鏁版嵁涔熷瓨鍌ㄥ埌鏁版嵁搴� pushService.batchAdd(streamPushItems); + streamPushGBSet.clear(); + streamPushStreamSet.clear(); } } -- Gitblit v1.8.0