package com.ruoyi.dxp.mapper;

import com.ruoyi.dxp.dto.BarChartDto;
import com.ruoyi.dxp.dto.BarChartParam;
import com.ruoyi.dxp.dto.WholeAccessBarChartDto;

import java.util.List;

public interface IndexStaticsMapper {
    /**
     * 获取资源访问柱状图
     *
     * @param param 查询参数
     * @return 结果
     */
    public List<BarChartDto> selectStaticsByYear(BarChartParam param);

    public List<BarChartDto> selectStaticsByMonth(BarChartParam param);

    public List<BarChartDto> selectStaticsByDay(BarChartParam param);

    /**
     * 获取接入数据表数量
     *
     * @return
     */
    public Integer selectTableCount();

    /**
     * 获取共享数据数量
     *
     * @return
     */
    public Integer selectDataShareCount();

    /**
     * 接入数据项数量
     *
     * @return
     */
    public Integer selectDataItemCount();

    /**
     * 已共享数据项数量
     *
     * @return
     */
    public Integer selectShareDataItemCount();

    /**
     * 已接入服务数量
     *
     * @return
     */
    public Integer selectServiceCount();

    /**
     * 共享服务数量
     *
     * @return
     */
    public Integer selectShareServiceCount();

    /**
     * 文献数量
     *
     * @return
     */
    public Integer selectLiteratureCount();

    /**
     * 内部用户数量
     *
     * @return
     */
    public Integer selectUserCount();

    /**
     * 外部企业数量
     *
     * @return
     */
    public Integer selectCompanyCount();

    /**
     * 获取应用数
     *
     * @return
     */
    public Integer selectAppCount();

    /**
     * 查询接入数据日分组
     *
     * @param param 查询参数
     * @return
     */
    public List<WholeAccessBarChartDto> selectAccessAndShareGroupData(BarChartParam param);
}
