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/PlaybackMsgController.java |   51 ++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 42 insertions(+), 9 deletions(-)

diff --git a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/controller/PlaybackMsgController.java b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/controller/PlaybackMsgController.java
index ac33e71..0a349a0 100644
--- a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/controller/PlaybackMsgController.java
+++ b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/controller/PlaybackMsgController.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.UPPlaybackMsgStartupAckVo;
 import com.ruoyi.dataInterchange.dao.UPPlaybackMsgControlAckDao;
 import com.ruoyi.dataInterchange.dao.UPPlaybackMsgStartupAckDao;
 import com.ruoyi.dataInterchange.model.UPPlaybackMsgControlAck;
@@ -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;
 
 /**
  * @author zhibing.pu
@@ -44,15 +49,15 @@
 	 * @return
 	 */
 	@PostMapping("/playbackMsgStartup")
-	public R<UPPlaybackMsgStartupAck> playbackMsgStartup(@RequestParam("inferiorPlatformId") Integer inferiorPlatformId, @RequestParam("vehicleNo") String vehicleNo,
-	                                                     @RequestParam("startTime") LocalDateTime startTime, @RequestParam("endTime") LocalDateTime endTime) {
-		R r = downPlaybackMsgStartupService.playbackMsgStartup(inferiorPlatformId, vehicleNo, startTime, endTime);
+	public R<UPPlaybackMsgStartupAckVo> playbackMsgStartup(@RequestParam("inferiorPlatformId") Integer inferiorPlatformId, @RequestParam("vehicleNo") String vehicleNo,
+	                                                       @RequestParam("startTime") Long startTime, @RequestParam("endTime") Long endTime) {
+		R<String> r = downPlaybackMsgStartupService.playbackMsgStartup(inferiorPlatformId, vehicleNo, startTime, endTime);
 		if (200 != r.getCode()) {
-			return r;
+			return R.fail(r.getMsg());
 		}
 		//发送成功,定时任务获取响应结果
 		int num = 0;
-		LocalDateTime now = LocalDateTime.now();
+		Long now = LocalDateTime.now().toEpochSecond(ZoneOffset.ofHours(8));
 		while (true) {
 			UPPlaybackMsgStartupAck upPlaybackMsgStartupAck = upPlaybackMsgStartupAckDao.findByInferiorPlatformIdAndVehicleNoAndCreateTimeAfter(inferiorPlatformId, vehicleNo, now);
 			if (null == upPlaybackMsgStartupAck) {
@@ -64,8 +69,36 @@
 				num++;
 				continue;
 			}
-			if (null != upPlaybackMsgStartupAck || num >= 30) {
-				return R.ok(upPlaybackMsgStartupAck);
+			if(null != upPlaybackMsgStartupAck){
+				int result = upPlaybackMsgStartupAck.getResult();
+				switch (result){
+					case 0:
+						UPPlaybackMsgStartupAckVo vo = new UPPlaybackMsgStartupAckVo();
+						BeanUtils.copyProperties(upPlaybackMsgStartupAck, 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." + r.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("失败");
 			}
 		}
 	}
@@ -81,7 +114,7 @@
 	 * @return
 	 */
 	@PostMapping("/playbackMsgControl")
-	public R<Integer> playbackMsgControl(@RequestParam("inferiorPlatformId") Integer inferiorPlatformId, @RequestParam("vehicleNo") String vehicleNo,
+	public R playbackMsgControl(@RequestParam("inferiorPlatformId") Integer inferiorPlatformId, @RequestParam("vehicleNo") String vehicleNo,
 	                                     @RequestParam("controlType") Integer controlType, @RequestParam("fastTime") Integer fastTime) {
 		R r = downPlaybackMsgControlService.playbackMsgControl(inferiorPlatformId, vehicleNo, controlType, fastTime);
 		if (200 != r.getCode()) {
@@ -89,7 +122,7 @@
 		}
 		//发送成功,定时任务获取响应结果
 		int num = 0;
-		LocalDateTime now = LocalDateTime.now();
+		long now = LocalDateTime.now().toEpochSecond(ZoneOffset.ofHours(8));
 		while (true) {
 			UPPlaybackMsgControlAck upPlaybackMsgControlAck = upPlaybackMsgControlAckDao.findByInferiorPlatformIdAndVehicleNoAndCreateTimeAfter(inferiorPlatformId, vehicleNo, now);
 			if (null == upPlaybackMsgControlAck) {

--
Gitblit v1.7.1