From 79d97c39f1d118824f91467feb9f4a55717fd0c0 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 26 七月 2024 14:03:41 +0800
Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/IgoTravel into 2.0

---
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java | 1088 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 571 insertions(+), 517 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 bf33bed..f37df73 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
@@ -39,10 +39,7 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FileWriter;
+import java.io.*;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -1103,6 +1100,9 @@
     
         //司机登录,添加谷歌上的车辆信息
         Car car = carService.selectById(driver.getCarId());
+        if(null == car){
+            return ResultUtil.error(language == 1 ? "登录失败,请先绑定车辆" : language == 2 ? "Login failed, please bind the vehicle first" : "La connexion a échoué, veuillez d’abord lier le véhicule");
+        }
         if(!StringUtils.hasLength(car.getVehicleId())){
             car.setVehicleId(UUIDUtil.getRandomCode());
             carService.updateById(car);
@@ -1187,6 +1187,7 @@
         DriverWork driverWork = driverWorkMapper.queryNewWork(uid, null, 1);
         Driver driver = this.selectById(uid);
         Car car = carService.selectById(driver.getCarId());
+        String audioUrl = "";
         if(null != driverWork){//作下班操作
             //检测是否有未完成的订单
             List<Map<String, Object>> list = orderService.queryOrderList(1, 1, 10, uid, language);
@@ -1210,6 +1211,17 @@
                 fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
             }else{
                 fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+            }
+            switch (language){
+                case 1:
+                    audioUrl = "http://182.160.16.251:81/files/audio/AfterWork-CN.mp3";
+                    break;
+                case 2:
+                    audioUrl = "http://182.160.16.251:81/files/audio/AfterWork-EN.mp3";
+                    break;
+                case 3:
+                    audioUrl = "http://182.160.16.251:81/files/audio/AfterWork-FR.mp3";
+                    break;
             }
         }else{
             LoginWarpper loginWarpper = new LoginWarpper();
@@ -1259,9 +1271,21 @@
             }else{
                 fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
             }
+    
+            switch (language){
+                case 1:
+                    audioUrl = "http://182.160.16.251:81/files/audio/AtWork-CN.mp3";
+                    break;
+                case 2:
+                    audioUrl = "http://182.160.16.251:81/files/audio/AtWork-EN.mp3";
+                    break;
+                case 3:
+                    audioUrl = "http://182.160.16.251:81/files/audio/AtWork-FR.mp3";
+                    break;
+            }
         }
         this.updateById(driver);
-        return ResultUtil.success();
+        return ResultUtil.success(audioUrl);
     }
 
 
@@ -1346,7 +1370,7 @@
         map.put("service", list.size());//服务中
         list = orderTaxiService.queryOrderList(language, 2, uid);
         map.put("reservation", list.size());//预约
-        List<Map<String, Object>> list1 = orderLogisticsService.queryOrderList(uid, language);
+        List<Map<String, Object>> list1 = orderLogisticsService.queryOrderList(1, uid, language);
         map.put("small", list1.size());//小件
         int size = this.queryMyActivity(uid, new Date(), language).size();
         map.put("activity", size);//活动
