package com.ruoyi.bst.order.service;

import java.util.List;

import com.ruoyi.bst.order.domain.OrderQuery;
import com.ruoyi.bst.order.domain.query.OrderRefundQuery;
import com.ruoyi.bst.order.domain.vo.OrderDailyRefundStatVO;
import com.ruoyi.bst.order.domain.vo.OrderDailyStatVO;
import com.ruoyi.bst.order.domain.vo.OrderRankVO;
import com.ruoyi.bst.order.domain.vo.OrderRefundStatVO;
import com.ruoyi.bst.order.domain.vo.OrderStatVO;

public interface OrderDashboard {

    /**
     * 查询订单统计
     * @param query 查询条件
     * @param keys 查询字段
     * @return 订单统计
     */
    OrderStatVO selectStat(OrderQuery query, List<String> keys);

    /**
     * 查询订单退款统计
     * @param query 查询条件
     * @param keys 查询字段
     * @return 订单退款统计
     */
    OrderRefundStatVO selectRefundStat(OrderRefundQuery query, List<String> keys);

    /**
     * 查询订单每日统计
     */
    List<OrderDailyStatVO> selectDailyStat(OrderQuery query, List<String> keys);

    /**
     * 查询订单每日退款统计
     */
    List<OrderDailyRefundStatVO> selectDailyRefundStat(OrderRefundQuery query, List<String> keys);

    /**
     * 查询订单排行榜
     */
    List<OrderRankVO> selectRank(OrderQuery query);

    
}
