From 8d5f2e4948c9aa18e8024232e3f6dcd712be61ae Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期日, 01 三月 2026 07:41:43 +0800
Subject: [PATCH] 修改bug

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java |   20 +++++++++-----------
 1 files changed, 9 insertions(+), 11 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 ebfdb4b..dcd2236 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
@@ -1880,10 +1880,11 @@
         if (StringUtils.isEmpty(oldLocation)) {
             // 首次定位
             xpOrder.setMileageKilometers(0D);
+            xpOrder.setAppUserId(null);
             this.updateById(xpOrder);
             orderTrajectory.setDistance(0D);
             // 存储mongo数据
-            orderTrajectoryService.create(orderTrajectory);
+            mongoTemplate.save(orderTrajectory);
             // 存储首次定位
             redisService.setCacheObject(CacheConstants.ORDER_OLD_LOCATION + orderTrajectory.getOrderId(), orderTrajectory.getLocation());
         } else {
@@ -1892,11 +1893,12 @@
                 Double distance1 = distance.get("WGS84");
                 if (distance1 > 50 && xpOrder.getStatus() == 6) {//大于50米表示在移动,且在服务中的时候记录里程
                     xpOrder.setMileageKilometers(BigDecimal.valueOf(xpOrder.getMileageKilometers()).add(new BigDecimal(distance1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
+                    xpOrder.setAppUserId(null);
                     this.updateById(xpOrder);
                     // 存储本次距离
                     orderTrajectory.setDistance(distance1);
                     // 存储mongo数据
-                    orderTrajectoryService.create(orderTrajectory);
+                    mongoTemplate.save(orderTrajectory);
                 }
             } else {
                 log.error("调用高德计算距离出错");
@@ -1930,15 +1932,11 @@
             }
 
         }
-//        List<OrderTrajectory> trajectories = mongoTemplate.find(
-//                new Query(Criteria.where("orderId").is(orderId))
-//                        .with(Sort.by(Sort.Direction.ASC, "locatetime")),
-//                OrderTrajectory.class
-//        );
-        List<TaxiPricingDemoService.GpsPoint> mockGpsPoints = TaxiPricingDemoService.createMockGpsPoints(DateUtils.toDate(order.getCreateTime()));
-
-        // 生成轨迹记录
-        List<OrderTrajectory> trajectories = TrajectoryGenerator.generateTrajectory(mockGpsPoints);
+        List<OrderTrajectory> trajectories = mongoTemplate.find(
+                new Query(Criteria.where("orderId").is(orderId))
+                        .with(Sort.by(Sort.Direction.ASC, "locatetime")),
+                OrderTrajectory.class
+        );
         orderDetailVo.setTrajectories(trajectories);
         if (order.getTripBegin() != null && order.getTripEnd() != null) {
             // 计算两个时间相差多少分钟

--
Gitblit v1.7.1