From 126f40f94c2d4e7ed122bb385193e32b78162a64 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Tue, 16 Jan 2024 11:25:26 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=908.1.0=E3=80=91=E3=80=90message?= =?UTF-8?q?=E3=80=91=E6=95=B4=E7=90=86=E7=B3=BB=E7=BB=9F=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E6=94=B6=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kernel/sys/api/MessageWebsocketApi.java | 6 +- .../pojo/message/MessageSendToSocketDTO.java | 74 +++++++++++++++++++ .../message/factory/MessageFactory.java | 33 +++++++++ .../service/impl/SysMessageServiceImpl.java | 2 +- 4 files changed, 112 insertions(+), 3 deletions(-) create mode 100644 kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/pojo/message/MessageSendToSocketDTO.java diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/MessageWebsocketApi.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/MessageWebsocketApi.java index bb2ca9d4b..13a5095a6 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/MessageWebsocketApi.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/MessageWebsocketApi.java @@ -1,6 +1,8 @@ package cn.stylefeng.roses.kernel.sys.api; -import cn.stylefeng.roses.kernel.sys.api.pojo.message.MessageSendDTO; +import cn.stylefeng.roses.kernel.sys.api.pojo.message.MessageSendToSocketDTO; + +import java.util.List; /** * 调用websocket发送实时消息 @@ -16,6 +18,6 @@ public interface MessageWebsocketApi { * @author fengshuonan * @since 2024-01-15 18:55 */ - void wsSendMessage(MessageSendDTO messageSendDTO); + void wsSendMessage(List messageSendToSocketDTOList); } diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/pojo/message/MessageSendToSocketDTO.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/pojo/message/MessageSendToSocketDTO.java new file mode 100644 index 000000000..ee8950e1b --- /dev/null +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/pojo/message/MessageSendToSocketDTO.java @@ -0,0 +1,74 @@ +package cn.stylefeng.roses.kernel.sys.api.pojo.message; + +import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription; +import lombok.Data; + +/** + * 发送到ws时候用的传输bean + * + * @author fengshuonan + * @since 2024-01-16 11:16 + */ +@Data +public class MessageSendToSocketDTO { + + /** + * 收消息的用户id + */ + @ChineseDescription("收消息的用户id") + private Long receiveUserId; + + /** + * 消息的id,存sys_message表的主键id + */ + private Long messageId; + + /** + * 发送用户id + */ + @ChineseDescription("发送用户id") + private Long sendUserId; + + /** + * 消息标题 + */ + @ChineseDescription("消息标题") + private String messageTitle; + + /** + * 消息内容 + */ + @ChineseDescription("消息内容") + private String messageContent; + + /** + * 消息类型:NORMAL-普通类型,URL-带链接跳转 + */ + @ChineseDescription("消息类型:NORMAL-普通类型,URL-带链接跳转") + private String messageType; + + /** + * 消息跳转的URL + */ + @ChineseDescription("消息跳转的URL") + private String messageUrl; + + /** + * 优先级:high-高优先级,middle-中,low-低 + */ + @ChineseDescription("优先级:high-高优先级,middle-中,low-低") + private String priorityLevel; + + /** + * 关联业务id + */ + @ChineseDescription("关联业务id") + private String businessId; + + /** + * 业务类型(根据业务id和业务类型可以确定业务数据) + */ + @ChineseDescription("业务类型(根据业务id和业务类型可以确定业务数据)") + private String businessType; + +} diff --git a/kernel-s-system/system-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/message/factory/MessageFactory.java b/kernel-s-system/system-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/message/factory/MessageFactory.java index 788a2c57f..23c8d4eab 100644 --- a/kernel-s-system/system-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/message/factory/MessageFactory.java +++ b/kernel-s-system/system-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/message/factory/MessageFactory.java @@ -3,6 +3,7 @@ package cn.stylefeng.roses.kernel.sys.modular.message.factory; import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.roses.kernel.sys.api.enums.message.ReadFlagEnum; import cn.stylefeng.roses.kernel.sys.api.pojo.message.MessageSendDTO; +import cn.stylefeng.roses.kernel.sys.api.pojo.message.MessageSendToSocketDTO; import cn.stylefeng.roses.kernel.sys.modular.message.entity.SysMessage; import java.util.ArrayList; @@ -56,4 +57,36 @@ public class MessageFactory { return sysMessages; } + /** + * 创建消息发送到socket时候的数据传输bean + * + * @author fengshuonan + * @since 2024-01-16 11:17 + */ + public static List createSocketMessage(List sysMessageList) { + + List messageSendToSocketDTOS = new ArrayList<>(); + + if (ObjectUtil.isEmpty(sysMessageList)) { + return messageSendToSocketDTOS; + } + + for (SysMessage sysMessage : sysMessageList) { + MessageSendToSocketDTO dto = new MessageSendToSocketDTO(); + dto.setReceiveUserId(sysMessage.getReceiveUserId()); + dto.setMessageId(sysMessage.getMessageId()); + dto.setSendUserId(sysMessage.getSendUserId()); + dto.setMessageTitle(sysMessage.getMessageTitle()); + dto.setMessageContent(sysMessage.getMessageContent()); + dto.setMessageType(sysMessage.getMessageType()); + dto.setMessageUrl(sysMessage.getMessageUrl()); + dto.setPriorityLevel(sysMessage.getPriorityLevel()); + dto.setBusinessId(sysMessage.getBusinessId()); + dto.setBusinessType(sysMessage.getBusinessType()); + messageSendToSocketDTOS.add(dto); + } + + return messageSendToSocketDTOS; + } + } diff --git a/kernel-s-system/system-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/message/service/impl/SysMessageServiceImpl.java b/kernel-s-system/system-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/message/service/impl/SysMessageServiceImpl.java index f677007b4..052edc54b 100644 --- a/kernel-s-system/system-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/message/service/impl/SysMessageServiceImpl.java +++ b/kernel-s-system/system-business-portal/src/main/java/cn/stylefeng/roses/kernel/sys/modular/message/service/impl/SysMessageServiceImpl.java @@ -109,7 +109,7 @@ public class SysMessageServiceImpl extends ServiceImpl