mirror of https://gitee.com/stylefeng/roses
【8.1.0】【message】整理系统消息收发
parent
a6878d1962
commit
126f40f94c
|
@ -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<MessageSendToSocketDTO> messageSendToSocketDTOList);
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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<MessageSendToSocketDTO> createSocketMessage(List<SysMessage> sysMessageList) {
|
||||
|
||||
List<MessageSendToSocketDTO> 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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -109,7 +109,7 @@ public class SysMessageServiceImpl extends ServiceImpl<SysMessageMapper, SysMess
|
|||
|
||||
try {
|
||||
MessageWebsocketApi messageWebsocketApi = SpringUtil.getBean(MessageWebsocketApi.class);
|
||||
messageWebsocketApi.wsSendMessage(messageSendDTO);
|
||||
messageWebsocketApi.wsSendMessage(MessageFactory.createSocketMessage(batchMessage));
|
||||
} catch (Exception e) {
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue