Bladeren bron

update content-service/exam

reghao 7 maanden geleden
bovenliggende
commit
a98334d0e2

+ 2 - 1
content/content-service/src/main/java/cn/reghao/tnb/content/app/exam/db/mapper/PaperMapper.java

@@ -5,6 +5,7 @@ import cn.reghao.jutil.jdk.db.Page;
 import cn.reghao.tnb.content.app.exam.model.po.Paper;
 import cn.reghao.tnb.content.app.exam.model.query.PaperQuery;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -18,5 +19,5 @@ public interface PaperMapper extends BaseMapper<Paper> {
 
     Paper findByPaperId(int paperId);
     int countByCriteria(PaperQuery paperQuery);
-    List<Paper> findPaperByPage(Page page, PaperQuery paperQuery);
+    List<Paper> findPaperByPage(Page page, @Param("paperQuery") PaperQuery paperQuery);
 }

+ 2 - 1
content/content-service/src/main/java/cn/reghao/tnb/content/app/exam/db/mapper/PaperQuestionMapper.java

@@ -3,6 +3,7 @@ package cn.reghao.tnb.content.app.exam.db.mapper;
 import cn.reghao.jutil.jdk.db.BaseMapper;
 import cn.reghao.tnb.content.app.exam.model.po.PaperQuestion;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -14,5 +15,5 @@ import java.util.List;
 public interface PaperQuestionMapper extends BaseMapper<PaperQuestion> {
     void deleteByPaperId(int paperId);
     List<PaperQuestion> findByPaperId(int paperId);
-    List<PaperQuestion> findByPaperIdAndPid(int paperId, int pid);
+    List<PaperQuestion> findByPaperIdAndPid(@Param("paperId") int paperId, @Param("pid") int pid);
 }

+ 2 - 1
content/content-service/src/main/java/cn/reghao/tnb/content/app/exam/db/mapper/PaperResultMapper.java

@@ -6,6 +6,7 @@ import cn.reghao.tnb.content.app.exam.model.po.PaperResult;
 import cn.reghao.tnb.content.app.exam.model.query.ExamQuery;
 import cn.reghao.tnb.content.app.exam.model.vo.ExamResults;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -19,5 +20,5 @@ public interface PaperResultMapper extends BaseMapper<PaperResult> {
 
     List<PaperResult> findByPaperId(int paperId);
     int countByCriteria(ExamQuery examQuery);
-    List<ExamResults> findExamResultsByPage(Page page, ExamQuery examQuery);
+    List<ExamResults> findExamResultsByPage(Page page, @Param("examQuery") ExamQuery examQuery);
 }

+ 2 - 1
content/content-service/src/main/java/cn/reghao/tnb/content/app/exam/db/mapper/QuestionMapper.java

@@ -6,6 +6,7 @@ import cn.reghao.tnb.common.db.GroupCount;
 import cn.reghao.tnb.content.app.exam.model.po.Question;
 import cn.reghao.tnb.content.app.exam.model.query.QuestionQuery;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -22,5 +23,5 @@ public interface QuestionMapper extends BaseMapper<Question> {
     List<GroupCount> findGroupBySubjectId(int subjectId);
 
     int countByCriteria(QuestionQuery questionQuery);
-    List<Question> findQuestionByPage(Page page, QuestionQuery questionQuery);
+    List<Question> findQuestionByPage(Page page, @Param("questionQuery") QuestionQuery questionQuery);
 }

+ 22 - 0
content/content-service/src/main/java/cn/reghao/tnb/content/app/exam/model/po/Question.java

@@ -1,9 +1,15 @@
 package cn.reghao.tnb.content.app.exam.model.po;
 
 import cn.reghao.jutil.jdk.db.BaseObject;
+import cn.reghao.tnb.content.app.exam.model.constant.QuestionLevel;
+import cn.reghao.tnb.content.app.exam.model.constant.QuestionType;
 import cn.reghao.tnb.content.app.exam.model.dto.QuestionAddDto;
 import lombok.Getter;
 import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 试题
@@ -13,6 +19,7 @@ import lombok.NoArgsConstructor;
  */
 @NoArgsConstructor
 @Getter
+@Setter
 public class Question extends BaseObject<Integer> {
     private Integer subjectId;
     private Integer type;
@@ -23,6 +30,21 @@ public class Question extends BaseObject<Integer> {
     private Integer pid;
     private Boolean child;
     private Integer pos;
+    private String extra;
+    private transient List<QuestionOption> questionOptions;
+
+    public Question(int id, String content, int questionType, String extra) {
+        this.id = id;
+        this.subjectId = 1;
+        this.type = questionType;
+        this.level = QuestionLevel.EASY.getCode();
+        this.content = content;
+        this.analysis = "";
+        this.pid = 0;
+        this.child = false;
+        this.pos = 0;
+        this.extra = extra;
+    }
 
     public Question(QuestionAddDto questionAddDto) {
         this.subjectId = questionAddDto.getSubjectId();

+ 12 - 1
content/content-service/src/main/java/cn/reghao/tnb/content/app/exam/model/po/QuestionOption.java

@@ -1,22 +1,33 @@
 package cn.reghao.tnb.content.app.exam.model.po;
 
+import cn.reghao.jutil.jdk.db.BaseObject;
 import cn.reghao.tnb.content.app.exam.model.dto.QuestionAddDto;
 import lombok.Getter;
 import lombok.NoArgsConstructor;
+import lombok.Setter;
 
 /**
  * @author reghao
  * @date 2024-08-25 20:32:55
  */
 @NoArgsConstructor
+@Setter
 @Getter
-public class QuestionOption {
+public class QuestionOption extends BaseObject<Integer> {
     private Integer questionId;
     private Integer pos;
     private String content;
     private String analysis;
     private Boolean correct;
 
+    public QuestionOption(int questionId, String content, int pos, boolean correct) {
+        this.questionId = questionId;
+        this.pos = pos;
+        this.content = content;
+        this.analysis = "";
+        this.correct = correct;
+    }
+
     public QuestionOption(int pos, QuestionAddDto.Option option) {
         this.pos = pos;
         this.content = option.getContent();

+ 2 - 2
content/content-service/src/main/resources/mapper/exam/QuestionMapper.xml

@@ -4,9 +4,9 @@
 <mapper namespace="cn.reghao.tnb.content.app.exam.db.mapper.QuestionMapper">
     <insert id="save" useGeneratedKeys="true" keyProperty="id">
         insert into exam_question
-        (`subject_id`,`type`,`level`,`content`,`analysis`,`create_by`,`pid`,`child`,`pos`)
+        (`subject_id`,`type`,`level`,`content`,`analysis`,`create_by`,`pid`,`child`,`pos`,`extra`)
         values 
-        (#{subjectId},#{type},#{level},#{content},#{analysis},#{createBy},#{pid},#{child},#{pos})
+        (#{subjectId},#{type},#{level},#{content},#{analysis},#{createBy},#{pid},#{child},#{pos},#{extra})
     </insert>
 
     <delete id="deleteById">