List<BusBillDetail> busBillDetailList = getBusBillDetailList();
List<Long> userIdList = busBillDetailList.stream().map(BusBillDetail::getUserId).collect(Collectors.toList());
UserService userService = getUserService();
List<User> userList = userService.getUserListByIds(userIdList);
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());