package com.ruoyi.study.service;
|
|
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.ruoyi.study.domain.*;
|
import com.ruoyi.study.dto.StudyWeekDTO;
|
import com.ruoyi.study.vo.*;
|
|
import java.util.List;
|
|
/**
|
* <p>
|
* 学习类型 听 周目配置 服务类
|
* </p>
|
*
|
* @author 无关风月
|
* @since 2024-04-26
|
*/
|
public interface ITStudyService extends IService<TStudy> {
|
|
/**
|
* 查询周目列表
|
*
|
* @param type 所属类型
|
* @param quarter 季度
|
* @param userId 用户id
|
* @return 列表
|
*/
|
List<StudyWeekDTO> weekList(Integer type, Integer quarter, Integer userId);
|
|
/**
|
* 获取学习进度及学习时长等信息
|
*
|
* @param userId 用户id
|
* @return 学习信息
|
*/
|
TUserStudy studySchedule(String userId);
|
|
/**
|
* 自主学习1-听音选图
|
*
|
* @param week 周目
|
* @param day 所属day
|
* @param studyListens 数据集合
|
* @return 单个题组下所包含的所有图片及语音
|
*/
|
StudyListenResultVO listenSelectPicture(Integer week, Integer day, List<TStudyListen> studyListens);
|
|
/**
|
* 自主游戏1-超级听力
|
*
|
* @param difficulty 难度(0入门、1中级、2高级)
|
* @param week 所属周目
|
* @param game 游戏信息
|
* @param userid 用户id
|
*/
|
void checkDifficulty(Integer difficulty, Integer week, TGame game, Integer userid);
|
|
/**
|
* 自主学习2-看图选音
|
*
|
* @param week 周目
|
* @param day 所属day
|
* @param lookList 数据集合
|
* @return 单个题组下所包含的所有图片及语音
|
*/
|
StudyLookResultVO pictureSelectVoice(Integer week, Integer day, List<TStudyLook> lookList);
|
|
/**
|
* 自主学习3-归纳排除
|
*
|
* @param week 周目
|
* @param day 所属day
|
* @param inductionList 归纳排除
|
* @return 题目信息
|
*/
|
StudyInductionResultVO induceExclude(Integer week, Integer day, List<TStudyInduction> inductionList);
|
|
/**
|
* 自主学习4-有问有答
|
*
|
* @param week 周目
|
* @param day 所属day
|
* @param answerList 有问有答
|
* @return 题目信息
|
*/
|
StudyAnswerResultVO questionsAndAnswers(Integer week, Integer day, List<TStudyAnswer> answerList);
|
|
/**
|
* 自主学习5-音图相配
|
*
|
* @param week 周目
|
* @param day 所属day
|
* @param pair 音图相配
|
* @return 题目信息
|
*/
|
StudyPairResultVO pictureMateVoice(Integer week, Integer day, List<TStudyPair> pair);
|
|
/**
|
* 计算用户当前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);
|
|
}
|