今天学习了黑马的瑞吉外卖,以下是我跟着视频学习写的代码,关于套餐分页查询:
/** * 套餐分页查询 * @param page * @param pageSize * @param name * @return */ @GetMapping("/page") public R<Page> page(int page,int pageSize,String name){ //分页构造器对象 Page<Setmeal> pageInfo = new Page<>(page,pageSize); Page<SetmealDto> dtoPage = new Page<>(); LambdaQueryWrapper<Setmeal> lqw = new LambdaQueryWrapper<>(); //添加查询条件,根据name进行like模糊查询 lqw.like(Strings.isNotEmpty(name),Setmeal::getName,name); //添加排序条件,根据更新时间降序排序 lqw.orderByDesc(Setmeal::getUpdateTime); setmealService.page(pageInfo,lqw); //对象拷贝 BeanUtils.copyProperties(pageInfo,dtoPage,"records"); List<Setmeal> records = pageInfo.getRecords(); List<SetmealDto> list = records.stream().map((item) -> { SetmealDto setmealDto = new SetmealDto(); //对象拷贝 BeanUtils.copyProperties(item,setmealDto); //分类id Long categoryId = item.getCategoryId(); //根据分类id查询分类对象 Category category = categoryService.getById(categoryId); if(category != null){ //分类名称 String categoryName = category.getName(); setmealDto.setCategoryName(categoryName); } return setmealDto; }).collect(Collectors.toList()); dtoPage.setRecords(list); return R.success(dtoPage); }
欢迎大家一起学习,有不足地方还请指出。