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/server/UPLinkTestReqService.java |   30 ++++++++++++++++++++++++------
 1 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/UPLinkTestReqService.java b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/UPLinkTestReqService.java
index 68b502f..4f0e6f6 100644
--- a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/UPLinkTestReqService.java
+++ b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/UPLinkTestReqService.java
@@ -6,7 +6,10 @@
 import com.ruoyi.dataInterchange.util.jtt809.packet.common.OuterPacket;
 import io.netty.channel.ChannelHandlerContext;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
 
 
 /**
@@ -17,18 +20,33 @@
 @Component
 public class UPLinkTestReqService {
 	
+	@Resource
+	private RedisTemplate redisTemplate;
+
+	@Resource
+	private DOWNConnectRspService downConnectRspService;
+	
 	
 	/**
-	 * 住链路连接保持
+	 * 主链路连接保持
+	 *
 	 * @param ctx
 	 * @param out
 	 */
-	public void linkTest(ChannelHandlerContext ctx, OuterPacket out){
+	public void linkTest(ChannelHandlerContext ctx, OuterPacket out) {
+		if (!redisTemplate.hasKey("login:" + out.getGnsscenterId())) {
+			log.error("链路还未登录校验,拒绝连接:{}", out.getGnsscenterId());
+			ctx.close();
+			return;
+		}
 		int gnsscenterId = out.getGnsscenterId();
-		ChannelMap.addServerChannel(gnsscenterId, ctx.channel().id());
-		OuterPacket rep = new OuterPacket(DataType.UP_LINKTEST_RSP.getCode(), null);
-		log.info("住链路连接保持应答({}):{}", DataType.UP_LINKTEST_RSP.getCode(), JSON.toJSONString(rep));
+		//保存链路
+		ChannelMap.addServerChannel(gnsscenterId, ctx.channel());
+		OuterPacket rep = new OuterPacket(DataType.UP_LINKTEST_RSP.getCode(), gnsscenterId, null);
+		rep.setGnsscenterId(gnsscenterId);
+		log.info("主链路连接保持应答({}):{}", DataType.UP_LINKTEST_RSP.getCode(), JSON.toJSONString(rep));
 		ctx.writeAndFlush(rep);
-		ctx.flush();
+		//从链路保持请求
+		downConnectRspService.downLinkTest(gnsscenterId);
 	}
 }

--
Gitblit v1.7.1