|
|
@@ -9,6 +9,8 @@ import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Set;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 通讯录
|
|
|
@@ -164,7 +166,7 @@ public class AddrBookSdk extends BaseSdk {
|
|
|
*
|
|
|
* @param agentCode 应用code
|
|
|
* @param departmentId 部门ID
|
|
|
- * @param fetchChild 包含下级部门的
|
|
|
+ * @param fetchChild 包含下级部门的
|
|
|
* @return
|
|
|
*/
|
|
|
public List<OapiUserListbypageResponse.Userlist> getUserList(String agentCode, long departmentId, boolean fetchChild) {
|
|
|
@@ -185,8 +187,12 @@ public class AddrBookSdk extends BaseSdk {
|
|
|
if (fetchChild) {
|
|
|
List<Long> subList = getSubDepartmentIdList(agentCode, departmentId);
|
|
|
if (!CollectionUtils.isEmpty(subList)) {
|
|
|
+ Set<String> userIdSet = userList.stream().map(user -> user.getUserid()).collect(Collectors.toSet());
|
|
|
for (Long subId : subList) {
|
|
|
- userList.addAll(getUserList(agentCode, subId, fetchChild));
|
|
|
+ List<OapiUserListbypageResponse.Userlist> tempList = getUserList(agentCode, subId, fetchChild);
|
|
|
+ if (!CollectionUtils.isEmpty(tempList)) {
|
|
|
+ userList.addAll(tempList.stream().filter(user -> !userIdSet.contains(user.getUserid())).collect(Collectors.toList()));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|