Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit831abed

Browse files
author
Thomasr
committed
modify admin user count for all user group
1 parent4e11434 commit831abed

File tree

1 file changed

+27
-6
lines changed

1 file changed

+27
-6
lines changed

‎server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/GroupApiServiceImpl.java

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
importorg.lowcoder.domain.group.service.GroupService;
3131
importorg.lowcoder.domain.organization.model.MemberRole;
3232
importorg.lowcoder.domain.organization.model.OrgMember;
33+
importorg.lowcoder.domain.organization.service.OrgMemberService;
34+
importorg.lowcoder.domain.organization.service.OrganizationService;
3335
importorg.lowcoder.domain.user.model.User;
3436
importorg.lowcoder.domain.user.service.UserService;
3537
importorg.lowcoder.infra.util.TupleUtils;
@@ -50,6 +52,8 @@ public class GroupApiServiceImpl implements GroupApiService {
5052
privatefinalUserServiceuserService;
5153
privatefinalGroupServicegroupService;
5254
privatefinalAbstractBizThresholdCheckerbizThresholdChecker;
55+
privatefinalOrganizationServiceorganizationService;
56+
privatefinalOrgMemberServiceorgMemberService;
5357

5458
@Override
5559
publicMono<GroupMemberAggregateView>getGroupMembers(StringgroupId,intpage,intcount) {
@@ -182,6 +186,7 @@ public Mono<List<GroupView>> getGroups() {
182186
returnsessionUserService.getVisitorOrgMemberCache()
183187
.flatMap(orgMember -> {
184188
StringorgId =orgMember.getOrgId();
189+
Mono<Integer>orgAdminCountMono =orgMemberService.getAllOrgAdmins(orgId).map(List::size);
185190
if (orgMember.isAdmin() ||orgMember.isSuperAdmin()) {
186191
MemberRolememberRole;
187192
if(orgMember.isAdmin()) {
@@ -193,27 +198,43 @@ public Mono<List<GroupView>> getGroups() {
193198
.sort()
194199
.flatMapSequential(group ->groupMemberService.getAllGroupAdmin(group.getId())
195200
.zipWith(groupMemberService.getGroupMembers(group.getId(),0, -1))
201+
.zipWith(orgAdminCountMono,TupleUtils::merge)
196202
.flatMap(tuple -> {
197203
varadminMembers =tuple.getT1();
198204
varusers =tuple.getT2();
199-
returnGroupView.from(group,memberRole.getValue(),adminMembers.size(),users.size());
205+
varorgAdminCount =tuple.getT3();
206+
if(group.isAllUsersGroup()) {
207+
returnGroupView.from(group,memberRole.getValue(),orgAdminCount,users.size());
208+
}else {
209+
returnGroupView.from(group,memberRole.getValue(),adminMembers.size(),users.size());
210+
}
200211
})
201212
)
202213
.collectList();
203214
}
204215
returngroupMemberService.getUserGroupMembersInOrg(orgId,orgMember.getUserId())
205-
.flatMap(groupMembers -> {
216+
.zipWith(orgAdminCountMono)
217+
.flatMap(tuple -> {
218+
List<GroupMember>groupMembers =tuple.getT1();
219+
intorgAdminCount =tuple.getT2();
206220
List<String>groupIds =collectList(groupMembers,GroupMember::getGroupId);
207221
Map<String,GroupMember>groupMemberMap =collectMap(groupMembers,GroupMember::getGroupId,it ->it);
208222
returngroupService.getByIds(groupIds)
209223
.sort()
210224
.flatMapSequential(group -> {
211225
varadminMembers =groupMembers.stream().filter(groupMember ->groupMember.getGroupId().equals(group.getId()) &&groupMember.getRole() ==MemberRole.ADMIN).toList();
212226
varallMembers =groupMembers.stream().filter(groupMember ->groupMember.getGroupId().equals(group.getId())).toList();
213-
returnGroupView.from(group,
214-
groupMemberMap.get(group.getId()).getRole().getValue(),
215-
allMembers.size(),
216-
adminMembers.size());
227+
if(group.isAllUsersGroup()) {
228+
returnGroupView.from(group,
229+
groupMemberMap.get(group.getId()).getRole().getValue(),
230+
orgAdminCount,
231+
allMembers.size());
232+
}else {
233+
returnGroupView.from(group,
234+
groupMemberMap.get(group.getId()).getRole().getValue(),
235+
adminMembers.size(),
236+
allMembers.size());
237+
}
217238
})
218239
.collectList();
219240
});

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp