package jnpf.cultivate.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jnpf.model.cultivate.dto.learn.FtbCultivateLearnTaskListDto;
import jnpf.model.cultivate.vo.learn.FtbCultivateLearnTaskFinishInfoVO;
import jnpf.model.cultivate.vo.learn.FtbCultivateLearnTaskListVO;
import jnpf.model.cultivate.vo.learn.FtbCultivateMyLearnTaskListVO;
import jnpf.model.cultivate.vo.learn.info.FtbCultivateLearnTaskCertificateUserInfoVO;
import jnpf.model.cultivate.vo.learn.info.FtbCultivateLearnTaskCourseUserInfoVO;
import jnpf.model.cultivate.vo.learn.info.FtbCultivateLearnTaskExamUserInfoVO;
import jnpf.model.cultivate.vo.learn.info.FtbCultivateLearnTaskIdentificationUserInfoVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author: peng.hao
 * @create: 2024/9/13:16:36
 */
public interface FtbCultivateLearnTaskInfoMapper {
    /**
     * 查询我的任务列表
     * @param tPage
     * @param taskListDto
     * @return
     */
    Page<FtbCultivateMyLearnTaskListVO> queryTaskList(@Param("page") Page<FtbCultivateMyLearnTaskListVO> tPage, @Param("taskListDto") FtbCultivateLearnTaskListDto taskListDto);

    /**
     * 查看任务详情列表
     * @param taskId
     * @param ids
     * @return
     */
    List<FtbCultivateLearnTaskFinishInfoVO> getListOfCompletions( @Param("taskId") String taskId, @Param("ids") List<String> ids);

    /**
     * 查询对应课程完成情况
     * @param taskId
     * @param userId
     * @return
     */
    List<FtbCultivateLearnTaskCourseUserInfoVO> queryCourseUserInfo(@Param("taskId") String taskId, @Param("userId")  String userId);

    /**
     * 查询证书信息
     * @param taskId
     * @param userId
     * @return
     */
    FtbCultivateLearnTaskCertificateUserInfoVO queryCertificateInfo(@Param("taskId") String taskId, @Param("userId") String userId);

    /**
     * 查询实操鉴定
     * @param taskId
     * @param userId
     * @return
     */
    FtbCultivateLearnTaskIdentificationUserInfoVO queryIdentificationInfo(@Param("taskId") String taskId, @Param("userId") String userId);

    /**
     * 查询考试信息
     * @param taskId
     * @param userId
     * @return
     */
    FtbCultivateLearnTaskExamUserInfoVO queryExamInfo(@Param("taskId") String taskId, @Param("userId") String userId);

    /**
     * 查询任务列表
     * @param page
     * @param taskListDto
     * @return
     */
    Page<FtbCultivateLearnTaskListVO> getTaskList(@Param("taskId")Page<FtbCultivateLearnTaskListVO> page,
                                                  @Param("taskListDto") FtbCultivateLearnTaskListDto taskListDto);



}
