wangliang 4 vuotta sitten
vanhempi
commit
acfee6a758

+ 7 - 5
themis-backend/src/main/java/com/qmth/themis/backend/api/TEExamController.java

@@ -33,6 +33,8 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.stream.Collectors;
@@ -67,7 +69,7 @@ public class TEExamController {
 
     @Resource
     RedisUtil redisUtil;
-    
+
     @Resource
     TBTaskHistoryService taskHistoryService;
 
@@ -139,7 +141,7 @@ public class TEExamController {
                     teExamActivityList.forEach(s -> {
                         s.setPrepareSeconds(finalTeExam.getPrepareSeconds());
                         s.setMaxDurationSeconds(finalTeExam.getMaxDurationSeconds());
-                        s.setOpeningSeconds(finalTeExam.getOpeningSeconds());
+                        s.setOpeningSeconds((int) ((finalTeExam.getEndTime().getTime() - finalTeExam.getStartTime().getTime()) / 1000));
                         s.setStartTime(finalTeExam.getStartTime());
                         s.setFinishTime(finalTeExam.getEndTime());
                         s.setUpdateId(tbUser.getId());
@@ -156,7 +158,7 @@ public class TEExamController {
                         teExamActivityService.updateExamActivityCacheBean(s.getId());
                     });
                 } else {
-                    TEExamActivity teExamActivity = new TEExamActivity(teExam.getId(), teExam.getPrepareSeconds(), teExam.getMaxDurationSeconds(), teExam.getOpeningSeconds(), teExam.getStartTime(), teExam.getEndTime(), tbUser.getId());
+                    TEExamActivity teExamActivity = new TEExamActivity(teExam.getId(), teExam.getPrepareSeconds(), teExam.getMaxDurationSeconds(), (int) ((teExam.getEndTime().getTime() - teExam.getStartTime().getTime()) / 1000), teExam.getStartTime(), teExam.getEndTime(), tbUser.getId());
                     teExamActivity.setCode(String.valueOf(redisUtil.getRedisActivityCodeSequence(teExam.getId())));
                     activityCode = teExamActivity.getCode();
                     teExamActivity.setEnable(1);
@@ -444,13 +446,13 @@ public class TEExamController {
         ExamPropCountDto examPropCountDto = new ExamPropCountDto(examId, allCount, prepareCount.get(), examCount.get(), clientWebsocketStatusCount.get(), monitorStatusSourceCount.get(), alreadyComplete.get(), notComplete, completionRate);
         return ResultUtil.ok(examPropCountDto);
     }
-    
+
     @ApiOperation(value = "考试重新算分")
     @RequestMapping(value = "/score/calculate", method = RequestMethod.POST)
     @Transactional
     @ApiResponses({@ApiResponse(code = 200, message = "{\"taskId\":0}", response = Result.class)})
     public Result scoreCalculate(@ApiParam(value = "批次ID", required = true) @RequestParam Long examId) {
-    	//先查询考试相关信息
+        //先查询考试相关信息
         TEExam teExam = teExamService.getById(examId);
         if (Objects.isNull(teExam)) {
             throw new BusinessException(ExceptionResultEnum.EXAM_NO);