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