From 9317fed1cea5372d9997a8273c07f041db94f99c Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期二, 28 五月 2024 09:40:11 +0800
Subject: [PATCH] 新增功能
---
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java | 40 +++++++++++++++++++++++++++++++++++++---
1 files changed, 37 insertions(+), 3 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 69436f8..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();
@@ -1699,7 +1733,7 @@
activityWarpper.setId(driverActivityOnline.getId());
StringBuffer sb = new StringBuffer(language == 1 ? "今日" :
language == 2 ? "Today, stay online receiving orders of " : "Aujourd’hui, reste en ligne à recevoir des commandes ");
- DriverOnline query = driverOnlineMapper.query(uid, sdf1.format(new Date()), 0);
+ DriverOnline query = driverOnlineMapper.query(uid, sdf1.format(new Date()), driverActivityOnline.getType(), 0);
Integer hour = 0;
if(null != query){
hour = Long.valueOf(query.getDuration() / 3600).intValue();
@@ -2262,7 +2296,7 @@
continue;
}
Long duration = Long.valueOf(dao.getOnline() * 3600);
- List<DriverOnline> driverOnlines = driverOnlineMapper.queryList(sdf.format(new Date()), duration);
+ List<DriverOnline> driverOnlines = driverOnlineMapper.queryList(sdf.format(new Date()), dao.getType(), duration);
for (DriverOnline driverOnline : driverOnlines) {
if(dah.getDriverId().compareTo(driverOnline.getDriverId()) == 0){
dah.setCarryOut(2);//完成状态
--
Gitblit v1.7.1