Commit 74d97734bab2479f857add5e6d1ef9007f5f59ee

Authored by 648540858
1 parent 1a1a6878

修复获取推流播放地址接口

sql/mysql.sql
... ... @@ -50,7 +50,7 @@ CREATE TABLE `device` (
50 50 `treeType` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
51 51 PRIMARY KEY (`id`) USING BTREE,
52 52 UNIQUE KEY `device_deviceId_uindex` (`deviceId`) USING BTREE
53   -) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
  53 +) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
54 54 /*!40101 SET character_set_client = @saved_cs_client */;
55 55  
56 56 --
... ... @@ -142,7 +142,7 @@ CREATE TABLE `device_channel` (
142 142 PRIMARY KEY (`id`) USING BTREE,
143 143 UNIQUE KEY `device_channel_id_uindex` (`id`) USING BTREE,
144 144 UNIQUE KEY `device_channel_pk` (`channelId`,`deviceId`) USING BTREE
145   -) ENGINE=InnoDB AUTO_INCREMENT=19324 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
  145 +) ENGINE=InnoDB AUTO_INCREMENT=19331 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
146 146 /*!40101 SET character_set_client = @saved_cs_client */;
147 147  
148 148 --
... ... @@ -179,7 +179,7 @@ CREATE TABLE `device_mobile_position` (
179 179 `latitudeWgs84` double DEFAULT NULL,
180 180 `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
181 181 PRIMARY KEY (`id`) USING BTREE
182   -) ENGINE=InnoDB AUTO_INCREMENT=5649 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
  182 +) ENGINE=InnoDB AUTO_INCREMENT=6751 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
183 183 /*!40101 SET character_set_client = @saved_cs_client */;
184 184  
185 185 --
... ... @@ -208,7 +208,6 @@ CREATE TABLE `gb_stream` (
208 208 `latitude` double DEFAULT NULL,
209 209 `streamType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
210 210 `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
211   - `status` int DEFAULT NULL,
212 211 `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
213 212 `gpsTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
214 213 PRIMARY KEY (`gbStreamId`) USING BTREE,
... ... @@ -244,7 +243,7 @@ CREATE TABLE `log` (
244 243 `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
245 244 `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
246 245 PRIMARY KEY (`id`) USING BTREE
247   -) ENGINE=InnoDB AUTO_INCREMENT=29943 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
  246 +) ENGINE=InnoDB AUTO_INCREMENT=34997 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
248 247 /*!40101 SET character_set_client = @saved_cs_client */;
249 248  
250 249 --
... ... @@ -455,7 +454,7 @@ CREATE TABLE `stream_proxy` (
455 454 `updateTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
456 455 PRIMARY KEY (`id`) USING BTREE,
457 456 UNIQUE KEY `stream_proxy_pk` (`app`,`stream`) USING BTREE
458   -) ENGINE=InnoDB AUTO_INCREMENT=65 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
  457 +) ENGINE=InnoDB AUTO_INCREMENT=66 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
459 458 /*!40101 SET character_set_client = @saved_cs_client */;
460 459  
461 460 --
... ... @@ -487,9 +486,10 @@ CREATE TABLE `stream_push` (
487 486 `serverId` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
488 487 `pushTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
489 488 `updateTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
  489 + `status` int DEFAULT NULL,
490 490 PRIMARY KEY (`id`) USING BTREE,
491 491 UNIQUE KEY `stream_push_pk` (`app`,`stream`) USING BTREE
492   -) ENGINE=InnoDB AUTO_INCREMENT=305304 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
  492 +) ENGINE=InnoDB AUTO_INCREMENT=305315 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
