From 6220cb00b421f7aedd346cec4487998221dd0ec5 Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期四, 01 八月 2024 16:12:19 +0800
Subject: [PATCH] 修改邮件内容
---
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityDiscount1ServiceImpl.java | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 115 insertions(+), 4 deletions(-)
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityDiscount1ServiceImpl.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityDiscount1ServiceImpl.java
index e7a8078..f1f95dc 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityDiscount1ServiceImpl.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityDiscount1ServiceImpl.java
@@ -1,23 +1,37 @@
package com.stylefeng.guns.modular.system.service.impl;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.stylefeng.guns.core.util.ToolUtil;
+import com.stylefeng.guns.modular.system.model.TEmail;
+import com.stylefeng.guns.modular.system.model.TUser;
+import com.stylefeng.guns.modular.system.model.User;
import com.stylefeng.guns.modular.system.model.UserActivityDiscount1;
import com.stylefeng.guns.modular.system.dao.UserActivityDiscount1Mapper;
import com.stylefeng.guns.modular.system.service.ITCompanyService;
+import com.stylefeng.guns.modular.system.service.ITUserService;
import com.stylefeng.guns.modular.system.service.IUserActivityDiscount1Service;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+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.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.util.CellRangeAddress;
+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 javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.text.SimpleDateFormat;
+import java.util.*;
/**
* <p>
@@ -35,6 +49,15 @@
@Autowired
private ITCompanyService companyService;
+
+ @Autowired
+ private ITUserService userService;
+
+ @Value("${spring.mail.template-path}")
+ private String templatePath;
+
+ @Autowired
+ private TEmailService emailService;
/**
@@ -265,4 +288,92 @@
}
return hssfWorkbook;
}
+
+
+ /**
+ * 发送活动提醒邮件
+ */
+ @Override
+ public void sendActivityEmail() {
+ try {
+ List<UserActivityDiscount1> list = this.selectList(new EntityWrapper<UserActivityDiscount1>().eq("enable", 2)
+ .last(" and now() >= startTime and now() < ADDDATE(startTime,INTERVAL 1 MINUTE)"));
+ if(list.size() > 0){
+ sendEmail(list);
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+
+ }
+
+
+
+ public void sendEmail(List<UserActivityDiscount1> list) throws Exception{
+ List<TUser> tUsers = userService.selectList(new EntityWrapper<TUser>().ne("flag", 3).eq("state", 1));
+ for (UserActivityDiscount1 uad : list) {
+ Map<String, Double> map = new HashMap<>();
+ Double special = uad.getSpecial();
+ if(null != special){
+ map.put("ride", special * 10);
+ }
+ Double logistics = uad.getLogistics();
+ if(null != special){
+ map.put("delivery", logistics * 10);
+ }
+ Set<String> strings = map.keySet();
+
+ for (TUser user : tUsers) {
+ if(ToolUtil.isNotEmpty(user.getEmail())){
+ for (String key : strings) {
+ Double aDouble = map.get(key);
+ String path1 = templatePath + "user/discount.html";
+ Document document1 = Jsoup.parse(new File(path1), "UTF-8");
+ document1.getElementById("chinese").remove();
+ document1.getElementById("french").remove();
+ document1.getElementsByTag("title").get(0).text("Discount activities");
+ Element english_user = document1.getElementById("english_user");
+ english_user.text("Hello " + user.getNickName() + ",");
+ Element english_ride = document1.getElementById("english_ride");
+ english_ride.text("Discount for I-GO " + key);
+ Element english_discount = document1.getElementById("english_discount");
+ english_discount.text(" Enjoy " + aDouble + "% off your trip fare.");
+ EmailUtil.send(user.getEmail(), "Discount activities", document1.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/discount_" + randomString + ".html");
+ if(!file.exists()){
+ file.createNewFile();
+ }
+ FileWriter fileWriter = new FileWriter(file);
+ fileWriter.write(document1.html());
+ fileWriter.flush();
+ fileWriter.close();
+
+ String link ="http://182.160.16.251:81/files/html/discount_" + randomString + ".html";
+ TEmail tEmail = new TEmail();
+ tEmail.setLink(link);
+ tEmail.setUserId(user.getId());
+ tEmail.setType(1);
+ tEmail.setName("Discount activities");
+ 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);
+ }
+
+ }
+ }
+ }
+ }
}
--
Gitblit v1.7.1