parent
88ab9bcc65
commit
3e30c85a5c
@ -116,8 +116,7 @@ public class GroupManager {
|
||||
}
|
||||
|
||||
public GroupAddMembersResponse addMembers(GroupAddMembersRequest request) {
|
||||
Group group = groupDao.findByTid(request.getTid(), false).orElse(null);
|
||||
//noinspection DataFlowIssue
|
||||
Group group = getGroupForUpdateOrThrow(request.getTid());
|
||||
BizAssertions.assertFalse(group.isDismissed(), "群已经解散");
|
||||
groupSupport.log(group.getTid(), "add-members", request);
|
||||
// sync members 1
|
||||
@ -129,20 +128,19 @@ public class GroupManager {
|
||||
.collect(toSet());
|
||||
if (addPersons.isEmpty())
|
||||
return new GroupAddMembersResponse();
|
||||
ImAccounts imAccounts = accountService.getOrCreateImAccounts(addPersons);
|
||||
BizAssertions.assertTrue(group.addMoreMembers(prePersons.size() + addPersons.size()),
|
||||
"群聊人数上限{}人, 请删除部分已选人员", group.getMemberLimit());
|
||||
if (imAccounts.isAccountEmpty()) {
|
||||
notification.send("添加群成员[{},{}], 有效群成员IM账号列表为空. 请求成员信息: {}",
|
||||
group.getTid(), group.getName(), JSON.toJSONString(request.getMembers()));
|
||||
return new GroupAddMembersResponse();
|
||||
}
|
||||
NimGroupAddMembersRequest nimRequest = groupSupport
|
||||
.buildAddMembersRequest(group, group.getOwnerAccount(), imAccounts);
|
||||
// add members
|
||||
rateLimiter.requireAddMember();
|
||||
ImAccounts imAccounts = accountService.getOrCreateImAccounts(addPersons);
|
||||
return transactionTemplate.execute(unused -> {
|
||||
getGroupForUpdateOrThrow(group.getTid());
|
||||
if (imAccounts.isAccountEmpty()) {
|
||||
notification.send("添加群成员[{},{}], 有效群成员IM账号列表为空. 请求成员信息: {}",
|
||||
group.getTid(), group.getName(), JSON.toJSONString(request.getMembers()));
|
||||
return new GroupAddMembersResponse();
|
||||
}
|
||||
NimGroupAddMembersRequest nimRequest = groupSupport
|
||||
.buildAddMembersRequest(group, group.getOwnerAccount(), imAccounts);
|
||||
// add members
|
||||
rateLimiter.requireAddMember();
|
||||
NimGroupAddMembersResponse nimResponse = nimClient.addGroupMembers(nimRequest);
|
||||
log.info("添加群成员, request={}, response={}", nimRequest, nimResponse);
|
||||
BizAssertions.assertTrue(nimResponse.isSuccess(), "添加群成员失败: {}", nimResponse.getDesc());
|
||||
|
||||
Loading…
Reference in New Issue
Block a user