Prechádzať zdrojové kódy

同步考试相关数据到管理端

lideyin 5 rokov pred
rodič
commit
b577f86a4e

+ 174 - 0
examcloud-core-oe-admin-api/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/bean/ExamCaptureBean.java

@@ -11,4 +11,178 @@ import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
 public class ExamCaptureBean implements JsonSerializable {
 
     private static final long serialVersionUID = 924992581438407411L;
+
+    private Long id;
+    /**
+     * ec_oe_exam_record_data  ID
+     */
+    private Long examRecordDataId;
+    /**
+     * 文件URL
+     */
+    private String fileUrl;
+
+    private String fileName;
+
+    /**
+     * 比较是否通过
+     */
+    private Boolean isPass;
+
+    /**
+     * 人脸比较返回信息
+     */
+    private String faceCompareResult;
+
+    /**
+     * 是否有陌生人
+     * 就是摄像头拍到不止考生一人
+     */
+    private Boolean isStranger;
+    /**
+     * 百度人脸关键点坐标结果
+     */
+    private String landmark;
+    /**
+     * 百度在线活体检测结果
+     */
+    private String facelivenessResult;
+
+    /**
+     * 从进入队列到处理完成的时间
+     */
+    private Long usedTime;
+
+    /**
+     * 从开始处理到处理完成的时间
+     */
+    private Long processTime;
+
+
+    /**
+     * 是否存在虚拟摄像头
+     */
+    private Boolean hasVirtualCamera;
+
+    /**
+     * 摄像头信息
+     */
+    private String cameraInfos;
+
+    /**
+     * 其他信息
+     */
+    private String extMsg;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getExamRecordDataId() {
+        return examRecordDataId;
+    }
+
+    public void setExamRecordDataId(Long examRecordDataId) {
+        this.examRecordDataId = examRecordDataId;
+    }
+
+    public String getFileUrl() {
+        return fileUrl;
+    }
+
+    public void setFileUrl(String fileUrl) {
+        this.fileUrl = fileUrl;
+    }
+
+    public String getFileName() {
+        return fileName;
+    }
+
+    public void setFileName(String fileName) {
+        this.fileName = fileName;
+    }
+
+    public Boolean getPass() {
+        return isPass;
+    }
+
+    public void setPass(Boolean pass) {
+        isPass = pass;
+    }
+
+    public String getFaceCompareResult() {
+        return faceCompareResult;
+    }
+
+    public void setFaceCompareResult(String faceCompareResult) {
+        this.faceCompareResult = faceCompareResult;
+    }
+
+    public Boolean getStranger() {
+        return isStranger;
+    }
+
+    public void setStranger(Boolean stranger) {
+        isStranger = stranger;
+    }
+
+    public String getLandmark() {
+        return landmark;
+    }
+
+    public void setLandmark(String landmark) {
+        this.landmark = landmark;
+    }
+
+    public String getFacelivenessResult() {
+        return facelivenessResult;
+    }
+
+    public void setFacelivenessResult(String facelivenessResult) {
+        this.facelivenessResult = facelivenessResult;
+    }
+
+    public Long getUsedTime() {
+        return usedTime;
+    }
+
+    public void setUsedTime(Long usedTime) {
+        this.usedTime = usedTime;
+    }
+
+    public Long getProcessTime() {
+        return processTime;
+    }
+
+    public void setProcessTime(Long processTime) {
+        this.processTime = processTime;
+    }
+
+    public Boolean getHasVirtualCamera() {
+        return hasVirtualCamera;
+    }
+
+    public void setHasVirtualCamera(Boolean hasVirtualCamera) {
+        this.hasVirtualCamera = hasVirtualCamera;
+    }
+
+    public String getCameraInfos() {
+        return cameraInfos;
+    }
+
+    public void setCameraInfos(String cameraInfos) {
+        this.cameraInfos = cameraInfos;
+    }
+
+    public String getExtMsg() {
+        return extMsg;
+    }
+
+    public void setExtMsg(String extMsg) {
+        this.extMsg = extMsg;
+    }
 }

