From c96fbe6b0aeb413a17c429133ee6d81d138144b9 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 09 六月 2026 10:58:52 +0800
Subject: [PATCH] Merge branch '1.0' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.0
---
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java | 40 +++++++++++++++++++++++-----------------
1 files changed, 23 insertions(+), 17 deletions(-)
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 1dd278f..dcd3acb 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
@@ -337,8 +337,10 @@
dto.setOrderType(orderType);
R<?> r = xpOrderClient.popOrder(dto);
if(200 != r.getCode()){
+ XpOrder xpOrder = xpOrderClient.queryOrderById(Long.valueOf(orderId)).getData();
//业务执行失败,给差车端发送取消任务报文,继续执行巡游任务
PushOrderDto pushOrderDto = new PushOrderDto();
+ pushOrderDto.setEndTaskId(xpOrder.getXpuStartTaskId());
pushOrderDto.setOrderId(orderId);
pushOrderDto.setVin(vin);
pushOrderDto.setOperation_type(OrderOperationType.CLOUD_CANCEL_ORDER);
@@ -996,24 +998,28 @@
R<XpCruiseOrder> cruiseOrder = xpCruiseOrderClient.getCruiseOrder(Long.parseLong(orderId.substring(2)));
XpCruiseOrder xpCruiseOrder = cruiseOrder.getData();
- origin.setLongitude(xpCruiseOrder.getStartLon());
- origin.setLatitude(xpCruiseOrder.getStartLat());
- destination.setLongitude(xpCruiseOrder.getEndLon());
- destination.setLatitude(xpCruiseOrder.getEndLat());
+ Object cacheObject = redisService.getCacheObject("CRUISE_ROUTE:" + xpCruiseOrder.getVehicleId());
+ if(null != cacheObject){
+ RouteVo routeVo = JSON.parseObject(cacheObject.toString(), RouteVo.class);
+ routeID = routeVo.getRouteID();
+ }else{
+ origin.setLongitude(xpCruiseOrder.getStartLon());
+ origin.setLatitude(xpCruiseOrder.getStartLat());
+ destination.setLongitude(xpCruiseOrder.getEndLon());
+ destination.setLatitude(xpCruiseOrder.getEndLat());
- OrderRouteAndFareDto dto = new OrderRouteAndFareDto();
- dto.setOrderId(Long.parseLong(orderId.substring(2)));
- dto.setOrigin(origin);
- dto.setDestination(destination);
- dto.setRouteType(3);
- R<RouteVo> routeVoR = xpMapClient.getOrderDistanceAndDuration(dto);
- if (200 != routeVoR.getCode()) {
- throw new RuntimeException("获取订单线路和运费失败");
+ OrderRouteAndFareDto dto = new OrderRouteAndFareDto();
+ dto.setOrderId(Long.parseLong(orderId.substring(2)));
+ dto.setOrigin(origin);
+ dto.setDestination(destination);
+ dto.setRouteType(3);
+ R<RouteVo> routeVoR = xpMapClient.getOrderDistanceAndDuration(dto);
+ if (200 != routeVoR.getCode()) {
+ throw new RuntimeException("获取订单线路和运费失败");
+ }
+ RouteVo routeVo = routeVoR.getData();
+ routeID = routeVo.getRouteID();
}
- RouteVo routeVo = routeVoR.getData();
- routeID = routeVo.getRouteID();
-
-
vehicleId = xpCruiseOrder.getVehicleId();
}
} else if(orderId.contains("TEST")){
@@ -1608,7 +1614,7 @@
cruisePointDto.setPointId(newXpCruiseOrder.getStartPointId());
cruisePointDto.setOrderReverse(xpCruiseOrder.getOrderReverse());
R<XpCruiseOrder> cruisePoint = xpCruisePlanClient.getCruisePoint(cruisePointDto);
- if(cruisePoint!=null){
+ if(cruisePoint!=null && 200 == cruisePoint.getCode()){
XpCruiseOrder cruiseOrder1 = cruisePoint.getData();
//不停车替换新任务
cruiseOrder1.setLastOrderId1("XU" + xpCruiseOrder.getId());
--
Gitblit v1.7.1