From 2a889bf2b917b72fcc03104f5064cf305ce1612b Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 07 三月 2026 21:02:19 +0800
Subject: [PATCH] 修改bug
---
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java | 67 +++++++++++++++++++++++----------
1 files changed, 47 insertions(+), 20 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 52daaaf..9ccfced 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
@@ -38,6 +38,7 @@
import org.springframework.data.mongodb.core.geo.GeoJsonPoint;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.data.mongodb.core.query.Update;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
@@ -293,6 +294,7 @@
ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(1000));
Long finalOrderId = orderId;
+ Long finalOrderId1 = orderId;
threadPoolExecutor.execute(() -> {
//等待10秒后开始执行车子位移
try {
@@ -312,17 +314,29 @@
VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(vin)), VehiclePosition.class);
if (null == vehiclePosition) {
vehiclePosition = new VehiclePosition();
+ vehiclePosition.setVin(vin);
+ vehiclePosition.setPoint(new GeoJsonPoint(longitude, latitude));
+ vehiclePosition.setCourse(60D);
+ vehiclePosition.setAlt(100F);
+ vehiclePosition.setSpeed(50F);
+ vehiclePosition.setCurrentElectricity(80);
+ vehiclePosition.setMileageRange(300f);
+ vehiclePosition.setHasOrder(0);
+ vehiclePosition.setOrderId(finalOrderId1);
+ mongoTemplate.save(vehiclePosition);
+ }else{
+ vehiclePosition.setOrderId(finalOrderId1);
+ Update update = new Update()
+ .set("point", new GeoJsonPoint(longitude, latitude))
+ .set("course", 60D)
+ .set("alt", 100F)
+ .set("speed", 50F)
+ .set("currentElectricity", 80)
+ .set("mileageRange", 300f)
+ .set("hasOrder", 0)
+ .set("orderId", finalOrderId1);
+ mongoTemplate.updateFirst(new Query(Criteria.where("vin").is(vin)), update, VehiclePosition.class);
}
- vehiclePosition.setVin(vin);
- vehiclePosition.setPoint(new GeoJsonPoint(longitude, latitude));
- vehiclePosition.setCourse(60D);
- vehiclePosition.setAlt(100F);
- //车辆动态信息
- vehiclePosition.setSpeed(50F);
- vehiclePosition.setCurrentElectricity(80);
- vehiclePosition.setMileageRange(300f);
- vehiclePosition.setOrderId(finalOrderId);
- mongoTemplate.save(vehiclePosition);
//调用推送服务接口
if (null != finalOrderId) {
PushOrderRouteDTO dto = new PushOrderRouteDTO();
@@ -459,6 +473,7 @@
ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(1000));
Long finalOrderId = orderId;
+ Long finalOrderId1 = orderId;
threadPoolExecutor.execute(() -> {
//等待10秒后开始执行车子位移
try {
@@ -479,17 +494,29 @@
VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(vin)), VehiclePosition.class);
if (null == vehiclePosition) {
vehiclePosition = new VehiclePosition();
+ vehiclePosition.setVin(vin);
+ vehiclePosition.setPoint(new GeoJsonPoint(longitude, latitude));
+ vehiclePosition.setCourse(60D);
+ vehiclePosition.setAlt(100F);
+ vehiclePosition.setSpeed(50F);
+ vehiclePosition.setCurrentElectricity(80);
+ vehiclePosition.setMileageRange(300f);
+ vehiclePosition.setHasOrder(0);
+ vehiclePosition.setOrderId(finalOrderId1);
+ mongoTemplate.save(vehiclePosition);
+ }else{
+ vehiclePosition.setOrderId(finalOrderId1);
+ Update update = new Update()
+ .set("point", new GeoJsonPoint(longitude, latitude))
+ .set("course", 60D)
+ .set("alt", 100F)
+ .set("speed", 50F)
+ .set("currentElectricity", 80)
+ .set("mileageRange", 300f)
+ .set("hasOrder", 0)
+ .set("orderId", finalOrderId1);
+ mongoTemplate.updateFirst(new Query(Criteria.where("vin").is(vin)), update, VehiclePosition.class);
}
- vehiclePosition.setVin(vin);
- vehiclePosition.setPoint(new GeoJsonPoint(longitude, latitude));
- vehiclePosition.setCourse(60D);
- vehiclePosition.setAlt(100F);
- //车辆动态信息
- vehiclePosition.setSpeed(50F);
- vehiclePosition.setCurrentElectricity(80);
- vehiclePosition.setMileageRange(300f);
- vehiclePosition.setOrderId(finalOrderId);
- mongoTemplate.save(vehiclePosition);
//调用推送服务接口
if (null != finalOrderId) {
PushOrderRouteDTO dto = new PushOrderRouteDTO();
--
Gitblit v1.7.1