+ 128 - 0
examcloud-core-oe-admin-api/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/bean/ExamFaceLivenessVerifyBean.java

@@ -2,6 +2,8 @@ package cn.com.qmth.examcloud.core.oe.admin.api.bean;
 
 import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
 
+import java.util.Date;
+
 /**
  * @Description face id 活体检测结果
  * @Author lideyin
@@ -11,4 +13,130 @@ import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
 public class ExamFaceLivenessVerifyBean implements JsonSerializable {
 
     private static final long serialVersionUID = 5693138746627541284L;
+
+    /**
+     * 主键ID
+     */
+    private Long id;
+    /**
+     * 考试记录 DataID
+     */
+    private Long examRecordDataId;
+    /**
+     * 验证考试时间
+     */
+    private Date startTime;
+    /**
+     * 验证使用时间
+     */
+    private Long usedTime;
+    /**
+     * faceId返回json:notify_url返回
+     * 网页端活体检测及比对返回值说明:https://faceid.com/pages/documents/5680508
+     */
+    private String resultJson;
+    /**
+     * 验证结果
+     */
+    private String verifyResult;
+
+    /**
+     * https://api.megvii.com/faceid/liveness/v2/get_result
+     * 用于活体结果反查
+     */
+    private String bizId;
+
+    /**
+     * 发生错误
+     */
+    private Boolean isError;
+    /**
+     * 错误信息
+     */
+    private String errorMsg;
+
+    /**
+     * 当前记录操作次数
+     */
+    private Integer operateNum;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getExamRecordDataId() {
+        return examRecordDataId;
+    }
+
+    public void setExamRecordDataId(Long examRecordDataId) {
+        this.examRecordDataId = examRecordDataId;
+    }
+
+    public Date getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(Date startTime) {
+        this.startTime = startTime;
+    }
+
+    public Long getUsedTime() {
+        return usedTime;
+    }
+
+    public void setUsedTime(Long usedTime) {
+        this.usedTime = usedTime;
+    }
+
+    public String getResultJson() {
+        return resultJson;
+    }
+
+    public void setResultJson(String resultJson) {
+        this.resultJson = resultJson;
+    }
+
+    public String getVerifyResult() {
+        return verifyResult;
+    }
+
+    public void setVerifyResult(String verifyResult) {
+        this.verifyResult = verifyResult;
+    }
+
+    public String getBizId() {
+        return bizId;
+    }
+
+    public void setBizId(String bizId) {
+        this.bizId = bizId;
+    }
+
+    public Boolean getError() {
+        return isError;
+    }
+
+    public void setError(Boolean error) {
+        isError = error;
+    }
+
+    public String getErrorMsg() {
+        return errorMsg;
+    }
+
+    public void setErrorMsg(String errorMsg) {
+        this.errorMsg = errorMsg;
+    }
+
+    public Integer getOperateNum() {
+        return operateNum;
+    }
+
+    public void setOperateNum(Integer operateNum) {
+        this.operateNum = operateNum;
+    }
 }

+ 199 - 0
examcloud-core-oe-admin-api/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/bean/ExamQuestionBean.java

