From 77bca6b387f9349d072b8737e82b42fd7f723be0 Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期五, 02 八月 2024 18:07:39 +0800
Subject: [PATCH] 修改2.0 bug

---
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java |   94 +++++++++++++++++++++++++++++------------------
 1 files changed, 58 insertions(+), 36 deletions(-)

diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
index 3a8f8b3..9059077 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -331,6 +331,7 @@
                 BigDecimal bigDecimal = new BigDecimal("0");
                 for(Map<String, Object> map : query){
                     DriverActivityHistory dah = new DriverActivityHistory();
+                    dah.setDriverActivityId(Integer.valueOf(map.get("driverActivityId").toString()));
                     dah.setActivityId(Integer.valueOf(map.get("id").toString()));
                     dah.setDriverId(uid);
                     dah.setType(1);
@@ -526,6 +527,7 @@
                 BigDecimal bigDecimal = new BigDecimal("0");
                 for(Map<String, Object> map : query){
                     DriverActivityHistory dah = new DriverActivityHistory();
+                    dah.setDriverActivityId(Integer.valueOf(map.get("driverActivityId").toString()));
                     dah.setActivityId(Integer.valueOf(map.get("id").toString()));
                     dah.setDriverId(uid);
                     dah.setType(1);
@@ -1094,22 +1096,25 @@
                 loginWarpper.setJumpCode("200000");
             }
         }
-    
-        //司机登录,添加谷歌上的车辆信息
-        Car car = carService.selectById(driver.getCarId());
-        if(null == car){
-            return ResultUtil.error(language == 1 ? "登录失败,请先绑定车辆" : language == 2 ? "Login failed, please bind the vehicle first" : "La connexion a échoué, veuillez d’abord lier le véhicule");
+        if(null != driver.getCarId()){
+            Car car = carService.selectById(driver.getCarId());
+            if(!StringUtils.hasLength(car.getVehicleId())){
+                car.setVehicleId(UUIDUtil.getRandomCode());
+                carService.updateById(car);
+            }
+            new Thread(()->{
+                try {
+                    CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+                    String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+                    if(ToolUtil.isEmpty(vehicles)) {
+                        fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+                    }
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+            }).start();
+            loginWarpper.setVehicleId(car.getVehicleId());
         }
-        if(!StringUtils.hasLength(car.getVehicleId())){
-            car.setVehicleId(UUIDUtil.getRandomCode());
-            carService.updateById(car);
-        }
-        String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-        if(ToolUtil.isEmpty(vehicles)){
-            CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-            fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-        }
-        loginWarpper.setVehicleId(car.getVehicleId());
         return ResultUtil.success(loginWarpper);
     }
 
@@ -1207,13 +1212,20 @@
             }
     
             //司机下班,修改谷歌上的车辆信息
-            CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-            String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-            if(ToolUtil.isEmpty(vehicles)){
-                fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-            }else{
-                fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-            }
+            new Thread(()->{
+                try {
+                    CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+                    String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+                    if(ToolUtil.isEmpty(vehicles)){
+                        fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+                        fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+                    }else{
+                        fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+                    }
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+            }).start();
             switch (language){
                 case 1:
                     audioUrl = "http://182.160.16.251:81/files/audio/system/AfterWork-CN.mp3";
@@ -1251,6 +1263,8 @@
             if(car.getAuthState()==4){
                 return ResultUtil.error(language == 1 ? "请完善资料后再出车" : language == 2 ? "Please complete data before driving." : "Veuillez compléter les données avant de conduire.");
             }
+    
+    
             driverWork = new DriverWork();
             driverWork.setState(1);
             driverWork.setDriverId(uid);
@@ -1265,13 +1279,23 @@
             }
             
             //司机上班,修改谷歌上的车辆信息
-            CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-            String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-            if(ToolUtil.isEmpty(vehicles)){
-                fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-            }else{
-                fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-            }
+            new Thread(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+                        String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+                        if(ToolUtil.isEmpty(vehicles)){
+                            fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+                            fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+                        }else{
+                            fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+                        }
+                    }catch (Exception e){
+                        e.printStackTrace();
+                    }
+                }
+            }).start();
     
             switch (language){
                 case 1:
@@ -1287,6 +1311,7 @@
         }
         this.updateById(driver);
         loginWarpper.setAudioUrl(audioUrl);
+        loginWarpper.setVehicleId(car.getVehicleId());
         return ResultUtil.success(loginWarpper);
     }
 
@@ -1411,13 +1436,6 @@
                     break;
             }
             maps.add(baseWarpper);
-        }
-        DriverOrders query = driverOrdersMapper.query(uid, 1);
-        if(null == query){
-            query = new DriverOrders();
-            query.setDriverId(uid);
-            query.setType(1);
-            driverOrdersMapper.insert(query);
         }
         return maps;
     }
@@ -1856,6 +1874,7 @@
             for(Map<String, Object> map : query){
                 for(Driver driver : drivers){
                     DriverActivityHistory driverActivityHistory = new DriverActivityHistory();
+                    driverActivityHistory.setDriverActivityId(Integer.valueOf(map.get("driverActivityId").toString()));
                     driverActivityHistory.setActivityId(Integer.valueOf(String.valueOf(map.get("id"))));
                     driverActivityHistory.setType(1);
                     driverActivityHistory.setDriverId(driver.getId());
@@ -1983,6 +2002,7 @@
             for(Map<String, Object> map : query){
                 for(Driver driver : drivers){
                     DriverActivityHistory driverActivityHistory = new DriverActivityHistory();
+                    driverActivityHistory.setDriverActivityId(Integer.valueOf(map.get("driverActivityId").toString()));
                     driverActivityHistory.setActivityId(Integer.valueOf(String.valueOf(map.get("id"))));
                     driverActivityHistory.setType(2);
                     driverActivityHistory.setDriverId(driver.getId());
@@ -2106,6 +2126,7 @@
                 DriverActivityOnline driverActivityOnline = driverActivityOnlineMapper.selectById(Integer.valueOf(String.valueOf(map.get("id"))));
                 for(Driver driver : drivers){
                     DriverActivityHistory driverActivityHistory = new DriverActivityHistory();
+                    driverActivityHistory.setDriverActivityId(Integer.valueOf(map.get("driverActivityId").toString()));
                     driverActivityHistory.setActivityId(Integer.valueOf(String.valueOf(map.get("id"))));
                     driverActivityHistory.setType(3);
                     driverActivityHistory.setDriverId(driver.getId());
@@ -2229,6 +2250,7 @@
                 DriverActivityOrder driverActivityOrder = driverActivityOrderMapper.selectById(Integer.valueOf(String.valueOf(map.get("id"))));
                 for(Driver driver : drivers){
                     DriverActivityHistory driverActivityHistory = new DriverActivityHistory();
+                    driverActivityHistory.setDriverActivityId(Integer.valueOf(map.get("driverActivityId").toString()));
                     driverActivityHistory.setActivityId(Integer.valueOf(String.valueOf(map.get("id"))));
                     driverActivityHistory.setType(4);
                     driverActivityHistory.setDriverId(driver.getId());

--
Gitblit v1.7.1