From 4e450dcfea37163c213eb15d1392d0f7d7953b54 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 12 三月 2026 10:56:09 +0800
Subject: [PATCH] 修改发车点位

---
 xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleOperationsController.java |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 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 a8275be..67e8844 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
@@ -74,11 +74,17 @@
         xpVehicle.setOperatingStatus(dto.getDepartureStatus());
         xpVehicleClient.updateVehicleById(xpVehicle);
 
+        VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(xpVehicle.getVehicleVin())), VehiclePosition.class);
+        if(vehiclePosition==null || vehiclePosition.getPoint()==null){
+            return R.fail("车辆位置信息不存在");
+        }
         // 发车
         if(dto.getDepartureStatus()==1){
             // 找车辆的任务  生成巡游单子 下发命令
-            R<XpCruiseOrder> newCruiseOrder = xpCruisePlanClient.getNewCruiseOrder(new NewCruiseOrderDto(xpVehicle.getId(),xpVehicle.getVehicleVin(),xpVehicle.getFleetId()));
+            R<XpCruiseOrder> newCruiseOrder = xpCruisePlanClient.getNewCruiseOrder(new NewCruiseOrderDto(xpVehicle.getId(),xpVehicle.getVehicleVin(),xpVehicle.getFleetId(),vehiclePosition.getPoint()));
             if(newCruiseOrder.getData()!=null){
+
+                xpCruiseOrderClient.addCruiseOrder(newCruiseOrder.getData());
                 // 下发命令
                 PushOrderDto pushOrderDto = new PushOrderDto();
                 pushOrderDto.setVin(xpVehicle.getVehicleVin());
@@ -98,7 +104,7 @@
             R<Long> r = xpCruiseOrderClient.updateCruiseOrder(xpVehicle.getVehicleVin());
 
             // redis 获取当前最新经纬度位置
-            VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(xpVehicle.getVehicleVin())), VehiclePosition.class);
+
             XpCruiseOrder xpCruiseOrder = new XpCruiseOrder();
             if(vehiclePosition!=null){
                 double x = vehiclePosition.getPoint().getX();
@@ -106,7 +112,6 @@
                 xpCruiseOrder.setStartLon(x);
                 xpCruiseOrder.setStartLat(y);
             }
-
             xpCruiseOrder.setVehicleId(xpVehicle.getId());
             xpCruiseOrder.setFleetId(xpVehicle.getFleetId());
             xpCruiseOrder.setOrderType(2);

--
Gitblit v1.7.1