Jelajahi Sumber

交卷后续处理,代码重构及bug fix

lideyin 5 tahun lalu
induk
melakukan
5c158636f3

+ 26 - 0
examcloud-core-oe-student-api-client/src/main/java/cn/com/qmth/examcloud/core/oe/student/client/ExamRecordDataCloudServiceClient.java

@@ -1,5 +1,9 @@
 package cn.com.qmth.examcloud.core.oe.student.client;
 
+import cn.com.qmth.examcloud.core.oe.student.api.request.CalcExamScoreReq;
+import cn.com.qmth.examcloud.core.oe.student.api.request.CalcFaceBiopsyResultReq;
+import cn.com.qmth.examcloud.core.oe.student.api.response.CalcExamScoreResp;
+import cn.com.qmth.examcloud.core.oe.student.api.response.CalcFaceBiopsyResultResp;
 import org.springframework.stereotype.Service;
 
 import cn.com.qmth.examcloud.core.oe.student.api.ExamRecordDataCloudService;
@@ -28,5 +32,27 @@ public class ExamRecordDataCloudServiceClient extends AbstractCloudClientSupport
         return post("examRecordData/updateBatchNum", req, UpdateExamRecordDataBatchNumResp.class);
     }
 
+    /**
+     * 计算活体检测结果
+     *
+     * @param req
+     * @return
+     */
+    @Override
+    public CalcFaceBiopsyResultResp calcFaceBiopsyResult(CalcFaceBiopsyResultReq req) {
+        return post("examRecordData/calcFaceBiopsyResult", req, CalcFaceBiopsyResultResp.class);
+    }
+
+    /**
+     * 计算考试分数
+     *
+     * @param req
+     * @return
+     */
+    @Override
+    public CalcExamScoreResp calcExamScore(CalcExamScoreReq req) {
+        return post("examRecordData/calcExamScore", req, CalcExamScoreResp.class);
+    }
+
 
 }

+ 5 - 0
examcloud-core-oe-student-api/pom.xml

@@ -13,6 +13,11 @@
 			<artifactId>examcloud-api-commons</artifactId>
 			<version>${examcloud.version}</version>
 		</dependency>
+		<dependency>
+			<groupId>cn.com.qmth.examcloud</groupId>
+			<artifactId>examcloud-support</artifactId>
+			<version>${examcloud.version}</version>
+		</dependency>
         <dependency>
             <groupId>cn.com.qmth.examcloud.question</groupId>
             <artifactId>examcloud-question-commons</artifactId>

+ 23 - 3
examcloud-core-oe-student-api/src/main/java/cn/com/qmth/examcloud/core/oe/student/api/ExamRecordDataCloudService.java

@@ -1,14 +1,34 @@
 package cn.com.qmth.examcloud.core.oe.student.api;
 
 import cn.com.qmth.examcloud.api.commons.CloudService;
+import cn.com.qmth.examcloud.core.oe.student.api.request.CalcExamScoreReq;
+import cn.com.qmth.examcloud.core.oe.student.api.request.CalcFaceBiopsyResultReq;
 import cn.com.qmth.examcloud.core.oe.student.api.request.GetExamRecordDataIdsReq;
 import cn.com.qmth.examcloud.core.oe.student.api.request.UpdateExamRecordDataBatchNumReq;
+import cn.com.qmth.examcloud.core.oe.student.api.response.CalcExamScoreResp;
+import cn.com.qmth.examcloud.core.oe.student.api.response.CalcFaceBiopsyResultResp;
 import cn.com.qmth.examcloud.core.oe.student.api.response.GetExamRecordDataIdsResp;
 import cn.com.qmth.examcloud.core.oe.student.api.response.UpdateExamRecordDataBatchNumResp;
 
 public interface ExamRecordDataCloudService extends CloudService {
 
-    public GetExamRecordDataIdsResp getExamRecordDataIds(GetExamRecordDataIdsReq req);
-    
-    public UpdateExamRecordDataBatchNumResp updateExamRecordDataBatchNum(UpdateExamRecordDataBatchNumReq req);
+    GetExamRecordDataIdsResp getExamRecordDataIds(GetExamRecordDataIdsReq req);
+
+    UpdateExamRecordDataBatchNumResp updateExamRecordDataBatchNum(UpdateExamRecordDataBatchNumReq req);
+
+    /**
+     * 计算活体检测结果
+     *
+     * @param req
+     * @return
+     */
+    CalcFaceBiopsyResultResp calcFaceBiopsyResult(CalcFaceBiopsyResultReq req);
+
+    /**
+     * 计算考试分数
+     *
+     * @param req
+     * @return
+     */
+    CalcExamScoreResp calcExamScore(CalcExamScoreReq req);
 }

+ 26 - 0
examcloud-core-oe-student-api/src/main/java/cn/com/qmth/examcloud/core/oe/student/api/request/CalcExamScoreReq.java

