diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/repository/UserRepository.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/repository/UserRepository.java index 63fe2dc26d5103490ed44614c2df2087b2b60465..03fbc52aafe7bf5730c95f6901acb9b89997c3ee 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/repository/UserRepository.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/repository/UserRepository.java @@ -16,4 +16,6 @@ public interface UserRepository extends PagingAndSortingRepository List findByUsernameLikeAndEnabled(String username, int enabled); UserPO findByUsername(String username); + + List findByUsernameIn(List userNames); } diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/spi/springsecurity/SpringSecurityUserService.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/spi/springsecurity/SpringSecurityUserService.java index c71920dd2d4bcd89a9b1adac4a51e1fff0885142..2667e82ee8018eec3faf6538834898f8221f983d 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/spi/springsecurity/SpringSecurityUserService.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/spi/springsecurity/SpringSecurityUserService.java @@ -8,6 +8,7 @@ import com.ctrip.framework.apollo.portal.entity.po.UserPO; import com.ctrip.framework.apollo.portal.repository.UserRepository; import com.ctrip.framework.apollo.portal.spi.UserService; +import java.util.Collections; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; @@ -88,7 +89,17 @@ public class SpringSecurityUserService implements UserService { @Override public List findByUserIds(List userIds) { - return null; + List users = userRepository.findByUsernameIn(userIds); + + if (CollectionUtils.isEmpty(users)) { + return Collections.emptyList(); + } + + List result = Lists.newArrayList(); + + result.addAll(users.stream().map(UserPO::toUserInfo).collect(Collectors.toList())); + + return result; }