package com.zd.exam.service;

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

import com.zd.exam.domain.ElCourse;

import javax.servlet.http.HttpServletRequest;

/**
 * 学习资源Service接口
 *
 * @author liubo
 * @date 2021-12-07
 */
public interface IElCourseService {
    /**
     * 查询学习资源
     *
     * @param id 学习资源主键
     * @return 学习资源
     */
    public ElCourse selectElCourseById(Long id,HttpServletRequest request);

    /**
     * 个人查询学习资源以及是否完成
     *
     */
    public ElCourse selectUserCourseById(Long id, HttpServletRequest request);

    /**
     * 查询学习资源列表
     *
     * @param elCourse 学习资源
     * @return 学习资源集合
     */
    public List<ElCourse> selectElCourseList(ElCourse elCourse);

    /**
     * 新增学习资源
     *
     * @param elCourse 学习资源
     * @return 结果
     */
    public ElCourse insertElCourse(ElCourse elCourse);

    /**
     * 修改学习资源
     *
     * @param elCourse 学习资源
     * @return 结果
     */
    public int updateElCourse(ElCourse elCourse);

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

    /**
     * 删除学习资源信息
     *
     * @param id 学习资源主键
     * @return 结果
     */
    public int deleteElCourseById(Long id);

    List<Map<String, Object>> queryOption(ElCourse elCourse);

    ElCourse getCourseInfoByUser(Long userId, Long id, HttpServletRequest request);

    List<ElCourse> selectElCourseListByUser(ElCourse elCourse);
}
