From 8b09fbc19a96b57bf1d0e4d7c79b51a76aeca554 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 28 三月 2025 19:57:56 +0800
Subject: [PATCH] 修改bug

---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReportLossServiceImpl.java |   98 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 97 insertions(+), 1 deletions(-)

diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReportLossServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReportLossServiceImpl.java
index df04324..6bb89cf 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReportLossServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReportLossServiceImpl.java
@@ -1,6 +1,7 @@
 package com.stylefeng.guns.modular.system.service.impl;
 
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
 import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
 import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics;
@@ -9,12 +10,26 @@
 import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
 import com.stylefeng.guns.modular.system.dao.ReportLossMapper;
 import com.stylefeng.guns.modular.system.model.ReportLoss;
+import com.stylefeng.guns.modular.system.model.TEmail;
+import com.stylefeng.guns.modular.system.model.UserInfo;
 import com.stylefeng.guns.modular.system.service.IReportLossService;
+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.itextpdf.HtmlToPdfUtils;
 import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
 import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
+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 java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
 import java.util.Date;
 
 @Service
@@ -32,8 +47,19 @@
     @Autowired
     private IOrderLogisticsService orderLogisticsService;
 
+    @Autowired
+    private IUserInfoService userInfoService;
+
+    @Value("${spring.mail.template-path}")
+    private String templatePath;
+
+    @Autowired
+    private TEmailService emailService;
+
+
+
     @Override
-    public void addReportLoss(Integer orderType, Integer orderId, String remark, String image) throws Exception {
+    public void addReportLoss(Integer orderType, Integer orderId, String remark, String image, Integer language) throws Exception {
         ReportLoss reportLoss = new ReportLoss();
         reportLoss.setImage(image);
         reportLoss.setInsertTime(new Date());
@@ -65,5 +91,75 @@
                 break;
         }
         this.insert(reportLoss);
+
+        UserInfo userInfo = userInfoService.selectById(reportLoss.getUserId());
+
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                try {
+                    if(ToolUtil.isNotEmpty(userInfo.getEmail())){
+                        String path = templatePath + "user/reportLoss.html";
+                        Document document = Jsoup.parse(new File(path), "UTF-8");
+                        if(language == 1){
+                            document.getElementById("english").remove();
+                            document.getElementById("french").remove();
+                            document.getElementsByTag("title").get(0).text("报失物品");
+                            Element chinese_user = document.getElementById("chinese_user");
+                            chinese_user.text("您好 " + userInfo.getNickName() + ",");
+                        }
+                        if(language == 2){
+                            document.getElementById("chinese").remove();
+                            document.getElementById("french").remove();
+                            document.getElementsByTag("title").get(0).text("Report items lost");
+                            Element english_user = document.getElementById("english_user");
+                            english_user.text("Hello " + userInfo.getNickName() + ",");
+                        }
+                        if(language == 3){
+                            document.getElementById("chinese").remove();
+                            document.getElementById("english").remove();
+                            document.getElementsByTag("title").get(0).text("Signaler l'objet perdu");
+                            Element french_user = document.getElementById("french_user");
+                            french_user.text("Bonjour! " + userInfo.getNickName() + ",");
+                        }
+                        EmailUtil.send(userInfo.getEmail(), language == 1 ? "物品报失" : language == 2 ? "Report items lost" : "Signaler l'objet perdu",  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/reportLoss_" + 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/reportLoss_" + randomString + ".html";
+                        TEmail tEmail = new TEmail();
+                        tEmail.setLink(link);
+                        tEmail.setUserId(userInfo.getId());
+                        tEmail.setType(1);
+                        tEmail.setName(language == 1 ? "物品报失" : language == 2 ? "Report items lost" : "Signaler l'objet perdu");
+                        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);
+                    }
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+            }
+        }).start();
     }
 }

--
Gitblit v1.7.1