package com.ycwl.basic.service.pc;

import com.ycwl.basic.model.mobile.statistic.req.CommonQueryReq;
import com.ycwl.basic.model.pc.statistics.resp.OrderStatisticsResp;

import java.util.HashMap;
import java.util.List;

/**
 * @Author：longbinbin
 * @Date：2024/12/12 14:32
 */
public interface StatisticsService {

    /**
     * 智能获取扫码访问人数统计数据（自动选择小时级别或日期级别）
     * @param query 查询参数（包含景区ID、开始时间、结束时间）
     * @return 统计数据（超过7天返回日期级别，否则返回小时级别）
     */
    List<HashMap<String, String>> getScanCodeMemberChartAuto(CommonQueryReq query);

    /**
     * 获取订单统计数据（包含订单数量和金额、推送订单数量、现场订单数量）
     * @param query 查询参数（包含景区ID、开始时间、结束时间；如果scenicId为空则统计全部景区，否则统计指定景区）
     * @return 统计数据（totalOrderCount: 总订单数量, totalOrderAmount: 总订单金额, pushOrderCount: 推送订单数量, sceneOrderCount: 现场订单数量）
     */
    OrderStatisticsResp getOrderStatistics(CommonQueryReq query);
}