From 4c99ee7028c3fe58a2cd4b8273b22c75c45574fc Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 16 五月 2025 10:27:41 +0800
Subject: [PATCH] 修改文档bug

---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java |  342 ++++++++++++++++++++++++++++++--------------------------
 1 files changed, 185 insertions(+), 157 deletions(-)

diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
index 5c9c59e..9e42453 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -316,6 +316,7 @@
                         bigDecimal = bigDecimal.add(new BigDecimal(driverActivityHistory.getMoney()));
                         incomeService.saveData(2, driver.getId(), 1, driverActivityHistory.getId(), null, driverActivityHistory.getMoney());
                         driverActivityHistory.setCarryOut(2);
+                        driverActivityHistory.setCompletionTime(new Date());
                         driverActivityHistoryMapper.updateById(driverActivityHistory);
                     }
                     
@@ -669,6 +670,7 @@
                         bigDecimal = bigDecimal.add(new BigDecimal(driverActivityHistory.getMoney()));
                         incomeService.saveData(2, driver.getId(), 1, driverActivityHistory.getId(), null, driverActivityHistory.getMoney());
                         driverActivityHistory.setCarryOut(2);
+                        driverActivityHistory.setCompletionTime(new Date());
                         driverActivityHistoryMapper.updateById(driverActivityHistory);
                     }
                     driver.setActivityMoney(bigDecimal.add(new BigDecimal(driver.getActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -677,88 +679,98 @@
                     driverMapper.updateById(driver);
 
                     if(ToolUtil.isNotEmpty(driver.getEmail())){
-                        String path1 = templatePath + "driver/index.html";
-                        Document document1 = Jsoup.parse(new File(path1), "UTF-8");
-                        if(1 == language){
-                            document1.getElementById("english").remove();
-                            document1.getElementById("french").remove();
-                            document1.getElementById("invite").remove();
-                            document1.getElementById("settle").remove();
-                            document1.getElementById("pass").remove();
-                            document1.getElementById("bill").remove();
-                            document1.getElementById("reward").remove();
-                            document1.getElementById("rewardToday").remove();
-
-                            document1.getElementsByTag("title").get(0).text("司机奖励通知");
-                            Element user_user = document1.getElementById("user_user");
-                            user_user.text("您好 " + driver.getFirstName() + " " + driver.getLastName() + ",");
-                            Element user_content = document1.getElementById("user_content");
-                            user_content.text("您已成功邀请一位用户注册I-GO,获得奖励GHS " + bigDecimal.doubleValue() + ",请查收");
-                        }
-                        if(2 == language){
-                            document1.getElementById("chinese").remove();
-                            document1.getElementById("french").remove();
-                            document1.getElementById("invite1").remove();
-                            document1.getElementById("settle1").remove();
-                            document1.getElementById("pass1").remove();
-                            document1.getElementById("bill1").remove();
-                            document1.getElementById("reward1").remove();
-                            document1.getElementById("rewardToday1").remove();
-
-                            document1.getElementsByTag("title").get(0).text("Reward-driver notice");
-                            Element user1_user = document1.getElementById("user1_user");
-                            user1_user.text("Hello " + driver.getFirstName() + " " + driver.getLastName() + ",");
-                            Element user1_content = document1.getElementById("user1_content");
-                            user1_content.text("You have succeeded to invite a rider to register with I-GO, so you received a GHS " + bigDecimal.doubleValue() + " bonus, please check your balance.");
-                        }
-                        if(3 == language){
-                            document1.getElementById("chinese").remove();
-                            document1.getElementById("english").remove();
-                            document1.getElementById("invite1").remove();
-                            document1.getElementById("settle1").remove();
-                            document1.getElementById("pass1").remove();
-                            document1.getElementById("bill1").remove();
-                            document1.getElementById("reward1").remove();
-                            document1.getElementById("rewardToday1").remove();
-
-                            document1.getElementsByTag("title").get(0).text("Avis de chauffeur de récompense");
-                            Element user2_user = document1.getElementById("user2_user");
-                            user2_user.text("Bonjour " + driver.getFirstName() + " " + driver.getLastName() + ",");
-                            Element user2_content = document1.getElementById("user2_content");
-                            user2_content.text("Vous avez invité avec succès un utilisateur à s’inscrire à i-go pour recevoir une récompense GHS " + bigDecimal.doubleValue() + ". Veuillez vérifier");
-                        }
-                        EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense",  document1.html());
-                        //开始生成pdf收据和html收据
-                        File file = new File("/home/igotechgh/nginx/html/files/html/");
-                        if(!file.exists()){
-                            file.mkdirs();
-                        }
-                        String randomString = ToolUtil.getRandomString(10);
-                        file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html");
-                        if(!file.exists()){
-                            file.createNewFile();
-                        }
-                        FileWriter fileWriter = new FileWriter(file);
-                        fileWriter.write(document1.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(driver.getId());
-                        tEmail.setType(2);
-                        tEmail.setName(language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense");
-                        tEmail.setCreateTime(new Date());
-                        int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
-                        tEmail.setWeek(EmailUtil.getWeek(language,i));
-                        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);
+                        BigDecimal finalBigDecimal = bigDecimal;
+                        new Thread(new Runnable() {
+                            @Override
+                            public void run() {
+                                try {
+                                    String path1 = templatePath + "driver/index.html";
+                                    Document document1 = Jsoup.parse(new File(path1), "UTF-8");
+                                    if(1 == language){
+                                        document1.getElementById("english").remove();
+                                        document1.getElementById("french").remove();
+                                        document1.getElementById("invite").remove();
+                                        document1.getElementById("settle").remove();
+                                        document1.getElementById("pass").remove();
+                                        document1.getElementById("bill").remove();
+                                        document1.getElementById("reward").remove();
+                                        document1.getElementById("rewardToday").remove();
+            
+                                        document1.getElementsByTag("title").get(0).text("司机奖励通知");
+                                        Element user_user = document1.getElementById("user_user");
+                                        user_user.text("您好 " + driver.getFirstName() + " " + driver.getLastName() + ",");
+                                        Element user_content = document1.getElementById("user_content");
+                                        user_content.text("您已成功邀请一位用户注册I-GO,获得奖励GHS " + finalBigDecimal.doubleValue() + ",请查收");
+                                    }
+                                    if(2 == language){
+                                        document1.getElementById("chinese").remove();
+                                        document1.getElementById("french").remove();
+                                        document1.getElementById("invite1").remove();
+                                        document1.getElementById("settle1").remove();
+                                        document1.getElementById("pass1").remove();
+                                        document1.getElementById("bill1").remove();
+                                        document1.getElementById("reward1").remove();
+                                        document1.getElementById("rewardToday1").remove();
+            
+                                        document1.getElementsByTag("title").get(0).text("Reward-driver notice");
+                                        Element user1_user = document1.getElementById("user1_user");
+                                        user1_user.text("Hello " + driver.getFirstName() + " " + driver.getLastName() + ",");
+                                        Element user1_content = document1.getElementById("user1_content");
+                                        user1_content.text("You have succeeded to invite a rider to register with I-GO, so you received a GHS " + finalBigDecimal.doubleValue() + " bonus, please check your balance.");
+                                    }
+                                    if(3 == language){
+                                        document1.getElementById("chinese").remove();
+                                        document1.getElementById("english").remove();
+                                        document1.getElementById("invite1").remove();
+                                        document1.getElementById("settle1").remove();
+                                        document1.getElementById("pass1").remove();
+                                        document1.getElementById("bill1").remove();
+                                        document1.getElementById("reward1").remove();
+                                        document1.getElementById("rewardToday1").remove();
+            
+                                        document1.getElementsByTag("title").get(0).text("Avis de chauffeur de récompense");
+                                        Element user2_user = document1.getElementById("user2_user");
+                                        user2_user.text("Bonjour " + driver.getFirstName() + " " + driver.getLastName() + ",");
+                                        Element user2_content = document1.getElementById("user2_content");
+                                        user2_content.text("Vous avez invité avec succès un utilisateur à s’inscrire à i-go pour recevoir une récompense GHS " + finalBigDecimal.doubleValue() + ". Veuillez vérifier");
+                                    }
+                                    EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense",  document1.html());
+                                    //开始生成pdf收据和html收据
+                                    File file = new File("/home/igotechgh/nginx/html/files/html/");
+                                    if(!file.exists()){
+                                        file.mkdirs();
+                                    }
+                                    String randomString = ToolUtil.getRandomString(10);
+                                    file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html");
+                                    if(!file.exists()){
+                                        file.createNewFile();
+                                    }
+                                    FileWriter fileWriter = new FileWriter(file);
+                                    fileWriter.write(document1.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(driver.getId());
+                                    tEmail.setType(2);
+                                    tEmail.setName(language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense");
+                                    tEmail.setCreateTime(new Date());
+                                    int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
+                                    tEmail.setWeek(EmailUtil.getWeek(language,i));
+                                    boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
+                                    if(am){
+                                        tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
+                                    }else {
+                                        tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
+                                    }
+                                    emailService.insert(tEmail);
+                                }catch (Exception e){
+                                    e.printStackTrace();
+                                }
+                            }
+                        }).start();
                     }
                 }
 
@@ -814,79 +826,92 @@
                         userActivityInviteMapper.updateById(uai);
 
                         if(ToolUtil.isNotEmpty(userInfo1.getEmail())){
-                            String path1 = templatePath +  "user/coupon.html";
-                            Document document1 = Jsoup.parse(new File(path1), "UTF-8");
-                            if(language == 1){
-                                document1.getElementById("english").remove();
-                                document1.getElementById("french").remove();
-                                document1.getElementsByTag("title").get(0).text("优惠券到账");
-                                Element chinese_user = document1.getElementById("chinese_user");
-                                chinese_user.text("您好 " + userInfo1.getNickName() + ",");
-                                Element chinese_number = document1.getElementById("chinese_number");
-                                chinese_number.text("您有" + num + "张优惠券到账");
-                                Element chinese_date = document1.getElementById("chinese_date");
-                                chinese_date.text("此活动有效期在" + startTime + "至" + endTime + ",详情请查看I-GO平台");
-                                Element chinese_remark = document1.getElementById("chinese_remark");
-                                chinese_remark.text("注意:满减活动,每单消费至少GHS " + fullMoney + ",才可享用。");
-                            }
-                            if(language == 2){
-                                document1.getElementById("chinese").remove();
-                                document1.getElementById("french").remove();
-                                document1.getElementsByTag("title").get(0).text("Coupon is in");
-                                Element english_user = document1.getElementById("english_user");
-                                english_user.text("Hello " + userInfo1.getNickName() + ",");
-                                Element english_number = document1.getElementById("english_number");
-                                english_number.text("You have received " + num + " coupons");
-                                Element english_date = document1.getElementById("english_date");
-                                english_date.text("You could use them from " + startTime + " to " + endTime);
-                                Element english_remark = document1.getElementById("english_remark");
-                                english_remark.text("NB! Coupon is valid only for the trip fare not less than GHS " + fullMoney + " per ride.");
-                            }
-                            if(language == 3){
-                                document1.getElementById("chinese").remove();
-                                document1.getElementById("english").remove();
-                                document1.getElementsByTag("title").get(0).text("Le coupon est arrivé sur le compte");
-                                Element french_user = document1.getElementById("french_user");
-                                french_user.text("Cher(ère) " + userInfo1.getNickName() + ",");
-                                Element french_number = document1.getElementById("french_number");
-                                french_number.text("Vous avez reçu " + num + " coupons.");
-                                Element french_date = document1.getElementById("french_date");
-                                french_date.text("Vous devriez les utiliser du" + startTime + " au " + endTime + ", voir le détail sur la plate-forme I-GO.");
-                                Element french_remark = document1.getElementById("french_remark");
-                                french_remark.text("Remarque! Le coupon n'est valable que pour le tarif d'au moins GHS " + fullMoney + " par trajet.");
-                            }
-                            EmailUtil.send(userInfo1.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte",  document1.html());
-                            //开始生成pdf收据和html收据
-                            File file = new File("/home/igotechgh/nginx/html/files/html/");
-                            if(!file.exists()){
-                                file.mkdirs();
-                            }
-                            String randomString = ToolUtil.getRandomString(10);
-                            file = new File("/home/igotechgh/nginx/html/files/html/coupon_" + randomString + ".html");
-                            if(!file.exists()){
-                                file.createNewFile();
-                            }
-                            FileWriter fileWriter = new FileWriter(file);
-                            fileWriter.write(document1.html());
-                            fileWriter.flush();
-                            fileWriter.close();
-
-                            String link ="https://igo.i-go.group/files/html/coupon_" + randomString + ".html";
-                            TEmail tEmail = new TEmail();
-                            tEmail.setLink(link);
-                            tEmail.setUserId(uid);
-                            tEmail.setType(1);
-                            tEmail.setName(language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte");
-                            tEmail.setCreateTime(new Date());
-                            int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
-                            tEmail.setWeek(EmailUtil.getWeek(language,i));
-                            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);
+                            int finalNum = num;
+                            String finalStartTime = startTime;
+                            String finalEndTime = endTime;
+                            double finalFullMoney = fullMoney;
+                            new Thread(new Runnable() {
+                                @Override
+                                public void run() {
+                                    try {
+                                        String path1 = templatePath +  "user/coupon.html";
+                                        Document document1 = Jsoup.parse(new File(path1), "UTF-8");
+                                        if(language == 1){
+                                            document1.getElementById("english").remove();
+                                            document1.getElementById("french").remove();
+                                            document1.getElementsByTag("title").get(0).text("优惠券到账");
+                                            Element chinese_user = document1.getElementById("chinese_user");
+                                            chinese_user.text("您好 " + userInfo1.getNickName() + ",");
+                                            Element chinese_number = document1.getElementById("chinese_number");
+                                            chinese_number.text("您有" + finalNum + "张优惠券到账");
+                                            Element chinese_date = document1.getElementById("chinese_date");
+                                            chinese_date.text("此活动有效期在" + finalStartTime + "至" + finalEndTime + ",详情请查看I-GO平台");
+                                            Element chinese_remark = document1.getElementById("chinese_remark");
+                                            chinese_remark.text("注意:满减活动,每单消费至少GHS " + finalFullMoney + ",才可享用。");
+                                        }
+                                        if(language == 2){
+                                            document1.getElementById("chinese").remove();
+                                            document1.getElementById("french").remove();
+                                            document1.getElementsByTag("title").get(0).text("Coupon is in");
+                                            Element english_user = document1.getElementById("english_user");
+                                            english_user.text("Hello " + userInfo1.getNickName() + ",");
+                                            Element english_number = document1.getElementById("english_number");
+                                            english_number.text("You have received " + finalNum + " coupons");
+                                            Element english_date = document1.getElementById("english_date");
+                                            english_date.text("You could use them from " + finalStartTime + " to " + finalEndTime);
+                                            Element english_remark = document1.getElementById("english_remark");
+                                            english_remark.text("NB! Coupon is valid only for the trip fare not less than GHS " + finalFullMoney + " per ride.");
+                                        }
+                                        if(language == 3){
+                                            document1.getElementById("chinese").remove();
+                                            document1.getElementById("english").remove();
+                                            document1.getElementsByTag("title").get(0).text("Le coupon est arrivé sur le compte");
+                                            Element french_user = document1.getElementById("french_user");
+                                            french_user.text("Cher(ère) " + userInfo1.getNickName() + ",");
+                                            Element french_number = document1.getElementById("french_number");
+                                            french_number.text("Vous avez reçu " + finalNum + " coupons.");
+                                            Element french_date = document1.getElementById("french_date");
+                                            french_date.text("Vous devriez les utiliser du" + finalStartTime + " au " + finalEndTime + ", voir le détail sur la plate-forme I-GO.");
+                                            Element french_remark = document1.getElementById("french_remark");
+                                            french_remark.text("Remarque! Le coupon n'est valable que pour le tarif d'au moins GHS " + finalFullMoney + " par trajet.");
+                                        }
+                                        EmailUtil.send(userInfo1.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte",  document1.html());
+                                        //开始生成pdf收据和html收据
+                                        File file = new File("/home/igotechgh/nginx/html/files/html/");
+                                        if(!file.exists()){
+                                            file.mkdirs();
+                                        }
+                                        String randomString = ToolUtil.getRandomString(10);
+                                        file = new File("/home/igotechgh/nginx/html/files/html/coupon_" + randomString + ".html");
+                                        if(!file.exists()){
+                                            file.createNewFile();
+                                        }
+                                        FileWriter fileWriter = new FileWriter(file);
+                                        fileWriter.write(document1.html());
+                                        fileWriter.flush();
+                                        fileWriter.close();
+    
+                                        String link ="https://igo.i-go.group/files/html/coupon_" + randomString + ".html";
+                                        TEmail tEmail = new TEmail();
+                                        tEmail.setLink(link);
+                                        tEmail.setUserId(uid);
+                                        tEmail.setType(1);
+                                        tEmail.setName(language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte");
+                                        tEmail.setCreateTime(new Date());
+                                        int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
+                                        tEmail.setWeek(EmailUtil.getWeek(language,i));
+                                        boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
+                                        if(am){
+                                            tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
+                                        }else {
+                                            tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
+                                        }
+                                        emailService.insert(tEmail);
+                                    }catch (Exception e){
+                                        e.printStackTrace();
+                                    }
+                                }
+                            }).start();
                         }
 
                     }
@@ -1581,8 +1606,8 @@
             userInfo1.setSex(userInfo.getSex());
             userInfo1.setNickName(userInfo.getNickName());
             this.updateById(userInfo1);
-
-            this.deleteById(userInfo.getId());//删除原有数据
+            userInfo.setFlag(3);
+            this.updateById(userInfo);//删除原有数据
             //还原之前账号领取的注册优惠券
             List<UserCouponRecord> list = userCouponRecordService.selectList(new EntityWrapper<UserCouponRecord>().eq("userId", userInfo.getId()));
             for(UserCouponRecord ucr : list){
@@ -1732,6 +1757,9 @@
     @Override
     public ResultUtil depositBalance(Integer payType, String bankCardId, Double money, Integer uid, Integer type, Integer language) throws Exception {
         UserInfo userInfo = userInfoMapper.selectById(uid);
+        if(ToolUtil.isEmpty(userInfo.getPhone())){
+            return ResultUtil.error(language == 1 ? "请先绑定手机号码" : language == 2 ? "Please bind your mobile phone number first." : "Veuillez d’abord vous inscrire en liant votre numéro de téléphone portable.");
+        }
         if(money.compareTo(0D) <= 0){
             return ResultUtil.error(language == 1 ? "支付金额必须大于0元" : language == 2 ? "Payment amount must be greater than zero." : "Le montant du paiement doit être supérieur à zéro.", "");
         }

--
Gitblit v1.7.1