From d6c0f2ed698d6cdf86a0a3a8893b4d9717f3b7b1 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 08 五月 2026 14:51:54 +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/controller/OrderMissionController.java |   35 +++++++++++++++++++++++++++++++++++
 1 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java b/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java
index cad290a..6c0d213 100644
--- a/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java
+++ b/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java
@@ -474,6 +474,41 @@
         if(StringUtils.isNotEmpty(code)){
             xpOrder = xpOrderClient.queryOrderByOrderNo(code).getData();
         }
+
+        //保存车辆实时信息到mongodb
+        VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(xpVehicle.getVehicleVin())), VehiclePosition.class);
+        if (null == vehiclePosition) {
+            log.info("【模拟接单】MongoDB无车辆位置记录,新建,vin={}", xpVehicle.getVehicleVin());
+            vehiclePosition = new VehiclePosition();
+            vehiclePosition.setVin(xpVehicle.getVehicleVin());
+            vehiclePosition.setPoint(new GeoJsonPoint(startLon, startLat));
+            vehiclePosition.setCourse(60D);
+            vehiclePosition.setAlt(100F);
+            vehiclePosition.setSpeed(50F);
+            vehiclePosition.setCurrentElectricity(80);
+            vehiclePosition.setMileageRange(300f);
+            vehiclePosition.setHasOrder(0);
+            vehiclePosition.setOrderId(orderId);
+            vehiclePosition.setTotalOdometer(10000L);
+            vehiclePosition.setAddTime(System.currentTimeMillis());
+            mongoTemplate.save(vehiclePosition);
+        }else{
+            log.info("【模拟接单】更新MongoDB车辆位置记录,vin={}", xpVehicle.getVehicleVin());
+            vehiclePosition.setOrderId(orderId);
+            Update update = new Update()
+                    .set("point", new GeoJsonPoint(startLon, startLat))
+                    .set("course", 60D)
+                    .set("alt", 100F)
+                    .set("speed", 50F)
+                    .set("currentElectricity", 80)
+                    .set("mileageRange", 300f)
+                    .set("hasOrder", 0)
+                    .set("orderId", orderId)
+                    .set("totalOdometer", 10000L)
+                    .set("addTime", System.currentTimeMillis());
+            mongoTemplate.updateFirst(new Query(Criteria.where("vin").is(xpVehicle.getVehicleVin())), update, VehiclePosition.class);
+        }
+
         orderId = xpOrder.getId();
         OrderRouteAndFareDto dto = new OrderRouteAndFareDto();
         dto.setOrderId(orderId);

--
Gitblit v1.7.1