From 00ccfc558eb39fb24486b05d452d6c3f3c9a7685 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 13 二月 2026 17:05:46 +0800
Subject: [PATCH] bug修改,计算费用工具类
---
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java | 19 +++++++++++--------
1 files changed, 11 insertions(+), 8 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 fdfcc32..120faad 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
@@ -32,6 +32,7 @@
import com.xiaopeng.api.model.operation.XpGeoQueryEntity;
import com.xiaopeng.api.model.operation.XpFeedbackType;
import com.xiaopeng.api.model.operation.XpPoint;
+import com.xiaopeng.api.model.operation.XpPricing;
import com.xiaopeng.api.model.order.XpOrder;
import com.xiaopeng.api.model.order.XpOrderCancel;
import com.xiaopeng.api.model.order.XpOrderEvaluate;
@@ -921,6 +922,12 @@
userVehicleClient.cancelTaxiPassenger(cancelTaxiPassengerVo);
}
+ // 根据订单所属开通城市id 查询定价
+ R<XpPricing> pricingByCityId = xpPricingClient.getPricingByCityId(order.getCityId());
+ XpPricing pricing = pricingByCityId.getData();
+ if (pricing == null) {
+ throw new ServiceException("当前城市未配置定价规则", I18nKeyConstant.ORDER_PRICING_NOT_EXISTS);
+ }
// 费用
// 查询订单轨迹
List<OrderTrajectory> trajectories = mongoTemplate.find(
@@ -930,7 +937,7 @@
);
List<TaxiPricingDemoService.GpsPoint> gpsPoints = new ArrayList<>();
for (OrderTrajectory trajectory : trajectories) {
- TaxiPricingDemoService.GpsPoint point = new TaxiPricingDemoService.GpsPoint(trajectory.getDistance(),trajectory.getLocatetime() );
+ TaxiPricingDemoService.GpsPoint point = new TaxiPricingDemoService.GpsPoint(trajectory.getDistance(), trajectory.getLocatetime());
gpsPoints.add(point);
}
TaxiPricingDemoService.PricingConfig config = new TaxiPricingDemoService.PricingConfig();
@@ -938,6 +945,7 @@
config.night = new TaxiPricingDemoService.PricingRule("夜间行驶", "14:47", "14:48", 18.0, 3.0, 5.0, 3.5, 1.0);
config.holiday = new TaxiPricingDemoService.PricingRule("节假日", "18:47", "18:48", 18.0, 3.0, 5.0, 4, 2.0);
config.normals.add(new TaxiPricingDemoService.PricingRule("普通时段", "14:46", "14:47", 10.0, 3.0, 5.0, 2.4, 0.5));
+ JSONArray objects = JSONArray.parseArray(pricing.getStartingFareJson());
config.normals.add(new TaxiPricingDemoService.PricingRule("普通时段", "14:48", "17:59", 10.0, 3.0, 5.0, 2.4, 0.5));
// --- 远途加价区间配置 (关键修改) ---
@@ -958,12 +966,7 @@
System.err.println("应付总额: " + totalAmount + " 元");
// // 计算实际价格
-// // 根据订单所属开通城市id 查询定价
-// R<XpPricing> pricingByCityId = xpPricingClient.getPricingByCityId(order.getCityId());
-// XpPricing pricing = pricingByCityId.getData();
-// if (pricing == null) {
-// throw new ServiceException("当前城市未配置定价规则", I18nKeyConstant.ORDER_PRICING_NOT_EXISTS);
-// }
+
// // 查询订单轨迹
// List<OrderTrajectory> trajectories = mongoTemplate.find(
// new Query(Criteria.where("orderId").is(orderId))
@@ -1689,7 +1692,7 @@
order.setAcceptanceTime(LocalDateTime.now());
R<XpVehicle> byVehicleVin = xpVehicleClient.findByVehicleVin(dto.getXpVehicleVin());
- if (byVehicleVin.getCode()==200){
+ if (byVehicleVin.getCode() == 200) {
order.setVehicleId(byVehicleVin.getData().getId());
}
order.setStatus(2);
--
Gitblit v1.7.1