From bfa0b11dfbfe5b71e11f4544e688e4d9f325d1b5 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 09 六月 2025 10:26:51 +0800
Subject: [PATCH] 修改bug和管理后台报表
---
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java | 783 ++++++++++++++++++++++++++++++-------------------------
1 files changed, 433 insertions(+), 350 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 60e5a9e..39f00d7 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
@@ -331,28 +331,22 @@
if(null == driver1 && result.getCode() == 200 && null != uid){
if(type == 2){
Driver driver = driverMapper.selectById(uid);
- List<Map<String, Object>> query = driverActivityRegisteredMapper.query(userType, driver.getCompanyId());
+ Map<String, Date> date = dateUtil.getStartAndEndDate(new Date());
+ List<DriverActivityHistory> list = driverActivityHistoryMapper.queryList(null, 1, 1, date.get("startTime"), date.get("endTime"));
BigDecimal bigDecimal = new BigDecimal("0");
- for(Map<String, Object> map : query){
- DriverActivityHistory dah = new DriverActivityHistory();
- dah.setDriverActivityId(Integer.valueOf(map.get("driverActivityId").toString()));
- dah.setActivityId(Integer.valueOf(map.get("id").toString()));
- dah.setDriverId(uid);
- dah.setType(1);
- DriverActivityHistory driverActivityHistory = driverActivityHistoryMapper.selectOne(dah);
+ for (DriverActivityHistory driverActivityHistory : list) {
+ bigDecimal = bigDecimal.add(new BigDecimal(driverActivityHistory.getMoney()));
+ incomeService.saveData(2, driver.getId(), 1, driverActivityHistory.getId(), null, driverActivityHistory.getMoney());
driverActivityHistory.setCarryOut(2);
+ driverActivityHistory.setCompletionTime(new Date());
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());
driver.setBalance(bigDecimal.add(new BigDecimal(driver.getBalance())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
driverMapper.updateById(driver);
- if(ToolUtil.isNotEmpty(driver.getEmail())){
+ if(list.size() > 0 && ToolUtil.isNotEmpty(driver.getEmail())){
String path = templatePath + "driver/index.html";
Document document = Jsoup.parse(new File(path), "UTF-8");
if(1 == language){
@@ -527,122 +521,128 @@
if(null != uid){
if(type == 2){
driver = driverMapper.selectById(uid);
- List<Map<String, Object>> query = driverActivityRegisteredMapper.query(userType, driver.getCompanyId());
+ Map<String, Date> date = dateUtil.getStartAndEndDate(new Date());
+ List<DriverActivityHistory> list = driverActivityHistoryMapper.queryList(uid, 1, 1, date.get("startTime"), date.get("endTime"));
BigDecimal bigDecimal = new BigDecimal("0");
- for(Map<String, Object> map : query){
- DriverActivityHistory dah = new DriverActivityHistory();
- dah.setDriverActivityId(Integer.valueOf(map.get("driverActivityId").toString()));
- dah.setActivityId(Integer.valueOf(map.get("id").toString()));
- dah.setDriverId(uid);
- dah.setType(1);
- DriverActivityHistory driverActivityHistory = driverActivityHistoryMapper.selectOne(dah);
+ for (DriverActivityHistory driverActivityHistory : list) {
+ bigDecimal = bigDecimal.add(new BigDecimal(driverActivityHistory.getMoney()));
+ incomeService.saveData(2, driver.getId(), 1, driverActivityHistory.getId(), null, driverActivityHistory.getMoney());
driverActivityHistory.setCarryOut(2);
+ driverActivityHistory.setCompletionTime(new Date());
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"))));
+ }
+ if(bigDecimal.compareTo(BigDecimal.ZERO) > 0){
+ 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());
+ driver.setBalance(bigDecimal.add(new BigDecimal(driver.getBalance())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+ driverMapper.updateById(driver);
+
+ if(ToolUtil.isNotEmpty(driver.getEmail())){
+ Driver finalDriver = driver;
+ BigDecimal finalBigDecimal = bigDecimal;
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ String path = templatePath + "driver/index.html";
+ Document document = Jsoup.parse(new File(path), "UTF-8");
+ if(1 == language){
+ document.getElementById("english").remove();
+ document.getElementById("french").remove();
+ document.getElementById("user").remove();
+ document.getElementById("settle").remove();
+ document.getElementById("pass").remove();
+ document.getElementById("email").remove();
+ document.getElementById("bill").remove();
+ document.getElementById("reward").remove();
+ document.getElementById("rewardToday").remove();
+ document.getElementById("driverAudit").remove();
+ document.getElementById("carAudit").remove();
+
+ document.getElementsByTag("title").get(0).text("司机奖励通知");
+ Element invite_user = document.getElementById("invite_user");
+ invite_user.text("您好 " + finalDriver.getFirstName() + "" + finalDriver.getLastName() + ",");
+ Element invite_content = document.getElementById("invite_content");
+ invite_content.text("您已成功邀请一位司机注册I-GO,获得奖励GHS " + finalBigDecimal.doubleValue() + ",请查收");
+ }
+ if(2 == language){
+ document.getElementById("chinese").remove();
+ document.getElementById("french").remove();
+ document.getElementById("user1").remove();
+ document.getElementById("settle1").remove();
+ document.getElementById("pass1").remove();
+ document.getElementById("email1").remove();
+ document.getElementById("bill1").remove();
+ document.getElementById("reward1").remove();
+ document.getElementById("rewardToday1").remove();
+ document.getElementById("driverAudit1").remove();
+ document.getElementById("carAudit1").remove();
+
+ document.getElementsByTag("title").get(0).text("Reward-driver notice");
+ Element invite1_user = document.getElementById("invite1_user");
+ invite1_user.text("Hello " + finalDriver.getFirstName() + "" + finalDriver.getLastName() + ",");
+ Element invite1_content = document.getElementById("invite1_content");
+ invite1_content.text("You have succeeded to invite a driver to register with I-GO, so you received a GHS " + finalBigDecimal.doubleValue() + " bonus, please check your balance.");
+ }
+ if(3 == language){
+ document.getElementById("chinese").remove();
+ document.getElementById("english").remove();
+ document.getElementById("user2").remove();
+ document.getElementById("settle2").remove();
+ document.getElementById("pass2").remove();
+ document.getElementById("email2").remove();
+ document.getElementById("bill2").remove();
+ document.getElementById("reward2").remove();
+ document.getElementById("rewardToday2").remove();
+ document.getElementById("driverAudit2").remove();
+ document.getElementById("carAudit2").remove();
+
+ document.getElementsByTag("title").get(0).text("Avis de chauffeur de récompense");
+ Element invite2_user = document.getElementById("invite2_user");
+ invite2_user.text("Bonjour " + finalDriver.getFirstName() + " " + finalDriver.getLastName() + ",");
+ Element invite2_content = document.getElementById("invite2_content");
+ invite2_content.text("Vous avez invité avec succès un conducteur à s’inscrire à i-go pour recevoir une récompense GHS " + finalBigDecimal.doubleValue() + ". Veuillez vérifier");
+ }
+ EmailUtil.send(finalDriver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document.html());
+ String randomString = ToolUtil.getRandomString(10);
+ //开始生成pdf收据和html收据
+ File file = new File("/home/igotechgh/nginx/html/files/html/");
+ if(!file.exists()){
+ file.mkdirs();
+ }
+ file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html");
+ if(!file.exists()){
+ file.createNewFile();
+ }
+ FileWriter fileWriter = new FileWriter(file);
+ fileWriter.write(document.html());
+ fileWriter.flush();
+ fileWriter.close();
+
+ String link ="https://igo.i-go.group/files/html/invitation_" + randomString + ".html";
+ TEmail tEmail = new TEmail();
+ tEmail.setLink(link);
+ tEmail.setUserId(finalDriver.getId());
+ tEmail.setType(2);
+ tEmail.setName(language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense");
+ tEmail.setCreateTime(new Date());
+ int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
+ String week = EmailUtil.getWeek(language, i);
+ tEmail.setWeek(week);
+ boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
+ if(am){
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
+ }else {
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
+ }
+ emailService.insert(tEmail);
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+ }).start();
}
}
- 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());
- driver.setBalance(bigDecimal.add(new BigDecimal(driver.getBalance())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
- driverMapper.updateById(driver);
-
- if(ToolUtil.isNotEmpty(driver.getEmail())){
- String path = templatePath + "driver/index.html";
- Document document = Jsoup.parse(new File(path), "UTF-8");
- if(1 == language){
- document.getElementById("english").remove();
- document.getElementById("french").remove();
- document.getElementById("user").remove();
- document.getElementById("settle").remove();
- document.getElementById("pass").remove();
- document.getElementById("email").remove();
- document.getElementById("bill").remove();
- document.getElementById("reward").remove();
- document.getElementById("rewardToday").remove();
- document.getElementById("driverAudit").remove();
- document.getElementById("carAudit").remove();
-
- document.getElementsByTag("title").get(0).text("司机奖励通知");
- Element invite_user = document.getElementById("invite_user");
- invite_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
- Element invite_content = document.getElementById("invite_content");
- invite_content.text("您已成功邀请一位司机注册I-GO,获得奖励GHS " + bigDecimal.doubleValue() + ",请查收");
- }
- if(2 == language){
- document.getElementById("chinese").remove();
- document.getElementById("french").remove();
- document.getElementById("user1").remove();
- document.getElementById("settle1").remove();
- document.getElementById("pass1").remove();
- document.getElementById("email1").remove();
- document.getElementById("bill1").remove();
- document.getElementById("reward1").remove();
- document.getElementById("rewardToday1").remove();
- document.getElementById("driverAudit1").remove();
- document.getElementById("carAudit1").remove();
-
- document.getElementsByTag("title").get(0).text("Reward-driver notice");
- Element invite1_user = document.getElementById("invite1_user");
- invite1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
- Element invite1_content = document.getElementById("invite1_content");
- invite1_content.text("You have succeeded to invite a driver to register with I-GO, so you received a GHS " + bigDecimal.doubleValue() + " bonus, please check your balance.");
- }
- if(3 == language){
- document.getElementById("chinese").remove();
- document.getElementById("english").remove();
- document.getElementById("user2").remove();
- document.getElementById("settle2").remove();
- document.getElementById("pass2").remove();
- document.getElementById("email2").remove();
- document.getElementById("bill2").remove();
- document.getElementById("reward2").remove();
- document.getElementById("rewardToday2").remove();
- document.getElementById("driverAudit2").remove();
- document.getElementById("carAudit2").remove();
-
- document.getElementsByTag("title").get(0).text("Avis de chauffeur de récompense");
- Element invite2_user = document.getElementById("invite2_user");
- invite2_user.text("Bonjour " + driver.getFirstName() + " " + driver.getLastName() + ",");
- Element invite2_content = document.getElementById("invite2_content");
- invite2_content.text("Vous avez invité avec succès un conducteur à s’inscrire à i-go pour recevoir une récompense GHS " + bigDecimal.doubleValue() + ". Veuillez vérifier");
- }
- EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document.html());
- String randomString = ToolUtil.getRandomString(10);
- //开始生成pdf收据和html收据
- File file = new File("/home/igotechgh/nginx/html/files/html/");
- if(!file.exists()){
- file.mkdirs();
- }
- file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html");
- if(!file.exists()){
- file.createNewFile();
- }
- FileWriter fileWriter = new FileWriter(file);
- fileWriter.write(document.html());
- fileWriter.flush();
- fileWriter.close();
-
- String link ="https://igo.i-go.group/files/html/invitation_" + randomString + ".html";
- TEmail tEmail = new TEmail();
- tEmail.setLink(link);
- tEmail.setUserId(driver.getId());
- tEmail.setType(2);
- tEmail.setName(language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense");
- tEmail.setCreateTime(new Date());
- int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
- String week = EmailUtil.getWeek(language, i);
- tEmail.setWeek(week);
- boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
- if(am){
- tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
- }else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
- }
- emailService.insert(tEmail);
- }
-
}
if(type == 1){//用户分享
UserInfo userInfo = userInfoMapper.selectById(uid);
@@ -766,18 +766,7 @@
return ResultUtil.error(language == 1 ? "选择从业地暂未开通业务" : language == 2 ? "Not yet to commence business at the workplace selected." : "N’a pas encore commencé ses activités sur le lieu de travail sélectionné.");
}
if(null != query){
- switch (query.getType()){
- case 1://平台
- driver.setCompanyId(query.getId());
- break;
- case 2://分公司
- driver.setCompanyId(query.getId());
- break;
- case 3://加盟商
- driver.setCompanyId(query.getSuperiorId());
- driver.setFranchiseeId(query.getId());
- break;
- }
+ driver.setCompanyId(query.getId());
}
driver.setHeadImgUrl(registeredWarpper.getHeadImgUrl());
driver.setIdCardImgUrl1(registeredWarpper.getIdCardImgUrl1());
@@ -1111,7 +1100,20 @@
CarModel carModel = carModelMapper.selectById(car.getCarModelId());
String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
if(ToolUtil.isEmpty(vehicles)) {
- fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+ boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+ if(!createVehicles){
+ for (int i = 0; i < 5; i++) {
+ createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+ if(createVehicles){
+ break;
+ }
+ try {
+ Thread.sleep(5000L);
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
}
}catch (Exception e){
e.printStackTrace();
@@ -1137,25 +1139,6 @@
Map<String, Object> map = driverMapper.queryHomeData(uid);
int size = this.queryMyActivity(uid, new Date(), language).size();
map.put("activity", size);
- //获取司机待支付的现金支付订单推送司机支付
-// new Thread(new Runnable() {
-// @Override
-// public void run() {
-// List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().eq("driverId", uid).eq("payType", 4)
-// .eq("driverPay", 1).eq("isDelete", 1));
-// if(orderPrivateCars.size() > 0){
-// OrderPrivateCar orderPrivateCar = orderPrivateCars.get(0);
-// pushUtil.pushOfflinePayment(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1);
-// return;
-// }
-// List<OrderLogistics> orderLogistics = orderLogisticsService.selectList(new EntityWrapper<OrderLogistics>().eq("driverId", uid).eq("payType", 4)
-// .eq("isDelete", 1).eq("driverPay", 1));
-// if(orderLogistics.size() > 0){
-// OrderLogistics orderLogistics1 = orderLogistics.get(0);
-// pushUtil.pushOfflinePayment(2, orderLogistics1.getDriverId(), orderLogistics1.getId(), orderLogistics1.getType());
-// }
-// }
-// }).start();
return map;
}
@@ -1203,7 +1186,7 @@
//检测是否有未完成的订单
List<Map<String, Object>> list = orderService.queryOrderList(1, 1, 10, uid, language);
if(list.size() > 0){
- return ResultUtil.error(language == 1 ? "还有未完成的订单,不能进行下班操作" : language == 2 ? "There are still outstanding orders, can not be off-duty operation" : "Il y a encore des commandes en suspens qui ne peuvent pas être exécutées");
+ return ResultUtil.error(language == 1 ? "还有未完成的订单,不能进行下班操作" : language == 2 ? "Outstanding orders ! So you can't get off work" : "Commandes en suspens ! Vous ne pouvez pas quitter le travail");
}
driverWork.setEndTime(new Date());
driverWork.setState(2);
@@ -1221,10 +1204,50 @@
CarModel carModel = carModelMapper.selectById(car.getCarModelId());
String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
if(ToolUtil.isEmpty(vehicles)){
- fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
- fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+ boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+ if(!createVehicles){
+ for (int i = 0; i < 5; i++) {
+ createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+ if(createVehicles){
+ break;
+ }
+ try {
+ Thread.sleep(5000L);
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+ if(!updateVehicles){
+ for (int i = 0; i < 5; i++) {
+ updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+ if(updateVehicles){
+ break;
+ }
+ try {
+ Thread.sleep(5000L);
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
}else{
- fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+ boolean updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+ if(!updateVehicles){
+ for (int i = 0; i < 5; i++) {
+ updateVehicles = fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+ if(updateVehicles){
+ break;
+ }
+ try {
+ Thread.sleep(5000L);
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
}
}catch (Exception e){
e.printStackTrace();
@@ -1289,10 +1312,50 @@
CarModel carModel = carModelMapper.selectById(car.getCarModelId());
String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
if(ToolUtil.isEmpty(vehicles)){
- fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
- fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+ boolean createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+ if(!createVehicles){
+ for (int i = 0; i < 5; i++) {
+ createVehicles = fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+ if(createVehicles){
+ break;
+ }
+ try {
+ Thread.sleep(5000L);
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ boolean updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+ if(!updateVehicles){
+ for (int i = 0; i < 5; i++) {
+ updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+ if(updateVehicles){
+ break;
+ }
+ try {
+ Thread.sleep(5000L);
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
}else{
- fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+ boolean updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+ if(!updateVehicles){
+ for (int i = 0; i < 5; i++) {
+ updateVehicles = fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+ if(updateVehicles){
+ break;
+ }
+ try {
+ Thread.sleep(5000L);
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
}
}catch (Exception e){
e.printStackTrace();
@@ -1337,7 +1400,7 @@
//检测是否有未完成的订单
List<Map<String, Object>> list = orderService.queryOrderList(1, 1, 10, uid, language);
if(list.size() > 0){
- return ResultUtil.error(language == 1 ? "还有未完成的订单,不能进行下班操作" : language == 2 ? "There are still outstanding orders, can not be off-duty operation" : "Il y a encore des commandes en suspens qui ne peuvent pas être exécutées");
+ return ResultUtil.error(language == 1 ? "还有未完成的订单,不能进行下班操作" : language == 2 ? "Outstanding orders ! So you can't get off work" : "Commandes en suspens ! Vous ne pouvez pas quitter le travail");
}
driverWork.setEndTime(new Date());
driverWork.setState(2);
@@ -1669,8 +1732,7 @@
@Override
public Map<String, Object> queryPhone(Integer uid) throws Exception {
Driver driver = this.selectById(uid);
- Company company = companyMapper.selectById(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
- driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
+ Company company = companyMapper.selectById(driver.getCompanyId());
Map<String, Object> map = new HashMap<>();
if(company.getType() == 3){//加盟商
Phone phone = phoneMapper.queryInfo(company.getId(), 2);
@@ -2467,6 +2529,7 @@
List<DriverOnline> driverOnlines = driverOnlineMapper.queryList(sdf.format(new Date()), null, dah.getDriverId(), duration);
if(driverOnlines.size() > 0){
dah.setCarryOut(2);//完成状态
+ dah.setCompletionTime(new Date());
driverActivityHistoryMapper.updateById(dah);
redisUtil.remove("driverActivity_" + dah.getDriverId() + "_" + dah.getId());
@@ -2486,98 +2549,107 @@
Integer language = driver.getLanguage();
if(ToolUtil.isNotEmpty(driver.getEmail())) {
- String path1 = templatePath + "driver/index.html";
- Document document1 = Jsoup.parse(new File(path1), "UTF-8");
- if (1 == language) {
- document1.getElementById("english").remove();
- document1.getElementById("french").remove();
- document1.getElementById("invite").remove();
- document1.getElementById("user").remove();
- document1.getElementById("settle").remove();
- document1.getElementById("pass").remove();
- document1.getElementById("email").remove();
- document1.getElementById("bill").remove();
- document1.getElementById("rewardToday").remove();
- document1.getElementById("driverAudit").remove();
- document1.getElementById("carAudit").remove();
-
- document1.getElementsByTag("title").get(0).text("司机奖励通知");
- Element reward_user = document1.getElementById("reward_user");
- reward_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
- Element reward_content = document1.getElementById("reward_content");
- reward_content.html("今日累计在线" + dao.getOnline() + "小时,获得奖励GHS" + dah.getMoney() + ",请查收。<br/>详情请查看I-GO平台。");
- }
- if (2 == language) {
- document1.getElementById("chinese").remove();
- document1.getElementById("french").remove();
- document1.getElementById("invite1").remove();
- document1.getElementById("user1").remove();
- document1.getElementById("settle1").remove();
- document1.getElementById("pass1").remove();
- document1.getElementById("email1").remove();
- document1.getElementById("bill1").remove();
- document1.getElementById("rewardToday1").remove();
- document1.getElementById("driverAudit1").remove();
- document1.getElementById("carAudit1").remove();
-
- document1.getElementsByTag("title").get(0).text("Reward-driver notice");
- Element reward1_user = document1.getElementById("reward1_user");
- reward1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
- Element reward1_content = document1.getElementById("reward1_content");
- reward1_content.html("You stayed online for " + dao.getOnline() + " hours today, and got a bonus of GHS" + dah.getMoney() + ", please check.<br/>Check your app for more details.");
- }
- if (3 == language) {
- document1.getElementById("chinese").remove();
- document1.getElementById("english").remove();
- document1.getElementById("invite2").remove();
- document1.getElementById("user2").remove();
- document1.getElementById("settle2").remove();
- document1.getElementById("pass2").remove();
- document1.getElementById("email2").remove();
- document1.getElementById("bill2").remove();
- document1.getElementById("rewardToday2").remove();
- document1.getElementById("driverAudit2").remove();
- document1.getElementById("carAudit2").remove();
-
- document1.getElementsByTag("title").get(0).text("Avis de chauffeur de récompense");
- Element reward2_user = document1.getElementById("reward2_user");
- reward2_user.text("Cher(ère) " + driver.getFirstName() + "" + driver.getLastName() + ",");
- Element reward2_content = document1.getElementById("reward2_content");
- reward2_content.html("Vous êtes resté en ligne pendant " + dao.getOnline() + " heures aujourd’hui et avez obtenu un bonus de GHS" + dah.getMoney() + ", veuillez vérifier.<br/>Consultez votre application pour plus de détails.");
- }
- EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document1.html());
- String randomString = ToolUtil.getRandomString(10);
- //开始生成pdf收据和html收据
- File file = new File("/home/igotechgh/nginx/html/files/html/");
- if(!file.exists()){
- file.mkdirs();
- }
- file = new File("/home/igotechgh/nginx/html/files/html/rewards_" + randomString + ".html");
- if(!file.exists()){
- file.createNewFile();
- }
- FileWriter fileWriter = new FileWriter(file);
- fileWriter.write(document1.html());
- fileWriter.flush();
- fileWriter.close();
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ String path1 = templatePath + "driver/index.html";
+ Document document1 = Jsoup.parse(new File(path1), "UTF-8");
+ if (1 == language) {
+ document1.getElementById("english").remove();
+ document1.getElementById("french").remove();
+ document1.getElementById("invite").remove();
+ document1.getElementById("user").remove();
+ document1.getElementById("settle").remove();
+ document1.getElementById("pass").remove();
+ document1.getElementById("email").remove();
+ document1.getElementById("bill").remove();
+ document1.getElementById("rewardToday").remove();
+ document1.getElementById("driverAudit").remove();
+ document1.getElementById("carAudit").remove();
- String link ="https://igo.i-go.group/files/html/rewards_" + randomString + ".html";
- TEmail tEmail = new TEmail();
- tEmail.setLink(link);
- tEmail.setUserId(driver.getId());
- tEmail.setType(2);
- tEmail.setName(language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense");
- tEmail.setCreateTime(new Date());
- int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
- String week = EmailUtil.getWeek(language, i);
- tEmail.setWeek(week);
- boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
- if(am){
- tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
- }else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
- }
- emailService.insert(tEmail);
+ document1.getElementsByTag("title").get(0).text("司机奖励通知");
+ Element reward_user = document1.getElementById("reward_user");
+ reward_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
+ Element reward_content = document1.getElementById("reward_content");
+ reward_content.html("今日累计在线" + dao.getOnline() + "小时,获得奖励GHS" + dah.getMoney() + ",请查收。<br/>详情请查看I-GO平台。");
+ }
+ if (2 == language) {
+ document1.getElementById("chinese").remove();
+ document1.getElementById("french").remove();
+ document1.getElementById("invite1").remove();
+ document1.getElementById("user1").remove();
+ document1.getElementById("settle1").remove();
+ document1.getElementById("pass1").remove();
+ document1.getElementById("email1").remove();
+ document1.getElementById("bill1").remove();
+ document1.getElementById("rewardToday1").remove();
+ document1.getElementById("driverAudit1").remove();
+ document1.getElementById("carAudit1").remove();
+
+ document1.getElementsByTag("title").get(0).text("Reward-driver notice");
+ Element reward1_user = document1.getElementById("reward1_user");
+ reward1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
+ Element reward1_content = document1.getElementById("reward1_content");
+ reward1_content.html("You stayed online for " + dao.getOnline() + " hours today, and got a bonus of GHS" + dah.getMoney() + ", please check.<br/>Check your app for more details.");
+ }
+ if (3 == language) {
+ document1.getElementById("chinese").remove();
+ document1.getElementById("english").remove();
+ document1.getElementById("invite2").remove();
+ document1.getElementById("user2").remove();
+ document1.getElementById("settle2").remove();
+ document1.getElementById("pass2").remove();
+ document1.getElementById("email2").remove();
+ document1.getElementById("bill2").remove();
+ document1.getElementById("rewardToday2").remove();
+ document1.getElementById("driverAudit2").remove();
+ document1.getElementById("carAudit2").remove();
+
+ document1.getElementsByTag("title").get(0).text("Avis de chauffeur de récompense");
+ Element reward2_user = document1.getElementById("reward2_user");
+ reward2_user.text("Cher(ère) " + driver.getFirstName() + "" + driver.getLastName() + ",");
+ Element reward2_content = document1.getElementById("reward2_content");
+ reward2_content.html("Vous êtes resté en ligne pendant " + dao.getOnline() + " heures aujourd’hui et avez obtenu un bonus de GHS" + dah.getMoney() + ", veuillez vérifier.<br/>Consultez votre application pour plus de détails.");
+ }
+ EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document1.html());
+ String randomString = ToolUtil.getRandomString(10);
+ //开始生成pdf收据和html收据
+ File file = new File("/home/igotechgh/nginx/html/files/html/");
+ if(!file.exists()){
+ file.mkdirs();
+ }
+ file = new File("/home/igotechgh/nginx/html/files/html/rewards_" + randomString + ".html");
+ if(!file.exists()){
+ file.createNewFile();
+ }
+ FileWriter fileWriter = new FileWriter(file);
+ fileWriter.write(document1.html());
+ fileWriter.flush();
+ fileWriter.close();
+
+ String link ="https://igo.i-go.group/files/html/rewards_" + randomString + ".html";
+ TEmail tEmail = new TEmail();
+ tEmail.setLink(link);
+ tEmail.setUserId(driver.getId());
+ tEmail.setType(2);
+ tEmail.setName(language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense");
+ tEmail.setCreateTime(new Date());
+ int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
+ String week = EmailUtil.getWeek(language, i);
+ tEmail.setWeek(week);
+ boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
+ if(am){
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
+ }else {
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
+ }
+ emailService.insert(tEmail);
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+ }).start();
}
}
}
@@ -2589,6 +2661,7 @@
Integer integer = orderService.queryOrderNum(dah.getDriverId(), date.get("startTime"), date.get("endTime"));
if(dao.getOrderNum() <= integer){
dah.setCarryOut(2);//完成状态
+ dah.setCompletionTime(new Date());
driverActivityHistoryMapper.updateById(dah);
//修改余额
Driver driver = this.selectById(dah.getDriverId());
@@ -2605,99 +2678,108 @@
Integer language = driver.getLanguage();
if(ToolUtil.isNotEmpty(driver.getEmail())) {
- String path1 = templatePath + "driver/index.html";
- Document document1 = Jsoup.parse(new File(path1), "UTF-8");
- if (1 == language) {
- document1.getElementById("english").remove();
- document1.getElementById("french").remove();
- document1.getElementById("invite").remove();
- document1.getElementById("user").remove();
- document1.getElementById("settle").remove();
- document1.getElementById("pass").remove();
- document1.getElementById("email").remove();
- document1.getElementById("bill").remove();
- document1.getElementById("rewardToday").remove();
- document1.getElementById("driverAudit").remove();
- document1.getElementById("carAudit").remove();
-
- document1.getElementsByTag("title").get(0).text("司机奖励通知");
- Element reward_user = document1.getElementById("reward_user");
- reward_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
- Element reward_content = document1.getElementById("reward_content");
- reward_content.html("今日累计接单" + dao.getOrderNum() + "单,获得奖励GHS" + dah.getMoney() + ",请查收。<br/>详情请查看I-GO平台。");
- }
- if (2 == language) {
- document1.getElementById("chinese").remove();
- document1.getElementById("french").remove();
- document1.getElementById("invite1").remove();
- document1.getElementById("user1").remove();
- document1.getElementById("settle1").remove();
- document1.getElementById("pass1").remove();
- document1.getElementById("email1").remove();
- document1.getElementById("bill1").remove();
- document1.getElementById("rewardToday1").remove();
- document1.getElementById("driverAudit1").remove();
- document1.getElementById("carAudit1").remove();
-
- document1.getElementsByTag("title").get(0).text("Reward-driver notice");
- Element reward1_user = document1.getElementById("reward1_user");
- reward1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
- Element reward1_content = document1.getElementById("reward1_content");
- reward1_content.html("You completed " + dao.getOrderNum() + " trips today, and got a bonus of GHS" + dah.getMoney() + ", please check.<br/>Check your app for more details.");
- }
- if (3 == language) {
- document1.getElementById("chinese").remove();
- document1.getElementById("english").remove();
- document1.getElementById("invite2").remove();
- document1.getElementById("user2").remove();
- document1.getElementById("settle2").remove();
- document1.getElementById("pass2").remove();
- document1.getElementById("email2").remove();
- document1.getElementById("bill2").remove();
- document1.getElementById("rewardToday2").remove();
- document1.getElementById("driverAudit2").remove();
- document1.getElementById("carAudit2").remove();
-
- document1.getElementsByTag("title").get(0).text("Avis de chauffeur de récompense");
- Element reward2_user = document1.getElementById("reward2_user");
- reward2_user.text("Cher(ère) " + driver.getFirstName() + "" + driver.getLastName() + ",");
- Element reward2_content = document1.getElementById("reward2_content");
- reward2_content.html("Vous avez effectué " + dao.getOrderNum() + " trajets aujourd’hui et avez reçu un bonus de GHS" + dah.getMoney() + ", veuillez vérifier.<br/>Consultez votre application pour plus de détails.");
- }
-
- EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document1.html());
- String randomString = ToolUtil.getRandomString(10);
- //开始生成pdf收据和html收据
- File file = new File("/home/igotechgh/nginx/html/files/html/");
- if(!file.exists()){
- file.mkdirs();
- }
- file = new File("/home/igotechgh/nginx/html/files/html/rewards_" + randomString + ".html");
- if(!file.exists()){
- file.createNewFile();
- }
- FileWriter fileWriter = new FileWriter(file);
- fileWriter.write(document1.html());
- fileWriter.flush();
- fileWriter.close();
-
- String link ="https://igo.i-go.group/files/html/rewards_" + randomString + ".html";
- TEmail tEmail = new TEmail();
- tEmail.setLink(link);
- tEmail.setUserId(driver.getId());
- tEmail.setType(2);
- tEmail.setName(language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense");
- tEmail.setCreateTime(new Date());
- int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
- String week = EmailUtil.getWeek(language, i);
- tEmail.setWeek(week);
- boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
- if(am){
- tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
- }else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
- }
- emailService.insert(tEmail);
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ String path1 = templatePath + "driver/index.html";
+ Document document1 = Jsoup.parse(new File(path1), "UTF-8");
+ if (1 == language) {
+ document1.getElementById("english").remove();
+ document1.getElementById("french").remove();
+ document1.getElementById("invite").remove();
+ document1.getElementById("user").remove();
+ document1.getElementById("settle").remove();
+ document1.getElementById("pass").remove();
+ document1.getElementById("email").remove();
+ document1.getElementById("bill").remove();
+ document1.getElementById("rewardToday").remove();
+ document1.getElementById("driverAudit").remove();
+ document1.getElementById("carAudit").remove();
+
+ document1.getElementsByTag("title").get(0).text("司机奖励通知");
+ Element reward_user = document1.getElementById("reward_user");
+ reward_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
+ Element reward_content = document1.getElementById("reward_content");
+ reward_content.html("今日累计接单" + dao.getOrderNum() + "单,获得奖励GHS" + dah.getMoney() + ",请查收。<br/>详情请查看I-GO平台。");
+ }
+ if (2 == language) {
+ document1.getElementById("chinese").remove();
+ document1.getElementById("french").remove();
+ document1.getElementById("invite1").remove();
+ document1.getElementById("user1").remove();
+ document1.getElementById("settle1").remove();
+ document1.getElementById("pass1").remove();
+ document1.getElementById("email1").remove();
+ document1.getElementById("bill1").remove();
+ document1.getElementById("rewardToday1").remove();
+ document1.getElementById("driverAudit1").remove();
+ document1.getElementById("carAudit1").remove();
+
+ document1.getElementsByTag("title").get(0).text("Reward-driver notice");
+ Element reward1_user = document1.getElementById("reward1_user");
+ reward1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
+ Element reward1_content = document1.getElementById("reward1_content");
+ reward1_content.html("You completed " + dao.getOrderNum() + " trips today, and got a bonus of GHS" + dah.getMoney() + ", please check.<br/>Check your app for more details.");
+ }
+ if (3 == language) {
+ document1.getElementById("chinese").remove();
+ document1.getElementById("english").remove();
+ document1.getElementById("invite2").remove();
+ document1.getElementById("user2").remove();
+ document1.getElementById("settle2").remove();
+ document1.getElementById("pass2").remove();
+ document1.getElementById("email2").remove();
+ document1.getElementById("bill2").remove();
+ document1.getElementById("rewardToday2").remove();
+ document1.getElementById("driverAudit2").remove();
+ document1.getElementById("carAudit2").remove();
+
+ document1.getElementsByTag("title").get(0).text("Avis de chauffeur de récompense");
+ Element reward2_user = document1.getElementById("reward2_user");
+ reward2_user.text("Cher(ère) " + driver.getFirstName() + "" + driver.getLastName() + ",");
+ Element reward2_content = document1.getElementById("reward2_content");
+ reward2_content.html("Vous avez effectué " + dao.getOrderNum() + " trajets aujourd’hui et avez reçu un bonus de GHS" + dah.getMoney() + ", veuillez vérifier.<br/>Consultez votre application pour plus de détails.");
+ }
+
+ EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document1.html());
+ String randomString = ToolUtil.getRandomString(10);
+ //开始生成pdf收据和html收据
+ File file = new File("/home/igotechgh/nginx/html/files/html/");
+ if(!file.exists()){
+ file.mkdirs();
+ }
+ file = new File("/home/igotechgh/nginx/html/files/html/rewards_" + randomString + ".html");
+ if(!file.exists()){
+ file.createNewFile();
+ }
+ FileWriter fileWriter = new FileWriter(file);
+ fileWriter.write(document1.html());
+ fileWriter.flush();
+ fileWriter.close();
+
+ String link ="https://igo.i-go.group/files/html/rewards_" + randomString + ".html";
+ TEmail tEmail = new TEmail();
+ tEmail.setLink(link);
+ tEmail.setUserId(driver.getId());
+ tEmail.setType(2);
+ tEmail.setName(language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense");
+ tEmail.setCreateTime(new Date());
+ int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
+ String week = EmailUtil.getWeek(language, i);
+ tEmail.setWeek(week);
+ boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
+ if(am){
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
+ }else {
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
+ }
+ emailService.insert(tEmail);
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+ }).start();
}
}
}
@@ -3194,6 +3276,7 @@
@Override
public List<Driver> queryIdleDriver(Integer userId, Integer type, Integer serverCarModelId, Double lon, Double lat, Double distance, Integer companyId) throws Exception {
List<Driver> drivers = driverMapper.queryIdleDriver_(type, serverCarModelId, companyId);
+ System.err.println("派单查询的司机:" + JSON.toJSONString(drivers));
String tripId = redisUtil.getValue("trip" + userId);
List<Driver> list = new ArrayList<>();
for(Driver driver : drivers){
--
Gitblit v1.7.1