From b1f26aebe882d31df351f875d59eefc946aee295 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 27 二月 2026 12:30:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleOperationsController.java | 42 ++++++++++++++++++++++--------------------
1 files changed, 22 insertions(+), 20 deletions(-)
diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleOperationsController.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleOperationsController.java
index 930e3f9..74d4e98 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleOperationsController.java
+++ b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleOperationsController.java
@@ -2,7 +2,9 @@
import cn.hutool.core.util.IdUtil;
import com.xiaopeng.api.dto.automaticPilot.PushOrderDto;
+import com.xiaopeng.api.dto.operation.NewCruiseOrderDto;
import com.xiaopeng.api.feignClient.automaticPilot.OrderMissionClient;
+import com.xiaopeng.api.feignClient.operation.XpCruisePlanClient;
import com.xiaopeng.api.feignClient.order.XpCruiseOrderClient;
import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
import com.xiaopeng.api.model.order.XpCruiseOrder;
@@ -52,6 +54,8 @@
private MongoTemplate mongoTemplate;
@Resource
private OrderMissionClient orderMissionClient;
+ @Autowired
+ private XpCruisePlanClient xpCruisePlanClient;
/**
* 车辆详情-车辆调度-发车 收车
@@ -71,16 +75,17 @@
// 发车
if(dto.getDepartureStatus()==1){
- // 找车辆的任务 生成巡游单子 下发命令 TODO v
-
-
-
-
+ // 找车辆的任务 生成巡游单子 下发命令
+ R<XpCruiseOrder> newCruiseOrder = xpCruisePlanClient.getNewCruiseOrder(new NewCruiseOrderDto(xpVehicle.getId(),xpVehicle.getVehicleVin(),xpVehicle.getFleetId()));
+ if(newCruiseOrder.getData()!=null){
+ // 下发命令
+ orderMissionClient.pushOrder(new PushOrderDto(xpVehicle.getVehicleVin(),newCruiseOrder.getData().getId(),null));
+ }
}else if(dto.getDepartureStatus()==3){
// 收车 关闭当前巡游单子 生成新的返程单子 找到收车站点
- xpCruiseOrderClient.updateCruiseOrder(xpVehicle.getVehicleVin());
+ R<String> r = xpCruiseOrderClient.updateCruiseOrder(xpVehicle.getVehicleVin());
// redis 获取当前最新经纬度位置
VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(xpVehicle.getVehicleVin())), VehiclePosition.class);
@@ -89,25 +94,22 @@
XpCruiseOrder xpCruiseOrder = new XpCruiseOrder();
xpCruiseOrder.setId("XU"+ IdUtil.fastUUID());
xpCruiseOrder.setVehicleId(xpVehicle.getId());
+ xpCruiseOrder.setFleetId(xpVehicle.getFleetId());
+
xpCruiseOrder.setOrderType(2);
xpCruiseOrder.setStartLon(x);
xpCruiseOrder.setStartLat(y);
- // TODO v 找到收车站点
xpCruiseOrder.setStatus(1);
+ xpCruiseOrder.setOrderReverse(1);
+ xpCruiseOrder.setLastOrderId(r.getData());
-
-
- xpCruiseOrderClient.addCruiseOrder(xpCruiseOrder);
-
- // 下发命令
- orderMissionClient.pushOrder(new PushOrderDto( xpCruiseOrder.getVehicleVin(),xpCruiseOrder.getId(),null));
-
-
-
-
-
-
-
+ // 找到收车站点
+ R<XpCruiseOrder> returnCruisePoint = xpCruisePlanClient.findReturnCruisePoint(xpCruiseOrder);
+ if(returnCruisePoint!=null){
+ xpCruiseOrderClient.addCruiseOrder(returnCruisePoint.getData());
+ // 下发命令
+ orderMissionClient.pushOrder(new PushOrderDto( xpCruiseOrder.getVehicleVin(),xpCruiseOrder.getId(),null));
+ }
}
return R.ok();
--
Gitblit v1.7.1