详细案例
public List<Order> getOrdersByUserId(Long userId) {
QueryWrapper<Order> orderWrapper = new QueryWrapper<>();
orderWrapper.eq("user_id", userId);
List<Order> orderList = orderMapper.selectList(orderWrapper);
QueryWrapper<OrderItem> orderItemWrapper = new QueryWrapper<>();
orderItemWrapper.in("order_id", orderList.stream().map(Order::getId).collect(Collectors.toList()));
List<OrderItem> orderItemList = orderItemMapper.selectList(orderItemWrapper);
Map<Long, List<OrderItem>> orderItemMap = orderItemList.stream().collect(Collectors.groupingBy(OrderItem::getOrderId));
orderList.forEach(order -> {
List<OrderItem> itemList = orderItemMap.get(order.getId());
if (itemList != null) {
order.setOrderItemList(itemList);
}
});
return orderList;
}