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 5194fd3b..b107b49c 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 @@ -57,9 +57,12 @@ public class AloneExamServiceImpl implements IAloneExamService{ @Transactional public void save(AloneExamAnswer aea){ dao.save(aea); + AloneExam ae=aeDao.findOne(FieldFilters.eq("aid", aea.getAid()),FieldFilters.eq("testId", aea.getTestId())); + int currentTimes = ae.getTimes() != null ? ae.getTimes() : 0; //更新状态 aeDao.update(UpdateBuilder.from(AloneExam.class) .addUpdateField("status", AloneExam.STATUS_NORMAL) + .addUpdateField("times", currentTimes+1) .addFilter(FieldFilters.eq("aid", aea.getAid())) .addFilter(FieldFilters.eq("testId", aea.getTestId())) .addFilter(FieldFilters.eq("status",AloneExam.STATUS_NONE)) @@ -93,13 +96,10 @@ public class AloneExamServiceImpl implements IAloneExamService{ //更新状态,状态是未完成的,这里会有问题 if(scoreType!=null && scoreType==2) { - AloneExam ae=aeDao.findOne(FieldFilters.eq("aid", aea.getAid()),FieldFilters.eq("testId", aea.getTestId())); - int currentTimes = ae.getTimes() != null ? ae.getTimes() : 0; //最后一次的分数为准 aeDao.update(UpdateBuilder.from(AloneExam.class) .addUpdateField("status", aea.getStatus()) .addUpdateField("score", aea.getScore()) - .addUpdateField("times", currentTimes+1) .addFilter(FieldFilters.eq("aid", aea.getAid())) .addFilter(FieldFilters.eq("testId", aea.getTestId())) .builder()); @@ -114,8 +114,6 @@ public class AloneExamServiceImpl implements IAloneExamService{ }else { aeDao.updateMultiFieldById(ae.getId(), UpdateBuilder.create("status", aea.getStatus()),UpdateBuilder.create("score", aea.getScore())); } - int currentTimes = ae.getTimes() != null ? ae.getTimes() : 0; - aeDao.updateFieldById(ae.getId(), "times", currentTimes+1); } // else { // //这种情况汶是不存在的