这里导入OrderDto并添加sumNum
package com.itheima.reggie.dto;
import com.itheima.reggie.entity.OrderDetail;
import com.itheima.reggie.entity.Orders;
import lombok.Data;
import java.util.List;
@Data
public class OrdersDto extends Orders {
private String userName;
private String phone;
private String address;
private String consignee;
private List<OrderDetail> orderDetails;
private int sumNum;
}
实现功能
@GetMapping("/userPage")
public R<Page> page(int page, int pageSize){
log.info("page = {},pageSize = {}",page,pageSize);
Page<Orders> pageInfo = new Page(page,pageSize);
Page<OrdersDto> ordersDtoPage = new Page<>();
LambdaQueryWrapper<Orders> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Orders::getUserId, BaseContext.getCurrentId());
queryWrapper.orderByDesc(Orders::getCheckoutTime);
orderService.page(pageInfo,queryWrapper);
BeanUtils.copyProperties(pageInfo,ordersDtoPage,"records");
List<Orders> records = pageInfo.getRecords();
List<OrdersDto> list = records.stream().map((item) -> {
OrdersDto ordersDto = new OrdersDto();
BeanUtils.copyProperties(item,ordersDto);
Long orderid = item.getId();
LambdaQueryWrapper<OrderDetail> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(OrderDetail::getOrderId, orderid);
List<OrderDetail> orderDetailList = orderDetailService.list(lambdaQueryWrapper);
ordersDto.setOrderDetails(orderDetailList);
ordersDto.setSumNum(orderDetailList.size());
return ordersDto;
}).collect(Collectors.toList());
ordersDtoPage.setRecords(list);
return R.success(ordersDtoPage);
}