@@ -0,0 +1,199 @@
+package cn.com.qmth.examcloud.core.oe.admin.api.bean;
+
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+import cn.com.qmth.examcloud.question.commons.core.question.AnswerType;
+import cn.com.qmth.examcloud.question.commons.core.question.QuestionType;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description 作答试题
+ * @Author lideyin
+ * @Date 2019/12/20 17:16
+ * @Version 1.0
+ */
+public class ExamQuestionBean implements JsonSerializable {
+
+    private static final long serialVersionUID = -8355107300173184386L;
+
+    private String id;
+    /**
+     * 考试记录Data Id
+     */
+    private Long examRecordDataId;
+    /**
+     * 大题号
+     */
+    private Integer mainNumber;
+    /**
+     * 原题ID
+     */
+    private String questionId;
+    /**
+     * 顺序
+     */
+    private Integer order;
+    /**
+     * 小题分数
+     */
+    private Double questionScore;
+    /**
+     * 小题类型
+     */
+    private QuestionType questionType;
+    /**
+     * 标准答案
+     */
+    private String correctAnswer;
+    /**
+     * 考生作答
+     */
+    private String studentAnswer;
+    /**
+     * 学生小题得分
+     */
+    private Double studentScore;
+    /**
+     * 是否作答
+     */
+    private Boolean isAnswer;
+    /**
+     * 是否标记
+     */
+    private Boolean isSign;
+
+    /**
+     * 选项排序值
+     */
+    private Integer[] optionPermutation;
+
+    /**
+     * 音频播放次数
+     */
+    private String audioPlayTimes;
+    /**
+     * 题目作答类型
+     */
+    private String answerType;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public Long getExamRecordDataId() {
+        return examRecordDataId;
+    }
+
+    public void setExamRecordDataId(Long examRecordDataId) {
+        this.examRecordDataId = examRecordDataId;
+    }
+
+    public Integer getMainNumber() {
+        return mainNumber;
+    }
+
+    public void setMainNumber(Integer mainNumber) {
+        this.mainNumber = mainNumber;
+    }
+
+    public String getQuestionId() {
+        return questionId;
+    }
+
+    public void setQuestionId(String questionId) {
+        this.questionId = questionId;
+    }
+
+    public Integer getOrder() {
+        return order;
+    }
+
+    public void setOrder(Integer order) {
+        this.order = order;
+    }
+
+    public Double getQuestionScore() {
+        return questionScore;
+    }
+
+    public void setQuestionScore(Double questionScore) {
+        this.questionScore = questionScore;
+    }
+
+    public QuestionType getQuestionType() {
+        return questionType;
+    }
+
+    public void setQuestionType(QuestionType questionType) {
+        this.questionType = questionType;
+    }
+
+    public String getCorrectAnswer() {
+        return correctAnswer;
+    }
+
+    public void setCorrectAnswer(String correctAnswer) {
+        this.correctAnswer = correctAnswer;
+    }
+
+    public String getStudentAnswer() {
+        return studentAnswer;
+    }
+
+    public void setStudentAnswer(String studentAnswer) {
+        this.studentAnswer = studentAnswer;
+    }
+
+    public Double getStudentScore() {
+        return studentScore;
+    }
+
+    public void setStudentScore(Double studentScore) {
+        this.studentScore = studentScore;
+    }
+
+    public Boolean getAnswer() {
+        return isAnswer;
+    }
+
+    public void setAnswer(Boolean answer) {
+        isAnswer = answer;
+    }
+
+    public Boolean getSign() {
+        return isSign;
+    }
+
+    public void setSign(Boolean sign) {
+        isSign = sign;
+    }
+
+    public Integer[] getOptionPermutation() {
+        return optionPermutation;
+    }
+
+    public void setOptionPermutation(Integer[] optionPermutation) {
+        this.optionPermutation = optionPermutation;
+    }
+
+    public String getAudioPlayTimes() {
+        return audioPlayTimes;
+    }
+
+    public void setAudioPlayTimes(String audioPlayTimes) {
+        this.audioPlayTimes = audioPlayTimes;
+    }
+
+    public String getAnswerType() {
+        return answerType;
+    }
+
+    public void setAnswerType(String answerType) {
+        this.answerType = answerType;
+    }
+}

+ 77 - 0
examcloud-core-oe-admin-api/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/bean/ExamRecordDataBean.java

@@ -1,6 +1,7 @@
 package cn.com.qmth.examcloud.core.oe.admin.api.bean;
 
 import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+import org.springframework.data.annotation.CreatedDate;
 
 import java.util.Date;
 
