IMClient.java 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.bx.imclient;
  2. import com.bx.imclient.sender.IMSender;
  3. import com.bx.imcommon.enums.IMTerminalType;
  4. import com.bx.imcommon.model.IMGroupMessage;
  5. import com.bx.imcommon.model.IMPrivateMessage;
  6. import lombok.AllArgsConstructor;
  7. import org.springframework.context.annotation.Configuration;
  8. import java.util.List;
  9. import java.util.Map;
  10. @Configuration
  11. @AllArgsConstructor
  12. public class IMClient {
  13. private final IMSender imSender;
  14. /**
  15. * 判断用户是否在线
  16. *
  17. * @param userId 用户id
  18. */
  19. public Boolean isOnline(Long userId){
  20. return imSender.isOnline(userId);
  21. }
  22. /**
  23. * 判断多个用户是否在线
  24. *
  25. * @param userIds 用户id列表
  26. * @return 在线的用户列表
  27. */
  28. public List<Long> getOnlineUser(List<Long> userIds){
  29. return imSender.getOnlineUser(userIds);
  30. }
  31. /**
  32. * 判断多个用户是否在线
  33. *
  34. * @param userIds 用户id列表
  35. * @return 在线的用户终端
  36. */
  37. public Map<Long,List<IMTerminalType>> getOnlineTerminal(List<Long> userIds){
  38. return imSender.getOnlineTerminal(userIds);
  39. }
  40. /**
  41. * 发送私聊消息(发送结果通过MessageListener接收)
  42. *
  43. * @param message 私有消息
  44. */
  45. public<T> void sendPrivateMessage(IMPrivateMessage<T> message){
  46. imSender.sendPrivateMessage(message);
  47. }
  48. /**
  49. * 发送群聊消息(发送结果通过MessageListener接收)
  50. *
  51. * @param message 群聊消息
  52. */
  53. public<T> void sendGroupMessage(IMGroupMessage<T> message){
  54. imSender.sendGroupMessage(message);
  55. }
  56. }