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

---
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityDiscount1ServiceImpl.java |  200 ++++++++++++++++++++++++++++++-------------------
 1 files changed, 121 insertions(+), 79 deletions(-)

diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityDiscount1ServiceImpl.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityDiscount1ServiceImpl.java
index 83a8beb..936a699 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityDiscount1ServiceImpl.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityDiscount1ServiceImpl.java
@@ -30,6 +30,8 @@
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.FileWriter;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -296,89 +298,129 @@
     @Override
     public void sendActivityEmail() {
         try {
-            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-            List<UserActivityDiscount1> lis = this.selectList(new EntityWrapper<UserActivityDiscount1>().eq("enable", 2).last(" and DATE_FORMAT(startTime, '%Y-%m-%d') = '" + sdf.format(new Date()) + "'"));
-            if(lis.size() > 0){
-                List<TUser> tUsers = userService.selectList(new EntityWrapper<TUser>().ne("flag", 3).eq("state", 1));
-                for (UserActivityDiscount1 uad : lis) {
-                    Map<String, Double> map = new HashMap<>();
-                    Double special = uad.getSpecial();
-                    if(null != special){
-                        map.put("ride", special * 10);
-                    }
-                    Double logistics = uad.getLogistics();
-                    if(null != special){
-                        map.put("package", logistics * 10);
-                    }
-                    Set<String> strings = map.keySet();
-
-                    for (TUser user : tUsers) {
-                        if(ToolUtil.isNotEmpty(user.getEmail())){
-                            for (String key : strings) {
-                                Double aDouble = map.get(key);
-                                String path1 = templatePath +  "user/discount.html";
-                                Document document1 = Jsoup.parse(new File(path1), "UTF-8");
-                                document1.getElementById("chinese").remove();
-                                document1.getElementById("french").remove();
-                                document1.getElementsByTag("title").get(0).text("I-GO Discount activity");
-                                Element english_user = document1.getElementById("english_user");
-                                english_user.text("Hello " + user.getNickName() + ",");
-                                Element english_ride = document1.getElementById("english_ride");
-                                english_ride.text("Discount for I-GO " + key);
-                                Element english_discount = document1.getElementById("english_discount");
-                                english_discount.text(" Enjoy " + aDouble + "% off your trip fare.");
-                                EmailUtil.send(user.getEmail(), "I-GO Discount activity",  document1.html());
-                                //开始生成pdf收据和html收据
-                                File file = new File("/usr/local/nginx/html/files/html/");
-                                if(!file.exists()){
-                                    file.mkdirs();
-                                }
-                                String randomString = ToolUtil.getRandomString(10);
-                                file = new File("/usr/local/nginx/html/files/html/discount_" + randomString + ".html");
-                                if(!file.exists()){
-                                    file.createNewFile();
-                                }
-                                FileWriter fileWriter = new FileWriter(file);
-                                fileWriter.write(document1.html());
-                                fileWriter.flush();
-                                fileWriter.close();
-                                FileInputStream fileInputStream = new FileInputStream(file);
-                                File file1 = new File("/usr/local/nginx/html/files/pdf/");
-                                if(!file1.exists()){
-                                    file1.mkdirs();
-                                }
-                                file1 = new File("/usr/local/nginx/html/files/pdf/discount_" + randomString + ".pdf");
-                                if(!file1.exists()){
-                                    file1.createNewFile();
-                                }
-                                FileOutputStream fileOutputStream = new FileOutputStream(file1);
-                                HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
-
-                                String link ="http://182.160.16.251:81/files/html/discount_" + randomString + ".html";
-                                TEmail tEmail = new TEmail();
-                                tEmail.setLink(link);
-                                tEmail.setUserId(user.getId());
-                                tEmail.setType(1);
-                                tEmail.setName("I-GO Discount activity");
-                                tEmail.setCreateTime(new Date());
-                                int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
-                                tEmail.setWeek(EmailUtil.getWeek(2,i));
-                                boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
-                                if(am){
-                                    tEmail.setAmOrPm("AM");
-                                }else {
-                                    tEmail.setAmOrPm("PM");
-                                }
-                                emailService.insert(tEmail);
-                            }
-
-                        }
-                    }
-                }
+            List<UserActivityDiscount1> list = this.selectList(new EntityWrapper<UserActivityDiscount1>().eq("enable", 2)
+                    .last(" and now() >= startTime and now() < ADDDATE(startTime,INTERVAL 1 MINUTE)"));
+            if(list.size() > 0){
+                sendEmail(list);
             }
         }catch (Exception e){
             e.printStackTrace();
         }
 
     }
+
+
+
+    public void sendEmail(List<UserActivityDiscount1> list) throws Exception{
+        List<TUser> tUsers = userService.selectList(new EntityWrapper<TUser>().ne("flag", 3).eq("state", 1));
+        for (UserActivityDiscount1 uad : list) {
+            Map<String, Double> map = new HashMap<>();
+            Double special = uad.getSpecial();
+            if(null != special){
+                map.put("ride", special * 10);
+            }
+            Double logistics = uad.getLogistics();
+            if(null != special){
+                map.put("delivery", logistics * 10);
+            }
+            Set<String> strings = map.keySet();
+
+            for (TUser user : tUsers) {
+                if(ToolUtil.isNotEmpty(user.getEmail())){
+                    Integer language = user.getLanguage();
+                    for (String key : strings) {
+                        Double aDouble = map.get(key);
+                        String path1 = templatePath +  "user/discount.html";
+                        Document document1 = Jsoup.parse(new File(path1), "UTF-8");
+                        if(1 == language){
+                            document1.getElementById("english").remove();
+                            document1.getElementById("french").remove();
+                            document1.getElementsByTag("title").get(0).text("折扣活动");
+                            Element chinese_user = document1.getElementById("chinese_user");
+                            chinese_user.text("您好 " + user.getNickName() + ",");
+                            Element chinese_ride = document1.getElementById("chinese_ride");
+                            chinese_ride.text("I-GO" + (key.equals("ride") ? "打车" : "包裹") + "折扣活动奖励");
+                            Element chinese_go = document1.getElementById("chinese_go");
+                            if("ride".equals(key)){
+                                chinese_go.text("去打车");
+                            }else{
+                                chinese_go.text("寄包裹");
+                            }
+                            Element chinese_discount = document1.getElementById("chinese_discount");
+                            chinese_discount.text("每单费用折扣" + new BigDecimal(100).subtract(new BigDecimal(aDouble)).setScale(2, RoundingMode.HALF_EVEN).doubleValue() + "%");
+                            EmailUtil.send(user.getEmail(), "折扣活动",  document1.html());
+                        }
+                        if(2 == language){
+                            document1.getElementById("chinese").remove();
+                            document1.getElementById("french").remove();
+                            document1.getElementsByTag("title").get(0).text("Discount activities");
+                            Element english_user = document1.getElementById("english_user");
+                            english_user.text("Hello " + user.getNickName() + ",");
+                            Element english_ride = document1.getElementById("english_ride");
+                            english_ride.text("Discount for I-GO " + key);
+                            Element english_go = document1.getElementById("english_go");
+                            if("ride".equals(key)){
+                                english_go.text("REQUEST A RIDE");
+                            }else{
+                                english_go.text("REQUEST A DELIVERY");
+                            }
+                            Element english_discount = document1.getElementById("english_discount");
+                            english_discount.text(" Enjoy " + new BigDecimal(100).subtract(new BigDecimal(aDouble)).setScale(2, RoundingMode.HALF_EVEN).doubleValue() + "% off your trip fare.");
+                            EmailUtil.send(user.getEmail(), "Discount activities",  document1.html());
+                        }
+                        if(3 == language){
+                            document1.getElementById("chinese").remove();
+                            document1.getElementById("english").remove();
+                            document1.getElementsByTag("title").get(0).text("Activités à rabais");
+                            Element french_user = document1.getElementById("french_user");
+                            french_user.text("Cher(ère) " + user.getNickName() + ",");
+                            Element french_ride = document1.getElementById("french_ride");
+                            french_ride.text("Remise pour I-GO (commande de " + (key.equals("ride") ? "course" : "livraison") + ")!");
+                            Element french_go = document1.getElementById("french_go");
+                            if("ride".equals(key)){
+                                french_go.text("Déplacez-vous avec I-GO");
+                            }else{
+                                french_go.text("Demander une livraison avec I-GO");
+                            }
+                            Element french_discount = document1.getElementById("french_discount");
+                            french_discount.text("Profitez aujourd’hui de " + new BigDecimal(100).subtract(new BigDecimal(aDouble)).setScale(2, RoundingMode.HALF_EVEN).doubleValue() + "% de réduction sur les commandes de " + (key.equals("ride") ? "course" : "livraison") + ", allez sur la plate-forme I-GO pour voir le détail.");
+                            EmailUtil.send(user.getEmail(), "Activités à rabais",  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/discount_" + 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/discount_" + randomString + ".html";
+                        TEmail tEmail = new TEmail();
+                        tEmail.setLink(link);
+                        tEmail.setUserId(user.getId());
+                        tEmail.setType(1);
+                        tEmail.setName(1 == language ? "折扣活动" : 2 == language ? "Discount activities" : "Activités à rabais");
+                        tEmail.setCreateTime(new Date());
+                        int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
+                        tEmail.setWeek(EmailUtil.getWeek(2,i));
+                        boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
+                        if(am){
+                            tEmail.setAmOrPm("AM");
+                        }else {
+                            tEmail.setAmOrPm("PM");
+                        }
+                        emailService.insert(tEmail);
+                    }
+
+                }
+            }
+        }
+    }
 }

--
Gitblit v1.7.1