From 5a8e031a200b7dd164d1e92cbc35de1a6a16d460 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期六, 18 四月 2026 20:12:42 +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 |   42 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 41 insertions(+), 1 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 0cbcea9..a3d98c3 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
@@ -1897,6 +1897,12 @@
             case 6:
                 // 行程开始时间
                 xpOrder.setTripBegin(LocalDateTime.now());
+                //添加预估到达时间
+                String cacheObject = redisService.getCacheObject("ORDER_NAVIGATION_END_DATA:" + xpOrder.getAppUserId());
+                if(StringUtils.isNotBlank(cacheObject)){
+                    RouteVo routeVo = JSONObject.parseObject(cacheObject, RouteVo.class);
+                    xpOrder.setEstimatedArrivalTime(LocalDateTime.now().plusSeconds(routeVo.getDuration()));
+                }
                 redisService.deleteObject("ORDER_NAVIGATION_START_DATA:" + xpOrder.getAppUserId());
                 break;
             case 7:
@@ -3847,6 +3853,40 @@
      */
     @Override
     public OrderInfoVo getOrderInfo(Long orderId) {
-        return null;
+        XpOrder xpOrder = this.getById(orderId);
+        OrderInfoVo vo = new OrderInfoVo();
+        vo.setOrderId(xpOrder.getId());
+        vo.setOrderStatus(xpOrder.getStatus());
+        XpPoint startPoint = xpPointClient.queryById(xpOrder.getStartPointId()).getData();
+        vo.setPickupAddress(startPoint.getPointAddress());
+        XpPoint endPoint = xpPointClient.queryById(xpOrder.getEndPointId()).getData();
+        vo.setDestAddress(endPoint.getPointAddress());
+        vo.setPullOverAddress(xpOrder.getGetoffAddress());
+        if(null != xpOrder.getEstimatedArrivalTime()){
+            vo.setEstimatedArrivalTime(xpOrder.getEstimatedArrivalTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+        }
+        if(null != xpOrder.getGetoffTime()){
+            vo.setActualArrivalTime(xpOrder.getGetoffTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+        }
+        if(null == xpOrder.getMileageKilometers()){
+            vo.setActualMileage(BigDecimal.valueOf(xpOrder.getMileageKilometers()));
+        }
+        vo.setTotalPrice(xpOrder.getOrderMoney());
+        vo.setStartPrice(xpOrder.getStartMoney());
+        vo.setWaitFee(xpOrder.getWaitMoney());
+        vo.setMileageFee(xpOrder.getMileageMoney());
+        vo.setDurationFee(xpOrder.getDurationMoney());
+        vo.setLongDistanceFee(xpOrder.getLongDistancemoney());
+        vo.setCouponDiscount(xpOrder.getCouponMoney());
+        vo.setActualPayment(xpOrder.getPayMoney());
+        XpVehicle xpVehicle = xpVehicleClient.queryById(xpOrder.getVehicleId()).getData();
+        if(null != xpVehicle){
+            vo.setVin(xpVehicle.getVehicleVin());
+        }
+        XpOrderCancel orderCancel = xpOrderCancelService.getOne(new QueryWrapper<XpOrderCancel>().eq("order_id", orderId));
+        if(null != orderCancel){
+            vo.setCancelReasonType(orderCancel.getCancelReason());
+        }
+        return vo;
     }
 }

--
Gitblit v1.7.1