From d45923a8b023f9a010fc75f53b13ffca01c573fa Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 22 十二月 2023 10:57:46 +0800
Subject: [PATCH] 更新

---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java |   85 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 82 insertions(+), 3 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 50a51d2..f6f951e 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,14 +6,27 @@
 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;
 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;
 
@@ -30,6 +43,12 @@
     @Autowired
     private IUserInfoService userInfoService;
 
+    @Value("${spring.mail.template-path}")
+    private String templatePath;
+
+    @Autowired
+    private TEmailService emailService;
+
 
 
 
@@ -44,7 +63,7 @@
         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.");
             }
             List<SensitiveWords> sensitiveWords = sensitiveWordsMapper.selectList(null);
             for(SensitiveWords s : sensitiveWords){
@@ -61,8 +80,68 @@
         feedback.setUserId(uid);
         this.insert(feedback);
 
-        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);
+        UserInfo userInfo = userInfoService.selectById(uid);
+        if(ToolUtil.isNotEmpty(userInfo.getEmail())){
+            String path = templatePath +  "user/feedback.html";
+            Document document = Jsoup.parse(new File(path), "UTF-8");
+            if(1 == language){
+                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").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").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" : "Avis",  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/feedback_" + 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/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 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