Explorar el Código

返回对象 StartAnswerInfo 中补充一个字段 usedExamSeconds 考试已用时长(秒)

xiatian hace 2 años
padre
commit
a8af8110df

+ 15 - 0
examcloud-core-oe-student-service/src/main/java/cn/com/qmth/examcloud/core/oe/student/bean/StartAnswerInfo.java

@@ -18,6 +18,11 @@ public class StartAnswerInfo implements JsonSerializable {
      * 考试时长
      */
     private Long duration;
+    
+    /**
+     * 作答时长(秒)
+     */
+    private Long usedExamSeconds;
 
     public Long getExamRecordDataId() {
         return examRecordDataId;
@@ -34,4 +39,14 @@ public class StartAnswerInfo implements JsonSerializable {
     public void setDuration(Long duration) {
         this.duration = duration;
     }
+
+	public Long getUsedExamSeconds() {
+		return usedExamSeconds;
+	}
+
+	public void setUsedExamSeconds(Long usedExamSeconds) {
+		this.usedExamSeconds = usedExamSeconds;
+	}
+    
 }
+

+ 4 - 5
examcloud-core-oe-student-service/src/main/java/cn/com/qmth/examcloud/core/oe/student/service/impl/ExamControlServiceImpl.java

@@ -49,7 +49,6 @@ import cn.com.qmth.examcloud.question.commons.core.paper.DefaultQuestionUnitWrap
 import cn.com.qmth.examcloud.question.commons.core.question.QuestionType;
 import cn.com.qmth.examcloud.reports.commons.bean.OnlineExamStudentReport;
 import cn.com.qmth.examcloud.reports.commons.util.ReportsUtil;
-import cn.com.qmth.examcloud.starters.crypto.CryptoProperties;
 import cn.com.qmth.examcloud.starters.crypto.common.CryptoConstant;
 import cn.com.qmth.examcloud.starters.crypto.common.CryptoGroup;
 import cn.com.qmth.examcloud.starters.crypto.common.CryptoHelper;
@@ -159,9 +158,6 @@ public class ExamControlServiceImpl implements ExamControlService {
     @Autowired
     private CryptoFactory cryptoFactory;
 
-    @Autowired
-    private CryptoProperties cryptoProperties;
-
     private static final String SEPARATOR = "/";
 
     private static final String UNDERLINE = "_";
@@ -415,6 +411,7 @@ public class ExamControlServiceImpl implements ExamControlService {
             if (null != examRecordData.getStartTime()) {
                 examingSession = examingSessionService.getExamingSession(examRecordData.getStudentId());
                 resultInfo.setDuration(examingSession.getExamDuration());//直接返回考试会话中的考试时长
+                resultInfo.setUsedExamSeconds(calcUsedExamSeconds(examRecordData.getStudentId()));
                 return resultInfo;
             }
 
@@ -430,7 +427,7 @@ public class ExamControlServiceImpl implements ExamControlService {
             actualExamTotalMilliSeconds = actualExamTotalMilliSeconds < 0 ? 0 : actualExamTotalMilliSeconds;
             examingSession.setExamDuration(actualExamTotalMilliSeconds);
             examingSessionService.saveExamingSession(examRecordData.getStudentId(), examingSession);
-
+            resultInfo.setUsedExamSeconds(calcUsedExamSeconds(examRecordData.getStudentId()));
             resultInfo.setDuration(actualExamTotalMilliSeconds);
             return resultInfo;
         }
@@ -455,6 +452,7 @@ public class ExamControlServiceImpl implements ExamControlService {
             //如果断点续考后,已经调用过答题接口,则不再处理
             if (null != latestExamContinuedRecord.getStartTime()) {
                 resultInfo.setDuration(examingSession.getExamDuration());
+                resultInfo.setUsedExamSeconds(calcUsedExamSeconds(examRecordData.getStudentId()));
                 return resultInfo;
             }
 
@@ -463,6 +461,7 @@ public class ExamControlServiceImpl implements ExamControlService {
             examContinuedRecordRepo.save(latestExamContinuedRecord);
 
             resultInfo.setDuration(examingSession.getExamDuration());
+            resultInfo.setUsedExamSeconds(calcUsedExamSeconds(examRecordData.getStudentId()));
             return resultInfo;
         }
     }