package com.microservices.dss.makerspace.mapper;


import com.microservices.dss.makerspace.domain.vo.TaskHeatInfoVo;
import com.microservices.dss.projects.domain.PieChartNameAndValue;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

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

@Mapper
public interface TasksMapper{

    int getTotalTaskCount();

    int getTotalApplicantCount();

    int getCurrentTotalAwardAmount();

    List<Object> getTaskPublishedCountsByYear();

    List<Object> getTaskBountyCountsByYear();

    List<Object> getNewAddedTasksByMonth(@Param("startTime") String startTime, @Param("endTime") String endTime);

    List<Object> getNewAddedPapersByMonth(@Param("startTime") String startTime, @Param("endTime") String endTime);

    List<Map<String, String>> getTaskOperLogTopN(@Param("topNum") Integer topNum);

    List<PieChartNameAndValue> getOpeningTaskNumOfTaskStatus(@Param("topNum") Integer topNum);

    List<PieChartNameAndValue> getAllTaskNumOfTaskCategory();

    List<Map<String, String>> getBountyDistribution();

    Map<String, String> getTotalCompletedBounty();

    List<TaskHeatInfoVo> getTaskInfoByVisits(@Param("topNum") Integer topNum);

    List<Map<String, String>> getTaskModeStatistic();
}