From 0bcfca6b2561d096a2ce26e2e7200cd0768b2b6d Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 12 五月 2026 09:27:03 +0800
Subject: [PATCH] Merge branch '1.0' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.0

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java |   94 +++++++++++++++++++++++++++++++----------------
 1 files changed, 62 insertions(+), 32 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 1dc0d10..ff8ab49 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
@@ -697,7 +697,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) {
@@ -1190,6 +1191,8 @@
             pushOrderDto.setEndTaskId(order.getXpuEndTaskId());
             pushOrderDto.setVin(newVehicle.getVehicleVin());
             pushOrderDto.setOrderId(order.getId().toString());
+            pushOrderDto.setStartWaypointId(order.getStartPointId());
+            pushOrderDto.setEndWaypointId(order.getEndPointId());
             pushOrderDto.setStartLatitude(order.getStartLat());
             pushOrderDto.setStartLongitude(order.getStartLon());
             pushOrderDto.setEndLatitude(order.getEndLat());
@@ -1325,6 +1328,8 @@
             pushOrderDto.setEndTaskId(returnOrder.getXpuTaskId());
             pushOrderDto.setVin(oldVehicle.getVehicleVin());
             pushOrderDto.setOrderId("XU" + returnOrder.getId());
+            pushOrderDto.setStartWaypointId(returnOrder.getStartPointId());
+            pushOrderDto.setEndWaypointId(returnOrder.getEndPointId());
             pushOrderDto.setStartLatitude(returnOrder.getStartLat());
             pushOrderDto.setStartLongitude(returnOrder.getStartLon());
             pushOrderDto.setEndLatitude(returnOrder.getEndLat());
@@ -1668,10 +1673,19 @@
                     }
             );
         }
-        data = data.stream().sorted(Comparator.comparingInt(XpHistoryStartPointsVo::getNum).reversed()).collect(Collectors.toList());
 
-        return data;
-
+        List<XpHistoryStartPointsVo> objects = new ArrayList<XpHistoryStartPointsVo>();
+        if(!data.isEmpty()){
+            //收藏的数据
+            List<XpHistoryStartPointsVo> collect = data.stream().filter(s -> s.getIsCollect() == 1)
+                    .sorted(Comparator.comparing(XpHistoryStartPointsVo::getDistance)).collect(Collectors.toList());
+            objects.addAll(collect);
+            //非收藏的数据
+            List<XpHistoryStartPointsVo> collect1 = data.stream().filter(s -> s.getIsCollect() == 2)
+                    .sorted(Comparator.comparing(XpHistoryStartPointsVo::getDistance)).collect(Collectors.toList());
+            objects.addAll(collect1);
+        }
+        return objects;
     }
 
     @Override
@@ -1699,9 +1713,18 @@
                     }
             );
         }
-        data = data.stream().sorted(Comparator.comparingInt(XpHistoryEndPointsVo::getNum).reversed()).collect(Collectors.toList());
-
-        return data;
+        List<XpHistoryEndPointsVo> objects = new ArrayList<XpHistoryEndPointsVo>();
+        if(!data.isEmpty()){
+            //收藏的数据
+            List<XpHistoryEndPointsVo> collect = data.stream().filter(s -> s.getIsCollect() == 1)
+                    .sorted(Comparator.comparing(XpHistoryEndPointsVo::getDistance)).collect(Collectors.toList());
+            objects.addAll(collect);
+            //非收藏的数据
+            List<XpHistoryEndPointsVo> collect1 = data.stream().filter(s -> s.getIsCollect() == 2)
+                    .sorted(Comparator.comparing(XpHistoryEndPointsVo::getDistance)).collect(Collectors.toList());
+            objects.addAll(collect1);
+        }
+        return objects;
 
     }
 
@@ -1877,7 +1900,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) {
@@ -1912,7 +1936,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) {
@@ -2320,19 +2345,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());
@@ -2892,6 +2918,8 @@
         pushOrderDto.setEndTaskId(xpCruiseOrder.getXpuTaskId());
         pushOrderDto.setVin(xpCruiseOrder.getVehicleVin());
         pushOrderDto.setOrderId("XU" + xpCruiseOrder.getId());
+        pushOrderDto.setStartWaypointId(xpCruiseOrder.getStartPointId());
+        pushOrderDto.setEndWaypointId(xpCruiseOrder.getEndPointId());
         pushOrderDto.setStartLatitude(xpCruiseOrder.getStartLat());
         pushOrderDto.setStartLongitude(xpCruiseOrder.getStartLon());
         pushOrderDto.setEndLatitude(xpCruiseOrder.getEndLat());
@@ -3012,6 +3040,8 @@
         pushOrderDto.setEndTaskId(xpCruiseOrder.getXpuTaskId());
         pushOrderDto.setVin(xpCruiseOrder.getVehicleVin());
         pushOrderDto.setOrderId("XU" + xpCruiseOrder.getId());
+        pushOrderDto.setStartWaypointId(xpCruiseOrder.getStartPointId());
+        pushOrderDto.setEndWaypointId(xpCruiseOrder.getEndPointId());
         pushOrderDto.setStartLatitude(xpCruiseOrder.getStartLat());
         pushOrderDto.setStartLongitude(xpCruiseOrder.getStartLon());
         pushOrderDto.setEndLatitude(xpCruiseOrder.getEndLat());
@@ -3711,17 +3741,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