SendMessageUtil.java 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. * @param msgType 消息类型 : 1 团队消息
  19. * 2 公司消息
  20. * 3 保养消息
  21. * 4 急修消息
  22. * 5 年检消息
  23. * 6 提醒(消息简报)
  24. * @return 是否推送成功 false 失败 true 成功
  25. * @description
  26. * @date 2020/5/2 4:11 下午
  27. */
  28. public static boolean sendMessageToPC(JmsMessagingTemplate jmsMessagingTemplate, List<Long> sendToUserIdList,
  29. String content, int msgType) {
  30. if (sendToUserIdList != null && sendToUserIdList.size() > 0) {
  31. //组合消息
  32. List<TimeMessage> TimeMessageList = new ArrayList<>();
  33. sendToUserIdList.forEach(sendToUserId -> {
  34. TimeMessageList.add(TimeMessage.create(sendToUserId, msgType, content));
  35. });
  36. //推送消息
  37. return SendMessageUtil.sendMessageToPC(jmsMessagingTemplate, TimeMessageList);
  38. }
  39. return false;
  40. }
  41. /**
  42. * @param jmsMessagingTemplate 推动模板类
  43. * @param TimeMessageList 要推送的消息列表
  44. * @return 是否成功 false 失败 true 成功
  45. * @description 将消息推送到PC端
  46. * @date 2020/5/2 3:38 下午
  47. */
  48. private static boolean sendMessageToPC(JmsMessagingTemplate jmsMessagingTemplate, List<TimeMessage> TimeMessageList) {
  49. if (TimeMessageList != null && TimeMessageList.size() > 0) {
  50. jmsMessagingTemplate.send(WebSocketConstants.PUSH_MESSAGE_TO_PC, new GenericMessage<>(TimeMessageList));
  51. return true;
  52. }
  53. return false;
  54. }
  55. }