From 08cc6d5cf7e93b75cfabe7dcc2aeaa9afa1117eb Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 12 五月 2026 15:01:47 +0800
Subject: [PATCH] Merge branch '1.0' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.1

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java |   87 ++++++++++++++++++++++---------------------
 1 files changed, 45 insertions(+), 42 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 7ca3950..b587e5d 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
@@ -706,7 +706,8 @@
                     redisService.deleteObject("rt:bluetooth:unlock:order:" + order.getId());
                     XpVehicle xpVehicle = xpVehicleClient.queryById(order.getVehicleId()).getData();
                     BluetoothDeliverVo vo = new BluetoothDeliverVo();
-                    vo.setVim(xpVehicle.getVehicleVin());
+                    vo.setCredential(token);
+                    vo.setVin(xpVehicle.getVehicleVin());
                     vo.setPassengerUid(order.getAppUserId());
                     BaseVehicleUserDto delete = bluetoothUnlockClient.delete(vo);
                     if (null == delete || delete.getCode() != 0) {
@@ -1885,8 +1886,7 @@
 
                 BaseVehicleUserDto baseVehicleUserDto = userVehicleClient.cancelTaxiPassenger(cancelTaxiPassengerVo);
                 if (baseVehicleUserDto == null) {
-                    // TODO 本地无法调通
-//            throw new RuntimeException("取消订单失败");
+                    throw new RuntimeException("取消订单失败");
                 }
 
                 //还原车辆状态
@@ -1897,23 +1897,24 @@
                     xpVehicleClient.updateVehicleById(vehicle1);
                     log.info("用户取消订单,车辆状态修改0 {}", xpVehicle.getPlateNumber());
                 }
+
+                //删除蓝牙秘钥
+                String token = redisService.getCacheObject("rt:bluetooth:unlock:order:" + order.getId());
+                if (StringUtils.isNotBlank(token)) {
+                    redisService.deleteObject("rt:bluetooth:unlock:" + token);
+                    redisService.deleteObject("rt:bluetooth:unlock:order:" + order.getId());
+                    BluetoothDeliverVo vo = new BluetoothDeliverVo();
+                    vo.setCredential(token);
+                    vo.setVin(xpVehicle.getVehicleVin());
+                    vo.setPassengerUid(order.getAppUserId());
+                    BaseVehicleUserDto delete = bluetoothUnlockClient.delete(vo);
+                    if (null == delete || delete.getCode() != 0) {
+                        log.error("删除蓝牙解锁失败:{} {}", delete.getMsg(), order.getOrderNumber());
+                    }
+                }
+
                 //车辆继续巡游
                 addCruiseMission(order, status);
