From 7a78cb97f96eea330dff3b222eff8d6dafc5e28a Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 12 二月 2026 23:26:27 +0800
Subject: [PATCH] fix(task-order): 修复推单逻辑中的空指针异常问题
---
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/mango/VehiclePositionService.java | 43 +++++++++++++++++++++----------------------
1 files changed, 21 insertions(+), 22 deletions(-)
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/mango/VehiclePositionService.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/mango/VehiclePositionService.java
index 2f5f86a..652694e 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/mango/VehiclePositionService.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/mango/VehiclePositionService.java
@@ -14,10 +14,10 @@
@Service
public class VehiclePositionService {
-
+
@Resource
private MongoTemplate mongoTemplate;
-
+
/**
* 查询附近指定距离内且状态正常的车辆
* @param longitude 经度
@@ -28,27 +28,26 @@
public List<VehiclePosition> findAvailableVehiclesNearby(double longitude,
double latitude,
double distanceInMeters,int num) {
- // 创建查询点
- Point referencePoint = new Point(longitude, latitude);
-
- // 设置最大距离(MongoDB使用公里或米,这里转换为公里)
- distanceInMeters = distanceInMeters / 1000;
+ try {
+ // 创建查询点
+ Point referencePoint = new Point(longitude, latitude);
- // 构建查询条件
- Query query = new Query();
- query.addCriteria(Criteria.where("point")
- .near(referencePoint)
- .maxDistance(distanceInMeters));
- query.addCriteria(Criteria.where("status").is(1)); // 运营中
- query.addCriteria(Criteria.where("state").is(0)); // 空闲中
-
- // 可以添加排序,按距离排序
- query.with(Sort.by(Sort.Direction.ASC, "point"));
-
-// // 可以限制返回数量
-// query.limit(num);
-
- return mongoTemplate.find(query, VehiclePosition.class);
+ // 构建查询条件
+ Query query = new Query();
+
+ // 地理位置查询
+ query.addCriteria(Criteria.where("point")
+ .near(referencePoint)
+ .maxDistance(distanceInMeters));
+
+ query.with(Sort.by(Sort.Direction.ASC, "point"));
+
+ return mongoTemplate.find(query, VehiclePosition.class);
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+
+ return null;
}
--
Gitblit v1.7.1