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