package jnpf.cultivate.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import jnpf.model.cultivate.po.learn.FtbCultivateLearnTaskCertificate;
import jnpf.model.cultivate.resp.TaskRelationCertificateVo;
import jnpf.model.cultivate.v2.task.vo.FtbCultivateLearnTaskCertificateVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author: peng.hao
 * @create: 2024/9/9:11:05
 */
public interface FtbCultivateLearnTaskCertificateMapper extends BaseMapper<FtbCultivateLearnTaskCertificate> {
    /**
     * 批量根据任务id查询证书名称
     *
     * @param taskIds 任务ID集合
     * @return
     */
    List<TaskRelationCertificateVo> queryCertificateName(@Param("taskIds") List<String> taskIds);

    int insertBatch(@Param("list") List<FtbCultivateLearnTaskCertificate> list);

    /**
     * 根据任务 ID 查询证书列表（关联证书表，过滤上架且未删除）
     *
     * @param taskId 任务 ID
     * @return 证书列表
     */
    List<FtbCultivateLearnTaskCertificateVo> listByTaskId(@Param("taskId") String taskId);

    /**
     * 根据任务ID和阶段ID查询证书列表（关联证书表，过滤上架且未删除）
     *
     * @param taskId 任务 ID
     * @param phaseId 阶段 ID
     * @return 证书列表
     */
    List<FtbCultivateLearnTaskCertificateVo> listByTaskIdAndPhaseId(@Param("taskId") String taskId, @Param("phaseId") String phaseId);
}