From 4ad32c37e3317fb6cb7cbfb034b53d3220c27db4 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期五, 30 五月 2025 17:59:16 +0800 Subject: [PATCH] 优化报警 --- ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/controller/RealVideoMsgController.java | 47 ++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 40 insertions(+), 7 deletions(-) diff --git a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/controller/RealVideoMsgController.java b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/controller/RealVideoMsgController.java index 3ba8828..543ba3c 100644 --- a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/controller/RealVideoMsgController.java +++ b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/controller/RealVideoMsgController.java @@ -1,6 +1,8 @@ package com.ruoyi.dataInterchange.controller; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.bean.BeanUtils; +import com.ruoyi.dataInterchange.api.vo.UPRealvideoMsgStartupAckVo; import com.ruoyi.dataInterchange.dao.UPRealvideoMsgEndAckDao; import com.ruoyi.dataInterchange.dao.UPRealvideoMsgStartupAckDao; import com.ruoyi.dataInterchange.model.UPRealvideoMsgEndAck; @@ -13,7 +15,10 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.time.LocalDateTime; +import java.time.ZoneOffset; /** * 实时音视频控制器 @@ -45,14 +50,14 @@ * @return */ @PostMapping("/startupRealVideo") - public R<UPRealvideoMsgStartupAck> startupRealVideo(@RequestParam("inferiorPlatformId") Integer inferiorPlatformId, @RequestParam("vehicleNo") String vehicleNo) { - R realVideo = downRealvideoMsgStartupService.startupRealVideo(inferiorPlatformId, vehicleNo); + public R<UPRealvideoMsgStartupAckVo> startupRealVideo(@RequestParam("inferiorPlatformId") Integer inferiorPlatformId, @RequestParam("vehicleNo") String vehicleNo) { + R<String> realVideo = downRealvideoMsgStartupService.startupRealVideo(inferiorPlatformId, vehicleNo); if (realVideo.getCode() != 200) { - return realVideo; + return R.fail(realVideo.getMsg()); } //发送成功,定时任务获取响应结果 int num = 0; - LocalDateTime now = LocalDateTime.now(); + long now = LocalDateTime.now().toEpochSecond(ZoneOffset.ofHours(8)); while (true) { UPRealvideoMsgStartupAck realvideoMsgStartupAck = upRealvideoMsgStartupAckDao.findByInferiorPlatformIdAndVehicleNoAndCreateTimeAfter(inferiorPlatformId, vehicleNo, now); if (null == realvideoMsgStartupAck) { @@ -64,8 +69,36 @@ num++; continue; } - if (null != realvideoMsgStartupAck || num >= 30) { - return R.ok(realvideoMsgStartupAck); + if (null != realvideoMsgStartupAck) { + int result = realvideoMsgStartupAck.getResult(); + switch (result){ + case 0: + UPRealvideoMsgStartupAckVo vo = new UPRealvideoMsgStartupAckVo(); + BeanUtils.copyProperties(realvideoMsgStartupAck, vo); + String encode = null; + try { + encode = URLEncoder.encode(vehicleNo, "UTF-8"); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e); + } + vo.setUrl("http://" + vo.getServerIP() + ":" + vo.getServerPort() + "/" + encode + "." + vo.getVehicleColor() + ".1.0." + realVideo.getData()); + return R.ok(vo); + case 1: + return R.fail("发起实时音视频失败,可能是车辆离线导致"); + case 2: + return R.fail("不支持实时音视频"); + case 3: + return R.fail("实时音视频会话结束"); + case 4: + return R.fail("实时音视频口令错误"); + case 5: + return R.fail("实时音视频不满足跨域条件"); + default: + return R.fail("发起实时音视频失败,可能是车辆离线导致"); + } + } + if (num >= 30) { + return R.fail("发起实时音视频失败,可能是车辆离线导致"); } } } @@ -85,7 +118,7 @@ } //发送成功,定时任务获取响应结果 int num = 0; - LocalDateTime now = LocalDateTime.now(); + Long now = LocalDateTime.now().toEpochSecond(ZoneOffset.ofHours(8)); while (true) { UPRealvideoMsgEndAck upRealvideoMsgEndAck = upRealvideoMsgEndAckDao.findByInferiorPlatformIdAndVehicleNoAndCreateTimeAfter(inferiorPlatformId, vehicleNo, now); if (null == upRealvideoMsgEndAck) { -- Gitblit v1.7.1