@Override
public IPage<DishDto> getByPage(Integer page, Integer pageSize, String name) {
Page<Dish> p = new Page<>(page, pageSize);
LambdaQueryWrapper<Dish> qw = new LambdaQueryWrapper<>();
qw.like(StringUtils.isNotBlank(name),Dish::getName,name);
qw.orderByAsc(Dish::getSort);
page(p,qw);
//======================================================================
//构造一个新的分页对象
Page<DishDto> dtoPage = new Page<>();
//复制分页的属性,其他的数据啥的都不管先,复刻箱子模型,在原先的基础上增大一点容量
BeanUtils.copyProperties(p,dtoPage,"records");
//获取之前装苹果的箱子
List<Dish> dishlist = p.getRecords();//表示之前的容器
List<DishDto> dishDtoList = dishlist.stream().map(dish -> {
//新买的大箱子
DishDto dishDto = new DishDto();
//将苹果搬到大箱子
BeanUtils.copyProperties(dish,dishDto);
//买柚子
Category category = categoryService.getById(dish.getCategoryId());
//将柚子放入大箱子里
dishDto.setCategoryName(category.getName());
return dishDto;
//装车
}).collect(Collectors.toList());
dtoPage.setRecords(dishDtoList);
return dtoPage;
}
多表分页查询
最新推荐文章于 2024-11-17 15:50:51 发布
1787





