From 71d2d3557012509c69442dfdc5398685423d4f86 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期六, 18 四月 2026 15:50:23 +0800
Subject: [PATCH] [fix] 取消订单情况的连环派单 [feat] 周围车辆点位查询

---
 xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/controller/ActiveOrderController.java |   32 ++++++++++++++++++++++++++++----
 1 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/controller/ActiveOrderController.java b/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/controller/ActiveOrderController.java
index 75d1684..359e5e4 100644
--- a/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/controller/ActiveOrderController.java
+++ b/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/controller/ActiveOrderController.java
@@ -2,6 +2,7 @@
 
 import com.xiaopeng.api.dto.map.RouteAndFareDto;
 import com.xiaopeng.api.dto.order.OrderChangeDto;
+import com.xiaopeng.api.vo.automaticPilot.VehiclePosition;
 import com.xiaopeng.api.vo.operation.RouteAndFareVo;
 import com.xiaopeng.common.core.domain.R;
 import com.xiaopeng.itinerary.service.ActiveOrderService;
@@ -10,11 +11,14 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.data.geo.Distance;
+import org.springframework.data.geo.Metrics;
+import org.springframework.data.geo.Point;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
@@ -73,6 +77,26 @@
         return R.ok();
     }
 
+    /**
+     * 周围车辆点位查询
+     */
+    @ApiOperation(value = "周围车辆点位查询", notes = "", tags = {"小程序-周围车辆点位查询"})
+    @GetMapping("/api/v1/mini-program/nearby/cars")
+    @XpClientCheck(checkToken = false, checkOtpToken = true)
+    public R<List<VehiclePosition>> carAround(@RequestParam double lon,@RequestParam double lat,@RequestParam double distanceMeters,HttpServletRequest request) {
+
+        String uid = request.getHeader("XP-Uid");
+
+        Point point = new Point(lon, lat);
+        Distance distance = new Distance(distanceMeters / 1000.0, Metrics.KILOMETERS);
+        Criteria criteria = Criteria.where("point")
+                .nearSphere(point)
+                .maxDistance(distance.getNormalizedValue());
+        Query query = new Query(criteria);
+        return R.ok(mongoTemplate.find(query, VehiclePosition.class));
+    }
+    @Resource
+    private MongoTemplate mongoTemplate;
 
 
 }

--
Gitblit v1.7.1