From 52c1e023e60aa53ae76d875460d11f8e02ff2bc7 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期五, 13 二月 2026 16:47:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 48 insertions(+), 0 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 a169094..ed7bf38 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
@@ -28,6 +28,7 @@
import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetVehicleClient;
import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
import com.xiaopeng.api.model.account.XpAppUser;
+import com.xiaopeng.api.model.operation.XpFeedbackType;
import com.xiaopeng.api.model.operation.XpPoint;
import com.xiaopeng.api.model.order.XpOrder;
import com.xiaopeng.api.model.order.XpOrderCancel;
@@ -69,6 +70,8 @@
import com.xiaopeng.order.service.IXpOrderReassignService;
import com.xiaopeng.order.service.IXpOrderService;
import com.xiaopeng.order.utils.holiday.HolidayUtil;
+import com.xiaopeng.order.vo.OrderDetailVo;
+import io.swagger.annotations.ApiModelProperty;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
@@ -913,6 +916,8 @@
userVehicleClient.cancelTaxiPassenger(cancelTaxiPassengerVo);
}
+ // 计算起步价
+
// // 计算实际价格
// // 根据订单所属开通城市id 查询定价
// R<XpPricing> pricingByCityId = xpPricingClient.getPricingByCityId(order.getCityId());
@@ -1588,6 +1593,49 @@
}
}
+ @Override
+ public OrderDetailVo orderDetail(Long orderId, String uid) {
+ OrderDetailVo orderDetailVo = new OrderDetailVo();
+ XpOrder order = this.getById(orderId);
+ BeanUtils.copyProperties(order, orderDetailVo);
+ // 查询车辆信息
+ XpVehicle vehicle = xpVehicleClient.queryById(order.getVehicleId()).getData();
+ if (vehicle!=null){
+ orderDetailVo.setVehicleCode(vehicle.getVehicleCode());
+ orderDetailVo.setPlateNumber(vehicle.getPlateNumber());
+ orderDetailVo.setVehicleColor(vehicle.getVehicleColor());
+ orderDetailVo.setVehiclePictures(vehicle.getVehiclePictures());
+ }
+ // 查询评价信息
+ XpOrderEvaluate evaluate = xpOrderEvaluateService.lambdaQuery().eq(XpOrderEvaluate::getOrderId, orderId)
+ .last("limit 1").one();
+ if (evaluate != null) {
+ orderDetailVo.setFeedbackPictures(evaluate.getFeedbackPictures());
+ orderDetailVo.setFeedbackContent(evaluate.getFeedbackContent());
+ orderDetailVo.setOrderRating(evaluate.getOrderRating());
+ XpFeedbackType feedbackType = xpSystemSettingClient.getFeedbackTypeById(evaluate.getFeedbackTypeId()).getData();
+ orderDetailVo.setFeedbackTypeName(feedbackType.getFeedbackType());
+ }
+ 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){
+ // 计算两个时间相差多少分钟
+ long minutesDifference = Duration.between(order.getTripBegin(), order.getTripEnd()).toMinutes();
+ orderDetailVo.setOrderTime(minutesDifference);
+ }else{
+ orderDetailVo.setOrderTime(0l);
+ }
+ if (order.getStartMileage()!=null){
+ orderDetailVo.setTotalMileage(order.getStartMileage()+(order.getMileageKilometers()!=null?order.getMileageKilometers():0D));
+
+ }
+ return orderDetailVo;
+ }
+
/**
* 获取当前用户正在执行的订单
--
Gitblit v1.7.1