From 9a331bdd7b6203a58778d26ac1cf5c8a732cc346 Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期一, 27 五月 2024 17:25:53 +0800
Subject: [PATCH] 新增功能

---
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java |   36 +++++++++++++++++++++++++++++++++++-
 1 files changed, 35 insertions(+), 1 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 f471517..a28d5db 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
@@ -18,6 +18,7 @@
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.*;
 import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo;
+import com.stylefeng.guns.modular.system.util.GoogleMap.FleetEngineUtil;
 import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil;
 import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo;
 import com.stylefeng.guns.modular.system.util.itextpdf.HtmlToPdfUtils;
@@ -153,6 +154,13 @@
 
     @Autowired
     private TEmailService emailService;
+    
+    @Autowired
+    private FleetEngineUtil fleetEngineUtil;
+    
+    
+    @Resource
+    private CarModelMapper carModelMapper;
 
 
     @Override
@@ -1091,6 +1099,14 @@
                 loginWarpper.setJumpCode("200000");
             }
         }
+    
+        //司机登录,添加谷歌上的车辆信息
+        Car car = carService.selectById(driver.getCarId());
+        String vehicles = fleetEngineUtil.getVehicles(driver.getCarId());
+        if(ToolUtil.isEmpty(vehicles)){
+            CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+            fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), driver.getCarId());
+        }
         return ResultUtil.success(loginWarpper);
     }
 
@@ -1164,6 +1180,7 @@
     public ResultUtil work(Integer uid, String type, Integer language) throws Exception {
         DriverWork driverWork = driverWorkMapper.queryNewWork(uid, null, 1);
         Driver driver = this.selectById(uid);
+        Car car = carService.selectById(driver.getCarId());
         if(null != driverWork){//作下班操作
             //检测是否有未完成的订单
             List<Map<String, Object>> list = orderService.queryOrderList(1, 1, 10, uid, language);
@@ -1174,6 +1191,15 @@
             driverWork.setState(2);
             driverWorkMapper.updateById(driverWork);
             driver.setState(1);
+    
+            //司机下班,修改谷歌上的车辆信息
+            CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+            String vehicles = fleetEngineUtil.getVehicles(driver.getCarId());
+            if(ToolUtil.isEmpty(vehicles)){
+                fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), driver.getCarId());
+            }else{
+                fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), driver.getCarId());
+            }
         }else{
             LoginWarpper loginWarpper = new LoginWarpper();
             if(driver.getCompanyId()==null){
@@ -1192,7 +1218,6 @@
             if(driver.getAuthState()==4){
                 return ResultUtil.error(language == 1 ? "请完善资料后再出车" : language == 2 ? "Please complete data before driving." : "Veuillez compléter les données avant de conduire.");
             }
-            Car car = carService.selectById(driver.getCarId());
             if(car==null){
                 return ResultUtil.error(language == 1 ? "请完善资料后再出车" : language == 2 ? "Please complete data before driving." : "Veuillez compléter les données avant de conduire.");
             }
@@ -1209,6 +1234,15 @@
             driverWork.setType(type);
             driverWorkMapper.insert(driverWork);
             driver.setState(2);
+    
+            //司机上班,修改谷歌上的车辆信息
+            CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+            String vehicles = fleetEngineUtil.getVehicles(driver.getCarId());
+            if(ToolUtil.isEmpty(vehicles)){
+                fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), driver.getCarId());
+            }else{
+                fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), driver.getCarId());
+            }
         }
         this.updateById(driver);
         return ResultUtil.success();

--
Gitblit v1.7.1