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