-            }
-
-            //删除蓝牙秘钥
-            String token = redisService.getCacheObject("rt:bluetooth:unlock:order:" + order.getId());
-            if (StringUtils.isNotBlank(token)) {
-                redisService.deleteObject("rt:bluetooth:unlock:" + token);
-                redisService.deleteObject("rt:bluetooth:unlock:order:" + order.getId());
-                XpVehicle xpVehicle = xpVehicleClient.queryById(order.getVehicleId()).getData();
-                BluetoothDeliverVo vo = new BluetoothDeliverVo();
-                vo.setVim(xpVehicle.getVehicleVin());
-                vo.setPassengerUid(order.getAppUserId());
-                BaseVehicleUserDto delete = bluetoothUnlockClient.delete(vo);
-                if (null == delete || delete.getCode() != 0) {
-                    log.error("删除蓝牙解锁失败:{} {}", delete.getMsg(), order.getOrderNumber());
-                }
             }
         }else{
             //流量接入-订单推送 推送取消订单
@@ -1943,7 +1944,8 @@
                 redisService.deleteObject("rt:bluetooth:unlock:order:" + order.getId());
                 XpVehicle xpVehicle = xpVehicleClient.queryById(order.getVehicleId()).getData();
                 BluetoothDeliverVo vo = new BluetoothDeliverVo();
-                vo.setVim(xpVehicle.getVehicleVin());
+                vo.setCredential(token);
+                vo.setVin(xpVehicle.getVehicleVin());
                 vo.setPassengerUid(order.getAppUserId());
                 BaseVehicleUserDto delete = bluetoothUnlockClient.delete(vo);
                 if (null == delete || delete.getCode() != 0) {
@@ -2351,19 +2353,20 @@
         order.setAppUserId(appUserId);
         bootCommonService.setCache_orderStatus(order.getId(), order, null);
         //删除蓝牙秘钥
-//        String token = redisService.getCacheObject("rt:bluetooth:unlock:order:" + orderId);
-//        if(StringUtils.isNotBlank(token)){
-//            redisService.deleteObject("rt:bluetooth:unlock:" + token);
-//            redisService.deleteObject("rt:bluetooth:unlock:order:" + orderId);
-//            XpVehicle xpVehicle = xpVehicleClient.queryById(order.getVehicleId()).getData();
-//            BluetoothDeliverVo vo = new BluetoothDeliverVo();
-//            vo.setVim(xpVehicle.getVehicleVin());
-//            vo.setPassengerUid(order.getAppUserId());
-//            BaseVehicleUserDto delete = bluetoothUnlockClient.delete(vo);
-//            if(null == delete || delete.getCode() != 0){
-//                log.error("删除蓝牙解锁失败:{} {}", delete.getMsg(), order.getOrderNumber());
-//            }
-//        }
+        String token = redisService.getCacheObject("rt:bluetooth:unlock:order:" + orderId);
+        if(StringUtils.isNotBlank(token)){
+            redisService.deleteObject("rt:bluetooth:unlock:" + token);
+            redisService.deleteObject("rt:bluetooth:unlock:order:" + orderId);
+            XpVehicle xpVehicle = xpVehicleClient.queryById(order.getVehicleId()).getData();
+            BluetoothDeliverVo vo = new BluetoothDeliverVo();
+            vo.setCredential(token);
+            vo.setVin(xpVehicle.getVehicleVin());
+            vo.setPassengerUid(order.getAppUserId());
+            BaseVehicleUserDto delete = bluetoothUnlockClient.delete(vo);
+            if(null == delete || delete.getCode() != 0){
+                log.error("删除蓝牙解锁失败:{} {}", delete.getMsg(), order.getOrderNumber());
+            }
+        }
 
         // 根据订单所属开通城市id 查询定价
         XpPricing pricing = bootCommonService.getXpPricing(order.getCityId(), order.getVehicleId());
@@ -3826,17 +3829,17 @@
                 //开始下发蓝牙token
                 BluetoothDeliverVo vo = new BluetoothDeliverVo();
                 vo.setCredential(token);
-                vo.setVim(vehicle.getVehicleVin());
+                vo.setVin(vehicle.getVehicleVin());
                 vo.setPassengerUid(order.getAppUserId());
-//                BaseVehicleUserDto deliver = bluetoothUnlockClient.deliver(vo);
-//                if(null == deliver){
-//                    throw new ServiceException("下发蓝牙token失败");
-//                }
-//                if(deliver.getCode() != 0){
-//                    log.error("下发蓝牙token失败:{} {}", deliver.getMsg(), order.getOrderNumber());
-//                    throw new ServiceException(deliver.getMsg());
-//                }
-//                log.info("下发蓝牙token成功:{} {}", deliver.getData(), order.getOrderNumber());
+                BaseVehicleUserDto deliver = bluetoothUnlockClient.deliver(vo);
+                if(null == deliver){
+                    throw new ServiceException("下发蓝牙token失败");
+                }
+                if(deliver.getCode() != 0){
+                    log.error("下发蓝牙token失败:{} {}", deliver.getMsg(), order.getOrderNumber());
+                    throw new ServiceException(deliver.getMsg());
+                }
+                log.info("下发蓝牙token成功:{} {}", deliver.getData(), order.getOrderNumber());
             }
 
             if (order.getStatus() == 2) {

--
Gitblit v1.7.1