代码语言:javascript复制
List<BusBillDetail> busBillDetailList = getBusBillDetailList(); // 获取 BusBillDetail 列表
List<Long> userIdList = busBillDetailList.stream().map(BusBillDetail::getUserId).collect(Collectors.toList()); // 获取所有的用户 ID
// 查询用户列表
UserService userService = getUserService(); // 获取用户服务
List<User> userList = userService.getUserListByIds(userIdList);
// 将 BusBillDetail 转化为 BusBillDetailVO,并填充 username 属性
List<BusBillDetailVO> busBillDetailVOList = busBillDetailList.stream().map(detail -> {
BusBillDetailVO vo = new BusBillDetailVO();
BeanUtils.copyProperties(detail, vo);
User user = userList.stream()
.filter(u -> u.getId().equals(detail.getUserId()))
.findFirst()
.orElse(null);
if (user != null) {
vo.setUsername(user.getUsername());
}
return vo;
}).collect(Collectors.toList());