From 2e60339e0a9db9548d4523399c87ec02cd1fb625 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期二, 25 一月 2022 12:20:52 +0800 Subject: [PATCH] 修复候选通道查询bug --- src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java | 2 + src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java | 4 +- src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java | 15 ------- src/main/java/com/genersoft/iot/vmp/vmanager/streamPush/StreamPushController.java | 18 ++++++++ src/main/java/com/genersoft/iot/vmp/gb28181/bean/GbStream.java | 13 ++++++ src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java | 1 src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushUploadFileHandler.java | 2 src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java | 12 +++--- src/main/resources/wvp.sqlite | 0 web_src/src/components/dialog/chooseChannelForCatalog.vue | 10 ++++ src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java | 2 src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java | 1 12 files changed, 54 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/GbStream.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/GbStream.java index a1ce8ca..37e636b 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/GbStream.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/GbStream.java @@ -14,6 +14,10 @@ private double latitude; private String streamType; private boolean status; + /** + * GMT unix绯荤粺鏃堕棿鎴筹紝鍗曚綅绉� + */ + public Long createStamp; public String getApp() { return app; @@ -86,4 +90,13 @@ public void setMediaServerId(String mediaServerId) { this.mediaServerId = mediaServerId; } + + + public Long getCreateStamp() { + return createStamp; + } + + public void setCreateStamp(Long createStamp) { + this.createStamp = createStamp; + } } diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java index a6c30cf..a15e01a 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java @@ -138,6 +138,7 @@ if (gbStreamMapper.selectOne(transform.getApp(), transform.getStream()) != null) { gbStreamMapper.update(transform); }else { + transform.setCreateStamp(System.currentTimeMillis()); gbStreamMapper.add(transform); } } diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java index 73e162a..d3c9b1b 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java @@ -57,11 +57,6 @@ private String originUrl; /** - * GMT unix绯荤粺鏃堕棿鎴筹紝鍗曚綅绉� - */ - private Long createStamp; - - /** * 瀛樻椿鏃堕棿锛屽崟浣嶇 */ private Long aliveSecond; @@ -92,7 +87,7 @@ @Override public int compareTo(@NotNull StreamPushItem streamPushItem) { - return Long.valueOf(this.createStamp - streamPushItem.getCreateStamp().intValue()).intValue(); + return Long.valueOf(super.createStamp - streamPushItem.getCreateStamp().intValue()).intValue(); } public static class MediaSchema { @@ -180,14 +175,6 @@ public void setOriginUrl(String originUrl) { this.originUrl = originUrl; - } - - public Long getCreateStamp() { - return createStamp; - } - - public void setCreateStamp(Long createStamp) { - this.createStamp = createStamp; } public Long getAliveSecond() { diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java index 79e0b7a..ee7a80b 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java @@ -117,7 +117,7 @@ try { List<DeviceChannel> deviceChannelList = new ArrayList<>(); for (GbStream gbStream : gbStreams) { - platformGbStreamMapper.delByAppAndStream(gbStream.getApp(), gbStream.getStream()); + platformGbStreamMapper.delByAppAndStreamAndPlatform(gbStream.getApp(), gbStream.getStream(), platformId); DeviceChannel deviceChannel = new DeviceChannel(); deviceChannel.setChannelId(gbStream.getGbId()); deviceChannelList.add(deviceChannel); 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 ebfa124..d3d3249 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 @@ -125,6 +125,7 @@ public boolean saveToGB(GbStream stream) { stream.setStreamType("push"); stream.setStatus(true); + stream.setCreateStamp(System.currentTimeMillis()); int add = gbStreamMapper.add(stream); // 鏌ユ壘寮�鍚簡鍏ㄩ儴鐩存挱娴佸叡浜殑涓婄骇骞冲彴 @@ -305,6 +306,7 @@ streamPushItem.setStreamType("push"); streamPushItem.setStatus(true); streamPushItem.setGbId("34020000004111" + gbId); + streamPushItem.setCreateStamp(System.currentTimeMillis()); gbId ++; } int limitCount = 30; 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 16924df..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 @@ -56,7 +56,7 @@ 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); diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java index ce6ac9e..fade54b 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java @@ -15,10 +15,10 @@ public interface GbStreamMapper { @Insert("REPLACE INTO gb_stream (app, stream, gbId, name, " + - "longitude, latitude, streamType, mediaServerId, status) VALUES" + + "longitude, latitude, streamType, mediaServerId, status, createStamp) VALUES" + "('${app}', '${stream}', '${gbId}', '${name}', " + "'${longitude}', '${latitude}', '${streamType}', " + - "'${mediaServerId}', ${status})") + "'${mediaServerId}', ${status}, ${createStamp})") int add(GbStream gbStream); @Update("UPDATE gb_stream " + @@ -38,8 +38,8 @@ int del(String app, String stream); @Select("SELECT gs.*, pgs.platformId AS platformId, pgs.catalogId AS catalogId FROM gb_stream gs " + - "LEFT JOIN platform_gb_stream pgs ON gs.app = pgs.app AND gs.stream = pgs.stream " + - "WHERE pgs.platformId is null OR pgs.platformId = #{platformId}") + "LEFT JOIN platform_gb_stream pgs ON gs.app = pgs.app AND gs.stream = pgs.stream AND (pgs.platformId = #{platformId} OR pgs.platformId is null)" + + "order by gs.id asc ") List<GbStream> selectAll(String platformId); @Select("SELECT * FROM gb_stream WHERE app=#{app} AND stream=#{stream}") @@ -87,12 +87,12 @@ @Insert("<script> " + "REPLACE into gb_stream " + "(app, stream, gbId, name, " + - "longitude, latitude, streamType, mediaServerId, status)" + + "longitude, latitude, streamType, mediaServerId, status, createStamp)" + "values " + "<foreach collection='subList' index='index' item='item' separator=','> " + "('${item.app}', '${item.stream}', '${item.gbId}', '${item.name}', " + "'${item.longitude}', '${item.latitude}', '${item.streamType}', " + - "'${item.mediaServerId}', ${item.status}) "+ + "'${item.mediaServerId}', ${item.status}, ${item.createStamp}) "+ "</foreach> " + "</script>") void batchAdd(List<StreamPushItem> subList); diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java index a07e68e..a9f8510 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java @@ -73,6 +73,6 @@ "</script> ") List<ParentPlatform> queryPlatFormListForGBWithGBId(String app, String stream, List<String> platforms); - @Select("SELECT * FROM platform_gb_stream WHERE app=#{app} AND stream=#{stream} AND platformId=#{platformId}") - int delByAppAndStreamAndPlatform(String app, String streamId, String platformId); + @Delete("DELETE FROM platform_gb_stream WHERE app=#{app} AND stream=#{stream} AND platformId=#{platformId}") + int delByAppAndStreamAndPlatform(String app, String stream, String platformId); } 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 dc4d497..98f3594 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 @@ -679,6 +679,7 @@ streamProxyItem.setStatus(true); String now = this.format.format(System.currentTimeMillis()); streamProxyItem.setCreateTime(now); + streamProxyItem.setCreateStamp(System.currentTimeMillis()); try { if (gbStreamMapper.add(streamProxyItem)<0 || streamProxyMapper.add(streamProxyItem) < 0) { //浜嬪姟鍥炴粴 diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/streamPush/StreamPushController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/streamPush/StreamPushController.java index c0fafd3..9111844 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/streamPush/StreamPushController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/streamPush/StreamPushController.java @@ -118,7 +118,6 @@ @ResponseBody public DeferredResult<ResponseEntity<WVPResult<Object>>> uploadChannelFile(@RequestParam(value = "file") MultipartFile file){ - // 鏈�澶氬鐞嗘枃浠朵竴涓皬鏃� DeferredResult<ResponseEntity<WVPResult<Object>>> result = new DeferredResult<>(60*60*1000L); // 褰曞儚鏌ヨ浠hannelId浣滀负deviceId鏌ヨ @@ -133,6 +132,23 @@ result.setResult(ResponseEntity.status(HttpStatus.BAD_REQUEST).body(wvpResult)); return result; } + if (file.getContentType() == null) { + WVPResult<Object> wvpResult = new WVPResult<>(); + wvpResult.setCode(-1); + wvpResult.setMsg("鏃犳硶璇嗗埆鏂囦欢绫诲瀷"); + result.setResult(ResponseEntity.status(HttpStatus.BAD_REQUEST).body(wvpResult)); + return result; + } + if (!file.getContentType().endsWith(".xls") + && !file.getContentType().endsWith(".csv") + && !file.getContentType().endsWith(".xlsx") ) { + logger.warn("閫氶亾瀵煎叆鏂囦欢绫诲瀷閿欒"); + WVPResult<Object> wvpResult = new WVPResult<>(); + wvpResult.setCode(-1); + wvpResult.setMsg("鏂囦欢绫诲瀷閿欒锛岃浣跨敤"); + result.setResult(ResponseEntity.status(HttpStatus.BAD_REQUEST).body(wvpResult)); + return result; + } // 鍚屾椂鍙鐞嗕竴涓枃浠� if (resultHolder.exist(key, null)) { logger.warn("宸叉湁瀵煎叆浠诲姟姝e湪鎵ц"); diff --git a/src/main/resources/wvp.sqlite b/src/main/resources/wvp.sqlite index 37eefca..b317a62 100644 --- a/src/main/resources/wvp.sqlite +++ b/src/main/resources/wvp.sqlite Binary files differ diff --git a/web_src/src/components/dialog/chooseChannelForCatalog.vue b/web_src/src/components/dialog/chooseChannelForCatalog.vue index 08e180a..5133caa 100644 --- a/web_src/src/components/dialog/chooseChannelForCatalog.vue +++ b/web_src/src/components/dialog/chooseChannelForCatalog.vue @@ -239,7 +239,15 @@ disabled: node.level === 1, divided: true, onClick: () => { - this.removeCatalog(data.id, node) + this.$confirm('纭畾鍒犻櫎?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + this.removeCatalog(data.id, node) + }).catch(() => { + + }); } }, { -- Gitblit v1.8.0