From e544532dc08b81614ecbac8685f018b70d5254e0 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 12 三月 2026 18:01:22 +0800
Subject: [PATCH] 修改bug

---
 xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java |   63 ++++++++++++++-----------------
 1 files changed, 29 insertions(+), 34 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 862efe2..06b3853 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
@@ -14,10 +14,7 @@
 import com.xiaopeng.api.dto.order.PopOrderDto;
 import com.xiaopeng.api.dto.pushMessage.PushOrderRouteDTO;
 import com.xiaopeng.api.dto.pushMessage.SendMessageDTO;
-import com.xiaopeng.api.feignClient.account.XpOperationUserClient;
-import com.xiaopeng.api.feignClient.account.XpOperationUserNotificationClient;
 import com.xiaopeng.api.feignClient.maintenance.XpTaskClient;
-import com.xiaopeng.api.feignClient.maintenance.XpTaskRuleClient;
 import com.xiaopeng.api.feignClient.map.XpMapClient;
 import com.xiaopeng.api.feignClient.operation.ReassignOrderClient;
 import com.xiaopeng.api.feignClient.operation.XpCruisePlanClient;
@@ -25,8 +22,6 @@
 import com.xiaopeng.api.feignClient.order.XpOrderClient;
 import com.xiaopeng.api.feignClient.pushMessage.XpPushMessageClient;
 import com.xiaopeng.api.feignClient.vehicleConvoy.UserVehicleClient;
-import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetOperationsClient;
-import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetVehicleClient;
 import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
 import com.xiaopeng.api.model.order.XpCruiseOrder;
 import com.xiaopeng.api.model.order.XpOrder;
@@ -45,7 +40,6 @@
 import com.xiaopeng.common.core.utils.uuid.UUID;
 import com.xiaopeng.common.redis.service.RedisService;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.geo.Point;
 import org.springframework.data.mongodb.core.MongoTemplate;
