package com.ruixuan.report.mapper;


import com.alibaba.fastjson.JSONObject;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 账户报表Mapper接口
 *
 * @author ruoyi
 * @date 2023-03-22
 */
public interface KuaishouLiveAccountReportMapper {

    JSONObject operateHomePageHead(Map<String, Object> map);

    Integer getCustomersNum(Map<String, Object> map);


    /*项目维度数据 日报&时报*/
    List<JSONObject> getProjectCostListByDaily(Map<String, Object> map);

    List<JSONObject> getProjectCostListByHourly(Map<String, Object> map);


    /*运营组维度数据 日报&时报 */
    JSONObject getOperationsGroupCostByHourly(Map<String, Object> map);

    JSONObject getOperationsGroupCostByDaily(Map<String, Object> map);


    /*运营数据 日报&时报 */
    List<JSONObject> getOperateCostListByHourly(Map<String, Object> map);

    List<JSONObject> getOperateCostListByDaily(Map<String, Object> map);

    /*运营数据 汇总查询 日报&时报 */
    JSONObject getOperateCostTotalByHourly(Map<String, Object> map);

    JSONObject getOperateCostTotalByDaily(Map<String, Object> map);


    /*运营数据趋势图 日报&时报 */
    List<JSONObject> getOperateCostTrendChartListByHourly(Map<String, Object> map);

    List<JSONObject> getOperateCostTrendChartListByDaily(Map<String, Object> map);


    /*统计报表 汇总数据 日报&时报*/
    JSONObject getStatisticalReportHeadByHourly(Map<String, Object> map);

    JSONObject getStatisticalReportHeadByDaily(Map<String, Object> map);


    /*访问量统计趋势图 日报&时报 */
    List<JSONObject> getvisitorStatisticsTrendChartListByHourly(Map<String, Object> map);

    List<JSONObject> getvisitorStatisticsTrendChartListByDaily(Map<String, Object> map);


    /*趋势图节点账户消耗 日报&时报 */
    List<JSONObject> getNodeAccountsCostByHourly(Map<String, Object> map);

    List<JSONObject> getNodeAccountsCostByDaily(Map<String, Object> map);


    /*账户数据报表 日报&时报 */
    List<JSONObject> getAccountDataReportByHourly(Map<String, Object> map);

    List<JSONObject> getAccountDataReportByDaily(Map<String, Object> map);

    void replaceKuaishouFields(@Param("request") JSONObject request);

    JSONObject getKuaishouFieldsByUserId(@Param("userId") Long userId, @Param("columnType") String columnType);
}