From 9ef2e272c6ef99d152c5d6afc95af70a3822c57d Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 09 九月 2023 18:12:28 +0800
Subject: [PATCH] 修改bug

---
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java |  534 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 498 insertions(+), 36 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 2fd68d8..3836f67 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
@@ -20,6 +20,7 @@
 import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo;
 import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil;
 import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo;
+import com.stylefeng.guns.modular.system.util.itextpdf.HtmlToPdfUtils;
 import com.stylefeng.guns.modular.system.warpper.*;
 import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
 import org.apache.shiro.authc.SimpleAuthenticationInfo;
@@ -37,6 +38,9 @@
 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.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -143,6 +147,13 @@
 
     private String salt = "SA;d5#";
 
+    @Autowired
+    private SMSUtil smsUtil;
+
+
+    @Autowired
+    private TEmailService emailService;
+
 
     @Override
     public Integer getAppOpenInfo(Integer type) {
@@ -162,6 +173,21 @@
      */
     @Override
     public ResultUtil queryCaptcha(String phone, Integer type, Integer language) throws Exception {
+        if(type == 3){
+            Driver driver1 = driverMapper.queryByPhone(phone);
+            if(null != driver1){
+                if(driver1.getAuthState() == 1){
+                    return ResultUtil.error(language == 1 ? "该司机正在审核中" : language == 2 ? "The driver is currently under review" : "The driver is currently under review");
+                }
+                if(driver1.getAuthState() == 2){
+                    return ResultUtil.error(language == 1 ? "该司机已存在" : language == 2 ? "The driver already exists" : "Les Driver already exists");
+                }
+                if(driver1.getAuthState() == 3){
+                    return ResultUtil.error(language == 1 ? "该司机账号已被冻结" : language == 2 ? "The driver's account has been frozen" : "Le compte du conducteur a été froid");
+                }
+            }
+        }
+
         Random random = new Random();
         StringBuffer sb = new StringBuffer();
         for(int i = 0; i < 4; i++){
@@ -183,7 +209,7 @@
                 sms = "Votre code de vérification est: " + authCode + ". Ce code est valide pendant 5 minutes. Ne le divulguez pas aux autres!";
                 break;
         }
-        SMSUtil.sendTwilioMessage("+" + phone, sms);
+        smsUtil.sendCellulantMessage(phone, sms);
         System.out.println(sms);
         return ResultUtil.success();
     }
@@ -201,7 +227,7 @@
         //发送验证码短信
         redisUtil.setStrValue(email, authCode, 5 * 60);//设置五分钟过期
 
-        String path = templatePath + "index.html";
+        String path = templatePath + "driver/index.html";
         Document document = Jsoup.parse(new File(path), "UTF-8");
         if(1 == language){
             document.getElementById("english").remove();
@@ -307,7 +333,7 @@
                 driverMapper.updateById(driver);
 
                 if(ToolUtil.isNotEmpty(driver.getEmail())){
-                    String path = templatePath + "index.html";
+                    String path = templatePath + "driver/index.html";
                     Document document = Jsoup.parse(new File(path), "UTF-8");
                     if(1 == language){
                         document.getElementById("english").remove();
@@ -364,6 +390,49 @@
                         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 ? "invitation bonus" : "prime d'invitation",  document.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/invitation_" + randomString + ".html");
+                    if(!file.exists()){
+                        file.createNewFile();
+                    }
+                    FileWriter fileWriter = new FileWriter(file);
+                    fileWriter.write(document.html());
+                    fileWriter.flush();
+                    fileWriter.close();
+                    FileInputStream fileInputStream = new FileInputStream(file);
+                    File file1 = new File("/usr/local/nginx/html/files/pdf/");
+                    if(!file1.exists()){
+                        file1.mkdirs();
+                    }
+                    file1 = new File("/usr/local/nginx/html/files/pdf/invitation_" + randomString + ".pdf");
+                    if(!file1.exists()){
+                        file1.createNewFile();
+                    }
+                    FileOutputStream fileOutputStream = new FileOutputStream(file1);
+                    HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
+
+                    String link ="http://182.160.16.251:81/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 ? "invitation bonus" : "prime d'invitation");
+                    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?"AM":"Dans la matinée");
+                    }else {
+                        tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+                    }
+                    emailService.insert(tEmail);
                 }
 
             }
