From 0209dc89c9d5a65aaa1c6e3ae8140dfdb5020dcb Mon Sep 17 00:00:00 2001 From: SaltFish <42058801+SaltFish001@users.noreply.github.com> Date: 星期四, 10 二月 2022 10:29:36 +0800 Subject: [PATCH] Update MediaServiceImpl.java --- src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushUploadFileHandler.java | 24 +++++++++++++++++++++--- 1 files changed, 21 insertions(+), 3 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 a68f5e9..586b5b4 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 @@ -14,15 +14,23 @@ public class StreamPushUploadFileHandler extends AnalysisEventListener<StreamPushExcelDto> { + private ErrorDataHandler errorDataHandler; private IStreamPushService pushService; private String defaultMediaServerId; private List<StreamPushItem> streamPushItems = new ArrayList<>(); private Set<String> streamPushStreamSet = new HashSet<>(); private Set<String> streamPushGBSet = new HashSet<>(); + private List<String> errorStreamList = new ArrayList<>(); + private List<String> errorGBList = new ArrayList<>(); - public StreamPushUploadFileHandler(IStreamPushService pushService, String defaultMediaServerId) { + public StreamPushUploadFileHandler(IStreamPushService pushService, String defaultMediaServerId, ErrorDataHandler errorDataHandler) { this.pushService = pushService; this.defaultMediaServerId = defaultMediaServerId; + this.errorDataHandler = errorDataHandler; + } + + public interface ErrorDataHandler{ + void handle(List<String> streams, List<String> gbId); } @Override @@ -32,16 +40,23 @@ || StringUtils.isEmpty(streamPushExcelDto.getGbId())) { return; } + if (streamPushGBSet.contains(streamPushExcelDto.getGbId())) { + errorGBList.add(streamPushExcelDto.getGbId()); + } + if (streamPushStreamSet.contains(streamPushExcelDto.getApp() + streamPushExcelDto.getStream())) { + errorStreamList.add(streamPushExcelDto.getApp() + "/" + streamPushExcelDto.getStream()); + } 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()/1000); + streamPushItem.setCreateStamp(System.currentTimeMillis()); streamPushItem.setMediaServerId(defaultMediaServerId); streamPushItem.setName(streamPushExcelDto.getName()); streamPushItem.setOriginType(2); @@ -60,8 +75,11 @@ @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { // 杩欓噷涔熻淇濆瓨鏁版嵁锛岀‘淇濇渶鍚庨仐鐣欑殑鏁版嵁涔熷瓨鍌ㄥ埌鏁版嵁搴� - pushService.batchAdd(streamPushItems); + if (streamPushItems.size() > 0) { + pushService.batchAdd(streamPushItems); + } streamPushGBSet.clear(); streamPushStreamSet.clear(); + errorDataHandler.handle(errorStreamList, errorGBList); } } -- Gitblit v1.8.0