Pu Zhibing
2024-09-29 adf2ede692b76cf95d0cec80f4087e52d760b219
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -203,10 +203,11 @@
        redisUtil.setStrValue(phone, authCode, 5 * 60);//设置五分钟过期
        switch (language){
            case 1:
                sms = "您的验证码为:" + authCode + ",该验证码5分钟内有效,请勿泄漏于他人!";
//                sms = "您的验证码为:" + authCode + ",该验证码5分钟内有效,请勿泄漏于他人!";
                sms = "Your verification code is " + authCode + ", it is valid within 5 minutes, please do not reveal it to others.";
                break;
            case 2:
                sms = "Your verification code is " + authCode + ",it is valid within 5 minutes, please do not reveal it to others.";
                sms = "Your verification code is " + authCode + ", it is valid within 5 minutes, please do not reveal it to others.";
                break;
            case 3:
                sms = "Votre code de validation est " + authCode + " et il est valide pendant 5 minutes. Veuillez ne pas le révéler à d’autres personnes.";
@@ -411,11 +412,11 @@
                    EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense",  document.html());
                    String randomString = ToolUtil.getRandomString(10);
                    //开始生成pdf收据和html收据
                    File file = new File("/usr/local/nginx/html/files/html/");
                    File file = new File("/home/igotechgh/nginx/html/files/html/");
                    if(!file.exists()){
                        file.mkdirs();
                    }
                    file = new File("/usr/local/nginx/html/files/html/invitation_" + randomString + ".html");
                    file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html");
                    if(!file.exists()){
                        file.createNewFile();
                    }
@@ -424,7 +425,7 @@
                    fileWriter.flush();
                    fileWriter.close();
                    String link ="http://182.160.16.251:81/files/html/invitation_" + randomString + ".html";
                    String link ="https://igo.i-go.group/files/html/invitation_" + randomString + ".html";
                    TEmail tEmail = new TEmail();
                    tEmail.setLink(link);
                    tEmail.setUserId(driver.getId());
@@ -607,11 +608,11 @@
                    EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense",  document.html());
                    String randomString = ToolUtil.getRandomString(10);
                    //开始生成pdf收据和html收据
                    File file = new File("/usr/local/nginx/html/files/html/");
                    File file = new File("/home/igotechgh/nginx/html/files/html/");
                    if(!file.exists()){
                        file.mkdirs();
                    }
                    file = new File("/usr/local/nginx/html/files/html/invitation_" + randomString + ".html");
                    file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html");
                    if(!file.exists()){
                        file.createNewFile();
                    }
@@ -620,7 +621,7 @@
                    fileWriter.flush();
                    fileWriter.close();
                    String link ="http://182.160.16.251:81/files/html/invitation_" + randomString + ".html";
                    String link ="https://igo.i-go.group/files/html/invitation_" + randomString + ".html";
                    TEmail tEmail = new TEmail();
                    tEmail.setLink(link);
                    tEmail.setUserId(driver.getId());
@@ -874,11 +875,11 @@
            EmailUtil.send(driver.getEmail(), language == 1 ? "成功注册" : language == 2 ? "Registered successfully" : "Enregistré avec succès",  document1.html());
            String randomString = ToolUtil.getRandomString(10);
            //开始生成pdf收据和html收据
            File file = new File("/usr/local/nginx/html/files/html/");
            File file = new File("/home/igotechgh/nginx/html/files/html/");
            if(!file.exists()){
                file.mkdirs();
            }
            file = new File("/usr/local/nginx/html/files/html/registration_" + randomString + ".html");
            file = new File("/home/igotechgh/nginx/html/files/html/registration_" + randomString + ".html");
            if(!file.exists()){
                file.createNewFile();
            }
@@ -887,7 +888,7 @@
            fileWriter.flush();
            fileWriter.close();
            String link ="http://182.160.16.251:81/files/html/registration_" + randomString + ".html";
            String link ="https://igo.i-go.group/files/html/registration_" + randomString + ".html";
            TEmail tEmail = new TEmail();
            tEmail.setLink(link);
            tEmail.setUserId(driver.getId());
@@ -988,11 +989,11 @@
            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/");
            File file = new File("/home/igotechgh/nginx/html/files/html/");
            if(!file.exists()){
                file.mkdirs();
            }
            file = new File("/usr/local/nginx/html/files/html/reset_" + randomString + ".html");
            file = new File("/home/igotechgh/nginx/html/files/html/reset_" + randomString + ".html");
            if(!file.exists()){
                file.createNewFile();
            }
@@ -1001,7 +1002,7 @@
            fileWriter.flush();
            fileWriter.close();
            String link ="http://182.160.16.251:81/files/html/reset_" + randomString + ".html";
            String link ="https://igo.i-go.group/files/html/reset_" + randomString + ".html";
            TEmail tEmail = new TEmail();
            tEmail.setLink(link);
            tEmail.setUserId(driver.getId());
@@ -1031,7 +1032,7 @@
     */
    @Override
    public Map<String, Object> queryPhone(Double lat, Double lnt) throws Exception {
        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt);
        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt, null);
        if(null == reverseGeocode){
            System.err.println("获取地址异常");
            return null;
@@ -1228,13 +1229,13 @@
            }).start();
            switch (language){
                case 1:
                    audioUrl = "http://182.160.16.251:81/files/audio/system/AfterWork-CN.mp3";
                    audioUrl = "https://igo.i-go.group/files/audio/system/AfterWork-CN.mp3";
                    break;
                case 2:
                    audioUrl = "http://182.160.16.251:81/files/audio/system/AfterWork-EN.mp3";
                    audioUrl = "https://igo.i-go.group/files/audio/system/AfterWork-EN.mp3";
                    break;
                case 3:
                    audioUrl = "http://182.160.16.251:81/files/audio/system/AfterWork-FR.mp3";
                    audioUrl = "https://igo.i-go.group/files/audio/system/AfterWork-FR.mp3";
                    break;
            }
        }else{
@@ -1299,13 +1300,13 @@
    
            switch (language){
                case 1:
                    audioUrl = "http://182.160.16.251:81/files/audio/system/AtWork-CN.mp3";
                    audioUrl = "https://igo.i-go.group/files/audio/system/AtWork-CN.mp3";
                    break;
                case 2:
                    audioUrl = "http://182.160.16.251:81/files/audio/system/AtWork-EN.mp3";
                    audioUrl = "https://igo.i-go.group/files/audio/system/AtWork-EN.mp3";
                    break;
                case 3:
                    audioUrl = "http://182.160.16.251:81/files/audio/system/AtWork-FR.mp3";
                    audioUrl = "https://igo.i-go.group/files/audio/system/AtWork-FR.mp3";
                    break;
            }
        }
