From d4f8d30d1c6e4397dbfbdbb759cc66132913dd53 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 13 三月 2026 11:34:35 +0800
Subject: [PATCH] 修改计费规则
---
xp-robotaxi-push-message-boot/pom.xml | 10 ++--
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java | 59 +++++++++++++++++------------
xp-robotaxi-automatic-pilot-boot/pom.xml | 10 -----
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java | 1
xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/utils/GDMapGeocodingUtil.java | 6 +-
5 files changed, 43 insertions(+), 43 deletions(-)
diff --git a/xp-robotaxi-automatic-pilot-boot/pom.xml b/xp-robotaxi-automatic-pilot-boot/pom.xml
index 8be332c..da3ab04 100644
--- a/xp-robotaxi-automatic-pilot-boot/pom.xml
+++ b/xp-robotaxi-automatic-pilot-boot/pom.xml
@@ -143,16 +143,6 @@
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
-<!-- <plugin>-->
-<!-- <groupId>org.apache.maven.plugins</groupId>-->
-<!-- <artifactId>maven-surefire-plugin</artifactId>-->
-<!-- <configuration>-->
-<!-- <argLine>-->
-<!-- --add-opens java.base/java.lang=ALL-UNNAMED-->
-<!-- --add-opens java.base/java.util=ALL-UNNAMED-->
-<!-- </argLine>-->
-<!-- </configuration>-->
-<!-- </plugin>-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
diff --git a/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java b/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
index 374bfb6..ae9a8b9 100644
--- a/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
+++ b/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
@@ -837,7 +837,6 @@
//下车完成
buildPushOrderStatus(orderId, OrderStatusEnum.APPROVAL_REJECTION, sequence);
xpOrderClient.updateOrderStatus(Long.parseLong(orderId.contains("XU") ? orderId.substring(2) : orderId), OrderStatusEnum.APPROVAL_REJECTION.getCode());
-
// 下发巡游任务
R<XpOrder> xpOrderR = xpOrderClient.queryOrderById(Long.parseLong(orderId));
if(xpOrderR.getCode()==200){
diff --git a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/utils/GDMapGeocodingUtil.java b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/utils/GDMapGeocodingUtil.java
index 75483cb..0eb8c08 100644
--- a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/utils/GDMapGeocodingUtil.java
+++ b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/utils/GDMapGeocodingUtil.java
@@ -254,10 +254,10 @@
if(routePlanRule!=null){
params.put("strategy", routePlanRule);
}
-
+ log.info("高德地图接口:{}", url);
+ log.info("高德地图参数:{}", params);
String post = HttpUtils.post(url, JSON.toJSONString(params));
- System.out.println("高德地图返回结果:"+ post);
-// String forObject = restTemplate.getForObject(url, String.class, params);
+ log.info("高德地图返回结果:"+ post);
JSONObject jsonObject = JSON.parseObject(post);
String data = jsonObject.getString("data");
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 cf6c106..f433dd1 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
@@ -1476,19 +1476,19 @@
throw new ServiceException("当前城市未配置定价规则", I18nKeyConstant.ORDER_PRICING_NOT_EXISTS);
}
// 费用
-// // 查询订单轨迹
-// List<OrderTrajectory> trajectories = mongoTemplate.find(
-// new Query(Criteria.where("orderId").is(orderId))
-// .with(Sort.by(Sort.Direction.ASC, "locatetime")),
-// OrderTrajectory.class
-// );
-// List<TaxiPricingDemoService.GpsPoint> gpsPoints = new ArrayList<>();
-// for (OrderTrajectory trajectory : trajectories) {
-// TaxiPricingDemoService.GpsPoint point = new TaxiPricingDemoService.GpsPoint(trajectory.getDistance(), trajectory.getLocatetime());
-// gpsPoints.add(point);
-// }
- // 补充临时轨迹数据
- List<TaxiPricingDemoService.GpsPoint> gpsPoints = TaxiPricingDemoService.createMockGpsPoints(DateUtils.toDate(order.getCreateTime()));
+ // 查询订单轨迹
+ List<OrderTrajectory> trajectories = mongoTemplate.find(
+ new Query(Criteria.where("orderId").is(orderId))
+ .with(Sort.by(Sort.Direction.ASC, "locatetime")),
+ OrderTrajectory.class
+ );
+ List<TaxiPricingDemoService.GpsPoint> gpsPoints = new ArrayList<>();
+ for (OrderTrajectory trajectory : trajectories) {
+ TaxiPricingDemoService.GpsPoint point = new TaxiPricingDemoService.GpsPoint(trajectory.getDistance(), trajectory.getLocatetime());
+ gpsPoints.add(point);
+ }
+// 补充临时轨迹数据
+// List<TaxiPricingDemoService.GpsPoint> gpsPoints = TaxiPricingDemoService.createMockGpsPoints(DateUtils.toDate(order.getCreateTime()));
TaxiPricingDemoService.PricingConfig config = new TaxiPricingDemoService.PricingConfig();
@@ -1529,11 +1529,26 @@
paramNum5 = jsonObject.getDouble("num5");
break;
}
-
-
}
+ //一口价
+ if(pricing.getPricingType() == 2){
+ JSONObject basicPricingJson = JSONObject.parseObject(pricing.getBasicPricingJson());
+ String num1 = "00:00";
+ String num2 = "23:59";
+ String num3 = basicPricingJson.getString("num1");
+ String num4 = basicPricingJson.getString("num2");
+ String num5 = basicPricingJson.getString("num3");
+ String num6 = basicPricingJson.getString("num4");
+ String num7 = basicPricingJson.getString("num5");
+ config.normals.add(new TaxiPricingDemoService.PricingRule("普通时段", num1, num2, Double.parseDouble(num3), Double.parseDouble(num4), Double.parseDouble(num5), Double.parseDouble(num6), Double.parseDouble(num7)));
+ paramNum4 = basicPricingJson.getDouble("num2");
+ paramNum5 = basicPricingJson.getDouble("num3");
+ }
+
+
+ //动态计费
if (pricing.getPricingType() == 1) {
JSONObject basicPricingJson = JSONObject.parseObject(pricing.getBasicPricingJson());
config.peaks.add(new TaxiPricingDemoService.PricingRule("高峰期", basicPricingJson.getString("num21").split(" - ")[0], basicPricingJson.getString("num21").split(" - ")[1], Double.parseDouble(basicPricingJson.getString("num23")),paramNum4, paramNum5, Double.parseDouble(basicPricingJson.getString("num24")), Double.parseDouble(basicPricingJson.getString("num25"))));
@@ -1551,17 +1566,14 @@
TaxiPricingDemoService.TaxiPricingService service = new TaxiPricingDemoService.TaxiPricingService();
-
Integer holidayToday = holidayUtil.isHolidayToday();
-
-
Map<String, BigDecimal> bill = service.calculateOrderPrice(DateUtils.toDate(order.getBoardingTime()), order.getMileageKilometers(), gpsPoints, config,holidayToday);
- System.err.println("======= 订单计费账单 =======");
- bill.forEach((detail, price) -> System.err.println(detail + ": " + price + " 元"));
+ log.info("======= 订单计费账单 =======");
+ bill.forEach((detail, price) -> log.info(detail + ": " + price + " 元"));
BigDecimal totalAmount = bill.values().stream().reduce(BigDecimal.ZERO, BigDecimal::add);
- System.err.println("--------------------------");
- System.err.println("应付总额: " + totalAmount + " 元");
+ log.info("--------------------------");
+ log.info("应付总额: " + totalAmount + " 元");
BigDecimal startMoney = BigDecimal.ZERO;
// 默认费率1
double priceRate = 1;
@@ -1789,8 +1801,7 @@
if (vehicle != null) {
// 修改车辆状态
vehicle.setState(0);
-
-
+ //发送巡游订单
addCruiseMission(vehicle, order);
// // 获取配置 根据配置判断是否该收车 如果是则找到收车点位进行收车操作
// R<XpTaskRule> xpTaskRuleR = xpTaskRuleClient.queryDetail();
diff --git a/xp-robotaxi-push-message-boot/pom.xml b/xp-robotaxi-push-message-boot/pom.xml
index 345cd0b..66d7cab 100644
--- a/xp-robotaxi-push-message-boot/pom.xml
+++ b/xp-robotaxi-push-message-boot/pom.xml
@@ -108,11 +108,11 @@
</exclusion>
</exclusions>
</dependency>
-<!-- <dependency>-->
-<!-- <groupId>org.apache.shardingsphere</groupId>-->
-<!-- <artifactId>shardingsphere-transaction-base-seata-at</artifactId>-->
-<!-- <version>5.2.1</version>-->
-<!-- </dependency>-->
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-transaction-base-seata-at</artifactId>
+ <version>5.2.1</version>
+ </dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
--
Gitblit v1.7.1