REQ-3345: fix bugs
This commit is contained in:
parent
13f2f3de17
commit
c177d51b2a
@ -27,13 +27,13 @@ public class GroupMemberDao extends ServiceImpl<GroupMapperMapper, GroupMember>
|
||||
.remove();
|
||||
}
|
||||
|
||||
public Set<PersonAccountAttribute> getGroupPersons(Long tid) {
|
||||
return getMembersByTid(tid).stream()
|
||||
public Set<PersonAccountAttribute> getAsPersons(Long tid) {
|
||||
return getByTid(tid).stream()
|
||||
.map(GroupMember::asPerson)
|
||||
.collect(toSet());
|
||||
}
|
||||
|
||||
public List<GroupMember> getMembersByTid(Long tid) {
|
||||
public List<GroupMember> getByTid(Long tid) {
|
||||
return lambdaQuery()
|
||||
.eq(GroupMember::getTid, tid)
|
||||
.list();
|
||||
@ -55,7 +55,7 @@ public class GroupMemberDao extends ServiceImpl<GroupMapperMapper, GroupMember>
|
||||
.remove();
|
||||
}
|
||||
|
||||
public List<GroupMember> getMembersByPersons(
|
||||
public List<GroupMember> getByPersons(
|
||||
Long tid, Collection<PersonAccountAttribute> persons) {
|
||||
if (CollectionUtils.isEmpty(persons))
|
||||
return Collections.emptyList();
|
||||
|
||||
@ -90,7 +90,7 @@ public class GroupManager {
|
||||
// 同步完成员后再发消息, 因为接收方可能会查询群成员
|
||||
groupBroadcaster.fireGroupChanged(group, MqEventType.GROUP_CREATED);
|
||||
groupBroadcaster.fireMembersChanged(group,
|
||||
groupMemberDao.getMembersByTid(nimResponse.getTid()),
|
||||
groupMemberDao.getByTid(nimResponse.getTid()),
|
||||
MqEventType.GROUP_ADD_MEMBERS);
|
||||
GroupCreateResponse response = new GroupCreateResponse();
|
||||
response.setTid(nimResponse.getTid());
|
||||
@ -124,7 +124,7 @@ public class GroupManager {
|
||||
// sync members 1
|
||||
groupMemberSyncer.syncMembers(group);
|
||||
// prepare add members
|
||||
Set<PersonAccountAttribute> prePersons = groupMemberDao.getGroupPersons(group.getTid());
|
||||
Set<PersonAccountAttribute> prePersons = groupMemberDao.getAsPersons(group.getTid());
|
||||
Set<PersonAccountAttribute> addPersons = request.getMembers().stream()
|
||||
.filter(member -> !prePersons.contains(member))
|
||||
.collect(toSet());
|
||||
@ -148,7 +148,7 @@ public class GroupManager {
|
||||
// sync members 2
|
||||
groupMemberSyncer.syncMembers(group);
|
||||
groupBroadcaster.fireMembersChanged(group,
|
||||
groupMemberDao.getMembersByPersons(group.getTid(), addPersons),
|
||||
groupMemberDao.getByPersons(group.getTid(), addPersons),
|
||||
MqEventType.GROUP_ADD_MEMBERS);
|
||||
GroupAddMembersResponse response = new GroupAddMembersResponse();
|
||||
response.setAccountsNotFound(getAccountNotFoundPersons(
|
||||
@ -170,7 +170,7 @@ public class GroupManager {
|
||||
// sync members 1
|
||||
groupMemberSyncer.syncMembers(group);
|
||||
Set<PersonAccountAttribute> groupPersons = groupMemberDao
|
||||
.getGroupPersons(group.getTid());
|
||||
.getAsPersons(group.getTid());
|
||||
Set<PersonAccountAttribute> removePersons = request.getMembers().stream()
|
||||
.filter(groupPersons::contains)
|
||||
.collect(toSet());
|
||||
@ -190,7 +190,7 @@ public class GroupManager {
|
||||
BizAssertions.assertTrue(nimResponse.isSuccess(), "移除群成员失败: {}", nimResponse.getDesc());
|
||||
// 同步前进行查询, 不然查询不到了
|
||||
List<GroupMember> removeMembers = groupMemberDao
|
||||
.getMembersByPersons(group.getTid(), removePersons);
|
||||
.getByPersons(group.getTid(), removePersons);
|
||||
// sync members 2
|
||||
groupMemberSyncer.syncMembers(group);
|
||||
groupBroadcaster.fireMembersChanged(group,
|
||||
|
||||
@ -64,7 +64,7 @@ public class GroupController implements GroupApi {
|
||||
|
||||
@Override
|
||||
public ApiResult<GroupGetMembersResponse> getMembers(GroupGetMembersRequest request) {
|
||||
List<GroupMember> members = groupMemberDao.getMembersByTid(request.getTid());
|
||||
List<GroupMember> members = groupMemberDao.getByTid(request.getTid());
|
||||
GroupGetMembersResponse response = new GroupGetMembersResponse();
|
||||
response.setMembers(BeanMapper.copyList(members, GroupMemberInfo.class));
|
||||
return ApiResult.ok(response);
|
||||
|
||||
@ -50,7 +50,7 @@ public class GroupMemberSyncer {
|
||||
if (groupInfo == null) return;
|
||||
transactionTemplate.executeWithoutResult(unused -> {
|
||||
List<GroupMember> newMembers = parseGroupMembers(group, groupInfo);
|
||||
List<GroupMember> oldMembers = groupMemberDao.getMembersByTid(group.getTid());
|
||||
List<GroupMember> oldMembers = groupMemberDao.getByTid(group.getTid());
|
||||
Set<PersonAccountAttribute> newPersons = newMembers.stream().map(GroupMember::asPerson).collect(toSet());
|
||||
Set<PersonAccountAttribute> oldPersons = oldMembers.stream().map(GroupMember::asPerson).collect(toSet());
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user