PushMessageUtil.java 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package jnpf.message.util;
  2. import com.alibaba.fastjson.JSONObject;
  3. import jnpf.base.UserInfo;
  4. import jnpf.message.entity.MessageReceiveEntity;
  5. import org.springframework.stereotype.Component;
  6. import java.util.Map;
  7. import java.util.Objects;
  8. /**
  9. * 消息推送工具类
  10. *
  11. * @author JNPF开发平台组
  12. * @version V3.1.0
  13. * @copyright 引迈信息技术有限公司(https://www.jnpfsoft.com)
  14. * @date 2021-07-07
  15. */
  16. @Component
  17. public class PushMessageUtil {
  18. /**
  19. * 工作流消息发送
  20. *
  21. *
  22. * @param userInfo
  23. */
  24. public static void pushMessage(Map<String, MessageReceiveEntity> map, UserInfo userInfo, int messageType){
  25. for (String userId : map.keySet()) {
  26. for (OnlineUserModel item : OnlineUserProvider.getOnlineUserList()) {
  27. if (userId.equals(item.getUserId()) && Objects.equals(userInfo.getTenantId(), item.getTenantId())) {
  28. JSONObject jsonObject = new JSONObject();
  29. jsonObject.put("method", "messagePush");
  30. jsonObject.put("unreadNoticeCount", 1);
  31. jsonObject.put("messageType", messageType);
  32. jsonObject.put("userId", userInfo.getUserId());
  33. jsonObject.put("toUserId", userId);
  34. jsonObject.put("title", map.get(userId).getTitle());
  35. jsonObject.put("id",map.get(userId).getId());
  36. jsonObject.put("messageDefaultTime", map.get(userId).getLastModifyTime() != null ? map.get(userId).getLastModifyTime().getTime() : null);
  37. OnlineUserProvider.sendMessage(item, jsonObject);
  38. }
  39. }
  40. }
  41. }
  42. }