From d6544c0c711c3a81d675b5891462e07a645ddb3b Mon Sep 17 00:00:00 2001
From: 648540858 <18010473990@163.com>
Date: 星期六, 25 九月 2021 22:48:03 +0800
Subject: [PATCH] 添加媒体服务器节点管理ui-移除接口
---
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java | 5 ++
web_src/src/components/service/MediaServer.js | 14 +++++++
web_src/src/components/MediaServerManger.vue | 22 ++++++++++
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java | 8 ++++
src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java | 2 +
src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java | 23 +++++++++++
6 files changed, 72 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java
index 7faebfa..a7b39fa 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java
@@ -81,6 +81,7 @@
if (startGetMedia == null) startGetMedia = new HashMap<>();
startGetMedia.put(mediaServerItem.getId(), true);
new Thread(() -> {
+
ZLMServerConfig zlmServerConfig = getMediaServerConfig(mediaServerItem);
if (zlmServerConfig != null) {
zlmServerConfig.setIp(mediaServerItem.getIp());
@@ -88,6 +89,7 @@
startGetMedia.remove(mediaServerItem.getId());
mediaServerService.handLeZLMServerConfig(zlmServerConfig);
}
+
}).start();
}
Timer timer = new Timer();
@@ -109,6 +111,9 @@
public ZLMServerConfig getMediaServerConfig(MediaServerItem mediaServerItem) {
if (startGetMedia == null) { return null;}
+ if (mediaServerService.getOne(mediaServerItem.getId()) == null) {
+ return null;
+ }
if ( startGetMedia.get(mediaServerItem.getId()) == null || !startGetMedia.get(mediaServerItem.getId())) {
return null;
}
diff --git a/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java b/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
index 81cf8f1..b222e70 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
@@ -57,4 +57,6 @@
WVPResult<MediaServerItem> checkMediaServer(String ip, int port, String secret);
boolean checkMediaRecordServer(String ip, int port);
+
+ void delete(String id);
}
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
index 18c1b93..1e5b079 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
@@ -519,4 +519,12 @@
return result;
}
+
+ @Override
+ public void delete(String id) {
+ redisUtil.zRemove(VideoManagerConstants.MEDIA_SERVERS_ONLINE_PREFIX, id);
+ String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + id;
+ redisUtil.del(key);
+ mediaServerMapper.delOne(id);
+ }
}
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java
index 881a20a..8445c7e 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java
@@ -129,7 +129,7 @@
})
@PostMapping(value = "/media_server/save")
@ResponseBody
- public WVPResult<String> checkMediaServer(@RequestBody MediaServerItem mediaServerItem){
+ public WVPResult<String> saveMediaServer(@RequestBody MediaServerItem mediaServerItem){
if (mediaServerService.getOne(mediaServerItem.getId()) != null) {
mediaServerService.update(mediaServerItem);
}else {
@@ -141,6 +141,27 @@
return result;
}
+ @ApiOperation("绉婚櫎娴佸獟浣撴湇鍔�")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name="id", value = "娴佸獟浣揑D", dataTypeClass = String.class)
+ })
+ @DeleteMapping(value = "/media_server/delete")
+ @ResponseBody
+ public WVPResult<String> deleteMediaServer(@RequestParam String id){
+ if (mediaServerService.getOne(id) != null) {
+ mediaServerService.delete(id);
+ }else {
+ WVPResult<String> result = new WVPResult<>();
+ result.setCode(-1);
+ result.setMsg("鏈壘鍒版鑺傜偣");
+ return result;
+ }
+ WVPResult<String> result = new WVPResult<>();
+ result.setCode(0);
+ result.setMsg("success");
+ return result;
+ }
+
@ApiOperation("閲嶅惎鏈嶅姟")
diff --git a/web_src/src/components/MediaServerManger.vue b/web_src/src/components/MediaServerManger.vue
index 19674d1..969d739 100644
--- a/web_src/src/components/MediaServerManger.vue
+++ b/web_src/src/components/MediaServerManger.vue
@@ -18,9 +18,10 @@
<div class="card-img-zlm"></div>
<div style="padding: 14px;text-align: left">
<span style="font-size: 16px">{{item.id}}</span>
+ <el-button icon="el-icon-edit" style="padding: 0;float: right;" type="text" @click="edit(item)">缂栬緫</el-button>
+ <el-button icon="el-icon-delete" style="margin-right: 10px;padding: 0;float: right;" type="text" @click="del(item)">绉婚櫎</el-button>
<div style="margin-top: 13px; line-height: 12px; ">
<span style="font-size: 14px; color: #999; margin-top: 5px">鍒涘缓鏃堕棿锛� {{item.createTime}}</span>
- <el-button icon="el-icon-edit" style="padding: 0;float: right;" type="text" @click="edit(item)">缂栬緫</el-button>
</div>
</div>
<i v-if="item.status" class="iconfont icon-online server-card-status-online" title="鍦ㄧ嚎"></i>
@@ -88,6 +89,25 @@
edit: function (row){
this.$refs.mediaServerEdit.openDialog(row, this.initData)
},
+ del: function (row){
+ this.$confirm('纭鍒犻櫎姝よ妭鐐癸紵', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ this.mediaServerObj.delete(row.id, (data)=>{
+ if (data.code === 0) {
+ this.$message({
+ type: 'success',
+ message: '鍒犻櫎鎴愬姛!'
+ });
+ }
+ })
+
+ }).catch(() => {
+ });
+
+ },
getNumberByWidth(){
let candidateNums = [1, 2, 3, 4, 6, 8, 12, 24]
let clientWidth = window.innerWidth - 30;
diff --git a/web_src/src/components/service/MediaServer.js b/web_src/src/components/service/MediaServer.js
index e9de603..36474ea 100644
--- a/web_src/src/components/service/MediaServer.js
+++ b/web_src/src/components/service/MediaServer.js
@@ -80,6 +80,20 @@
console.log(error);
});
}
+
+ delete(id, callback) {
+ this.$axios({
+ method: 'delete',
+ url:`/api/server/media_server/delete`,
+ params: {
+ id: id
+ }
+ }).then(function (res) {
+ if (typeof (callback) == "function") callback(res.data)
+ }).catch(function (error) {
+ console.log(error);
+ });
+ }
}
export default MediaServer;
--
Gitblit v1.8.0