zhibing.pu
2024-05-27 9a331bdd7b6203a58778d26ac1cf5c8a732cc346
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();