@@ -424,7 +493,6 @@
             return ResultUtil.success(loginWarpper);
         }
 
-
         driver1 = driverMapper.queryByPhone(phone);
         if(null != driver1){
             LoginWarpper loginWarpper = new LoginWarpper();
@@ -479,7 +547,7 @@
         Driver driver = this.selectById(uid);
         driver.setLastName(registeredWarpper.getLastName());
         driver.setFirstName(registeredWarpper.getFirstName());
-        driver.setSex(registeredWarpper.getSex());
+//        driver.setSex(registeredWarpper.getSex());
         driver.setIdCard(registeredWarpper.getIdCard());
         driver.setBirthday(registeredWarpper.getBirthday());
 
@@ -513,13 +581,14 @@
         driver.setPlaceOfPractice(language == 1 ? city1.getChineseName() : language == 2 ? city1.getEnglishName() : city1.getFrenchName());
 
         Calendar calendar = Calendar.getInstance();
-        calendar.setTime(registeredWarpper.getGetDriverLicenseDate());
+//        calendar.setTime(registeredWarpper.getGetDriverLicenseDate());
         Calendar now = Calendar.getInstance();
         now.setTime(new Date());
         driver.setDriverAge(now.get(Calendar.YEAR) - calendar.get(Calendar.YEAR));
-        driver.setGetDriverLicenseDate(registeredWarpper.getGetDriverLicenseDate());
+//        driver.setGetDriverLicenseDate(registeredWarpper.getGetDriverLicenseDate());
         driver.setDriveCardImgUrl1(registeredWarpper.getDriveCardImgUrl());
         driver.setDriveCardImgUrl2(registeredWarpper.getDriveCardImgUrl2());
+        driver.setDriveCard(registeredWarpper.getDriveCard());
         driver.setEmail(registeredWarpper.getEmail());
 
         this.updateById(driver);
@@ -545,7 +614,7 @@
         }
 
         if(ToolUtil.isNotEmpty(driver.getEmail())){
-            String path1 = templatePath + "index.html";
+            String path1 = templatePath + "driver/index.html";
             Document document1 = Jsoup.parse(new File(path1), "UTF-8");
             if(1 == language){
                 document1.getElementById("english").remove();
@@ -596,6 +665,49 @@
                 settle2_user.text("Bonjour " + driver.getFirstName() + "" + driver.getLastName() + ",");
             }
             EmailUtil.send(driver.getEmail(), language == 1 ? "注册成功" : language == 2 ? "registration success" : "succès de l'inscription",  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/registration_" + randomString + ".html");
+            if(!file.exists()){
+                file.createNewFile();
+            }
+            FileWriter fileWriter = new FileWriter(file);
+            fileWriter.write(document1.html());
+            fileWriter.flush();
+            fileWriter.close();
+            FileInputStream fileInputStream = new FileInputStream(file);
+            File file1 = new File("/usr/local/nginx/html/files/pdf/");
+            if(!file1.exists()){
+                file1.mkdirs();
+            }
+            file1 = new File("/usr/local/nginx/html/files/pdf/registration_" + randomString + ".pdf");
+            if(!file1.exists()){
+                file1.createNewFile();
+            }
+            FileOutputStream fileOutputStream = new FileOutputStream(file1);
+            HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
+
+            String link ="http://182.160.16.251:81/files/html/registration_" + randomString + ".html";
+            TEmail tEmail = new TEmail();
+            tEmail.setLink(link);
+            tEmail.setUserId(driver.getId());
+            tEmail.setType(2);
+            tEmail.setName(language == 1 ? "注册成功" : language == 2 ? "registration success" : "succès de l'inscription");
+            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?"AM":"Dans la matinée");
+            }else {
+                tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+            }
+            emailService.insert(tEmail);
         }
 
         return ResultUtil.success();
