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 | 134 ++++++++++++++++++++++++++++++--------------
1 files changed, 91 insertions(+), 43 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 fb57212..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
@@ -266,7 +274,7 @@
Element email1_user = document.getElementById("email1_user");
email1_user.text("Hello ,");
Element email1_content = document.getElementById("email1_content");
- email1_content.text("Your package pickup code is " + authCode + ", please complete the verification within 5 minutes");
+ email1_content.text("Your delivery pickup code is " + authCode + ", please complete the verification within 5 minutes");
}
if(3 == language){
document.getElementById("chinese").remove();
@@ -285,7 +293,7 @@
Element email2_user = document.getElementById("email2_user");
email2_user.text("Hello ,");
Element email2_content = document.getElementById("email2_content");
- email2_content.text("Le code de ramassage de votre colis est " + authCode + ", veuillez effectuer la verification dans les 5minutes.");
+ email2_content.text("Le code de ramassage de votre livraison est " + authCode + ", veuillez effectuer la verification dans les 5minutes.");
}
EmailUtil.send(email, language == 1 ? "邮箱验证" : language == 2 ? "Verification code" : "Code de validation", document.html());
return ResultUtil.success();
@@ -327,9 +335,16 @@
List<Map<String, Object>> query = driverActivityRegisteredMapper.query(userType, driver.getCompanyId());
BigDecimal bigDecimal = new BigDecimal("0");
for(Map<String, Object> map : query){
+ DriverActivityHistory dah = new DriverActivityHistory();
+ dah.setActivityId(Integer.valueOf(map.get("id").toString()));
+ dah.setDriverId(uid);
+ dah.setType(1);
+ 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, Integer.valueOf(String.valueOf(map.get("id"))), null, Double.valueOf(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());
@@ -425,9 +440,9 @@
tEmail.setWeek(week);
boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
if(am){
- tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
}
emailService.insert(tEmail);
}
@@ -515,9 +530,16 @@
List<Map<String, Object>> query = driverActivityRegisteredMapper.query(userType, driver.getCompanyId());
BigDecimal bigDecimal = new BigDecimal("0");
for(Map<String, Object> map : query){
+ DriverActivityHistory dah = new DriverActivityHistory();
+ dah.setActivityId(Integer.valueOf(map.get("id").toString()));
+ dah.setDriverId(uid);
+ dah.setType(1);
+ 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, Integer.valueOf(String.valueOf(map.get("id"))), null, Double.valueOf(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());
@@ -613,9 +635,9 @@
tEmail.setWeek(week);
boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
if(am){
- tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
}
emailService.insert(tEmail);
}
@@ -880,9 +902,9 @@
tEmail.setWeek(week);
boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
if(am){
- tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
}
emailService.insert(tEmail);
}
@@ -994,9 +1016,9 @@
tEmail.setWeek(week);
boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
if(am){
- tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
}
emailService.insert(tEmail);
}
@@ -1077,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);
}
@@ -1150,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);
@@ -1160,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){
@@ -1178,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.");
}
@@ -1195,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();
@@ -1314,7 +1362,7 @@
baseWarpper.setName(language == 1 ? "跨城出行" : language == 2 ? "Cross-town travel" : "Se déplacer à travers la ville");
break;
case 4:
- baseWarpper.setName(language == 1 ? "包裹" : language == 2 ? "Package" : "Livraison");
+ baseWarpper.setName(language == 1 ? "包裹" : language == 2 ? "Delivery" : "Livraison");
break;
case 5:
baseWarpper.setName(language == 1 ? "跨城小件物流" : language == 2 ? "Cross-city small parts logistics" : "Logistique des petites pièces à travers la ville");
@@ -1505,9 +1553,9 @@
tEmail.setWeek(week);
boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
if(am){
- tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
}
emailService.insert(tEmail);
}
@@ -1630,7 +1678,7 @@
*/
@Override
public List<Map<String, Object>> queryActivityIncome(Integer language, Integer uid, Integer pageNum, Integer size) throws Exception {
- List<Map<String, Object>> query = incomeService.query(language,2, uid, 1, pageNum, size);
+ List<Map<String, Object>> query = incomeService.query(language,2, uid, Arrays.asList(1), pageNum, size);
return query;
}
@@ -1645,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, 2, pageNum, size);
+ List<Map<String, Object>> query = incomeService.query(language, 2, uid, Arrays.asList(2, 3, 5, 6, 7), pageNum, size);
return query;
}
@@ -1669,14 +1717,14 @@
case 1://邀请司机注册
DriverActivityRegistered driverActivityRegistered = driverActivityRegisteredMapper.selectById(dah.getActivityId());
activityWarpper.setId(driverActivityRegistered.getId());
- activityWarpper.setContent(language == 1 ? "邀请司机注册奖励" + driverActivityRegistered.getMoney() + "元" :
+ activityWarpper.setContent(language == 1 ? "邀请司机注册奖励GHS" + driverActivityRegistered.getMoney() :
language == 2 ? " Invite drivers to register for a reward of GHS" + driverActivityRegistered.getMoney():
"Invitez les chauffeurs à s’inscrire pour une récompense de GHS" + driverActivityRegistered.getMoney());
break;
case 2://邀请用户注册
DriverActivityRegistered driverActivityRegistered1 = driverActivityRegisteredMapper.selectById(dah.getActivityId());
activityWarpper.setId(driverActivityRegistered1.getId());
- activityWarpper.setContent(language == 1 ? "邀请用户注册奖励" + driverActivityRegistered1.getMoney() + "元" :
+ activityWarpper.setContent(language == 1 ? "邀请用户注册奖励GHS" + driverActivityRegistered1.getMoney() :
language == 2 ? "Invite users to register for a reward of GHS" + driverActivityRegistered1.getMoney():
"Invitez les utilisateurs à s’inscrire pour une récompense de GHS" + driverActivityRegistered1.getMoney());
break;
@@ -1685,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();
@@ -1701,10 +1749,10 @@
sb.append("城际出行");
continue;
case 4:
- sb.append(language == 1 ? "包裹" : language == 2 ? "package" : "de colis");
+ sb.append(language == 1 ? "包裹" : language == 2 ? "delivery" : "de livraison");
break;
}
- String str = language == 1 ? "累计在线" +driverActivityOnline.getOnline() + "小时奖励" +driverActivityOnline.getMoney() + "元" :
+ String str = language == 1 ? "累计在线" +driverActivityOnline.getOnline() + "小时奖励GHS" +driverActivityOnline.getMoney():
language == 2 ? " for " + driverActivityOnline.getOnline() + " hours to get a reward of GHS" + driverActivityOnline.getMoney():
" pendant " + driverActivityOnline.getOnline() + " heures afin d'obtenir une récompense de GHS" + driverActivityOnline.getMoney();
activityWarpper.setContent(sb.append(str).toString());
@@ -1713,14 +1761,14 @@
case 4://订单量
DriverActivityOrder driverActivityOrder = driverActivityOrderMapper.selectById(dah.getActivityId());
activityWarpper.setId(driverActivityOrder.getId());
- activityWarpper.setContent(language == 1 ? "今日" + driverActivityOrder.getStart() + "-" + driverActivityOrder.getEnd() + "累计接单" + driverActivityOrder.getOrderNum() + "单奖励" + driverActivityOrder.getMoney() + "元" :
+ activityWarpper.setContent(language == 1 ? "今日" + driverActivityOrder.getStart() + "-" + driverActivityOrder.getEnd() + "累计接单" + driverActivityOrder.getOrderNum() + "单奖励GHS" + driverActivityOrder.getMoney():
language == 2 ? "Today " + driverActivityOrder.getStart() + "-" + driverActivityOrder.getEnd() + ", complete " + driverActivityOrder.getOrderNum() + " orders for a reward of GHS" + driverActivityOrder.getMoney() :
"Aujourd’hui de " + driverActivityOrder.getStart() + " à " + driverActivityOrder.getEnd() + ", complétez " + driverActivityOrder.getOrderNum() + " commandes pour une récompense de GHS" + driverActivityOrder.getMoney());
- SimpleDateFormat sdf = new SimpleDateFormat("H:m");
- Date start = sdf.parse(driverActivityOrder.getStart());
- Date end = sdf.parse(driverActivityOrder.getEnd());
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ Date start = sdf.parse(sdf1.format(time) + " " + driverActivityOrder.getStart() + ":00");
+ Date end = sdf.parse(sdf1.format(time) + " " + driverActivityOrder.getEnd() + ":59");
Integer integer = orderService.queryOrderNum(uid, start, end);
- activityWarpper.setCarryOut(integer > driverActivityOrder.getOrderNum() ? driverActivityOrder.getOrderNum() + "/" + driverActivityOrder.getOrderNum() : integer + "/" + driverActivityOrder.getOrderNum());
+ activityWarpper.setCarryOut(integer.compareTo(driverActivityOrder.getOrderNum()) > 0 ? driverActivityOrder.getOrderNum() + "/" + driverActivityOrder.getOrderNum() : integer + "/" + driverActivityOrder.getOrderNum());
break;
}
list.add(activityWarpper);
@@ -1869,9 +1917,9 @@
tEmail.setWeek(week);
boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
if(am){
- tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
}
emailService.insert(tEmail);
}
@@ -1985,9 +2033,9 @@
tEmail.setWeek(week);
boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
if(am){
- tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
}
emailService.insert(tEmail);
}
@@ -2102,9 +2150,9 @@
tEmail.setWeek(week);
boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
if(am){
- tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
}
emailService.insert(tEmail);
}
@@ -2219,9 +2267,9 @@
tEmail.setWeek(week);
boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
if(am){
- tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
}
emailService.insert(tEmail);
}
@@ -2248,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);//完成状态
@@ -2264,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())) {
@@ -2355,9 +2403,9 @@
tEmail.setWeek(week);
boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
if(am){
- tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
}
emailService.insert(tEmail);
}
@@ -2384,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";
@@ -2475,9 +2523,9 @@
tEmail.setWeek(week);
boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
if(am){
- tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
}
emailService.insert(tEmail);
}
--
Gitblit v1.7.1