deason 1 gadu atpakaļ
vecāks
revīzija
399d17d599

+ 13 - 1
examcloud-core-examwork-api-provider/src/main/java/cn/com/qmth/examcloud/core/examwork/api/controller/ExamStudentController.java

@@ -10,6 +10,7 @@ import cn.com.qmth.examcloud.api.commons.security.bean.UserType;
 import cn.com.qmth.examcloud.commons.exception.StatusException;
 import cn.com.qmth.examcloud.commons.exception.StatusException;
 import cn.com.qmth.examcloud.commons.util.PathUtil;
 import cn.com.qmth.examcloud.commons.util.PathUtil;
 import cn.com.qmth.examcloud.commons.util.SqlUtil;
 import cn.com.qmth.examcloud.commons.util.SqlUtil;
+import cn.com.qmth.examcloud.commons.util.StringUtil;
 import cn.com.qmth.examcloud.core.basic.api.CourseCloudService;
 import cn.com.qmth.examcloud.core.basic.api.CourseCloudService;
 import cn.com.qmth.examcloud.core.basic.api.OrgCloudService;
 import cn.com.qmth.examcloud.core.basic.api.OrgCloudService;
 import cn.com.qmth.examcloud.core.basic.api.StudentCloudService;
 import cn.com.qmth.examcloud.core.basic.api.StudentCloudService;
@@ -36,6 +37,9 @@ import cn.com.qmth.examcloud.core.oe.admin.api.response.CheckExamIsStartedResp;
 import cn.com.qmth.examcloud.reports.commons.bean.OperateReport;
 import cn.com.qmth.examcloud.reports.commons.bean.OperateReport;
 import cn.com.qmth.examcloud.reports.commons.enums.OperateContent;
 import cn.com.qmth.examcloud.reports.commons.enums.OperateContent;
 import cn.com.qmth.examcloud.reports.commons.util.ReportsUtil;
 import cn.com.qmth.examcloud.reports.commons.util.ReportsUtil;
+import cn.com.qmth.examcloud.support.cache.CacheHelper;
+import cn.com.qmth.examcloud.support.cache.bean.ExamPropertyCacheBean;
+import cn.com.qmth.examcloud.support.enums.ExamProperties;
 import cn.com.qmth.examcloud.support.helper.IdentityNumberHelper;
 import cn.com.qmth.examcloud.support.helper.IdentityNumberHelper;
 import cn.com.qmth.examcloud.web.helpers.GlobalHelper;
 import cn.com.qmth.examcloud.web.helpers.GlobalHelper;
 import cn.com.qmth.examcloud.web.jpa.PageUtils;
 import cn.com.qmth.examcloud.web.jpa.PageUtils;
@@ -301,6 +305,12 @@ public class ExamStudentController extends ControllerSupport {
         studentMapsReq.setStudentIds(studentIds);
         studentMapsReq.setStudentIds(studentIds);
         Map<Long, StudentBean> studentMaps = studentCloudService.getStudentMaps(studentMapsReq).getStudentMaps();
         Map<Long, StudentBean> studentMaps = studentCloudService.getStudentMaps(studentMapsReq).getStudentMaps();
 
 
+        ExamPropertyCacheBean isFaceEnableProperty = CacheHelper.getExamProperty(examId, ExamProperties.IS_FACE_ENABLE.name());
+        boolean isFaceEnable = isFaceEnableProperty != null && StringUtil.isTrue(isFaceEnableProperty.getValue());
+
+        ExamPropertyCacheBean isFaceCheckProperty = CacheHelper.getExamProperty(examId, ExamProperties.IS_FACE_CHECK.name());
+        boolean isFaceCheck = isFaceCheckProperty != null && StringUtil.isTrue(isFaceCheckProperty.getValue());
+
         List<ExamStudentDomain> examStudents = new ArrayList<>();
         List<ExamStudentDomain> examStudents = new ArrayList<>();
         for (ExamStudentEntity cur : page.getContent()) {
         for (ExamStudentEntity cur : page.getContent()) {
             ExamEntity exam = examMaps.get(cur.getExamId());
             ExamEntity exam = examMaps.get(cur.getExamId());
@@ -325,7 +335,9 @@ public class ExamStudentController extends ControllerSupport {
             bean.setExamId(cur.getExamId());
             bean.setExamId(cur.getExamId());
             bean.setExamName(exam.getName());
             bean.setExamName(exam.getName());
             bean.setExamType(exam.getExamType().name());
             bean.setExamType(exam.getExamType().name());
-            bean.setLocked(exam.getExamStudentLocked() == null ? false : exam.getExamStudentLocked());
+            bean.setLocked(exam.getExamStudentLocked() != null && exam.getExamStudentLocked());
+
+            bean.setFocusFace(isFaceEnable && isFaceCheck);
 
 
             bean.setCourseId(cur.getCourseId());
             bean.setCourseId(cur.getCourseId());
             bean.setCourseCode(cur.getCourseCode());
             bean.setCourseCode(cur.getCourseCode());

+ 13 - 0
examcloud-core-examwork-api-provider/src/main/java/cn/com/qmth/examcloud/core/examwork/api/controller/bean/ExamStudentDomain.java

@@ -120,6 +120,11 @@ public class ExamStudentDomain implements JsonSerializable {
 	 */
 	 */
 	private String ext5;
 	private String ext5;
 
 
+	/**
+	 * 是否开启强制人脸验证
+	 */
+	private Boolean focusFace;
+
 	public Long getId() {
 	public Long getId() {
 		return id;
 		return id;
 	}
 	}
@@ -128,6 +133,14 @@ public class ExamStudentDomain implements JsonSerializable {
 		this.id = id;
 		this.id = id;
 	}
 	}
 
 
+	public Boolean getFocusFace() {
+		return focusFace;
+	}
+
+	public void setFocusFace(Boolean focusFace) {
+		this.focusFace = focusFace;
+	}
+
 	public Long getStudentId() {
 	public Long getStudentId() {
 		return studentId;
 		return studentId;
 	}
 	}