@@ -624,7 +736,7 @@
         driverMapper.updateById(driver);
 
         if(ToolUtil.isNotEmpty(driver.getEmail())){
-            String path1 = templatePath + "index.html";
+            String path1 = templatePath + "driver/index.html";
             Document document1 = Jsoup.parse(new File(path1), "UTF-8");
             if(1 == language){
                 document1.getElementById("english").remove();
@@ -675,6 +787,49 @@
                 pass2_user.text("Bonjour " + driver.getFirstName() + "" + driver.getLastName() + ",");
             }
             EmailUtil.send(driver.getEmail(), language == 1 ? "重置密码" : language == 2 ? "reset Password" : "réinitialiser le mot de passe",  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/reset_" + randomString + ".html");
+            if(!file.exists()){
+                file.createNewFile();
+            }
+            FileWriter fileWriter = new FileWriter(file);
+            fileWriter.write(document1.html());
+            fileWriter.flush();
+            fileWriter.close();
+            FileInputStream fileInputStream = new FileInputStream(file);
+            File file1 = new File("/usr/local/nginx/html/files/pdf/");
+            if(!file1.exists()){
+                file1.mkdirs();
+            }
+            file1 = new File("/usr/local/nginx/html/files/pdf/reset_" + randomString + ".pdf");
+            if(!file1.exists()){
+                file1.createNewFile();
+            }
+            FileOutputStream fileOutputStream = new FileOutputStream(file1);
+            HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
+
+            String link ="http://182.160.16.251:81/files/html/reset_" + randomString + ".html";
+            TEmail tEmail = new TEmail();
+            tEmail.setLink(link);
+            tEmail.setUserId(driver.getId());
+            tEmail.setType(2);
+            tEmail.setName(language == 1 ? "重置密码" : language == 2 ? "reset Password" : "réinitialiser le mot de passe");
+            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?"AM":"Dans la matinée");
+            }else {
+                tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+            }
+            emailService.insert(tEmail);
         }
 
         smsrecordService.saveData(6, phone, code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!");
@@ -770,24 +925,24 @@
         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();
+//        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;
     }
 
@@ -1091,7 +1246,7 @@
         driver.setPassword(ShiroKit.md5(password, salt));
         this.updateById(driver);
         if(ToolUtil.isNotEmpty(driver.getEmail())){
-            String path1 = templatePath + "index.html";
+            String path1 = templatePath + "driver/index.html";
             Document document1 = Jsoup.parse(new File(path1), "UTF-8");
             if(1 == language){
                 document1.getElementById("english").remove();
@@ -1125,7 +1280,7 @@
                 Element pass1_user = document1.getElementById("pass1_user");
                 pass1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ",");
             }
-            if(2 == language){
+            if(3 == language){
                 document1.getElementById("chinese").remove();
                 document1.getElementById("english").remove();
                 document1.getElementById("invite2").remove();
@@ -1142,6 +1297,49 @@
                 pass2_user.text("Bonjour " + driver.getFirstName() + "" + driver.getLastName() + ",");
             }
             EmailUtil.send(driver.getEmail(), language == 1 ? "重置密码" : language == 2 ? "reset Password" : "réinitialiser le mot de passe",  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/reset_" + randomString + ".html");
+            if(!file.exists()){
+                file.createNewFile();
+            }
+            FileWriter fileWriter = new FileWriter(file);
+            fileWriter.write(document1.html());
+            fileWriter.flush();
+            fileWriter.close();
+            FileInputStream fileInputStream = new FileInputStream(file);
+            File file1 = new File("/usr/local/nginx/html/files/pdf/");
+            if(!file1.exists()){
+                file1.mkdirs();
+            }
+            file1 = new File("/usr/local/nginx/html/files/pdf/reset_" + randomString + ".pdf");
+            if(!file1.exists()){
+                file1.createNewFile();
+            }
+            FileOutputStream fileOutputStream = new FileOutputStream(file1);
+            HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
+
+            String link ="http://182.160.16.251:81/files/html/reset_" + randomString + ".html";
+            TEmail tEmail = new TEmail();
+            tEmail.setLink(link);
+            tEmail.setUserId(driver.getId());
+            tEmail.setType(2);
+            tEmail.setName(language == 1 ? "重置密码" : language == 2 ? "reset Password" : "réinitialiser le mot de passe");
+            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?"AM":"Dans la matinée");
+            }else {
+                tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+            }
+            emailService.insert(tEmail);
         }
     }
 
