From 8b09fbc19a96b57bf1d0e4d7c79b51a76aeca554 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 28 三月 2025 19:57:56 +0800 Subject: [PATCH] 修改bug --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java | 17 ++++++++++------- 1 files changed, 10 insertions(+), 7 deletions(-) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java index 6055df0..886a48c 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java @@ -10,6 +10,7 @@ import com.stylefeng.guns.modular.system.service.IDriverService; import com.stylefeng.guns.modular.system.util.GDMapElectricFenceUtil; import com.stylefeng.guns.modular.system.util.GDMapGeocodingUtil; +import com.stylefeng.guns.modular.system.util.GeodesyUtil; import com.stylefeng.guns.modular.system.util.GoogleMap.DistancematrixVo; import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil; import com.stylefeng.guns.modular.system.util.RedisUtil; @@ -57,8 +58,9 @@ for(Driver driver : drivers){ String value = redisUtil.getValue("DRIVER" + String.valueOf(driver.getId())); if(null != value){ - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(lat, lon, Double.parseDouble(value.split(",")[1]), Double.parseDouble(value.split(",")[0])); - if(distancematrix.getDistance() < (distance * 1000)){ + Map<String, Double> distance1 = GeodesyUtil.getDistance(lon + "," + lat, value); + Double wgs84 = distance1.get("WGS84"); + if(wgs84.compareTo(distance * 1000) < 0){ list.add(driver); } } @@ -79,13 +81,14 @@ * @throws Exception */ @Override - public List<Driver> queryIdleDriver(Integer type, Integer serverCarModelId, Double lon, Double lat, Double distance, Integer companyId) throws Exception { + public List<Driver> queryIdleDriver(Integer uid, Integer type, Integer serverCarModelId, Double lon, Double lat, Double distance, Integer companyId) throws Exception { + String tripId = redisUtil.getValue("trip" + uid); List<Driver> drivers = driverMapper.queryIdleDriver_(type, serverCarModelId, companyId); List<Driver> list = new ArrayList<>(); for(Driver driver : drivers){ - String value = redisUtil.getValue("DRIVER" + String.valueOf(driver.getId())); + String value = redisUtil.getValue("DRIVER" + driver.getId()); if(null != value){ - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(lat, lon, Double.parseDouble(value.split(",")[1]), Double.parseDouble(value.split(",")[0])); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(lat, lon, Double.parseDouble(value.split(",")[1]), Double.parseDouble(value.split(",")[0]), tripId); if(null != distancematrix){ if(distancematrix.getDistance() < (distance * 1000)){ list.add(driver); @@ -138,7 +141,7 @@ baseWarpper.setId(d.getType()); switch (d.getType()){ case 1: - baseWarpper.setName(language == 1 ? "专车" : language == 2 ? "Private car" : "véhicules"); + baseWarpper.setName(language == 1 ? "打车" : language == 2 ? "Ride" : "Course"); break; case 2: baseWarpper.setName("出租车"); @@ -147,7 +150,7 @@ baseWarpper.setName("跨城出行"); break; case 4: - baseWarpper.setName(language == 1 ? "市内小件物流" : language == 2 ? "Small parts logistics in the city" : "Logistique de petites pièces dans la ville"); + baseWarpper.setName(language == 1 ? "包裹" : language == 2 ? "Delivery" : "Livraison"); break; case 5: baseWarpper.setName("跨城小件物流"); -- Gitblit v1.7.1