From b1f2f102034b4433201225b67a9fc78c08e532f0 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 06 六月 2025 18:35:03 +0800
Subject: [PATCH] 修改bug和管理后台报表

---
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java |  264 +++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 199 insertions(+), 65 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 3790150..9d8d1a9 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
@@ -112,6 +112,9 @@
     
     @Autowired
     private IOrderPositionService orderPositionService;
+    
+    @Autowired
+    private ICarService carService;
 
 
 
@@ -757,10 +760,11 @@
      */
     @Override
     public Integer queryOrderNum(Integer driverId, Date start, Date end) throws Exception {
-        //出租车
         int i = orderPrivateCarService.selectCount(new EntityWrapper<OrderPrivateCar>().eq("driverId", driverId)
                 .between("insertTime", start, end).in("state", Arrays.asList(6, 7, 8, 9)));
-        return i;
+        int i1 = orderLogisticsService.selectCount(new EntityWrapper<OrderLogistics>().eq("driverId", driverId)
+                .between("insertTime", start, end).in("state", Arrays.asList(6, 7, 8, 9)));
+        return i + i1;
     }
 
 
@@ -795,31 +799,31 @@
      */
     @Override
     public void taskMidAxbUnBindSend() throws Exception {
-        List<OrderTaxi> list = orderTaxiService.taskMidAxbUnBindSend();
-        for(OrderTaxi orderTaxi : list){
-            Map<String, String> map = chinaMobileUtil.midAxbUnBindSend(orderTaxi.getBindId(),orderTaxi.getTelX());
-            if(!String.valueOf(map.get("code")).equals("200")){
-                System.err.println(String.valueOf(map.get("msg")));
-            }
-            orderTaxi.setTelX("");
-            orderTaxi.setBindId("");
-        }
-        if(list.size() > 0){
-            orderTaxiService.updateBatchById(list);
-        }
-
-        List<OrderPrivateCar> list1 = orderPrivateCarService.taskMidAxbUnBindSend();
-        for(OrderPrivateCar orderPrivateCar : list1){
-            Map<String, String> map = chinaMobileUtil.midAxbUnBindSend(orderPrivateCar.getBindId(),orderPrivateCar.getTelX());
-            if(!String.valueOf(map.get("code")).equals("200")){
-                System.err.println(String.valueOf(map.get("msg")));
-            }
-            orderPrivateCar.setTelX("");
-            orderPrivateCar.setBindId("");
-        }
-        if(list1.size() > 0){
-            orderPrivateCarService.updateBatchById(list1);
-        }
+//        List<OrderTaxi> list = orderTaxiService.taskMidAxbUnBindSend();
+//        for(OrderTaxi orderTaxi : list){
+//            Map<String, String> map = chinaMobileUtil.midAxbUnBindSend(orderTaxi.getBindId(),orderTaxi.getTelX());
+//            if(!String.valueOf(map.get("code")).equals("200")){
+//                System.err.println(String.valueOf(map.get("msg")));
+//            }
+//            orderTaxi.setTelX("");
+//            orderTaxi.setBindId("");
+//        }
+//        if(list.size() > 0){
+//            orderTaxiService.updateBatchById(list);
+//        }
+//
+//        List<OrderPrivateCar> list1 = orderPrivateCarService.taskMidAxbUnBindSend();
+//        for(OrderPrivateCar orderPrivateCar : list1){
+//            Map<String, String> map = chinaMobileUtil.midAxbUnBindSend(orderPrivateCar.getBindId(),orderPrivateCar.getTelX());
+//            if(!String.valueOf(map.get("code")).equals("200")){
+//                System.err.println(String.valueOf(map.get("msg")));
+//            }
+//            orderPrivateCar.setTelX("");
+//            orderPrivateCar.setBindId("");
+//        }
+//        if(list1.size() > 0){
+//            orderPrivateCarService.updateBatchById(list1);
+//        }
     }
 
 