@@ -60,7 +54,6 @@
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 
-;
 
 /**
  * Kafka 消费者服务
@@ -105,7 +98,7 @@
     @Resource
     private XpCruisePlanClient xpCruisePlanClient;
 
-    @Resource(name = "hutoolSnowflake")
+    @Resource
     private Snowflake snowflake;
 
     @Value("${robotaxi.appId:xp_robotaxi_api}")
@@ -114,7 +107,7 @@
     @Resource
     private XpTaskClient xpTaskClient;
 
-    private static final com.google.protobuf.util.JsonFormat.Printer jsonPrinter = com.google.protobuf.util.JsonFormat.printer()
+    private static final JsonFormat.Printer jsonPrinter = JsonFormat.printer()
             .printingEnumsAsInts()
             .preservingProtoFieldNames();
 
@@ -268,7 +261,7 @@
                         String vin = jsonObject.getString("vin");
                         String orderType = jsonObject.getString("orderType");
                         PopOrderDto dto = new PopOrderDto();
-                        dto.setOrderId(Long.valueOf(orderId));
+                        dto.setOrderId(Long.valueOf(orderId.contains("XU") ? orderId.substring(2) : orderId));
                         dto.setXpVehicleVin(vin);
                         dto.setOrderType(orderType);
                         xpOrderClient.popOrder(dto);
@@ -368,12 +361,13 @@
                 //TODO 这两个字段现在拿不到
 //            dto.setDuration(rtTripInfo.getRemaining_time());
 //            dto.setDistance(rtTripInfo.getRemaining_distance().intValue());
+//            dto.setDirection();
                 xpPushMessageClient.pushOrderRoute(dto);
             }
         }
-
-
     }
+
+
 
 
     /**
@@ -510,7 +504,7 @@
             destination.setLatitude(xpCruiseOrder.getEndLat());
 
             OrderRouteAndFareDto dto = new OrderRouteAndFareDto();
-            dto.setOrderId(Long.parseLong(orderId));
+            dto.setOrderId(Long.parseLong(orderId.substring(2)));
             dto.setOrigin(origin);
             dto.setDestination(destination);
             dto.setRouteType(3);
@@ -618,7 +612,7 @@
                 destination.setLatitude(xpCruiseOrder.getEndLat());
 
                 OrderRouteAndFareDto dto = new OrderRouteAndFareDto();
-                dto.setOrderId(Long.parseLong(orderId));
+                dto.setOrderId(Long.parseLong(orderId.substring(2)));
                 dto.setOrigin(origin);
                 dto.setDestination(destination);
                 dto.setRouteType(3);
@@ -800,7 +794,7 @@
                 case ORDER_RECEIVED:
                     //收到订单
                     buildPushOrderStatus(orderId, OrderStatusEnum.READY_DEPART, sequence);
-                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.READY_DEPART.getCode());
+                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId.contains("XU") ? orderId.substring(2) : orderId), OrderStatusEnum.READY_DEPART.getCode());
                     break;
                 case ORDER_STARTED:
                     //开始执行订单
@@ -809,7 +803,7 @@
                 case ORDER_EN_ROUTE_TO_PICKUP:
                     //前往上车点
                     buildPushOrderStatus(orderId, OrderStatusEnum.PICK_UP, sequence);
-                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.PICK_UP.getCode());
+                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId.contains("XU") ? orderId.substring(2) : orderId), OrderStatusEnum.PICK_UP.getCode());
                     break;
                 case ORDER_ARRIVED_AT_PICKUP:
                     //到达上车点
@@ -818,17 +812,17 @@
                 case ORDER_WAITING_FOR_PICKUP:
                     //等待乘客上车
                     buildPushOrderStatus(orderId, OrderStatusEnum.PICK_UP_GUESTS, sequence);
-                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.PICK_UP_GUESTS.getCode());
+                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId.contains("XU") ? orderId.substring(2) : orderId), OrderStatusEnum.PICK_UP_GUESTS.getCode());
                     break;
                 case ORDER_PASSENGER_ONBOARD:
                     //乘客已上车
                     buildPushOrderStatus(orderId, OrderStatusEnum.PASSENGER_BOARDED, sequence);
-                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.PASSENGER_BOARDED.getCode());
+                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId.contains("XU") ? orderId.substring(2) : orderId), OrderStatusEnum.PASSENGER_BOARDED.getCode());
                     break;
                 case ORDER_EN_ROUTE_TO_DESTINATION:
                     //前往目的地
                     buildPushOrderStatus(orderId, OrderStatusEnum.IN_SERVICE, sequence);
-                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.IN_SERVICE.getCode());
+                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId.contains("XU") ? orderId.substring(2) : orderId), OrderStatusEnum.IN_SERVICE.getCode());
                     break;
                 case ORDER_ARRIVED_AT_DESTINATION:
                     //到达目的地
@@ -837,27 +831,28 @@
                 case ORDER_WAITING_FOR_DROPOFF:
                     //等待乘客下车
                     buildPushOrderStatus(orderId, OrderStatusEnum.SEE_OFF_GUESTS, sequence);
-                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.SEE_OFF_GUESTS.getCode());
+                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId.contains("XU") ? orderId.substring(2) : orderId), OrderStatusEnum.SEE_OFF_GUESTS.getCode());
                     break;
                 case ORDER_DROPOFF_COMPLETED:
                     //下车完成
                     buildPushOrderStatus(orderId, OrderStatusEnum.APPROVAL_REJECTION, sequence);
-                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.APPROVAL_REJECTION.getCode());
-
+                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId.contains("XU") ? orderId.substring(2) : orderId), OrderStatusEnum.APPROVAL_REJECTION.getCode());
 
                     // 下发巡游任务
-                    R<XpOrder> xpOrderR = xpOrderClient.queryOrderById(Long.parseLong(orderId));
-                    if(xpOrderR.getCode()==200){
-                        XpOrder orderData = xpOrderR.getData();
-                        Long vehicleId =orderData.getVehicleId();
-                        R<XpVehicle> xpVehicleR = xpVehicleClient.queryById(vehicleId);
-                        if(xpVehicleR.getData()!=null){
-                            XpVehicle xpVehicle = xpVehicleR.getData();
+                    if(!orderId.contains("XU")){
+                        R<XpOrder> xpOrderR = xpOrderClient.queryOrderById(Long.parseLong(orderId));
+                        if(xpOrderR.getCode()==200){
+                            XpOrder orderData = xpOrderR.getData();
+                            Long vehicleId =orderData.getVehicleId();
+                            R<XpVehicle> xpVehicleR = xpVehicleClient.queryById(vehicleId);
+                            if(xpVehicleR.getData()!=null){
+                                XpVehicle xpVehicle = xpVehicleR.getData();
 
-                            AddCruiseMissionDto addCruiseMissionDto = new AddCruiseMissionDto();
-                            addCruiseMissionDto.setOrder(orderData);
-                            addCruiseMissionDto.setVehicle(xpVehicle);
-                            xpCruiseOrderClient.addCruiseMission(addCruiseMissionDto);
+                                AddCruiseMissionDto addCruiseMissionDto = new AddCruiseMissionDto();
+                                addCruiseMissionDto.setOrder(orderData);
+                                addCruiseMissionDto.setVehicle(xpVehicle);
+                                xpCruiseOrderClient.addCruiseMission(addCruiseMissionDto);
+                            }
                         }
                     }
 
@@ -871,7 +866,7 @@
                 case ORDER_CANCELLED:
                     //已取消
                     buildPushOrderStatus(orderId, OrderStatusEnum.CANCELED, sequence);
-                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.CANCELED.getCode());
+                    xpOrderClient.updateOrderStatus(Long.parseLong(orderId.contains("XU") ? orderId.substring(2) : orderId), OrderStatusEnum.CANCELED.getCode());
                     break;
                 case ORDER_ARRIVED_AT_CRUISE_DESTINATION:
                     //到达巡游终点

--
Gitblit v1.7.1