From 4109495b9c51a4bbd8b0a7c3c69093909d2e33e1 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期一, 07 四月 2025 18:55:05 +0800 Subject: [PATCH] 修改接口bug --- ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/ExgMsgService.java | 30 ++++++++++++++++++++++++++++++ 1 files changed, 30 insertions(+), 0 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 6ffff42..b178aa4 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 @@ -201,6 +201,11 @@ GnssDataVo vo = new GnssDataVo(); BeanUtils.copyProperties(upExgMsgRealLocation.getGnssData(), vo); redisTemplate.opsForValue().set("location:" + upExgMsgRealLocation.getVehicleNo(), vo); + //查询车辆信息,没有则主动发起请求 + UPExgMsgRegister msgRegister = upExgMsgRegisterDao.findByVehicleNo(upExgMsgRealLocation.getVehicleNo()); + if (null == msgRegister) { + down_base_msg_vehicle_added(inferiorPlatformId, upExgMsgRealLocation.getVehicleNo(), upExgMsgRealLocation.getVehicleColor()); + } } @@ -303,4 +308,29 @@ } } + + /** + * 补报车辆静态信息 + */ + public void down_base_msg_vehicle_added(int inferiorPlatformId, String vehicleNo, int VehicleColor) { + if (!redisTemplate.hasKey("login:" + inferiorPlatformId)) { + log.error("链路还未登录校验,拒绝连接"); + return; + } + DOWNBaseMsgVehicleAdded downBaseMsgVehicleAdded = new DOWNBaseMsgVehicleAdded(); + downBaseMsgVehicleAdded.setVehicleNo(vehicleNo); + downBaseMsgVehicleAdded.setVehicleColor(VehicleColor); + downBaseMsgVehicleAdded.setDataType(DataType.DOWN_BASE_MSG_VEHICLE_ADDED.getCode()); + downBaseMsgVehicleAdded.setDataLength(0); + + byte[] body = downBaseMsgVehicleAdded.encode(); + OuterPacket out = new OuterPacket(DataType.DOWN_BASE_MSG.getCode(), body); + //获取从链路通道 + Channel channel = ChannelMap.getClientChannel(inferiorPlatformId); + if (null != channel && channel.isActive()) { + channel.writeAndFlush(out); + log.info("补报车辆静态信息请求({}):{}", DataType.DOWN_BASE_MSG_VEHICLE_ADDED.getCode(), JSON.toJSONString(downBaseMsgVehicleAdded)); + } + } + } -- Gitblit v1.7.1