@@ -835,57 +839,57 @@
             case 1:
                 OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
                 if(ToolUtil.isNotEmpty(orderPrivateCar.getBindId())){
-                    Map<String, String> map1 = chinaMobileUtil.midAxbUnBindSend(orderPrivateCar.getBindId(),orderPrivateCar.getTelX());
-                    if(!String.valueOf(map1.get("code")).equals("200")){
-                        System.err.println(String.valueOf(map1.get("msg")));
-                    }
+//                    Map<String, String> map1 = chinaMobileUtil.midAxbUnBindSend(orderPrivateCar.getBindId(),orderPrivateCar.getTelX());
+//                    if(!String.valueOf(map1.get("code")).equals("200")){
+//                        System.err.println(String.valueOf(map1.get("msg")));
+//                    }
                     //调用移动的小号接口
-                    Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());
-                    Region region = regionMapper.query(geocode.get("districtCode"));
-                    Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
-                    Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderPrivateCar.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
-                    if(String.valueOf(map.get("code")).equals("200")){
-                        orderPrivateCar.setTelX(map.get("telX"));
-                        orderPrivateCar.setBindId(map.get("bindId"));
-                    }
+//                    Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());
+//                    Region region = regionMapper.query(geocode.get("districtCode"));
+//                    Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
+//                    Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderPrivateCar.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
+//                    if(String.valueOf(map.get("code")).equals("200")){
+//                        orderPrivateCar.setTelX(map.get("telX"));
+//                        orderPrivateCar.setBindId(map.get("bindId"));
+//                    }
                     orderPrivateCarService.updateById(orderPrivateCar);
                 }
                 break;
             case 2:
                 OrderTaxi orderTaxi = orderTaxiService.selectById(orderId);
                 if(ToolUtil.isNotEmpty(orderTaxi.getBindId())){
-                    Map<String, String> map1 = chinaMobileUtil.midAxbUnBindSend(orderTaxi.getBindId(),orderTaxi.getTelX());
-                    if(!String.valueOf(map1.get("code")).equals("200")){
-                        System.err.println(String.valueOf(map1.get("msg")));
-                    }
+//                    Map<String, String> map1 = chinaMobileUtil.midAxbUnBindSend(orderTaxi.getBindId(),orderTaxi.getTelX());
+//                    if(!String.valueOf(map1.get("code")).equals("200")){
+//                        System.err.println(String.valueOf(map1.get("msg")));
+//                    }
                     //调用移动的小号接口
-                    Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString());
-                    Region region = regionMapper.query(geocode.get("districtCode"));
-                    Driver driver = driverService.selectById(orderTaxi.getDriverId());
-                    Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderTaxi.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
-                    if(String.valueOf(map.get("code")).equals("200")){
-                        orderTaxi.setTelX(map.get("telX"));
-                        orderTaxi.setBindId(map.get("bindId"));
-                    }
+//                    Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString());
+//                    Region region = regionMapper.query(geocode.get("districtCode"));
+//                    Driver driver = driverService.selectById(orderTaxi.getDriverId());
+//                    Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderTaxi.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
+//                    if(String.valueOf(map.get("code")).equals("200")){
+//                        orderTaxi.setTelX(map.get("telX"));
+//                        orderTaxi.setBindId(map.get("bindId"));
+//                    }
                     orderTaxiService.updateById(orderTaxi);
                 }
                 break;
             case 3:
                 OrderCrossCity orderCrossCity = orderCrossCityService.selectById(orderId);
                 if(ToolUtil.isNotEmpty(orderCrossCity.getBindId())){
-                    Map<String, String> map1 = chinaMobileUtil.midAxbUnBindSend(orderCrossCity.getBindId(),orderCrossCity.getTelX());
-                    if(!String.valueOf(map1.get("code")).equals("200")){
-                        System.err.println(String.valueOf(map1.get("msg")));
-                    }
+//                    Map<String, String> map1 = chinaMobileUtil.midAxbUnBindSend(orderCrossCity.getBindId(),orderCrossCity.getTelX());
+//                    if(!String.valueOf(map1.get("code")).equals("200")){
+//                        System.err.println(String.valueOf(map1.get("msg")));
+//                    }
                     //调用移动的小号接口
-                    Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderCrossCity.getStartLon().toString(), orderCrossCity.getStartLat().toString());
-                    Region region = regionMapper.query(geocode.get("districtCode"));
-                    Driver driver = driverService.selectById(orderCrossCity.getDriverId());
-                    Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderCrossCity.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
-                    if(String.valueOf(map.get("code")).equals("200")){
-                        orderCrossCity.setTelX(map.get("telX"));
-                        orderCrossCity.setBindId(map.get("bindId"));
-                    }
+//                    Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderCrossCity.getStartLon().toString(), orderCrossCity.getStartLat().toString());
+//                    Region region = regionMapper.query(geocode.get("districtCode"));
+//                    Driver driver = driverService.selectById(orderCrossCity.getDriverId());
+//                    Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderCrossCity.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
+//                    if(String.valueOf(map.get("code")).equals("200")){
+//                        orderCrossCity.setTelX(map.get("telX"));
+//                        orderCrossCity.setBindId(map.get("bindId"));
+//                    }
                     orderCrossCityService.updateById(orderCrossCity);
                 }
                 break;