@@ -1469,7 +1470,6 @@
            driver.setQrCode(QrCodeUtil.getQrCode(uid));
            driverMapper.updateById(driver);
        }
        //减去本周的收入
        return map;
    }
@@ -1588,11 +1588,11 @@
            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/");
            File file = new File("/home/igotechgh/nginx/html/files/html/");
            if(!file.exists()){
                file.mkdirs();
            }
            file = new File("/usr/local/nginx/html/files/html/reset_" + randomString + ".html");
            file = new File("/home/igotechgh/nginx/html/files/html/reset_" + randomString + ".html");
            if(!file.exists()){
                file.createNewFile();
            }
@@ -1601,7 +1601,7 @@
            fileWriter.flush();
            fileWriter.close();
            String link ="http://182.160.16.251:81/files/html/reset_" + randomString + ".html";
            String link ="https://igo.i-go.group/files/html/reset_" + randomString + ".html";
            TEmail tEmail = new TEmail();
            tEmail.setLink(link);
            tEmail.setUserId(driver.getId());
@@ -1835,6 +1835,80 @@
        }
        return list;
    }
    @Override
    public List<ActivityWarpper> queryHistoryList(Integer uid, Date time, Integer language) throws Exception {
        List<ActivityWarpper> list = new ArrayList<>();
        Map<String, Date> date = dateUtil.getStartAndEndDate(time);
        List<DriverActivityHistory> driverActivityHistories = driverActivityHistoryMapper.queryHistoryList(uid, null, null, date.get("startTime"), date.get("endTime"));
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
        for(DriverActivityHistory dah : driverActivityHistories){
            ActivityWarpper activityWarpper = new ActivityWarpper();
            switch (dah.getType()){
                case 1://邀请司机注册
                    DriverActivityRegistered driverActivityRegistered = driverActivityRegisteredMapper.selectById(dah.getActivityId());
                    activityWarpper.setId(driverActivityRegistered.getId());
                    activityWarpper.setContent(language == 1 ? "邀请司机注册奖励GHS" + driverActivityRegistered.getMoney() :
                            language == 2 ? " Invite drivers to register for a reward of GHS" + driverActivityRegistered.getMoney():
                                    "Invitez les chauffeurs à s’inscrire pour une récompense de GHS" + driverActivityRegistered.getMoney());
                    break;
                case 2://邀请用户注册
                    DriverActivityRegistered driverActivityRegistered1 = driverActivityRegisteredMapper.selectById(dah.getActivityId());
                    activityWarpper.setId(driverActivityRegistered1.getId());
                    activityWarpper.setContent(language == 1 ? "邀请用户注册奖励GHS" + driverActivityRegistered1.getMoney() :
                            language == 2 ? "Invite users to register for a reward of GHS" + driverActivityRegistered1.getMoney():
                                    "Invitez les utilisateurs à s’inscrire pour une récompense de GHS" + driverActivityRegistered1.getMoney());
                    break;
                case 3://累计在线
                    DriverActivityOnline driverActivityOnline = driverActivityOnlineMapper.selectById(dah.getActivityId());
                    activityWarpper.setId(driverActivityOnline.getId());
                    StringBuffer sb = new StringBuffer(language == 1 ? "今日" :
                            language == 2 ? "Today, stay online receiving orders of " : "Aujourd’hui, reste en ligne à recevoir des commandes ");
                    DriverOnline query = driverOnlineMapper.query(uid, sdf1.format(new Date()), driverActivityOnline.getType(), 0);
                    Integer hour = 0;
                    if(null != query){
                        hour = Long.valueOf(query.getDuration() / 3600).intValue();
                    }
                    switch (driverActivityOnline.getType()){
                        case 1:
                            sb.append(language == 1 ? "打车" : language == 2 ? "ride" : "de course");
                            break;
                        case 2:
                            sb.append("出租车");
                            continue;
                        case 3:
                            sb.append("城际出行");
                            continue;
                        case 4:
                            sb.append(language == 1 ? "包裹" : language == 2 ? "delivery" : "de livraison");
                            break;
                    }
                    String str = language == 1 ? "累计在线" +driverActivityOnline.getOnline() + "小时奖励GHS" +driverActivityOnline.getMoney():
                            language == 2 ? " for " + driverActivityOnline.getOnline() + " hours to get a reward of GHS" + driverActivityOnline.getMoney():
                                    " pendant " + driverActivityOnline.getOnline() + " heures afin d'obtenir une récompense de GHS" + driverActivityOnline.getMoney();
                    activityWarpper.setContent(sb.append(str).toString());
                    activityWarpper.setCarryOut((dah.getCarryOut() == 2 || hour > driverActivityOnline.getOnline()) ? driverActivityOnline.getOnline() + "/" +driverActivityOnline.getOnline() : hour + "/" + driverActivityOnline.getOnline());
                    break;
                case 4://订单量
                    DriverActivityOrder driverActivityOrder = driverActivityOrderMapper.selectById(dah.getActivityId());
                    activityWarpper.setId(driverActivityOrder.getId());
                    activityWarpper.setContent(language == 1 ? "今日" + driverActivityOrder.getStart() + "-" + driverActivityOrder.getEnd() + "累计接单" + driverActivityOrder.getOrderNum() + "单奖励GHS" + driverActivityOrder.getMoney():
                            language == 2 ? "Today " + driverActivityOrder.getStart() + "-" + driverActivityOrder.getEnd() + ", complete " + driverActivityOrder.getOrderNum() + " orders for a reward of GHS" + driverActivityOrder.getMoney() :
                                    "Aujourd’hui de " + driverActivityOrder.getStart() + " à " + driverActivityOrder.getEnd() + ", complétez " + driverActivityOrder.getOrderNum() + " commandes pour une récompense de GHS" + driverActivityOrder.getMoney());
                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    Date start = sdf.parse(sdf1.format(time) + " " + driverActivityOrder.getStart() + ":00");
                    Date end = sdf.parse(sdf1.format(time) + " " + driverActivityOrder.getEnd() + ":59");
                    Integer integer = orderService.queryOrderNum(uid, start, end);
                    activityWarpper.setCarryOut(integer.compareTo(driverActivityOrder.getOrderNum()) > 0 ? driverActivityOrder.getOrderNum() + "/" + driverActivityOrder.getOrderNum() : integer + "/" + driverActivityOrder.getOrderNum());
                    break;
            }
            list.add(activityWarpper);
        }
        return list;
    }
    /**
@@ -1913,7 +1987,7 @@
                                    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平台。");
                                    rewardToday_content.html("邀请司机注册即可获得奖励。<br/>注意此活动是有时间限制的,详情请查看I-GO平台。");
                                }
                                if (2 == language) {
                                    document1.getElementById("chinese").remove();
@@ -1934,7 +2008,7 @@
                                    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.");
                                    rewardToday1_content.html("Invite drivers to register to get the bonus.<br/>Note that this is a limited-time offer. Check your app for more details.");
                                }
                                if (3 == language) {
                                    document1.getElementById("chinese").remove();
@@ -1955,16 +2029,16 @@
                                    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.");
                                    rewardToday2_content.html("Invitez les chauffeurs à s’inscrire pour obtenir le bonus.<br/>Notez 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/");
                                File file = new File("/home/igotechgh/nginx/html/files/html/");
                                if(!file.exists()){
                                    file.mkdirs();
                                }
                                file = new File("/usr/local/nginx/html/files/html/activity_" + randomString + ".html");
                                file = new File("/home/igotechgh/nginx/html/files/html/activity_" + randomString + ".html");
                                if(!file.exists()){
                                    file.createNewFile();
                                }
@@ -1973,7 +2047,7 @@
                                fileWriter.flush();
                                fileWriter.close();
    
                                String link ="http://182.160.16.251:81/files/html/activity_" + randomString + ".html";
                                String link ="https://igo.i-go.group/files/html/activity_" + randomString + ".html";
                                TEmail tEmail = new TEmail();
                                tEmail.setLink(link);
                                tEmail.setUserId(driver.getId());
@@ -2036,7 +2110,7 @@
                                    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平台。");
                                    rewardToday_content.html("邀请用户注册即可获得奖励。<br/> 注意此活动是有时间限制的,详情请查看I-GO平台。");
                                }
                                if (2 == language) {
                                    document1.getElementById("chinese").remove();
@@ -2057,7 +2131,7 @@
                                    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.");
                                    rewardToday1_content.html("Invite users to register to get the bonus.<br/>Note that this is a limited-time offer. Check your app for more details.");
                                }
                                if (3 == language) {
                                    document1.getElementById("chinese").remove();
@@ -2078,16 +2152,16 @@
                                    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.");
                                    rewardToday2_content.html("Invitez les utilisateurs à s’inscrire pour obtenir le bonus.<br/>Notez 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/");
                                File file = new File("/home/igotechgh/nginx/html/files/html/");
                                if(!file.exists()){
                                    file.mkdirs();
                                }
                                file = new File("/usr/local/nginx/html/files/html/activity_" + randomString + ".html");
                                file = new File("/home/igotechgh/nginx/html/files/html/activity_" + randomString + ".html");
                                if(!file.exists()){
                                    file.createNewFile();
                                }
@@ -2096,7 +2170,7 @@
                                fileWriter.flush();
                                fileWriter.close();
    
                                String link ="http://182.160.16.251:81/files/html/activity_" + randomString + ".html";
                                String link ="https://igo.i-go.group/files/html/activity_" + randomString + ".html";
                                TEmail tEmail = new TEmail();
                                tEmail.setLink(link);
                                tEmail.setUserId(driver.getId());
@@ -2160,7 +2234,7 @@
                                    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平台。");
                                    rewardToday_content.html("今日累计在线" + driverActivityOnline.getOnline() + "小时即可活动奖励。<br/> 注意此活动是有时间限制的,详情请查看I-GO平台。");
                                }
                                if (2 == language) {
                                    document1.getElementById("chinese").remove();
@@ -2181,7 +2255,7 @@
                                    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.");
                                    rewardToday1_content.html("Stay online for " + driverActivityOnline.getOnline() + " hours to get the bonus.<br/>Note that this is a limited-time offer. Check your app for more details.");
                                }
                                if (3 == language) {
                                    document1.getElementById("chinese").remove();
@@ -2202,16 +2276,16 @@
                                    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.");
                                    rewardToday2_content.html("Restez en ligne pendant " + driverActivityOnline.getOnline() + " heures pour obtenir le bonus.<br/>Notez 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/");
                                File file = new File("/home/igotechgh/nginx/html/files/html/");
                                if(!file.exists()){
                                    file.mkdirs();
                                }
                                file = new File("/usr/local/nginx/html/files/html/activity_" + randomString + ".html");
                                file = new File("/home/igotechgh/nginx/html/files/html/activity_" + randomString + ".html");
                                if(!file.exists()){
                                    file.createNewFile();
                                }
@@ -2220,7 +2294,7 @@
                                fileWriter.flush();
                                fileWriter.close();
    
                                String link ="http://182.160.16.251:81/files/html/activity_" + randomString + ".html";
                                String link ="https://igo.i-go.group/files/html/activity_" + randomString + ".html";
                                TEmail tEmail = new TEmail();
                                tEmail.setLink(link);
                                tEmail.setUserId(driver.getId());
@@ -2284,7 +2358,7 @@
                                    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平台。");
                                    rewardToday_content.html("今日累计完成" + driverActivityOrder.getOrderNum() + "单即可活动奖励。<br/> 注意此活动是有时间限制的,详情请查看I-GO平台。");
                                }
                                if (2 == language) {
                                    document1.getElementById("chinese").remove();
@@ -2305,7 +2379,7 @@
                                    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.");
                                    rewardToday1_content.html("Stay online and complete " + driverActivityOrder.getOrderNum() + " trips to get the bonus.<br/>Note that this is a limited-time offer. Check your app for more details.");
                                }
                                if (3 == language) {
                                    document1.getElementById("chinese").remove();
@@ -2326,16 +2400,16 @@
                                    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.");
                                    rewardToday2_content.html("Restez en ligne et effectuez " + driverActivityOrder.getOrderNum() + " trajets pour obtenir le bonus.<br/>Notez 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/");
                                File file = new File("/home/igotechgh/nginx/html/files/html/");
                                if(!file.exists()){
                                    file.mkdirs();
                                }
                                file = new File("/usr/local/nginx/html/files/html/activity_" + randomString + ".html");
                                file = new File("/home/igotechgh/nginx/html/files/html/activity_" + randomString + ".html");
                                if(!file.exists()){
                                    file.createNewFile();
                                }
@@ -2344,7 +2418,7 @@
                                fileWriter.flush();
                                fileWriter.close();
    
                                String link ="http://182.160.16.251:81/files/html/activity_" + randomString + ".html";
                                String link ="https://igo.i-go.group/files/html/activity_" + randomString + ".html";
                                TEmail tEmail = new TEmail();
                                tEmail.setLink(link);
                                tEmail.setUserId(driver.getId());
@@ -2429,7 +2503,7 @@
                        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平台。");
                        reward_content.html("今日累计在线" + dao.getOnline() + "小时,获得奖励GHS" + dah.getMoney() + ",请查收。<br/>详情请查看I-GO平台。");
                    }
                    if (2 == language) {
                        document1.getElementById("chinese").remove();
@@ -2448,7 +2522,7 @@
                        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.");
                        reward1_content.html("You stayed online for " + dao.getOnline() + " hours today, and got a bonus of GHS" + dah.getMoney() + ", please check.<br/>Check your app for more details.");
                    }
                    if (3 == language) {
                        document1.getElementById("chinese").remove();
@@ -2467,16 +2541,16 @@
                        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.");
                        reward2_content.html("Vous êtes resté en ligne pendant " + dao.getOnline() + " heures aujourd’hui et avez obtenu un bonus de GHS" + dah.getMoney() + ", veuillez vérifier.<br/>Consultez votre application pour plus de détails.");
                    }
                    EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document1.html());
                    String randomString = ToolUtil.getRandomString(10);
                    //开始生成pdf收据和html收据
                    File file = new File("/usr/local/nginx/html/files/html/");
                    File file = new File("/home/igotechgh/nginx/html/files/html/");
                    if(!file.exists()){
                        file.mkdirs();
                    }
                    file = new File("/usr/local/nginx/html/files/html/rewards_" + randomString + ".html");
                    file = new File("/home/igotechgh/nginx/html/files/html/rewards_" + randomString + ".html");
                    if(!file.exists()){
                        file.createNewFile();
                    }
@@ -2485,7 +2559,7 @@
                    fileWriter.flush();
                    fileWriter.close();
        
                    String link ="http://182.160.16.251:81/files/html/rewards_" + randomString + ".html";
                    String link ="https://igo.i-go.group/files/html/rewards_" + randomString + ".html";
                    TEmail tEmail = new TEmail();
                    tEmail.setLink(link);
                    tEmail.setUserId(driver.getId());
@@ -2548,7 +2622,7 @@
                        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.getOrderNum() + "单,获得奖励GHS" + dah.getMoney() + ",请查收。\n详情请查看I-GO平台。");
                        reward_content.html("今日累计接单" + dao.getOrderNum() + "单,获得奖励GHS" + dah.getMoney() + ",请查收。<br/>详情请查看I-GO平台。");
                    }
                    if (2 == language) {
                        document1.getElementById("chinese").remove();
@@ -2567,7 +2641,7 @@
                        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 completed " + dao.getOrderNum() + " trips today, and got a bonus of GHS" + dah.getMoney() + ", please check.\nCheck your app for more details.");
                        reward1_content.html("You completed " + dao.getOrderNum() + " trips today, and got a bonus of GHS" + dah.getMoney() + ", please check.<br/>Check your app for more details.");
                    }
                    if (3 == language) {
                        document1.getElementById("chinese").remove();
@@ -2586,17 +2660,17 @@
                        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 avez effectué " + dao.getOrderNum() + " trajets aujourd’hui et avez reçu un bonus de GHS" + dah.getMoney() + ", veuillez vérifier.\nConsultez votre application pour plus de détails.");
                        reward2_content.html("Vous avez effectué " + dao.getOrderNum() + " trajets aujourd’hui et avez reçu un bonus de GHS" + dah.getMoney() + ", veuillez vérifier.<br/>Consultez votre application pour plus de détails.");
                    }
                    EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document1.html());
                    String randomString = ToolUtil.getRandomString(10);
                    //开始生成pdf收据和html收据
                    File file = new File("/usr/local/nginx/html/files/html/");
                    File file = new File("/home/igotechgh/nginx/html/files/html/");
                    if(!file.exists()){
                        file.mkdirs();
                    }
                    file = new File("/usr/local/nginx/html/files/html/rewards_" + randomString + ".html");
                    file = new File("/home/igotechgh/nginx/html/files/html/rewards_" + randomString + ".html");
                    if(!file.exists()){
                        file.createNewFile();
                    }
@@ -2605,7 +2679,7 @@
                    fileWriter.flush();
                    fileWriter.close();
                    String link ="http://182.160.16.251:81/files/html/rewards_" + randomString + ".html";
                    String link ="https://igo.i-go.group/files/html/rewards_" + randomString + ".html";
                    TEmail tEmail = new TEmail();
                    tEmail.setLink(link);
                    tEmail.setUserId(driver.getId());
@@ -3116,13 +3190,14 @@
     * @throws Exception
     */
    @Override
    public List<Driver> queryIdleDriver(Integer type, Integer serverCarModelId, Double lon, Double lat, Double distance, Integer companyId) throws Exception {
    public List<Driver> queryIdleDriver(Integer userId, Integer type, Integer serverCarModelId, Double lon, Double lat, Double distance, Integer companyId) throws Exception {
        List<Driver> drivers = driverMapper.queryIdleDriver_(type, serverCarModelId, companyId);
        String tripId = redisUtil.getValue("trip" + userId);
        List<Driver> list = new ArrayList<>();
        for(Driver driver : drivers){
            String value = redisUtil.getValue("DRIVER" + driver.getId());
            if(ToolUtil.isNotEmpty(value)){
                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(lat, lon, Double.parseDouble(value.split(",")[1]), Double.parseDouble(value.split(",")[0]));
                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(lat, lon, Double.parseDouble(value.split(",")[1]), Double.parseDouble(value.split(",")[0]), tripId);
                if(null != distancematrix){
                    if(distancematrix.getDistance() < (distance * 1000)){
                        list.add(driver);