REQ-3345: 邀请人问题
This commit is contained in:
parent
2e01f785e2
commit
f67c3a1fcb
@ -20,6 +20,12 @@ public class GroupAddMembersRequest {
|
||||
@NotNull(message = "群ID不能为空")
|
||||
private Long tid;
|
||||
|
||||
/**
|
||||
* 邀请者
|
||||
*/
|
||||
@NotNull(message = "inviter不能为空")
|
||||
private PersonAccountAttribute inviter;
|
||||
|
||||
/**
|
||||
* 群成员, 不包含群主. members数量不能超过199
|
||||
*/
|
||||
|
||||
@ -11,6 +11,7 @@ import org.springframework.stereotype.Repository;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
|
||||
import static java.util.stream.Collectors.toSet;
|
||||
@ -55,6 +56,11 @@ public class GroupMemberDao extends ServiceImpl<GroupMapperMapper, GroupMember>
|
||||
.remove();
|
||||
}
|
||||
|
||||
public Optional<GroupMember> findByPerson(Long tid, PersonAccountAttribute person) {
|
||||
List<GroupMember> members = getByPersons(tid, Collections.singletonList(person));
|
||||
return CollectionUtils.isEmpty(members) ? Optional.empty() : Optional.of(members.get(0));
|
||||
}
|
||||
|
||||
public List<GroupMember> getByPersons(
|
||||
Long tid, Collection<PersonAccountAttribute> persons) {
|
||||
if (CollectionUtils.isEmpty(persons))
|
||||
|
||||
@ -141,8 +141,12 @@ public class GroupManager {
|
||||
group.getTid(), group.getName(), JSON.toJSONString(request.getMembers()));
|
||||
return new GroupAddMembersResponse();
|
||||
}
|
||||
GroupMember inviter = groupMemberDao
|
||||
.findByPerson(group.getTid(), request.getInviter())
|
||||
.orElse(null);
|
||||
BizAssertions.assertNotNull(inviter, "邀请者不在群中");
|
||||
NimGroupAddMembersRequest nimRequest = groupSupport
|
||||
.buildAddMembersRequest(group, group.getOwnerAccount(), imAccounts);
|
||||
.buildAddMembersRequest(group, inviter.getImAccount(), imAccounts);
|
||||
// add members
|
||||
rateLimiter.requireAddMember();
|
||||
NimGroupAddMembersResponse nimResponse = nimClient.addGroupMembers(nimRequest);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user