package cn.iocoder.byzs.module.aicourse.dal.mysql.aiCourseConfig;

import cn.iocoder.byzs.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.byzs.module.aicourse.controller.admin.aiCourseConfig.vo.AiCourseConfigPageReqVO;
import cn.iocoder.byzs.module.aicourse.controller.admin.aiCourseConfig.vo.AiCourseConfigRespVO;
import cn.iocoder.byzs.module.aicourse.dal.dataobject.aiCourseConfig.AiCourseConfigDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 课程配置 Mapper
 *
 * @author 博雅智算源码
 */
@Mapper
public interface AiCourseConfigMapper extends BaseMapperX<AiCourseConfigDO> {

//    default PageResult<AiCourseConfigDO> selectPage(AiCourseConfigPageReqVO reqVO) {
//        return selectPage(reqVO, new LambdaQueryWrapperX<AiCourseConfigDO>()
//                .eqIfPresent(AiCourseConfigDO::getCcCourseId, reqVO.getCcCourseId())
//                .eqIfPresent(AiCourseConfigDO::getCcTime, reqVO.getCcTime())
//                .eqIfPresent(AiCourseConfigDO::getCcQuestId, reqVO.getCcQuestId())
//                .eqIfPresent(AiCourseConfigDO::getCcAnswerJudge, reqVO.getCcAnswerJudge())
//                .orderByDesc(AiCourseConfigDO::getId));
//    }

    List<AiCourseConfigPageReqVO> selectAiCourseConfigPage(AiCourseConfigPageReqVO reqVO);
    Integer selectAiCourseConfigCount(AiCourseConfigPageReqVO reqVO);

    /**
     * 根据课程id列表查询课程配置
     *
     * @param ccCourseIds 课程id列表
     * @return 课程配置列表
     */
    List<AiCourseConfigRespVO> getAiCourseConfigQuestionByCourseIds(@Param("ccCourseIds") List<Long> ccCourseIds);
}