首页 > 其他分享 >订单分页查询

订单分页查询

时间:2023-03-16 17:25:06浏览次数:40  
标签:分页 pageSize ordersDto Page 查询 订单 new page page1

 /**
     * 订单分页查询
     * @param page
     * @param pageSize
     * @return
     */
    @GetMapping("/userPage")
    public R<Page<OrdersDto>> page(Integer page, Integer pageSize){
        //创建分页构造器
        Page<Orders> pageInfo = new Page<>(page, pageSize);
        LambdaQueryWrapper<Orders> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(Orders::getUserId, BaseContext.getCurrentId());
        queryWrapper.orderByDesc(Orders::getOrderTime);
        orderService.page(pageInfo, queryWrapper);

        Page<OrdersDto> page1 = new Page<>(page, pageSize);
        BeanUtils.copyProperties(pageInfo, page1, "records");
        //将每个order和对应的orderDetail封装成orderDto
        List<Orders> records = pageInfo.getRecords();
        List<OrdersDto> list =  records.stream().map((item) -> {
            OrdersDto ordersDto = new OrdersDto();
            BeanUtils.copyProperties(item, ordersDto);
            LambdaQueryWrapper<OrderDetail> wrapper = new LambdaQueryWrapper<>();
            wrapper.eq(OrderDetail::getOrderId, ordersDto.getId());
            List<OrderDetail> orderDetails = orderDetailService.list(wrapper);
            ordersDto.setOrderDetails(orderDetails);
            return ordersDto;
        }).collect(Collectors.toList());

        page1.setRecords(list);
        return R.success(page1);
    }

 

标签:分页,pageSize,ordersDto,Page,查询,订单,new,page,page1
From: https://www.cnblogs.com/fxzm/p/17223432.html

相关文章

  • Mysql--JOIN连表查询
    一、Join查询原理MySQL内部采用了一种叫做nestedloopjoin(嵌套循环连接)的算法:通过驱动表的结果集作为循环基础数据,然后一条一条的通过该结果集中的数据作为过滤条件到下......
  • 生成纳秒级别的订单号
    生成纳秒级别的订单号packagecom.example.core.mydemo.orderno;importjava.util.Random;publicclassODDGenerator{/***生成纳秒级别的订单号......
  • sqlserver2008 两种分页操作
    1.有唯一项字段(例如id)SELECTtop分页大小*FROM表名whereidnotin(selecttop(分页大小*(第几页-1))idfrom表名where搜索字段1='aaa'and搜索字段2='bbb'o......
  • Vue利用slice()方法实现分页操作
    Vue利用slice()方法实现分页操作https://blog.csdn.net/pleaseprintf/article/details/129187584系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要......
  • oracle语句单据查询很快,使用union all 后很慢处理
    2023年3月16日10:19:39 某客户现场,开发人员添加了一汇总报表,使用unionall进行了语句链接,单独执行语句均没有问题,但是使用unionall后执行速度特别慢语句类似select......
  • Redis查询大key
    原文安装wget"https://pypi.python.org/packages/68/44/5efe9e98ad83ef5b742ce62a15bea609ed5a0d1caf35b79257ddb324031a/redis-2.10.5.tar.gz#md5=3b26c2b9703b4b56b30......
  • CMU 15-445 数据库系统 Homework SQL查询
    cmu15-445是一门关于数据库的课程,看到该课程的homeworks和project就觉得十分有挑战性。本文是对该课程的Homework1,SQL语句的十道题,做完以后可以对SQL查询有个好的了解。......
  • MP带条件分页查询
    配置文件@ConfigurationpublicclassMybatisPlusConfig{//分页拦截器,提供逻辑分页,查第几页就是第几页//mybaits是内存分页,将所有数据都查出来再分页@B......
  • 数据库的ip地址查询
    通过运行程序查看电脑IP地址步骤1.在键盘上按“WIN+R”组合键,打开运行窗口,之后在运行窗口中输入“cmd”,点击确定;步骤2.在打开的窗口中,输入ipconfig/all,按下Enter键。步......
  • linux查询用户登录历史记录
    last命令列出当前和曾经登入系统的用户信息默认读取的是/var/log/wtmp文件的信息lastlog命令列出所有用户最近登录的信息默认读取的是/var/log/lastlog文件中的信息l......