From 3c66b754ee314ae87d0f2eda2fa86a30ea2304e7 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 14 三月 2025 18:32:30 +0800 Subject: [PATCH] 修改809对接bug --- ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/ExgMsgService.java | 25 +++++++++++++++++-------- 1 files changed, 17 insertions(+), 8 deletions(-) diff --git a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/ExgMsgService.java b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/ExgMsgService.java index a2a4eef..5fbf7fd 100644 --- a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/ExgMsgService.java +++ b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/ExgMsgService.java @@ -12,6 +12,7 @@ import io.netty.channel.Channel; import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -45,10 +46,19 @@ @Resource private UPExgMsgTakeEwayBillAckDao upExgMsgTakeEwayBillAckDao; + @Resource + private RedisTemplate redisTemplate; + public void up_exg_msg(ChannelHandlerContext ctx, OuterPacket out) { + if (!redisTemplate.hasKey("login:" + out.getGnsscenterId())) { + log.error("链路还未登录校验,拒绝连接"); + ctx.close(); + return; + } UPExgMsg exgMsg = getExgMsg(out); DataType dataType = DataType.getDataType(exgMsg.getDataType()); + log.info("主链路车辆动态信息交换子业务({}):{}", dataType.getCode(), out); switch (dataType) { case UP_EXG_MSG_REGISTER: log.info("上传车辆注册信息({}):{}", DataType.UP_EXG_MSG_REGISTER.getCode(), out); @@ -152,15 +162,13 @@ downExgMsgReportDriverInfo.setVehicleColor(VehicleColor); downExgMsgReportDriverInfo.setDataType(DataType.DOWN_EXG_MSG_REPORT_DRIVER_INFO.getCode()); downExgMsgReportDriverInfo.setDataLength(0); - log.info("上报驾驶员身份识别信息请求({}):{}", DataType.DOWN_EXG_MSG_REPORT_DRIVER_INFO.getCode(), JSON.toJSONString(downExgMsgReportDriverInfo)); byte[] body = downExgMsgReportDriverInfo.encode(); OuterPacket out = new OuterPacket(DataType.DOWN_EXG_MSG_REPORT_DRIVER_INFO.getCode(), body); //获取从链路通道 Channel channel = ChannelMap.getClientChannel(inferiorPlatformId); if (null != channel && channel.isActive()) { channel.writeAndFlush(out); - } else { - ctx.writeAndFlush(out); + log.info("上报驾驶员身份识别信息请求({}):{}", DataType.DOWN_EXG_MSG_REPORT_DRIVER_INFO.getCode(), JSON.toJSONString(downExgMsgReportDriverInfo)); } } @@ -196,22 +204,23 @@ * @param inferiorPlatformId */ public void down_exg_msg_take_ewaybill_req(int inferiorPlatformId, String vehicleNo, int VehicleColor) { + if (!redisTemplate.hasKey("login:" + inferiorPlatformId)) { + log.error("链路还未登录校验,拒绝连接"); + return; + } DOWNExgMsgTakeEwaybillReq downExgMsgTakeEwaybillReq = new DOWNExgMsgTakeEwaybillReq(); downExgMsgTakeEwaybillReq.setVehicleNo(vehicleNo); downExgMsgTakeEwaybillReq.setVehicleColor(VehicleColor); - downExgMsgTakeEwaybillReq.setDataType(DataType.DOWN_EXG_MSG_REPORT_DRIVER_INFO.getCode()); + downExgMsgTakeEwaybillReq.setDataType(DataType.DOWN_EXG_MSG_TAKE_EWAYBILL_REQ.getCode()); downExgMsgTakeEwaybillReq.setDataLength(0); - log.info("上报车辆电子运单请求({}):{}", DataType.DOWN_EXG_MSG_TAKE_EWAYBILL_REQ.getCode(), JSON.toJSONString(downExgMsgTakeEwaybillReq)); byte[] body = downExgMsgTakeEwaybillReq.encode(); OuterPacket out = new OuterPacket(DataType.DOWN_EXG_MSG_TAKE_EWAYBILL_REQ.getCode(), body); //获取从链路通道 Channel channel = ChannelMap.getClientChannel(inferiorPlatformId); if (null != channel && channel.isActive()) { channel.writeAndFlush(out); - } else { - channel = ChannelMap.getServerChannel(inferiorPlatformId); - channel.writeAndFlush(out); + log.info("上报车辆电子运单请求({}):{}", DataType.DOWN_EXG_MSG_TAKE_EWAYBILL_REQ.getCode(), JSON.toJSONString(downExgMsgTakeEwaybillReq)); } } -- Gitblit v1.7.1