@@ -168,6 +169,42 @@ public class ExamRecordDataBean implements JsonSerializable {
      */
     private Double faceLandmarkVal;
 
+    /**
+     * 总分
+     */
+    private Double totalScore;
+
+    /**
+     * 客观题得分总分
+     */
+    private Double objectiveScore;
+
+    /**
+     * 客观题答对的比率
+     * (客观题答对的题数/客观题总题数)*100  取2位小数
+     */
+    private Double objectiveAccuracy;
+
+    /**
+     * 主观题得分总分
+     */
+    private Double subjectiveScore;
+
+    /**
+     * 答题正确率
+     */
+    private Double succPercent;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 创建时间
+     */
+    private Date creationTime;
+
     public Long getId() {
         return id;
     }
@@ -479,4 +516,44 @@ public class ExamRecordDataBean implements JsonSerializable {
     public void setFaceLandmarkVal(Double faceLandmarkVal) {
         this.faceLandmarkVal = faceLandmarkVal;
     }
+
+    public Double getTotalScore() {
+        return totalScore;
+    }
+
+    public void setTotalScore(Double totalScore) {
+        this.totalScore = totalScore;
+    }
+
+    public Double getObjectiveScore() {
+        return objectiveScore;
+    }
+
+    public void setObjectiveScore(Double objectiveScore) {
+        this.objectiveScore = objectiveScore;
+    }
+
+    public Double getObjectiveAccuracy() {
+        return objectiveAccuracy;
+    }
+
+    public void setObjectiveAccuracy(Double objectiveAccuracy) {
+        this.objectiveAccuracy = objectiveAccuracy;
+    }
+
+    public Double getSubjectiveScore() {
+        return subjectiveScore;
+    }
+
+    public void setSubjectiveScore(Double subjectiveScore) {
+        this.subjectiveScore = subjectiveScore;
+    }
+
+    public Double getSuccPercent() {
+        return succPercent;
+    }
+
+    public void setSuccPercent(Double succPercent) {
+        this.succPercent = succPercent;
+    }
 }

+ 21 - 0
examcloud-core-oe-admin-api/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/bean/ExamRecordPaperStructBean.java

@@ -1,6 +1,7 @@
 package cn.com.qmth.examcloud.core.oe.admin.api.bean;
 
 import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+import cn.com.qmth.examcloud.question.commons.core.paper.DefaultPaper;
 
 /**
  * @Description 考试记录的试卷结构
@@ -11,4 +12,24 @@ import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
 public class ExamRecordPaperStructBean implements JsonSerializable {
 
     private static final long serialVersionUID = -8758969825472077923L;
+
+    private String id;
+
+    private DefaultPaper defaultPaper;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public DefaultPaper getDefaultPaper() {
+        return defaultPaper;
+    }
+
+    public void setDefaultPaper(DefaultPaper defaultPaper) {
+        this.defaultPaper = defaultPaper;
+    }
 }

+ 43 - 0
examcloud-core-oe-admin-api/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/bean/ExamRecordQuestionsBean.java

@@ -2,6 +2,9 @@ package cn.com.qmth.examcloud.core.oe.admin.api.bean;
 
 import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
 
+import java.util.Date;
+import java.util.List;
+
 /**
  * @Description 考试作答结果实体
  * @Author lideyin
@@ -11,4 +14,44 @@ import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
 public class ExamRecordQuestionsBean implements JsonSerializable {
 
     private static final long serialVersionUID = -8355107300173184386L;
+
+    private String id;
+
+    private Long examRecordDataId;
+
+    private Date creationTime;
+
+    private List<ExamQuestionBean> examQuestionBeans;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public Long getExamRecordDataId() {
+        return examRecordDataId;
+    }
+
+    public void setExamRecordDataId(Long examRecordDataId) {
+        this.examRecordDataId = examRecordDataId;
+    }
+
+    public Date getCreationTime() {
+        return creationTime;
+    }
+
+    public void setCreationTime(Date creationTime) {
+        this.creationTime = creationTime;
+    }
+
+    public List<ExamQuestionBean> getExamQuestionBeans() {
+        return examQuestionBeans;
+    }
+
+    public void setExamQuestionBeans(List<ExamQuestionBean> examQuestionBeans) {
+        this.examQuestionBeans = examQuestionBeans;
+    }
 }

+ 174 - 0
examcloud-core-oe-admin-api/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/bean/ExamSyncCaptureBean.java

@@ -11,4 +11,178 @@ import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
 public class ExamSyncCaptureBean implements JsonSerializable {
 
     private static final long serialVersionUID = -71026133205629126L;
+
+    private Long id;
+    /**
+     * ec_oe_exam_record_data  ID
+     */
+    private Long examRecordDataId;
+    /**
+     * 文件URL
+     */
+    private String fileUrl;
+
+    private String fileName;
+
+    /**
+     * 比较是否通过
+     */
+    private Boolean isPass;
+
+    /**
+     * 人脸比较返回信息
+     */
+    private String faceCompareResult;
+
+    /**
+     * 是否有陌生人
+     * 就是摄像头拍到不止考生一人
+     */
+    private Boolean isStranger;
+    /**
+     * 百度人脸关键点坐标结果
+     */
+    private String landmark;
+    /**
+     * 百度在线活体检测结果
+     */
+    private String facelivenessResult;
+
+    /**
+     * 从进入队列到处理完成的时间
+     */
+    private Long usedTime;
+
+    /**
+     * 从开始处理到处理完成的时间
+     */
+    private Long processTime;
+
+
+    /**
+     * 是否存在虚拟摄像头
+     */
+    private Boolean hasVirtualCamera;
+
+    /**
+     * 摄像头信息
+     */
+    private String cameraInfos;
+
+    /**
+     * 其他信息
+     */
+    private String extMsg;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getExamRecordDataId() {
+        return examRecordDataId;
+    }
+
+    public void setExamRecordDataId(Long examRecordDataId) {
+        this.examRecordDataId = examRecordDataId;
+    }
+
+    public String getFileUrl() {
+        return fileUrl;
+    }
+
+    public void setFileUrl(String fileUrl) {
+        this.fileUrl = fileUrl;
+    }
+
+    public String getFileName() {
+        return fileName;
+    }
+
+    public void setFileName(String fileName) {
+        this.fileName = fileName;
+    }
+
+    public Boolean getPass() {
+        return isPass;
+    }
+
+    public void setPass(Boolean pass) {
+        isPass = pass;
+    }
+
+    public String getFaceCompareResult() {
+        return faceCompareResult;
+    }
+
+    public void setFaceCompareResult(String faceCompareResult) {
+        this.faceCompareResult = faceCompareResult;
+    }
+
+    public Boolean getStranger() {
+        return isStranger;
+    }
+
+    public void setStranger(Boolean stranger) {
+        isStranger = stranger;
+    }
+
+    public String getLandmark() {
+        return landmark;
+    }
+
+    public void setLandmark(String landmark) {
+        this.landmark = landmark;
+    }
+
+    public String getFacelivenessResult() {
+        return facelivenessResult;
+    }
+
+    public void setFacelivenessResult(String facelivenessResult) {
+        this.facelivenessResult = facelivenessResult;
+    }
+
+    public Long getUsedTime() {
+        return usedTime;
+    }
+
+    public void setUsedTime(Long usedTime) {
+        this.usedTime = usedTime;
+    }
+
+    public Long getProcessTime() {
+        return processTime;
+    }
+
+    public void setProcessTime(Long processTime) {
+        this.processTime = processTime;
+    }
+
+    public Boolean getHasVirtualCamera() {
+        return hasVirtualCamera;
+    }
+
+    public void setHasVirtualCamera(Boolean hasVirtualCamera) {
+        this.hasVirtualCamera = hasVirtualCamera;
+    }
+
+    public String getCameraInfos() {
+        return cameraInfos;
+    }
+
+    public void setCameraInfos(String cameraInfos) {
+        this.cameraInfos = cameraInfos;
+    }
+
+    public String getExtMsg() {
+        return extMsg;
+    }
+
+    public void setExtMsg(String extMsg) {
+        this.extMsg = extMsg;
+    }
 }

