From cf9a5039e6db9d1d5963e3fe1a37d00169ec2ef7 Mon Sep 17 00:00:00 2001 From: whyclxw <810412026@qq.com> Date: 星期三, 25 六月 2025 11:18:22 +0800 Subject: [PATCH] 验收报告修改 --- src/main/java/com/whyc/service/MailService.java | 72 +++++++++++++++++++++++++++++++++++ 1 files changed, 71 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/whyc/service/MailService.java b/src/main/java/com/whyc/service/MailService.java index 61054d2..a1037e5 100644 --- a/src/main/java/com/whyc/service/MailService.java +++ b/src/main/java/com/whyc/service/MailService.java @@ -1,13 +1,83 @@ package com.whyc.service; +import com.whyc.constant.UserOperation; import com.whyc.dto.MailDTO; +import com.whyc.dto.Response; +import com.whyc.pojo.MailQueue; +import com.whyc.util.ActionUtil; +import com.whyc.util.MailUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.mail.MailException; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.mail.MessagingException; +import java.util.Arrays; +import java.util.Date; +import java.util.LinkedList; +import java.util.List; @Service public class MailService { + @Autowired + private MailUtil mailUtil; - public void sendMail(MailDTO mailDTO) { + @Autowired + private DocLogService logService; + @Autowired + private MailQueueService mailQueueService; + + @Transactional + public Response sendMail(MailDTO mailDTO) { + Long uId = ActionUtil.getUser().getId(); + String name=ActionUtil.getUser().getName(); + //鏃ュ織鍐呭鍑嗗 + StringBuilder mailUserStr = new StringBuilder(); + List<String> mailList = mailDTO.getMailList(); + for (int i = 0; i < mailList.size(); i++) { + if(i==0){ + mailUserStr.append(mailList.get(i)); + }else{ + mailUserStr.append(","+mailList.get(i)); + } + } + try { + mailUtil.sendMailBatch(name,mailDTO.getMailList(),mailDTO.getTitle(),mailDTO.getContent()); + + String msgDetail = "鍙戦�佺粰閭" + mailUserStr + ",鏍囬涓�:" + mailDTO.getTitle() + ",鍐呭涓�:" + mailDTO.getContent(); + logService.record(uId, name, UserOperation.TYPE_SEND_MAIL.getType(), "閭欢鍙戦��", msgDetail); + return new Response().set(1,true,"鍙戦�佸畬鎴�"); + } catch (MessagingException | MailException ex) { //閭欢鍙戦�佸紓甯�,瀛樺叆鏁版嵁搴撳緟閲嶆柊鍙戦�佸垪琛� + MailQueue queue = new MailQueue(); + queue.setMails(mailUserStr.toString()); + queue.setTitle(mailDTO.getTitle()); + queue.setContent(mailDTO.getContent()); + queue.setCreateTime(new Date()); + queue.setSenderUserId(uId); + queue.setSenderUserName(name); + mailQueueService.add(queue); + return new Response().set(1,false,"鍙戦�佸け璐�,缃戠粶寮傚父,缃戠粶鎭㈠鍚庤嚜鍔ㄥ欢鏃跺彂閫�"); + } + } + + public void sendQueueMail(MailQueue queue) { + Long uId = queue.getSenderUserId(); + String name = queue.getSenderUserName(); + + String mails = queue.getMails(); + String[] mailSplits = mails.split(","); + List<String> mailList = new LinkedList<>(Arrays.asList(mailSplits)); + try{ + mailUtil.sendMailBatch(name,mailList,queue.getTitle(),queue.getContent()); + //鍒犻櫎 鏁版嵁搴撻偖浠堕槦鍒楄〃涓� 宸茶鍙戦�佺殑閭欢璁板綍 + mailQueueService.deleteById(queue.getId()); + //鏃ュ織 + String msgDetail = "鍙戦�佺粰閭" + mails + ",鏍囬涓�:" + queue.getTitle() + ",鍐呭涓�:" + queue.getContent(); + logService.record(uId, name, UserOperation.TYPE_SEND_MAIL.getType(), "閭欢鍥犵綉缁滈棶棰樼敱绯荤粺寤舵椂鍙戦��", msgDetail); + } catch (MessagingException | MailException ex) { //閭欢鍙戦�佸紓甯� + //System.out.println("閭欢鍙戦�佸紓甯�,鍚庣画浼氭寔缁彂閫佺洿鍒版垚鍔�"); + } } } -- Gitblit v1.9.1