@@ -1362,12 +1386,12 @@
      */
     @Override
     public List<BaseWarpper> queryMyBusiness(Integer uid, Integer language) throws Exception {
-        List<DriverService> list = driverServiceMapper.queryMyBusiness(uid);
+        List<Integer> list = Arrays.asList(1, 4);
         List<BaseWarpper> maps = new ArrayList<>();
-        for (DriverService d : list){
+        for (Integer d : list){
             BaseWarpper baseWarpper = new BaseWarpper();
-            baseWarpper.setId(d.getType());
-            switch (d.getType()){
+            baseWarpper.setId(d);
+            switch (d){
                 case 1:
                     baseWarpper.setName(language == 1 ? "打车" : language == 2 ? "Ride" : "Course");
                     break;
@@ -1840,104 +1864,115 @@
                     driverActivityHistoryMapper.insert(driverActivityHistory);
 
                     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("reward").remove();
-                            document1.getElementById("driverAudit").remove();
-                            document1.getElementById("carAudit").remove();
-
-                            document1.getElementsByTag("title").get(0).text("邀请司机奖励(活动)");
-                            Element rewardToday_user = document1.getElementById("rewardToday_user");
-                            rewardToday_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
-                            Element rewardToday_award = document1.getElementById("rewardToday_award");
-                            rewardToday_award.text("奖金 GHS" + driverActivityHistory.getMoney());
-                            Element rewardToday_content = document1.getElementById("rewardToday_content");
-                            rewardToday_content.text("邀请司机注册即可获得奖励。\n注意此活动是有时间限制的,详情请查看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("reward1").remove();
-                            document1.getElementById("driverAudit1").remove();
-                            document1.getElementById("carAudit1").remove();
-
-                            document1.getElementsByTag("title").get(0).text("Invite drivers and earn");
-                            Element rewardToday1_user = document1.getElementById("rewardToday1_user");
-                            rewardToday1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
-                            Element rewardToday1_award = document1.getElementById("rewardToday1_award");
-                            rewardToday1_award.text("GHS " + driverActivityHistory.getMoney() + " BONUS");
-                            Element rewardToday1_content = document1.getElementById("rewardToday1_content");
-                            rewardToday1_content.text("Get a bonus on I-GO today.\nInvite drivers to register to get the bonus.\nNote that this is a limited-time offer. 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("reward2").remove();
-                            document1.getElementById("driverAudit2").remove();
-                            document1.getElementById("carAudit2").remove();
-
-                            document1.getElementsByTag("title").get(0).text("Invitez des chauffeurs et gagnez de l’argent");
-                            Element rewardToday2_user = document1.getElementById("rewardToday2_user");
-                            rewardToday2_user.text("Cher(ère) " + driver.getFirstName() + "" + driver.getLastName() + ",");
-                            Element rewardToday2_award = document1.getElementById("rewardToday2_award");
-                            rewardToday2_award.text("Bonus GHS " + driverActivityHistory.getMoney());
-                            Element rewardToday2_content = document1.getElementById("rewardToday2_content");
-                            rewardToday2_content.text("Obtenez un bonus sur I-GO dès aujourd’hui.\nInvitez les chauffeurs à s’inscrire pour obtenir le bonus.\nNotez qu’il s’agit d’une offre d’une durée limitée. Consultez votre application pour plus de détails.");
-                        }
-                        EmailUtil.send(driver.getEmail(), language == 1 ? "邀请司机奖励(活动)" : language == 2 ? "Invite drivers and earn" : "Invitez des chauffeurs et gagnez de l’argent", document1.html());
-                        String randomString = ToolUtil.getRandomString(10);
-                        //开始生成pdf收据和html收据
-                        File file = new File("/usr/local/nginx/html/files/html/");
-                        if(!file.exists()){
-                            file.mkdirs();
-                        }
-                        file = new File("/usr/local/nginx/html/files/html/activity_" + randomString + ".html");
-                        if(!file.exists()){
-                            file.createNewFile();
-                        }
-                        FileWriter fileWriter = new FileWriter(file);
-                        fileWriter.write(document1.html());
-                        fileWriter.flush();
-                        fileWriter.close();
-
-                        String link ="http://182.160.16.251:81/files/html/activity_" + randomString + ".html";
-                        TEmail tEmail = new TEmail();
-                        tEmail.setLink(link);
-                        tEmail.setUserId(driver.getId());
-                        tEmail.setType(2);
-                        tEmail.setName(language == 1 ? "邀请司机奖励(活动)" : language == 2 ? "Invite drivers and earn" : "Invitez des chauffeurs et gagnez de l’argent");
-                        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(() -> {
+                            try {
+                                String path1 = templatePath + "driver/index.html";
+                                Document document1 = null;
+                                try {
+                                    document1 = Jsoup.parse(new File(path1), "UTF-8");
+                                } catch (IOException e) {
+                                    throw new RuntimeException(e);
+                                }
+                                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("reward").remove();
+                                    document1.getElementById("driverAudit").remove();
+                                    document1.getElementById("carAudit").remove();
+        
+                                    document1.getElementsByTag("title").get(0).text("邀请司机奖励(活动)");
+                                    Element rewardToday_user = document1.getElementById("rewardToday_user");
+                                    rewardToday_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
+                                    Element rewardToday_award = document1.getElementById("rewardToday_award");
+                                    rewardToday_award.text("奖金 GHS" + driverActivityHistory.getMoney());
+                                    Element rewardToday_content = document1.getElementById("rewardToday_content");
+                                    rewardToday_content.text("邀请司机注册即可获得奖励。\n注意此活动是有时间限制的,详情请查看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("reward1").remove();
+                                    document1.getElementById("driverAudit1").remove();
+                                    document1.getElementById("carAudit1").remove();
+        
+                                    document1.getElementsByTag("title").get(0).text("Invite drivers and earn");
+                                    Element rewardToday1_user = document1.getElementById("rewardToday1_user");
+                                    rewardToday1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
+                                    Element rewardToday1_award = document1.getElementById("rewardToday1_award");
+                                    rewardToday1_award.text("GHS " + driverActivityHistory.getMoney() + " BONUS");
+                                    Element rewardToday1_content = document1.getElementById("rewardToday1_content");
+                                    rewardToday1_content.text("Get a bonus on I-GO today.\nInvite drivers to register to get the bonus.\nNote that this is a limited-time offer. 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("reward2").remove();
+                                    document1.getElementById("driverAudit2").remove();
+                                    document1.getElementById("carAudit2").remove();
+        
+                                    document1.getElementsByTag("title").get(0).text("Invitez des chauffeurs et gagnez de l’argent");
+                                    Element rewardToday2_user = document1.getElementById("rewardToday2_user");
+                                    rewardToday2_user.text("Cher(ère) " + driver.getFirstName() + "" + driver.getLastName() + ",");
+                                    Element rewardToday2_award = document1.getElementById("rewardToday2_award");
+                                    rewardToday2_award.text("Bonus GHS " + driverActivityHistory.getMoney());
+                                    Element rewardToday2_content = document1.getElementById("rewardToday2_content");
+                                    rewardToday2_content.text("Obtenez un bonus sur I-GO dès aujourd’hui.\nInvitez les chauffeurs à s’inscrire pour obtenir le bonus.\nNotez qu’il s’agit d’une offre d’une durée limitée. Consultez votre application pour plus de détails.");
+                                }
+                                EmailUtil.send(driver.getEmail(), language == 1 ? "邀请司机奖励(活动)" : language == 2 ? "Invite drivers and earn" : "Invitez des chauffeurs et gagnez de l’argent", document1.html());
+                                String randomString = ToolUtil.getRandomString(10);
+                                //开始生成pdf收据和html收据
+                                File file = new File("/usr/local/nginx/html/files/html/");
+                                if(!file.exists()){
+                                    file.mkdirs();
+                                }
+                                file = new File("/usr/local/nginx/html/files/html/activity_" + randomString + ".html");
+                                if(!file.exists()){
+                                    file.createNewFile();
+                                }
+                                FileWriter fileWriter = new FileWriter(file);
+                                fileWriter.write(document1.html());
+                                fileWriter.flush();
+                                fileWriter.close();
+    
+                                String link ="http://182.160.16.251:81/files/html/activity_" + randomString + ".html";
+                                TEmail tEmail = new TEmail();
+                                tEmail.setLink(link);
+                                tEmail.setUserId(driver.getId());
+                                tEmail.setType(2);
+                                tEmail.setName(language == 1 ? "邀请司机奖励(活动)" : language == 2 ? "Invite drivers and earn" : "Invitez des chauffeurs et gagnez de l’argent");
+                                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();
                     }
                 }
             }
@@ -1956,104 +1991,110 @@
                     driverActivityHistoryMapper.insert(driverActivityHistory);
 
                     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("reward").remove();
-                            document1.getElementById("driverAudit").remove();
-                            document1.getElementById("carAudit").remove();
-
-                            document1.getElementsByTag("title").get(0).text("邀请用户奖励(活动)");
-                            Element rewardToday_user = document1.getElementById("rewardToday_user");
-                            rewardToday_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
-                            Element rewardToday_award = document1.getElementById("rewardToday_award");
-                            rewardToday_award.text("奖金 GHS" + driverActivityHistory.getMoney());
-                            Element rewardToday_content = document1.getElementById("rewardToday_content");
-                            rewardToday_content.text("邀请用户注册即可获得奖励。\n 注意此活动是有时间限制的,详情请查看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("reward1").remove();
-                            document1.getElementById("driverAudit1").remove();
-                            document1.getElementById("carAudit1").remove();
-
-                            document1.getElementsByTag("title").get(0).text("Invite users and earn");
-                            Element rewardToday1_user = document1.getElementById("rewardToday1_user");
-                            rewardToday1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
-                            Element rewardToday1_award = document1.getElementById("rewardToday1_award");
-                            rewardToday1_award.text("GHS " + driverActivityHistory.getMoney() + " BONUS");
-                            Element rewardToday1_content = document1.getElementById("rewardToday1_content");
-                            rewardToday1_content.text("Get a bonus on I-GO today.\nInvite users to register to get the bonus.\nNote that this is a limited-time offer. 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("reward2").remove();
-                            document1.getElementById("driverAudit2").remove();
-                            document1.getElementById("carAudit2").remove();
-
-                            document1.getElementsByTag("title").get(0).text("Invitez des utilisateurs et gagnez de l’argent");
-                            Element rewardToday2_user = document1.getElementById("rewardToday2_user");
-                            rewardToday2_user.text("Cher(ère)  " + driver.getFirstName() + "" + driver.getLastName() + ",");
-                            Element rewardToday2_award = document1.getElementById("rewardToday2_award");
-                            rewardToday2_award.text("Bonus GHS " + driverActivityHistory.getMoney());
-                            Element rewardToday2_content = document1.getElementById("rewardToday2_content");
-                            rewardToday2_content.text("Obtenez un bonus sur I-GO dès aujourd’hui.\nInvitez les utilisateurs à s’inscrire pour obtenir le bonus.\nNotez qu’il s’agit d’une offre d’une durée limitée. Consultez votre application pour plus de détails.");
-                        }
-                        EmailUtil.send(driver.getEmail(), language == 1 ? "邀请用户奖励(活动)" : language == 2 ? "Invite users and earn" : "Invitez des utilisateurs et gagnez de l’argent", document1.html());
-                        String randomString = ToolUtil.getRandomString(10);
-                        //开始生成pdf收据和html收据
-                        File file = new File("/usr/local/nginx/html/files/html/");
-                        if(!file.exists()){
-                            file.mkdirs();
-                        }
-                        file = new File("/usr/local/nginx/html/files/html/activity_" + randomString + ".html");
-                        if(!file.exists()){
-                            file.createNewFile();
-                        }
-                        FileWriter fileWriter = new FileWriter(file);
-                        fileWriter.write(document1.html());
-                        fileWriter.flush();
-                        fileWriter.close();
-
-                        String link ="http://182.160.16.251:81/files/html/activity_" + randomString + ".html";
-                        TEmail tEmail = new TEmail();
-                        tEmail.setLink(link);
-                        tEmail.setUserId(driver.getId());
-                        tEmail.setType(2);
-                        tEmail.setName(language == 1 ? "邀请用户奖励(活动)" : language == 2 ? "Invite users and earn" : "Invitez des utilisateurs et gagnez de l’argent");
-                        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(() -> {
+                            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("reward").remove();
+                                    document1.getElementById("driverAudit").remove();
+                                    document1.getElementById("carAudit").remove();
+        
+                                    document1.getElementsByTag("title").get(0).text("邀请用户奖励(活动)");
+                                    Element rewardToday_user = document1.getElementById("rewardToday_user");
+                                    rewardToday_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
+                                    Element rewardToday_award = document1.getElementById("rewardToday_award");
+                                    rewardToday_award.text("奖金 GHS" + driverActivityHistory.getMoney());
+                                    Element rewardToday_content = document1.getElementById("rewardToday_content");
+                                    rewardToday_content.text("邀请用户注册即可获得奖励。\n 注意此活动是有时间限制的,详情请查看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("reward1").remove();
+                                    document1.getElementById("driverAudit1").remove();
+                                    document1.getElementById("carAudit1").remove();
+        
+                                    document1.getElementsByTag("title").get(0).text("Invite users and earn");
+                                    Element rewardToday1_user = document1.getElementById("rewardToday1_user");
+                                    rewardToday1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
+                                    Element rewardToday1_award = document1.getElementById("rewardToday1_award");
+                                    rewardToday1_award.text("GHS " + driverActivityHistory.getMoney() + " BONUS");
+                                    Element rewardToday1_content = document1.getElementById("rewardToday1_content");
+                                    rewardToday1_content.text("Get a bonus on I-GO today.\nInvite users to register to get the bonus.\nNote that this is a limited-time offer. 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("reward2").remove();
+                                    document1.getElementById("driverAudit2").remove();
+                                    document1.getElementById("carAudit2").remove();
+        
+                                    document1.getElementsByTag("title").get(0).text("Invitez des utilisateurs et gagnez de l’argent");
+                                    Element rewardToday2_user = document1.getElementById("rewardToday2_user");
+                                    rewardToday2_user.text("Cher(ère)  " + driver.getFirstName() + "" + driver.getLastName() + ",");
+                                    Element rewardToday2_award = document1.getElementById("rewardToday2_award");
+                                    rewardToday2_award.text("Bonus GHS " + driverActivityHistory.getMoney());
+                                    Element rewardToday2_content = document1.getElementById("rewardToday2_content");
+                                    rewardToday2_content.text("Obtenez un bonus sur I-GO dès aujourd’hui.\nInvitez les utilisateurs à s’inscrire pour obtenir le bonus.\nNotez qu’il s’agit d’une offre d’une durée limitée. Consultez votre application pour plus de détails.");
+                                }
+                                EmailUtil.send(driver.getEmail(), language == 1 ? "邀请用户奖励(活动)" : language == 2 ? "Invite users and earn" : "Invitez des utilisateurs et gagnez de l’argent", document1.html());
+                                String randomString = ToolUtil.getRandomString(10);
+                                //开始生成pdf收据和html收据
+                                File file = new File("/usr/local/nginx/html/files/html/");
+                                if(!file.exists()){
+                                    file.mkdirs();
+                                }
+                                file = new File("/usr/local/nginx/html/files/html/activity_" + randomString + ".html");
+                                if(!file.exists()){
+                                    file.createNewFile();
+                                }
+                                FileWriter fileWriter = new FileWriter(file);
+                                fileWriter.write(document1.html());
+                                fileWriter.flush();
+                                fileWriter.close();
+    
+                                String link ="http://182.160.16.251:81/files/html/activity_" + randomString + ".html";
+                                TEmail tEmail = new TEmail();
+                                tEmail.setLink(link);
+                                tEmail.setUserId(driver.getId());
+                                tEmail.setType(2);
+                                tEmail.setName(language == 1 ? "邀请用户奖励(活动)" : language == 2 ? "Invite users and earn" : "Invitez des utilisateurs et gagnez de l’argent");
+                                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();
                     }
                 }
             }
@@ -2073,104 +2114,110 @@
                     driverActivityHistoryMapper.insert(driverActivityHistory);
 
                     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("reward").remove();
-                            document1.getElementById("driverAudit").remove();
-                            document1.getElementById("carAudit").remove();
-
-                            document1.getElementsByTag("title").get(0).text("在线时长奖励(活动)");
-                            Element rewardToday_user = document1.getElementById("rewardToday_user");
-                            rewardToday_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
-                            Element rewardToday_award = document1.getElementById("rewardToday_award");
-                            rewardToday_award.text("奖金 GHS" + driverActivityHistory.getMoney());
-                            Element rewardToday_content = document1.getElementById("rewardToday_content");
-                            rewardToday_content.text("今日累计在线" + driverActivityOnline.getOnline() + "小时即可活动奖励。\n 注意此活动是有时间限制的,详情请查看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("reward1").remove();
-                            document1.getElementById("driverAudit1").remove();
-                            document1.getElementById("carAudit1").remove();
-
-                            document1.getElementsByTag("title").get(0).text("Online-duration reward activity");
-                            Element rewardToday1_user = document1.getElementById("rewardToday1_user");
-                            rewardToday1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
-                            Element rewardToday1_award = document1.getElementById("rewardToday1_award");
-                            rewardToday1_award.text("GHS " + driverActivityHistory.getMoney() + " BONUS");
-                            Element rewardToday1_content = document1.getElementById("rewardToday1_content");
-                            rewardToday1_content.text("Get a bonus for driving on I-GO today.\nStay online for " + driverActivityOnline.getOnline() + " hours to get the bonus.\nNote that this is a limited-time offer. 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("reward2").remove();
-                            document1.getElementById("driverAudit2").remove();
-                            document1.getElementById("carAudit2").remove();
-
-                            document1.getElementsByTag("title").get(0).text("Activité de récompense en ligne");
-                            Element rewardToday2_user = document1.getElementById("rewardToday2_user");
-                            rewardToday2_user.text("Cher(ère) " + driver.getFirstName() + "" + driver.getLastName() + ",");
-                            Element rewardToday2_award = document1.getElementById("rewardToday2_award");
-                            rewardToday2_award.text("Bonus GHS " + driverActivityHistory.getMoney());
-                            Element rewardToday2_content = document1.getElementById("rewardToday2_content");
-                            rewardToday2_content.text("Obtenez un bonus pour conduire sur I-GO dès aujourd’hui.\nRestez en ligne pendant " + driverActivityOnline.getOnline() + " heures pour obtenir le bonus.\nNotez qu’il s’agit d’une offre d’une durée limitée. Consultez votre application pour plus de détails.");
-                        }
-                        EmailUtil.send(driver.getEmail(), language == 1 ? "在线时长奖励(活动)" : language == 2 ? "Online-duration reward activity" : "Activité de récompense en ligne", document1.html());
-                        String randomString = ToolUtil.getRandomString(10);
-                        //开始生成pdf收据和html收据
-                        File file = new File("/usr/local/nginx/html/files/html/");
-                        if(!file.exists()){
-                            file.mkdirs();
-                        }
-                        file = new File("/usr/local/nginx/html/files/html/activity_" + randomString + ".html");
-                        if(!file.exists()){
-                            file.createNewFile();
-                        }
-                        FileWriter fileWriter = new FileWriter(file);
-                        fileWriter.write(document1.html());
-                        fileWriter.flush();
-                        fileWriter.close();
-
-                        String link ="http://182.160.16.251:81/files/html/activity_" + randomString + ".html";
-                        TEmail tEmail = new TEmail();
-                        tEmail.setLink(link);
-                        tEmail.setUserId(driver.getId());
-                        tEmail.setType(2);
-                        tEmail.setName(language == 1 ? "在线时长奖励(活动)" : language == 2 ? "Online-duration reward activity" : "Activité de récompense en ligne");
-                        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(() -> {
+                            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("reward").remove();
+                                    document1.getElementById("driverAudit").remove();
+                                    document1.getElementById("carAudit").remove();
+        
+                                    document1.getElementsByTag("title").get(0).text("在线时长奖励(活动)");
+                                    Element rewardToday_user = document1.getElementById("rewardToday_user");
+                                    rewardToday_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
+                                    Element rewardToday_award = document1.getElementById("rewardToday_award");
+                                    rewardToday_award.text("奖金 GHS" + driverActivityHistory.getMoney());
+                                    Element rewardToday_content = document1.getElementById("rewardToday_content");
+                                    rewardToday_content.text("今日累计在线" + driverActivityOnline.getOnline() + "小时即可活动奖励。\n 注意此活动是有时间限制的,详情请查看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("reward1").remove();
+                                    document1.getElementById("driverAudit1").remove();
+                                    document1.getElementById("carAudit1").remove();
+        
+                                    document1.getElementsByTag("title").get(0).text("Online-duration reward activity");
+                                    Element rewardToday1_user = document1.getElementById("rewardToday1_user");
+                                    rewardToday1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
+                                    Element rewardToday1_award = document1.getElementById("rewardToday1_award");
+                                    rewardToday1_award.text("GHS " + driverActivityHistory.getMoney() + " BONUS");
+                                    Element rewardToday1_content = document1.getElementById("rewardToday1_content");
+                                    rewardToday1_content.text("Get a bonus for driving on I-GO today.\nStay online for " + driverActivityOnline.getOnline() + " hours to get the bonus.\nNote that this is a limited-time offer. 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("reward2").remove();
+                                    document1.getElementById("driverAudit2").remove();
+                                    document1.getElementById("carAudit2").remove();
+        
+                                    document1.getElementsByTag("title").get(0).text("Activité de récompense en ligne");
+                                    Element rewardToday2_user = document1.getElementById("rewardToday2_user");
+                                    rewardToday2_user.text("Cher(ère) " + driver.getFirstName() + "" + driver.getLastName() + ",");
+                                    Element rewardToday2_award = document1.getElementById("rewardToday2_award");
+                                    rewardToday2_award.text("Bonus GHS " + driverActivityHistory.getMoney());
+                                    Element rewardToday2_content = document1.getElementById("rewardToday2_content");
+                                    rewardToday2_content.text("Obtenez un bonus pour conduire sur I-GO dès aujourd’hui.\nRestez en ligne pendant " + driverActivityOnline.getOnline() + " heures pour obtenir le bonus.\nNotez qu’il s’agit d’une offre d’une durée limitée. Consultez votre application pour plus de détails.");
+                                }
+                                EmailUtil.send(driver.getEmail(), language == 1 ? "在线时长奖励(活动)" : language == 2 ? "Online-duration reward activity" : "Activité de récompense en ligne", document1.html());
+                                String randomString = ToolUtil.getRandomString(10);
+                                //开始生成pdf收据和html收据
+                                File file = new File("/usr/local/nginx/html/files/html/");
+                                if(!file.exists()){
+                                    file.mkdirs();
+                                }
+                                file = new File("/usr/local/nginx/html/files/html/activity_" + randomString + ".html");
+                                if(!file.exists()){
+                                    file.createNewFile();
+                                }
+                                FileWriter fileWriter = new FileWriter(file);
+                                fileWriter.write(document1.html());
+                                fileWriter.flush();
+                                fileWriter.close();
+    
+                                String link ="http://182.160.16.251:81/files/html/activity_" + randomString + ".html";
+                                TEmail tEmail = new TEmail();
+                                tEmail.setLink(link);
+                                tEmail.setUserId(driver.getId());
+                                tEmail.setType(2);
+                                tEmail.setName(language == 1 ? "在线时长奖励(活动)" : language == 2 ? "Online-duration reward activity" : "Activité de récompense en ligne");
+                                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();
                     }
                 }
             }
@@ -2190,104 +2237,110 @@
                     driverActivityHistoryMapper.insert(driverActivityHistory);
 
                     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("reward").remove();
-                            document1.getElementById("driverAudit").remove();
-                            document1.getElementById("carAudit").remove();
-
-                            document1.getElementsByTag("title").get(0).text("累计接单奖励(活动)");
-                            Element rewardToday_user = document1.getElementById("rewardToday_user");
-                            rewardToday_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
-                            Element rewardToday_award = document1.getElementById("rewardToday_award");
-                            rewardToday_award.text("奖金 GHS" + driverActivityHistory.getMoney());
-                            Element rewardToday_content = document1.getElementById("rewardToday_content");
-                            rewardToday_content.text("今日累计完成" + driverActivityOrder.getOrderNum() + "单即可活动奖励。\n 注意此活动是有时间限制的,详情请查看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("reward1").remove();
-                            document1.getElementById("driverAudit1").remove();
-                            document1.getElementById("carAudit1").remove();
-
-                            document1.getElementsByTag("title").get(0).text("Cumulative order activity");
-                            Element rewardToday1_user = document1.getElementById("rewardToday1_user");
-                            rewardToday1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
-                            Element rewardToday1_award = document1.getElementById("rewardToday1_award");
-                            rewardToday1_award.text("GHS " + driverActivityHistory.getMoney() + " BONUS");
-                            Element rewardToday1_content = document1.getElementById("rewardToday1_content");
-                            rewardToday1_content.text("Get a bonus for driving on I-GO today.\nStay online and complete " + driverActivityOrder.getOrderNum() + " trips to get the bonus.\nNote that this is a limited-time offer. 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("reward2").remove();
-                            document1.getElementById("driverAudit2").remove();
-                            document1.getElementById("carAudit2").remove();
-
-                            document1.getElementsByTag("title").get(0).text("Activité cumulée des commandes");
-                            Element rewardToday2_user = document1.getElementById("rewardToday2_user");
-                            rewardToday2_user.text("Cher(ère) " + driver.getFirstName() + "" + driver.getLastName() + ",");
-                            Element rewardToday2_award = document1.getElementById("rewardToday2_award");
-                            rewardToday2_award.text("Bonus GHS " + driverActivityHistory.getMoney());
-                            Element rewardToday2_content = document1.getElementById("rewardToday2_content");
-                            rewardToday2_content.text("Obtenez un bonus pour conduire sur I-GO dès aujourd’hui.\nRestez en ligne et effectuez " + driverActivityOrder.getOrderNum() + " trajets pour obtenir le bonus.\nNotez qu’il s’agit d’une offre d’une durée limitée. Consultez votre application pour plus de détails.");
-                        }
-                        EmailUtil.send(driver.getEmail(), language == 1 ? "累计接单奖励(活动)" : language == 2 ? "Cumulative order activity" : "Activité cumulée des commandes", document1.html());
-                        String randomString = ToolUtil.getRandomString(10);
-                        //开始生成pdf收据和html收据
-                        File file = new File("/usr/local/nginx/html/files/html/");
-                        if(!file.exists()){
-                            file.mkdirs();
-                        }
-                        file = new File("/usr/local/nginx/html/files/html/activity_" + randomString + ".html");
-                        if(!file.exists()){
-                            file.createNewFile();
-                        }
-                        FileWriter fileWriter = new FileWriter(file);
-                        fileWriter.write(document1.html());
-                        fileWriter.flush();
-                        fileWriter.close();
-
-                        String link ="http://182.160.16.251:81/files/html/activity_" + randomString + ".html";
-                        TEmail tEmail = new TEmail();
-                        tEmail.setLink(link);
-                        tEmail.setUserId(driver.getId());
-                        tEmail.setType(2);
-                        tEmail.setName(language == 1 ? "累计接单奖励(活动)" : language == 2 ? "Cumulative order activity" : "Activité cumulée des commandes");
-                        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(() -> {
+                            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("reward").remove();
+                                    document1.getElementById("driverAudit").remove();
+                                    document1.getElementById("carAudit").remove();
+        
+                                    document1.getElementsByTag("title").get(0).text("累计接单奖励(活动)");
+                                    Element rewardToday_user = document1.getElementById("rewardToday_user");
+                                    rewardToday_user.text("您好 " + driver.getFirstName() + "" + driver.getLastName() + ",");
+                                    Element rewardToday_award = document1.getElementById("rewardToday_award");
+                                    rewardToday_award.text("奖金 GHS" + driverActivityHistory.getMoney());
+                                    Element rewardToday_content = document1.getElementById("rewardToday_content");
+                                    rewardToday_content.text("今日累计完成" + driverActivityOrder.getOrderNum() + "单即可活动奖励。\n 注意此活动是有时间限制的,详情请查看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("reward1").remove();
+                                    document1.getElementById("driverAudit1").remove();
+                                    document1.getElementById("carAudit1").remove();
+        
+                                    document1.getElementsByTag("title").get(0).text("Cumulative order activity");
+                                    Element rewardToday1_user = document1.getElementById("rewardToday1_user");
+                                    rewardToday1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
+                                    Element rewardToday1_award = document1.getElementById("rewardToday1_award");
+                                    rewardToday1_award.text("GHS " + driverActivityHistory.getMoney() + " BONUS");
+                                    Element rewardToday1_content = document1.getElementById("rewardToday1_content");
+                                    rewardToday1_content.text("Get a bonus for driving on I-GO today.\nStay online and complete " + driverActivityOrder.getOrderNum() + " trips to get the bonus.\nNote that this is a limited-time offer. 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("reward2").remove();
+                                    document1.getElementById("driverAudit2").remove();
+                                    document1.getElementById("carAudit2").remove();
+        
+                                    document1.getElementsByTag("title").get(0).text("Activité cumulée des commandes");
+                                    Element rewardToday2_user = document1.getElementById("rewardToday2_user");
+                                    rewardToday2_user.text("Cher(ère) " + driver.getFirstName() + "" + driver.getLastName() + ",");
+                                    Element rewardToday2_award = document1.getElementById("rewardToday2_award");
+                                    rewardToday2_award.text("Bonus GHS " + driverActivityHistory.getMoney());
+                                    Element rewardToday2_content = document1.getElementById("rewardToday2_content");
+                                    rewardToday2_content.text("Obtenez un bonus pour conduire sur I-GO dès aujourd’hui.\nRestez en ligne et effectuez " + driverActivityOrder.getOrderNum() + " trajets pour obtenir le bonus.\nNotez qu’il s’agit d’une offre d’une durée limitée. Consultez votre application pour plus de détails.");
+                                }
+                                EmailUtil.send(driver.getEmail(), language == 1 ? "累计接单奖励(活动)" : language == 2 ? "Cumulative order activity" : "Activité cumulée des commandes", document1.html());
+                                String randomString = ToolUtil.getRandomString(10);
+                                //开始生成pdf收据和html收据
+                                File file = new File("/usr/local/nginx/html/files/html/");
+                                if(!file.exists()){
+                                    file.mkdirs();
+                                }
+                                file = new File("/usr/local/nginx/html/files/html/activity_" + randomString + ".html");
+                                if(!file.exists()){
+                                    file.createNewFile();
+                                }
+                                FileWriter fileWriter = new FileWriter(file);
+                                fileWriter.write(document1.html());
+                                fileWriter.flush();
+                                fileWriter.close();
+    
+                                String link ="http://182.160.16.251:81/files/html/activity_" + randomString + ".html";
+                                TEmail tEmail = new TEmail();
+                                tEmail.setLink(link);
+                                tEmail.setUserId(driver.getId());
+                                tEmail.setType(2);
+                                tEmail.setName(language == 1 ? "累计接单奖励(活动)" : language == 2 ? "Cumulative order activity" : "Activité cumulée des commandes");
+                                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();
                     }
                 }
             }
@@ -2302,7 +2355,6 @@
     @Override
     public void taskMinute() throws Exception {
         Map<String, Date> date = dateUtil.getStartAndEndDate(new Date());
-        Integer language = 2;
         //在线时长
         List<DriverActivityHistory> list = driverActivityHistoryMapper.queryList(null, 3, 1, date.get("startTime"), date.get("endTime"));
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@@ -2311,120 +2363,121 @@
             if(null == dao){
                 continue;
             }
-            Long duration = Long.valueOf(dao.getOnline() * 3600);
-            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);//完成状态
-                    driverActivityHistoryMapper.updateById(dah);
-                    //修改余额
-                    Driver driver = this.selectById(dah.getDriverId());
-                    driver.setActivityMoney(new BigDecimal(null != driver.getActivityMoney() ? driver.getActivityMoney() : 0)
-                            .add(new BigDecimal(dah.getMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
-                    driver.setLaveActivityMoney(new BigDecimal(null != driver.getLaveActivityMoney() ? driver.getLaveActivityMoney() : 0)
-                            .add(new BigDecimal(dah.getMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
-                    driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0)
-                            .add(new BigDecimal(dah.getMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
-                    this.updateById(driver);
-
-                    //添加收入记录
-                    incomeService.saveData(2, driverOnline.getDriverId(), 1, dah.getId(), null, dah.getMoney());
-
-
-                    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.text("今日累计在线" + dao.getOnline() + "小时,获得奖励GHS" + dah.getMoney() + ",请查收。\n详情请查看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.text("You stayed online for " + dao.getOnline() + " hours today, and got a bonus of GHS" + dah.getMoney() + ", please check.\nCheck 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.text("Vous êtes resté en ligne pendant " + dao.getOnline() + " heures aujourd’hui et avez obtenu un bonus de GHS" + dah.getMoney() + ", veuillez vérifier.\nConsultez 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("/usr/local/nginx/html/files/html/");
-                        if(!file.exists()){
-                            file.mkdirs();
-                        }
-                        file = new File("/usr/local/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 ="http://182.160.16.251:81/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);
+            Long duration = Double.valueOf(dao.getOnline() * 3600).longValue();
+            List<DriverOnline> driverOnlines = driverOnlineMapper.queryList(sdf.format(new Date()), null, dah.getDriverId(), duration);
+            if(driverOnlines.size() > 0){
+                dah.setCarryOut(2);//完成状态
+                driverActivityHistoryMapper.updateById(dah);
+    
+                redisUtil.remove("driverActivity_" + dah.getDriverId() + "_" + dah.getId());
+                
+                //修改余额
+                Driver driver = this.selectById(dah.getDriverId());
+                driver.setActivityMoney(new BigDecimal(null != driver.getActivityMoney() ? driver.getActivityMoney() : 0)
+                        .add(new BigDecimal(dah.getMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+                driver.setLaveActivityMoney(new BigDecimal(null != driver.getLaveActivityMoney() ? driver.getLaveActivityMoney() : 0)
+                        .add(new BigDecimal(dah.getMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+                driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0)
+                        .add(new BigDecimal(dah.getMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+                this.updateById(driver);
+    
+                //添加收入记录
+                incomeService.saveData(2, dah.getDriverId(), 1, dah.getId(), null, dah.getMoney());
+    
+                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.text("今日累计在线" + dao.getOnline() + "小时,获得奖励GHS" + dah.getMoney() + ",请查收。\n详情请查看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.text("You stayed online for " + dao.getOnline() + " hours today, and got a bonus of GHS" + dah.getMoney() + ", please check.\nCheck 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.text("Vous êtes resté en ligne pendant " + dao.getOnline() + " heures aujourd’hui et avez obtenu un bonus de GHS" + dah.getMoney() + ", veuillez vérifier.\nConsultez 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("/usr/local/nginx/html/files/html/");
+                    if(!file.exists()){
+                        file.mkdirs();
+                    }
+                    file = new File("/usr/local/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 ="http://182.160.16.251:81/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);
                 }
             }
         }
@@ -2449,7 +2502,8 @@
 
                 //添加收入记录
                 incomeService.saveData(2, dah.getDriverId(), 1, dah.getId(), null, dah.getMoney());
-
+    
+                Integer language = driver.getLanguage();
                 if(ToolUtil.isNotEmpty(driver.getEmail())) {
                     String path1 = templatePath + "driver/index.html";
                     Document document1 = Jsoup.parse(new File(path1), "UTF-8");

--
Gitblit v1.7.1