From b1f2f102034b4433201225b67a9fc78c08e532f0 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 06 六月 2025 18:35:03 +0800
Subject: [PATCH] 修改bug和管理后台报表

---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java |  217 +++++++++++++++++++++++++++++------------------------
 1 files changed, 118 insertions(+), 99 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 9e42453..2e753be 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
@@ -673,104 +673,106 @@
                         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())){
-                        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(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);
+    
+                        if(ToolUtil.isNotEmpty(driver.getEmail())){
+                            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();
                                     }
-                                    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();
+                            }).start();
+                        }
                     }
                 }
 
@@ -1002,15 +1004,32 @@
                     phone=json.getString("phoneNumber");
                 }
             }
-            if(null!=userInfo && !openid.equals(userInfo.getAppletsOpenId())){
+            if(null != userInfo && ToolUtil.isEmpty(userInfo.getPhone())){
+                String result= weChatUtil.decrypt1(encryptedData,map.get("sessionKey"),iv);
+                JSONObject json=JSONObject.parseObject(result);
+    
+                if (!ToolUtil.isEmpty(result) && result.length()>0) {
+                    UserInfo userInfo1 = userInfoMapper.queryByPhone(json.getString("phoneNumber"));
+                    phone=json.getString("phoneNumber");
+                    //删除新注册的数据,将小程序标识合并到就数据上
+                    if(null != userInfo1){
+                        userInfo.setFlag(2);
+                        userInfoMapper.updateById(userInfo);
+                        userInfo = userInfo1;
+                    }
+                }
+            }
+            
+            if(null != userInfo && ToolUtil.isEmpty(userInfo.getAppletsOpenId())){
                 userInfo.setAppletsOpenId(openid);
                 userInfo.setUnionid(unionid);
                 userInfo.setNickName(ToolUtil.isNotEmpty(nickName) ? nickName : this.getDefaultName());
                 userInfo.setAvatar(avatar);
                 userInfoMapper.updateById(userInfo);
             }
-
-
+            if(null != userInfo && ToolUtil.isNotEmpty(userInfo.getAppletsOpenId()) && !openid.equals(userInfo.getAppletsOpenId())){
+                return ResultUtil.error(language == 1 ? "手机号已被注册" : language == 2 ? "The mobile phone number has been registered" : "Le numéro de téléphone portable a été enregistré");
+            }
         }else{//APP
             userInfo = userInfoMapper.queryByOpenid(openid);
         }

--
Gitblit v1.7.1