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