From cf3c19b39817c464657a6505af842d99852f0689 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 21 三月 2026 19:38:45 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/utils/XpPricingUtil.java | 17 +++++++++++++----
1 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/utils/XpPricingUtil.java b/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/utils/XpPricingUtil.java
index 6cb45e3..d531192 100644
--- a/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/utils/XpPricingUtil.java
+++ b/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/utils/XpPricingUtil.java
@@ -89,7 +89,7 @@
String timeStr = dynamicPriceObj.toString();
// 判断当前距离这个时间范围的新增订单数(排除取消) / 上浮数量 算出应该增加的价格率
R<Integer> r = xpOrderClient.getOrderNum(new GetOrderNumDto(timeStr,openCityId));
- if(r.getData()==200){
+ if(r.getCode()==200){
int num = r.getData();
// X单上升一次调价
Integer orderNum = getOrderNum(jsonObject, 4);
@@ -140,8 +140,8 @@
xpPricingCardVo.setDurationPrice(durationPrice);
xpPricingCardVo.setTotalPrice(new BigDecimal(startPrice + distancePrice + durationPrice).setScale(2,RoundingMode.HALF_UP).doubleValue());
// 里程
- xpPricingCardVo.setDistance(realDistance);
- xpPricingCardVo.setDuration(realTime);
+ xpPricingCardVo.setDistance(realDistance*1000);
+ xpPricingCardVo.setDuration(realTime*60);
return xpPricingCardVo;
}
@@ -180,7 +180,7 @@
String timeStr = dynamicPriceObj.toString();
// 判断当前距离这个时间范围的新增订单数(排除取消) / 上浮数量 算出应该增加的价格率
R<Integer> r = xpOrderClient.getOrderNum(new GetOrderNumDto(timeStr,openCityId));
- if(r.getData()==200){
+ if(r.getCode()==200){
int num = r.getData();
// X单上升一次调价
Integer orderNum = getOrderNum(jsonObject, 4);
@@ -361,6 +361,9 @@
// 时长费
xpPricingCardVo.setDurationPrice((exceedTime * rule.getDouble("num17")));
+ xpPricingCardVo.setDistancePriceNormal(rule.getDouble("num2")*1000);
+
+ xpPricingCardVo.setDurationPriceNormal(rule.getDouble("num3")*60);
} else {
@@ -423,6 +426,9 @@
xpPricingCardVo.setTime(rule.getString("num22"));
}
+ xpPricingCardVo.setDistancePriceNormal(rule.getDouble("num2")*1000);
+
+ xpPricingCardVo.setDurationPriceNormal(rule.getDouble("num3")*60);
// 里程
xpPricingCardVo.setDistance(realDistance);
@@ -502,6 +508,7 @@
amount=new BigDecimal(amount).setScale(2,RoundingMode.HALF_UP).doubleValue();
// 先减去起步价重新计算
amount = amount - startPrice;
+
// 动态计算费用
startPrice= new BigDecimal(startPrice).multiply(new BigDecimal(priceRate)).setScale(2, RoundingMode.HALF_UP).doubleValue();
amount = amount+startPrice;
@@ -510,6 +517,8 @@
+ xpPricingCardVo.setDistance(xpPricingCardVo.getDistance()*1000);
+ xpPricingCardVo.setDuration(xpPricingCardVo.getDuration()*60);
return xpPricingCardVo;
--
Gitblit v1.7.1