Эх сурвалжийг харах

add getExtractConfigCache & getExtractConfigPaperCache

deason 5 жил өмнө
parent
commit
cd788443a5

+ 58 - 43
src/main/java/cn/com/qmth/examcloud/support/cache/CacheHelper.java

@@ -1,20 +1,6 @@
 package cn.com.qmth.examcloud.support.cache;
 
-import cn.com.qmth.examcloud.support.cache.bean.AppCacheBean;
-import cn.com.qmth.examcloud.support.cache.bean.BasePaperCacheBean;
-import cn.com.qmth.examcloud.support.cache.bean.CourseCacheBean;
-import cn.com.qmth.examcloud.support.cache.bean.ExamOrgPropertyCacheBean;
-import cn.com.qmth.examcloud.support.cache.bean.ExamOrgSettingsCacheBean;
-import cn.com.qmth.examcloud.support.cache.bean.ExamRecordPropertyCacheBean;
-import cn.com.qmth.examcloud.support.cache.bean.ExamSettingsCacheBean;
-import cn.com.qmth.examcloud.support.cache.bean.OrgCacheBean;
-import cn.com.qmth.examcloud.support.cache.bean.PrivilegeRolesCacheBean;
-import cn.com.qmth.examcloud.support.cache.bean.QuestionCacheBean;
-import cn.com.qmth.examcloud.support.cache.bean.RootOrgCacheBean;
-import cn.com.qmth.examcloud.support.cache.bean.RootOrgPrivilegesCacheBean;
-import cn.com.qmth.examcloud.support.cache.bean.SmsAssemblyCacheBean;
-import cn.com.qmth.examcloud.support.cache.bean.StudentCacheBean;
-import cn.com.qmth.examcloud.support.cache.bean.SysPropertyCacheBean;
+import cn.com.qmth.examcloud.support.cache.bean.*;
 import cn.com.qmth.examcloud.web.cache.ObjectRedisCacheProcessor;
 
 /**
@@ -104,34 +90,63 @@ public class CacheHelper {
 				"cn.com.qmth.examcloud.core.basic.service.cache.RootOrgPrrivilegesCache");
 	}
 
-	/**
-	 * 获取试卷结构(题库)
-	 *
-	 * @param paperId
-	 * @return
-	 */
-	public static BasePaperCacheBean getBasePaper(String paperId) {
-		return ObjectRedisCacheProcessor.get("Q_PAPER:BASE_", new Object[]{paperId},
-				BasePaperCacheBean.class, "EC-CORE-QUESTION",
-				"cn.com.qmth.examcloud.core.questions.service.cache.BasePaperCache");
-	}
-
-	/**
-	 * 获取试题(题库)
-	 *
-	 * @param examId
-	 * @param courseCode
-	 * @param groupCode
-	 * @param questionId
-	 * @return
-	 */
-	public static QuestionCacheBean getQuestion(Long examId, String courseCode, String groupCode,
-			String questionId) {
-		return ObjectRedisCacheProcessor.get("Q_QUESTION:",
-				new Object[]{examId, courseCode, groupCode, questionId}, QuestionCacheBean.class,
-				"EC-CORE-QUESTION",
-				"cn.com.qmth.examcloud.core.questions.service.cache.QuestionCache");
-	}
+    /**
+     * 获取调卷规则信息(题库)
+     *
+     * @param examId
+     * @param courseCode
+     * @param groupCode
+     * @return
+     */
+    public static ExtractConfigCacheBean getExtractConfig(Long examId, String courseCode, String groupCode) {
+        return ObjectRedisCacheProcessor.get("Q_EXTRACT_CONFIG:", new Object[]{examId, courseCode, groupCode},
+                ExtractConfigCacheBean.class, "EC-CORE-QUESTION",
+                "cn.com.qmth.examcloud.core.questions.service.cache.ExtractConfigCache");
+    }
+
+    /**
+     * 获取调卷规则调取的试卷结构(题库)
+     *
+     * @param examId
+     * @param courseCode
+     * @param groupCode
+     * @param paperId
+     * @return
+     */
+    public static ExtractConfigPaperCacheBean getExtractConfigPaper(Long examId, String courseCode, String groupCode, String paperId) {
+        return ObjectRedisCacheProcessor.get("Q_PAPER:EXTRACT_CONFIG_PAPER_", new Object[]{examId, courseCode, groupCode, paperId},
+                ExtractConfigPaperCacheBean.class, "EC-CORE-QUESTION",
+                "cn.com.qmth.examcloud.core.questions.service.cache.ExtractConfigPaperCache");
+    }
+
+    /**
+     * 获取试卷结构(题库)
+     *
+     * @param paperId
+     * @return
+     */
+    public static BasePaperCacheBean getBasePaper(String paperId) {
+        return ObjectRedisCacheProcessor.get("Q_PAPER:BASE_", new Object[]{paperId},
+                BasePaperCacheBean.class, "EC-CORE-QUESTION",
+                "cn.com.qmth.examcloud.core.questions.service.cache.BasePaperCache");
+    }
+
+    /**
+     * 获取试题(题库)
+     *
+     * @param examId
+     * @param courseCode
+     * @param groupCode
+     * @param questionId
+     * @return
+     */
+    public static QuestionCacheBean getQuestion(Long examId, String courseCode, String groupCode,
+                                                String questionId) {
+        return ObjectRedisCacheProcessor.get("Q_QUESTION:",
+                new Object[]{examId, courseCode, groupCode, questionId}, QuestionCacheBean.class,
+                "EC-CORE-QUESTION",
+                "cn.com.qmth.examcloud.core.questions.service.cache.QuestionCache");
+    }
 
 	/**
 	 * 查询课程

+ 93 - 0
src/main/java/cn/com/qmth/examcloud/support/cache/bean/ExtractConfigCacheBean.java

@@ -0,0 +1,93 @@
+package cn.com.qmth.examcloud.support.cache.bean;
+
+import cn.com.qmth.examcloud.web.cache.RandomCacheBean;
+
+import java.util.List;
+
+/**
+ * @Description 调卷规则信息
+ * @Author lideyin
+ * @Date 2019/7/30 14:36
+ */
+public class ExtractConfigCacheBean extends RandomCacheBean {
+    private static final long serialVersionUID = 6309635978462557320L;
+
+    /**
+     * ID
+     */
+    protected String id;
+
+    /**
+     * 考试ID
+     */
+    private Long examId;
+
+    /**
+     * 课程代码
+     */
+    private String courseCode;
+
+    /**
+     * 抽取试卷对象集合
+     */
+    private List<ExtractConfigDetailCacheBean> details;
+
+    /**
+     * 是否小题乱序
+     */
+    Boolean sortQuestionOrder;
+
+    /**
+     * 是否选项乱序
+     */
+    Boolean sortOptionOrder;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    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 List<ExtractConfigDetailCacheBean> getDetails() {
+        return details;
+    }
+
+    public void setDetails(List<ExtractConfigDetailCacheBean> details) {
+        this.details = details;
+    }
+
+    public Boolean getSortQuestionOrder() {
+        return sortQuestionOrder;
+    }
+
+    public void setSortQuestionOrder(Boolean sortQuestionOrder) {
+        this.sortQuestionOrder = sortQuestionOrder;
+    }
+
+    public Boolean getSortOptionOrder() {
+        return sortOptionOrder;
+    }
+
+    public void setSortOptionOrder(Boolean sortOptionOrder) {
+        this.sortOptionOrder = sortOptionOrder;
+    }
+
+}

