package jnpf.cultivate.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.cultivate.mapper.FtbCultivateLearnTaskMapper;
import jnpf.cultivate.service.FtbCultivateLearnTaskService;
import jnpf.model.cultivate.po.learn.FtbCultivateLearnTask;
import jnpf.model.cultivate.v2.task.vo.V2MyCultivateLearnTaskListVo;
import org.springframework.stereotype.Service;

import java.util.List;

/**
*
*
*@Author: peng.hao
*@create: 2024/9/9:11:05
*
*/
@Service
public class
FtbCultivateLearnTaskServiceImpl extends ServiceImpl<FtbCultivateLearnTaskMapper, FtbCultivateLearnTask> implements FtbCultivateLearnTaskService{

    /**
     * 查询用户未完成的任务列表
     *
     * @param userId 用户ID
     * @return 返回V2MyCultivateLearnTaskListVo类型的任务列表，包含用户所有未完成的学习任务信息
     */
    @Override
    public List<V2MyCultivateLearnTaskListVo> queryMyNoCompleteTaskListForUserId(String userId) {
        return baseMapper.queryMyNoCompleteTaskListForUserId(userId);
    }

    /**
     * 查询任务是否关联指定考试
     *
     * @param taskIds 任务ID列表
     * @param examId 考试ID
     * @return 返回关联了指定考试的任务ID列表
     */
    @Override
    public List<String> queryTaskHasExam(List<String> taskIds, String examId) {
        return baseMapper.queryTaskHasExam(taskIds, examId);
    }

    /**
     * 查询任务是否关联指定练习
     *
     * @param taskIds 任务ID列表
     * @param practiceId 练习ID
     * @return 返回关联了指定练习的任务ID列表
     */
    @Override
    public List<String> queryTaskHasPracticeId(List<String> taskIds, String practiceId) {
        return baseMapper.queryTaskHasPracticeId(taskIds, practiceId);
    }

    /**
     * 查询任务是否关联指定身份
     *
     * @param taskIds 任务ID列表
     * @param identityId 身份ID
     * @return 返回关联了指定身份的任务ID列表
     */
    @Override
    public List<String> queryTaskHasIdentityId(List<String> taskIds, String identityId) {
        return baseMapper.queryTaskHasIdentityId(taskIds, identityId);
    }

    @Override
    public List<String> queryMyRunningTask(String userId, String courseId) {
        return baseMapper.queryMyRunningTask(userId,courseId);
    }

}
