AccountService.java 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package com.webchat.pgc.service;
  2. import com.webchat.common.bean.APIResponseBean;
  3. import com.webchat.common.bean.APIResponseBeanUtil;
  4. import com.webchat.common.enums.AccountRelationTypeEnum;
  5. import com.webchat.domain.vo.response.UserBaseResponseInfoVO;
  6. import com.webchat.rmi.user.UserServiceClient;
  7. import org.apache.commons.collections.CollectionUtils;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Service;
  10. import java.util.Collections;
  11. import java.util.List;
  12. import java.util.Map;
  13. import java.util.Set;
  14. @Service
  15. public class AccountService {
  16. @Autowired
  17. private UserServiceClient userServiceClient;
  18. /**
  19. * 查询当前账号信息
  20. *
  21. * @param account
  22. * @return
  23. */
  24. public UserBaseResponseInfoVO accountInfo(String account) {
  25. APIResponseBean<UserBaseResponseInfoVO> responseBean = userServiceClient.userInfo(account);
  26. if (APIResponseBeanUtil.isOk(responseBean)) {
  27. return responseBean.getData();
  28. }
  29. return null;
  30. }
  31. /**
  32. * 批量查询账号详情数据
  33. *
  34. * @param accounts
  35. * @return
  36. */
  37. public List<UserBaseResponseInfoVO> batchGet(List<String> accounts) {
  38. if (CollectionUtils.isEmpty(accounts)) {
  39. return Collections.emptyList();
  40. }
  41. APIResponseBean<List<UserBaseResponseInfoVO>> responseBean =
  42. userServiceClient.batchGet(accounts);
  43. if (APIResponseBeanUtil.isOk(responseBean)) {
  44. return responseBean.getData();
  45. }
  46. throw new RuntimeException(responseBean.getMsg());
  47. }
  48. public Map<String, UserBaseResponseInfoVO> batchGet(Set<String> accounts) {
  49. if (CollectionUtils.isEmpty(accounts)) {
  50. return Collections.emptyMap();
  51. }
  52. APIResponseBean<Map<String, UserBaseResponseInfoVO>> responseBean =
  53. userServiceClient.batchGet(accounts);
  54. if (APIResponseBeanUtil.isOk(responseBean)) {
  55. return responseBean.getData();
  56. }
  57. throw new RuntimeException(responseBean.getMsg());
  58. }
  59. /**
  60. * 获取群组下的群成员用户id集合
  61. *
  62. * @param groupAccount
  63. * @return
  64. */
  65. public Set<String> getGroupUserIds(String groupAccount) {
  66. APIResponseBean<Set<String>> responseBean =
  67. userServiceClient.getAllSubscriberByAccount(AccountRelationTypeEnum.USER_GROUP.getType(), groupAccount);
  68. if (APIResponseBeanUtil.isOk(responseBean)) {
  69. return responseBean.getData();
  70. }
  71. return null;
  72. }
  73. }