From adf2ede692b76cf95d0cec80f4087e52d760b219 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期日, 29 九月 2024 17:21:56 +0800 Subject: [PATCH] 修改bug --- DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java index ee04794..d80ad15 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java @@ -32,6 +32,8 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.text.SimpleDateFormat; import java.util.*; @@ -265,11 +267,11 @@ OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); String tripId = redisUtil.getValue("trip" + orderPrivateCar.getUserId()); DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(map.get("startLat").toString()), Double.valueOf(map.get("startLon").toString()), Double.valueOf(lat), Double.valueOf(lon), tripId); - map.put("startDistance", null != distancematrix ? distancematrix.getDistance() / 1000 : 0); + map.put("startDistance", null != distancematrix ? new BigDecimal(distancematrix.getDistance()).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue() : 0); //总距离 distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(map.get("startLat").toString()), Double.valueOf(map.get("startLon").toString()), Double.valueOf(map.get("endLat").toString()), Double.valueOf(map.get("endLon").toString()), tripId); - map.put("totalDistance", null != distancematrix ? distancematrix.getDistance() / 1000 : 0); + map.put("totalDistance", null != distancematrix ? new BigDecimal(distancematrix.getDistance()).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue() : 0); Integer orderSource = Integer.valueOf(String.valueOf(map.get("orderSource"))); if(orderSource == 1 || orderSource == 2 || orderSource == 3){ @@ -376,11 +378,11 @@ OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId); String tripId1 = redisUtil.getValue("trip" + orderLogistics.getUserId()); DistancematrixVo distancematrix1 = GoogleMapUtil.getDistancematrix(Double.valueOf(map.get("startLat").toString()), Double.valueOf(map.get("startLon").toString()), Double.valueOf(lat), Double.valueOf(lon), tripId1); - map.put("startDistance", null != distancematrix1 ? distancematrix1.getDistance() / 1000 : 0); + map.put("startDistance", null != distancematrix1 ? new BigDecimal(distancematrix1.getDistance()).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue() : 0); //总距离 distancematrix1 = GoogleMapUtil.getDistancematrix(Double.valueOf(map.get("startLat").toString()), Double.valueOf(map.get("startLon").toString()), Double.valueOf(map.get("endLat").toString()), Double.valueOf(map.get("endLon").toString()), tripId1); - map.put("totalDistance", null != distancematrix1 ? distancematrix1.getDistance() / 1000 : 0); + map.put("totalDistance", null != distancematrix1 ? new BigDecimal(distancematrix1.getDistance()).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue() : 0); Integer orderSource3 = Integer.valueOf(String.valueOf(map.get("orderSource"))); if(orderSource3 == 1 || orderSource3 == 2 || orderSource3 == 3){ -- Gitblit v1.7.1