hjl
2024-06-20 770de42c8bbb10676663f33e2748c733c993d27b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
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);
 
}