管理端:

订单数量统计
 查看订单详情
This commit is contained in:
2024-12-28 21:09:47 +08:00
parent f68ed79b7f
commit 333fa769cc
4 changed files with 74 additions and 19 deletions

View File

@@ -4,15 +4,15 @@ import com.sky.dto.OrdersPageQueryDTO;
import com.sky.result.PageResult;
import com.sky.result.Result;
import com.sky.service.OrderService;
import com.sky.vo.OrderOverViewVO;
import com.sky.vo.OrderStatisticsVO;
import com.sky.vo.OrderVO;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
@RestController
@RestController("adminOrderController")
@RequestMapping("/admin/order")
@Api(tags = "Order-Controller")
@Slf4j
@@ -25,4 +25,18 @@ public class OrderController {
PageResult pageResult = orderService.pageQuery(ordersPageQueryDTO);
return Result.success(pageResult);
}
@GetMapping("/statistics")
public Result<OrderStatisticsVO> statistics() {
log.info("order overview");
OrderStatisticsVO orderStatisticsVO = orderService.statistics();
return Result.success(orderStatisticsVO);
}
@GetMapping("/details/{id}")
public Result<OrderVO> details(@PathVariable Long id) {
log.info("check order details: {}",id);
OrderVO orderVO = orderService.details(id);
return Result.success(orderVO);
}
}

View File

@@ -37,4 +37,7 @@ public interface OrderMapper {
@Select("select * from orders where id = #{id}")
Orders getById(Long id);
@Select("select count(*) from orders where status = #{status}")
int countStatus(Integer status);
}

View File

@@ -1,13 +1,10 @@
package com.sky.service;
import com.sky.dto.OrdersDTO;
import com.sky.dto.OrdersPageQueryDTO;
import com.sky.dto.OrdersPaymentDTO;
import com.sky.dto.OrdersSubmitDTO;
import com.sky.result.PageResult;
import com.sky.vo.OrderPaymentVO;
import com.sky.vo.OrderSubmitVO;
import com.sky.vo.OrderVO;
import com.sky.vo.*;
import org.springframework.stereotype.Service;
@Service
@@ -68,4 +65,18 @@ public interface OrderService {
* @return
*/
PageResult pageQuery(OrdersPageQueryDTO ordersPageQueryDTO);
/**
* order overview
*
* @return
*/
OrderStatisticsVO statistics();
/**
* check order details
* @param id
* @return
*/
OrderVO details(Long id);
}

View File

@@ -15,9 +15,7 @@ import com.sky.mapper.*;
import com.sky.result.PageResult;
import com.sky.service.OrderService;
import com.sky.utils.WeChatPayUtil;
import com.sky.vo.OrderPaymentVO;
import com.sky.vo.OrderSubmitVO;
import com.sky.vo.OrderVO;
import com.sky.vo.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -172,7 +170,7 @@ public class OrderServiceImpl implements OrderService {
@Override
public PageResult getHistoryOrders(Integer page, Integer pageSize, Integer status) {
Long userId = BaseContext.getCurrentId();
PageHelper.startPage(page,pageSize);
PageHelper.startPage(page, pageSize);
OrdersPageQueryDTO ordersPageQueryDTO = new OrdersPageQueryDTO();
ordersPageQueryDTO.setUserId(userId);
ordersPageQueryDTO.setStatus(status);
@@ -188,7 +186,7 @@ public class OrderServiceImpl implements OrderService {
list.add(orderVO);
}
}
return new PageResult(list.size(),list);
return new PageResult(list.size(), list);
}
@Override
@@ -233,19 +231,48 @@ public class OrderServiceImpl implements OrderService {
@Override
public PageResult pageQuery(OrdersPageQueryDTO ordersPageQueryDTO) {
PageHelper.startPage(ordersPageQueryDTO.getPage(),ordersPageQueryDTO.getPageSize());
PageHelper.startPage(ordersPageQueryDTO.getPage(), ordersPageQueryDTO.getPageSize());
Page<Orders> ordersPage = orderMapper.pageQuery(ordersPageQueryDTO);
List<OrderVO> list = new ArrayList<>();
for (Orders orders : ordersPage) {
OrderVO orderVO = new OrderVO();
BeanUtils.copyProperties(orders, orderVO);
List<OrderDetail> orderDetailList = orderDetailMapper.getByOrderId(orders.getId());
String orderDishes = Arrays.toString(orderDetailList.toArray());
orderDishes = orderDishes.substring(1, orderDishes.length() - 1);
orderVO.setOrderDishes(orderDishes);
StringBuilder orderDishes = new StringBuilder();
for (OrderDetail orderDetail : orderDetailList) {
orderDishes.append(orderDetail.getName()).append(",");
}
orderVO.setOrderDishes(orderDishes.substring(0, orderDishes.length() - 1));
list.add(orderVO);
}
return new PageResult(list.size(),list);
return new PageResult(list.size(), list);
}
@Override
public OrderStatisticsVO statistics() {
int confirmed = orderMapper.countStatus(Orders.CONFIRMED);
int deliveryInProgress = orderMapper.countStatus(Orders.DELIVERY_IN_PROGRESS);
int toBeConfirmed = orderMapper.countStatus(Orders.TO_BE_CONFIRMED);
OrderStatisticsVO orderStatisticsVO = new OrderStatisticsVO();
orderStatisticsVO.setConfirmed(confirmed);
orderStatisticsVO.setDeliveryInProgress(deliveryInProgress);
orderStatisticsVO.setToBeConfirmed(toBeConfirmed);
return orderStatisticsVO;
}
@Override
public OrderVO details(Long id) {
Orders orders = orderMapper.getById(id);
List<OrderDetail> orderDetailList = orderDetailMapper.getByOrderId(orders.getId());
StringBuilder orderDishes = new StringBuilder();
for (OrderDetail orderDetail : orderDetailList) {
orderDishes.append(orderDetail.getName()).append(",");
}
OrderVO orderVO = new OrderVO();
BeanUtils.copyProperties(orders, orderVO);
orderVO.setOrderDetailList(orderDetailList);
orderVO.setOrderDishes(orderDishes.substring(0, orderDishes.length() - 1));
return orderVO;
}
}