Pu Zhibing
12 小时以前 821fc2f632f8b974a2c0fc37630e13c5fbe6086c
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -346,7 +346,7 @@
                driver.setBalance(bigDecimal.add(new BigDecimal(driver.getBalance())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                driverMapper.updateById(driver);
                if(ToolUtil.isNotEmpty(driver.getEmail())){
                if(list.size() > 0 && ToolUtil.isNotEmpty(driver.getEmail())){
                    String path = templatePath + "driver/index.html";
                    Document document = Jsoup.parse(new File(path), "UTF-8");
                    if(1 == language){
@@ -409,11 +409,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("/home/igotechgh/nginx/html/files/html/");
                    File file = new File("/data/nginx/html/files/html/");
                    if(!file.exists()){
                        file.mkdirs();
                    }
                    file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html");
                    file = new File("/data/nginx/html/files/html/invitation_" + randomString + ".html");
                    if(!file.exists()){
                        file.createNewFile();
                    }
@@ -531,117 +531,118 @@
                    driverActivityHistory.setCompletionTime(new Date());
                    driverActivityHistoryMapper.updateById(driverActivityHistory);
                }
                driver.setActivityMoney(bigDecimal.add(new BigDecimal(driver.getActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                driver.setLaveActivityMoney(bigDecimal.add(new BigDecimal(driver.getLaveActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                driver.setBalance(bigDecimal.add(new BigDecimal(driver.getBalance())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                driverMapper.updateById(driver);
                if(ToolUtil.isNotEmpty(driver.getEmail())){
                    Driver finalDriver = driver;
                    BigDecimal finalBigDecimal = bigDecimal;
                    new Thread(new Runnable() {
                        @Override
                        public void run() {
                            try {
                                String path = templatePath + "driver/index.html";
                                Document document = Jsoup.parse(new File(path), "UTF-8");
                                if(1 == language){
                                    document.getElementById("english").remove();
                                    document.getElementById("french").remove();
                                    document.getElementById("user").remove();
                                    document.getElementById("settle").remove();
                                    document.getElementById("pass").remove();
                                    document.getElementById("email").remove();
                                    document.getElementById("bill").remove();
                                    document.getElementById("reward").remove();
                                    document.getElementById("rewardToday").remove();
                                    document.getElementById("driverAudit").remove();
                                    document.getElementById("carAudit").remove();
                                    document.getElementsByTag("title").get(0).text("司机奖励通知");
                                    Element invite_user = document.getElementById("invite_user");
                                    invite_user.text("您好 " + finalDriver.getFirstName() + "" + finalDriver.getLastName() + ",");
                                    Element invite_content = document.getElementById("invite_content");
                                    invite_content.text("您已成功邀请一位司机注册I-GO,获得奖励GHS " + finalBigDecimal.doubleValue() + ",请查收");
                                }
                                if(2 == language){
                                    document.getElementById("chinese").remove();
                                    document.getElementById("french").remove();
                                    document.getElementById("user1").remove();
                                    document.getElementById("settle1").remove();
                                    document.getElementById("pass1").remove();
                                    document.getElementById("email1").remove();
                                    document.getElementById("bill1").remove();
                                    document.getElementById("reward1").remove();
                                    document.getElementById("rewardToday1").remove();
                                    document.getElementById("driverAudit1").remove();
                                    document.getElementById("carAudit1").remove();
                                    document.getElementsByTag("title").get(0).text("Reward-driver notice");
                                    Element invite1_user = document.getElementById("invite1_user");
                                    invite1_user.text("Hello " + finalDriver.getFirstName() + "" + finalDriver.getLastName() + ",");
                                    Element invite1_content = document.getElementById("invite1_content");
                                    invite1_content.text("You have succeeded to invite a driver to register with I-GO, so you received a GHS " + finalBigDecimal.doubleValue() + " bonus, please check your balance.");
                                }
                                if(3 == language){
                                    document.getElementById("chinese").remove();
                                    document.getElementById("english").remove();
                                    document.getElementById("user2").remove();
                                    document.getElementById("settle2").remove();
                                    document.getElementById("pass2").remove();
                                    document.getElementById("email2").remove();
                                    document.getElementById("bill2").remove();
                                    document.getElementById("reward2").remove();
                                    document.getElementById("rewardToday2").remove();
                                    document.getElementById("driverAudit2").remove();
                                    document.getElementById("carAudit2").remove();
                                    document.getElementsByTag("title").get(0).text("Avis de chauffeur de récompense");
                                    Element invite2_user = document.getElementById("invite2_user");
                                    invite2_user.text("Bonjour " + finalDriver.getFirstName() + " " + finalDriver.getLastName() + ",");
                                    Element invite2_content = document.getElementById("invite2_content");
                                    invite2_content.text("Vous avez invité avec succès un conducteur à s’inscrire à i-go pour recevoir une récompense GHS " + finalBigDecimal.doubleValue() + ". Veuillez vérifier");
                                }
                                EmailUtil.send(finalDriver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense",  document.html());
                                String randomString = ToolUtil.getRandomString(10);
                                //开始生成pdf收据和html收据
                                File file = new File("/home/igotechgh/nginx/html/files/html/");
                                if(!file.exists()){
                                    file.mkdirs();
                                }
                                file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html");
                                if(!file.exists()){
                                    file.createNewFile();
                                }
                                FileWriter fileWriter = new FileWriter(file);
                                fileWriter.write(document.html());
                                fileWriter.flush();
                                fileWriter.close();
                if(bigDecimal.compareTo(BigDecimal.ZERO) > 0){
                    driver.setActivityMoney(bigDecimal.add(new BigDecimal(driver.getActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                    driver.setLaveActivityMoney(bigDecimal.add(new BigDecimal(driver.getLaveActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                    driver.setBalance(bigDecimal.add(new BigDecimal(driver.getBalance())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                    driverMapper.updateById(driver);
    
                                String link ="https://igo.i-go.group/files/html/invitation_" + randomString + ".html";
                                TEmail tEmail = new TEmail();
                                tEmail.setLink(link);
                                tEmail.setUserId(finalDriver.getId());
                                tEmail.setType(2);
                                tEmail.setName(language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense");
                                tEmail.setCreateTime(new Date());
                                int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                                String week = EmailUtil.getWeek(language, i);
                                tEmail.setWeek(week);
                                boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                                if(am){
                                    tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
                                }else {
                                    tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
                    if(ToolUtil.isNotEmpty(driver.getEmail())){
                        Driver finalDriver = driver;
                        BigDecimal finalBigDecimal = bigDecimal;
                        new Thread(new Runnable() {
                            @Override
                            public void run() {
                                try {
                                    String path = templatePath + "driver/index.html";
                                    Document document = Jsoup.parse(new File(path), "UTF-8");
                                    if(1 == language){
                                        document.getElementById("english").remove();
                                        document.getElementById("french").remove();
                                        document.getElementById("user").remove();
                                        document.getElementById("settle").remove();
                                        document.getElementById("pass").remove();
                                        document.getElementById("email").remove();
                                        document.getElementById("bill").remove();
                                        document.getElementById("reward").remove();
                                        document.getElementById("rewardToday").remove();
                                        document.getElementById("driverAudit").remove();
                                        document.getElementById("carAudit").remove();
                                        document.getElementsByTag("title").get(0).text("司机奖励通知");
                                        Element invite_user = document.getElementById("invite_user");
                                        invite_user.text("您好 " + finalDriver.getFirstName() + "" + finalDriver.getLastName() + ",");
                                        Element invite_content = document.getElementById("invite_content");
                                        invite_content.text("您已成功邀请一位司机注册I-GO,获得奖励GHS " + finalBigDecimal.doubleValue() + ",请查收");
                                    }
                                    if(2 == language){
                                        document.getElementById("chinese").remove();
                                        document.getElementById("french").remove();
                                        document.getElementById("user1").remove();
                                        document.getElementById("settle1").remove();
                                        document.getElementById("pass1").remove();
                                        document.getElementById("email1").remove();
                                        document.getElementById("bill1").remove();
                                        document.getElementById("reward1").remove();
                                        document.getElementById("rewardToday1").remove();
                                        document.getElementById("driverAudit1").remove();
                                        document.getElementById("carAudit1").remove();
                                        document.getElementsByTag("title").get(0).text("Reward-driver notice");
                                        Element invite1_user = document.getElementById("invite1_user");
                                        invite1_user.text("Hello " + finalDriver.getFirstName() + "" + finalDriver.getLastName() + ",");
                                        Element invite1_content = document.getElementById("invite1_content");
                                        invite1_content.text("You have succeeded to invite a driver to register with I-GO, so you received a GHS " + finalBigDecimal.doubleValue() + " bonus, please check your balance.");
                                    }
                                    if(3 == language){
                                        document.getElementById("chinese").remove();
                                        document.getElementById("english").remove();
                                        document.getElementById("user2").remove();
                                        document.getElementById("settle2").remove();
                                        document.getElementById("pass2").remove();
                                        document.getElementById("email2").remove();
                                        document.getElementById("bill2").remove();
                                        document.getElementById("reward2").remove();
                                        document.getElementById("rewardToday2").remove();
                                        document.getElementById("driverAudit2").remove();
                                        document.getElementById("carAudit2").remove();
                                        document.getElementsByTag("title").get(0).text("Avis de chauffeur de récompense");
                                        Element invite2_user = document.getElementById("invite2_user");
                                        invite2_user.text("Bonjour " + finalDriver.getFirstName() + " " + finalDriver.getLastName() + ",");
                                        Element invite2_content = document.getElementById("invite2_content");
                                        invite2_content.text("Vous avez invité avec succès un conducteur à s’inscrire à i-go pour recevoir une récompense GHS " + finalBigDecimal.doubleValue() + ". Veuillez vérifier");
                                    }
                                    EmailUtil.send(finalDriver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense",  document.html());
                                    String randomString = ToolUtil.getRandomString(10);
                                    //开始生成pdf收据和html收据
                                    File file = new File("/data/nginx/html/files/html/");
                                    if(!file.exists()){
                                        file.mkdirs();
                                    }
                                    file = new File("/data/nginx/html/files/html/invitation_" + randomString + ".html");
                                    if(!file.exists()){
                                        file.createNewFile();
                                    }
                                    FileWriter fileWriter = new FileWriter(file);
                                    fileWriter.write(document.html());
                                    fileWriter.flush();
                                    fileWriter.close();
                                    String link ="https://igo.i-go.group/files/html/invitation_" + randomString + ".html";
                                    TEmail tEmail = new TEmail();
                                    tEmail.setLink(link);
                                    tEmail.setUserId(finalDriver.getId());
                                    tEmail.setType(2);
                                    tEmail.setName(language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense");
                                    tEmail.setCreateTime(new Date());
                                    int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                                    String week = EmailUtil.getWeek(language, i);
                                    tEmail.setWeek(week);
                                    boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                                    if(am){
                                        tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
                                    }else {
                                        tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
                                    }
                                    emailService.insert(tEmail);
                                }catch (Exception e){
                                    e.printStackTrace();
                                }
                                emailService.insert(tEmail);
                            }catch (Exception e){
                                e.printStackTrace();
                            }
                        }
                    }).start();
                        }).start();
                    }
                }
            }
            if(type == 1){//用户分享
                UserInfo userInfo = userInfoMapper.selectById(uid);
@@ -765,18 +766,7 @@
            return ResultUtil.error(language == 1 ? "选择从业地暂未开通业务" : language == 2 ? "Not yet to commence business at the workplace selected." : "N’a pas encore commencé ses activités sur le lieu de travail sélectionné.");
        }
        if(null != query){
            switch (query.getType()){
                case 1://平台
                    driver.setCompanyId(query.getId());
                    break;
                case 2://分公司
                    driver.setCompanyId(query.getId());
                    break;
                case 3://加盟商
                    driver.setCompanyId(query.getSuperiorId());
                    driver.setFranchiseeId(query.getId());
                    break;
            }
            driver.setCompanyId(query.getId());
        }
        driver.setHeadImgUrl(registeredWarpper.getHeadImgUrl());
        driver.setIdCardImgUrl1(registeredWarpper.getIdCardImgUrl1());
@@ -877,11 +867,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("/home/igotechgh/nginx/html/files/html/");
            File file = new File("/data/nginx/html/files/html/");
            if(!file.exists()){
                file.mkdirs();
            }
            file = new File("/home/igotechgh/nginx/html/files/html/registration_" + randomString + ".html");
            file = new File("/data/nginx/html/files/html/registration_" + randomString + ".html");
            if(!file.exists()){
                file.createNewFile();
            }
@@ -991,11 +981,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("/home/igotechgh/nginx/html/files/html/");
            File file = new File("/data/nginx/html/files/html/");
            if(!file.exists()){
                file.mkdirs();
            }
            file = new File("/home/igotechgh/nginx/html/files/html/reset_" + randomString + ".html");
            file = new File("/data/nginx/html/files/html/reset_" + randomString + ".html");
            if(!file.exists()){
                file.createNewFile();
            }
@@ -1196,7 +1186,7 @@
            //检测是否有未完成的订单
            List<Map<String, Object>> list = orderService.queryOrderList(1, 1, 10, uid, language);
            if(list.size() > 0){
                return ResultUtil.error(language == 1 ? "还有未完成的订单,不能进行下班操作" : language == 2 ? "There are still outstanding orders, can not be off-duty operation" : "Il y a encore des commandes en suspens qui ne peuvent pas être exécutées");
                return ResultUtil.error(language == 1 ? "还有未完成的订单,不能进行下班操作" : language == 2 ? "Outstanding orders ! So you can't get off work" : "Commandes en suspens ! Vous ne pouvez pas quitter le travail");
            }
            driverWork.setEndTime(new Date());
            driverWork.setState(2);
@@ -1410,7 +1400,7 @@
            //检测是否有未完成的订单
            List<Map<String, Object>> list = orderService.queryOrderList(1, 1, 10, uid, language);
            if(list.size() > 0){
                return ResultUtil.error(language == 1 ? "还有未完成的订单,不能进行下班操作" : language == 2 ? "There are still outstanding orders, can not be off-duty operation" : "Il y a encore des commandes en suspens qui ne peuvent pas être exécutées");
                return ResultUtil.error(language == 1 ? "还有未完成的订单,不能进行下班操作" : language == 2 ? "Outstanding orders ! So you can't get off work" : "Commandes en suspens ! Vous ne pouvez pas quitter le travail");
            }
            driverWork.setEndTime(new Date());
            driverWork.setState(2);
@@ -1663,11 +1653,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("/home/igotechgh/nginx/html/files/html/");
            File file = new File("/data/nginx/html/files/html/");
            if(!file.exists()){
                file.mkdirs();
            }
            file = new File("/home/igotechgh/nginx/html/files/html/reset_" + randomString + ".html");
            file = new File("/data/nginx/html/files/html/reset_" + randomString + ".html");
            if(!file.exists()){
                file.createNewFile();
            }
@@ -1742,8 +1732,7 @@
    @Override
    public Map<String, Object> queryPhone(Integer uid) throws Exception {
        Driver driver = this.selectById(uid);
        Company company = companyMapper.selectById(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
                driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
        Company company = companyMapper.selectById(driver.getCompanyId());
        Map<String, Object> map = new HashMap<>();
        if(company.getType() == 3){//加盟商
            Phone phone = phoneMapper.queryInfo(company.getId(), 2);
@@ -2109,11 +2098,11 @@
                                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("/home/igotechgh/nginx/html/files/html/");
                                File file = new File("/data/nginx/html/files/html/");
                                if(!file.exists()){
                                    file.mkdirs();
                                }
                                file = new File("/home/igotechgh/nginx/html/files/html/activity_" + randomString + ".html");
                                file = new File("/data/nginx/html/files/html/activity_" + randomString + ".html");
                                if(!file.exists()){
                                    file.createNewFile();
                                }
@@ -2232,11 +2221,11 @@
                                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("/home/igotechgh/nginx/html/files/html/");
                                File file = new File("/data/nginx/html/files/html/");
                                if(!file.exists()){
                                    file.mkdirs();
                                }
                                file = new File("/home/igotechgh/nginx/html/files/html/activity_" + randomString + ".html");
                                file = new File("/data/nginx/html/files/html/activity_" + randomString + ".html");
                                if(!file.exists()){
                                    file.createNewFile();
                                }
@@ -2356,11 +2345,11 @@
                                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("/home/igotechgh/nginx/html/files/html/");
                                File file = new File("/data/nginx/html/files/html/");
                                if(!file.exists()){
                                    file.mkdirs();
                                }
                                file = new File("/home/igotechgh/nginx/html/files/html/activity_" + randomString + ".html");
                                file = new File("/data/nginx/html/files/html/activity_" + randomString + ".html");
                                if(!file.exists()){
                                    file.createNewFile();
                                }
@@ -2480,11 +2469,11 @@
                                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("/home/igotechgh/nginx/html/files/html/");
                                File file = new File("/data/nginx/html/files/html/");
                                if(!file.exists()){
                                    file.mkdirs();
                                }
                                file = new File("/home/igotechgh/nginx/html/files/html/activity_" + randomString + ".html");
                                file = new File("/data/nginx/html/files/html/activity_" + randomString + ".html");
                                if(!file.exists()){
                                    file.createNewFile();
                                }
@@ -2536,6 +2525,7 @@
            if(null == dao){
                continue;
            }
            //秒
            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){
@@ -2626,11 +2616,11 @@
                                EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document1.html());
                                String randomString = ToolUtil.getRandomString(10);
                                //开始生成pdf收据和html收据
                                File file = new File("/home/igotechgh/nginx/html/files/html/");
                                File file = new File("/data/nginx/html/files/html/");
                                if(!file.exists()){
                                    file.mkdirs();
                                }
                                file = new File("/home/igotechgh/nginx/html/files/html/rewards_" + randomString + ".html");
                                file = new File("/data/nginx/html/files/html/rewards_" + randomString + ".html");
                                if(!file.exists()){
                                    file.createNewFile();
                                }
@@ -2756,11 +2746,11 @@
                                EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document1.html());
                                String randomString = ToolUtil.getRandomString(10);
                                //开始生成pdf收据和html收据
                                File file = new File("/home/igotechgh/nginx/html/files/html/");
                                File file = new File("/data/nginx/html/files/html/");
                                if(!file.exists()){
                                    file.mkdirs();
                                }
                                file = new File("/home/igotechgh/nginx/html/files/html/rewards_" + randomString + ".html");
                                file = new File("/data/nginx/html/files/html/rewards_" + randomString + ".html");
                                if(!file.exists()){
                                    file.createNewFile();
                                }
@@ -3287,6 +3277,7 @@
    @Override
    public List<Driver> queryIdleDriver(Integer userId, Integer type, Integer serverCarModelId, Double lon, Double lat, Double distance, Integer companyId) throws Exception {
        List<Driver> drivers = driverMapper.queryIdleDriver_(type, serverCarModelId, companyId);
        System.err.println("派单查询的司机:" + JSON.toJSONString(drivers));
        String tripId = redisUtil.getValue("trip" + userId);
        List<Driver> list = new ArrayList<>();
        for(Driver driver : drivers){