From b6702f7c052c25dd263a09d3765c798eb597e0c2 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: Fri, 21 Jan 2022 16:05:02 +0800
Subject: [PATCH 1/9] =?UTF-8?q?=E4=BF=AE=E6=94=B9mysql=E8=84=9A=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
sql/mysql.sql | 4 ++--
.../vmp/storager/dao/StreamPushMapper.java | 4 ++--
src/main/resources/all-application.yml | 7 +++++-
src/main/resources/application-dev.yml | 2 +-
.../dialog/chooseChannelForCatalog.vue | 22 -------------------
5 files changed, 11 insertions(+), 28 deletions(-)
diff --git a/sql/mysql.sql b/sql/mysql.sql
index 8cbd4934..42cc3bfb 100644
--- a/sql/mysql.sql
+++ b/sql/mysql.sql
@@ -259,8 +259,8 @@ insert into user (username, password, roleId, createTime, updateTime) values ('a
create table role (
id int auto_increment
primary key,
- name TEXT NOT NULL,
- authority TEXT NOT NULL,
+ name varchar(50) NOT NULL,
+ authority varchar(50) NOT NULL,
createTime varchar(50) not null,
updateTime varchar(50) not null
);
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamPushMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamPushMapper.java
index 9a5d3be6..e072e274 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamPushMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamPushMapper.java
@@ -53,8 +53,8 @@ public interface StreamPushMapper {
"REPLACE INTO stream_push (app, stream, totalReaderCount, originType, originTypeStr, " +
"createStamp, aliveSecond, mediaServerId) " +
"VALUES " +
- "( '${item.app}', '${item.stream}', '${item.totalReaderCount}', '${item.originType}', " +
- "'${item.originTypeStr}','${item.createStamp}', '${item.aliveSecond}', '${item.mediaServerId}' )" +
+ "( '${item.app}', '${item.stream}', '${item.totalReaderCount}', #{item.originType}, " +
+ "'${item.originTypeStr}',#{item.createStamp}, #{item.aliveSecond}, '${item.mediaServerId}' )" +
" " +
"")
void addAll(List streamPushItems);
diff --git a/src/main/resources/all-application.yml b/src/main/resources/all-application.yml
index c0b2919b..4d49661a 100644
--- a/src/main/resources/all-application.yml
+++ b/src/main/resources/all-application.yml
@@ -5,6 +5,11 @@
spring:
+ # [可选]上传文件大小限制
+ servlet:
+ multipart:
+ max-file-size: 10MB
+ max-request-size: 100MB
# REDIS数据库配置
redis:
# [必须修改] Redis服务器IP, REDIS安装在本机的,使用127.0.0.1
@@ -176,4 +181,4 @@ swagger-ui:
version:
version: "@project.version@"
description: "@project.description@"
- artifact-id: "@project.artifactId@"
\ No newline at end of file
+ artifact-id: "@project.artifactId@"
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index d0c039c8..7829ca45 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -1,5 +1,5 @@
spring:
- # 上传文件大小限制
+ # [可选]上传文件大小限制
servlet:
multipart:
max-file-size: 10MB
diff --git a/web_src/src/components/dialog/chooseChannelForCatalog.vue b/web_src/src/components/dialog/chooseChannelForCatalog.vue
index 4e4339f5..08e180a4 100644
--- a/web_src/src/components/dialog/chooseChannelForCatalog.vue
+++ b/web_src/src/components/dialog/chooseChannelForCatalog.vue
@@ -91,16 +91,6 @@ export default {
if (typeof(callback) === 'function') {
callback(res.data.data)
}
- //
-
- // if (typeof (this.$refs.tree.setCurrentKey) == "undefined") {
- // this.$refs.tree.setCurrentKey(this.defaultCatalogId)
- // let data = this.$refs.tree.getCurrentNode()
- // if (data != null && data.id === this.defaultCatalogId) {
- // this.currentCatalogChange(data, this.$refs.tree.getNode(data.id))
- // }
- // }
-
}
})
.catch(function (error) {
@@ -126,18 +116,6 @@ export default {
let node = this.$refs.tree.getNode(id);
this.refreshCatalog(node);
}
- // if (nodeIds !== null) {
- // let refreshNode = {}
- // for (let i = 0; i < nodeIds.length; i++) {
- // let node = this.$refs.tree.getNode(nodeIds[i]);
- // refreshNode[node.parent.data.id] = node.parent
- // }
- // if (Object.values(refreshNode).length > 0) {
- // for (let j = 0; j < Object.values(refreshNode).length; j++) {
- // this.refreshCatalog(Object.values(refreshNode)[j]);
- // }
- // }
- // }
},
editCatalog: function (data, node){
let that = this;
From 46cf650a863f9181f78c09f9b1146972844449bc Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: Fri, 21 Jan 2022 18:00:15 +0800
Subject: [PATCH 2/9] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=80=9A=E9=81=93?=
=?UTF-8?q?=E9=80=89=E6=8B=A9=E6=98=AF=E9=80=9A=E9=81=93=E7=9A=84=E6=9F=A5?=
=?UTF-8?q?=E8=AF=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../service/impl/StreamProxyServiceImpl.java | 25 +++---
.../vmp/storager/dao/DeviceChannelMapper.java | 2 +-
.../gb28181/platform/PlatformController.java | 77 +++++++++++++++++--
.../src/components/dialog/platformEdit.vue | 14 +++-
4 files changed, 96 insertions(+), 22 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
index 1c8f191f..13277c21 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
@@ -146,20 +146,23 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
result.append(", 关联国标平台[ " + param.getPlatformGbId() + " ]失败");
}
}
- // 查找开启了全部直播流共享的上级平台
- List parentPlatforms = parentPlatformMapper.selectAllAhareAllLiveStream();
- if (parentPlatforms.size() > 0) {
- for (ParentPlatform parentPlatform : parentPlatforms) {
- param.setPlatformId(parentPlatform.getServerGBId());
- param.setCatalogId(parentPlatform.getCatalogId());
- String stream = param.getStream();
- StreamProxyItem streamProxyItems = platformGbStreamMapper.selectOne(param.getApp(), stream, parentPlatform.getServerGBId());
- if (streamProxyItems == null) {
- platformGbStreamMapper.add(param);
- eventPublisher.catalogEventPublishForStream(parentPlatform.getServerGBId(), param, CatalogEvent.ADD);
+ if (!StringUtils.isEmpty(param.getGbId())) {
+ // 查找开启了全部直播流共享的上级平台
+ List parentPlatforms = parentPlatformMapper.selectAllAhareAllLiveStream();
+ if (parentPlatforms.size() > 0) {
+ for (ParentPlatform parentPlatform : parentPlatforms) {
+ param.setPlatformId(parentPlatform.getServerGBId());
+ param.setCatalogId(parentPlatform.getCatalogId());
+ String stream = param.getStream();
+ StreamProxyItem streamProxyItems = platformGbStreamMapper.selectOne(param.getApp(), stream, parentPlatform.getServerGBId());
+ if (streamProxyItems == null) {
+ platformGbStreamMapper.add(param);
+ eventPublisher.catalogEventPublishForStream(parentPlatform.getServerGBId(), param, CatalogEvent.ADD);
+ }
}
}
}
+
wvpResult.setMsg(result.toString());
return wvpResult;
}
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
index 4a12ce4b..ea5e2e48 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
@@ -96,7 +96,7 @@ public interface DeviceChannelMapper {
"SELECT * FROM ( "+
" SELECT dc.channelId, dc.deviceId, dc.name, de.manufacturer, de.hostAddress, " +
"(SELECT count(0) FROM device_channel WHERE parentId=dc.channelId) as subCount, " +
- "(SELECT pc.platformId FROM platform_gb_channel pc WHERE pc.deviceId=dc.deviceId AND pc.channelId = dc.channelId ) as platformId, " +
+ "(SELECT pc.platformId FROM platform_gb_channel pc WHERE pc.deviceId=dc.deviceId AND pc.channelId = dc.channelId AND pc.platformId = #{platformId}) as platformId, " +
"(SELECT pc.catalogId FROM platform_gb_channel pc WHERE pc.deviceId=dc.deviceId AND pc.channelId = dc.channelId ) as catalogId " +
"FROM device_channel dc " +
"LEFT JOIN device de ON dc.deviceId = de.deviceId " +
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java
index c486b42e..1111ff7d 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java
@@ -86,6 +86,65 @@ public class PlatformController {
return storager.queryParentPlatformList(page, count);
}
+ /**
+ * 添加上级平台信息
+ * @param parentPlatform
+ * @return
+ */
+ @ApiOperation("添加上级平台信息")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "parentPlatform", value = "上级平台信息", dataTypeClass = ParentPlatform.class),
+ })
+ @PostMapping("/add")
+ @ResponseBody
+ public ResponseEntity> addPlatform(@RequestBody ParentPlatform parentPlatform){
+
+ if (logger.isDebugEnabled()) {
+ logger.debug("保存上级平台信息API调用");
+ }
+ WVPResult wvpResult = new WVPResult<>();
+ if (StringUtils.isEmpty(parentPlatform.getName())
+ ||StringUtils.isEmpty(parentPlatform.getServerGBId())
+ ||StringUtils.isEmpty(parentPlatform.getServerGBDomain())
+ ||StringUtils.isEmpty(parentPlatform.getServerIP())
+ ||StringUtils.isEmpty(parentPlatform.getServerPort())
+ ||StringUtils.isEmpty(parentPlatform.getDeviceGBId())
+ ||StringUtils.isEmpty(parentPlatform.getExpires())
+ ||StringUtils.isEmpty(parentPlatform.getKeepTimeout())
+ ||StringUtils.isEmpty(parentPlatform.getTransport())
+ ||StringUtils.isEmpty(parentPlatform.getCharacterSet())
+ ){
+ wvpResult.setCode(-1);
+ wvpResult.setMsg("missing parameters");
+ return new ResponseEntity<>(wvpResult, HttpStatus.BAD_REQUEST);
+ }
+
+ ParentPlatform parentPlatformOld = storager.queryParentPlatByServerGBId(parentPlatform.getServerGBId());
+ if (parentPlatformOld != null) {
+ wvpResult.setCode(-1);
+ wvpResult.setMsg("平台 "+parentPlatform.getServerGBId()+" 已存在");
+ return new ResponseEntity<>(wvpResult, HttpStatus.OK);
+ }
+ boolean updateResult = storager.updateParentPlatform(parentPlatform);
+
+ if (updateResult) {
+ // 保存时启用就发送注册
+ if (parentPlatform.isEnable()) {
+ // 只要保存就发送注册
+ commanderForPlatform.register(parentPlatform, null, null);
+ } else if (parentPlatformOld != null && parentPlatformOld.isEnable() && !parentPlatform.isEnable()){ // 关闭启用时注销
+ commanderForPlatform.unregister(parentPlatform, null, null);
+ }
+ wvpResult.setCode(0);
+ wvpResult.setMsg("success");
+ return new ResponseEntity<>(wvpResult, HttpStatus.OK);
+ } else {
+ wvpResult.setCode(-1);
+ wvpResult.setMsg("写入数据库失败");
+ return new ResponseEntity<>(wvpResult, HttpStatus.OK);
+ }
+ }
+
/**
* 保存上级平台信息
* @param parentPlatform
@@ -97,11 +156,12 @@ public class PlatformController {
})
@PostMapping("/save")
@ResponseBody
- public ResponseEntity savePlatform(@RequestBody ParentPlatform parentPlatform){
+ public ResponseEntity> savePlatform(@RequestBody ParentPlatform parentPlatform){
if (logger.isDebugEnabled()) {
logger.debug("保存上级平台信息API调用");
}
+ WVPResult wvpResult = new WVPResult<>();
if (StringUtils.isEmpty(parentPlatform.getName())
||StringUtils.isEmpty(parentPlatform.getServerGBId())
||StringUtils.isEmpty(parentPlatform.getServerGBDomain())
@@ -113,11 +173,10 @@ public class PlatformController {
||StringUtils.isEmpty(parentPlatform.getTransport())
||StringUtils.isEmpty(parentPlatform.getCharacterSet())
){
- return new ResponseEntity<>("missing parameters", HttpStatus.BAD_REQUEST);
+ wvpResult.setCode(-1);
+ wvpResult.setMsg("missing parameters");
+ return new ResponseEntity<>(wvpResult, HttpStatus.BAD_REQUEST);
}
- // TODO 检查是否已经存在,且注册成功, 如果注册成功,需要先注销之前再,修改并注册
-
- // ParentPlatform parentPlatformOld = storager.queryParentPlatById(parentPlatform.getDeviceGBId());
ParentPlatform parentPlatformOld = storager.queryParentPlatByServerGBId(parentPlatform.getServerGBId());
boolean updateResult = storager.updateParentPlatform(parentPlatform);
@@ -130,9 +189,13 @@ public class PlatformController {
} else if (parentPlatformOld != null && parentPlatformOld.isEnable() && !parentPlatform.isEnable()){ // 关闭启用时注销
commanderForPlatform.unregister(parentPlatform, null, null);
}
- return new ResponseEntity<>("success", HttpStatus.OK);
+ wvpResult.setCode(0);
+ wvpResult.setMsg("success");
+ return new ResponseEntity<>(wvpResult, HttpStatus.OK);
} else {
- return new ResponseEntity<>("fail", HttpStatus.OK);
+ wvpResult.setCode(0);
+ wvpResult.setMsg("写入数据库失败");
+ return new ResponseEntity<>(wvpResult, HttpStatus.OK);
}
}
diff --git a/web_src/src/components/dialog/platformEdit.vue b/web_src/src/components/dialog/platformEdit.vue
index 62a6957f..38a2aef7 100644
--- a/web_src/src/components/dialog/platformEdit.vue
+++ b/web_src/src/components/dialog/platformEdit.vue
@@ -116,6 +116,7 @@ export default {
showDialog: false,
isLoging: false,
onSubmit_text: "立即创建",
+ saveUrl: "/api/platform/save",
platform: {
id: null,
@@ -163,6 +164,7 @@ export default {
var that = this;
if (platform == null) {
this.onSubmit_text = "立即创建";
+ this.saveUrl = "/api/platform/add";
this.$axios({
method: 'get',
url:`/api/platform/server_config`
@@ -198,6 +200,7 @@ export default {
this.platform.shareAllLiveStream = platform.shareAllLiveStream;
this.platform.catalogId = platform.catalogId;
this.onSubmit_text = "保存";
+ this.saveUrl = "/api/platform/save";
}
this.showDialog = true;
this.listChangeCallback = callback;
@@ -212,14 +215,13 @@ export default {
this.platform.username = this.platform.deviceGBId ;
},
onSubmit: function () {
- console.log("onSubmit");
var that = this;
that.$axios({
method: 'post',
- url:`/api/platform/save`,
+ url: this.saveUrl,
data: that.platform
}).then(function (res) {
- if (res.data == "success") {
+ if (res.data.code === 0) {
that.$message({
showClose: true,
message: "保存成功",
@@ -229,6 +231,12 @@ export default {
if (that.listChangeCallback != null) {
that.listChangeCallback();
}
+ }else {
+ that.$message({
+ showClose: true,
+ message: res.data.msg,
+ type: "error",
+ });
}
}).catch(function (error) {
console.log(error);
From a179a45ac39a1cf87c611c56fe80c8648aed639a Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: Fri, 21 Jan 2022 18:41:41 +0800
Subject: [PATCH 3/9] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=80=9A=E9=81=93?=
=?UTF-8?q?=E9=80=89=E6=8B=A9=E6=98=AF=E9=80=9A=E9=81=93=E7=9A=84=E6=9F=A5?=
=?UTF-8?q?=E8=AF=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
index ea5e2e48..7f52f797 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
@@ -97,7 +97,7 @@ public interface DeviceChannelMapper {
" SELECT dc.channelId, dc.deviceId, dc.name, de.manufacturer, de.hostAddress, " +
"(SELECT count(0) FROM device_channel WHERE parentId=dc.channelId) as subCount, " +
"(SELECT pc.platformId FROM platform_gb_channel pc WHERE pc.deviceId=dc.deviceId AND pc.channelId = dc.channelId AND pc.platformId = #{platformId}) as platformId, " +
- "(SELECT pc.catalogId FROM platform_gb_channel pc WHERE pc.deviceId=dc.deviceId AND pc.channelId = dc.channelId ) as catalogId " +
+ "(SELECT pc.catalogId FROM platform_gb_channel pc WHERE pc.deviceId=dc.deviceId AND pc.channelId = dc.channelId AND pc.platformId = #{platformId} ) as catalogId " +
"FROM device_channel dc " +
"LEFT JOIN device de ON dc.deviceId = de.deviceId " +
" WHERE 1=1 " +
From 2e60339e0a9db9548d4523399c87ec02cd1fb625 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: Tue, 25 Jan 2022 12:20:52 +0800
Subject: [PATCH 4/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=80=99=E9=80=89?=
=?UTF-8?q?=E9=80=9A=E9=81=93=E6=9F=A5=E8=AF=A2bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../iot/vmp/gb28181/bean/GbStream.java | 13 +++++++++++++
.../vmp/media/zlm/ZLMMediaListManager.java | 1 +
.../iot/vmp/media/zlm/dto/StreamPushItem.java | 15 +--------------
.../vmp/service/impl/GbStreamServiceImpl.java | 2 +-
.../service/impl/StreamPushServiceImpl.java | 2 ++
.../impl/StreamPushUploadFileHandler.java | 2 +-
.../iot/vmp/storager/dao/GbStreamMapper.java | 12 ++++++------
.../storager/dao/PlatformGbStreamMapper.java | 4 ++--
.../impl/VideoManagerStoragerImpl.java | 1 +
.../streamPush/StreamPushController.java | 18 +++++++++++++++++-
src/main/resources/wvp.sqlite | Bin 155648 -> 155648 bytes
.../dialog/chooseChannelForCatalog.vue | 10 +++++++++-
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 a1ce8ca9..37e636ba 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 @@ public class GbStream extends PlatformGbStream{
private double latitude;
private String streamType;
private boolean status;
+ /**
+ * GMT unix系统时间戳,单位秒
+ */
+ public Long createStamp;
public String getApp() {
return app;
@@ -86,4 +90,13 @@ public class GbStream extends PlatformGbStream{
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 a6c30cf9..a15e01a4 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 @@ public class ZLMMediaListManager {
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 73e162af..d3c9b1bd 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
@@ -56,11 +56,6 @@ public class StreamPushItem extends GbStream implements Comparable 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 ebfa124b..d3d32499 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 class StreamPushServiceImpl implements IStreamPushService {
public boolean saveToGB(GbStream stream) {
stream.setStreamType("push");
stream.setStatus(true);
+ stream.setCreateStamp(System.currentTimeMillis());
int add = gbStreamMapper.add(stream);
// 查找开启了全部直播流共享的上级平台
@@ -305,6 +306,7 @@ public class StreamPushServiceImpl implements IStreamPushService {
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 16924df3..586b5b49 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 @@ public class StreamPushUploadFileHandler extends AnalysisEventListener selectAll(String platformId);
@Select("SELECT * FROM gb_stream WHERE app=#{app} AND stream=#{stream}")
@@ -87,12 +87,12 @@ public interface GbStreamMapper {
@Insert("")
void batchAdd(List 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 a07e68ee..a9f85104 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 @@ public interface PlatformGbStreamMapper {
" ")
List queryPlatFormListForGBWithGBId(String app, String stream, List 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 dc4d497c..98f3594e 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 @@ public class VideoManagerStoragerImpl implements IVideoManagerStorager {
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 c0fafd3f..91118442 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 @@ public class StreamPushController {
@ResponseBody
public DeferredResult>> uploadChannelFile(@RequestParam(value = "file") MultipartFile file){
-
// 最多处理文件一个小时
DeferredResult>> result = new DeferredResult<>(60*60*1000L);
// 录像查询以channelId作为deviceId查询
@@ -133,6 +132,23 @@ public class StreamPushController {
result.setResult(ResponseEntity.status(HttpStatus.BAD_REQUEST).body(wvpResult));
return result;
}
+ if (file.getContentType() == null) {
+ WVPResult