package com.lightinit.hsdataplatformresdir.mapper;

import com.lightinit.hsdataplatformresdir.entity.ResourceCatelog;
import com.lightinit.hsdataplatformresdir.entity.ResourceCatelogExample;
import java.util.List;
import java.util.Map;

import com.lightinit.hsdataplatformresdir.model.admin.*;
import org.apache.ibatis.annotations.Param;

public interface ResourceCatelogMapper {
    long countByExample(ResourceCatelogExample example);

    int deleteByExample(ResourceCatelogExample example);

    int deleteByPrimaryKey(Long id);

    int insert(ResourceCatelog record);

    int insertSelective(ResourceCatelog record);

    List<ResourceCatelog> selectByExample(ResourceCatelogExample example);

    ResourceCatelog selectByPrimaryKey(Long id);

    int updateByExampleSelective(@Param("record") ResourceCatelog record, @Param("example") ResourceCatelogExample example);

    int updateByExample(@Param("record") ResourceCatelog record, @Param("example") ResourceCatelogExample example);

    int updateByPrimaryKeySelective(ResourceCatelog record);

    int updateByPrimaryKey(ResourceCatelog record);

    List<ResourceCatelog> selectResourceCatelogByCode(@Param("catelogCode") String catelogCode);

    List<CatelogCountListModel> queryList(CatelogCountSearchModel inputModel);

    List<Map<String,Integer>> getIndex();

    List<String> getCatelogTypeIsTheme();

    List<Map<String, Object>> getEveryThemeTotal(StatisiticSearchModel inputModel);

    List<String> getSectorList();

    List<Map<String,Object>> getEverySectorTotal(StatisiticSearchModel inputModel);

    List<ResourceRankModel> getResourceRankByThemeAndResourceToltal(RankSearchModel inputModel);

    List<ResourceRankModel> getResourceRankByThemeAndApplyTimes(RankSearchModel inputModel);

    List<ResourceRankModel> getResourceRankByThemeAndTradeTimes(RankSearchModel inputModel);

    List<ResourceRankModel> getResourceRankByThemeAndTradeSum(RankSearchModel inputModel);

    List<ResourceRankModel> getResourceRankBySectorAndApplyTimes(RankSearchModel inputModel);

    List<ResourceRankModel> getResourceRankBySectorAndTradeTimes(RankSearchModel inputModel);

    List<ResourceRankModel> getResourceRankBySectorAndTradeSum(RankSearchModel inputModel);

    List<ResourceRankModel> getResourceRankBySectorAndResourceToltal(RankSearchModel inputModel);

    List<ResourceRankModel> getResourceRankBySingleResourceAndApplyTimes(RankSearchModel inputModel);

    List<ResourceRankModel> getResourceRankBySingleResourceAndTradeTimes(RankSearchModel inputModel);

    List<ResourceRankModel> getResourceRankBySingleResourceAndTradeSum(RankSearchModel inputModel);

    List<ResourceRankModel> getResourceRankBySingleResourceAndResourceToltal(RankSearchModel inputModel);

    List<ResourceRankModel> getResourceRankByUserAndApplyTimes(RankSearchModel inputModel);

    List<ResourceRankModel> getResourceRankByUserAndTradeTimes(RankSearchModel inputModel);

    List<ResourceRankModel> getResourceRankByUserAndTradeSum(RankSearchModel inputModel);

    List<ResourceRankModel> getResourceRankByUserAndResourceToltal(RankSearchModel inputModel);

    long getPagerTotalByTheme(RankSearchModel inputModel);

    long getPagerTotalBySector(RankSearchModel inputModel);

    long getPagerTotalBySingleResource(RankSearchModel inputModel);

    long getPagerTotalByUser(RankSearchModel inputModel);


    List<StatisticModel> getThemeSortTotal();

    List<StatisticModel> getSectorSortList();
}