fix(lesson-plans): 修正补差词汇汇总及周末计划分割逻辑 #1
@@ -63,6 +63,8 @@ public class LessonPlansServiceImpl implements LessonPlansService {
|
|||||||
GradeUnitDO gradeUnitDO = gradeUnitDOMapper.selectByUnitId(unitId);
|
GradeUnitDO gradeUnitDO = gradeUnitDOMapper.selectByUnitId(unitId);
|
||||||
GradeDO gradeDO = gradeDOMapper.selectById(gradeUnitDO.getGradeId());
|
GradeDO gradeDO = gradeDOMapper.selectById(gradeUnitDO.getGradeId());
|
||||||
|
|
||||||
|
List<VocabularyBankDO> totalWords = new ArrayList<>();
|
||||||
|
|
||||||
// 补差词汇所用词汇的
|
// 补差词汇所用词汇的
|
||||||
List<VocabularyBankDO> vocabularyBankListStudentNotMaster = getVocabListRandom(vocabularyBankDOMapper
|
List<VocabularyBankDO> vocabularyBankListStudentNotMaster = getVocabListRandom(vocabularyBankDOMapper
|
||||||
.selectVocabularyBankListStudentNotMaster(gradeUnitDO.getGradeId(), studentId), 50);
|
.selectVocabularyBankListStudentNotMaster(gradeUnitDO.getGradeId(), studentId), 50);
|
||||||
@@ -85,6 +87,10 @@ public class LessonPlansServiceImpl implements LessonPlansService {
|
|||||||
List<VocabularyBankDO> gapVocabList = vocabularyBankListStudentNotMaster.subList(i * countGap, Math.min(i * countGap + countGap, gapSize));
|
List<VocabularyBankDO> gapVocabList = vocabularyBankListStudentNotMaster.subList(i * countGap, Math.min(i * countGap + countGap, gapSize));
|
||||||
weeksSync.add(syncVocabList);
|
weeksSync.add(syncVocabList);
|
||||||
weeksGap.add(gapVocabList);
|
weeksGap.add(gapVocabList);
|
||||||
|
|
||||||
|
totalWords.addAll(syncVocabList);
|
||||||
|
totalWords.addAll(gapVocabList);
|
||||||
|
|
||||||
List<VocabularyBankDO> reviewVocabList = new ArrayList<>();
|
List<VocabularyBankDO> reviewVocabList = new ArrayList<>();
|
||||||
List<VocabularyBankDO> checkList = new ArrayList<>();
|
List<VocabularyBankDO> checkList = new ArrayList<>();
|
||||||
// 艾宾浩斯遗忘曲线
|
// 艾宾浩斯遗忘曲线
|
||||||
@@ -149,9 +155,9 @@ public class LessonPlansServiceImpl implements LessonPlansService {
|
|||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
int syncWeekender = syncSize / 2;
|
int syncWeekendSize = totalWords.size() / 2;
|
||||||
for (int i = 0; i < 2; i++) {
|
for (int i = 0; i < 2; i++) {
|
||||||
List<VocabularyBankDO> checkList = vocabularyBankDOS.subList(i * syncWeekender, Math.min((i + 1) * syncWeekender, syncSize));
|
List<VocabularyBankDO> checkList = totalWords.subList(i * syncWeekendSize, Math.min((i + 1) * syncWeekendSize, syncWeekendSize));
|
||||||
Map<String, Object> map = generateWeekendPlans(checkList, i + 6, gradeDO, unitDO, studentId);
|
Map<String, Object> map = generateWeekendPlans(checkList, i + 6, gradeDO, unitDO, studentId);
|
||||||
|
|
||||||
LessonPlansDO lessonPlansDO = LessonPlansDO.builder()
|
LessonPlansDO lessonPlansDO = LessonPlansDO.builder()
|
||||||
|
|||||||
Reference in New Issue
Block a user