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

Commit4e11434

Browse files
author
Thomasr
committed
add group admin count and user count to list api
1 parent513cd2c commit4e11434

File tree

3 files changed

+24
-5
lines changed

3 files changed

+24
-5
lines changed

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

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
importjava.util.List;
1313
importjava.util.Map;
1414
importjava.util.Objects;
15+
importjava.util.stream.Collectors;
1516

1617
importcom.github.f4b6a3.uuid.UuidCreator;
1718
importlombok.RequiredArgsConstructor;
@@ -35,6 +36,7 @@
3536
importorg.lowcoder.sdk.exception.BizError;
3637
importorg.springframework.stereotype.Service;
3738

39+
importreactor.core.publisher.Flux;
3840
importreactor.core.publisher.Mono;
3941
importreactor.util.function.Tuple2;
4042

@@ -189,7 +191,14 @@ public Mono<List<GroupView>> getGroups() {
189191
}
190192
returngroupService.getByOrgId(orgId)
191193
.sort()
192-
.flatMapSequential(group ->GroupView.from(group,memberRole.getValue()))
194+
.flatMapSequential(group ->groupMemberService.getAllGroupAdmin(group.getId())
195+
.zipWith(groupMemberService.getGroupMembers(group.getId(),0, -1))
196+
.flatMap(tuple -> {
197+
varadminMembers =tuple.getT1();
198+
varusers =tuple.getT2();
199+
returnGroupView.from(group,memberRole.getValue(),adminMembers.size(),users.size());
200+
})
201+
)
193202
.collectList();
194203
}
195204
returngroupMemberService.getUserGroupMembersInOrg(orgId,orgMember.getUserId())
@@ -198,8 +207,14 @@ public Mono<List<GroupView>> getGroups() {
198207
Map<String,GroupMember>groupMemberMap =collectMap(groupMembers,GroupMember::getGroupId,it ->it);
199208
returngroupService.getByIds(groupIds)
200209
.sort()
201-
.flatMapSequential(group ->GroupView.from(group,
202-
groupMemberMap.get(group.getId()).getRole().getValue()))
210+
.flatMapSequential(group -> {
211+
varadminMembers =groupMembers.stream().filter(groupMember ->groupMember.getGroupId().equals(group.getId()) &&groupMember.getRole() ==MemberRole.ADMIN).toList();
212+
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());
217+
})
203218
.collectList();
204219
});
205220
});

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public class GroupController implements GroupEndpoints
5151
publicMono<ResponseView<GroupView>>create(@Valid@RequestBodyCreateGroupRequestnewGroup) {
5252
returngroupApiService.create(newGroup)
5353
.delayUntil(group ->businessEventPublisher.publishGroupCreateEvent(group))
54-
.flatMap(group ->GroupView.from(group,MemberRole.ADMIN.getValue()))
54+
.flatMap(group ->GroupView.from(group,MemberRole.ADMIN.getValue(),1,1))
5555
.map(ResponseView::success);
5656
}
5757

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,10 @@ public class GroupView {
2323
privateStringdynamicRule;
2424
privatebooleanisSyncGroup;
2525
privatebooleanisSyncDelete;
26+
privateintadminUserCount;
27+
privateintuserCount;
2628

27-
publicstaticMono<GroupView>from(Groupgroup,StringmemberRole) {
29+
publicstaticMono<GroupView>from(Groupgroup,StringmemberRole,intadminCount,intuserCount) {
2830
returnMono.deferContextual(contextView -> {
2931
Localelocale =LocaleUtils.getLocale(contextView);
3032
GroupViewgroupView =GroupView.builder()
@@ -38,6 +40,8 @@ public static Mono<GroupView> from(Group group, String memberRole) {
3840
.dynamicRule(group.getDynamicRule())
3941
.isSyncGroup(group.isSyncGroup())
4042
.isSyncDelete(group.isSyncDeleted())
43+
.adminUserCount(adminCount)
44+
.userCount(userCount)
4145
.build();
4246
returnMono.just(groupView);
4347
});

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp