From f443bf994990854466787e2acbc983fb47cea3e4 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 16 四月 2026 16:00:50 +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 | 41 +++++++++++++++++++++++++++--------------
1 files changed, 27 insertions(+), 14 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 df5e3d1..5f5c3e9 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
@@ -13,11 +13,10 @@
import com.xiaopeng.api.dto.operation.CruisePointDto;
import com.xiaopeng.api.dto.operation.LonLatDto;
import com.xiaopeng.api.dto.operation.ReassignOrderDTO;
-import com.xiaopeng.api.dto.order.AddCruiseMissionDto;
import com.xiaopeng.api.dto.order.PopOrderDto;
import com.xiaopeng.api.dto.pushMessage.PushOrderRouteDTO;
import com.xiaopeng.api.dto.pushMessage.SendMessageDTO;
-import com.xiaopeng.api.dto.vehicleConvoy.UpdateVehicleStateDto;
+import com.xiaopeng.api.feignClient.automaticPilot.OrderMissionClient;
import com.xiaopeng.api.feignClient.automaticPilot.VehicleBuriedPointClient;
import com.xiaopeng.api.feignClient.maintenance.XpTaskClient;
import com.xiaopeng.api.feignClient.map.XpMapClient;
@@ -63,6 +62,7 @@
import javax.annotation.Resource;
import java.util.*;
import java.util.concurrent.*;
+import java.util.function.Consumer;
/**
@@ -417,8 +417,8 @@
mongoTemplate.updateFirst(new Query(Criteria.where("vin").is(vin)), update, VehiclePosition.class);
}
//调用推送服务接口,给乘客推送剩余轨迹和里程时长
+ RtTripInfo rtTripInfo = systemRuntimeStatus.getRunningOrderStatusInfo().getRtTripInfo();
if (null != orderId && !order_id.contains("XU")) {
- RtTripInfo rtTripInfo = systemRuntimeStatus.getRunningOrderStatusInfo().getRtTripInfo();
PushOrderRouteDTO dto = new PushOrderRouteDTO();
dto.setOrderId(orderId);
dto.setRouteType(1);
@@ -440,6 +440,12 @@
//只有乘客订单需要推送剩余导航数据
if(!order_id.contains("TEST")){
xpPushMessageClient.pushOrderRoute(dto);//存储历史轨迹
+ // 给连环派单的用户推送
+ Long nextOrderId = redisService.getCacheObject(CacheConstants.nextOrder(order_id));
+ if (null != nextOrderId){
+ dto.setOrderId(orderId);
+ xpPushMessageClient.pushOrderRoute(dto);
+ }
xpOrderClient.saveVehicleLocation(orderTrajectory);
}else{
testOrderClient.saveVehicleLocation(orderTrajectory);
@@ -1100,8 +1106,8 @@
}
- ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(20);
-
+ ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(40);
+ @Resource OrderMissionClient orderMissionClient;
/**
* 订单状态更新事件
* @param msgContent
@@ -1196,16 +1202,23 @@
log.info("到达目的地,不做任何处理:{}", orderId);
break;
case ORDER_WAITING_FOR_DROPOFF:
- // 根据车辆id查询订单,如果未完成订单数量不唯一则下发循环订单任务
- List ret = new ArrayList(2);//TODO
- if(ret.size() > 1){
+ Long id = redisService.getCacheObject(CacheConstants.nextOrder(orderId));
+ if(id != null){
scheduler.schedule(() -> {
- //下发循环订单任务
-// xpOrderClient.createLoopOrderTask(vin, orderId);
- log.info("下发循环订单任务:{}", orderId);
- // 修改订单状态,和推送消息的状态
- }, 3, TimeUnit.SECONDS);
-
+ XpOrder xpOrder = xpOrderClient.queryOrderById(id).getData();
+ XpVehicle xpVehicle = xpVehicleClient.queryById(xpOrder.getVehicleId()).getData();
+ PushOrderDto pushOrderDto = new PushOrderDto();
+ pushOrderDto.setOrderId(xpOrder.getId().toString());
+ pushOrderDto.setStartLatitude(xpOrder.getStartLat());
+ pushOrderDto.setStartLongitude(xpOrder.getStartLon());
+ pushOrderDto.setEndLatitude(xpOrder.getEndLat());
+ pushOrderDto.setEndLongitude(xpOrder.getEndLon());
+ pushOrderDto.setEndPoiName(xpOrder.getEndPointName());
+ pushOrderDto.setOrderType(OrderType.USER_ORDER);
+ pushOrderDto.setStage(1);
+ pushOrderDto.setVin(xpVehicle.getVehicleVin());
+ orderMissionClient.pushOrder(pushOrderDto);
+ }, 3, TimeUnit.MINUTES);
break;
}
--
Gitblit v1.7.1