+ 63 - 0
src/main/java/cn/com/qmth/examcloud/support/cache/bean/ExtractConfigDetailCacheBean.java

@@ -0,0 +1,63 @@
+package cn.com.qmth.examcloud.support.cache.bean;
+
+import cn.com.qmth.examcloud.web.cache.RandomCacheBean;
+
+/**
+ * @Description 调卷规则的详细抽取试卷规则
+ * @Author lideyin
+ * @Date 2019/7/30 14:36
+ */
+public class ExtractConfigDetailCacheBean extends RandomCacheBean {
+    private static final long serialVersionUID = 6309635978462557320L;
+
+    /**
+     * 试卷类型
+     */
+    private String groupCode;
+
+    /**
+     * 关联试卷
+     */
+    private String paperId;
+
+    /**
+     * 抽取权重比例
+     * 整数类型 例如:70%  数据库里存70
+     */
+    private Integer weight;
+
+    public ExtractConfigDetailCacheBean() {
+
+    }
+
+    public ExtractConfigDetailCacheBean(String groupCode, String paperId, Integer weight) {
+        this.groupCode = groupCode;
+        this.paperId = paperId;
+        this.weight = weight;
+    }
+
+    public String getGroupCode() {
+        return groupCode;
+    }
+
+    public void setGroupCode(String groupCode) {
+        this.groupCode = groupCode;
+    }
+
+    public String getPaperId() {
+        return paperId;
+    }
+
+    public void setPaperId(String paperId) {
+        this.paperId = paperId;
+    }
+
+    public Integer getWeight() {
+        return weight;
+    }
+
+    public void setWeight(Integer weight) {
+        this.weight = weight;
+    }
+
+}