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/api/OrderController.java |   99 +++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 83 insertions(+), 16 deletions(-)

diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index aac0b4f..54f88d7 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -12,12 +12,10 @@
 import com.stylefeng.guns.modular.smallLogistics.server.impl.OrderLogisticsSpreadService;
 import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
 import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
+import com.stylefeng.guns.modular.system.model.Car;
 import com.stylefeng.guns.modular.system.model.OrderPosition;
 import com.stylefeng.guns.modular.system.model.Reassign;
-import com.stylefeng.guns.modular.system.service.IDriverService;
-import com.stylefeng.guns.modular.system.service.IOrderPositionService;
-import com.stylefeng.guns.modular.system.service.IOrderService;
-import com.stylefeng.guns.modular.system.service.IReassignService;
+import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.*;
 import com.stylefeng.guns.modular.system.util.GoogleMap.FleetEngineUtil;
 import com.stylefeng.guns.modular.system.util.Tingg.model.CallbackRequest;
@@ -83,6 +81,9 @@
     
     @Autowired
     private RedisUtil redisUtil;
+    
+    @Autowired
+    private ICarService carService;
 
 
 
@@ -979,14 +980,17 @@
             if(ToolUtil.isNotEmpty(trip)){
                 JSONObject jsonObject = JSON.parseObject(trip);
                 String tripStatus = jsonObject.getString("tripStatus");
+                Car car = carService.selectById(privateCar.getCarId());
                 if(Arrays.asList(10, 12).contains(state) && !"CANCELED".equals(tripStatus)){
                     //修改行程信息
-                    boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", null, null, tripId, null, null, null, null);
+                    boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null);
                     if(!updateTrip){
                         for (int i = 0; i < 5; i++) {
-                            updateTrip = fleetEngineUtil.updateTrip("CANCELED", null, null, tripId, null, null, null, null);
+                            updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null);
                             if(updateTrip){
-                                continue;
+                                privateCar.setIsover(1);
+                                orderPrivateCarService.updateById(privateCar);
+                                break;
                             }
                             try {
                                 Thread.sleep(3000L);
@@ -994,16 +998,21 @@
                                 throw new RuntimeException(e);
                             }
                         }
+                    }else{
+                        privateCar.setIsover(1);
+                        orderPrivateCarService.updateById(privateCar);
                     }
                 }
                 if(Arrays.asList(6, 7, 8, 9).contains(state) && !"COMPLETE".equals(tripStatus)){
                     //修改行程信息
-                    boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", null, null, tripId, null, null, null, null);
+                    boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null);
                     if(!updateTrip){
                         for (int i = 0; i < 5; i++) {
-                            updateTrip = fleetEngineUtil.updateTrip("COMPLETE", null, null, tripId, null, null, null, null);
+                            updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null);
                             if(updateTrip){
-                                continue;
+                                privateCar.setIsover(1);
+                                orderPrivateCarService.updateById(privateCar);
+                                break;
                             }
                             try {
                                 Thread.sleep(3000L);
@@ -1011,6 +1020,9 @@
                                 throw new RuntimeException(e);
                             }
                         }
+                    }else{
+                        privateCar.setIsover(1);
+                        orderPrivateCarService.updateById(privateCar);
                     }
                 }
             }
@@ -1023,14 +1035,17 @@
             if(ToolUtil.isNotEmpty(trip)){
                 JSONObject jsonObject = JSON.parseObject(trip);
                 String tripStatus = jsonObject.getString("tripStatus");
+                Car car = carService.selectById(orderLogistics.getCarId());
                 if(Arrays.asList(10, 12).contains(state) && !"CANCELED".equals(tripStatus)){
                     //修改行程信息
-                    boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", null, null, tripId, null, null, null, null);
+                    boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null);
                     if(!updateTrip){
                         for (int i = 0; i < 5; i++) {
-                            updateTrip = fleetEngineUtil.updateTrip("CANCELED", null, null, tripId, null, null, null, null);
+                            updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null);
                             if(updateTrip){
-                                continue;
+                                orderLogistics.setIsover(1);
+                                orderLogisticsService.updateById(orderLogistics);
+                                break;
                             }
                             try {
                                 Thread.sleep(3000L);
@@ -1038,16 +1053,21 @@
                                 throw new RuntimeException(e);
                             }
                         }
+                    }else{
+                        orderLogistics.setIsover(1);
+                        orderLogisticsService.updateById(orderLogistics);
                     }
                 }
                 if(Arrays.asList(6, 7, 8, 9).contains(state) && !"COMPLETE".equals(tripStatus)){
                     //修改行程信息
-                    boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", null, null, tripId, null, null, null, null);
+                    boolean updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null);
                     if(!updateTrip){
                         for (int i = 0; i < 5; i++) {
-                            updateTrip = fleetEngineUtil.updateTrip("COMPLETE", null, null, tripId, null, null, null, null);
+                            updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null);
                             if(updateTrip){
-                                continue;
+                                orderLogistics.setIsover(1);
+                                orderLogisticsService.updateById(orderLogistics);
+                                break;
                             }
                             try {
                                 Thread.sleep(3000L);
@@ -1055,10 +1075,57 @@
                                 throw new RuntimeException(e);
                             }
                         }
+                    }else{
+                        orderLogistics.setIsover(1);
+                        orderLogisticsService.updateById(orderLogistics);
                     }
                 }
             }
         }
         return ResultUtil.success();
     }
+    
+    
+    @ResponseBody
+    @PostMapping("/base/taxi/getTrips")
+    public String getTrips(String vehicleId, Integer pageSize, String pageToken){
+        return fleetEngineUtil.getTrips(vehicleId, pageSize, pageToken);
+    }
+    
+    @ResponseBody
+    @GetMapping("/base/taxi/getTripsStatus")
+    public ResultUtil<List<Map<String, String>>> getTripsStatus(){
+        String pageToken = null;
+        List<Map<String, String>> list = new ArrayList<>();
+        while (true){
+            String trips = fleetEngineUtil.getTrips(null, 50, pageToken);
+            if(ToolUtil.isEmpty(trips)){
+                break;
+            }
+            JSONObject jsonObject = JSON.parseObject(trips);
+            JSONArray array = jsonObject.getJSONArray("trips");
+            if(null == array){
+                break;
+            }
+            for (int i = 0; i < array.size(); i++) {
+                JSONObject trip = array.getJSONObject(i);
+                String tripStatus = trip.getString("tripStatus");
+                String name = trip.getString("name");
+                Integer index = name.lastIndexOf("/") + 1;
+                String tripId = name.substring(index);
+    
+                Map<String, String> map = new HashMap<>();
+                map.put(tripId, tripStatus);
+                list.add(map);
+            }
+        
+            pageToken = jsonObject.getString("nextPageToken");
+            if(null == pageToken){
+                break;
+            }
+        }
+        return ResultUtil.success(list);
+    }
+    
+    
 }

--
Gitblit v1.7.1