493 493 /*!40101 SET character_set_client = @saved_cs_client */;
494 494  
495 495 --
... ... @@ -513,9 +513,9 @@ CREATE TABLE `user` (
513 513 `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
514 514 `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
515 515 `roleId` int NOT NULL,
516   - `pushKey` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci default null,
517 516 `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
518 517 `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  518 + `pushKey` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
519 519 PRIMARY KEY (`id`) USING BTREE,
520 520 UNIQUE KEY `user_username_uindex` (`username`) USING BTREE
521 521 ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
... ... @@ -527,7 +527,7 @@ CREATE TABLE `user` (
527 527  
528 528 LOCK TABLES `user` WRITE;
529 529 /*!40000 ALTER TABLE `user` DISABLE KEYS */;
530   -INSERT INTO `user` VALUES (1,'admin','21232f297a57a5a743894a0e4a801fc3',1,'453df297a57a5a7438934sda801fc3','2021 - 04 - 13 14:14:57','2021 - 04 - 13 14:14:57');
  530 +INSERT INTO `user` VALUES (1,'admin','21232f297a57a5a743894a0e4a801fc3',1,'2021 - 04 - 13 14:14:57','2021 - 04 - 13 14:14:57','453df297a57a5a7438934sda801fc3');
531 531 /*!40000 ALTER TABLE `user` ENABLE KEYS */;
532 532 UNLOCK TABLES;
533 533  
... ... @@ -567,4 +567,4 @@ UNLOCK TABLES;
567 567 /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
568 568 /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
569 569  
570   --- Dump completed on 2022-07-06 9:43:54
  570 +-- Dump completed on 2022-07-11 17:32:51
... ...
src/main/java/com/genersoft/iot/vmp/vmanager/streamPush/StreamPushController.java
... ... @@ -3,11 +3,16 @@ package com.genersoft.iot.vmp.vmanager.streamPush;
3 3 import com.alibaba.excel.EasyExcel;
4 4 import com.alibaba.excel.ExcelReader;
5 5 import com.alibaba.excel.read.metadata.ReadSheet;
  6 +import com.genersoft.iot.vmp.common.StreamInfo;
  7 +import com.genersoft.iot.vmp.conf.security.SecurityUtils;
  8 +import com.genersoft.iot.vmp.conf.security.dto.LoginUser;
6 9 import com.genersoft.iot.vmp.gb28181.bean.GbStream;
7 10 import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder;
8 11 import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage;
  12 +import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo;
9 13 import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
10 14 import com.genersoft.iot.vmp.service.IMediaServerService;
  15 +import com.genersoft.iot.vmp.service.IMediaService;
11 16 import com.genersoft.iot.vmp.service.IStreamPushService;
12 17 import com.genersoft.iot.vmp.service.impl.StreamPushUploadFileHandler;
13 18 import com.genersoft.iot.vmp.vmanager.bean.BatchGBStreamParam;
... ... @@ -30,6 +35,7 @@ import org.springframework.web.bind.annotation.*;
30 35 import org.springframework.web.context.request.async.DeferredResult;
31 36 import org.springframework.web.multipart.MultipartFile;
32 37  
  38 +import javax.servlet.http.HttpServletRequest;
33 39 import java.io.IOException;
34 40 import java.io.InputStream;
35 41 import java.util.HashMap;
... ... @@ -54,6 +60,9 @@ public class StreamPushController {
54 60 @Autowired
55 61 private DeferredResultHolder resultHolder;
56 62  
  63 + @Autowired
  64 + private IMediaService mediaService;
  65 +
57 66 @ApiOperation("推流列表查询")
58 67 @ApiImplicitParams({
59 68 @ApiImplicitParam(name="page", value = "当前页", required = true, dataTypeClass = Integer.class),
... ... @@ -237,5 +246,43 @@ public class StreamPushController {
237 246 return result;
238 247 }
239 248  
  249 + /**
  250 + * 获取推流播放地址
  251 + * @param app 应用名
  252 + * @param stream 流id
  253 + * @return
  254 + */
  255 + @ApiOperation("获取推流播放地址")
  256 + @ApiImplicitParams({
  257 + @ApiImplicitParam(name = "app", value = "应用名", dataTypeClass = String.class),
  258 + @ApiImplicitParam(name = "stream", value = "流id", dataTypeClass = String.class),
  259 + @ApiImplicitParam(name = "mediaServerId", value = "媒体服务器id", dataTypeClass = String.class, required = false),
  260 + })
  261 + @GetMapping(value = "/getPlayUrl")
  262 + @ResponseBody
  263 + public WVPResult<StreamInfo> getPlayUrl(HttpServletRequest request, @RequestParam String app,
  264 + @RequestParam String stream,
  265 + @RequestParam(required = false) String mediaServerId){
  266 + boolean authority = false;
  267 + // 是否登陆用户, 登陆用户返回完整信息
  268 + LoginUser userInfo = SecurityUtils.getUserInfo();
  269 + if (userInfo!= null) {
  270 + authority = true;
  271 + }
  272 +
  273 + StreamInfo streamInfo = mediaService.getStreamInfoByAppAndStreamWithCheck(app, stream, mediaServerId, authority);
  274 +
  275 + WVPResult<StreamInfo> result = new WVPResult<>();
  276 + if (streamInfo != null){
  277 + result.setCode(0);
  278 + result.setMsg("scccess");
  279 + result.setData(streamInfo);
  280 + }else {
  281 + result.setCode(-1);
  282 + result.setMsg("fail");
  283 + }
  284 + return result;
  285 + }
  286 +
240 287  
241 288 }
... ...
web_src/src/components/PushVideoList.vue
... ... @@ -187,7 +187,7 @@ export default {
187 187 this.getListLoading = true;
188 188 this.$axios({
189 189 method: 'get',
190   - url: '/api/media/stream_info_by_app_and_stream',
  190 + url: '/api/push/getPlayUrl',
191 191 params: {
192 192 app: row.app,
193 193 stream: row.stream,
... ...