+ 75 - 0
examcloud-core-oe-admin-api/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/bean/FaceBiopsyBean.java

@@ -11,4 +11,79 @@ import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
 public class FaceBiopsyBean implements JsonSerializable {
 
     private static final long serialVersionUID = -622363885150638414L;
+
+    /**
+     * 组织机构id
+     */
+    private Long rootOrgId;
+    /**
+     * 考试记录id
+     */
+    private Long examRecordDataId;
+    /**
+     * 检测结果
+     */
+    private Boolean result;
+
+    /**
+     * 已检测次数
+     */
+    private int verifiedTimes;
+    /**
+     * 错误信息
+     */
+    private String errorMsg;
+
+    /**
+     * 活检检测明细
+     */
+    private FaceBiopsyItemBean faceBiopsyItem;
+
+    public Long getRootOrgId() {
+        return rootOrgId;
+    }
+
+    public void setRootOrgId(Long rootOrgId) {
+        this.rootOrgId = rootOrgId;
+    }
+
+    public Long getExamRecordDataId() {
+        return examRecordDataId;
+    }
+
+    public void setExamRecordDataId(Long examRecordDataId) {
+        this.examRecordDataId = examRecordDataId;
+    }
+
+    public Boolean getResult() {
+        return result;
+    }
+
+    public void setResult(Boolean result) {
+        this.result = result;
+    }
+
+    public int getVerifiedTimes() {
+        return verifiedTimes;
+    }
+
+    public void setVerifiedTimes(int verifiedTimes) {
+        this.verifiedTimes = verifiedTimes;
+    }
+
+    public String getErrorMsg() {
+        return errorMsg;
+    }
+
+    public void setErrorMsg(String errorMsg) {
+        this.errorMsg = errorMsg;
+    }
+
+    public FaceBiopsyItemBean getFaceBiopsyItem() {
+        return faceBiopsyItem;
+    }
+
+    public void setFaceBiopsyItem(FaceBiopsyItemBean faceBiopsyItem) {
+        this.faceBiopsyItem = faceBiopsyItem;
+    }
 }

