From 021640e69b32dbd9b88a538402671c47f280df9e Mon Sep 17 00:00:00 2001 From: luo <2855143437@qq.com> Date: 星期三, 31 一月 2024 15:50:00 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/IgoTravel into dev --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java | 27 +++++++++++++++------------ 1 files changed, 15 insertions(+), 12 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 c36a8ad..cae211e 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,9 @@ 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; import com.stylefeng.guns.modular.system.warpper.BaseWarpper; import org.springframework.beans.factory.annotation.Autowired; @@ -55,10 +58,9 @@ for(Driver driver : drivers){ String value = redisUtil.getValue("DRIVER" + String.valueOf(driver.getId())); if(null != value){ - /*Map<String, String> distance1 = gdMapElectricFenceUtil.getDistance(lon + "," + lat, value, 0);//计算距离 - double d = Double.valueOf(distance1.get("distance")).doubleValue();*/ - double d = GDMapGeocodingUtil.getDistance(lat,lon,Double.parseDouble(value.split(",")[1]),Double.parseDouble(value.split(",")[0])); - if(d < (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); } } @@ -85,12 +87,13 @@ for(Driver driver : drivers){ String value = redisUtil.getValue("DRIVER" + String.valueOf(driver.getId())); if(null != value){ - /*Map<String, String> distance1 = gdMapElectricFenceUtil.getDistance(lon + "," + lat, value, 0);//计算距离 - double d = Double.valueOf(distance1.get("distance")).doubleValue();*/ - double d = GDMapGeocodingUtil.getDistance(lat,lon,Double.parseDouble(value.split(",")[1]),Double.parseDouble(value.split(",")[0])); - if(d < (distance * 1000)){ - list.add(driver); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(lat, lon, Double.parseDouble(value.split(",")[1]), Double.parseDouble(value.split(",")[0])); + if(null != distancematrix){ + if(distancematrix.getDistance() < (distance * 1000)){ + list.add(driver); + } } + } } return list; @@ -129,7 +132,7 @@ * @throws Exception */ @Override - public List<BaseWarpper> queryBusiness(Integer uid) throws Exception { + public List<BaseWarpper> queryBusiness(Integer uid, Integer language) throws Exception { List<DriverService> list = driverServiceMapper.queryBusiness(uid, null); List<BaseWarpper> maps = new ArrayList<>(); for (DriverService d : list){ @@ -137,7 +140,7 @@ baseWarpper.setId(d.getType()); switch (d.getType()){ case 1: - baseWarpper.setName("专车"); + baseWarpper.setName(language == 1 ? "打车" : language == 2 ? "Ride" : "Course"); break; case 2: baseWarpper.setName("出租车"); @@ -146,7 +149,7 @@ baseWarpper.setName("跨城出行"); break; case 4: - baseWarpper.setName("同城小件物流"); + baseWarpper.setName(language == 1 ? "包裹" : language == 2 ? "Delivery" : "Livraison"); break; case 5: baseWarpper.setName("跨城小件物流"); -- Gitblit v1.7.1