diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/judge/ExamWordsJudgeServiceImpl.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/judge/ExamWordsJudgeServiceImpl.java index d75565f..9ed460c 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/judge/ExamWordsJudgeServiceImpl.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/judge/ExamWordsJudgeServiceImpl.java @@ -254,9 +254,9 @@ public class ExamWordsJudgeServiceImpl implements ExamWordsJudgeService { boolean canUpgrade = zoneB.getAccuracy() >= 0.8 && (zoneA.getTotalCount() == 0 || zoneA.getAccuracy() >= 0.6); if (canUpgrade) { return new DiagnosisResult( - anchorGrade + 1, + Math.max(anchorGrade + 1, ExamWordsConstant.GRADE_8), ActionType.UPGRADE, - "恭喜!您对" + ExamWordsConstant.getGradeName(anchorGrade) + " 的掌握非常扎实,且具备挑战" + ExamWordsConstant.getGradeName(anchorGrade + 1) + " 的潜力。系统将为您解锁更高阶词库。" + "恭喜!您对" + ExamWordsConstant.getGradeName(anchorGrade) + " 的掌握非常扎实,且具备挑战" + ExamWordsConstant.getGradeName(Math.max(anchorGrade + 1, ExamWordsConstant.GRADE_8)) + " 的潜力。系统将为您解锁更高阶词库。" ); } @@ -277,7 +277,7 @@ public class ExamWordsJudgeServiceImpl implements ExamWordsJudgeService { } else if (zoneC.getAccuracy() >= 0.6) { // Zone C 勉强及格,Zone B 不及格 -> 降一级 return new DiagnosisResult( - anchorGrade - 1, + Math.max(anchorGrade - 1, ExamWordsConstant.GRADE_1), ActionType.DOWNGRADE, "检测到" + ExamWordsConstant.getGradeName(anchorGrade) + " 学习吃力,且" + ExamWordsConstant.getGradeName(zoneC.getGradeId()) + " 存在模糊点。建议降级回溯,巩固 " + ExamWordsConstant.getGradeName(zoneC.getGradeId()) + "。" ); @@ -286,14 +286,14 @@ public class ExamWordsJudgeServiceImpl implements ExamWordsJudgeService { // 检查 Zone D if (zoneD.getTotalCount() > 0 && zoneD.getAccuracy() >= 0.6) { return new DiagnosisResult( - anchorGrade - 2, + Math.max(anchorGrade - 2, ExamWordsConstant.GRADE_1), ActionType.DOWNGRADE, "您的" + ExamWordsConstant.getGradeName(zoneC.getGradeId()) + " 和 " + ExamWordsConstant.getGradeName(anchorGrade) + " 均存在脱节。建议从 " + ExamWordsConstant.getGradeName(zoneD.getGradeId()) + " 开始系统补漏。" ); } else { // 彻底崩盘,可能需要熔断,或者定级到更低 return new DiagnosisResult( - Math.max(1, anchorGrade - 3), + Math.max(ExamWordsConstant.GRADE_1, anchorGrade - 3), ActionType.DOWNGRADE, "基础薄弱,建议暂停当前进度,从低年级核心高频词重新开始。" );