From a4cd4c2d98392cd1036f36b96c262878743a7e63 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期四, 05 九月 2024 19:52:22 +0800 Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/sccg_server --- ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java | 97 +++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 87 insertions(+), 10 deletions(-) diff --git a/ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java b/ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java index 35b62d9..d58060a 100644 --- a/ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java +++ b/ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java @@ -1,10 +1,17 @@ package com.ycl.controller.platformApi; +import cn.hutool.json.JSONConverter; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.ycl.annotation.LogSave; import com.ycl.api.CommonResult; import com.ycl.dto.video.AlarmParam; +import com.ycl.dto.video.HKAlarmParam; +import com.ycl.entity.video.VideoPoint; import com.ycl.enums.common.ResultCode; import com.ycl.service.video.IVideoAlarmReportService; +import com.ycl.service.video.impl.IVideoPointService; import com.ycl.util.VideoUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -16,6 +23,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.xml.bind.DatatypeConverter; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; @@ -24,6 +32,7 @@ import java.util.Base64; import java.util.Dictionary; import java.util.Hashtable; +import java.util.List; /** * @author admin @@ -32,6 +41,7 @@ @RestController @RequestMapping("/API") public class AlarmController { + private IVideoPointService videoPointService; private IVideoAlarmReportService videoAlarmReportService; private static Dictionary<String, Integer> sessionDic = new Hashtable<>(); @@ -44,10 +54,26 @@ this.videoAlarmReportService = videoAlarmReportService; } + @Autowired + public void setVideoPointService(IVideoPointService videoPointService) { + this.videoPointService = videoPointService; + } + @ApiOperation("瑙嗛鎶ヨ鎺ㄩ�丄PI") @PostMapping("/AlarmReport") + @LogSave(operationType = "鎶ヨ绠$悊", contain = "瑙嗛鎶ヨ鎺ㄩ��") public CommonResult alarmReport(@RequestBody @Validated AlarmParam alarmParam) { +// System.out.println("淇濆瓨鎶ヨ鏁版嵁锛�" + JSONObject.toJSONString(alarmParam)); videoAlarmReportService.save(alarmParam); + return new CommonResult(ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMessage()); + } + + @ApiOperation("娴峰悍瑙嗛鎶ヨ鎺ㄩ�丄PI") + @PostMapping("/HK/alarmReport") + @LogSave(operationType = "鎶ヨ绠$悊", contain = "娴峰悍瑙嗛鎶ヨ鎺ㄩ��") + public CommonResult hkAlarmReport(@RequestBody @Validated HKAlarmParam alarmParam) { +// System.out.println("娴峰悍瑙嗛鎶ヨ鎺ㄩ�丄PI锛�" + JSONObject.toJSONString(alarmParam)); + videoAlarmReportService.saveFromHK(alarmParam); return new CommonResult(ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMessage()); } @@ -57,13 +83,34 @@ public CommonResult getMonitorAddress(@PathVariable String code, @PathVariable Integer subType, @RequestParam(required = false) String scheme) { - if (subType == null) { - subType = 1; + LambdaQueryWrapper<VideoPoint> queryWrapper = new LambdaQueryWrapper<VideoPoint>() + .eq(VideoPoint::getPlatResourceId, code) + .or().eq(VideoPoint::getCode, code); + List<VideoPoint> pointList = videoPointService.list(queryWrapper); + if (pointList.size() > 0) { + VideoPoint videoPoint = pointList.get(0); + if (videoPoint.getType() == 1) { +// videoUtil.getKHPresets(code); + return CommonResult.successApi(videoUtil.getKHVideo(code)); + } else { + if (subType == null) { + subType = 1; + } + if (!StringUtils.isNotBlank(scheme)) { + scheme = "RTSP"; + } + return CommonResult.successApi(videoUtil.getVideo(code, scheme, subType)); + } + } else { + + if (subType == null) { + subType = 1; + } + if (!StringUtils.isNotBlank(scheme)) { + scheme = "RTSP"; + } + return CommonResult.successApi(videoUtil.getVideo(code, scheme, subType)); } - if (!StringUtils.isNotBlank(scheme)) { - scheme = "RTSP"; - } - return CommonResult.successApi(videoUtil.getVideo(code, scheme, subType)); } @@ -74,9 +121,33 @@ public byte[] getImages(HttpServletRequest request, HttpServletResponse response, @RequestParam String fileUrl, @RequestParam(required = false) String OSSAccessKeyId, @RequestParam(required = false) String Signature) { + if (StringUtils.isNotBlank(fileUrl)) { + String sessionId = request.getSession().getId(); + sessionDic.put(sessionId, 0); + return getBytes(fileUrl, OSSAccessKeyId, Signature, sessionId); + } else { + return null; + } + } + + @ApiOperation(value = "鑾峰彇鍥剧墖") + @GetMapping(value = "/img/base64") +// @GetMapping(value = "/img") + @ResponseBody + public String getImagesBase64(HttpServletRequest request, HttpServletResponse response, + @RequestParam String fileUrl, @RequestParam(required = false) String OSSAccessKeyId, + @RequestParam(required = false) String Signature) { String sessionId = request.getSession().getId(); sessionDic.put(sessionId, 0); - return getBytes(fileUrl, OSSAccessKeyId, Signature, sessionId); + byte[] bytes = getBytes(fileUrl, OSSAccessKeyId, Signature, sessionId); + String base64 = DatatypeConverter.printBase64Binary(bytes); + return base64; + } + + @GetMapping(value = "/index") + @ResponseBody + public String getImages(HttpServletRequest request, HttpServletResponse response) { + return "閬傛槍缁煎悎鎵ф硶骞冲彴"; } @@ -85,8 +156,14 @@ try { if (sessionDic.get(sessionId) < 10) { sessionDic.remove(sessionId); - System.out.println("getImages鑾峰彇鍥剧墖鍦板潃锛�" + fileUrl + "&OSSAccessKeyId=" + OSSAccessKeyId + "&Signature=" + Signature); - URL url = new URL(fileUrl + "&OSSAccessKeyId=" + OSSAccessKeyId + "&Signature=" + Signature); + fileUrl = fileUrl.replace("Expires", "v"); +// System.out.println("getImages鑾峰彇鍥剧墖鍦板潃锛�" + fileUrl + "&OSSAccessKeyId=" + OSSAccessKeyId + "&Signature=" + Signature); + URL url = null; + if (StringUtils.isNotBlank(OSSAccessKeyId) && StringUtils.isNotBlank(Signature)) { + url = new URL(fileUrl + "&OSSAccessKeyId=" + OSSAccessKeyId + "&Signature=" + Signature); + } else { + url = new URL(fileUrl); + } HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setConnectTimeout(10 * 1000); @@ -95,7 +172,7 @@ InputStream inputStream = conn.getInputStream();// 閫氳繃杈撳叆娴佽幏鍙栧浘鐗囨暟鎹� byte[] data = readInputStream(inputStream); - System.out.println("getImages鑾峰彇鍥剧墖鎴愬姛"); +// System.out.println("getImages鑾峰彇鍥剧墖鎴愬姛"); return data; } -- Gitblit v1.8.0