Pu Zhibing
7 天以前 4c99ee7028c3fe58a2cd4b8273b22c75c45574fc
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java
@@ -5,11 +5,15 @@
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.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.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;
@@ -25,8 +29,13 @@
import com.stylefeng.guns.modular.system.service.ITComplaintService;
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;
/**
 * 投诉列表控制器
@@ -51,6 +60,9 @@
    @Value("${spring.mail.template-path}")
    private String templatePath;
    @Autowired
    private TEmailService emailService;
@@ -136,15 +148,75 @@
            tComplaintService.updateById(tComplaint);
            try {
                TUser userInfo = userService.selectById(tComplaint.getUserId());
                String path = templatePath +  "user/complaint.html";
                Document document = Jsoup.parse(new File(path), "UTF-8");
                document.getElementById("chinese").remove();
                Element english_user = document.getElementById("english_user");
                english_user.text("Hello " + userInfo.getNickName() + ",");
                Element english_content = document.getElementById("english_content");
                english_content.text(handleResult);
                EmailUtil.send(userInfo.getEmail(), "Complaint driver handling result notification",  document.html());
                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();
            }
@@ -153,7 +225,7 @@
            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);