From a4f260b99a75d58062fcc4f6187af473db335635 Mon Sep 17 00:00:00 2001 From: yang <1175@qq.com> Date: Wed, 3 Jul 2024 09:01:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=90=E9=95=BF=E8=B7=AF=E5=BE=84=E5=9B=BE?= =?UTF-8?q?=EF=BC=8C=E8=80=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/AloneExamServiceImpl.java | 32 ++++++++++++++----- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/AloneExamServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/AloneExamServiceImpl.java index 8938507b..adcf918e 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/AloneExamServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/AloneExamServiceImpl.java @@ -487,16 +487,32 @@ public class AloneExamServiceImpl implements IAloneExamService{ FieldFilters.eq("testId", examScoreDto.getTestId()) ); aloneExamAnswer.setAloneId(aloneExamId); - + // 添加答卷 dao.save(aloneExamAnswer); - // 最后一次的分数为准 - aeDao.update(UpdateBuilder.from(AloneExam.class) - .addUpdateField("status", examScoreDto.getStatus()) - .addUpdateField("score", examScoreDto.getScore()) - .addFilter(FieldFilters.eq("aid", userId)) - .addFilter(FieldFilters.eq("testId", examScoreDto.getTestId())) - .builder()); + // 更新状态,状态是未完成的,这里会有问题 + if(examTest.getScoringType()!=null && examTest.getScoringType()==2) { + //最后一次的分数为准 + aeDao.update(UpdateBuilder.from(AloneExam.class) + .addUpdateField("status", examScoreDto.getStatus()) + .addUpdateField("score", examScoreDto.getScore()) + .addFilter(FieldFilters.eq("aid", userId)) + .addFilter(FieldFilters.eq("testId", examScoreDto.getTestId())) + .builder()); + }else { + //更新状态 + AloneExam ae=aeDao.findOne(FieldFilters.eq("aid", userId),FieldFilters.eq("testId", examScoreDto.getTestId())); + if(ae!=null) { + if(ae.getStatus()==AloneExam.STATUS_FINISH) { + if(ae.getScore()