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;
|
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发送实时消息
|
* 调用websocket发送实时消息
|
||||||
|
@ -16,6 +18,6 @@ public interface MessageWebsocketApi {
|
||||||
* @author fengshuonan
|
* @author fengshuonan
|
||||||
* @since 2024-01-15 18:55
|
* @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.hutool.core.util.ObjectUtil;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.enums.message.ReadFlagEnum;
|
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.MessageSendDTO;
|
||||||
|
import cn.stylefeng.roses.kernel.sys.api.pojo.message.MessageSendToSocketDTO;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.message.entity.SysMessage;
|
import cn.stylefeng.roses.kernel.sys.modular.message.entity.SysMessage;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -56,4 +57,36 @@ public class MessageFactory {
|
||||||
return sysMessages;
|
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 {
|
try {
|
||||||
MessageWebsocketApi messageWebsocketApi = SpringUtil.getBean(MessageWebsocketApi.class);
|
MessageWebsocketApi messageWebsocketApi = SpringUtil.getBean(MessageWebsocketApi.class);
|
||||||
messageWebsocketApi.wsSendMessage(messageSendDTO);
|
messageWebsocketApi.wsSendMessage(MessageFactory.createSocketMessage(batchMessage));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue