From a4d696725ae8e44a5c3dcade4ea65ff3310092e9 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 23 四月 2026 15:50:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/1.0' into 1.0

---
 xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java |   45 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 37 insertions(+), 8 deletions(-)

diff --git a/xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java b/xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java
index 92cb3dd..5cb91d5 100644
--- a/xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java
+++ b/xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java
@@ -1163,15 +1163,13 @@
         return R.ok(vehicleDoorStatus);
     }
 
-    @Resource
-    XpVehicleClient xpVehicleClient;
     /**
      * 周围车辆点位查询
      */
     @ApiOperation(value = "周围车辆点位查询", notes = "", tags = {"小程序-周围车辆点位查询"})
     @GetMapping("/api/v1/mini-program/vehicle/nearby")
-    @XpClientCheck(checkToken = false)
-    public R<List<XpVehicleVO>> carAround(@RequestParam double lon,@RequestParam double lat) {
+    @XpClientCheck(checkToken = false, checkOtpToken = false)
+    public R<List<XpVehicleVO>> carAround(@RequestParam double lon, @RequestParam double lat) {
 
         Point point = new Point(lon, lat);
         Distance distance = new Distance(3, Metrics.KILOMETERS);
@@ -1180,20 +1178,51 @@
                 .maxDistance(distance.getNormalizedValue());
         Query query = new Query(criteria);
         List<VehiclePositionVo> vehiclePositions = mongoTemplate.find(query, VehiclePositionVo.class);
-
+        if (CollectionUtils.isEmpty(vehiclePositions)) {
+            return R.ok(new ArrayList<>());
+        }
         List<XpVehicleVO> xpVehicleList = vehiclePositions.stream()
                 .sorted(Comparator.comparingDouble(VehiclePositionVo::getDistance))
                 .map(vp -> {
-                    XpVehicle xpVehicle = xpVehicleClient.findByVehicleVin(vp.getVin()).getData();
+                    XpVehicle xpVehicle = xpVehicleService.getOne(new LambdaQueryWrapper<XpVehicle>().eq(XpVehicle::getVehicleVin, vp.getVin()));
+                    if (xpVehicle == null) {
+                        return null;
+                    }
                     XpVehicleVO vo = new XpVehicleVO();
                     BeanUtils.copyProperties(xpVehicle, vo);
                     vo.setDirection(vp.getCourse());
                     return vo;
                 })
-                .filter(v -> v.getState() == 0)
+                .filter(Objects::nonNull)
+                .filter(v -> v.getState() != null && v.getState() == 0)
                 .limit(5)
                 .collect(Collectors.toList());
-
         return R.ok(xpVehicleList);
     }
+
+    @ApiOperation(value = "上报车辆位置", notes = "", tags = {"流量接入-上报车辆位置"})
+    @PostMapping("/api/v1/xp-rt/vehicle/position")
+    public R<List<XpVehicleVO>> pushVehiclePosition(@RequestBody VehiclePosition vp) {
+
+        // 更新到mongodb,用于被分配订单
+        // 如果是接单中,更新导航路线
+        return R.ok();
+    }
+
+    /**
+     * {@Link OrderStatusEnum}
+     * @param vp
+     * @return
+     */
+    @ApiOperation(value = "更新车辆状态", notes = "", tags = {"流量接入-更新车辆状态"})
+    @PostMapping("/api/v1/xp-rt/vehicle/status")
+    public R<List<XpVehicleVO>> pushVehicleStatus(@RequestBody VehiclePosition vp) {
+
+
+        // 前往接驾,等待上车,前往终点,到达终点等待下车,结束订单
+        // 更新order状态
+        return R.ok();
+    }
+
+
 }

--
Gitblit v1.7.1