当前位置: 首页 > news >正文

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

文章目录

  • 用户端历史订单模块:
    • 查询历史订单
      • OrderController
      • OrderService
      • OrderServiceImpl
    • 查询订单详情
      • OrderController
      • OrderService
      • OrderServiceImpl

用户端历史订单模块:

查询历史订单

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

/*** 分页查询用户订单*/@Overridepublic 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

/*** 订单详情*/@Overridepublic 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;}
http://www.lryc.cn/news/459595.html

相关文章:

  • 2024 第一次周赛
  • 【数据脱敏方案】不使用 AOP + 注解,使用 SpringBoot+YAML 实现
  • dbt doc 生成文档命令示例应用
  • 【Windows】【DevOps】Windows Server 2022 安装ansible,基于powershell实现远程自动化运维部署 入门到放弃!
  • 深入理解 Parquet 文件格式
  • 计算机挑战赛3
  • 深度学习:循环神经网络—RNN的原理
  • 蓝桥杯刷题--幸运数字
  • Node.js入门——fs、path模块、URL端口号、模块化导入导出、包、npm软件包管理器
  • 多元线性回归:机器学习中的经典模型探讨
  • 域1:安全与风险管理 第1章实现安全治理的原则和策略
  • 【大数据】学习大数据开发应该从哪些技术栈开始学习?
  • CentOS快速配置网络Docker快速部署
  • Grounded-SAM Demo部署搭建
  • C语言 | 第十六章 | 共用体 家庭收支软件-1
  • 【论文阅读】Learning a Few-shot Embedding Model with Contrastive Learning
  • OKHTTP 如何处理请求超时和重连机制
  • 基于Springboot vue的流浪狗领养管理系统设计与实现
  • 爬虫案例——网易新闻数据的爬取
  • SpringCloud 2023 Gateway的Filter配置介绍、类型、内置过滤器、自定义全局和单一内置过滤器
  • 从银幕到现实:擎天柱机器人即将改变我们的生活
  • 408算法题leetcode--第33天
  • OCR模型调研及详细安装
  • C++第六讲:STL--vector的使用及模拟实现
  • 2024年字节抖音前端面经,这次问的很基础!
  • vscode提交修改Failed to connect to github.com port 443: Timed out
  • 通过docker镜像安装elasticsearch和kibana
  • seaCMS v12.9代码审计学习(下半)
  • 麒麟信安CentOS安全加固案例获评中国信通院第三届“鼎新杯”数字化转型应用奖
  • Java 中消除 If-else 技巧总结