|  |  |  | 
|---|
|  |  |  | package com.ruoyi.study.service; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.extension.service.IService; | 
|---|
|  |  |  | import com.ruoyi.common.core.domain.R; | 
|---|
|  |  |  | import com.ruoyi.study.domain.*; | 
|---|
|  |  |  | import com.ruoyi.study.dto.StudyWeekDTO; | 
|---|
|  |  |  | import com.ruoyi.study.vo.*; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Map; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * <p> | 
|---|
|  |  |  | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param type    所属类型 | 
|---|
|  |  |  | * @param quarter 季度 | 
|---|
|  |  |  | * @param userId  用户id | 
|---|
|  |  |  | * @return 列表 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | List<StudyWeekDTO> weekList(Integer type, Integer quarter); | 
|---|
|  |  |  | List<StudyWeekDTO> weekList(Integer type, Integer quarter, Integer userId); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取学习进度及学习时长等信息 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param userId 用户id | 
|---|
|  |  |  | * @param week   周目 | 
|---|
|  |  |  | * @param day    所属day | 
|---|
|  |  |  | * @param studyRecord 学习进度 | 
|---|
|  |  |  | * @param week        所属周目 | 
|---|
|  |  |  | * @return 学习信息 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | TUserStudy studySchedule(String userId, Integer week, Integer day); | 
|---|
|  |  |  | TUserStudy studySchedule(TUserStudy studyRecord, Integer week); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 自主学习1-听音选图 | 
|---|
|  |  |  | 
|---|
|  |  |  | * @param studyListens 数据集合 | 
|---|
|  |  |  | * @return 单个题组下所包含的所有图片及语音 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | Map<String, Object> listenSelectPicture(Integer week, Integer day, List<TStudyListen> studyListens); | 
|---|
|  |  |  | StudyListenResultVO listenSelectPicture(Integer week, Integer day, List<TStudyListen> studyListens,Integer userId); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 自主游戏1-超级听力 | 
|---|
|  |  |  | 
|---|
|  |  |  | * @param difficulty 难度(0入门、1中级、2高级) | 
|---|
|  |  |  | * @param week       所属周目 | 
|---|
|  |  |  | * @param game       游戏信息 | 
|---|
|  |  |  | * @param userid     用户id | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | void checkDifficulty(Integer difficulty, Integer week, TGame game); | 
|---|
|  |  |  | void checkDifficulty(Integer difficulty, Integer week, TGame game, Integer userid); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 自主学习2-看图选音 | 
|---|
|  |  |  | 
|---|
|  |  |  | * @param lookList 数据集合 | 
|---|
|  |  |  | * @return 单个题组下所包含的所有图片及语音 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | Map<String, Object> pictureSelectVoice(Integer week, Integer day, List<TStudyLook> lookList); | 
|---|
|  |  |  | R<StudyLookResultVO> pictureSelectVoice(Integer week, Integer day, List<TStudyLook> lookList, Integer userId); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 自主学习3-归纳排除 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param week 周目 | 
|---|
|  |  |  | * @param day  所属day | 
|---|
|  |  |  | * @param week          周目 | 
|---|
|  |  |  | * @param day           所属day | 
|---|
|  |  |  | * @param inductionList 归纳排除 | 
|---|
|  |  |  | * @return 题目信息 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | Map<String, Object> induceExclude(Integer week, Integer day, List<TStudyInduction> inductionList); | 
|---|
|  |  |  | R<StudyInductionResultVO> induceExclude(Integer week, Integer day, List<TStudyInduction> inductionList,Integer userId); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 自主学习4-有问有答 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param week 周目 | 
|---|
|  |  |  | * @param day  所属day | 
|---|
|  |  |  | * @param week       周目 | 
|---|
|  |  |  | * @param day        所属day | 
|---|
|  |  |  | * @param answerList 有问有答 | 
|---|
|  |  |  | * @return 题目信息 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | Map<String, Object> questionsAndAnswers(Integer week, Integer day, List<TStudyAnswer> answerList); | 
|---|
|  |  |  | R<StudyAnswerResultVO> questionsAndAnswers(Integer week, Integer day, List<TStudyAnswer> answerList,Integer userId); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 自主学习5-音图相配 | 
|---|
|  |  |  | 
|---|
|  |  |  | * @param pair 音图相配 | 
|---|
|  |  |  | * @return 题目信息 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | Map<String, Object> pictureMateVoice(Integer week, Integer day, TStudyPair pair); | 
|---|
|  |  |  | R<StudyPairResultVO> pictureMateVoice(Integer week, Integer day, List<TStudyPair> pair,Integer userId); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 计算用户当前week的学习进度 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param result 用户学习信息 | 
|---|
|  |  |  | * @param week   周目 | 
|---|
|  |  |  | * @return 当前week学习进度 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | int computeSchedule(TUserStudy result, Integer week); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取本次学习可获得总积分 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param studyIds 题组id | 
|---|
|  |  |  | * @param type     类型 | 
|---|
|  |  |  | * @param accuracy 正确率 | 
|---|
|  |  |  | * @return 积分 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | int computeTotalIntegral(List<String> studyIds, Integer type, Integer accuracy); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 计算剩余学习周目 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param studyRecord 学习进度信息 | 
|---|
|  |  |  | * @param studyList   学习配置列表 | 
|---|
|  |  |  | * @return 剩余周目 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | int residueWeek(TUserStudy studyRecord, List<TStudy> studyList); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 校验超级听力是否通过 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param game   游戏信息 | 
|---|
|  |  |  | * @param userid 用户信息 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | void checkClearance(TGame game, Integer userid); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取当前周目游戏难度 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param studyRecord 学习进度 | 
|---|
|  |  |  | * @param week        周目 | 
|---|
|  |  |  | * @return 难度 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | Integer userGameDifficulty(TUserStudy studyRecord, Integer week); | 
|---|
|  |  |  | } | 
|---|