From 12f56154798bd457d152485193d2b2143365ef65 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 12 二月 2026 18:28:44 +0800
Subject: [PATCH] 修改费用明细返回结构
---
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java | 39 +++++++++++++++++++++++++++++++++------
1 files changed, 33 insertions(+), 6 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 0b23609..d39f362 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
@@ -34,14 +34,12 @@
import com.xiaopeng.api.model.order.XpOrderEvaluate;
import com.xiaopeng.api.model.order.XpOrderReassign;
import com.xiaopeng.api.vo.account.UserCouponVo;
-import com.xiaopeng.api.vo.order.FareBreakdownVo;
-import com.xiaopeng.api.vo.order.XpHistoryEndPointsVo;
-import com.xiaopeng.api.vo.order.XpHistoryStartPointsVo;
-import com.xiaopeng.api.vo.order.XpPointInfoVo;
+import com.xiaopeng.api.vo.order.*;
import com.xiaopeng.api.vo.vehicleConvoy.CancelTaxiPassengerVo;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.core.exception.ServiceException;
import com.xiaopeng.common.core.utils.DateUtils;
+import com.xiaopeng.common.core.utils.GeodesyUtil;
import com.xiaopeng.common.core.utils.StringUtils;
import com.xiaopeng.common.core.web.domain.BaseModel;
import com.xiaopeng.common.core.web.page.PageInfo;
@@ -49,6 +47,7 @@
import com.xiaopeng.common.security.utils.SecurityUtils;
import com.xiaopeng.order.constant.I18nKeyConstant;
import com.xiaopeng.order.job.jobs.EndTripJob;
+import com.xiaopeng.order.mangodb.model.OrderTrajectory;
import com.xiaopeng.order.mapper.XpOrderMapper;
import com.xiaopeng.order.model.dto.XpOrderCommentDto;
import com.xiaopeng.order.model.dto.XpOrderPayDto;
@@ -62,11 +61,17 @@
import com.xiaopeng.order.job.base.QuartzManager;
import com.xiaopeng.order.job.base.TimeJobType;
import com.xiaopeng.order.job.jobs.OrderCancelJob;
+import com.xiaopeng.order.utils.XpPricingUtil;
import io.swagger.annotations.ApiModelProperty;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@@ -108,6 +113,10 @@
private final XpPricingClient xpPricingClient;
private final XpSystemSettingClient xpSystemSettingClient;
+ @Autowired
+ private MongoTemplate mongoTemplate;
+ @Autowired
+ private XpPricingUtil xpPricingUtil;
@Override
public OrderStatisticsDTO getOrderStatistics(StatisticsQueryDTO query) {
@@ -851,6 +860,10 @@
if (pricing == null) {
throw new ServiceException("当前城市未配置定价规则", I18nKeyConstant.ORDER_PRICING_NOT_EXISTS);
}
+// XpPricingCardVo xpPricingCardVo = xpPricingUtil.calculationPrice(
+//
+// );
+
// Long id = pricing.getId();
// Integer pricingType = pricing.getPricingType();
// String basicPricingJson = pricing.getBasicPricingJson();
@@ -883,8 +896,8 @@
//
// }
- // 计算完价格后 挑选优惠券
- GetUserCouponDto getUserCouponDto = new GetUserCouponDto();
+ // 计算完价格后 挑选优惠券
+ GetUserCouponDto getUserCouponDto = new GetUserCouponDto();
getUserCouponDto.setUserId(Long.valueOf(uid));
getUserCouponDto.setTotalAmount(order.getOrderMoney().doubleValue());
R<UserCouponVo> userCouponVoR = xpAppUserCouponClient.getUserCoupon(getUserCouponDto);
@@ -912,6 +925,18 @@
@Override
public R<FareBreakdownVo> fareBreakdown(Long orderId, String uid) {
XpOrder order = this.getById(orderId);
+ // 查询订单轨迹
+ List<OrderTrajectory> trajectories = mongoTemplate.find(
+ new Query(Criteria.where("orderId").is(orderId))
+ .with(Sort.by(Sort.Direction.ASC, "locatetime")),
+ OrderTrajectory.class
+ );
+ // 计算订单总行驶距离,单位米
+ Double totalDistance = 0.00D;
+ for (OrderTrajectory trajectory : trajectories) {
+
+
+ }
FareBreakdownVo fareBreakdownVo = new FareBreakdownVo();
// fareBreakdownVo.setStart();
// fareBreakdownVo.setMileage();
@@ -951,6 +976,7 @@
/**
* 添加订单
+ *
* @param xpOrder
* @return
*/
@@ -973,6 +999,7 @@
/**
* 获取订单数量
+ *
* @param dto
* @return
*/
--
Gitblit v1.7.1