+ 118 - 0
examcloud-core-oe-admin-api/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/bean/FaceBiopsyItemBean.java

@@ -0,0 +1,118 @@
+package cn.com.qmth.examcloud.core.oe.admin.api.bean;
+
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+import java.util.List;
+
+/**
+ * @Description 新活检结果明细实体
+ * @Author lideyin
+ * @Date 2019/12/20 17:16
+ * @Version 1.0
+ */
+public class FaceBiopsyItemBean implements JsonSerializable {
+
+    private static final long serialVersionUID = -322561973794249532L;
+
+    /**
+     * 考试记录id
+     */
+    private Long examRecordDataId;
+
+    /**
+     * 人脸识别结果id
+     */
+    private Long faceBiopsyId;
+
+    /**
+     * 人脸识别类型
+     */
+    private String faceBiopsyType;
+
+    /**
+     * 检测是否已完成
+     */
+    private Boolean completed;
+
+    /**
+     * 检测结果
+     */
+    private Boolean result;
+    /**
+     * 错误信息
+     */
+    private String errorMsg;
+
+    /**
+     * 是否在冻结时间内
+     */
+    private Boolean inFreezeTime;
+
+    /**
+     * 活检检测步骤
+     */
+    private List<FaceBiopsyItemStepBean> faceBiopsyItemSteps;
+
+    public Long getExamRecordDataId() {
+        return examRecordDataId;
+    }
+
+    public void setExamRecordDataId(Long examRecordDataId) {
+        this.examRecordDataId = examRecordDataId;
+    }
+
+    public Long getFaceBiopsyId() {
+        return faceBiopsyId;
+    }
+
+    public void setFaceBiopsyId(Long faceBiopsyId) {
+        this.faceBiopsyId = faceBiopsyId;
+    }
+
+    public String getFaceBiopsyType() {
+        return faceBiopsyType;
+    }
+
+    public void setFaceBiopsyType(String faceBiopsyType) {
+        this.faceBiopsyType = faceBiopsyType;
+    }
+
+    public Boolean getCompleted() {
+        return completed;
+    }
+
+    public void setCompleted(Boolean completed) {
+        this.completed = completed;
+    }
+
+    public Boolean getResult() {
+        return result;
+    }
+
+    public void setResult(Boolean result) {
+        this.result = result;
+    }
+
+    public String getErrorMsg() {
+        return errorMsg;
+    }
+
+    public void setErrorMsg(String errorMsg) {
+        this.errorMsg = errorMsg;
+    }
+
+    public Boolean getInFreezeTime() {
+        return inFreezeTime;
+    }
+
+    public void setInFreezeTime(Boolean inFreezeTime) {
+        this.inFreezeTime = inFreezeTime;
+    }
+
+    public List<FaceBiopsyItemStepBean> getFaceBiopsyItemSteps() {
+        return faceBiopsyItemSteps;
+    }
+
+    public void setFaceBiopsyItemSteps(List<FaceBiopsyItemStepBean> faceBiopsyItemSteps) {
+        this.faceBiopsyItemSteps = faceBiopsyItemSteps;
+    }
+}

