package com.zd.exam.service;

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

import com.zd.exam.domain.ElChapterLearnRecord;
import com.zd.exam.domain.vo.ElCourseVo;

/**
 * 学习记录Service接口
 *
 * @author liubo
 * @date 2021-12-07
 */
public interface IElChapterLearnRecordService {
    /**
     * 查询学习记录
     *
     * @param id 学习记录主键
     * @return 学习记录
     */
    public ElChapterLearnRecord selectElChapterLearnRecordById(Long id);

    /**
     * 查询学习记录列表
     *
     * @param elChapterLearnRecord 学习记录
     * @return 学习记录集合
     */
    public List<ElChapterLearnRecord> selectElChapterLearnRecordList(ElChapterLearnRecord elChapterLearnRecord);

    /**
     * 新增学习记录
     *
     * @param elChapterLearnRecord 学习记录
     * @return 结果
     */
    public int insertElChapterLearnRecord(ElChapterLearnRecord elChapterLearnRecord);

    /**
     * 修改学习记录
     *
     * @param elChapterLearnRecord 学习记录
     * @return 结果
     */
    public int updateElChapterLearnRecord(ElChapterLearnRecord elChapterLearnRecord);

    /**
     * 批量删除学习记录
     *
     * @param ids 需要删除的学习记录主键集合
     * @return 结果
     */
    public int deleteElChapterLearnRecordByIds(Long[] ids);

    /**
     * 删除学习记录信息
     *
     * @param id 学习记录主键
     * @return 结果
     */
    public int deleteElChapterLearnRecordById(Long id);

    void learnStart(ElChapterLearnRecord learnRecord);

    Map<String, Object> learnFinish(ElChapterLearnRecord learnRecord);

    List<ElCourseVo> learnList(ElCourseVo courseVo);
}
