From 021640e69b32dbd9b88a538402671c47f280df9e Mon Sep 17 00:00:00 2001
From: luo <2855143437@qq.com>
Date: 星期三, 31 一月 2024 15:50:00 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/IgoTravel into dev

---
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java |   91 ++++++++++++++++++++++++++++++++++++---------
 1 files changed, 73 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..07470ca 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,65 @@
             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");
+                    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());
+                    //开始生成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/complaintResult_" + 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/complaintResult_" + randomString + ".html";
+                    TEmail tEmail = new TEmail();
+                    tEmail.setLink(link);
+                    tEmail.setUserId(tUser.getId());
+                    tEmail.setType(1);
+                    tEmail.setName("Solutions for complaints");
+                    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