自学内容网 自学内容网

苍穹外卖学习笔记(二十)

用户端历史订单模块:

查询历史订单

OrderController

  /**
     * 历史订单
     */
    @GetMapping("/historyOrders")
    @ApiOperation(value = "历史订单")
    public Result<PageResult> page(int page, int pageSize, Integer status) {
        PageResult pageResult = orderService.pageQuery4User(page, pageSize, status);
        return Result.success(pageResult);
    }

OrderService

 /**
     * 分页查询用户订单
     */
    PageResult pageQuery4User(int page, int pageSize, Integer status);

OrderServiceImpl

/**
     * 分页查询用户订单
     */
    @Override
    public PageResult pageQuery4User(int pageNum, int pageSize, Integer status) {
        Page<Orders> page = new Page<>(pageNum, pageSize);
        OrdersPageQueryDTO ordersPageQueryDTO = new OrdersPageQueryDTO();
        ordersPageQueryDTO.setUserId(BaseContext.getCurrentId());
        ordersPageQueryDTO.setStatus(status);
        //查询条件
        LambdaQueryWrapper<Orders> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(Orders::getUserId, BaseContext.getCurrentId());

        if (status != null) {
            queryWrapper.eq(Orders::getStatus, status);
        }
        if (ordersPageQueryDTO.getNumber() != null && !ordersPageQueryDTO.getNumber().isEmpty()) {
            queryWrapper.like(Orders::getNumber, ordersPageQueryDTO.getNumber());
        }
        if (ordersPageQueryDTO.getPhone() != null && !ordersPageQueryDTO.getPhone().isEmpty()) {
            queryWrapper.like(Orders::getPhone, ordersPageQueryDTO.getPhone());
        }
        if (ordersPageQueryDTO.getBeginTime() != null) {
            queryWrapper.ge(Orders::getOrderTime, ordersPageQueryDTO.getBeginTime());
        }
        if (ordersPageQueryDTO.getEndTime() != null) {
            queryWrapper.le(Orders::getOrderTime, ordersPageQueryDTO.getEndTime());
        }

        Page<Orders> ordersPage = orderMapper.selectPage(page, queryWrapper);
        List<OrderVO> list = new ArrayList<>();
        if (ordersPage != null && ordersPage.getTotal() > 0) {
            for (Orders orders : ordersPage.getRecords()) {
                Long orderId = orders.getId();

                LambdaQueryWrapper<OrderDetail> orderDetailLambdaQueryWrapper = new LambdaQueryWrapper<>();
                orderDetailLambdaQueryWrapper.eq(OrderDetail::getOrderId, orderId);
                List<OrderDetail> orderDetails = orderDetailMapper.selectList(orderDetailLambdaQueryWrapper);

                OrderVO orderVO = new OrderVO();
                BeanUtils.copyProperties(orders, orderVO);
                orderVO.setOrderDetailList(orderDetails);

                list.add(orderVO);
            }
        }
        assert ordersPage != null;//用于断言
        return new PageResult(ordersPage.getTotal(), list);
    }

查询订单详情

OrderController

  /**
     * 订单详情
     */
    @GetMapping("/orderDetail/{id}")
    @ApiOperation(value = "订单详情")
    public Result<OrderVO> details(@PathVariable Long id) {
        OrderVO orderVO = orderService.details(id);
        return Result.success(orderVO);
    }

OrderService

/**
     * 订单详情
     */
    OrderVO details(Long id);

OrderServiceImpl

/**
     * 订单详情
     */
    @Override
    public OrderVO details(Long id) {
        Orders orders = orderMapper.selectById(id);
        LambdaQueryWrapper<OrderDetail> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(OrderDetail::getOrderId, id);
        List<OrderDetail> orderDetailList = orderDetailMapper.selectList(queryWrapper);
        OrderVO orderVO = new OrderVO();
        BeanUtils.copyProperties(orders, orderVO);
        orderVO.setOrderDetailList(orderDetailList);
        return orderVO;
    }

原文地址:https://blog.csdn.net/qq_73340809/article/details/142895508

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!