From 4bd4f50b4165953018a9f9174056d29d087fdaee Mon Sep 17 00:00:00 2001 From: szy833 <31844882+szy833@users.noreply.github.com> Date: 星期日, 16 一月 2022 23:32:51 +0800 Subject: [PATCH] Merge branch '648540858:wvp-28181-2.0' into wvp-28181-2.0 --- src/main/java/com/genersoft/iot/vmp/vmanager/streamPush/StreamPushController.java | 89 ++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 80 insertions(+), 9 deletions(-) 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 1dd9036..0c80d11 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 @@ -1,19 +1,31 @@ package com.genersoft.iot.vmp.vmanager.streamPush; -import com.alibaba.fastjson.JSONObject; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelReader; +import com.alibaba.excel.read.metadata.ReadSheet; import com.genersoft.iot.vmp.gb28181.bean.GbStream; -import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem; import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem; +import com.genersoft.iot.vmp.service.IMediaServerService; import com.genersoft.iot.vmp.service.IStreamPushService; -import com.genersoft.iot.vmp.storager.IVideoManagerStorager; -import com.genersoft.iot.vmp.vmanager.media.MediaController; +import com.genersoft.iot.vmp.service.impl.StreamPushUploadFileHandler; +import com.genersoft.iot.vmp.vmanager.bean.StreamPushExcelDto; import com.github.pagehelper.PageInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.apache.poi.sl.usermodel.Sheet; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; +import java.io.InputStream; + +@Api(tags = "鎺ㄦ祦淇℃伅绠$悊") @Controller @CrossOrigin @RequestMapping(value = "/api/push") @@ -24,18 +36,32 @@ @Autowired private IStreamPushService streamPushService; - @RequestMapping(value = "/list") + @Autowired + private IMediaServerService mediaServerService; + + @ApiOperation("鎺ㄦ祦鍒楄〃鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name="page", value = "褰撳墠椤�", required = true, dataTypeClass = Integer.class), + @ApiImplicitParam(name="count", value = "姣忛〉鏌ヨ鏁伴噺", required = true, dataTypeClass = Integer.class), + @ApiImplicitParam(name="query", value = "鏌ヨ鍐呭", dataTypeClass = String.class), + @ApiImplicitParam(name="online", value = "鏄惁鍦ㄧ嚎", dataTypeClass = Boolean.class), + }) + @GetMapping(value = "/list") @ResponseBody public PageInfo<StreamPushItem> list(@RequestParam(required = false)Integer page, @RequestParam(required = false)Integer count, - @RequestParam(required = false)String q, + @RequestParam(required = false)String query, @RequestParam(required = false)Boolean online ){ - PageInfo<StreamPushItem> pushList = streamPushService.getPushList(page - 1, page - 1 + count); + PageInfo<StreamPushItem> pushList = streamPushService.getPushList(page, count); return pushList; } - @RequestMapping(value = "/saveToGB") + @ApiOperation("灏嗘帹娴佹坊鍔犲埌鍥芥爣") + @ApiImplicitParams({ + @ApiImplicitParam(name = "stream", value = "鐩存挱娴佸叧鑱斿浗鏍囧钩鍙�", dataTypeClass = GbStream.class), + }) + @PostMapping(value = "/save_to_gb") @ResponseBody public Object saveToGB(@RequestBody GbStream stream){ if (streamPushService.saveToGB(stream)){ @@ -45,7 +71,12 @@ } } - @RequestMapping(value = "/removeFormGB") + + @ApiOperation("灏嗘帹娴佺Щ鍑哄埌鍥芥爣") + @ApiImplicitParams({ + @ApiImplicitParam(name = "stream", value = "鐩存挱娴佸叧鑱斿浗鏍囧钩鍙�", dataTypeClass = GbStream.class), + }) + @DeleteMapping(value = "/remove_form_gb") @ResponseBody public Object removeFormGB(@RequestBody GbStream stream){ if (streamPushService.removeFromGB(stream)){ @@ -54,4 +85,44 @@ return "fail"; } } + + + @ApiOperation("涓涓�涓帹娴�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "app", value = "搴旂敤鍚�", required = true, dataTypeClass = String.class), + @ApiImplicitParam(name = "streamId", value = "娴両D", required = true, dataTypeClass = String.class), + }) + @PostMapping(value = "/stop") + @ResponseBody + public Object removeFormGB(@RequestParam(required = true)String app, @RequestParam(required = true)String streamId){ + if (streamPushService.stop(app, streamId)){ + return "success"; + }else { + return "fail"; + } + } + @PostMapping(value = "upload") + @ResponseBody + public String uploadChannelFile(@RequestParam(value = "file") MultipartFile file){ + if (file.isEmpty()) { + return "fail"; + } + //鑾峰彇鏂囦欢娴� + InputStream inputStream = null; + try { + String name = file.getName(); + inputStream = file.getInputStream(); + } catch (IOException e) { + e.printStackTrace(); + } + //浼犲叆鍙傛暟 + ExcelReader excelReader = EasyExcel.read(inputStream, StreamPushExcelDto.class, + new StreamPushUploadFileHandler(streamPushService, mediaServerService.getDefaultMediaServer().getId())).build(); + ReadSheet readSheet = EasyExcel.readSheet(0).build(); + excelReader.read(readSheet); + excelReader.finish(); + return "success"; + } + + } -- Gitblit v1.8.0