@@ -1168,6 +1366,9 @@
         }
         if(car.getAuthState() == 3){
             return ResultUtil.error(language == 1 ? "车辆已冻结" : language == 2 ? "Vehicle frozen" : "Le véhicule a été gelé");
+        }
+        if(car.getAuthState() == 4){
+            return ResultUtil.error(language == 1 ? "车辆审核不通过" : language == 2 ? "Vehicle audit failed" : "Échec de l’audit du véhicule");
         }
         boolean idle = carService.idle(carId);
         if(!idle){
@@ -1388,7 +1589,7 @@
                     driverActivityHistoryMapper.insert(driverActivityHistory);
 
                     if(ToolUtil.isNotEmpty(driver.getEmail())) {
-                        String path1 = templatePath + "index.html";
+                        String path1 = templatePath + "driver/index.html";
                         Document document1 = Jsoup.parse(new File(path1), "UTF-8");
                         if (1 == language) {
                             document1.getElementById("english").remove();
@@ -1432,7 +1633,7 @@
                         }
                         if (3 == language) {
                             document1.getElementById("chinese").remove();
-                            document1.getElementById("french").remove();
+                            document1.getElementById("english").remove();
                             document1.getElementById("invite2").remove();
                             document1.getElementById("user2").remove();
                             document1.getElementById("settle2").remove();
@@ -1451,6 +1652,49 @@
                             rewardToday2_content.text("Invitez les conducteurs à s’inscrire et à recevoir des récompenses. Notez que cet événement est limité dans le temps, veuillez consulter la plateforme I-GO pour plus de détails.");
                         }
                         EmailUtil.send(driver.getEmail(), language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui", 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();
+                        FileInputStream fileInputStream = new FileInputStream(file);
+                        File file1 = new File("/usr/local/nginx/html/files/pdf/");
+                        if(!file1.exists()){
+                            file1.mkdirs();
+                        }
+                        file1 = new File("/usr/local/nginx/html/files/pdf/activity_" + randomString + ".pdf");
+                        if(!file1.exists()){
+                            file1.createNewFile();
+                        }
+                        FileOutputStream fileOutputStream = new FileOutputStream(file1);
+                        HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
+
+                        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 ? "today's activity" : "l'événement d'aujourd'hui");
+                        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?"AM":"Dans la matinée");
+                        }else {
+                            tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+                        }
+                        emailService.insert(tEmail);
                     }
                 }
             }
@@ -1469,7 +1713,7 @@
                     driverActivityHistoryMapper.insert(driverActivityHistory);
 
                     if(ToolUtil.isNotEmpty(driver.getEmail())) {
-                        String path1 = templatePath + "index.html";
+                        String path1 = templatePath + "driver/index.html";
                         Document document1 = Jsoup.parse(new File(path1), "UTF-8");
                         if (1 == language) {
                             document1.getElementById("english").remove();
@@ -1532,6 +1776,49 @@
                             rewardToday2_content.text("Invitez les conducteurs à s’inscrire et à recevoir des récompenses. Notez que cet événement est limité dans le temps, veuillez consulter la plateforme I-GO pour plus de détails.");
                         }
                         EmailUtil.send(driver.getEmail(), language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui", 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();
+                        FileInputStream fileInputStream = new FileInputStream(file);
+                        File file1 = new File("/usr/local/nginx/html/files/pdf/");
+                        if(!file1.exists()){
+                            file1.mkdirs();
+                        }
+                        file1 = new File("/usr/local/nginx/html/files/pdf/activity_" + randomString + ".pdf");
+                        if(!file1.exists()){
+                            file1.createNewFile();
+                        }
+                        FileOutputStream fileOutputStream = new FileOutputStream(file1);
+                        HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
+
+                        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 ? "today's activity" : "l'événement d'aujourd'hui");
+                        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?"AM":"Dans la matinée");
+                        }else {
+                            tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+                        }
+                        emailService.insert(tEmail);
                     }
                 }
             }
