package com.xiaoniu.system.datastatistics.service;

import com.xiaoniu.common.core.vo.AnalysisLineVO;
import com.xiaoniu.common.core.vo.LabelAndValueNameVO;
import com.xiaoniu.common.core.vo.LabelAndValueVO;
import com.xiaoniu.system.datastatistics.dto.DataStatisticsQueryDTO;
import com.xiaoniu.system.datastatistics.vo.*;

import java.util.List;

/**
 * @Author haoxuyang
 * @Date 2024/10/19 16:34
 */
public interface IDataStatisticsService {
    /**
     * 平台订单/积分订单信息
     *
     * @param dto dto
     * @return PlatformOrderVO
     */
    PlatformOrderVO platformOrder(DataStatisticsQueryDTO dto);

    /**
     * 门店订单
     *
     * @param dto dto
     * @return StoreOrderVO
     */
    StoreOrderVO storeOrder(DataStatisticsQueryDTO dto);

    /**
     * 实时数据
     *
     * @param dto dto
     * @return RealTimeDataVO
     */
    RealTimeDataVO realTimeData(DataStatisticsQueryDTO dto);

    /**
     * 门店数量
     *
     * @param dto dto
     * @return Integer
     */
    Integer storeNum(DataStatisticsQueryDTO dto);

    /**
     * 客勤信息
     *
     * @param dto dto
     * @return CUusServiceInformationVO
     */
    CUusServiceInformationVO cusServiceInformation(DataStatisticsQueryDTO dto);

    /**
     * 营业数据汇总
     *
     * @param dto dto
     * @return AnalysisLineVO
     */
    BusinessDataSummaryVO businessDataSummary(DataStatisticsQueryDTO dto);

    /**
     * 订单统计
     *
     * @param dto dto
     * @return AnalysisLineVO
     */
    OrderDataStatisticsVO orderStatistics(DataStatisticsQueryDTO dto);

    /**
     * 平台用户统计分析
     *
     * @param dto dto
     * @return List<LabelAndValueVO>
     */
    List<LabelAndValueNameVO> userStatisticalAnalysis(DataStatisticsQueryDTO dto);

    /**
     * 用户行为统计
     *
     * @param dto dto
     * @return List<LabelAndValueVO>
     */
    List<LabelAndValueNameVO> userBehaviorStatistics(DataStatisticsQueryDTO dto);
}
