package com.yd.dal.mapper.agms;

import com.yd.api.agms.vo.dashboard.StatisticsPractitionerInfo;
import com.yd.api.agms.vo.dashboard.StatisticsSalesInfo;
import com.yd.dal.entity.agms.dashboard.StatisticsOpportunityInfo;
import com.yd.dal.entity.agms.dashboard.StatisticsPEPInfo;
import com.yd.dal.entity.practitioner.PersonalOffLineFYC;
import org.apache.ibatis.annotations.Param;

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

public interface AgmsDashboardMapper {

    List<StatisticsPEPInfo> statisticsPEP(@Param("type")String type,@Param("dropOptionId")Long dropOptionId);

    List<StatisticsOpportunityInfo> statisticsOpportunity(@Param("type")String type,@Param("time") String time, @Param("dropOptionId") Long dropOptionId);

    List<Map<String, Long>> getPractitionerNums(@Param("type")String type);

    List<StatisticsSalesInfo> statisticsSalesYD(@Param("category")String category, @Param("type")String type, @Param("time")String time);

    List<StatisticsPractitionerInfo> statisticsPractitioner(@Param("type")String type, @Param("time")String time);

    List<StatisticsSalesInfo> statisticsSalesEG(@Param("type")String type, @Param("time")String time);

    List<PersonalOffLineFYC> personalOffLineFYC(List<String> mobileNoList);

    List<Map<String, Object>> queryTeamAllMap();

    List<StatisticsSalesInfo> statisticsSalesTeam(@Param("category")String category,
                                                  @Param("time")String time, @Param("list")List<Map<String, Object>> teamMapList);

    List<StatisticsPractitionerInfo> statisticsPractitionerTeam(@Param("time")String time, @Param("list")List<Map<String, Object>> teamMapList);

    List<StatisticsPEPInfo> statisticsPEPTeam(@Param("type")String type, @Param("dropOptionId")Long dropOptionId,
                                              @Param("list")List<Map<String, Object>> teamMapList);

    List<StatisticsOpportunityInfo> statisticsOpportunityTeam(@Param("type")String type, @Param("time")String time,
                                                              @Param("dropOptionId")Long dropOptionId, @Param("list")List<Map<String, Object>> teamMapList);
}
