From 757bc2cf05afc7e78ade71bf3a56c034d10d157f Mon Sep 17 00:00:00 2001 From: luogw <3132758203@qq.com> Date: Mon, 20 Jul 2026 17:58:12 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SubmitPaperDomainServiceImpl.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/project/exam/domain/service/impl/SubmitPaperDomainServiceImpl.java b/src/main/java/com/project/exam/domain/service/impl/SubmitPaperDomainServiceImpl.java index 94587c1..cd678a4 100644 --- a/src/main/java/com/project/exam/domain/service/impl/SubmitPaperDomainServiceImpl.java +++ b/src/main/java/com/project/exam/domain/service/impl/SubmitPaperDomainServiceImpl.java @@ -109,10 +109,15 @@ public class SubmitPaperDomainServiceImpl implements SubmitPaperDomainService { } } - // 汇总总分:客观题 + 简答题 - finalScore = scoringContext.getTotalScore(); - // 四舍五入处理(不能超过100分) - finalScore = new BigDecimal(finalScore).setScale(2, RoundingMode.HALF_UP).min(new BigDecimal("100")).doubleValue(); + // 全部答对直接给100分(无简答题且客观题全对) + if (!hasShortAnswer && scoringContext.getRightCount() == scoringContext.getObjectiveTotal()) { + finalScore = 100.0; + } else { + // 汇总总分:客观题 + 简答题 + finalScore = scoringContext.getTotalScore(); + // 四舍五入处理(不能超过100分) + finalScore = new BigDecimal(finalScore).setScale(2, RoundingMode.HALF_UP).min(new BigDecimal("100")).doubleValue(); + } boolean isPassed = (finalScore >= task.getPassScore()); record.setScore(finalScore); record.setPass(isPassed);