From c5018380ba6510e174aeaad91a317385acb80219 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Tue, 22 Nov 2022 00:12:01 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.3.3=E3=80=91=E3=80=90message?= =?UTF-8?q?=E3=80=91=E6=9B=B4=E6=96=B0=E5=8F=91=E4=BB=B6=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../message/db/MessageDbServiceImpl.java | 29 +++++++++++++------ 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/MessageDbServiceImpl.java b/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/MessageDbServiceImpl.java index 1d78fffc7..fb465a544 100644 --- a/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/MessageDbServiceImpl.java +++ b/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/MessageDbServiceImpl.java @@ -79,7 +79,7 @@ public class MessageDbServiceImpl implements MessageApi { public void sendMessage(MessageSendRequest messageSendRequest) { String receiveUserIds = messageSendRequest.getReceiveUserIds(); - LoginUser loginUser = LoginContext.me().getLoginUser(); + LoginUser loginUser = LoginContext.me().getLoginUserNullable(); List sendMsgList = new ArrayList<>(); List userIds; @@ -100,16 +100,27 @@ public class MessageDbServiceImpl implements MessageApi { Set userIdSet = new HashSet<>(userIds); for (Long userId : userIdSet) { + // 判断用户是否存在 - if (userServiceApi.userExist(userId)) { - SysMessage sysMessage = new SysMessage(); - BeanUtil.copyProperties(messageSendRequest, sysMessage); - // 初始化默认值 - sysMessage.setReadFlag(MessageReadFlagEnum.UNREAD.getCode()); - sysMessage.setSendUserId(loginUser.getUserId()); - sysMessage.setReceiveUserId(userId); - sendMsgList.add(sysMessage); + if (!userServiceApi.userExist(userId)) { + continue; } + + SysMessage sysMessage = new SysMessage(); + BeanUtil.copyProperties(messageSendRequest, sysMessage); + + // 设置默认未读 + sysMessage.setReadFlag(MessageReadFlagEnum.UNREAD.getCode()); + + // 设置发件人 + if (loginUser != null) { + sysMessage.setSendUserId(loginUser.getUserId()); + } + + // 设置收信人 + sysMessage.setReceiveUserId(userId); + + sendMsgList.add(sysMessage); } sysMessageService.saveBatch(sendMsgList);