From 3963419240d589661e54d64fe17f6efab5ccb254 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 13 二月 2026 19:39:57 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi

---
 xp-robotaxi-automaticPilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java |   97 ++++++++++--------------------------------------
 1 files changed, 21 insertions(+), 76 deletions(-)

diff --git a/xp-robotaxi-automaticPilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java b/xp-robotaxi-automaticPilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
index 44f658b..822c6ea 100644
--- a/xp-robotaxi-automaticPilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
+++ b/xp-robotaxi-automaticPilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
@@ -89,6 +89,24 @@
      */
     public void topicProdRobotaxiXpuHigh(String message) {
         MsgContent msgContent = JSON.parseObject(message, MsgContent.class);
+        handleXPUMessage(msgContent, message);
+    }
+
+    /**
+     * 消费消息 - XPU上报Robotaxi云端的消息topic(低优先级)
+     */
+    public void topicProdRobotaxiXpuNormal(String message) {
+        MsgContent msgContent = JSON.parseObject(message, MsgContent.class);
+        handleXPUMessage(msgContent, message);
+    }
+
+
+    /**
+     * 处理XPU消息
+     * @param msgContent
+     * @param message
+     */
+    public void handleXPUMessage(MsgContent msgContent, String message){
         RtMsgHeader header = msgContent.getHeader();
         MessageType type = header.getType();
         //处理请求消息
@@ -173,87 +191,12 @@
                         xpOrderClient.popOrder(dto);
                     }
                 }
-
-
             }
         }
     }
 
-    /**
-     * 消费消息 - XPU上报Robotaxi云端的消息topic(低优先级)
-     */
-    public void topicProdRobotaxiXpuNormal(String message) {
-        MsgContent msgContent = JSON.parseObject(message, MsgContent.class);
-        RtMsgHeader header = msgContent.getHeader();
-        MessageType type = header.getType();
-        //处理请求消息
-        if (MessageType.MESSAGE_TYPE_REQUEST == type) {
-            //区分业务类型
-            RTCmdType cmd = header.getCmd();
-            switch (cmd) {
-                case SYSTEM_STATUS_XPU:
-                    log.info("XPU发布系统运行状态 (XPU→云端):{}", message);
-                    systemStatusXpu(msgContent);
-                    break;
-                case XPU_NAVIGATION_REQUEST:
-                    log.info("XPU向云端请求导航 (XPU→云端):{}", message);
-                    xpuNavigationRequest(msgContent);
-                    break;
-                case TRIP_STATUS_UPDATE_EVENT:
-                    log.info("行程状态更新(XPU→云端)(XPU→座舱):{}", message);
-                    break;
-                case PULLOVER_STATUS_EVENT:
-                    log.info("靠边停车状态(XPU→云端)(XPU→座舱):{}", message);
-                    break;
-                case DRIVING_MODE_UPDATE_EVENT:
-                    log.info("驾驶模式变化(XPU→云端)(XPU→座舱):{}", message);
-                    break;
-                case SYSTEM_STATUS_UPDATE_EVENT:
-                    log.info("系统状态变化(XPU→云端)(XPU→座舱):{}", message);
-                    break;
-                case TASK_STATE_UPDATE_EVENT:
-                    log.info("任务状态变化(XPU→云端)(XPU→座舱):{}", message);
-                    break;
-                case ORDER_STATE_UPDATE_EVENT:
-                    log.info("订单状态变化(XPU→云端)(XPU→座舱):{}", message);
-                    orderStateUpdateEvent(msgContent);
-                    break;
-                case POINT_ARRIVAL_STATUS_EVENT:
-                    log.info("到达目标点状态(XPU→云端)(XPU→座舱):{}", message);
-                    break;
-                case PICKUP_CONFIRMATION_EVENT:
-                    log.info("用户上车确认(XPU→云端)(XPU→座舱):{}", message);
-                    break;
-                case DROPOFF_INFO_EVENT:
-                    log.info("用户下车信息(XPU→云端):{}", message);
-                    break;
-                case NAVIGATION_DEVIATION_EVENT:
-                    log.info("导航偏航(XPU→云端):{}", message);
-                    navigationDeviationEvent(msgContent);
-                    break;
-                case EMERGENCY_STOP_EVENT:
-                    log.info("急停(XPU→云端)(XPU→座舱):{}", message);
-                    break;
-                case NAVIGATION_UPDATE_EVENT:
-                    log.info("导航信息变化(XPU→云端):{}", message);
-                    break;
-                case TASK_QUEUE_UPDATE_EVENT:
-                    log.info("XPU待执行任务队列(XPU→云端):{}", message);
-                    break;
-                case SYSTEM_STATE_ANAPSHOT_SYNC_EVENT:
-                    log.info("每次MQTT连接之后触发 (XPU→云端):{}", message);
-                    break;
-                case ORDER_STATE_UPDATE_TO_CDU_EVENT:
-                    log.info("更新订单状态到CDU (XPU→云端):{}", message);
-                    break;
-                default:
-                    log.info("消息不在处理范围内,忽略:{}", message);
-            }
 
 
-        }
-
-    }
 
 
     /**
@@ -273,7 +216,9 @@
         Float alt = naviPose.getAlt();
         //获取车辆静态信息
         VehicleStaticInfo staticInfo = systemRuntimeStatus.getVehicle_status().getStatic_info();
-        String vin = staticInfo.getVin();
+        String xpuId = staticInfo.getXpu_id();
+        XpVehicle xpVehicle = xpVehicleClient.findByVehicleXpuId(xpuId).getData();
+        String vin = xpVehicle.getVehicleVin();
         //先响应消息
         Long sequence = msgContent.getHeader().getSequence();
         responseMessage(sequence, vin);

--
Gitblit v1.7.1