From 19c823c2c8df4cceee0d827fb598e7f0d9b69154 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 11 三月 2025 18:57:58 +0800 Subject: [PATCH] 修改809对接bug --- ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/ExgMsgService.java | 35 ++++++++++++++++++++--------------- 1 files changed, 20 insertions(+), 15 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 a70a715..a2a4eef 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 @@ -7,7 +7,6 @@ import com.ruoyi.dataInterchange.netty.client.ChannelMap; import com.ruoyi.dataInterchange.util.jtt809.common.Jtt809Util; import com.ruoyi.dataInterchange.util.jtt809.packet.common.OuterPacket; -import com.ruoyi.dataInterchange.wapper.UPConnect; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.channel.Channel; @@ -17,6 +16,7 @@ import javax.annotation.Resource; import java.time.LocalDateTime; +import java.time.ZoneOffset; import java.util.Iterator; /** @@ -129,10 +129,16 @@ public void up_exg_msg_register(ChannelHandlerContext ctx, int inferiorPlatformId, UPExgMsg exgMsg) { UPExgMsgRegister upExgMsgRegister = new UPExgMsgRegister().decode(exgMsg); upExgMsgRegister.setInferiorPlatformId(inferiorPlatformId); - upExgMsgRegister.setCreateTime(LocalDateTime.now()); - upExgMsgRegisterDao.save(upExgMsgRegister); + upExgMsgRegister.setCreateTime(LocalDateTime.now().toEpochSecond(ZoneOffset.ofHours(8))); + UPExgMsgRegister register = upExgMsgRegisterDao.findByVehicleNo(upExgMsgRegister.getVehicleNo()); + if (null == register) { + upExgMsgRegisterDao.save(upExgMsgRegister); + } //上报驾驶员身份识别信息请求 - down_exg_msg_report_driver_info(ctx, inferiorPlatformId, upExgMsgRegister.getVehicleNo(), upExgMsgRegister.getVehicleColor()); + UPExgMsgReportDriverInfoAck byVehicleNo = upExgMsgReportDriverInfoAckDao.findByVehicleNo(upExgMsgRegister.getVehicleNo()); + if (null == byVehicleNo) { + down_exg_msg_report_driver_info(ctx, inferiorPlatformId, upExgMsgRegister.getVehicleNo(), upExgMsgRegister.getVehicleColor()); + } } /** @@ -153,10 +159,8 @@ Channel channel = ChannelMap.getClientChannel(inferiorPlatformId); if (null != channel && channel.isActive()) { channel.writeAndFlush(out); - channel.flush(); } else { ctx.writeAndFlush(out); - ctx.flush(); } } @@ -169,7 +173,7 @@ public void up_exg_msg_real_location(ChannelHandlerContext ctx, int inferiorPlatformId, UPExgMsg exgMsg) { UPExgMsgRealLocation upExgMsgRealLocation = new UPExgMsgRealLocation().decode(exgMsg); upExgMsgRealLocation.setInferiorPlatformId(inferiorPlatformId); - upExgMsgRealLocation.setCreateTime(LocalDateTime.now()); + upExgMsgRealLocation.setCreateTime(LocalDateTime.now().toEpochSecond(ZoneOffset.ofHours(8))); upExgMsgRealLocationDao.save(upExgMsgRealLocation); } @@ -205,11 +209,9 @@ Channel channel = ChannelMap.getClientChannel(inferiorPlatformId); if (null != channel && channel.isActive()) { channel.writeAndFlush(out); - channel.flush(); } else { - //重新连接从链路 - UPConnect ipAndPort = ChannelMap.getIpAndPort(inferiorPlatformId); - connectReqService.downConnect(inferiorPlatformId, ipAndPort.getDownLinkIp(), ipAndPort.getDownLinkPort(), ipAndPort.getVerifyCode()); + channel = ChannelMap.getServerChannel(inferiorPlatformId); + channel.writeAndFlush(out); } } @@ -224,7 +226,7 @@ public void up_exg_msg_history_location(ChannelHandlerContext ctx, int inferiorPlatformId, UPExgMsg exgMsg) { UPExgMsgHistoryLocation upExgMsgHistoryLocation = new UPExgMsgHistoryLocation().decode(exgMsg); upExgMsgHistoryLocation.setInferiorPlatformId(inferiorPlatformId); - upExgMsgHistoryLocation.setCreateTime(LocalDateTime.now()); + upExgMsgHistoryLocation.setCreateTime(LocalDateTime.now().toEpochSecond(ZoneOffset.ofHours(8))); upExgMsgHistoryLocationDao.save(upExgMsgHistoryLocation); } @@ -239,7 +241,7 @@ public void up_exg_msg_report_driver_info_ack(ChannelHandlerContext ctx, int inferiorPlatformId, UPExgMsg exgMsg) { UPExgMsgReportDriverInfoAck upExgMsgReportDriverInfoAck = new UPExgMsgReportDriverInfoAck().decode(exgMsg); upExgMsgReportDriverInfoAck.setInferiorPlatformId(inferiorPlatformId); - upExgMsgReportDriverInfoAck.setCreateTime(LocalDateTime.now()); + upExgMsgReportDriverInfoAck.setCreateTime(LocalDateTime.now().toEpochSecond(ZoneOffset.ofHours(8))); upExgMsgReportDriverInfoAckDao.save(upExgMsgReportDriverInfoAck); } @@ -254,8 +256,11 @@ public void up_exg_msg_take_ewaybill_ack(ChannelHandlerContext ctx, int inferiorPlatformId, UPExgMsg exgMsg) { UPExgMsgTakeEwayBillAck upExgMsgTakeEwayBillAck = new UPExgMsgTakeEwayBillAck().decode(exgMsg); upExgMsgTakeEwayBillAck.setInferiorPlatformId(inferiorPlatformId); - upExgMsgTakeEwayBillAck.setCreateTime(LocalDateTime.now()); - upExgMsgTakeEwayBillAckDao.save(upExgMsgTakeEwayBillAck); + upExgMsgTakeEwayBillAck.setCreateTime(LocalDateTime.now().toEpochSecond(ZoneOffset.ofHours(8))); + UPExgMsgTakeEwayBillAck byVehicleNo = upExgMsgTakeEwayBillAckDao.findByVehicleNo(upExgMsgTakeEwayBillAck.getVehicleNo()); + if (null == byVehicleNo) { + upExgMsgTakeEwayBillAckDao.save(upExgMsgTakeEwayBillAck); + } } } -- Gitblit v1.7.1