@@ -1551,7 +1838,7 @@
                     driverActivityHistoryMapper.insert(driverActivityHistory);
 
                     if(ToolUtil.isNotEmpty(driver.getEmail())) {
-                        String path1 = templatePath + "index.html";
+                        String path1 = templatePath + "driver/index.html";
                         Document document1 = Jsoup.parse(new File(path1), "UTF-8");
                         if (1 == language) {
                             document1.getElementById("english").remove();
@@ -1614,6 +1901,49 @@
                             rewardToday2_content.text("Accumulé en ligne " + driverActivityOnline.getOnline() + " heures aujourd’hui pour obtenir des récompenses d’événement. Notez que cet événement est limité dans le temps, veuillez consulter la plateforme I-GO pour plus de détails.");
                         }
                         EmailUtil.send(driver.getEmail(), language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui", 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();
+                        FileInputStream fileInputStream = new FileInputStream(file);
+                        File file1 = new File("/usr/local/nginx/html/files/pdf/");
+                        if(!file1.exists()){
+                            file1.mkdirs();
+                        }
+                        file1 = new File("/usr/local/nginx/html/files/pdf/activity_" + randomString + ".pdf");
+                        if(!file1.exists()){
+                            file1.createNewFile();
+                        }
+                        FileOutputStream fileOutputStream = new FileOutputStream(file1);
+                        HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
+
+                        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 ? "today's activity" : "l'événement d'aujourd'hui");
+                        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?"AM":"Dans la matinée");
+                        }else {
+                            tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+                        }
+                        emailService.insert(tEmail);
                     }
                 }
             }
@@ -1633,7 +1963,7 @@
                     driverActivityHistoryMapper.insert(driverActivityHistory);
 
                     if(ToolUtil.isNotEmpty(driver.getEmail())) {
-                        String path1 = templatePath + "index.html";
+                        String path1 = templatePath + "driver/index.html";
                         Document document1 = Jsoup.parse(new File(path1), "UTF-8");
                         if (1 == language) {
                             document1.getElementById("english").remove();
@@ -1696,6 +2026,49 @@
                             rewardToday2_content.text("Effectuez " + driverActivityOrder.getOrderNum() + " commandes au total aujourd’hui pour obtenir des récompenses d’événement. Notez que cet événement est limité dans le temps, veuillez consulter la plateforme I-GO pour plus de détails.");
                         }
                         EmailUtil.send(driver.getEmail(), language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui", 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();
+                        FileInputStream fileInputStream = new FileInputStream(file);
+                        File file1 = new File("/usr/local/nginx/html/files/pdf/");
+                        if(!file1.exists()){
+                            file1.mkdirs();
+                        }
+                        file1 = new File("/usr/local/nginx/html/files/pdf/activity_" + randomString + ".pdf");
+                        if(!file1.exists()){
+                            file1.createNewFile();
+                        }
+                        FileOutputStream fileOutputStream = new FileOutputStream(file1);
+                        HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
+
+                        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 ? "today's activity" : "l'événement d'aujourd'hui");
+                        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?"AM":"Dans la matinée");
+                        }else {
+                            tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+                        }
+                        emailService.insert(tEmail);
                     }
                 }
             }
