SendMessageUtil.java 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package cn.com.ty.lift.common.utils;
  2. import cn.com.ty.lift.common.constants.WebSocketConstants;
  3. import cn.com.ty.lift.common.model.TimeMessage;
  4. import org.springframework.jms.core.JmsMessagingTemplate;
  5. import org.springframework.messaging.support.GenericMessage;
  6. import java.util.ArrayList;
  7. import java.util.List;
  8. /**
  9. * @author huangyuan
  10. * @date 2020/5/2
  11. * @description 消息推送类
  12. */
  13. public class SendMessageUtil {
  14. /**
  15. * @param jmsMessagingTemplate 推送消息模板
  16. * @param sendToUserIdList 要推送的用户id
  17. * @param content 推送的消息内容
  18. * @return 是否推送成功 false 失败 true 成功
  19. * @description
  20. * @date 2020/5/2 4:11 下午
  21. */
  22. public static boolean sendMessageToPC(JmsMessagingTemplate jmsMessagingTemplate, List<Long> sendToUserIdList,
  23. String content) {
  24. if (sendToUserIdList != null && sendToUserIdList.size() > 0) {
  25. //组合消息
  26. List<TimeMessage> TimeMessageList = new ArrayList<>();
  27. sendToUserIdList.forEach(sendToUserId -> {
  28. TimeMessageList.add(TimeMessage.create(sendToUserId,
  29. WebSocketConstants.MessageType.TEAM_MSG, content));
  30. });
  31. //推送消息
  32. return SendMessageUtil.sendMessageToPC(jmsMessagingTemplate, TimeMessageList);
  33. }
  34. return false;
  35. }
  36. /**
  37. * @param jmsMessagingTemplate 推动模板类
  38. * @param TimeMessageList 要推送的消息列表
  39. * @return 是否成功 false 失败 true 成功
  40. * @description 将消息推送到PC端
  41. * @date 2020/5/2 3:38 下午
  42. */
  43. private static boolean sendMessageToPC(JmsMessagingTemplate jmsMessagingTemplate, List<TimeMessage> TimeMessageList) {
  44. if (TimeMessageList != null && TimeMessageList.size() > 0) {
  45. jmsMessagingTemplate.send(WebSocketConstants.PUSH_MESSAGE_TO_PC, new GenericMessage<>(TimeMessageList));
  46. return true;
  47. }
  48. return false;
  49. }
  50. }