From 57197faa59f5ba5161c633c4c0e4832883fa5fe1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Clyd=E2=80=9D?= <“lyd@datametatech.com”> Date: Wed, 2 Apr 2025 10:36:46 +0800 Subject: [PATCH] =?UTF-8?q?update:=E8=A7=86=E9=A2=91=E6=92=AD=E6=94=BE?= =?UTF-8?q?=E6=94=B9=E6=88=90=E7=BD=91=E6=A0=BC=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BsSgcDfSpPlayController.java | 8 ++-- .../yg/df/service/BsSgcDfSpPlayService.java | 37 ++++++++++++++++++- .../com/kms/yxgh/df/dto/DfSpPlayGridDto.java | 18 +++++++++ .../com/kms/yxgh/df/dto/DfSpPlayQueDto.java | 4 ++ 4 files changed, 61 insertions(+), 6 deletions(-) create mode 100644 shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSpPlayGridDto.java diff --git a/shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfSpPlayController.java b/shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfSpPlayController.java index 461232cd..8cb34b2c 100644 --- a/shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfSpPlayController.java +++ b/shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfSpPlayController.java @@ -6,7 +6,7 @@ package com.kms.yg.df.controller; import com.kms.yg.df.service.BsSgcDfSpPlayService; import com.kms.yxgh.base.Response; -import com.kms.yxgh.df.dto.DfSpPlayDto; +import com.kms.yxgh.df.dto.DfSpPlayGridDto; import com.kms.yxgh.df.dto.DfSpPlayQueDto; import com.kms.yxgh.df.dto.ReservoirListDto; import com.shuili.common.core.controller.BaseController; @@ -37,9 +37,9 @@ public class BsSgcDfSpPlayController extends BaseController { * @return */ @PostMapping("/play") - @ApiOperation("视频播放") - public Response Play(@RequestBody DfSpPlayQueDto dto) { - return Response.ok(bsSgcDfSpPlayService.play(dto)); + @ApiOperation("视频播放-九宫格") + public Response Play(@RequestBody DfSpPlayQueDto dto) { + return Response.ok(bsSgcDfSpPlayService.playGrid(dto)); } /** diff --git a/shuili-system/src/main/java/com/kms/yg/df/service/BsSgcDfSpPlayService.java b/shuili-system/src/main/java/com/kms/yg/df/service/BsSgcDfSpPlayService.java index 46d9c019..52b927d3 100644 --- a/shuili-system/src/main/java/com/kms/yg/df/service/BsSgcDfSpPlayService.java +++ b/shuili-system/src/main/java/com/kms/yg/df/service/BsSgcDfSpPlayService.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.annotation.JSONField; import com.kms.yxgh.df.dto.DfSpPlayDto; +import com.kms.yxgh.df.dto.DfSpPlayGridDto; import com.kms.yxgh.df.dto.DfSpPlayQueDto; import com.kms.yxgh.df.dto.ReservoirListDto; import com.kms.yxgh.util.DataCenterRestTemplateUtils; @@ -12,14 +13,23 @@ import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.http.*; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.util.StringUtils; import org.springframework.web.client.RestTemplate; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; @@ -85,6 +95,27 @@ public class BsSgcDfSpPlayService { private String wmstCode; } + public DfSpPlayGridDto playGrid(DfSpPlayQueDto dto) { + ReservoirListDto reservoirListDto = new ReservoirListDto(); + reservoirListDto.setResCode(dto.getResCode()); + ReservoirListDto cameraIdsList = reservoirList(reservoirListDto); + DfSpPlayGridDto dfSpPlayGridDto = new DfSpPlayGridDto(); + cameraIdsList + .getCameraIds() + .stream() + .parallel(). + forEach(e -> { + DfSpPlayQueDto dfSpPlayQueDto = new DfSpPlayQueDto(); + dfSpPlayQueDto.setCameraId(e); + dfSpPlayQueDto.setMobile(dto.getMobile()); + DfSpPlayDto play = play(dfSpPlayQueDto); + if (!Objects.isNull(play)) { + dfSpPlayGridDto.getUrlsMapList().add(play.getUrlsMap()); + } + }); + return dfSpPlayGridDto; + } + public DfSpPlayDto play(DfSpPlayQueDto dto) { DfSpPlayDto rest = new DfSpPlayDto(); try { @@ -106,6 +137,7 @@ public class BsSgcDfSpPlayService { String playOauthTokenUrlJson = getSpPlayUrls(dto); VideoInfo videoInfo = JSON.parseObject(playOauthTokenUrlJson, VideoInfo.class); if (videoInfo.isSuccess()) { + videoInfo.getData().getUrls().setCameraId(dto.getCameraId()); rest.setUrlsMap(videoInfo.getData().getUrls()); } return rest; @@ -132,6 +164,7 @@ public class BsSgcDfSpPlayService { @Data public static class Url { + private String cameraId; private String rtspPlayUrl; private String flvPlayUrl; private String rtmpPlayUrl; diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSpPlayGridDto.java b/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSpPlayGridDto.java new file mode 100644 index 00000000..2d2cad0c --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSpPlayGridDto.java @@ -0,0 +1,18 @@ +package com.kms.yxgh.df.dto; + +import com.kms.yg.df.service.BsSgcDfSpPlayService; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@ApiModel("视频播放") +@Data +public class DfSpPlayGridDto { + + @ApiModelProperty(value = "播放地址") + private List urlsMapList = new ArrayList<>(); + +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSpPlayQueDto.java b/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSpPlayQueDto.java index 00df6a71..249ab0df 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSpPlayQueDto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSpPlayQueDto.java @@ -33,5 +33,9 @@ public class DfSpPlayQueDto { @ApiModelProperty(value = "每页条数") private Integer pageNum = 1; + @JSONField(name = "RES_CODE") + @ApiModelProperty(value = "水库编码") + private String resCode; + }