【8.1.0】【message】整理系统消息收发

pull/60/head
fengshuonan 2024-01-16 11:25:26 +08:00
parent a6878d1962
commit 126f40f94c
4 changed files with 112 additions and 3 deletions

View File

@ -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);
}

View File

@ -0,0 +1,74 @@
package cn.stylefeng.roses.kernel.sys.api.pojo.message;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import lombok.Data;
/**
* wsbean
*
* @author fengshuonan
* @since 2024-01-16 11:16
*/
@Data
public class MessageSendToSocketDTO {
/**
* id
*/
@ChineseDescription("收消息的用户id")
private Long receiveUserId;
/**
* idsys_messageid
*/
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;
}

View File

@ -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;
}
/**
* socketbean
*
* @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;
}
}

View File

@ -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) {
}