From 49e88798dcea0164f77c59f0be9eefdf67a3d228 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 17 七月 2024 15:03:10 +0800
Subject: [PATCH] 2.0bug修改
---
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java | 91 ++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 88 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 8ac04d8..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,13 +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;
@@ -26,6 +40,15 @@
@Autowired
private ISystemNoticeService systemNoticeService;
+ @Autowired
+ private IUserInfoService userInfoService;
+
+ @Value("${spring.mail.template-path}")
+ private String templatePath;
+
+ @Autowired
+ private TEmailService emailService;
+
@@ -36,10 +59,11 @@
* @throws Exception
*/
@Override
- public ResultUtil feedback(String content, Integer uid) throws Exception {
+ public ResultUtil feedback(String content, Integer uid, Integer language) throws Exception {
if(ToolUtil.isNotEmpty(content)){
if(content.length() > 200){
- return ResultUtil.error("反馈内容过长");
+ language = userInfoService.queryLanguage(uid, language);
+ 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){
@@ -56,7 +80,68 @@
feedback.setUserId(uid);
this.insert(feedback);
- systemNoticeService.addSystemNotice(1, "您的反馈已提交成功,我们会尽快处理!", 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