package jnpf.cultivate.service;

import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.model.cultivate.po.learn.FtbCultivateLearnTaskCourse;
import jnpf.model.cultivate.v2.task.vo.FtbCultivateLearnTaskCourseVo;

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

/**
 * @Author: peng.hao
 * @create: 2024/9/9:11:05
 */
public interface FtbCultivateLearnTaskCourseService extends IService<FtbCultivateLearnTaskCourse> {

    /**
     * 批量查询任务的课程数量
     *
     * @param taskIds 任务id集合
     * @return
     */
    Map<String, Integer> groupCountNum(List<String> taskIds);

    /**
     * 批量查询任务的课程列表
     *
     * @param taskIds 任务ID集合
     * @return
     */
    Map<String, List<FtbCultivateLearnTaskCourse>> groupListTaskCourse(ArrayList<String> taskIds);

    /**
     * 根据任务ID查询所有有效课程
     *
     * @param taskId   任务ID
     * @param required 是否必修(0-是 1-否) null全部
     * @return 课程列表
     */
    List<FtbCultivateLearnTaskCourseVo> listByTaskId(String taskId, Integer required);

    List<FtbCultivateLearnTaskCourseVo> listByTaskIdAndPhaseId(String taskId, String phaseId);
}