+ 175 - 0
examcloud-core-oe-admin-api/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/bean/FaceBiopsyItemStepBean.java

@@ -0,0 +1,175 @@
+package cn.com.qmth.examcloud.core.oe.admin.api.bean;
+
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+
+/**
+ * @Description 新活检结果步骤实体
+ * @Author lideyin
+ * @Date 2019/12/20 17:16
+ * @Version 1.0
+ */
+public class FaceBiopsyItemStepBean implements JsonSerializable {
+
+    private static final long serialVersionUID = -322561973794249532L;
+
+    /**
+     * 考试记录id
+     */
+    private Long examRecordDataId;
+    /**
+     * 人脸活体检测明细id
+     */
+    private Long faceBiopsyItemId;
+
+    /**
+     * 步骤动作
+     */
+    private String action;
+
+    /**
+     * 资源文件相对路径
+     */
+    private String resourceRelativePath;
+    /**
+     * 资源文件类型
+     */
+    private String resourceType;
+
+    /**
+     * 动作时长
+     */
+    private Integer actionStay;
+
+    /**
+     * 检测结果
+     */
+    private Boolean result;
+    /**
+     * 错误信息
+     */
+    private String errorMsg;
+    /**
+     * 扩展属性1
+     */
+    private String ext1;
+    /**
+     * 扩展属性2
+     */
+    private String ext2;
+    /**
+     * 扩展属性3
+     */
+    private String ext3;
+    /**
+     * 扩展属性4
+     */
+    private String ext4;
+    /**
+     * 扩展属性5
+     */
+    private String ext5;
+
+    public Long getExamRecordDataId() {
+        return examRecordDataId;
+    }
+
+    public void setExamRecordDataId(Long examRecordDataId) {
+        this.examRecordDataId = examRecordDataId;
+    }
+
+    public Long getFaceBiopsyItemId() {
+        return faceBiopsyItemId;
+    }
+
+    public void setFaceBiopsyItemId(Long faceBiopsyItemId) {
+        this.faceBiopsyItemId = faceBiopsyItemId;
+    }
+
+    public String getAction() {
+        return action;
+    }
+
+    public void setAction(String action) {
+        this.action = action;
+    }
+
+    public String getResourceRelativePath() {
+        return resourceRelativePath;
+    }
+
+    public void setResourceRelativePath(String resourceRelativePath) {
+        this.resourceRelativePath = resourceRelativePath;
+    }
+
+    public String getResourceType() {
+        return resourceType;
+    }
+
+    public void setResourceType(String resourceType) {
+        this.resourceType = resourceType;
+    }
+
+    public Integer getActionStay() {
+        return actionStay;
+    }
+
+    public void setActionStay(Integer actionStay) {
+        this.actionStay = actionStay;
+    }
+
+    public Boolean getResult() {
+        return result;
+    }
+
+    public void setResult(Boolean result) {
+        this.result = result;
+    }
+
+    public String getErrorMsg() {
+        return errorMsg;
+    }
+
+    public void setErrorMsg(String errorMsg) {
+        this.errorMsg = errorMsg;
+    }
+
+    public String getExt1() {
+        return ext1;
+    }
+
+    public void setExt1(String ext1) {
+        this.ext1 = ext1;
+    }
+
+    public String getExt2() {
+        return ext2;
+    }
+
+    public void setExt2(String ext2) {
+        this.ext2 = ext2;
+    }
+
+    public String getExt3() {
+        return ext3;
+    }
+
+    public void setExt3(String ext3) {
+        this.ext3 = ext3;
+    }
+
+    public String getExt4() {
+        return ext4;
+    }
+
+    public void setExt4(String ext4) {
+        this.ext4 = ext4;
+    }
+
+    public String getExt5() {
+        return ext5;
+    }
+
+    public void setExt5(String ext5) {
+        this.ext5 = ext5;
+    }
+}

