package com.cirle.scientific.service;

import com.cirle.scientific.dto.course.CourseAppDetailsDTO;
import com.cirle.scientific.dto.course.CourseAppListDTO;
import com.cirle.scientific.dto.course.RandomExaminationResp;
import com.cirle.scientific.dto.questiondetail.QkjQuestionDetailAppDTO;
import com.cirle.scientific.po.QkjStudyRecordApp;
import com.cirle.scientific.po.QkjTqcourseCommentsApp;
import com.cirle.scientific.pojo.Result;

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

public interface CourseAppService {
    /**
     * 课程列表接口
     *
     * @param memCard 用户ID
     * @param type    1：理论 2：技能
     * @return
     */
    List<CourseAppListDTO> getCourseList(String memCard, Integer type);

    /**
     * 课程详情接口
     *
     * @param id 课程ID
     * @return CourseAppDetailsDTO
     */
    CourseAppDetailsDTO getCourseDetails(Long id, String memCard);

    List<QkjTqcourseCommentsApp> getComment(Long id);


    /**
     * 保存初始化学习记录表
     *
     * @param memCard
     * @param objId
     * @param studyAccomplish
     * @return
     */
    QkjStudyRecordApp saveStudyRecord(String memCard, Long objId, Integer studyAccomplish, Integer objType);

    QkjStudyRecordApp saveRecordProgress(String memCard, Long objId, Integer objType, Integer duration, Integer currentTime);


    /**
     * 初始化学习记录表
     *
     * @param memCard
     * @param objId
     * @return
     */
    QkjStudyRecordApp initStudyRecord(String memCard, Long objId, Integer objType);

    Result saveCommonApp(Long id, String memCard, String content);


    Map<Integer, List<QkjQuestionDetailAppDTO>> getRandomQuestion(String memCard);
}
