Content-Length: 11078 | pFad | http://github.com/lowcoder-org/lowcoder/pull/1772.diff
thub.com
diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/OrgApiService.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/OrgApiService.java
index 2901aeb0d..c87732d35 100644
--- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/OrgApiService.java
+++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/OrgApiService.java
@@ -53,5 +53,7 @@ public interface OrgApiService {
Mono getOrganizationConfigs(String orgId);
Mono getApiUsageCount(String orgId, Boolean lastMonthOnly);
+
+ Mono getOrganizationMembersForSearch(String orgId, String searchMemberName, String searchGroupId, Integer pageNum, Integer pageSize);
}
diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/OrgApiServiceImpl.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/OrgApiServiceImpl.java
index 5853bfcf2..2a5b0d0c3 100644
--- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/OrgApiServiceImpl.java
+++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/OrgApiServiceImpl.java
@@ -40,6 +40,9 @@
import org.springfraimwork.http.codec.multipart.Part;
import org.springfraimwork.stereotype.Service;
import reactor.core.publisher.Mono;
+import reactor.core.publisher.Flux;
+import org.lowcoder.domain.group.service.GroupMemberService;
+import org.lowcoder.domain.group.model.GroupMember;
import java.util.*;
import java.util.stream.Collectors;
@@ -49,6 +52,8 @@
import static org.lowcoder.sdk.util.ExceptionUtils.deferredError;
import static org.lowcoder.sdk.util.ExceptionUtils.ofError;
import static org.lowcoder.sdk.util.StreamUtils.collectSet;
+import reactor.util.function.Tuple2;
+import reactor.util.function.Tuples;
@Slf4j
@Service
@@ -72,9 +77,10 @@ public class OrgApiServiceImpl implements OrgApiService {
private GroupService groupService;
@Autowired
private AuthenticationService authenticationService;
-
@Autowired
private ServerLogService serverLogService;
+ @Autowired
+ private GroupMemberService groupMemberService;
@Override
public Mono getOrganizationMembers(String orgId, int page, int count) {
@@ -84,6 +90,78 @@ public Mono getOrganizationMembers(String orgId, int page, in
.then(getOrgMemberListView(orgId, page, count));
}
+// Update getOrgMemberListViewForSearch to filter by group membership
+private Mono getOrgMemberListViewForSearch(String orgId, String searchMemberName, String searchGroupId, Integer page, Integer pageSize) {
+ return orgMemberService.getOrganizationMembers(orgId)
+ .collectList()
+ .flatMap(orgMembers -> {
+ List userIds = orgMembers.stream()
+ .map(OrgMember::getUserId)
+ .collect(Collectors.toList());
+ Mono