+ 11 - 10
examcloud-core-oe-admin-api/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/request/SyncExamDataReq.java

@@ -2,6 +2,7 @@ package cn.com.qmth.examcloud.core.oe.admin.api.request;
 
 import cn.com.qmth.examcloud.api.commons.exchange.BaseRequest;
 import cn.com.qmth.examcloud.core.oe.admin.api.bean.*;
+import java.util.List;
 
 /**
  * @Description 同步考试记录请求类
@@ -20,7 +21,7 @@ public class SyncExamDataReq extends BaseRequest {
 	/**
 	 * 照片处理结果实体
 	 */
-	private ExamCaptureBean examCapture;
+	private List<ExamCaptureBean> examCaptures;
 
 	/**
 	 * 同步照片处理结果实体
@@ -30,7 +31,7 @@ public class SyncExamDataReq extends BaseRequest {
 	/**
 	 * face id活体检测结果实体
 	 */
-	private ExamFaceLivenessVerifyBean examFaceLivenessVerify;
+	private List<ExamFaceLivenessVerifyBean> examFaceLivenessVerifies;
 
 	/**
 	 * 新活检实体
@@ -57,12 +58,12 @@ public class SyncExamDataReq extends BaseRequest {
 		this.examRecordData = examRecordData;
 	}
 
-	public ExamCaptureBean getExamCapture() {
-		return examCapture;
+	public List<ExamCaptureBean> getExamCaptures() {
+		return examCaptures;
 	}
 
-	public void setExamCapture(ExamCaptureBean examCapture) {
-		this.examCapture = examCapture;
+	public void setExamCaptures(List<ExamCaptureBean> examCaptures) {
+		this.examCaptures = examCaptures;
 	}
 
 	public ExamSyncCaptureBean getExamSyncCapture() {
@@ -73,12 +74,12 @@ public class SyncExamDataReq extends BaseRequest {
 		this.examSyncCapture = examSyncCapture;
 	}
 
-	public ExamFaceLivenessVerifyBean getExamFaceLivenessVerify() {
-		return examFaceLivenessVerify;
+	public List<ExamFaceLivenessVerifyBean> getExamFaceLivenessVerifies() {
+		return examFaceLivenessVerifies;
 	}
 
-	public void setExamFaceLivenessVerify(ExamFaceLivenessVerifyBean examFaceLivenessVerify) {
-		this.examFaceLivenessVerify = examFaceLivenessVerify;
+	public void setExamFaceLivenessVerifies(List<ExamFaceLivenessVerifyBean> examFaceLivenessVerifies) {
+		this.examFaceLivenessVerifies = examFaceLivenessVerifies;
 	}
 
 	public FaceBiopsyBean getFaceBiopsy() {