瑞吉点餐中菜品分页功能讲解

这篇博客介绍了在瑞吉点餐系统中如何利用BeanUtils工具进行菜品分类查询的实现。通过LambdaQueryWrapper进行模糊查询和排序,然后将Dish对象转换为DishDto对象,并填充分类名称。博客中详细展示了相关代码实现,包括对象拷贝和根据ID查询分类名称的过程。
摘要由CSDN通过智能技术生成

在瑞吉点餐中,我对菜品分页功能的内容进行了部分笔记,尤其使用BeanUtils工具的使用,链接如下:https://blog.csdn.net/weixin_67148295/article/details/125392438?spm=1001.2014.3001.5502
 

 /**
     * 菜品分类查询
     * @param name
     * @param page
     * @param pagaSize
     * @return
     */
    @GetMapping("/page")
    public R<Page> page(String name, int page, int pagaSize) {
        Page<Dish> page1 = new Page(page, pagaSize);
        Page<DishDto> page2 = new Page();

        LambdaQueryWrapper<Dish> queryWrapper = new LambdaQueryWrapper<>();
        // 模糊查询
        queryWrapper.like(name != null, Dish::getName, name);
        // 排序
        queryWrapper.orderByDesc(Dish::getUpdateTime);

        dishService.page(page1, queryWrapper);

        // 对象拷贝
        BeanUtils.copyProperties(page1, page2, "records");
        List<Dish> records = page1.getRecords();
        List<DishDto> list = records.stream().map((item) -> {
            DishDto dishDto = new DishDto();
            BeanUtils.copyProperties(item, dishDto);
            String categoryId = item.getCategoryId();

            //根据id查询分类对象
            Category category = categoryService.getById(categoryId);
            if (category != null) {
                String categoryName = category.getName();
                dishDto.setCategoryName(categoryName);
            }
            return dishDto;
        }).collect(Collectors.toList());
        page2.setRecords(list);
        return R.success(page2);


    }

以上操作是为了实现下面成功响应的实例,其中还用到了Dto(本质就是一个实体类,大家可以去查一下相关的资料进行了解)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值