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 --- DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java | 62 +++++++++++++++++------------- 1 files changed, 35 insertions(+), 27 deletions(-) diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java index 704a15a..1179c11 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java @@ -12,6 +12,7 @@ import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService; import com.stylefeng.guns.modular.system.model.OrderPosition; import com.stylefeng.guns.modular.system.util.GoogleMap.DistancematrixVo; +import com.stylefeng.guns.modular.system.util.GoogleMap.FleetEngineUtil; import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil; import com.stylefeng.guns.modular.taxi.model.OrderTaxi; import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService; @@ -25,6 +26,7 @@ import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestTemplate; +import javax.annotation.Resource; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; @@ -245,9 +247,11 @@ Integer oldState = 0; Long startServiceTime = null; Double servedMileage = null; + String tripId = ""; switch (orderType){ case 1: OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); + tripId = redisUtil.getValue("trip" + orderPrivateCar.getUserId()); if(orderPrivateCar == null){ this.removeTask(orderId, orderType); }else{ @@ -262,6 +266,7 @@ break; case 2: OrderTaxi orderTaxi = orderTaxiService.selectById(orderId); + tripId = redisUtil.getValue("trip" + orderTaxi.getUserId()); if(orderTaxi == null){ this.removeTask(orderId, orderType); }else{ @@ -276,6 +281,7 @@ break; case 3: OrderCrossCity orderCrossCity = orderCrossCityService.selectById(orderId); + tripId = redisUtil.getValue("trip" + orderCrossCity.getUserId()); if(orderCrossCity == null){ this.removeTask(orderId, orderType); }else{ @@ -289,6 +295,7 @@ break; case 4: OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId); + tripId = redisUtil.getValue("trip" + orderLogistics.getUserId()); if(orderLogistics == null){ this.removeTask(orderId, orderType); }else{ @@ -302,6 +309,7 @@ break; case 5: OrderLogistics orderLogistics1 = orderLogisticsService.selectById(orderId); + tripId = redisUtil.getValue("trip" + orderLogistics1.getUserId()); if(orderLogistics1 == null){ this.removeTask(orderId, orderType); }else{ @@ -337,19 +345,19 @@ if((state == 2 || state == 3 || state == 4) || (oldState != null && (oldState == 2 || oldState == 3 || oldState == 4))){//前往预约地 String d = "0"; String t = "0"; - if(ToolUtil.isNotEmpty(value) && ToolUtil.isNotEmpty(startLonLat)){ - String[] split = value.split(","); - String[] split1 = startLonLat.split(","); - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), Double.valueOf(split1[1]), Double.valueOf(split1[0])); - if(null == distancematrix){ - System.err.println("地图获取距离出错"); - }else{ - d = distancematrix.getDistance().toString();//距离m - t = distancematrix.getDuration().toString();//时间s - } - } - d = new BigDecimal(d).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString(); - t = new BigDecimal(t).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + ""; +// if(ToolUtil.isNotEmpty(value) && ToolUtil.isNotEmpty(startLonLat)){ +// String[] split = value.split(","); +// String[] split1 = startLonLat.split(","); +// DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), Double.valueOf(split1[1]), Double.valueOf(split1[0]), tripId); +// if(null == distancematrix){ +// System.err.println("地图获取距离出错"); +// }else{ +// d = distancematrix.getDistance().toString();//距离m +// t = distancematrix.getDuration().toString();//时间s +// } +// } +// d = new BigDecimal(d).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString(); +// t = new BigDecimal(t).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + ""; map.put("reservationMileage", d);//当前位置距离预约点的剩余里程 map.put("reservationTime", t);//当前位置距离预约点的剩余分钟 map.put("servedMileage", "0");//距离起点已经服务的里程 @@ -366,20 +374,20 @@ String d = "0"; String t = "0"; - if(ToolUtil.isNotEmpty(value) && ToolUtil.isNotEmpty(endLonLat)){ - String[] split = value.split(","); - String[] split1 = endLonLat.split(","); - DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), Double.valueOf(split1[1]), Double.valueOf(split1[0])); - if(null == distancematrix){ - System.err.println("地图获取距离出错"); - }else{ - d = distancematrix.getDistance().toString();//距离m - t = distancematrix.getDuration().toString();//时间s - } - } - - d = new BigDecimal(d).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString(); - t = new BigDecimal(t).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + ""; +// if(ToolUtil.isNotEmpty(value) && ToolUtil.isNotEmpty(endLonLat)){ +// String[] split = value.split(","); +// String[] split1 = endLonLat.split(","); +// DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), Double.valueOf(split1[1]), Double.valueOf(split1[0]), tripId); +// if(null == distancematrix){ +// System.err.println("地图获取距离出错"); +// }else{ +// d = distancematrix.getDistance().toString();//距离m +// t = distancematrix.getDuration().toString();//时间s +// } +// } +// +// d = new BigDecimal(d).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString(); +// t = new BigDecimal(t).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + ""; map.put("laveMileage", d);//距离终点剩余未服务的里程数 map.put("laveTime", t);//距离终端剩余未服务的预计时间 } -- Gitblit v1.7.1