苍穹外卖学习笔记(二十)
文章目录
用户端历史订单模块:
查询历史订单
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)!