From cf7424ad3ffcb4720f93175ccbaa60c7c0b24c6c Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期六, 28 二月 2026 23:32:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java |   44 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 37 insertions(+), 7 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 7acaeb5..3729ba3 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
@@ -358,7 +358,7 @@
             wrapper.ge(XpOrder::getCreateTime, LocalDateTime.of(query.getStartTime(), LocalTime.MIN));
         }
         if (Objects.nonNull(query.getEndTime())) {
-            wrapper.ge(XpOrder::getCreateTime, LocalDateTime.of(query.getEndTime(), LocalTime.MAX));
+            wrapper.le(XpOrder::getCreateTime, LocalDateTime.of(query.getEndTime(), LocalTime.MAX));
         }
         wrapper.orderByDesc(XpOrder::getCreateTime);
         return wrapper;
@@ -508,8 +508,8 @@
      */
     private void cancelOrder(XpOrder order) {
         // 1. 更新订单状态为已取消(0)
-        order.setStatus(0);
-        this.updateById(order);
+        lambdaUpdate().set(XpOrder::getStatus, 0)
+                .eq(XpOrder::getId, order.getId()).update();
 
         // 2. 保存取消记录
         XpOrderCancel orderCancel = new XpOrderCancel();
@@ -831,7 +831,8 @@
     @Override
     public List<XpHistoryStartPointsVo> getHistoryStartPoints(String uid, double lon, double lat) {
         //
-        List<XpOrder> xpOrders = this.baseMapper.selectList(new LambdaQueryWrapper<XpOrder>().eq(XpOrder::getAppUserId, Long.parseLong(uid)).orderByDesc(BaseModel::getCreateTime).last("LIMIT 10"));
+        List<XpOrder> xpOrders = this.baseMapper.getHistoryStartPoints(Long.valueOf(uid));
+//        selectList(new LambdaQueryWrapper<XpOrder>().eq(XpOrder::getAppUserId, Long.parseLong(uid)).orderByDesc(BaseModel::getCreateTime).last("LIMIT 10"));
         if (xpOrders.isEmpty()) {
             return Collections.emptyList();
         }
@@ -839,14 +840,28 @@
         List<Long> startPointsIds = xpOrders.stream().map(XpOrder::getStartPointId).collect(Collectors.toList());
 
         R<List<XpHistoryStartPointsVo>> r = xpPointClient.getHistoryStartPoints(new HistoryStartPointsDto(startPointsIds, lon, lat));
-        return r.getData();
+
+
+        List<XpHistoryStartPointsVo> data = r.getData();
+
+        for (XpHistoryStartPointsVo datum : data) {
+            xpOrders.stream().filter(e->e.getEndPointId().equals(datum.getId())).findFirst().ifPresent(
+                    order->{
+                        datum.setNum(order.getNum());
+                    }
+            );
+        }
+        data =  data.stream().sorted(Comparator.comparingInt(XpHistoryStartPointsVo::getNum).reversed()).collect(Collectors.toList());
+
+        return data;
 
     }
 
     @Override
     public List<XpHistoryEndPointsVo> getHistoryEndPoints(String uid, double lon, double lat) {
         //
-        List<XpOrder> xpOrders = this.baseMapper.selectList(new LambdaQueryWrapper<XpOrder>().eq(XpOrder::getAppUserId, Long.parseLong(uid)).orderByDesc(BaseModel::getCreateTime).last("LIMIT 10"));
+        List<XpOrder> xpOrders = this.baseMapper.getHistoryEndPoints(Long.valueOf(uid));
+//        selectList(new LambdaQueryWrapper<XpOrder>().eq(XpOrder::getAppUserId, Long.parseLong(uid)).orderByDesc(BaseModel::getCreateTime).last("LIMIT 10"));
         if (xpOrders.isEmpty()) {
             return Collections.emptyList();
         }
@@ -854,7 +869,19 @@
         List<Long> endPointsIds = xpOrders.stream().map(XpOrder::getEndPointId).collect(Collectors.toList());
 
         R<List<XpHistoryEndPointsVo>> r = xpPointClient.getHistoryEndPoints(new HistoryEndPointsDto(endPointsIds, lon, lat));
-        return r.getData();
+
+        List<XpHistoryEndPointsVo> data = r.getData();
+
+        for (XpHistoryEndPointsVo datum : data) {
+            xpOrders.stream().filter(e->e.getEndPointId().equals(datum.getId())).findFirst().ifPresent(
+                    order->{
+                        datum.setNum(order.getNum());
+                    }
+            );
+        }
+        data =  data.stream().sorted(Comparator.comparingInt(XpHistoryEndPointsVo::getNum).reversed()).collect(Collectors.toList());
+
+        return data;
 
     }
 
@@ -943,6 +970,7 @@
         }
         if(order.getStatus()==1){
             order.setStatus(0);
+            order.setAppUserId(null);
             baseMapper.updateById(order);
             return;
         }
@@ -1136,6 +1164,7 @@
                 );
                 break;
         }
+        xpOrder.setAppUserId(null);
         this.updateById(xpOrder);
         return R.ok();
     }
@@ -1979,6 +2008,7 @@
                 xpGeoQueryEntity.setOrderId(split[0]);
                 // 存mongo数据
                 xpPricingClient.updateXpGeoQueryEntity(split[0]);
+                order.setAppUserId(null);
                 this.updateById(order);
 
                 // 修改车辆信息

--
Gitblit v1.7.1