@@ -1046,8 +1050,8 @@
         new Thread(new Runnable() {
             @Override
             public void run() {
-                pushUtil.pushOrderState(1, finalUserId, orderId, orderType, finalState, 0, "");
-                pushUtil.pushOrderState(2, finalDriverId, orderId, orderType, finalState, 0, "");
+                pushUtil.pushOrderState(1, finalUserId, orderId, orderType, finalState, 0, "", "driver");
+                pushUtil.pushOrderState(2, finalDriverId, orderId, orderType, finalState, 0, "", "driver");
             }
         }).start();
         return ResultUtil.success();
@@ -1292,6 +1296,136 @@
             }
         }
     }
+    
+    
+    /**
+     * 结束google订单状态
+     */
+    @Override
+    public void overGoogleOrder() {
+        List<OrderPrivateCar> privateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().isNotNull("tripId")
+                .eq("isover", 0).in("state", Arrays.asList(6, 7, 8, 9, 10, 12)).eq("isDelete", 1));
+        for (OrderPrivateCar privateCar : privateCars) {
+            Integer state = privateCar.getState();
+            String tripId = privateCar.getTripId();
+            String trip = fleetEngineUtil.getTrip(tripId);
+            if(null != trip && "" == trip){
+                privateCar.setIsover(1);
+                orderPrivateCarService.updateById(privateCar);
+                continue;
+            }
+            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 != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1);
+                    if(!updateTrip){
+                        for (int i = 0; i < 5; i++) {
+                            updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1);
+                            if(updateTrip){
+                                privateCar.setIsover(1);
+                                orderPrivateCarService.updateById(privateCar);
+                                break;
+                            }
+                            try {
+                                Thread.sleep(3000L);
+                            } catch (InterruptedException e) {
+                                e.printStackTrace();
+                            }
+                        }
+                    }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 != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1);
+                    if(!updateTrip){
+                        for (int i = 0; i < 5; i++) {
+                            updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, privateCar.getId(), 1);
+                            if(updateTrip){
+                                privateCar.setIsover(1);
+                                orderPrivateCarService.updateById(privateCar);
+                                break;
+                            }
+                            try {
+                                Thread.sleep(3000L);
+                            } catch (InterruptedException e) {
+                                e.printStackTrace();
+                            }
+                        }
+                    }else{
+                        privateCar.setIsover(1);
+                        orderPrivateCarService.updateById(privateCar);
+                    }
+                }
+            }
+        }
+        List<OrderLogistics> orderLogisticsList = orderLogisticsService.selectList(new EntityWrapper<OrderLogistics>().isNotNull("tripId")
+                .eq("isover", 0).in("state", Arrays.asList(6, 7, 8, 9, 10, 12)).eq("isDelete", 1));
+        for (OrderLogistics orderLogistics : orderLogisticsList) {
+            Integer state = orderLogistics.getState();
+            String tripId = orderLogistics.getTripId();
+            String trip = fleetEngineUtil.getTrip(tripId);
+            if(null != trip && "" == trip){
+                orderLogistics.setIsover(1);
+                orderLogisticsService.updateById(orderLogistics);
+                continue;
+            }
+            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 != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4);
+                    if(!updateTrip){
+                        for (int i = 0; i < 5; i++) {
+                            updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4);
+                            if(updateTrip){
+                                orderLogistics.setIsover(1);
+                                orderLogisticsService.updateById(orderLogistics);
+                                break;
+                            }
+                            try {
+                                Thread.sleep(3000L);
+                            } catch (InterruptedException e) {
+                                e.printStackTrace();
+                            }
+                        }
+                    }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 != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4);
+                    if(!updateTrip){
+                        for (int i = 0; i < 5; i++) {
+                            updateTrip = fleetEngineUtil.updateTrip("COMPLETE", (null != car ? car.getVehicleId() : null), null, tripId, null, null, null, null, orderLogistics.getId(), 4);
+                            if(updateTrip){
+                                orderLogistics.setIsover(1);
+                                orderLogisticsService.updateById(orderLogistics);
+                                break;
+                            }
+                            try {
+                                Thread.sleep(3000L);
+                            } catch (InterruptedException e) {
+                                e.printStackTrace();
+                            }
+                        }
+                    }else{
+                        orderLogistics.setIsover(1);
+                        orderLogisticsService.updateById(orderLogistics);
+                    }
+                }
+            }
+        }
+    }
 }
 
 

--
Gitblit v1.7.1