Pu Zhibing
2025-06-06 b1f2f102034b4433201225b67a9fc78c08e532f0
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -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(list.size() > 0 && 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("/home/igotechgh/nginx/html/files/html/");
                                    if(!file.exists()){
                                        file.mkdirs();
                                    }
                                    file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html");
                                    if(!file.exists()){
                                        file.createNewFile();
                                    }
                                    FileWriter fileWriter = new FileWriter(file);
                                    fileWriter.write(document.html());
                                    fileWriter.flush();
                                    fileWriter.close();
                                    String link ="https://igo.i-go.group/files/html/invitation_" + randomString + ".html";
                                    TEmail tEmail = new TEmail();
                                    tEmail.setLink(link);
                                    tEmail.setUserId(finalDriver.getId());
                                    tEmail.setType(2);
                                    tEmail.setName(language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense");
                                    tEmail.setCreateTime(new Date());
                                    int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                                    String week = EmailUtil.getWeek(language, i);
                                    tEmail.setWeek(week);
                                    boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                                    if(am){
                                        tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
                                    }else {
                                        tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
                                    }
                                    emailService.insert(tEmail);
                                }catch (Exception e){
                                    e.printStackTrace();
                                }
                                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());
@@ -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);