feat(优化)selectNicknameByIds 的循环调用可以合并为单次批量查询

This commit is contained in:
nicblusyc 2026-10-30 12:23:50 +08:00
parent 9227f626a3
commit 2cceecfb2e

View File

@ -36,6 +36,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.stream.Collectors;
/**
* 用户 业务层处理
@ -598,13 +599,15 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
*/
@Override
public String selectNicknameByIds(String userIds) {
List<String> list = new ArrayList<>();
for (Long id : StringUtils.splitTo(userIds, Convert::toLong)) {
String nickname = SpringUtils.getAopProxy(this).selectNicknameById(id);
if (StringUtils.isNotBlank(nickname)) {
list.add(nickname);
}
List<Long> ids = StringUtils.splitTo(userIds, Convert::toLong);
if (CollUtil.isEmpty(ids)) {
return StringUtils.EMPTY;
}
Map<Long, String> nickMap = selectUserNicksByIds(ids);
List<String> list = ids.stream()
.map(nickMap::get)
.filter(StringUtils::isNotBlank)
.collect(Collectors.toList());
return StringUtils.joinComma(list);
}