@@ -0,0 +1,26 @@
+package cn.com.qmth.examcloud.core.oe.student.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.BaseRequest;
+
+/**
+ * @Description 计算考试分数请求类
+ * @Author lideyin
+ * @Date 2019/12/19 14:20
+ * @Version 1.0
+ */
+public class CalcExamScoreReq extends BaseRequest {
+
+    private static final long serialVersionUID = 7287520603393647287L;
+    /**
+     * 考试记录id
+     */
+    private Long examRecordDataId;
+
+    public Long getExamRecordDataId() {
+        return examRecordDataId;
+    }
+
+    public void setExamRecordDataId(Long examRecordDataId) {
+        this.examRecordDataId = examRecordDataId;
+    }
+}

+ 28 - 0
examcloud-core-oe-student-api/src/main/java/cn/com/qmth/examcloud/core/oe/student/api/request/CalcFaceBiopsyResultReq.java

@@ -0,0 +1,28 @@
+package cn.com.qmth.examcloud.core.oe.student.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.BaseRequest;
+
+import java.util.List;
+
+/**
+ * @Description 计算活体检测结果请求类
+ * @Author lideyin
+ * @Date 2019/12/18 19:18
+ * @Version 1.0
+ */
+public class CalcFaceBiopsyResultReq extends BaseRequest {
+    private static final long serialVersionUID = 1667046152859523825L;
+
+    /**
+     * 考试记录id
+     */
+    private Long examRecordDataId;
+
+    public Long getExamRecordDataId() {
+        return examRecordDataId;
+    }
+
+    public void setExamRecordDataId(Long examRecordDataId) {
+        this.examRecordDataId = examRecordDataId;
+    }
+}

+ 67 - 0
examcloud-core-oe-student-api/src/main/java/cn/com/qmth/examcloud/core/oe/student/api/response/CalcExamScoreResp.java

@@ -0,0 +1,67 @@
+package cn.com.qmth.examcloud.core.oe.student.api.response;
+
+import cn.com.qmth.examcloud.api.commons.exchange.BaseResponse;
+
+/**
+ * @Description 计算考试分数响应类s
+ * @Author lideyin
+ * @Date 2019/12/19 14:21
+ * @Version 1.0
+ */
+public class CalcExamScoreResp extends BaseResponse {
+
+    private static final long serialVersionUID = 447818414172174225L;
+
+    /**
+     * 总分
+     */
+    private Double totalScore;
+
+    /**
+     * 客观题得分总分
+     */
+    private Double objectiveScore;
+
+    /**
+     * 客观题答对的比率
+     * (客观题答对的题数/客观题总题数)*100  取2位小数
+     */
+    private Double objectiveAccuracy;
+
+    /**
+     * 答题正确率
+     */
+    private Double succPercent;
+
+    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 getSuccPercent() {
+        return succPercent;
+    }
+
+    public void setSuccPercent(Double succPercent) {
+        this.succPercent = succPercent;
+    }
+}

+ 67 - 0
examcloud-core-oe-student-api/src/main/java/cn/com/qmth/examcloud/core/oe/student/api/response/CalcFaceBiopsyResultResp.java

@@ -0,0 +1,67 @@
+package cn.com.qmth.examcloud.core.oe.student.api.response;
+
+import cn.com.qmth.examcloud.api.commons.exchange.BaseResponse;
+import cn.com.qmth.examcloud.support.enums.IsSuccess;
+
+/**
+ * @Description 计算活体检测结果响应类
+ * @Author lideyin
+ * @Date 2019/12/18 19:20
+ * @Version 1.0
+ */
+public class CalcFaceBiopsyResultResp extends BaseResponse{
+
+    private static final long serialVersionUID = -2929571423702336127L;
+
+    /**
+     * 是否异常数据
+     */
+    private Boolean isWarn;
+
+    /**
+     * 是否违纪
+     */
+    private Boolean isIllegality;
+
+    /**
+     * 活体检测结果
+     */
+    private IsSuccess faceVerifyResult;
+
+    public CalcFaceBiopsyResultResp() {
+    }
+
+    public CalcFaceBiopsyResultResp(IsSuccess faceVerifyResult) {
+        this.faceVerifyResult = faceVerifyResult;
+    }
+
+    public CalcFaceBiopsyResultResp(Boolean isWarn, Boolean isIllegality, IsSuccess faceVerifyResult) {
+        this.isWarn = isWarn;
+        this.isIllegality = isIllegality;
+        this.faceVerifyResult = faceVerifyResult;
+    }
+
+    public Boolean getWarn() {
+        return isWarn;
+    }
+
+    public void setWarn(Boolean warn) {
+        isWarn = warn;
+    }
+
+    public Boolean getIllegality() {
+        return isIllegality;
+    }
+
+    public void setIllegality(Boolean illegality) {
+        isIllegality = illegality;
+    }
+
+    public IsSuccess getFaceVerifyResult() {
+        return faceVerifyResult;
+    }
+
+    public void setFaceVerifyResult(IsSuccess faceVerifyResult) {
+        this.faceVerifyResult = faceVerifyResult;
+    }
+}