|
@@ -6,16 +6,10 @@ import com.qmth.themis.business.cache.bean.ExamActivityCacheBean;
|
|
|
import com.qmth.themis.business.cache.bean.ExamCacheBean;
|
|
|
import com.qmth.themis.business.cache.bean.ExamCourseCacheBean;
|
|
|
import com.qmth.themis.business.cache.bean.ExamStudentCacheBean;
|
|
|
-import com.qmth.themis.business.enums.EntryAuthenticationPolicyEnum;
|
|
|
import com.qmth.themis.business.enums.ExamModeEnum;
|
|
|
-import com.qmth.themis.business.enums.HardwareTestEnum;
|
|
|
-import com.qmth.themis.business.enums.MonitorVideoSourceEnum;
|
|
|
import io.swagger.annotations.ApiModelProperty;
|
|
|
|
|
|
import java.io.Serializable;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
|
|
|
/**
|
|
@@ -31,9 +25,6 @@ public class TEExamActivityWaitDto implements Serializable {
|
|
|
@ApiModelProperty(name = "考试场次id")
|
|
|
private Long id;//考试id
|
|
|
|
|
|
-// @ApiModelProperty(name = "考试场次代码")
|
|
|
-// private String code;//考试场次代码
|
|
|
-
|
|
|
@JsonSerialize(using = ToStringSerializer.class)
|
|
|
@ApiModelProperty(name = "考生id")
|
|
|
private Long examStudentId;//考生id
|
|
@@ -56,87 +47,18 @@ public class TEExamActivityWaitDto implements Serializable {
|
|
|
@ApiModelProperty(name = "强制交卷时间")
|
|
|
private Long maxFinishTime;
|
|
|
|
|
|
-// @ApiModelProperty(name = "监控源")
|
|
|
-// private String monitorVideoSourceStr;
|
|
|
-//
|
|
|
-// @ApiModelProperty(name = "监控源集合")
|
|
|
-// private List<String> monitorVideoSource;
|
|
|
-
|
|
|
-// @ApiModelProperty(name = "允许开考开放时长,相当于迟到时间")
|
|
|
-// private Integer openingSeconds;//允许开考开放时长(分钟),相当于迟到时间
|
|
|
-//
|
|
|
-// @ApiModelProperty(name = "允许开考开放时长,相当于迟到时间")
|
|
|
-// private Integer activityOpeningSeconds;//允许开考开放时长(分钟),相当于迟到时间
|
|
|
-
|
|
|
-// @ApiModelProperty(name = "提前多长时间开始候考")
|
|
|
-// private Integer prepareSeconds;//提前多长时间开始候考(分钟)
|
|
|
-//
|
|
|
-// @ApiModelProperty(name = "提前多长时间开始候考")
|
|
|
-// private Integer activityPrepareSeconds;//提前多长时间开始候考(分钟)
|
|
|
-
|
|
|
@ApiModelProperty(name = "最短考试时长,相当于考试冻结时间")
|
|
|
private Integer minDurationSeconds;//最短考试时长,相当于考试冻结时间(分钟)
|
|
|
|
|
|
@ApiModelProperty(name = "最大考试时长")
|
|
|
private Integer maxDurationSeconds;//最大考试时长
|
|
|
|
|
|
-// @ApiModelProperty(name = "最大考试时长")
|
|
|
-// private Integer activityMaxDurationSeconds;//最大考试时长
|
|
|
-
|
|
|
-// @ApiModelProperty(name = "允许考试次数")
|
|
|
-// private Integer examCount;//允许考试次数
|
|
|
-
|
|
|
-// @ApiModelProperty(name = "是否在结束时间集中强制收卷,0:不强制,1:强制")
|
|
|
-// private Integer forceFinish;//是否在结束时间集中强制收卷,0:不强制,1:强制
|
|
|
-
|
|
|
-// @ApiModelProperty(name = "开考身份验证策略,off:关闭,face_verify_optional:非强制人脸验证,face_verify_force:强制人脸验证,liveness_verify:活体验证")
|
|
|
-// private String entryAuthenticationPolicy;//开考身份验证策略,off:关闭,face_verify_optional:非强制人脸验证,face_verify_force:强制人脸验证,liveness_verify:活体验证
|
|
|
-
|
|
|
-// @ApiModelProperty(name = "考试过程中人脸检测是否开启,0:不开启,1:开启")
|
|
|
-// private Integer inProcessFaceVerify;//考试过程中人脸检测是否开启,0:不开启,1:开启
|
|
|
-//
|
|
|
-// @ApiModelProperty(name = "考试过程中人脸检测是否忽略陌生人 ,0:不忽略,1:忽略")
|
|
|
-// private Integer inProcessFaceStrangerIgnore;//考试过程中人脸检测是否忽略陌生人 ,0:不忽略,1:忽略
|
|
|
-//
|
|
|
-// @ApiModelProperty(name = "考试过程中是否启用活体检测 ,0:不启用,1:启用")
|
|
|
-// private Integer inProcessLivenessVerify;//考试过程中是否启用活体检测 ,0:不启用,1:启用
|
|
|
-//
|
|
|
-// @ApiModelProperty(value = "考试过程中是否启用真实性检测,0:不启用,1:启用")
|
|
|
-// private Integer inProcessRealnessVerify;
|
|
|
-//
|
|
|
-// @ApiModelProperty(name = "考试过程中活体检测间隔时间")
|
|
|
-// private String inProcessLivenessFixedRangeStr;
|
|
|
-//
|
|
|
-// @ApiModelProperty(name = "考试过程中活体检测间隔时间集合")
|
|
|
-// private List<Integer> inProcessLivenessFixedRange;//考试过程中活体检测间隔时间
|
|
|
-//
|
|
|
-// @ApiModelProperty(name = "考试过程中活体检测结果判定规则,any:任意一次通过,all:全部都要通过,more:通过次数大于失败次数")
|
|
|
-// private String inProcessLivenessJudgePolicy;//考试过程中活体检测结果判定规则,any:任意一次通过,all:全部都要通过,more:通过次数大于失败次数
|
|
|
-//
|
|
|
-// @ApiModelProperty(name = "是否允许使用摄像头拍照答题,0:不允许,1:允许")
|
|
|
-// private Integer cameraPhotoUpload;//是否允许使用摄像头拍照答题,0:不允许,1:允许
|
|
|
-//
|
|
|
-// @ApiModelProperty(name = "考场开始时间")
|
|
|
-// private Long startTime;//考场开始时间
|
|
|
-//
|
|
|
-// @ApiModelProperty(name = "考场结束时间")
|
|
|
-// private Long finishTime;//考场结束时间
|
|
|
-
|
|
|
@ApiModelProperty(name = "剩余考试次数")
|
|
|
private Integer leftExamCount;//剩余考试次数
|
|
|
|
|
|
-// @ApiModelProperty(name = "是否允许使用移动端拍照答题,0:不开启,1:开启")
|
|
|
-// private Integer mobilePhotoUpload;//是否允许使用移动端拍照答题,0:不开启,1:开启
|
|
|
-//
|
|
|
-// @ApiModelProperty(name = "客户端监控是否启用音频与麦克风")
|
|
|
-// private Boolean monitorAudioEnable = false;//客户端监控是否启用音频与麦克风
|
|
|
-//
|
|
|
@JsonSerialize(using = ToStringSerializer.class)
|
|
|
@ApiModelProperty(name = "考试id")
|
|
|
private Long examId;//考试id
|
|
|
-//
|
|
|
-// @ApiModelProperty(name = "硬件检测集合")
|
|
|
-// private List<String> hardwareTest;//硬件检测
|
|
|
|
|
|
public TEExamActivityWaitDto() {
|
|
|
|
|
@@ -145,7 +67,6 @@ public class TEExamActivityWaitDto implements Serializable {
|
|
|
public TEExamActivityWaitDto(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.code = examActivityCacheBean.getCode();
|
|
|
this.examStudentId = examStudentId;
|
|
|
this.courseCode = examStudentCacheBean.getCourseCode();
|
|
|
this.courseName = examStudentCacheBean.getCourseName();
|
|
@@ -169,70 +90,11 @@ public class TEExamActivityWaitDto implements Serializable {
|
|
|
} else {
|
|
|
this.maxFinishTime = Objects.nonNull(endTime) ? endTime : examActivityCacheBean.getFinishTime();
|
|
|
}
|
|
|
-// this.cameraPhotoUpload = ec.getCameraPhotoUpload();
|
|
|
-// this.entryAuthenticationPolicy = ec.getEntryAuthenticationPolicy().name();
|
|
|
-// if (Objects.nonNull(ec.getMonitorVideoSource()) && !Objects.equals(ec.getMonitorVideoSource().toString().trim().replaceAll(" ", ""), "")) {
|
|
|
-// this.setMonitorVideoSource(Arrays.asList(ec.getMonitorVideoSource().trim().toUpperCase().split(",")));
|
|
|
-// //加入monitorAudioEnable逻辑
|
|
|
-// if (ec.getMonitorVideoSource().toUpperCase().contains(MonitorVideoSourceEnum.CLIENT_SCREEN.name()) || ec.getMonitorVideoSource().toUpperCase().contains(MonitorVideoSourceEnum.CLIENT_CAMERA.name())) {
|
|
|
-// this.monitorAudioEnable = true;
|
|
|
-// }
|
|
|
-// //加入hardwareTest逻辑
|
|
|
-// if (ec.getMonitorVideoSource().toUpperCase().contains(MonitorVideoSourceEnum.CLIENT_CAMERA.name()) || (Objects.nonNull(this.getEntryAuthenticationPolicy()) && (Objects.equals(this.getEntryAuthenticationPolicy(), EntryAuthenticationPolicyEnum.LIVENESS_VERIFY.name()) || Objects.equals(this.getEntryAuthenticationPolicy(), EntryAuthenticationPolicyEnum.FACE_VERIFY_FORCE.name()))) || (Objects.nonNull(this.getCameraPhotoUpload()) && this.getCameraPhotoUpload() == 1)) {
|
|
|
-// if (Objects.isNull(this.hardwareTest)) {
|
|
|
-// this.hardwareTest = new ArrayList<>();
|
|
|
-// }
|
|
|
-// this.hardwareTest.add(HardwareTestEnum.CAMERA.name());
|
|
|
-// //取course缓存
|
|
|
-// if (Objects.nonNull(examCourseCacheBean) && Objects.nonNull(examCourseCacheBean.getHasAudio()) && examCourseCacheBean.getHasAudio() == 1) {
|
|
|
-// this.hardwareTest.add(HardwareTestEnum.AUDIOPLAY.name());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-// this.setMonitorVideoSource(null);
|
|
|
-// }
|
|
|
-// this.openingSeconds = Objects.nonNull(openingSeconds) ? openingSeconds : ec.getOpeningSeconds();
|
|
|
-// this.activityOpeningSeconds = openingSeconds;
|
|
|
-// this.prepareSeconds = Objects.nonNull(examActivityCacheBean.getPrepareSeconds()) ? examActivityCacheBean.getPrepareSeconds() : ec.getPrepareSeconds();
|
|
|
-// this.activityPrepareSeconds = examActivityCacheBean.getPrepareSeconds();
|
|
|
this.minDurationSeconds = minDurationSeconds;
|
|
|
this.maxDurationSeconds = Objects.nonNull(maxDurationSeconds) ? maxDurationSeconds : ec.getMaxDurationSeconds();
|
|
|
-// this.activityMaxDurationSeconds = maxDurationSeconds;
|
|
|
-// this.examCount = ec.getExamCount();
|
|
|
-// this.forceFinish = forceFinish;
|
|
|
-// this.inProcessFaceVerify = ec.getInProcessFaceVerify();
|
|
|
-// this.inProcessFaceStrangerIgnore = ec.getInProcessFaceStrangerIgnore();
|
|
|
-// this.inProcessLivenessVerify = ec.getInProcessLivenessVerify();
|
|
|
-// this.inProcessRealnessVerify = ec.getInProcessRealnessVerify();
|
|
|
-// if (Objects.nonNull(ec.getInProcessLivenessFixedRange())) {
|
|
|
-// String[] longs = ec.getInProcessLivenessFixedRange().trim().split(",");
|
|
|
-// List inProcessLivenessFixedRange = new ArrayList();
|
|
|
-// for (int i = 0; i < longs.length; i++) {
|
|
|
-// Integer integer = Integer.valueOf(longs[i].trim());
|
|
|
-// inProcessLivenessFixedRange.add(integer);
|
|
|
-// }
|
|
|
-// if (Objects.equals(inProcessLivenessFixedRange.toString().trim().replaceAll(" ", ""), "")) {
|
|
|
-// this.setInProcessLivenessFixedRange(null);
|
|
|
-// } else {
|
|
|
-// this.setInProcessLivenessFixedRange(inProcessLivenessFixedRange);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// this.inProcessLivenessJudgePolicy = ec.getInProcessLivenessJudgePolicy().name();
|
|
|
-// this.startTime = startTime;
|
|
|
-// this.finishTime = endTime;
|
|
|
this.leftExamCount = (ec.getExamCount().intValue() - examStudentCacheBean.getAlreadyExamCount().intValue()) < 0 ? 0 : ec.getExamCount().intValue() - examStudentCacheBean.getAlreadyExamCount().intValue();
|
|
|
-// this.mobilePhotoUpload = ec.getMobilePhotoUpload();
|
|
|
-// this.examId = ec.getId();
|
|
|
}
|
|
|
|
|
|
-// public Integer getInProcessRealnessVerify() {
|
|
|
-// return inProcessRealnessVerify;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setInProcessRealnessVerify(Integer inProcessRealnessVerify) {
|
|
|
-// this.inProcessRealnessVerify = inProcessRealnessVerify;
|
|
|
-// }
|
|
|
-//
|
|
|
public Long getExamId() {
|
|
|
return examId;
|
|
|
}
|
|
@@ -240,30 +102,6 @@ public class TEExamActivityWaitDto implements Serializable {
|
|
|
public void setExamId(Long examId) {
|
|
|
this.examId = examId;
|
|
|
}
|
|
|
-//
|
|
|
-// public Boolean getMonitorAudioEnable() {
|
|
|
-// return monitorAudioEnable;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setMonitorAudioEnable(Boolean monitorAudioEnable) {
|
|
|
-// this.monitorAudioEnable = monitorAudioEnable;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public List<String> getHardwareTest() {
|
|
|
-// return hardwareTest;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setHardwareTest(List<String> hardwareTest) {
|
|
|
-// this.hardwareTest = hardwareTest;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public Integer getMobilePhotoUpload() {
|
|
|
-// return mobilePhotoUpload;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setMobilePhotoUpload(Integer mobilePhotoUpload) {
|
|
|
-// this.mobilePhotoUpload = mobilePhotoUpload;
|
|
|
-// }
|
|
|
|
|
|
public Integer getLeftExamCount() {
|
|
|
return leftExamCount;
|
|
@@ -273,22 +111,6 @@ public class TEExamActivityWaitDto implements Serializable {
|
|
|
this.leftExamCount = leftExamCount;
|
|
|
}
|
|
|
|
|
|
-// public String getMonitorVideoSourceStr() {
|
|
|
-// return monitorVideoSourceStr;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setMonitorVideoSourceStr(String monitorVideoSourceStr) {
|
|
|
-// this.monitorVideoSourceStr = monitorVideoSourceStr;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public String getInProcessLivenessFixedRangeStr() {
|
|
|
-// return inProcessLivenessFixedRangeStr;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setInProcessLivenessFixedRangeStr(String inProcessLivenessFixedRangeStr) {
|
|
|
-// this.inProcessLivenessFixedRangeStr = inProcessLivenessFixedRangeStr;
|
|
|
-// }
|
|
|
-
|
|
|
public Long getPrepareTime() {
|
|
|
return prepareTime;
|
|
|
}
|
|
@@ -321,14 +143,6 @@ public class TEExamActivityWaitDto implements Serializable {
|
|
|
this.maxFinishTime = maxFinishTime;
|
|
|
}
|
|
|
|
|
|
-// public List<String> getMonitorVideoSource() {
|
|
|
-// return monitorVideoSource;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setMonitorVideoSource(List<String> monitorVideoSource) {
|
|
|
-// this.monitorVideoSource = monitorVideoSource;
|
|
|
-// }
|
|
|
-
|
|
|
public Long getId() {
|
|
|
return id;
|
|
|
}
|
|
@@ -337,14 +151,6 @@ public class TEExamActivityWaitDto implements Serializable {
|
|
|
this.id = id;
|
|
|
}
|
|
|
|
|
|
-// public String getCode() {
|
|
|
-// return code;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setCode(String code) {
|
|
|
-// this.code = code;
|
|
|
-// }
|
|
|
-
|
|
|
public Long getExamStudentId() {
|
|
|
return examStudentId;
|
|
|
}
|
|
@@ -369,38 +175,6 @@ public class TEExamActivityWaitDto implements Serializable {
|
|
|
this.courseName = courseName;
|
|
|
}
|
|
|
|
|
|
-// public Integer getOpeningSeconds() {
|
|
|
-// return openingSeconds;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setOpeningSeconds(Integer openingSeconds) {
|
|
|
-// this.openingSeconds = openingSeconds;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public Integer getActivityOpeningSeconds() {
|
|
|
-// return activityOpeningSeconds;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setActivityOpeningSeconds(Integer activityOpeningSeconds) {
|
|
|
-// this.activityOpeningSeconds = activityOpeningSeconds;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public Integer getPrepareSeconds() {
|
|
|
-// return prepareSeconds;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setPrepareSeconds(Integer prepareSeconds) {
|
|
|
-// this.prepareSeconds = prepareSeconds;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public Integer getActivityPrepareSeconds() {
|
|
|
-// return activityPrepareSeconds;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setActivityPrepareSeconds(Integer activityPrepareSeconds) {
|
|
|
-// this.activityPrepareSeconds = activityPrepareSeconds;
|
|
|
-// }
|
|
|
-
|
|
|
public Integer getMinDurationSeconds() {
|
|
|
return minDurationSeconds;
|
|
|
}
|
|
@@ -417,99 +191,20 @@ public class TEExamActivityWaitDto implements Serializable {
|
|
|
this.maxDurationSeconds = maxDurationSeconds;
|
|
|
}
|
|
|
|
|
|
-// public Integer getActivityMaxDurationSeconds() {
|
|
|
-// return activityMaxDurationSeconds;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setActivityMaxDurationSeconds(Integer activityMaxDurationSeconds) {
|
|
|
-// this.activityMaxDurationSeconds = activityMaxDurationSeconds;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setInProcessLivenessFixedRange(List<Integer> inProcessLivenessFixedRange) {
|
|
|
-// this.inProcessLivenessFixedRange = inProcessLivenessFixedRange;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public Integer getExamCount() {
|
|
|
-// return examCount;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setExamCount(Integer examCount) {
|
|
|
-// this.examCount = examCount;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public Integer getForceFinish() {
|
|
|
-// return forceFinish;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setForceFinish(Integer forceFinish) {
|
|
|
-// this.forceFinish = forceFinish;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public String getEntryAuthenticationPolicy() {
|
|
|
-// return entryAuthenticationPolicy;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setEntryAuthenticationPolicy(String entryAuthenticationPolicy) {
|
|
|
-// this.entryAuthenticationPolicy = entryAuthenticationPolicy;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public Integer getInProcessFaceVerify() {
|
|
|
-// return inProcessFaceVerify;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setInProcessFaceVerify(Integer inProcessFaceVerify) {
|
|
|
-// this.inProcessFaceVerify = inProcessFaceVerify;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public Integer getInProcessFaceStrangerIgnore() {
|
|
|
-// return inProcessFaceStrangerIgnore;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setInProcessFaceStrangerIgnore(Integer inProcessFaceStrangerIgnore) {
|
|
|
-// this.inProcessFaceStrangerIgnore = inProcessFaceStrangerIgnore;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public Integer getInProcessLivenessVerify() {
|
|
|
-// return inProcessLivenessVerify;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setInProcessLivenessVerify(Integer inProcessLivenessVerify) {
|
|
|
-// this.inProcessLivenessVerify = inProcessLivenessVerify;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public List<Integer> getInProcessLivenessFixedRange() {
|
|
|
-// return inProcessLivenessFixedRange;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public String getInProcessLivenessJudgePolicy() {
|
|
|
-// return inProcessLivenessJudgePolicy;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setInProcessLivenessJudgePolicy(String inProcessLivenessJudgePolicy) {
|
|
|
-// this.inProcessLivenessJudgePolicy = inProcessLivenessJudgePolicy;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public Integer getCameraPhotoUpload() {
|
|
|
-// return cameraPhotoUpload;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setCameraPhotoUpload(Integer cameraPhotoUpload) {
|
|
|
-// this.cameraPhotoUpload = cameraPhotoUpload;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public Long getStartTime() {
|
|
|
-// return startTime;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setStartTime(Long startTime) {
|
|
|
-// this.startTime = startTime;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public Long getFinishTime() {
|
|
|
-// return finishTime;
|
|
|
-// }
|
|
|
-//
|
|
|
-// public void setFinishTime(Long finishTime) {
|
|
|
-// this.finishTime = finishTime;
|
|
|
-// }
|
|
|
+ @Override
|
|
|
+ public boolean equals(Object o) {
|
|
|
+ if (this == o) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ if (o == null || getClass() != o.getClass()) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ TEExamActivityWaitDto that = (TEExamActivityWaitDto) o;
|
|
|
+ return id.equals(that.id) && examStudentId.equals(that.examStudentId) && courseCode.equals(that.courseCode) && courseName.equals(that.courseName) && prepareTime.equals(that.prepareTime) && minStartTime.equals(that.minStartTime) && maxStartTime.equals(that.maxStartTime) && maxFinishTime.equals(that.maxFinishTime) && minDurationSeconds.equals(that.minDurationSeconds) && maxDurationSeconds.equals(that.maxDurationSeconds) && leftExamCount.equals(that.leftExamCount) && examId.equals(that.examId);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int hashCode() {
|
|
|
+ return Objects.hash(id, examStudentId, courseCode, courseName, prepareTime, minStartTime, maxStartTime, maxFinishTime, minDurationSeconds, maxDurationSeconds, leftExamCount, examId);
|
|
|
+ }
|
|
|
}
|