Explorar el Código

检查当前考生是否跳过人脸识别

deason hace 1 año
padre
commit
0d7cd2e3df

+ 7 - 0
examcloud-core-examwork-api-provider/src/main/java/cn/com/qmth/examcloud/core/examwork/api/controller/ExamSkipFaceController.java

@@ -74,4 +74,11 @@ public class ExamSkipFaceController extends ControllerSupport {
         examSkipFaceService.settingExamSkipFace(examId, examStudentIds, enabled, user.getUserId());
     }
 
+    @PostMapping("/skip/face/check")
+    @ApiOperation(value = "检查当前考生是否跳过人脸识别")
+    public boolean check(@RequestParam Long examId,
+                         @RequestParam Long examStudentId) {
+        return examSkipFaceService.checkExamSkipFace(examId, examStudentId);
+    }
+
 }

+ 2 - 0
examcloud-core-examwork-dao/src/main/java/cn/com/qmth/examcloud/core/examwork/dao/ExamSkipFaceRepo.java

@@ -16,4 +16,6 @@ public interface ExamSkipFaceRepo extends JpaRepository<ExamSkipFaceEntity, Long
     @Transactional
     void deleteByExamIdAndExamStudentIdIn(Long examId, List<Long> examStudentIds);
 
+    int countByExamIdAndExamStudentId(Long examId, Long examStudentId);
+
 }

+ 1 - 0
examcloud-core-examwork-service/src/main/java/cn/com/qmth/examcloud/core/examwork/service/ExamSkipFaceService.java

@@ -14,5 +14,6 @@ public interface ExamSkipFaceService {
 
     void settingExamSkipFace(Long examId, Long[] examStudentIds, Boolean enabled, Long operateId);
 
+    boolean checkExamSkipFace(Long examId, Long examStudentId);
 
 }

+ 14 - 0
examcloud-core-examwork-service/src/main/java/cn/com/qmth/examcloud/core/examwork/service/impl/ExamSkipFaceServiceImpl.java

@@ -147,4 +147,18 @@ public class ExamSkipFaceServiceImpl implements ExamSkipFaceService {
         examSkipFaceRepo.deleteByExamIdAndExamStudentIdIn(examId, Arrays.asList(examStudentIds));
     }
 
+    @Override
+    public boolean checkExamSkipFace(Long examId, Long examStudentId) {
+        if (examId == null) {
+            throw new StatusException("考试ID不能为空!");
+        }
+
+        if (examStudentId == null) {
+            throw new StatusException("考生ID不能为空!");
+        }
+
+        int count = examSkipFaceRepo.countByExamIdAndExamStudentId(examId, examStudentId);
+        return count > 0;
+    }
+
 }