From acb114190c6e6843a071c6ce50b1e28027adc862 Mon Sep 17 00:00:00 2001
From: yyy <1083599556@qq.com>
Date: 星期四, 07 五月 2026 10:38:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/1.0' into 1.0

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java |   41 +++++++++++++++++++++++++++++++++++++----
 1 files changed, 37 insertions(+), 4 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 2bdfd0c..339ca80 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
@@ -56,6 +56,7 @@
 import com.xiaopeng.api.vo.operation.NearestNextVo;
 import com.xiaopeng.api.vo.operation.RouteVo;
 import com.xiaopeng.api.vo.order.*;
+import com.xiaopeng.api.vo.order.FareBreakdownVo;
 import com.xiaopeng.api.vo.vehicleConvoy.AddTaxiPassengerVo;
 import com.xiaopeng.api.vo.vehicleConvoy.BluetoothDeliverVo;
 import com.xiaopeng.api.vo.vehicleConvoy.CancelTaxiPassengerVo;
@@ -94,10 +95,7 @@
 import com.xiaopeng.order.service.*;
 import com.xiaopeng.order.utils.*;
 import com.xiaopeng.order.utils.holiday.HolidayUtil;
-import com.xiaopeng.order.vo.OrderDetailVo;
-import com.xiaopeng.order.vo.OrderInfoVo;
-import com.xiaopeng.order.vo.UpdateOrderStatusVo;
-import com.xiaopeng.order.vo.UserOrderListVo;
+import com.xiaopeng.order.vo.*;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shardingsphere.transaction.annotation.ShardingSphereTransactionType;
@@ -4483,4 +4481,39 @@
 
         return R.ok();
     }
+
+    @Override
+    public UserOrderInfoVo getOrderHistoryInfo(Long orderId) {
+        XpOrder xpOrder = this.getById(orderId);
+        UserOrderInfoVo vo = new UserOrderInfoVo();
+        vo.setOrderId(xpOrder.getId());
+        vo.setOrderCreatedAt(xpOrder.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+        vo.setDispatchStartAt("");
+        vo.setDispatchSuccessAt(xpOrder.getAcceptanceTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+        vo.setVehicleArrivedAt(xpOrder.getArrivalTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+        vo.setFreeWaitExpiredAt("");
+        vo.setVehicleUnlockedAt("");
+        vo.setDoorOpenedAt(Arrays.asList(""));
+        vo.setDoorClosedAt(Arrays.asList(""));
+        vo.setTripConfirmedAt(xpOrder.getTripBegin().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+        vo.setSafetybeltUnlockedAt(Arrays.asList(""));
+        vo.setArrivedDestinationAt("");
+        vo.setDropoffDoorOpenedAt(Arrays.asList(""));
+        vo.setDropoffTrunkOpenedAt(Arrays.asList(""));
+        vo.setDropoffDoorClosedAt(Arrays.asList(""));
+        vo.setTripEndedAt(xpOrder.getTripEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+        vo.setPaymentCompletedAt("");
+        XpOrderEvaluate orderEvaluate = xpOrderEvaluateService.getOne(new QueryWrapper<XpOrderEvaluate>().eq("order_id", xpOrder.getId()));
+        if(null != orderEvaluate){
+            vo.setUserRatedAt(orderEvaluate.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+        }
+        XpOrderCancel xpOrderCancel = xpOrderCancelService.getOne(new QueryWrapper<XpOrderCancel>().eq("order_id", xpOrder.getId()));
+        if(null != xpOrderCancel){
+            vo.setOrderCancelledAt(xpOrderCancel.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+            vo.setCancelReasonType(xpOrderCancel.getCancelSource() == 1 ? "用户取消" : xpOrderCancel.getCancelSource() == 4 ? "超时取消" : "系统取消");
+        }
+        vo.setSafetyAlertTriggeredAt("");
+        vo.setRemoteTakeoverAt("");
+        return vo;
+    }
 }

--
Gitblit v1.7.1