From a3698ecb84be4192754d7b2092491e727dbccec7 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 27 六月 2025 16:51:02 +0800
Subject: [PATCH] 修改bug

---
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java |   35 +++++++++++++++++------------------
 1 files changed, 17 insertions(+), 18 deletions(-)

diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
index 0773dcd..364d0d8 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -1763,36 +1763,39 @@
     public OrderServerWarpper queryOrderServer(Integer orderId, Integer uid) throws Exception {
         OrderServerWarpper orderServerWarpper = new OrderServerWarpper();
         OrderTaxi orderTaxi = this.selectById(orderId);
-        if(null == orderTaxi){
+        if (null == orderTaxi) {
             return orderServerWarpper;
         }
         //计算预计距离和剩余时间
-        String value = (String) redisTemplate.opsForValue().get("DRIVER" + String.valueOf(orderTaxi.getDriverId()));
-        if(null == value || "".equals(value)){
-            System.err.println("司机没有上传位置信息");
-
-            //调用获取轨迹中的数据
-            List<Map<String, Object>> list = orderPositionService.queryTrack(orderId, 2);
-            if(list.size() > 0){
-                Map<String, Object> map = list.get(list.size() - 1);
-                value = map.get("lon") + "," + map.get("lat");
+        String value = null;
+        if (null != orderTaxi.getDriverId()) {
+            value = (String) redisTemplate.opsForValue().get("DRIVER" + orderTaxi.getDriverId());
+            if (null == value || "".equals(value)) {
+                System.err.println("司机没有上传位置信息");
+            
+                //调用获取轨迹中的数据
+                List<Map<String, Object>> list = orderPositionService.queryTrack(orderId, 2);
+                if (list.size() > 0) {
+                    Map<String, Object> map = list.get(list.size() - 1);
+                    value = map.get("lon") + "," + map.get("lat");
+                }
             }
         }
-
+    
         orderServerWarpper.setOrderId(orderTaxi.getId());
         orderServerWarpper.setOrderType(2);
         orderServerWarpper.setState(orderTaxi.getState());
         orderServerWarpper.setLon(null != value ? value.split(",")[0] : "0.0");
         orderServerWarpper.setLat(null != value ? value.split(",")[1] : "0.0");
         orderServerWarpper.setReassignNotice(orderTaxi.getReassignNotice());
-        if(orderTaxi.getState() == 2 || orderTaxi.getState() == 3){//前往预约地
+        if (orderTaxi.getState() == 2 || orderTaxi.getState() == 3) {//前往预约地
             // TODO: 2023/11/4 无法修改
             Map<String, String> distance = gdMapElectricFenceUtil.getDistance(value, orderTaxi.getStartLon() + "," + orderTaxi.getStartLat(), 1);
             String d = "0";
             String t = "0";
-            if(null == distance){
+            if (null == distance) {
                 System.err.println("查询距离出错了");
-            }else{
+            } else {
                 d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString();
                 t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + "";
             }
@@ -2090,11 +2093,7 @@
                     }
                     Company query = companyCityService.query(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));//获取起点所属分公司
                     List<PushOrder> querys = pushOrderService.querys(null, 2, query.getId());//获取需要推送的次数
-                    boolean b = false;
                     for (int i = 1; i <= querys.size(); i++) {
-                        if (b) {
-                            break;
-                        }
                         PushOrder pushOrder = pushOrderService.querys(i, 2, query.getId()).get(0);
                         System.out.println("pushOrder:" + pushOrder);
                         //获取空闲司机

--
Gitblit v1.7.1