From 0eb01e97fbd07b69b9c4e884181dc22f559c9eb2 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 13 二月 2026 19:39:47 +0800
Subject: [PATCH] feat(task): 集成自动驾驶订单推送功能

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java |   35 +++++++++++++++++++++++------------
 1 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
index 66a49d4..066d217 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -40,6 +40,7 @@
 import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
 import com.xiaopeng.api.vo.account.UserCouponVo;
 import com.xiaopeng.api.vo.order.*;
+import com.xiaopeng.api.vo.vehicleConvoy.AddTaxiPassengerVo;
 import com.xiaopeng.api.vo.vehicleConvoy.CancelTaxiPassengerVo;
 import com.xiaopeng.common.core.constant.CacheConstants;
 import com.xiaopeng.common.core.domain.R;
@@ -768,7 +769,8 @@
         xpOrderCancelService.save(xpOrderCancel);
 
 
-        // 推送消息
+
+
         // 消息推送
         Map<String, Object> params = new HashMap<>();
         Map<String, Object> content = new HashMap<>();
@@ -1684,26 +1686,35 @@
     @Transactional
 //    @ShardingTransactionType(TransactionType.BASE)
     public void popOrder(PopOrderDto dto) {
-
         XpOrder order = this.getById(dto.getOrderId());
         order.setAcceptanceTime(LocalDateTime.now());
-
+        AddTaxiPassengerVo addTaxiPassengerVo = new AddTaxiPassengerVo();
         R<XpVehicle> byVehicleVin = xpVehicleClient.findByVehicleVin(dto.getXpVehicleVin());
         if (byVehicleVin.getCode()==200){
             order.setVehicleId(byVehicleVin.getData().getId());
+            addTaxiPassengerVo.setVin(byVehicleVin.getData().getVehicleVin());
         }
         order.setStatus(2);
 
-        // Redis弹出这个队列元素
-        // value 订单Id_经纬度_状态_用户id_订单编号_距离_时间
-        String popFirstElement = redisService.popFirstElement(order.getQueueName());
-        XpGeoQueryEntity xpGeoQueryEntity = new XpGeoQueryEntity();
-        String[] split = popFirstElement.split("_");
-        xpGeoQueryEntity.setOrderId(split[0]);
-        // 存mongo数据
-        xpPricingClient.updateXpGeoQueryEntity(split[0]);
-        this.updateById(order);
+        addTaxiPassengerVo.setUid(order.getAppUserId().toString());
+        addTaxiPassengerVo.setOrderNo(order.getOrderNumber());
+        // TODO appid
+        addTaxiPassengerVo.setAppId("");
 
+        BaseVehicleUserDto baseVehicleUserDto = userVehicleClient.addTaxiPassenger(addTaxiPassengerVo);
+        if(baseVehicleUserDto.getCode()==200){
+
+            // Redis弹出这个队列元素
+            // value 订单Id_经纬度_状态_用户id_订单编号_距离_时间
+            String popFirstElement = redisService.popFirstElement(order.getQueueName());
+            XpGeoQueryEntity xpGeoQueryEntity = new XpGeoQueryEntity();
+            String[] split = popFirstElement.split("_");
+            xpGeoQueryEntity.setOrderId(split[0]);
+            // 存mongo数据
+            xpPricingClient.updateXpGeoQueryEntity(split[0]);
+            this.updateById(order);
+
+        }
     }
 
 

--
Gitblit v1.7.1