@@ -1737,7 +2110,7 @@
 
 
                     if(ToolUtil.isNotEmpty(driver.getEmail())) {
-                        String path1 = templatePath + "index.html";
+                        String path1 = templatePath + "driver/index.html";
                         Document document1 = Jsoup.parse(new File(path1), "UTF-8");
                         if (1 == language) {
                             document1.getElementById("english").remove();
@@ -1794,6 +2167,49 @@
                             reward2_content.text("Accumulé en ligne pendant " + dao.getOnline() + " heure aujourd’hui, obtenez la récompense GHS " + dah.getMoney() + ", s’il vous plaît vérifier");
                         }
                         EmailUtil.send(driver.getEmail(), language == 1 ? "在线时长奖励" : language == 2 ? "Online Time Rewards" : "Récompenses de temps 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/rewards_" + randomString + ".html");
+                        if(!file.exists()){
+                            file.createNewFile();
+                        }
+                        FileWriter fileWriter = new FileWriter(file);
+                        fileWriter.write(document1.html());
+                        fileWriter.flush();
+                        fileWriter.close();
+                        FileInputStream fileInputStream = new FileInputStream(file);
+                        File file1 = new File("/usr/local/nginx/html/files/pdf/");
+                        if(!file1.exists()){
+                            file1.mkdirs();
+                        }
+                        file1 = new File("/usr/local/nginx/html/files/pdf/rewards_" + randomString + ".pdf");
+                        if(!file1.exists()){
+                            file1.createNewFile();
+                        }
+                        FileOutputStream fileOutputStream = new FileOutputStream(file1);
+                        HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
+
+                        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 ? "Online Time Rewards" : "Récompenses de temps 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?"AM":"Dans la matinée");
+                        }else {
+                            tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+                        }
+                        emailService.insert(tEmail);
                     }
                 }
             }
@@ -1821,7 +2237,7 @@
                 incomeService.saveData(2, dah.getDriverId(), 1, dao.getId(), null, dah.getMoney());
 
                 if(ToolUtil.isNotEmpty(driver.getEmail())) {
-                    String path1 = templatePath + "index.html";
+                    String path1 = templatePath + "driver/index.html";
                     Document document1 = Jsoup.parse(new File(path1), "UTF-8");
                     if (1 == language) {
                         document1.getElementById("english").remove();
@@ -1877,7 +2293,51 @@
                         Element reward2_content = document1.getElementById("reward2_content");
                         reward2_content.text("Un total de " + dao.getOrderNum() + " commandes ont été reçues aujourd’hui, et la récompense GHS " + dah.getMoney() + " sera décernée, s’il vous plaît vérifier");
                     }
+
                     EmailUtil.send(driver.getEmail(), language == 1 ? "累计接单奖励" : language == 2 ? "Cumulative Order Rewards" : "Récompenses de commande cumulées", 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();
+                    FileInputStream fileInputStream = new FileInputStream(file);
+                    File file1 = new File("/usr/local/nginx/html/files/pdf/");
+                    if(!file1.exists()){
+                        file1.mkdirs();
+                    }
+                    file1 = new File("/usr/local/nginx/html/files/pdf/rewards_" + randomString + ".pdf");
+                    if(!file1.exists()){
+                        file1.createNewFile();
+                    }
+                    FileOutputStream fileOutputStream = new FileOutputStream(file1);
+                    HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
+
+                    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 ? "Cumulative Order Rewards" : "Récompenses de commande cumulées");
+                    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?"AM":"Dans la matinée");
+                    }else {
+                        tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+                    }
+                    emailService.insert(tEmail);
                 }
             }
         }
@@ -2322,6 +2782,7 @@
      * @param id
      */
     private void singlePointLogin(Integer id){
+        pushUtil.pushOffline(id, 2);
         //开始验证当前账号是否在别处登录
         String value = redisUtil.getValue("DRIVER_" + id);
         if(ToolUtil.isNotEmpty(value)){//将另外设备上的强迫下线(如果是车载端不需要下线)
@@ -2332,6 +2793,7 @@
             redisUtil.remove("DRIVER_" + driver.getPhone());//删除后台冻结相关缓存
             redisUtil.remove("DRIVER_" + id);//清除存储的token
         }
+
     }
 
     @Override

--
Gitblit v1.7.1