From 1e611ab0e7bcc9089dc066d3ebc89ee0b630257e Mon Sep 17 00:00:00 2001
From: 曾富康 <1067864236@qq.com>
Date: 星期五, 26 六月 2026 11:18:02 +0800
Subject: [PATCH] 新增需求

---
 DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java |   17 +++++++++++++++--
 1 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
index 019b0d4..9f5da03 100644
--- a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
+++ b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -447,7 +447,19 @@
             @ApiImplicitParam(value = "经度", name = "lon", required = true, dataType = "String"),
             @ApiImplicitParam(value = "纬度", name = "lat", required = true, dataType = "String")
     })
-    public ResultUtil<List<Map<String, Object>>> queryNearbyCar(String lon, String lat){
+    public ResultUtil<List<Map<String, Object>>> queryNearbyCar(String lon, String lat,HttpServletRequest request){
+        Integer uid = null;
+        try {
+             uid = driverService.getUserIdFormRedis(request);
+            if(null == uid){
+                return ResultUtil.tokenErr();
+            }
+
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+
         GeoJsonPoint geoJsonPoint = new GeoJsonPoint(Double.parseDouble(lon), Double.parseDouble(lat));
         Distance distanceR = new Distance(5, Metrics.KILOMETERS);
         Circle circle = new Circle(geoJsonPoint, distanceR);
@@ -459,6 +471,7 @@
             List<Integer> driverIds = driverPositions.stream().map(DriverPosition::getDriverId).collect(Collectors.toList());
             List<Driver> drivers = driverService.selectList(new EntityWrapper<Driver>().in("id", driverIds)
                     .eq("authState", 2).eq("state", 2));
+            Integer finalUid = uid;
             collect = drivers.stream().map(driver -> {
                 String value = (String) redisTemplate.opsForValue().get("dache:DRIVER" + driver.getId());
                 if(ToolUtil.isNotEmpty(value)){
@@ -471,7 +484,7 @@
                     return map;
                 }
                 return null;
-            }).filter(Objects::nonNull).collect(Collectors.toList());
+            }).filter(s -> Objects.nonNull(s) && !finalUid.equals(s.get("driverId"))).collect(Collectors.toList());
         }
 //        addMockNearbyDrivers(collect);
         return ResultUtil.success(collect);

--
Gitblit v1.7.1