From 9cd43c0e748664fecb3bc788dbf4dd44d6fe6449 Mon Sep 17 00:00:00 2001 From: lbw <1192299468@qq.com> Date: Wed, 31 Dec 2025 16:53:28 +0800 Subject: [PATCH] =?UTF-8?q?fix(lesson-plans):=20=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=E8=A1=A5=E5=B7=AE=E8=AF=8D=E6=B1=87=E6=B1=87=E6=80=BB=E5=8F=8A?= =?UTF-8?q?=E5=91=A8=E6=9C=AB=E8=AE=A1=E5=88=92=E5=88=86=E5=89=B2=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增totalWords列表汇总同步词汇和补差词汇 - 修改周末计划分割逻辑,使用totalWords列表长度均分两部分 - 纠正checkList子列表截取范围,避免越界错误 - 优化学习计划数据构建过程,保证数据完整性 --- .../service/service/plan/LessonPlansServiceImpl.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/plan/LessonPlansServiceImpl.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/plan/LessonPlansServiceImpl.java index ae10fc9..11fc07d 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/plan/LessonPlansServiceImpl.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/plan/LessonPlansServiceImpl.java @@ -63,6 +63,8 @@ public class LessonPlansServiceImpl implements LessonPlansService { GradeUnitDO gradeUnitDO = gradeUnitDOMapper.selectByUnitId(unitId); GradeDO gradeDO = gradeDOMapper.selectById(gradeUnitDO.getGradeId()); + List totalWords = new ArrayList<>(); + // 补差词汇所用词汇的 List vocabularyBankListStudentNotMaster = getVocabListRandom(vocabularyBankDOMapper .selectVocabularyBankListStudentNotMaster(gradeUnitDO.getGradeId(), studentId), 50); @@ -85,6 +87,10 @@ public class LessonPlansServiceImpl implements LessonPlansService { List gapVocabList = vocabularyBankListStudentNotMaster.subList(i * countGap, Math.min(i * countGap + countGap, gapSize)); weeksSync.add(syncVocabList); weeksGap.add(gapVocabList); + + totalWords.addAll(syncVocabList); + totalWords.addAll(gapVocabList); + List reviewVocabList = new ArrayList<>(); List 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 checkList = vocabularyBankDOS.subList(i * syncWeekender, Math.min((i + 1) * syncWeekender, syncSize)); + List checkList = totalWords.subList(i * syncWeekendSize, Math.min((i + 1) * syncWeekendSize, syncWeekendSize)); Map map = generateWeekendPlans(checkList, i + 6, gradeDO, unitDO, studentId); LessonPlansDO lessonPlansDO = LessonPlansDO.builder()