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 | 63 ++++++++++++++++++++++++-------
1 files changed, 48 insertions(+), 15 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 4622156..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
@@ -327,11 +335,6 @@
List<Map<String, Object>> query = driverActivityRegisteredMapper.query(userType, driver.getCompanyId());
BigDecimal bigDecimal = new BigDecimal("0");
for(Map<String, Object> map : query){
- if(Double.valueOf(String.valueOf(map.get("money"))).compareTo(0D) > 0){
- bigDecimal = bigDecimal.add(new BigDecimal(String.valueOf(map.get("money"))));
- incomeService.saveData(2, driver.getId(), 1, Integer.valueOf(String.valueOf(map.get("id"))), null, Double.valueOf(String.valueOf(map.get("money"))));
- }
-
DriverActivityHistory dah = new DriverActivityHistory();
dah.setActivityId(Integer.valueOf(map.get("id").toString()));
dah.setDriverId(uid);
@@ -339,6 +342,10 @@
DriverActivityHistory driverActivityHistory = driverActivityHistoryMapper.selectOne(dah);
driverActivityHistory.setCarryOut(2);
driverActivityHistoryMapper.updateById(driverActivityHistory);
+ if(Double.valueOf(String.valueOf(map.get("money"))).compareTo(0D) > 0){
+ bigDecimal = bigDecimal.add(new BigDecimal(String.valueOf(map.get("money"))));
+ incomeService.saveData(2, driver.getId(), 1, driverActivityHistory.getId(), null, Double.valueOf(String.valueOf(map.get("money"))));
+ }
}
driver.setActivityMoney(bigDecimal.add(new BigDecimal(driver.getActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
driver.setLaveActivityMoney(bigDecimal.add(new BigDecimal(driver.getLaveActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -523,10 +530,6 @@
List<Map<String, Object>> query = driverActivityRegisteredMapper.query(userType, driver.getCompanyId());
BigDecimal bigDecimal = new BigDecimal("0");
for(Map<String, Object> map : query){
- if(Double.valueOf(String.valueOf(map.get("money"))).compareTo(0D) > 0){
- bigDecimal = bigDecimal.add(new BigDecimal(String.valueOf(map.get("money"))));
- incomeService.saveData(2, driver.getId(), 1, Integer.valueOf(String.valueOf(map.get("id"))), null, Double.valueOf(String.valueOf(map.get("money"))));
- }
DriverActivityHistory dah = new DriverActivityHistory();
dah.setActivityId(Integer.valueOf(map.get("id").toString()));
dah.setDriverId(uid);
@@ -534,6 +537,10 @@
DriverActivityHistory driverActivityHistory = driverActivityHistoryMapper.selectOne(dah);
driverActivityHistory.setCarryOut(2);
driverActivityHistoryMapper.updateById(driverActivityHistory);
+ if(Double.valueOf(String.valueOf(map.get("money"))).compareTo(0D) > 0){
+ bigDecimal = bigDecimal.add(new BigDecimal(String.valueOf(map.get("money"))));
+ incomeService.saveData(2, driver.getId(), 1, driverActivityHistory.getId(), null, Double.valueOf(String.valueOf(map.get("money"))));
+ }
}
driver.setActivityMoney(bigDecimal.add(new BigDecimal(driver.getActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
driver.setLaveActivityMoney(bigDecimal.add(new BigDecimal(driver.getLaveActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -1092,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);
}
@@ -1165,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);
@@ -1175,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){
@@ -1193,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.");
}
@@ -1210,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();
@@ -1660,7 +1693,7 @@
*/
@Override
public List<Map<String, Object>> queryTotalRevenue(Integer language, Integer uid, Integer pageNum, Integer size) throws Exception {
- List<Map<String, Object>> query = incomeService.query(language, 2, uid, Arrays.asList(2, 3), pageNum, size);
+ List<Map<String, Object>> query = incomeService.query(language, 2, uid, Arrays.asList(2, 3, 5, 6, 7), pageNum, size);
return query;
}
@@ -1700,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();
@@ -2263,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);//完成状态
@@ -2279,7 +2312,7 @@
this.updateById(driver);
//添加收入记录
- incomeService.saveData(2, driverOnline.getDriverId(), 1, dao.getId(), null, dah.getMoney());
+ incomeService.saveData(2, driverOnline.getDriverId(), 1, dah.getId(), null, dah.getMoney());
if(ToolUtil.isNotEmpty(driver.getEmail())) {
@@ -2399,7 +2432,7 @@
this.updateById(driver);
//添加收入记录
- incomeService.saveData(2, dah.getDriverId(), 1, dao.getId(), null, dah.getMoney());
+ incomeService.saveData(2, dah.getDriverId(), 1, dah.getId(), null, dah.getMoney());
if(ToolUtil.isNotEmpty(driver.getEmail())) {
String path1 = templatePath + "driver/index.html";
--
Gitblit v1.7.1