wangliang 5 лет назад
Родитель
Сommit
955405ad95

+ 44 - 49
themis-backend/src/main/java/com/qmth/themis/backend/api/TBUserController.java

@@ -229,7 +229,7 @@ public class TBUserController {
         teStudent.setName("aaa");
         teStudent.setGender(1);
         teStudent.setBasePhotoPath("http://11111");
-        teStudent.setCreateTime(new Date());
+        teStudent.setEnable(1);
         teStudentService.save(teStudent);
 
         //考试批次
@@ -251,13 +251,6 @@ public class TBUserController {
         teExam.setExamCount(5);
         teExam.setBreakResumeCount(3);
         teExam.setBreakExpireSeconds(30);
-        teExam.setLivenessActionCount(5);
-        teExam.setLivenessActionRetryCount(5);
-        teExam.setEntryFaceVerify(1);
-        teExam.setEntryLivenessVerify(1);
-        teExam.setConstantFaceVerify(1);
-        teExam.setConstantLivenessRetryCount(1);
-        teExam.setConstantLivenessVerifyCount(1);
         teExam.setClientVideoPush(1);
         teExam.setClientVideoRecord(1);
         teExam.setWxappPhotoUpload(1);
@@ -266,10 +259,24 @@ public class TBUserController {
         teExam.setCameraPhotoUpload(1);
         teExam.setWxappPhotoUpload(1);
         teExam.setReexamAuditing(1);
-        teExam.setSelectStrategy(1);
-        teExam.setIpLimit("123");
         teExam.setShowObjectiveScore(1);
-        teExam.setCreateTime(new Date());
+        teExam.setMode(0);
+        teExam.setEnable(1);
+        teExam.setArchived(0);
+        teExam.setOpeningSeconds(30);
+        teExam.setMaxDurationSeconds(30);
+        teExam.setForceFinish(1);
+        teExam.setEntryAuthenticationPolicy(1);
+        teExam.setInProcessFaceVerify(1);
+        teExam.setInProcessFaceStrangerIgnore(1);
+        teExam.setInProcessLivenessVerify(1);
+        teExam.setInProcessLivenessIntervalSeconds(30);
+        teExam.setInProcessLivenessRetryCount(3);
+        teExam.setInProcessLivenessJudgePolicy(1);
+        teExam.setRecordSelectStrategy(1);
+        teExam.setEnableIpLimit(1);
+        teExam.setIpAllow("1");
+        teExam.setScoreStatus(1);
         teExamService.save(teExam);
 
         //考试场次
@@ -277,59 +284,45 @@ public class TBUserController {
         teExamActivity.setId(Constants.idGen.next());
         teExamActivity.setExamId(teExam.getId());
         teExamActivity.setCode(RandomStringUtils.randomAlphanumeric(20));
-        teExamActivity.setName("456");
         teExamActivity.setPrepareSeconds(30);
-        teExamActivity.setMinStartTime(new Date());
-        teExamActivity.setMaxStartTime(new Date());
         teExamActivity.setMaxDurationSeconds(30);
-        teExamActivity.setMinDurationSeconds(30);
-        teExamActivity.setMaxFinishTime(new Date());
-        teExamActivity.setExamCount(1);
-        teExamActivity.setBreakExpireSeconds(1);
-        teExamActivity.setBreakResumeCount(1);
-        teExamActivity.setEntryFaceVerify(1);
-        teExamActivity.setEntryLivenessVerify(1);
-        teExamActivity.setConstantFaceVerify(1);
-        teExamActivity.setConstantLivenessVerifyCount(1);
-        teExamActivity.setClientVideoPush(1);
-        teExamActivity.setClientVideoRecord(1);
-        teExamActivity.setWxappPhotoUpload(1);
-        teExamActivity.setWxappVideoPush(1);
-        teExamActivity.setWxappVideoRecord(1);
-        teExamActivity.setCameraPhotoUpload(1);
+        teExamActivity.setEnable(1);
+        teExamActivity.setOpeningSeconds(30);
+        teExamActivity.setStartTime(new Date());
+        teExamActivity.setFinishTime(new Date());
         teExamActivityService.insertInfo(tableName, teExamActivity);
 
+        //考试科目
+        TEExamCourse teExamCourse = new TEExamCourse();
+        teExamCourse.setId(Constants.idGen.next());
+        teExamCourse.setExamId(teExam.getId());
+        teExamCourse.setCourseCode(RandomStringUtils.randomAlphanumeric(5));
+        teExamCourse.setCourseName("测试科目1");
+        teExamCourse.setObjectiveShuffle(1);
+        teExamCourse.setOptionShuffle(1);
+        teExamCourse.setPaperCount(1);
+        teExamCourse.setHasAnswer(1);
+        teExamCourse.setAudioPlayTime(1);
+        teExamCourseService.save(teExamCourse);
+
         //考试试卷
         TEExamPaper teExamPaper = new TEExamPaper();
         teExamPaper.setId(Constants.idGen.next());
         teExamPaper.setName("test1");
         teExamPaper.setTotalScore(100D);
         teExamPaper.setPaperPath("123");
-        teExamPaper.setStandardAnswerPath("234");
         teExamPaper.setDecryptSecret("345");
         teExamPaper.setEncryptMode(1);
-        teExamPaper.setHasVideo(1);
         teExamPaper.setNeedVoiceAnswer(1);
-        teExamPaper.setCreateTime(new Date());
+        teExamPaper.setExamId(teExam.getId());
+        teExamPaper.setCode("test1");
+        teExamPaper.setCourseCode(teExamCourse.getCourseCode());
+        teExamPaper.setAnswerPath("123");
+        teExamPaper.setHasAudio(1);
+        teExamPaper.setWeight(1D);
+        teExamPaper.setAudioPlayTime(1);
         teExamPaperService.save(teExamPaper);
 
-        //考试科目
-        TEExamCourse teExamCourse = new TEExamCourse();
-        teExamCourse.setId(Constants.idGen.next());
-        teExamCourse.setExamId(teExam.getId());
-        teExamCourse.setExamActivityId(teExamActivity.getId());
-        teExamCourse.setCourseCode(RandomStringUtils.randomAlphanumeric(5));
-        teExamCourse.setCourseName("测试科目1");
-        teExamCourse.setObjectiveShuffle(1);
-        teExamCourse.setOptionShuffle(1);
-        List paperIdsList = new ArrayList();
-        paperIdsList.add(teExamPaper.getId());
-        paperIdsList.add(0L);
-        Map paperMap = new HashMap();
-        paperMap.put("paperIds", paperIdsList);
-        teExamCourse.setPaperIds(JacksonUtil.parseJson(paperMap));
-        teExamCourseService.save(teExamCourse);
-
         //考生
         TEExamStudent teExamStudent = new TEExamStudent();
         teExamStudent.setId(Constants.idGen.next());
@@ -345,6 +338,8 @@ public class TBUserController {
         stuMap.put("examTest2", "bbb");
         teExamStudent.setParameter(JacksonUtil.parseJson(stuMap));
         teExamStudent.setLeftExamCount(1);
+        teExamStudent.setRoomName("test1");
+        teExamStudent.setEnable(1);
         teExamStudentService.save(teExamStudent);
 
         Gson gson = new Gson();

+ 0 - 12
themis-business/src/main/java/com/qmth/themis/business/entity/TBClientVersion.java

@@ -44,10 +44,6 @@ public class TBClientVersion extends BaseEntity {
     @TableId(value = "enable")
     private Integer enable;
 
-    @ApiModelProperty(value = "更新人id")
-    @TableId(value = "user_id")
-    private Long userId;
-
     public static long getSerialVersionUID() {
         return serialVersionUID;
     }
@@ -99,12 +95,4 @@ public class TBClientVersion extends BaseEntity {
     public void setEnable(Integer enable) {
         this.enable = enable;
     }
-
-    public Long getUserId() {
-        return userId;
-    }
-
-    public void setUserId(Long userId) {
-        this.userId = userId;
-    }
 }

+ 205 - 132
themis-business/src/main/java/com/qmth/themis/business/entity/common/Exam.java

@@ -1,6 +1,7 @@
 package com.qmth.themis.business.entity.common;
 
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.qmth.themis.business.base.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
@@ -13,7 +14,7 @@ import java.util.Date;
  * @Author: wangliang
  * @Date: 2020/7/7
  */
-public class Exam implements Serializable {
+public class Exam extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
     @ApiModelProperty(value = "主键")
@@ -33,7 +34,7 @@ public class Exam implements Serializable {
     private String name;
 
     @ApiModelProperty(value = "批次标注,可用于多个考试批次归类")
-    @TableId(value = "name")
+    @TableId(value = "tag")
     private String tag;
 
     @ApiModelProperty(value = "批次开始时间")
@@ -84,34 +85,6 @@ public class Exam implements Serializable {
     @TableId(value = "break_resume_count")
     private Integer breakResumeCount;
 
-    @ApiModelProperty(value = "活体动作个数")
-    @TableId(value = "liveness_action_count")
-    private Integer livenessActionCount;
-
-    @ApiModelProperty(value = "活体单个动作重试次数")
-    @TableId(value = "liveness_action_retry_count")
-    private Integer livenessActionRetryCount;
-
-    @ApiModelProperty(value = "是否开启/强制开考人脸识别")
-    @TableId(value = "entry_face_verify")
-    private Integer entryFaceVerify;
-
-    @ApiModelProperty(value = "是否开启/强制开考活体检测")
-    @TableId(value = "entry_liveness_verify")
-    private Integer entryLivenessVerify;
-
-    @ApiModelProperty(value = "考试过程中人脸检测是否开启")
-    @TableId(value = "constant_face_verify")
-    private Integer constantFaceVerify;
-
-    @ApiModelProperty(value = "考试过程中随机活体验证次数")
-    @TableId(value = "constant_liveness_verify_count")
-    private Integer constantLivenessVerifyCount;
-
-    @ApiModelProperty(value = "考试过程中随机活体重试次数")
-    @TableId(value = "constant_liveness_retry_count")
-    private Integer constantLivenessRetryCount;
-
     @ApiModelProperty(value = "是否开启/强制客户端视频监控")
     @TableId(value = "client_video_push")
     private Integer clientVideoPush;
@@ -140,25 +113,213 @@ public class Exam implements Serializable {
     @TableId(value = "reexam_auditing")
     private Integer reexamAuditing;
 
-    @ApiModelProperty(value = "多次考试记录的选择逻辑:全部阅卷后取最高分;客观分最高;最后一次提交")
-    @TableId(value = "select_strategy")
-    private Integer selectStrategy;
-
-    @ApiModelProperty(value = "IP段限制")
-    @TableId(value = "ip_limit")
-    private String ipLimit;
-
     @ApiModelProperty(value = "交卷后是否显示客观得分")
     @TableId(value = "show_objective_score")
     private Integer showObjectiveScore;
 
-    @ApiModelProperty(value = "创建时间")
-    @TableId(value = "create_time")
-    private Date createTime;
+    @ApiModelProperty(value = "模式,0:集中统一,1:随到随考")
+    @TableId(value = "mode")
+    private Integer mode;
+
+    @ApiModelProperty(value = "是否启用,0:停用,1:启用")
+    @TableId(value = "enable")
+    private Integer enable;
+
+    @ApiModelProperty(value = "是否归档")
+    @TableId(value = "archived")
+    private Integer archived;
+
+    @ApiModelProperty(value = "允许开考开放时长(秒),相当于迟到时间")
+    @TableId(value = "opening_seconds")
+    private Integer openingSeconds;
+
+    @ApiModelProperty(value = "最大考试时长")
+    @TableId(value = "max_duration_seconds")
+    private Integer maxDurationSeconds;
+
+    @ApiModelProperty(value = "是否在结束时间集中强制收卷")
+    @TableId(value = "force_finish")
+    private Integer forceFinish;
+
+    @ApiModelProperty(value = "开考身份验证策略")
+    @TableId(value = "entry_authentication_policy")
+    private Integer entryAuthenticationPolicy;
+
+    @ApiModelProperty(value = "考试过程中人脸检测是否开启")
+    @TableId(value = "in_process_face_verify")
+    private Integer inProcessFaceVerify;
+
+    @ApiModelProperty(value = "考试过程中人脸检测是否忽略陌生人")
+    @TableId(value = "in_process_face_stranger_ignore")
+    private Integer inProcessFaceStrangerIgnore;
+
+    @ApiModelProperty(value = "考试过程中是否启用活体检测")
+    @TableId(value = "in_process_liveness_verify")
+    private Integer inProcessLivenessVerify;
+
+    @ApiModelProperty(value = "考试过程中活体检测间隔时间")
+    @TableId(value = "in_process_liveness_interval_seconds")
+    private Integer inProcessLivenessIntervalSeconds;
+
+    @ApiModelProperty(value = "考试过程中活体检测重试次数")
+    @TableId(value = "in_process_liveness_retry_count")
+    private Integer inProcessLivenessRetryCount;
+
+    @ApiModelProperty(value = "考试过程中活体检测结果判定规则")
+    @TableId(value = "in_process_liveness_judge_policy")
+    private Integer inProcessLivenessJudgePolicy;
+
+    @ApiModelProperty(value = "多次考试记录的选择逻辑")
+    @TableId(value = "record_select_strategy")
+    private Integer recordSelectStrategy;
+
+    @ApiModelProperty(value = "是否IP段限制")
+    @TableId(value = "enable_ip_limit")
+    private Integer enableIpLimit;
+
+    @ApiModelProperty(value = "允许IP段")
+    @TableId(value = "ip_allow")
+    private String ipAllow;
+
+    @ApiModelProperty(value = "算分状态")
+    @TableId(value = "score_status")
+    private Integer scoreStatus;
+
+    public Integer getMode() {
+        return mode;
+    }
+
+    public void setMode(Integer mode) {
+        this.mode = mode;
+    }
+
+    public Integer getEnable() {
+        return enable;
+    }
+
+    public void setEnable(Integer enable) {
+        this.enable = enable;
+    }
+
+    public Integer getArchived() {
+        return archived;
+    }
+
+    public void setArchived(Integer archived) {
+        this.archived = archived;
+    }
+
+    public Integer getOpeningSeconds() {
+        return openingSeconds;
+    }
+
+    public void setOpeningSeconds(Integer openingSeconds) {
+        this.openingSeconds = openingSeconds;
+    }
 
-    @ApiModelProperty(value = "更新时间")
-    @TableId(value = "update_time")
-    private Date updateTime;
+    public Integer getMaxDurationSeconds() {
+        return maxDurationSeconds;
+    }
+
+    public void setMaxDurationSeconds(Integer maxDurationSeconds) {
+        this.maxDurationSeconds = maxDurationSeconds;
+    }
+
+    public Integer getForceFinish() {
+        return forceFinish;
+    }
+
+    public void setForceFinish(Integer forceFinish) {
+        this.forceFinish = forceFinish;
+    }
+
+    public Integer getEntryAuthenticationPolicy() {
+        return entryAuthenticationPolicy;
+    }
+
+    public void setEntryAuthenticationPolicy(Integer 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 Integer getInProcessLivenessIntervalSeconds() {
+        return inProcessLivenessIntervalSeconds;
+    }
+
+    public void setInProcessLivenessIntervalSeconds(Integer inProcessLivenessIntervalSeconds) {
+        this.inProcessLivenessIntervalSeconds = inProcessLivenessIntervalSeconds;
+    }
+
+    public Integer getInProcessLivenessRetryCount() {
+        return inProcessLivenessRetryCount;
+    }
+
+    public void setInProcessLivenessRetryCount(Integer inProcessLivenessRetryCount) {
+        this.inProcessLivenessRetryCount = inProcessLivenessRetryCount;
+    }
+
+    public Integer getInProcessLivenessJudgePolicy() {
+        return inProcessLivenessJudgePolicy;
+    }
+
+    public void setInProcessLivenessJudgePolicy(Integer inProcessLivenessJudgePolicy) {
+        this.inProcessLivenessJudgePolicy = inProcessLivenessJudgePolicy;
+    }
+
+    public Integer getRecordSelectStrategy() {
+        return recordSelectStrategy;
+    }
+
+    public void setRecordSelectStrategy(Integer recordSelectStrategy) {
+        this.recordSelectStrategy = recordSelectStrategy;
+    }
+
+    public Integer getEnableIpLimit() {
+        return enableIpLimit;
+    }
+
+    public void setEnableIpLimit(Integer enableIpLimit) {
+        this.enableIpLimit = enableIpLimit;
+    }
+
+    public String getIpAllow() {
+        return ipAllow;
+    }
+
+    public void setIpAllow(String ipAllow) {
+        this.ipAllow = ipAllow;
+    }
+
+    public Integer getScoreStatus() {
+        return scoreStatus;
+    }
+
+    public void setScoreStatus(Integer scoreStatus) {
+        this.scoreStatus = scoreStatus;
+    }
 
     public static long getSerialVersionUID() {
         return serialVersionUID;
@@ -300,62 +461,6 @@ public class Exam implements Serializable {
         this.breakResumeCount = breakResumeCount;
     }
 
-    public Integer getLivenessActionCount() {
-        return livenessActionCount;
-    }
-
-    public void setLivenessActionCount(Integer livenessActionCount) {
-        this.livenessActionCount = livenessActionCount;
-    }
-
-    public Integer getLivenessActionRetryCount() {
-        return livenessActionRetryCount;
-    }
-
-    public void setLivenessActionRetryCount(Integer livenessActionRetryCount) {
-        this.livenessActionRetryCount = livenessActionRetryCount;
-    }
-
-    public Integer getEntryFaceVerify() {
-        return entryFaceVerify;
-    }
-
-    public void setEntryFaceVerify(Integer entryFaceVerify) {
-        this.entryFaceVerify = entryFaceVerify;
-    }
-
-    public Integer getEntryLivenessVerify() {
-        return entryLivenessVerify;
-    }
-
-    public void setEntryLivenessVerify(Integer entryLivenessVerify) {
-        this.entryLivenessVerify = entryLivenessVerify;
-    }
-
-    public Integer getConstantFaceVerify() {
-        return constantFaceVerify;
-    }
-
-    public void setConstantFaceVerify(Integer constantFaceVerify) {
-        this.constantFaceVerify = constantFaceVerify;
-    }
-
-    public Integer getConstantLivenessVerifyCount() {
-        return constantLivenessVerifyCount;
-    }
-
-    public void setConstantLivenessVerifyCount(Integer constantLivenessVerifyCount) {
-        this.constantLivenessVerifyCount = constantLivenessVerifyCount;
-    }
-
-    public Integer getConstantLivenessRetryCount() {
-        return constantLivenessRetryCount;
-    }
-
-    public void setConstantLivenessRetryCount(Integer constantLivenessRetryCount) {
-        this.constantLivenessRetryCount = constantLivenessRetryCount;
-    }
-
     public Integer getClientVideoPush() {
         return clientVideoPush;
     }
@@ -412,22 +517,6 @@ public class Exam implements Serializable {
         this.reexamAuditing = reexamAuditing;
     }
 
-    public Integer getSelectStrategy() {
-        return selectStrategy;
-    }
-
-    public void setSelectStrategy(Integer selectStrategy) {
-        this.selectStrategy = selectStrategy;
-    }
-
-    public String getIpLimit() {
-        return ipLimit;
-    }
-
-    public void setIpLimit(String ipLimit) {
-        this.ipLimit = ipLimit;
-    }
-
     public Integer getShowObjectiveScore() {
         return showObjectiveScore;
     }
@@ -435,20 +524,4 @@ public class Exam implements Serializable {
     public void setShowObjectiveScore(Integer showObjectiveScore) {
         this.showObjectiveScore = showObjectiveScore;
     }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    public Date getUpdateTime() {
-        return updateTime;
-    }
-
-    public void setUpdateTime(Date updateTime) {
-        this.updateTime = updateTime;
-    }
 }

+ 30 - 198
themis-business/src/main/java/com/qmth/themis/business/entity/common/ExamActivity.java

@@ -1,9 +1,9 @@
 package com.qmth.themis.business.entity.common;
 
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.qmth.themis.business.base.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 
-import java.io.Serializable;
 import java.util.Date;
 
 /**
@@ -13,7 +13,7 @@ import java.util.Date;
  * @Author: wangliang
  * @Date: 2020/7/7
  */
-public class ExamActivity implements Serializable {
+public class ExamActivity extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
     @ApiModelProperty(value = "主键")
@@ -28,85 +28,29 @@ public class ExamActivity implements Serializable {
     @TableId(value = "code")
     private String code;
 
-    @ApiModelProperty(value = "场次名称")
-    @TableId(value = "name")
-    private String name;
-
     @ApiModelProperty(value = "提前多长时间开始候考(秒)")
     @TableId(value = "prepare_seconds")
     private Integer prepareSeconds;
 
-    @ApiModelProperty(value = "最早开考时间")
-    @TableId(value = "min_start_time")
-    private Date minStartTime;
-
-    @ApiModelProperty(value = "最晚开考时间,相当于迟到时间")
-    @TableId(value = "max_start_time")
-    private Date maxStartTime;
-
     @ApiModelProperty(value = "最大考试时长")
     @TableId(value = "max_duration_seconds")
     private Integer maxDurationSeconds;
 
-    @ApiModelProperty(value = "最短考试时间,相当于考试冻结时间(秒)")
-    @TableId(value = "min_duration_seconds")
-    private Integer minDurationSeconds;
-
-    @ApiModelProperty(value = "集中收卷时间")
-    @TableId(value = "max_finish_time")
-    private Date maxFinishTime;
-
-    @ApiModelProperty(value = "允许考试次数")
-    @TableId(value = "exam_count")
-    private Integer examCount;
-
-    @ApiModelProperty(value = "断点失效时间(秒)")
-    @TableId(value = "break_expire_seconds")
-    private Integer breakExpireSeconds;
-
-    @ApiModelProperty(value = "断点续考次数")
-    @TableId(value = "break_resume_count")
-    private Integer breakResumeCount;
-
-    @ApiModelProperty(value = "是否开启/强制开考人脸识别")
-    @TableId(value = "entry_face_verify")
-    private Integer entryFaceVerify;
-
-    @ApiModelProperty(value = "是否开启/强制开考活体检测")
-    @TableId(value = "entry_liveness_verify")
-    private Integer entryLivenessVerify;
+    @ApiModelProperty(value = "是否启用,0:停用,1:启用")
+    @TableId(value = "enable")
+    private Integer enable;
 
-    @ApiModelProperty(value = "考试过程中人脸检测是否开启")
-    @TableId(value = "constant_face_verify")
-    private Integer constantFaceVerify;
+    @ApiModelProperty(value = "允许开考时长(秒)")
+    @TableId(value = "opening_seconds")
+    private Integer openingSeconds;
 
-    @ApiModelProperty(value = "考试过程中随机活体验证次数")
-    @TableId(value = "constant_liveness_verify_count")
-    private Integer constantLivenessVerifyCount;
+    @ApiModelProperty(value = "开考时间")
+    @TableId(value = "start_time")
+    private Date startTime;
 
-    @ApiModelProperty(value = "是否开启/强制客户端视频监控")
-    @TableId(value = "client_video_push")
-    private Integer clientVideoPush;
-
-    @ApiModelProperty(value = "是否开启客户端视频转录")
-    @TableId(value = "client_video_record")
-    private Integer clientVideoRecord;
-
-    @ApiModelProperty(value = "是否开启/强制微信小程序监控")
-    @TableId(value = "wxapp_video_push")
-    private Integer wxappVideoPush;
-
-    @ApiModelProperty(value = "是否开启微信小程序视频转录")
-    @TableId(value = "wxapp_video_record")
-    private Integer wxappVideoRecord;
-
-    @ApiModelProperty(value = "是否允许使用摄像头拍照答题")
-    @TableId(value = "camera_photo_upload")
-    private Integer cameraPhotoUpload;
-
-    @ApiModelProperty(value = "是否允许使用微信拍照答题")
-    @TableId(value = "wxapp_photo_upload")
-    private Integer wxappPhotoUpload;
+    @ApiModelProperty(value = "结束时间")
+    @TableId(value = "finish_time")
+    private Date finishTime;
 
     public static long getSerialVersionUID() {
         return serialVersionUID;
@@ -136,14 +80,6 @@ public class ExamActivity implements Serializable {
         this.code = code;
     }
 
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
     public Integer getPrepareSeconds() {
         return prepareSeconds;
     }
@@ -152,22 +88,6 @@ public class ExamActivity implements Serializable {
         this.prepareSeconds = prepareSeconds;
     }
 
-    public Date getMinStartTime() {
-        return minStartTime;
-    }
-
-    public void setMinStartTime(Date minStartTime) {
-        this.minStartTime = minStartTime;
-    }
-
-    public Date getMaxStartTime() {
-        return maxStartTime;
-    }
-
-    public void setMaxStartTime(Date maxStartTime) {
-        this.maxStartTime = maxStartTime;
-    }
-
     public Integer getMaxDurationSeconds() {
         return maxDurationSeconds;
     }
@@ -176,123 +96,35 @@ public class ExamActivity implements Serializable {
         this.maxDurationSeconds = maxDurationSeconds;
     }
 
-    public Integer getMinDurationSeconds() {
-        return minDurationSeconds;
-    }
-
-    public void setMinDurationSeconds(Integer minDurationSeconds) {
-        this.minDurationSeconds = minDurationSeconds;
-    }
-
-    public Date getMaxFinishTime() {
-        return maxFinishTime;
-    }
-
-    public void setMaxFinishTime(Date maxFinishTime) {
-        this.maxFinishTime = maxFinishTime;
-    }
-
-    public Integer getExamCount() {
-        return examCount;
-    }
-
-    public void setExamCount(Integer examCount) {
-        this.examCount = examCount;
-    }
-
-    public Integer getBreakExpireSeconds() {
-        return breakExpireSeconds;
-    }
-
-    public void setBreakExpireSeconds(Integer breakExpireSeconds) {
-        this.breakExpireSeconds = breakExpireSeconds;
-    }
-
-    public Integer getBreakResumeCount() {
-        return breakResumeCount;
-    }
-
-    public void setBreakResumeCount(Integer breakResumeCount) {
-        this.breakResumeCount = breakResumeCount;
-    }
-
-    public Integer getEntryFaceVerify() {
-        return entryFaceVerify;
-    }
-
-    public void setEntryFaceVerify(Integer entryFaceVerify) {
-        this.entryFaceVerify = entryFaceVerify;
-    }
-
-    public Integer getEntryLivenessVerify() {
-        return entryLivenessVerify;
-    }
-
-    public void setEntryLivenessVerify(Integer entryLivenessVerify) {
-        this.entryLivenessVerify = entryLivenessVerify;
-    }
-
-    public Integer getConstantFaceVerify() {
-        return constantFaceVerify;
-    }
-
-    public void setConstantFaceVerify(Integer constantFaceVerify) {
-        this.constantFaceVerify = constantFaceVerify;
-    }
-
-    public Integer getConstantLivenessVerifyCount() {
-        return constantLivenessVerifyCount;
-    }
-
-    public void setConstantLivenessVerifyCount(Integer constantLivenessVerifyCount) {
-        this.constantLivenessVerifyCount = constantLivenessVerifyCount;
-    }
-
-    public Integer getClientVideoPush() {
-        return clientVideoPush;
-    }
-
-    public void setClientVideoPush(Integer clientVideoPush) {
-        this.clientVideoPush = clientVideoPush;
-    }
-
-    public Integer getClientVideoRecord() {
-        return clientVideoRecord;
-    }
-
-    public void setClientVideoRecord(Integer clientVideoRecord) {
-        this.clientVideoRecord = clientVideoRecord;
-    }
-
-    public Integer getWxappVideoPush() {
-        return wxappVideoPush;
+    public Integer getEnable() {
+        return enable;
     }
 
-    public void setWxappVideoPush(Integer wxappVideoPush) {
-        this.wxappVideoPush = wxappVideoPush;
+    public void setEnable(Integer enable) {
+        this.enable = enable;
     }
 
-    public Integer getWxappVideoRecord() {
-        return wxappVideoRecord;
+    public Integer getOpeningSeconds() {
+        return openingSeconds;
     }
 
-    public void setWxappVideoRecord(Integer wxappVideoRecord) {
-        this.wxappVideoRecord = wxappVideoRecord;
+    public void setOpeningSeconds(Integer openingSeconds) {
+        this.openingSeconds = openingSeconds;
     }
 
-    public Integer getCameraPhotoUpload() {
-        return cameraPhotoUpload;
+    public Date getStartTime() {
+        return startTime;
     }
 
-    public void setCameraPhotoUpload(Integer cameraPhotoUpload) {
-        this.cameraPhotoUpload = cameraPhotoUpload;
+    public void setStartTime(Date startTime) {
+        this.startTime = startTime;
     }
 
-    public Integer getWxappPhotoUpload() {
-        return wxappPhotoUpload;
+    public Date getFinishTime() {
+        return finishTime;
     }
 
-    public void setWxappPhotoUpload(Integer wxappPhotoUpload) {
-        this.wxappPhotoUpload = wxappPhotoUpload;
+    public void setFinishTime(Date finishTime) {
+        this.finishTime = finishTime;
     }
 }

+ 31 - 19
themis-business/src/main/java/com/qmth/themis/business/entity/common/ExamCourse.java

@@ -23,10 +23,6 @@ public class ExamCourse implements Serializable {
     @TableId(value = "exam_id")
     private Long examId;
 
-    @ApiModelProperty(value = "场次ID")
-    @TableId(value = "exam_activity_id")
-    private Long examActivityId;
-
     @ApiModelProperty(value = "科目编码")
     @TableId(value = "course_code")
     private String courseCode;
@@ -43,9 +39,17 @@ public class ExamCourse implements Serializable {
     @TableId(value = "option_shuffle")
     private Integer optionShuffle;
 
-    @ApiModelProperty(value = "所有绑定的考试试卷")
-    @TableId(value = "paper_ids")
-    private String paperIds;
+    @ApiModelProperty(value = "已绑定试卷数量")
+    @TableId(value = "paper_count")
+    private Integer paperCount;
+
+    @ApiModelProperty(value = "是否已补齐标答")
+    @TableId(value = "has_answer")
+    private Integer hasAnswer;
+
+    @ApiModelProperty(value = "音频播放次数")
+    @TableId(value = "audio_play_time")
+    private Integer audioPlayTime;
 
     public static long getSerialVersionUID() {
         return serialVersionUID;
@@ -67,14 +71,6 @@ public class ExamCourse implements Serializable {
         this.examId = examId;
     }
 
-    public Long getExamActivityId() {
-        return examActivityId;
-    }
-
-    public void setExamActivityId(Long examActivityId) {
-        this.examActivityId = examActivityId;
-    }
-
     public String getCourseCode() {
         return courseCode;
     }
@@ -107,11 +103,27 @@ public class ExamCourse implements Serializable {
         this.optionShuffle = optionShuffle;
     }
 
-    public String getPaperIds() {
-        return paperIds;
+    public Integer getPaperCount() {
+        return paperCount;
+    }
+
+    public void setPaperCount(Integer paperCount) {
+        this.paperCount = paperCount;
+    }
+
+    public Integer getHasAnswer() {
+        return hasAnswer;
+    }
+
+    public void setHasAnswer(Integer hasAnswer) {
+        this.hasAnswer = hasAnswer;
+    }
+
+    public Integer getAudioPlayTime() {
+        return audioPlayTime;
     }
 
-    public void setPaperIds(String paperIds) {
-        this.paperIds = paperIds;
+    public void setAudioPlayTime(Integer audioPlayTime) {
+        this.audioPlayTime = audioPlayTime;
     }
 }

+ 76 - 42
themis-business/src/main/java/com/qmth/themis/business/entity/common/ExamPaper.java

@@ -1,11 +1,9 @@
 package com.qmth.themis.business.entity.common;
 
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.qmth.themis.business.base.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 
-import java.io.Serializable;
-import java.util.Date;
-
 /**
  * @Description: 考试试卷公用 entity
  * @Param:
@@ -13,7 +11,7 @@ import java.util.Date;
  * @Author: wangliang
  * @Date: 2020/7/7
  */
-public class ExamPaper implements Serializable {
+public class ExamPaper extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
     @ApiModelProperty(value = "主键")
@@ -32,10 +30,6 @@ public class ExamPaper implements Serializable {
     @TableId(value = "paper_path")
     private String paperPath;
 
-    @ApiModelProperty(value = "标答路径")
-    @TableId(value = "standard_answer_path")
-    private String standardAnswerPath;
-
     @ApiModelProperty(value = "解密密钥")
     @TableId(value = "decrypt_secret")
     private String decryptSecret;
@@ -44,21 +38,37 @@ public class ExamPaper implements Serializable {
     @TableId(value = "encrypt_mode")
     private Integer encryptMode;
 
-    @ApiModelProperty(value = "题干包含音视频")
-    @TableId(value = "has_video")
-    private Integer hasVideo;
-
     @ApiModelProperty(value = "是否需要语音作答")
     @TableId(value = "need_voice_answer")
     private Integer needVoiceAnswer;
 
-    @ApiModelProperty(value = "创建时间")
-    @TableId(value = "create_time")
-    private Date createTime;
+    @ApiModelProperty(value = "批次id")
+    @TableId(value = "exam_id")
+    private Long examId;
+
+    @ApiModelProperty(value = "科目编码")
+    @TableId(value = "course_code")
+    private String courseCode;
+
+    @ApiModelProperty(value = "试卷编码")
+    @TableId(value = "code")
+    private String code;
+
+    @ApiModelProperty(value = "标答路径")
+    @TableId(value = "answer_path")
+    private String answerPath;
+
+    @ApiModelProperty(value = "题干包含音频")
+    @TableId(value = "has_audio")
+    private Integer hasAudio;
+
+    @ApiModelProperty(value = "调卷比例")
+    @TableId(value = "weight")
+    private Double weight;
 
-    @ApiModelProperty(value = "更新时间")
-    @TableId(value = "update_time")
-    private Date updateTime;
+    @ApiModelProperty(value = "音频播放次数")
+    @TableId(value = "audio_play_time")
+    private Integer audioPlayTime;
 
     public static long getSerialVersionUID() {
         return serialVersionUID;
@@ -96,14 +106,6 @@ public class ExamPaper implements Serializable {
         this.paperPath = paperPath;
     }
 
-    public String getStandardAnswerPath() {
-        return standardAnswerPath;
-    }
-
-    public void setStandardAnswerPath(String standardAnswerPath) {
-        this.standardAnswerPath = standardAnswerPath;
-    }
-
     public String getDecryptSecret() {
         return decryptSecret;
     }
@@ -120,14 +122,6 @@ public class ExamPaper implements Serializable {
         this.encryptMode = encryptMode;
     }
 
-    public Integer getHasVideo() {
-        return hasVideo;
-    }
-
-    public void setHasVideo(Integer hasVideo) {
-        this.hasVideo = hasVideo;
-    }
-
     public Integer getNeedVoiceAnswer() {
         return needVoiceAnswer;
     }
@@ -136,19 +130,59 @@ public class ExamPaper implements Serializable {
         this.needVoiceAnswer = needVoiceAnswer;
     }
 
-    public Date getCreateTime() {
-        return createTime;
+    public Long getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Long examId) {
+        this.examId = examId;
+    }
+
+    public String getCourseCode() {
+        return courseCode;
+    }
+
+    public void setCourseCode(String courseCode) {
+        this.courseCode = courseCode;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getAnswerPath() {
+        return answerPath;
+    }
+
+    public void setAnswerPath(String answerPath) {
+        this.answerPath = answerPath;
+    }
+
+    public Integer getHasAudio() {
+        return hasAudio;
+    }
+
+    public void setHasAudio(Integer hasAudio) {
+        this.hasAudio = hasAudio;
+    }
+
+    public Double getWeight() {
+        return weight;
     }
 
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
+    public void setWeight(Double weight) {
+        this.weight = weight;
     }
 
-    public Date getUpdateTime() {
-        return updateTime;
+    public Integer getAudioPlayTime() {
+        return audioPlayTime;
     }
 
-    public void setUpdateTime(Date updateTime) {
-        this.updateTime = updateTime;
+    public void setAudioPlayTime(Integer audioPlayTime) {
+        this.audioPlayTime = audioPlayTime;
     }
 }

+ 26 - 3
themis-business/src/main/java/com/qmth/themis/business/entity/common/ExamStudent.java

@@ -1,10 +1,9 @@
 package com.qmth.themis.business.entity.common;
 
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.qmth.themis.business.base.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 
-import java.io.Serializable;
-
 /**
  * @Description: 考生公用 entity
  * @Param:
@@ -12,7 +11,7 @@ import java.io.Serializable;
  * @Author: wangliang
  * @Date: 2020/7/7
  */
-public class ExamStudent implements Serializable {
+public class ExamStudent extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
     @ApiModelProperty(value = "主键")
@@ -63,6 +62,30 @@ public class ExamStudent implements Serializable {
     @TableId(value = "select_record_id")
     private Long selectRecordId;
 
+    @ApiModelProperty(value = "考场名称")
+    @TableId(value = "room_name")
+    private String roomName;
+
+    @ApiModelProperty(value = "是否启用,0:停用,1:启用")
+    @TableId(value = "enable")
+    private Integer enable;
+
+    public String getRoomName() {
+        return roomName;
+    }
+
+    public void setRoomName(String roomName) {
+        this.roomName = roomName;
+    }
+
+    public Integer getEnable() {
+        return enable;
+    }
+
+    public void setEnable(Integer enable) {
+        this.enable = enable;
+    }
+
     public static long getSerialVersionUID() {
         return serialVersionUID;
     }

+ 12 - 26
themis-business/src/main/java/com/qmth/themis/business/entity/common/Student.java

@@ -1,11 +1,9 @@
 package com.qmth.themis.business.entity.common;
 
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.qmth.themis.business.base.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 
-import java.io.Serializable;
-import java.util.Date;
-
 /**
  * @Description: 学生档案公用 entity
  * @Param:
@@ -13,7 +11,7 @@ import java.util.Date;
  * @Author: wangliang
  * @Date: 2020/7/7
  */
-public class Student implements Serializable {
+public class Student extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
     @ApiModelProperty(value = "主键")
@@ -52,13 +50,17 @@ public class Student implements Serializable {
     @TableId(value = "base_photo_path")
     private String basePhotoPath;
 
-    @ApiModelProperty(value = "创建时间")
-    @TableId(value = "create_time")
-    private Date createTime;
+    @ApiModelProperty(value = "是否启用,0:停用,1:启用")
+    @TableId(value = "enable")
+    private Integer enable;
+
+    public Integer getEnable() {
+        return enable;
+    }
 
-    @ApiModelProperty(value = "更新时间")
-    @TableId(value = "update_time")
-    private Date updateTime;
+    public void setEnable(Integer enable) {
+        this.enable = enable;
+    }
 
     public static long getSerialVersionUID() {
         return serialVersionUID;
@@ -135,20 +137,4 @@ public class Student implements Serializable {
     public void setBasePhotoPath(String basePhotoPath) {
         this.basePhotoPath = basePhotoPath;
     }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    public Date getUpdateTime() {
-        return updateTime;
-    }
-
-    public void setUpdateTime(Date updateTime) {
-        this.updateTime = updateTime;
-    }
 }