From 397bd2b2c3dea9a28b55fb1c4394fd7765f24bfb Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 12 二月 2026 16:36:10 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/XpPricingUtil.java | 32 +++++++++++++++++++++++++++++++-
1 files changed, 31 insertions(+), 1 deletions(-)
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/XpPricingUtil.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/XpPricingUtil.java
index 6e9a560..33a1bca 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/XpPricingUtil.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/XpPricingUtil.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
+import com.xiaopeng.api.dto.order.GetOrderNumDto;
import com.xiaopeng.api.feignClient.order.XpOrderClient;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.redis.service.RedisService;
@@ -31,6 +32,35 @@
@Autowired
private XpOrderClient xpOrderClient;
+
+
+ /**
+ * 获取起步里程
+ * @param startingFareJsonStr
+ * @return
+ */
+ public static Integer getStartMileage(String startingFareJsonStr) {
+ Date date = new Date();
+ JSONArray startingFareJson = JSONObject.parseArray(startingFareJsonStr);
+ for (Object o : startingFareJson) {
+ JSONObject startingFare = (JSONObject) o;
+ Calendar calendarStart = Calendar.getInstance();
+ calendarStart.setTime(date);
+ calendarStart.set(Calendar.HOUR_OF_DAY, Integer.valueOf(startingFare.getString("num1").split(":")[0]));
+ calendarStart.set(Calendar.MINUTE, Integer.valueOf(startingFare.getString("num1").split(":")[1]));
+
+ Calendar calendarEnd = Calendar.getInstance();
+ calendarEnd.setTime(date);
+ calendarEnd.set(Calendar.HOUR_OF_DAY, Integer.valueOf(startingFare.getString("num2").split(":")[0]));
+ calendarEnd.set(Calendar.MINUTE, Integer.valueOf(startingFare.getString("num2").split(":")[1]));
+ // 找到符合条件的直接跳出循环
+ if (date.getTime() > calendarStart.getTimeInMillis() && date.getTime() < calendarEnd.getTimeInMillis()) {
+ Integer mileage = startingFare.getInteger("num4");
+ return mileage;
+ }
+ }
+ return null;
+ }
/**
@@ -66,7 +96,7 @@
// value=时间
String timeStr = dynamicPriceObj.toString();
// 判断当前距离这个时间范围的新增订单数(排除取消) / 上浮数量 算出应该增加的价格率
- R<Integer> r = xpOrderClient.getOrderNum(timeStr);
+ R<Integer> r = xpOrderClient.getOrderNum(new GetOrderNumDto(timeStr,openCityId));
if(r.getData()==200){
int num = r.getData();
// X单上升一次调价
--
Gitblit v1.7.1