package com.zhongzheng.modules.user.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzheng.modules.grade.domain.UserPeriodStatus;
import com.zhongzheng.modules.grade.vo.UserPeriodStatusVo;
import com.zhongzheng.modules.user.bo.SubjectStudyRecordQueryBo;
import com.zhongzheng.modules.user.bo.UserQueryBo;
import com.zhongzheng.modules.user.bo.UserStudyRecordAddBo;
import com.zhongzheng.modules.user.bo.UserStudyRecordQueryBo;
import com.zhongzheng.modules.user.domain.UserStudyRecord;
import com.zhongzheng.modules.user.vo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 用户学习记录Mapper接口
 *
 * @author ruoyi
 * @date 2021-06-25
 */
public interface UserStudyRecordMapper extends BaseMapper<UserStudyRecord> {

    List<UserStudyRecordVo> selectList(UserStudyRecordQueryBo bo);

    List<UserStudyRecord> selectUserStudy(@Param("userId") Long userId, @Param("courseId") Integer courseId);

    List<GoodsStudyRecordVo> queryGoods(UserQueryBo bo);

    List<SubjectStudyRecordVo> listSubject(SubjectStudyRecordQueryBo bo);

    List<SectionStudyRecordVo> listSection(SubjectStudyRecordQueryBo bo);

    List<Long> sectionType(@Param("courseId") Long courseId,@Param("sectionType") Long sectionType);

    List<ExamStudyRecordVo> querExamStudy(UserQueryBo bo);

    List<ExamSonStudyRecordVo> listExamSon(SubjectStudyRecordQueryBo bo);

    List<String> examTypes(Long id);

    Long selectStudyRecord(UserStudyRecord bo);

    Long selectPeriod(UserStudyRecord entity);

    UserPeriodStatus selectPeriodCount(UserStudyRecord entity);

    Long userPlanSave(Long goodsId);

    Long userPlanSaveId(Long goodsId);

    Long selectPland(UserStudyRecord bo);

    List<Long> getPlanGoods(Long planId);

    Long selectPlandCount(@Param("goodsId") Long goodsId,@Param("planId") Long planId);
}
