fix(lesson-plans): 修正补差词汇汇总及周末计划分割逻辑 #1

Merged
LeiBoWen merged 1 commits from detached into master 2025-12-31 16:55:54 +08:00
Showing only changes of commit 9cd43c0e74 - Show all commits

View File

@@ -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()