From cb6efdef55c77da2bcc8dbd99a74e7e49c5ec067 Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Tue, 05 Mar 2024 18:06:34 +0800
Subject: [PATCH] 邮件收件+bug修复+流程优化

---
 src/main/java/org/springblade/modules/messageRecord/service/impl/MessageRecordServiceImpl.java |   39 ++++++++++++++++++++++++++++-----------
 1 files changed, 28 insertions(+), 11 deletions(-)

diff --git a/src/main/java/org/springblade/modules/messageRecord/service/impl/MessageRecordServiceImpl.java b/src/main/java/org/springblade/modules/messageRecord/service/impl/MessageRecordServiceImpl.java
index 5badb91..5828949 100644
--- a/src/main/java/org/springblade/modules/messageRecord/service/impl/MessageRecordServiceImpl.java
+++ b/src/main/java/org/springblade/modules/messageRecord/service/impl/MessageRecordServiceImpl.java
@@ -19,7 +19,9 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.AllArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
 import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.modules.email.service.IEmailAccountService;
 import org.springblade.modules.email.service.IEmailService;
 import org.springblade.modules.messageRecord.entity.MessageRecord;
@@ -35,8 +37,10 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.mail.MessagingException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 消息记录表 服务实现类
@@ -83,12 +87,13 @@
 			messageUser.setType(messageRecord.getType());
 			messageUser.setCreateTime(DateUtil.now());
 			messageUser.setUpdateTime(DateUtil.now());
-
-			if (messageRecord.getType().indexOf("2") > -1) {
+			messageUser.setSendStatus("1");
+			if (messageRecord.getType().indexOf("1") > -1) {
+				messageUser.setSendStatus("2");
+			} else if (messageRecord.getType().indexOf("2") > -1) {
 				messageUser.setEmail(user.getEmail());
-			}
-
-			if (messageRecord.getType().indexOf("3") > -1) {
+			} else if (messageRecord.getType().indexOf("3") > -1) {
+				messageUser.setSendStatus("2");
 				messageUser.setPhone(user.getPhone());
 			}
 
@@ -97,10 +102,14 @@
 		//在message_user表里存数据
 		boolean saveBatch = messageUserService.saveBatch(messageUserList);
 
-		if (saveBatch&&saveRecord){
+		if (saveBatch && saveRecord) {
 			if (messageRecord.getType().indexOf("2") > -1) {
-				emailAccountService.sendMessageUserEmail(messageRecord.getTitle(), messageRecord.getContent(), messageUserList);
-				return true;
+				Boolean aBoolean = emailAccountService.sendMessageUserEmail(messageRecord.getTitle(), messageRecord.getContent(), messageUserList);
+				// 邮件发送成功,更新邮件状态
+				if (aBoolean) {
+					List<MessageUser> collect = messageUserList.stream().filter(e -> StringUtil.isNotBlank(e.getEmail())).collect(Collectors.toList());
+					messageUserService.updateBatchById(collect);
+				}
 			}
 
 			if (messageRecord.getType().indexOf("3") > -1) {
@@ -120,8 +129,7 @@
 		List<MessageUser> messageUserList = messageUserService.list(new QueryWrapper<MessageUser>().eq("message_record_id", id));
 
 		if (messageRecord.getType().indexOf("2") > -1) {
-			emailAccountService.sendMessageUserEmail(messageRecord.getTitle(), messageRecord.getContent(), messageUserList);
-			return true;
+			return emailAccountService.sendMessageUserEmail(messageRecord.getTitle(), messageRecord.getContent(), messageUserList);
 		}
 
 		if (messageRecord.getType().indexOf("3") > -1) {
@@ -131,5 +139,14 @@
 		return true;
 	}
 
-
+	@Override
+	public List<MessageRecordVO> getUnreadList() {
+		try {
+			List<MessageRecordVO> aa = emailAccountService.getUnreadList();
+			return aa;
+		} catch (MessagingException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
 }

--
Gitblit v1.9.3