@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-07-16 10:14:48 发布