From 7b681847879b2993c07e6f7ccdf4eb59e8d329d3 Mon Sep 17 00:00:00 2001 From: lbw <1192299468@qq.com> Date: Thu, 25 Dec 2025 17:07:12 +0800 Subject: [PATCH] =?UTF-8?q?fix(judge):=20=E4=BF=AE=E6=AD=A3=E5=88=86?= =?UTF-8?q?=E7=BA=A7=E5=8D=87=E7=BA=A7=E4=B8=8E=E9=99=8D=E7=BA=A7=E8=BE=B9?= =?UTF-8?q?=E7=95=8C=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 升级时确保等级至少为8级 - 降级时确保等级不低于1级 - 修正多处比较操作,避免越界导致异常 - 优化提示信息中的等级显示,保证一致性 - 增强系统分级判定的鲁棒性 --- .../service/judge/ExamWordsJudgeServiceImpl.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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, "基础薄弱,建议暂停当前进度,从低年级核心高频词重新开始。" );