Pu Zhibing
2025-02-14 5228e24ff93fae148db40c44d9deb8e93110c6eb
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java
@@ -27,8 +27,11 @@
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Service
@@ -66,9 +69,20 @@
                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);
            List<String> list = Arrays.asList(content.split(" "));
            for(SensitiveWords s : sensitiveWords){
                content = content.replaceAll(s.getContent(), "***");
                List<String> str = new ArrayList<>();
                String lowerCase = s.getContent().toLowerCase();
                for (String s1 : list) {
                    if(lowerCase.equals(s1.toLowerCase())){
                        str.add("***");
                    }else{
                        str.add(s1);
                    }
                }
                list = str;
            }
            content = list.stream().collect(Collectors.joining(" "));
        }
        Feedback feedback = new Feedback();
@@ -101,19 +115,19 @@
            if(3 == language){
                document.getElementById("chinese").remove();
                document.getElementById("english").remove();
                document.getElementsByTag("title").get(0).text("Rétroaction");
                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" : "Rétroaction",  document.html());
            EmailUtil.send(userInfo.getEmail(), language == 1 ? "反馈意见" : language == 2 ? "Feedback" : "Avis",  document.html());
            //开始生成pdf收据和html收据
            File file = new File("/usr/local/nginx/html/files/html/");
            File file = new File("/home/igotechgh/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");
            file = new File("/home/igotechgh/nginx/html/files/html/feedback_" + randomString + ".html");
            if(!file.exists()){
                file.createNewFile();
            }
@@ -121,32 +135,21 @@
            fileWriter.write(document.html());
            fileWriter.flush();
            fileWriter.close();
            FileInputStream fileInputStream = new FileInputStream(file);
            File file1 = new File("/usr/local/nginx/html/files/pdf/");
            if(!file1.exists()){
                file1.mkdirs();
            }
            file1 = new File("/usr/local/nginx/html/files/pdf/feedback_" + randomString + ".pdf");
            if(!file1.exists()){
                file1.createNewFile();
            }
            FileOutputStream fileOutputStream = new FileOutputStream(file1);
            HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
            String link ="http://182.160.16.251:81/files/html/feedback_" + randomString + ".html";
            String link ="https://igo.i-go.group/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" : "Rétroaction");
            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?"AM":"Dans la matinée");
                tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
            }else {
                tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
                tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
            }
            emailService.insert(tEmail);
        }