|
@@ -1,6 +1,5 @@
|
|
package com.qmth.themis.business.dto.response;
|
|
package com.qmth.themis.business.dto.response;
|
|
|
|
|
|
-import com.baomidou.mybatisplus.annotation.TableField;
|
|
|
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
|
import com.qmth.themis.business.cache.bean.ExamActivityCacheBean;
|
|
import com.qmth.themis.business.cache.bean.ExamActivityCacheBean;
|
|
@@ -14,7 +13,10 @@ import com.qmth.themis.business.enums.MonitorVideoSourceEnum;
|
|
import io.swagger.annotations.ApiModelProperty;
|
|
import io.swagger.annotations.ApiModelProperty;
|
|
|
|
|
|
import java.io.Serializable;
|
|
import java.io.Serializable;
|
|
-import java.util.*;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
+import java.util.Arrays;
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.Objects;
|
|
|
|
|
|
/**
|
|
/**
|
|
* @Description: 考试场次dto
|
|
* @Description: 考试场次dto
|
|
@@ -140,31 +142,32 @@ public class TEExamActivityDto implements Serializable {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- public TEExamActivityDto(ExamCacheBean ec, ExamActivityCacheBean examActivityCacheBean, ExamStudentCacheBean examStudentCacheBean, Long examStudentId, ExamCourseCacheBean examCourseCacheBean) {
|
|
|
|
|
|
+ public TEExamActivityDto(ExamCacheBean ec, ExamActivityCacheBean examActivityCacheBean, ExamStudentCacheBean examStudentCacheBean, Long examStudentId, ExamCourseCacheBean examCourseCacheBean,
|
|
|
|
+ Long startTime, Long endTime, Integer openingSeconds, Integer minDurationSeconds, Integer maxDurationSeconds, Integer forceFinish) {
|
|
this.id = examActivityCacheBean.getId();
|
|
this.id = examActivityCacheBean.getId();
|
|
this.code = examActivityCacheBean.getCode();
|
|
this.code = examActivityCacheBean.getCode();
|
|
this.examStudentId = examStudentId;
|
|
this.examStudentId = examStudentId;
|
|
this.courseCode = examStudentCacheBean.getCourseCode();
|
|
this.courseCode = examStudentCacheBean.getCourseCode();
|
|
this.courseName = examStudentCacheBean.getCourseName();
|
|
this.courseName = examStudentCacheBean.getCourseName();
|
|
if (Objects.nonNull(examActivityCacheBean.getPrepareSeconds())) {
|
|
if (Objects.nonNull(examActivityCacheBean.getPrepareSeconds())) {
|
|
- this.prepareTime = examActivityCacheBean.getStartTime() - (examActivityCacheBean.getPrepareSeconds() * 1000);
|
|
|
|
|
|
+ this.prepareTime = startTime - (examActivityCacheBean.getPrepareSeconds() * 1000);
|
|
} else if (Objects.nonNull(ec.getPrepareSeconds())) {
|
|
} else if (Objects.nonNull(ec.getPrepareSeconds())) {
|
|
- this.prepareTime = examActivityCacheBean.getStartTime() - (ec.getPrepareSeconds() * 1000);
|
|
|
|
|
|
+ this.prepareTime = startTime - (ec.getPrepareSeconds() * 1000);
|
|
}
|
|
}
|
|
- if (Objects.nonNull(examActivityCacheBean.getStartTime())) {
|
|
|
|
- this.minStartTime = examActivityCacheBean.getStartTime();
|
|
|
|
|
|
+ if (Objects.nonNull(startTime)) {
|
|
|
|
+ this.minStartTime = startTime;
|
|
} else {
|
|
} else {
|
|
this.minStartTime = ec.getStartTime();
|
|
this.minStartTime = ec.getStartTime();
|
|
}
|
|
}
|
|
- if (Objects.nonNull(examActivityCacheBean.getOpeningSeconds())) {
|
|
|
|
- this.maxStartTime = examActivityCacheBean.getStartTime() + (examActivityCacheBean.getOpeningSeconds() * 1000);
|
|
|
|
|
|
+ if (Objects.nonNull(openingSeconds)) {
|
|
|
|
+ this.maxStartTime = startTime + (openingSeconds * 1000);
|
|
} else if (Objects.nonNull(ec.getMaxDurationSeconds())) {
|
|
} else if (Objects.nonNull(ec.getMaxDurationSeconds())) {
|
|
- this.maxStartTime = examActivityCacheBean.getStartTime() + (ec.getOpeningSeconds() * 1000);
|
|
|
|
|
|
+ this.maxStartTime = startTime + (ec.getOpeningSeconds() * 1000);
|
|
}
|
|
}
|
|
- if (Objects.equals(ec.getMode(), ExamModeEnum.ANYTIME) || (Objects.equals(ec.getMode(), ExamModeEnum.TOGETHER) && ec.getForceFinish() == 0)) {
|
|
|
|
|
|
+ if (Objects.equals(ec.getMode(), ExamModeEnum.ANYTIME) || (Objects.equals(ec.getMode(), ExamModeEnum.TOGETHER) && forceFinish == 0)) {
|
|
this.maxFinishTime = null;
|
|
this.maxFinishTime = null;
|
|
} else {
|
|
} else {
|
|
- this.maxFinishTime = Objects.nonNull(examActivityCacheBean.getFinishTime()) ? examActivityCacheBean.getFinishTime() : ec.getEndTime();
|
|
|
|
|
|
+ this.maxFinishTime = Objects.nonNull(endTime) ? endTime : ec.getEndTime();
|
|
}
|
|
}
|
|
this.cameraPhotoUpload = ec.getCameraPhotoUpload();
|
|
this.cameraPhotoUpload = ec.getCameraPhotoUpload();
|
|
this.entryAuthenticationPolicy = ec.getEntryAuthenticationPolicy().name();
|
|
this.entryAuthenticationPolicy = ec.getEntryAuthenticationPolicy().name();
|
|
@@ -188,15 +191,15 @@ public class TEExamActivityDto implements Serializable {
|
|
} else {
|
|
} else {
|
|
this.setMonitorVideoSource(null);
|
|
this.setMonitorVideoSource(null);
|
|
}
|
|
}
|
|
- this.openingSeconds = Objects.nonNull(examActivityCacheBean.getOpeningSeconds()) ? examActivityCacheBean.getOpeningSeconds() : ec.getOpeningSeconds();
|
|
|
|
- this.activityOpeningSeconds = examActivityCacheBean.getOpeningSeconds();
|
|
|
|
|
|
+ this.openingSeconds = Objects.nonNull(openingSeconds) ? openingSeconds : ec.getOpeningSeconds();
|
|
|
|
+ this.activityOpeningSeconds = openingSeconds;
|
|
this.prepareSeconds = Objects.nonNull(examActivityCacheBean.getPrepareSeconds()) ? examActivityCacheBean.getPrepareSeconds() : ec.getPrepareSeconds();
|
|
this.prepareSeconds = Objects.nonNull(examActivityCacheBean.getPrepareSeconds()) ? examActivityCacheBean.getPrepareSeconds() : ec.getPrepareSeconds();
|
|
this.activityPrepareSeconds = examActivityCacheBean.getPrepareSeconds();
|
|
this.activityPrepareSeconds = examActivityCacheBean.getPrepareSeconds();
|
|
- this.minDurationSeconds = ec.getMinDurationSeconds();
|
|
|
|
- this.maxDurationSeconds = Objects.nonNull(examActivityCacheBean.getMaxDurationSeconds()) ? examActivityCacheBean.getMaxDurationSeconds() : ec.getMaxDurationSeconds();
|
|
|
|
- this.activityMaxDurationSeconds = examActivityCacheBean.getMaxDurationSeconds();
|
|
|
|
|
|
+ this.minDurationSeconds = minDurationSeconds;
|
|
|
|
+ this.maxDurationSeconds = Objects.nonNull(maxDurationSeconds) ? maxDurationSeconds : ec.getMaxDurationSeconds();
|
|
|
|
+ this.activityMaxDurationSeconds = maxDurationSeconds;
|
|
this.examCount = ec.getExamCount();
|
|
this.examCount = ec.getExamCount();
|
|
- this.forceFinish = ec.getForceFinish();
|
|
|
|
|
|
+ this.forceFinish = forceFinish;
|
|
this.inProcessFaceVerify = ec.getInProcessFaceVerify();
|
|
this.inProcessFaceVerify = ec.getInProcessFaceVerify();
|
|
this.inProcessFaceStrangerIgnore = ec.getInProcessFaceStrangerIgnore();
|
|
this.inProcessFaceStrangerIgnore = ec.getInProcessFaceStrangerIgnore();
|
|
this.inProcessLivenessVerify = ec.getInProcessLivenessVerify();
|
|
this.inProcessLivenessVerify = ec.getInProcessLivenessVerify();
|
|
@@ -215,8 +218,8 @@ public class TEExamActivityDto implements Serializable {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
this.inProcessLivenessJudgePolicy = ec.getInProcessLivenessJudgePolicy().name();
|
|
this.inProcessLivenessJudgePolicy = ec.getInProcessLivenessJudgePolicy().name();
|
|
- this.startTime = examActivityCacheBean.getStartTime();
|
|
|
|
- this.finishTime = examActivityCacheBean.getFinishTime();
|
|
|
|
|
|
+ this.startTime = startTime;
|
|
|
|
+ this.finishTime = endTime;
|
|
this.leftExamCount = (ec.getExamCount().intValue() - examStudentCacheBean.getAlreadyExamCount().intValue()) < 0 ? 0 : ec.getExamCount().intValue() - examStudentCacheBean.getAlreadyExamCount().intValue();
|
|
this.leftExamCount = (ec.getExamCount().intValue() - examStudentCacheBean.getAlreadyExamCount().intValue()) < 0 ? 0 : ec.getExamCount().intValue() - examStudentCacheBean.getAlreadyExamCount().intValue();
|
|
this.mobilePhotoUpload = ec.getMobilePhotoUpload();
|
|
this.mobilePhotoUpload = ec.getMobilePhotoUpload();
|
|
this.examId = ec.getId();
|
|
this.examId = ec.getId();
|