From 127e6e1d0b50937bb59d195ece64603c54f461df Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 13 四月 2026 20:44:39 +0800
Subject: [PATCH] 修改bug 查找车新增1分钟查询

---
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/mango/VehiclePositionService.java |   25 +++++++++++++++----------
 1 files changed, 15 insertions(+), 10 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 fed8f2a..7a587ee 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
@@ -2,17 +2,18 @@
 
 import com.xiaopeng.api.vo.automaticPilot.VehiclePosition;
 import org.springframework.data.domain.Sort;
-import org.springframework.data.geo.*;
+import org.springframework.data.geo.Circle;
+import org.springframework.data.geo.Distance;
+import org.springframework.data.geo.Metrics;
 import org.springframework.data.mongodb.core.MongoTemplate;
 import org.springframework.data.mongodb.core.geo.GeoJsonPoint;
 import org.springframework.data.mongodb.core.query.Criteria;
-import org.springframework.data.mongodb.core.query.NearQuery;
 import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Service;
+
 import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.stream.Collectors;
 
 @Service
 public class VehiclePositionService {
@@ -24,7 +25,7 @@
      * 查询附近指定距离内且状态正常的车辆
      * @param longitude 经度
      * @param latitude 纬度
-     * @param distanceInMeters 距离(米)
+     * @param distanceInMeters 距离(KM)
      * @return 符合条件的车辆列表
      */
     public List<VehiclePosition> findAvailableVehiclesNearby(double longitude,
@@ -52,14 +53,17 @@
 //                    .map(geoResult -> geoResult.getContent())
 //                    .collect(Collectors.toList());
 
-            //找到中心点
+            // 找到中心点
             GeoJsonPoint geoJsonPoint = new GeoJsonPoint(longitude, latitude);
-            //构造半径
-            Distance distanceR = new Distance(distanceInMeters / 1000, Metrics.KILOMETERS);
-            //画圆
+            // 构造半径
+            Distance distanceR = new Distance(distanceInMeters, Metrics.KILOMETERS);
+            // 画圆
             Circle circle = new Circle(geoJsonPoint, distanceR);
-            // 构造query对象
-            Query query = Query.query(Criteria.where("point").withinSphere(circle));
+            long latestAllowedAddTime = System.currentTimeMillis() - 60 * 1000;
+            Query query = Query.query(new Criteria().andOperator(
+                    Criteria.where("point").withinSphere(circle),
+                    Criteria.where("addTime").gte(latestAllowedAddTime)
+            ));
             List<VehiclePosition> vehiclePositions = mongoTemplate.find(query, VehiclePosition.class);
             return vehiclePositions;
         } catch (Exception e) {
@@ -69,6 +73,7 @@
     }
 
 
+
     /**
      * 根据车辆ID查询车辆信息
      * @param vehicleId 车辆ID

--
Gitblit v1.7.1