From 009f795a6e93cbb94e4a316e0efa8cb7124743f5 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 22 十月 2024 19:13:34 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0 --- ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java | 115 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 97 insertions(+), 18 deletions(-) diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java index b5589db..5e7cd10 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java @@ -5,10 +5,18 @@ import com.stylefeng.guns.core.common.constant.factory.PageFactory; import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.util.SinataUtil; -import com.stylefeng.guns.modular.system.model.TProblem; +import com.stylefeng.guns.core.util.ToolUtil; +import com.stylefeng.guns.modular.system.model.TEmail; import com.stylefeng.guns.modular.system.model.TSystemNotice; +import com.stylefeng.guns.modular.system.model.TUser; import com.stylefeng.guns.modular.system.service.ITSystemNoticeService; -import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil; +import com.stylefeng.guns.modular.system.service.ITUserService; +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.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -16,15 +24,18 @@ import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.beans.factory.annotation.Autowired; -import com.stylefeng.guns.core.log.LogObjectHolder; import org.springframework.web.bind.annotation.RequestParam; import com.stylefeng.guns.modular.system.model.TComplaint; import com.stylefeng.guns.modular.system.service.ITComplaintService; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.FileWriter; import java.util.Date; import java.util.Map; + +import static org.bouncycastle.asn1.x500.style.RFC4519Style.uid; /** * 投诉列表控制器 @@ -45,10 +56,13 @@ private ITSystemNoticeService tSystemNoticeService; @Autowired - private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; + private ITUserService userService; - @Value("${pushMinistryOfTransport}") - private boolean pushMinistryOfTransport; + @Value("${spring.mail.template-path}") + private String templatePath; + + @Autowired + private TEmailService emailService; @@ -133,24 +147,89 @@ tComplaint.setHandleTime(new Date()); tComplaintService.updateById(tComplaint); + try { + TUser tUser = userService.selectById(tComplaint.getUserId()); + if(ToolUtil.isNotEmpty(tUser.getEmail())){ + String path = templatePath + "user/complaintResult.html"; + Document document = Jsoup.parse(new File(path), "UTF-8"); + Integer language = tUser.getLanguage(); + if(1 == language){ + document.getElementById("english").remove(); + document.getElementById("french").remove(); + document.getElementsByTag("title").get(0).text("投诉反馈处理结果"); + Element chinese_user = document.getElementById("chinese_user"); + chinese_user.text("您好 " + tUser.getNickName() + ","); + Element chinese_content = document.getElementById("chinese_content"); + chinese_content.text(handleResult); + EmailUtil.send(tUser.getEmail(), "投诉反馈处理结果", document.html()); + } + if(2 == language){ + document.getElementById("chinese").remove(); + document.getElementById("french").remove(); + document.getElementsByTag("title").get(0).text("Solutions for complaints"); + Element english_user = document.getElementById("english_user"); + english_user.text("Hello " + tUser.getNickName() + ","); + Element english_content = document.getElementById("english_content"); + english_content.text(handleResult); + EmailUtil.send(tUser.getEmail(), "Solutions for complaints", document.html()); + } + if(3 == language){ + document.getElementById("chinese").remove(); + document.getElementById("english").remove(); + document.getElementsByTag("title").get(0).text("Solutions pour plaintes"); + Element french_user = document.getElementById("french_user"); + french_user.text("Bonjour " + tUser.getNickName() + ","); + Element french_content = document.getElementById("french_content"); + french_content.text(handleResult); + EmailUtil.send(tUser.getEmail(), "Solutions pour plaintes", 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/complaintResult_" + 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/complaintResult_" + randomString + ".html"; + TEmail tEmail = new TEmail(); + tEmail.setLink(link); + tEmail.setUserId(tUser.getId()); + tEmail.setType(1); + tEmail.setName(1 == language ? "投诉反馈处理结果" : 2 == language ? "Solutions for complaints" : "Solutions pour plaintes"); + 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); + + } + }catch (Exception e){ + e.printStackTrace(); + } + //增加系统消息 TSystemNotice notice = new TSystemNotice(); notice.setType(2); notice.setUserType(1); - notice.setContent("投诉处理结果:【"+handleResult+"】。"); + notice.setContent(handleResult); notice.setUserId(tComplaint.getUserId()); notice.setInsertTime(new Date()); notice.setRead(1); tSystemNoticeService.insert(notice); - - new Thread(new Runnable() { - @Override - public void run() { - if(pushMinistryOfTransport){//上传数据 - pushMinistryOfTransportUtil.ratedPassengerComplaint(tComplaint.getId()); - } - } - }).start(); } return SUCCESS_TIP; } -- Gitblit v1.7.1