package com.lutao.cloud.oil.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lutao.cloud.common.data.datascope.CloudBaseMapper;
import com.lutao.cloud.oil.pojo.param.PersonGoSeaParam;
import com.lutao.cloud.oil.pojo.param.RecentPeopleLineChartParam;
import com.lutao.cloud.oil.pojo.vo.PersonPlatformRankVO;
import com.lutao.cloud.oil.pojo.vo.PersonTodayPlatformInformationVO;
import com.lutao.cloud.oil.pojo.vo.RecentPeopleLineChartVO;
import com.lutao.entity.PlatformPersonTimeInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface PlatformPersonTimeInfoMapper extends CloudBaseMapper<PlatformPersonTimeInfo> {

    /**
     * “立即获取人员” 平台信息页面
     *
     * @param page             第页
     * @param personGoSeaParam param
     * @return {@link IPage}<{@link PersonTodayPlatformInformationVO}>
     */
    IPage<PersonTodayPlatformInformationVO> getPersonTodayPlatformInformationPage(Page page, @Param("param") PersonGoSeaParam personGoSeaParam);

    /**
     * 获取今日人员平台信息列表
     *
     * @param personGoSeaParam param
     * @return {@link List}<{@link PersonTodayPlatformInformationVO}>
     */
    List<PersonTodayPlatformInformationVO> getPersonTodayPlatformInformationList(@Param("param") PersonGoSeaParam personGoSeaParam);


    /**
     * “获取人员平台排名” 页面
     *
     * @param page             第页
     * @param personGoSeaParam 人出海帕拉姆
     * @return {@link IPage}<{@link PersonPlatformRankVO}>
     */
    IPage<PersonPlatformRankVO> getPersonPlatformRankPage(Page page, @Param("param") PersonGoSeaParam personGoSeaParam);

    /**
     * 查询最近人员折线图
     *
     * @param param param
     * @return {@link List}<{@link RecentPeopleLineChartVO}>
     */
    List<RecentPeopleLineChartVO> queryRecentPeopleLineChart(@Param("param") RecentPeopleLineChartParam param);
}
