package cn.com.ty.lift.common.utils; import cn.com.ty.lift.common.constants.WebSocketConstants; import cn.com.ty.lift.common.model.TimeMessage; import org.springframework.jms.core.JmsMessagingTemplate; import org.springframework.messaging.support.GenericMessage; import java.util.ArrayList; import java.util.List; /** * @author huangyuan * @date 2020/5/2 * @description 消息推送类 */ public class SendMessageUtil { /** * @param jmsMessagingTemplate 推送消息模板 * @param sendToUserIdList 要推送的用户id * @param content 推送的消息内容 * @param msgType 消息类型 : 1 团队消息 * 2 公司消息 * 3 保养消息 * 4 急修消息 * 5 年检消息 * 6 提醒(消息简报) * @return 是否推送成功 false 失败 true 成功 * @description * @date 2020/5/2 4:11 下午 */ public static boolean sendMessageToPC(JmsMessagingTemplate jmsMessagingTemplate, List sendToUserIdList, String content, int msgType) { if (sendToUserIdList != null && sendToUserIdList.size() > 0) { //组合消息 List TimeMessageList = new ArrayList<>(); sendToUserIdList.forEach(sendToUserId -> { TimeMessageList.add(TimeMessage.create(sendToUserId, msgType, content)); }); //推送消息 return SendMessageUtil.sendMessageToPC(jmsMessagingTemplate, TimeMessageList); } return false; } /** * @param jmsMessagingTemplate 推动模板类 * @param TimeMessageList 要推送的消息列表 * @return 是否成功 false 失败 true 成功 * @description 将消息推送到PC端 * @date 2020/5/2 3:38 下午 */ private static boolean sendMessageToPC(JmsMessagingTemplate jmsMessagingTemplate, List TimeMessageList) { if (TimeMessageList != null && TimeMessageList.size() > 0) { jmsMessagingTemplate.send(WebSocketConstants.PUSH_MESSAGE_TO_PC, new GenericMessage<>(TimeMessageList)); return true; } return false; } }