From 709a4a10be56952ead6340e4822fce41a66e47cd Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 26 七月 2023 18:39:28 +0800 Subject: [PATCH] Merge branch '1.1' of http://120.76.84.145:10101/gitblit/r/java/SuperSaveDriving into dev --- user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/DriverServiceImpl.java | 24 ++++++++++++++++-------- 1 files changed, 16 insertions(+), 8 deletions(-) diff --git a/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/DriverServiceImpl.java b/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/DriverServiceImpl.java index cb78e30..f9c8c63 100644 --- a/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/DriverServiceImpl.java +++ b/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/DriverServiceImpl.java @@ -65,19 +65,27 @@ // 构造query对象 Query query = Query.query(Criteria.where("location").withinSphere(circle)); List<Location> locations = mongoTemplate.find(query, Location.class); -// System.err.println("附近空闲司机" + JSON.toJSONString(locations)); List<Integer> collect = locations.stream().map(Location::getDriverId).collect(Collectors.toList()); + if(collect.size() == 0){ + return list; + } + List<Driver> drivers = this.selectList(new EntityWrapper<Driver>().in("id", collect).eq("approvalStatus", 2).eq("serverStatus", 1).eq("status", 1)); + collect = drivers.stream().map(Driver::getId).collect(Collectors.toList()); + if(collect.size() == 0){ + return list; + } List<DriverWork> driverWorks = driverWorkService.selectList(new EntityWrapper<DriverWork>().in("driverId", collect).eq("status", 1)); for (DriverWork driverWork : driverWorks) { String value = redisUtil.getValue("DRIVER" + driverWork.getDriverId()); - if(ToolUtil.isNotEmpty(value)){ - NearbyDriverWarpper nearbyDriverWarpper = new NearbyDriverWarpper(); - nearbyDriverWarpper.setLonLat(value); - Map<String, Double> distance = GeodesyUtil.getDistance(value, lon + "," + lat); - nearbyDriverWarpper.setDistance(distance.get("WGS84") / 1000); - nearbyDriverWarpper.setDriverId(driverWork.getDriverId()); - list.add(nearbyDriverWarpper); + if(ToolUtil.isEmpty(value)){ + continue; } + NearbyDriverWarpper nearbyDriverWarpper = new NearbyDriverWarpper(); + nearbyDriverWarpper.setLonLat(value); + Map<String, Double> distance = GeodesyUtil.getDistance(value, lon + "," + lat); + nearbyDriverWarpper.setDistance(distance.get("WGS84") / 1000); + nearbyDriverWarpper.setDriverId(driverWork.getDriverId()); + list.add(nearbyDriverWarpper); } return list; } -- Gitblit v1.7.1