From 1ff2fcadc268b41d44c3e5a58ce3758ff4909c6c Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期二, 24 二月 2026 18:54:20 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java |   66 ++++++++++++++++++---------------
 1 files changed, 36 insertions(+), 30 deletions(-)

diff --git a/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java b/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
index 72cd1e9..ee84311 100644
--- a/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
+++ b/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
@@ -91,7 +91,6 @@
     private UserVehicleClient userVehicleClient;
 
 
-
     /**
      * 消费消息 - XPU上报Robotaxi云端的消息topic(高优先级)
      *
@@ -115,7 +114,7 @@
      * @param msgContent
      * @param message
      */
-    public void handleXPUMessage(MsgContent msgContent, String message){
+    public void handleXPUMessage(MsgContent msgContent, String message) {
         RtMsgHeader header = msgContent.getHeader();
         MessageType type = header.getType();
         //处理请求消息
@@ -186,15 +185,15 @@
 
         }
         //消息应答
-        if(MessageType.MESSAGE_TYPE_RESPONSE == type){
+        if (MessageType.MESSAGE_TYPE_RESPONSE == type) {
             com.xiaopeng.api.vo.automaticPilot.proto.up.ResponseMessage resposne = msgContent.getContent_detail().getObject("resposne", com.xiaopeng.api.vo.automaticPilot.proto.up.ResponseMessage.class);
             com.xiaopeng.api.vo.automaticPilot.proto.up.StatusCode code = resposne.getCode();
             Long requestSeq = resposne.getRequest_seq();
-            if(code == com.xiaopeng.api.vo.automaticPilot.proto.up.StatusCode.OK){
+            if (code == com.xiaopeng.api.vo.automaticPilot.proto.up.StatusCode.OK) {
                 Object sequence = redisTemplate.opsForValue().get(requestSeq);
-                if(sequence!=null){
+                if (sequence != null) {
                     String[] split = sequence.toString().split("_");
-                    if(split[0].equals("pushOrder")){
+                    if (split[0].equals("pushOrder")) {
                         PopOrderDto dto = new PopOrderDto();
                         dto.setOrderId(Long.valueOf(split[1]));
                         dto.setXpVehicleVin(split[2]);
@@ -204,9 +203,6 @@
             }
         }
     }
-
-
-
 
 
     /**
@@ -314,22 +310,31 @@
                 userVehicleClient.cancelTaxiPassenger(cancelTaxiPassengerVo);
             }
             // 取消订单
-            R<?> r = xpOrderClient.cancelOrder(String.valueOf(xpOrder.getId()));
-            if (r.getCode() == R.SUCCESS){
-                log.info("取消订单成功");
-                // TODO 重新派单
-                ReassignOrderDTO reassignOrderDTO = new ReassignOrderDTO();
-                reassignOrderDTO.setUid(xpOrder.getAppUserId().toString());
-                reassignOrderDTO.setOrderNo(xpOrder.getOrderNumber());
-                reassignOrderDTO.setCount(10);
-                RealtimePose pose = systemRuntimeStatus.getPose();
-                Wgs naviPose = pose.getNavi_pose();
-                Double latitude = naviPose.getLatitude();
-                Double longitude = naviPose.getLongitude();
-                reassignOrderDTO.setLongitude(longitude);
-                reassignOrderDTO.setLatitude(latitude);
-                reassignOrderClient.reassignOrder(reassignOrderDTO);
-            }
+//            R<?> r = xpOrderClient.cancelOrder(String.valueOf(xpOrder.getId()));
+//            if (r.getCode() == R.SUCCESS){
+            log.info("取消订单成功");
+            // TODO 重新派单
+            ReassignOrderDTO reassignOrderDTO = new ReassignOrderDTO();
+            reassignOrderDTO.setUid(xpOrder.getAppUserId().toString());
+            reassignOrderDTO.setOrderNo(xpOrder.getOrderNumber());
+            reassignOrderDTO.setCount(10);
+            RealtimePose pose = systemRuntimeStatus.getPose();
+            Wgs naviPose = pose.getNavi_pose();
+            Double latitude = naviPose.getLatitude();
+            Double longitude = naviPose.getLongitude();
+            reassignOrderDTO.setLongitude(longitude);
+            reassignOrderDTO.setLatitude(latitude);
+            reassignOrderClient.reassignOrder(reassignOrderDTO);
+
+
+
+
+
+
+
+
+
+//            }
         }
     }
 
@@ -556,9 +561,9 @@
         snowFlake.withStartTimestamp(1420041600000L);
         long sequence = snowFlake.nextId();
         // 处理数据
-        redisTemplate.opsForValue().set(sequence,"pushOrder_"+orderId+"_"+vin,30, TimeUnit.MINUTES);
+        redisTemplate.opsForValue().set(sequence, "pushOrder_" + orderId + "_" + vin, 30, TimeUnit.MINUTES);
         //开发发送请求到XPU
-        xpuUtil.cloudOrderOperation(orderOperation, vin,sequence);
+        xpuUtil.cloudOrderOperation(orderOperation, vin, sequence);
     }
 
 
@@ -662,12 +667,13 @@
      * @param orderId
      * @param status
      */
-    public void buildPushOrderStatus(String orderId, OrderStatusEnum status, Long sequence){
-        if(orderId.contains("XU")){
+    public void buildPushOrderStatus(String orderId, OrderStatusEnum status, Long sequence) {
+        if (orderId.contains("XU")) {
             //巡游单
             //响应消息
+            // TODO 1.处理结束当前巡游订单  2.创建新的巡游订单 返航  3.调用xpu车机接口  (判断是返航还是正常  返航需要存储之前的订单id)
             responseMessage(sequence, "");
-        }else{
+        } else {
             //普通单
             R<XpOrder> xpOrderR = xpOrderClient.queryOrderById(Long.parseLong(orderId));
             XpOrder xpOrder = xpOrderR.getData();

--
Gitblit v1.7.1