From 8b7258c9427882bb1798f1502eaa35184c6e374e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 09 Aug 2024 14:29:18 +0800
Subject: [PATCH] 短信指定楼栋发送
---
src/main/java/org/springblade/modules/messageRecord/service/impl/MessageRecordServiceImpl.java | 70 ++++++++++++++++++++++------------
1 files changed, 45 insertions(+), 25 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..e0d0cf9 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
@@ -18,8 +18,12 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import liquibase.pro.packaged.S;
import lombok.AllArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.Func;
+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 +39,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;
/**
* 消息记录表 服务实现类
@@ -60,9 +66,10 @@
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean customizeSave(MessageRecordVO messageRecord) {
-
+ if (StringUtils.isBlank(messageRecord.getType())) {
+ return false;
+ }
List<User> userList = new ArrayList();
-
if (messageRecord.getMessageResource().equals("1")) {
//系统消息(receiveUser指定的是部门,所以要通过部门去查人)
userList = userService.getUserListByDeptIds(messageRecord.getReceiver());
@@ -73,34 +80,39 @@
//保存消息记录
boolean saveRecord = save(messageRecord);
-
List<MessageUser> messageUserList = new ArrayList<>();
userList.forEach(user -> {
- MessageUser messageUser = new MessageUser();
-
- messageUser.setUserId(user.getId().toString());
- messageUser.setMessageRecordId(messageRecord.getId().toString());
- messageUser.setType(messageRecord.getType());
- messageUser.setCreateTime(DateUtil.now());
- messageUser.setUpdateTime(DateUtil.now());
-
- if (messageRecord.getType().indexOf("2") > -1) {
- messageUser.setEmail(user.getEmail());
+ List<String> longs = Func.toStrList(messageRecord.getType());
+ for (String type : longs) {
+ MessageUser messageUser = new MessageUser();
+ messageUser.setUserId(user.getId().toString());
+ messageUser.setMessageRecordId(messageRecord.getId());
+ messageUser.setType(type);
+ messageUser.setCreateTime(DateUtil.now());
+ messageUser.setUpdateTime(DateUtil.now());
+ messageUser.setSendStatus("1");
+ if (messageUser.getType().indexOf("1") > -1) {
+ messageUser.setSendStatus("2");
+ } else if (messageUser.getType().indexOf("2") > -1) {
+ messageUser.setEmail(user.getEmail());
+ } else if (messageUser.getType().indexOf("3") > -1) {
+ messageUser.setSendStatus("2");
+ messageUser.setPhone(user.getPhone());
+ }
+ messageUserList.add(messageUser);
}
-
- if (messageRecord.getType().indexOf("3") > -1) {
- messageUser.setPhone(user.getPhone());
- }
-
- messageUserList.add(messageUser);
});
//在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 +132,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 +142,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