From cf487b4baf05048e8929b47d73efc83d6a09162c Mon Sep 17 00:00:00 2001 From: luo <2855143437@qq.com> Date: 星期二, 30 一月 2024 17:12:40 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ComplaintServiceImpl.java | 82 ++++++++++++++++++++++++++++++++++++++++- 1 files changed, 80 insertions(+), 2 deletions(-) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ComplaintServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ComplaintServiceImpl.java index 3dcec6a..1a15f9e 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ComplaintServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ComplaintServiceImpl.java @@ -6,15 +6,29 @@ import com.stylefeng.guns.modular.system.dao.SensitiveWordsMapper; import com.stylefeng.guns.modular.system.model.Complaint; import com.stylefeng.guns.modular.system.model.SensitiveWords; +import com.stylefeng.guns.modular.system.model.TEmail; +import com.stylefeng.guns.modular.system.model.UserInfo; import com.stylefeng.guns.modular.system.service.IComplaintService; import com.stylefeng.guns.modular.system.service.ISystemNoticeService; import com.stylefeng.guns.modular.system.service.IUserInfoService; +import com.stylefeng.guns.modular.system.service.TEmailService; +import com.stylefeng.guns.modular.system.util.EmailUtil; +import com.stylefeng.guns.modular.system.util.itextpdf.HtmlToPdfUtils; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.FileWriter; import java.util.Date; import java.util.List; +import java.util.UUID; @Service @@ -28,6 +42,12 @@ @Autowired private IUserInfoService userInfoService; + + @Value("${spring.mail.template-path}") + private String templatePath; + + @Autowired + private TEmailService emailService; @@ -47,7 +67,6 @@ description = description.replaceAll(s.getContent(), "***"); } } - language = userInfoService.queryLanguage(uid, language); Complaint complaint = new Complaint(); complaint.setInsertTime(new Date()); complaint.setDriverId(driverId); @@ -57,6 +76,65 @@ complaint.setIsHandle(0); this.insert(complaint); - systemNoticeService.addSystemNotice(1, language == 1 ? "您的投诉已提交成功,我们会尽快处理!" : language == 2 ? "Your complaint has been submitted successfully and we will deal with it as soon as possible" : "Votre plainte a été soumise avec succès et nous la traiterons dès que possible", uid, 1); + UserInfo userInfo = userInfoService.selectById(uid); + if(ToolUtil.isNotEmpty(userInfo.getEmail())){ + String path = templatePath + "user/complaint.html"; + Document document = Jsoup.parse(new File(path), "UTF-8"); + if(language == 1){ + document.getElementById("english").remove(); + document.getElementById("french").remove(); + document.getElementsByTag("title").get(0).text("投诉司机"); + Element chinese_user = document.getElementById("chinese_user"); + chinese_user.text("您好 " + userInfo.getNickName() + ","); + } + if(language == 2){ + document.getElementById("chinese").remove(); + document.getElementById("french").remove(); + document.getElementsByTag("title").get(0).text("Complain against driver"); + Element english_user = document.getElementById("english_user"); + english_user.text("Hello " + userInfo.getNickName() + ","); + } + if(language == 3){ + document.getElementById("chinese").remove(); + document.getElementById("english").remove(); + document.getElementsByTag("title").get(0).text("Porter plainte contre le chauffeur"); + Element french_user = document.getElementById("french_user"); + french_user.text("Bonjour " + userInfo.getNickName() + ","); + } + EmailUtil.send(userInfo.getEmail(), language == 1 ? "投诉司机" : language == 2 ? "Complain against driver" : "Porter plainte contre le chauffeur", document.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/complain_" + randomString + ".html"); + if(!file.exists()){ + file.createNewFile(); + } + FileWriter fileWriter = new FileWriter(file); + fileWriter.write(document.html()); + fileWriter.flush(); + fileWriter.close(); + + String link ="http://182.160.16.251:81/files/html/complain_" + randomString + ".html"; + TEmail tEmail = new TEmail(); + tEmail.setLink(link); + tEmail.setUserId(uid); + tEmail.setType(1); + tEmail.setName(language == 1 ? "投诉司机" : language == 2 ? "Complain against driver" : "Porter plainte contre le chauffeur"); + 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); + + } + systemNoticeService.addSystemNotice(1, language == 1 ? "您的投诉已提交成功,我们会尽快处理!" : language == 2 ? "Your complaints were submitted successfully, we shall handle it as soon as possible." : "Vos réclamations ont été déposées avec succès, nous les traiterons dans les plus brefs délais.", uid, 1); } } -- Gitblit v1.7.1