forked from gushen/sunway-user-system
实现了管理员查询所有订单功能
This commit is contained in:
@@ -69,6 +69,30 @@ public class OrderController {
|
||||
return ResponseEntity.success(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询所有订单(管理员用)
|
||||
*/
|
||||
@GetMapping("/admin/page")
|
||||
public ResponseEntity<Map<String, Object>> getAllOrderPage(
|
||||
@RequestParam(defaultValue = "1") Integer page,
|
||||
@RequestParam(defaultValue = "10") Integer size,
|
||||
@RequestParam(required = false) Integer status,
|
||||
@RequestParam(required = false) String orderNo
|
||||
) {
|
||||
log.info("查询所有订单列表: page={}, size={}, status={}, orderNo={}",
|
||||
page, size, status, orderNo);
|
||||
|
||||
Page<OrderListVO> orderPage = orderService.getAllOrderPage(page, size, status, orderNo);
|
||||
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
result.put("list", orderPage.getRecords());
|
||||
result.put("total", orderPage.getTotal());
|
||||
result.put("page", page);
|
||||
result.put("size", size);
|
||||
|
||||
return ResponseEntity.success(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询订单详情
|
||||
*/
|
||||
|
||||
@@ -265,6 +265,56 @@ public class OrderServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo> im
|
||||
return voPage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<OrderListVO> getAllOrderPage(Integer page, Integer size, Integer status, String orderNo) {
|
||||
QueryWrapper<OrderInfo> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("is_deleted", 0); // 排除逻辑删除的记录
|
||||
|
||||
if (status != null) {
|
||||
queryWrapper.eq("status", status);
|
||||
}
|
||||
if (orderNo != null && !orderNo.isEmpty()) {
|
||||
queryWrapper.like("order_no", orderNo);
|
||||
}
|
||||
|
||||
queryWrapper.orderByDesc("create_time");
|
||||
|
||||
Page<OrderInfo> pageInfo = new Page<>(page, size);
|
||||
Page<OrderInfo> orderPage = orderInfoMapper.selectPage(pageInfo, queryWrapper);
|
||||
|
||||
// 转换为VO对象(复用已有的转换逻辑)
|
||||
Page<OrderListVO> voPage = new Page<>(page, size, orderPage.getTotal());
|
||||
List<OrderListVO> voList = orderPage.getRecords().stream().map(orderInfo -> {
|
||||
OrderListVO vo = new OrderListVO();
|
||||
BeanUtils.copyProperties(orderInfo, vo);
|
||||
QueryWrapper<OrderItem> itemQueryWrapper = new QueryWrapper<>();
|
||||
itemQueryWrapper.eq("order_id", orderInfo.getId());
|
||||
List<OrderItem> itemList = orderItemMapper.selectList(itemQueryWrapper);
|
||||
Integer count = 0;
|
||||
for (OrderItem item : itemList) {
|
||||
count += item.getQuantity();
|
||||
}
|
||||
vo.setProductCount(count);
|
||||
return vo;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
voPage.setRecords(voList);
|
||||
|
||||
// 转换状态码为文本
|
||||
voPage.getRecords().forEach(vo -> {
|
||||
switch (vo.getStatus()) {
|
||||
case 0: vo.setStatusText("待付款"); break;
|
||||
case 1: vo.setStatusText("待发货"); break;
|
||||
case 2: vo.setStatusText("待收货"); break;
|
||||
case 3: vo.setStatusText("已完成"); break;
|
||||
case 4: vo.setStatusText("已取消"); break;
|
||||
default: vo.setStatusText("未知状态");
|
||||
}
|
||||
});
|
||||
|
||||
return voPage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrderVO getOrderDetail(Long orderId, Long userId) {
|
||||
// 查询订单主信息
|
||||
|
||||
@@ -43,4 +43,6 @@ public interface OrderService extends IService<OrderInfo> {
|
||||
void updateOrderStatus(OrderStatusDTO statusDTO);
|
||||
|
||||
Long createOrderDirectly(OrderDTO orderDTO, Long productId , Long skuId);
|
||||
|
||||
Page<OrderListVO> getAllOrderPage(Integer page, Integer size, Integer status, String orderNo);
|
||||
}
|
||||
Reference in New Issue
Block a user