diff --git a/im-center-server/src/main/java/cn/axzo/im/group/LegacyGroupSupport.java b/im-center-server/src/main/java/cn/axzo/im/group/LegacyGroupSupport.java index 6dfc7d6..02f5fbc 100644 --- a/im-center-server/src/main/java/cn/axzo/im/group/LegacyGroupSupport.java +++ b/im-center-server/src/main/java/cn/axzo/im/group/LegacyGroupSupport.java @@ -4,6 +4,7 @@ import cn.axzo.im.dao.mapper.ChatGroupMapper; import cn.axzo.im.dao.repository.GroupDao; import cn.axzo.im.entity.ChatGroup; import cn.axzo.im.entity.Group; +import com.google.common.collect.Sets; import lombok.RequiredArgsConstructor; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.math.NumberUtils; @@ -27,7 +28,13 @@ public class LegacyGroupSupport { private final GroupDao groupDao; private final ChatGroupMapper chatGroupMapper; - public List getGroupAccounts(Set groupIds) { + public Set getMergedAccounts(Set groupIds) { + Set accounts = Sets.newHashSet(getGroupAccounts(groupIds)); + accounts.addAll(getGroupCatAccounts(groupIds)); + return accounts; + } + + private List getGroupAccounts(Set groupIds) { if (CollectionUtils.isEmpty(groupIds)) return Collections.emptyList(); if (parseLongs(groupIds).isEmpty()) @@ -40,7 +47,7 @@ public class LegacyGroupSupport { .collect(toList()); } - public List getGroupCatAccounts(Set groupIds) { + private List getGroupCatAccounts(Set groupIds) { if (CollectionUtils.isEmpty(groupIds)) return Collections.emptyList(); return chatGroupMapper.selectList( diff --git a/im-center-server/src/main/java/cn/axzo/im/service/impl/MessageTaskServiceImpl.java b/im-center-server/src/main/java/cn/axzo/im/service/impl/MessageTaskServiceImpl.java index 44a1bbe..f4d1843 100644 --- a/im-center-server/src/main/java/cn/axzo/im/service/impl/MessageTaskServiceImpl.java +++ b/im-center-server/src/main/java/cn/axzo/im/service/impl/MessageTaskServiceImpl.java @@ -48,7 +48,6 @@ import org.springframework.util.CollectionUtils; import java.util.Collections; import java.util.Date; import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Objects; @@ -413,10 +412,7 @@ public class MessageTaskServiceImpl extends ServiceImpl result = new HashSet<>(); - result.addAll(legacyGroupSupport.getGroupAccounts(imAccounts)); - result.addAll(legacyGroupSupport.getGroupCatAccounts(imAccounts)); - return result; + return legacyGroupSupport.getMergedAccounts(imAccounts); } private String resolveBody(MessageTask.ReceivePerson receivePerson,