Merge pull request 'fix(lesson-plans): 修正补差词汇汇总及周末计划分割逻辑' (#1) from detached into master

Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
2025-12-31 16:55:54 +08:00

View File

@@ -63,6 +63,8 @@ public class LessonPlansServiceImpl implements LessonPlansService {
GradeUnitDO gradeUnitDO = gradeUnitDOMapper.selectByUnitId(unitId);
GradeDO gradeDO = gradeDOMapper.selectById(gradeUnitDO.getGradeId());
List<VocabularyBankDO> totalWords = new ArrayList<>();
// 补差词汇所用词汇的
List<VocabularyBankDO> vocabularyBankListStudentNotMaster = getVocabListRandom(vocabularyBankDOMapper
.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));
weeksSync.add(syncVocabList);
weeksGap.add(gapVocabList);
totalWords.addAll(syncVocabList);
totalWords.addAll(gapVocabList);
List<VocabularyBankDO> reviewVocabList = new ArrayList<>();
List<VocabularyBankDO> checkList = new ArrayList<>();
// 艾宾浩斯遗忘曲线
@@ -149,9 +155,9 @@ public class LessonPlansServiceImpl implements LessonPlansService {
try {
int syncWeekender = syncSize / 2;
int syncWeekendSize = totalWords.size() / 2;
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);
LessonPlansDO lessonPlansDO = LessonPlansDO.builder()