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/FeedbackServiceImpl.java | 72 ++++++++++++++++++++++++++++++------ 1 files changed, 60 insertions(+), 12 deletions(-) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java index 5d1fd3c..055d0c8 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java @@ -6,12 +6,15 @@ import com.stylefeng.guns.modular.system.dao.SensitiveWordsMapper; import com.stylefeng.guns.modular.system.model.Feedback; 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.IFeedbackService; 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.ResultUtil; +import com.stylefeng.guns.modular.system.util.itextpdf.HtmlToPdfUtils; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; @@ -21,8 +24,14 @@ import javax.annotation.Resource; import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.FileWriter; +import java.util.ArrayList; +import java.util.Arrays; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; @Service @@ -40,6 +49,9 @@ @Value("${spring.mail.template-path}") private String templatePath; + @Autowired + private TEmailService emailService; + @@ -54,11 +66,12 @@ if(ToolUtil.isNotEmpty(content)){ if(content.length() > 200){ language = userInfoService.queryLanguage(uid, language); - return ResultUtil.error(language == 1 ? "反馈内容过长" : language == 2 ? "Feedback is too long" : "Les commentaires sont trop longs"); + return ResultUtil.error(language == 1 ? "反馈内容过长" : language == 2 ? "Feedback-content is overlong." : "Le contenu de l’avis est trop long."); } + content = content.toLowerCase(); List<SensitiveWords> sensitiveWords = sensitiveWordsMapper.selectList(null); - for(SensitiveWords s : sensitiveWords){ - content = content.replaceAll(s.getContent(), "***"); + for(SensitiveWords s : sensitiveWords) { + content = content.replaceAll(s.getContent().toLowerCase(), "***"); } } @@ -76,28 +89,63 @@ String path = templatePath + "user/feedback.html"; Document document = Jsoup.parse(new File(path), "UTF-8"); if(1 == language){ - document.getElementById("english").attr("style", "display: none;"); - document.getElementById("french").attr("style", "display: none;"); + document.getElementById("english").remove(); + document.getElementById("french").remove(); + document.getElementsByTag("title").get(0).text("意见反馈"); Element user_chinese = document.getElementById("user_chinese"); user_chinese.text("您好 " + userInfo.getNickName() + ","); } if(2 == language){ - document.getElementById("chinese").attr("style", "display: none;"); - document.getElementById("french").attr("style", "display: none;"); + document.getElementById("chinese").remove(); + document.getElementById("french").remove(); + document.getElementsByTag("title").get(0).text("Feedback"); Element user_english = document.getElementById("user_english"); user_english.text("Hello " + userInfo.getNickName() + ","); } if(3 == language){ - document.getElementById("chinese").attr("style", "display: none;"); - document.getElementById("english").attr("style", "display: none;"); + document.getElementById("chinese").remove(); + document.getElementById("english").remove(); + document.getElementsByTag("title").get(0).text("Avis"); Element user_french = document.getElementById("user_french"); user_french.text("Bonjour " + userInfo.getNickName() + ","); } - EmailUtil.send(userInfo.getEmail(), language == 1 ? "反馈意见" : language == 2 ? "Feedback" : "Retour", document.html()); + EmailUtil.send(userInfo.getEmail(), language == 1 ? "反馈意见" : language == 2 ? "Feedback" : "Avis", document.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/feedback_" + randomString + ".html"); + if(!file.exists()){ + file.createNewFile(); + } + FileWriter fileWriter = new FileWriter(file); + fileWriter.write(document.html()); + fileWriter.flush(); + fileWriter.close(); + + String link ="https://igo.i-go.group/files/html/feedback_" + randomString + ".html"; + TEmail tEmail = new TEmail(); + tEmail.setLink(link); + tEmail.setUserId(uid); + tEmail.setType(1); + tEmail.setName(language == 1 ? "反馈意见" : language == 2 ? "Feedback" : "Avis"); + 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 feedback has been submitted successfully, we will deal with it as soon as possible" - : "Vos commentaires ont été soumis avec succès, nous les traiterons dès que possible", uid, 1); + systemNoticeService.addSystemNotice(1, language == 1 ? "您的反馈已提交成功,我们会尽快处理!" : language == 2 ? "Your feedback was submitted successfully, we shall handle it as soon as possible." + : "Vos avis ont été soumis avec succès, nous les traiterons dans les plus brefs délais.", uid, 1); return ResultUtil.success(); } } -- Gitblit v1.7.1