From 792efe2ed891a345ed48537bd5b5e4d1246d20b3 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 07 六月 2024 17:10:50 +0800
Subject: [PATCH] 试卷查看题目接口
---
src/main/java/com/ycl/jxkg/controller/admin/ExamPaperController.java | 25 +++++-
src/main/java/com/ycl/jxkg/mapper/ExamPaperQuestionMapper.java | 10 ++
src/main/java/com/ycl/jxkg/domain/vo/admin/paper/ExamPaperQuestionVO.java | 20 +++++
src/main/java/com/ycl/jxkg/domain/question/QuestionDTO.java | 52 +++++++++++++
src/main/resources/mapper/ExamPaperQuestionMapper.xml | 31 +++++++
src/main/java/com/ycl/jxkg/service/impl/ExamPaperQuestionServiceImpl.java | 20 +++++
src/main/java/com/ycl/jxkg/service/ExamPaperQuestionService.java | 9 ++
src/main/java/com/ycl/jxkg/domain/entity/ExamPaperQuestion.java | 22 +++++
8 files changed, 185 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/ycl/jxkg/controller/admin/ExamPaperController.java b/src/main/java/com/ycl/jxkg/controller/admin/ExamPaperController.java
index e51a998..046cc96 100644
--- a/src/main/java/com/ycl/jxkg/controller/admin/ExamPaperController.java
+++ b/src/main/java/com/ycl/jxkg/controller/admin/ExamPaperController.java
@@ -3,11 +3,14 @@
import com.ycl.jxkg.base.BaseApiController;
import com.ycl.jxkg.base.Result;
import com.ycl.jxkg.domain.entity.ExamPaper;
+import com.ycl.jxkg.domain.entity.ExamPaperQuestion;
import com.ycl.jxkg.domain.form.ExamPaperForm;
+import com.ycl.jxkg.domain.vo.admin.paper.ExamPaperQuestionVO;
import com.ycl.jxkg.enums.VisibilityEnum;
import com.ycl.jxkg.group.Add;
import com.ycl.jxkg.group.Update;
import com.ycl.jxkg.mapper.ExamPaperMapper;
+import com.ycl.jxkg.service.ExamPaperQuestionService;
import com.ycl.jxkg.service.ExamPaperService;
import com.ycl.jxkg.utils.DateTimeUtil;
import com.ycl.jxkg.utils.PageInfoHelper;
@@ -18,6 +21,7 @@
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -28,10 +32,12 @@
@RestController("AdminExamPaperController")
@RequestMapping(value = "/api/admin/exam/paper")
public class ExamPaperController extends BaseApiController {
-
- private final ExamPaperService examPaperService;
-
- private final ExamPaperMapper baseMapper;
+ @Autowired
+ private ExamPaperService examPaperService;
+ @Autowired
+ private ExamPaperQuestionService examPaperQuestionService;
+ @Autowired
+ private ExamPaperMapper baseMapper;
@RequestMapping(value = "/page", method = RequestMethod.POST)
public Result<PageInfo<ExamResponseVO>> pageList(@RequestBody ExamPaperPageRequestVO model) {
@@ -65,11 +71,22 @@
if (!StringUtils.isBlank(form.getVisibility())) {
form.setVisibility(VisibilityEnum.fromCode(form.getVisibility()).getName());
}
+ //TODO:淇敼鑱旇〃閲岀殑鍒嗘暟
ExamPaper entity = ExamPaperForm.getEntityByForm(form,null);
examPaperService.updateById(entity);
return Result.ok();
}
+ @RequestMapping(value = "/editQuestion", method = RequestMethod.POST)
+ public Result editQuestion(@RequestBody ExamPaperForm form) {
+
+ return Result.ok();
+ }
+ @RequestMapping(value = "/selectQuestion/{id}", method = RequestMethod.POST)
+ public Result<ExamPaperQuestion> selectQuestion(@PathVariable Integer id) {
+ ExamPaperQuestion vo = examPaperQuestionService.selectById(id);
+ return Result.ok(vo);
+ }
@RequestMapping(value = "/select/{id}", method = RequestMethod.POST)
public Result<ExamPaperEditRequestVO> select(@PathVariable Integer id) {
ExamPaperEditRequestVO vm = examPaperService.examPaperToVM(id);
diff --git a/src/main/java/com/ycl/jxkg/domain/entity/ExamPaperQuestion.java b/src/main/java/com/ycl/jxkg/domain/entity/ExamPaperQuestion.java
new file mode 100644
index 0000000..6f41964
--- /dev/null
+++ b/src/main/java/com/ycl/jxkg/domain/entity/ExamPaperQuestion.java
@@ -0,0 +1,22 @@
+package com.ycl.jxkg.domain.entity;
+
+import com.ycl.jxkg.domain.question.QuestionDTO;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+@Data
+public class ExamPaperQuestion {
+ private Integer id;
+ private String name;
+ private Integer templateId;
+ private Integer paperType;
+ private Integer subjectId;
+ private Integer suggestTime;
+ private Integer deductType;
+ private BigDecimal deductTypeScore;
+ private BigDecimal score;
+
+ private List<QuestionDTO> questions;
+
+}
diff --git a/src/main/java/com/ycl/jxkg/domain/question/QuestionDTO.java b/src/main/java/com/ycl/jxkg/domain/question/QuestionDTO.java
new file mode 100644
index 0000000..6764832
--- /dev/null
+++ b/src/main/java/com/ycl/jxkg/domain/question/QuestionDTO.java
@@ -0,0 +1,52 @@
+package com.ycl.jxkg.domain.question;
+
+import com.ycl.jxkg.domain.base.AbsEntity;
+import com.ycl.jxkg.enums.general.StatusEnum;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+@Data
+public class QuestionDTO extends AbsEntity {
+ /**
+ * 1.鍗曢�夐 2.澶氶�夐 3.鍒ゆ柇棰� 4.濉┖棰� 5.绠�绛旈
+ */
+ private Integer questionType;
+
+ /**
+ * 瀛︾
+ */
+ private Integer subjectId;
+
+ /**
+ * 棰樼洰闅惧害
+ */
+ private Integer difficult;
+
+ /**
+ * 姝g‘绛旀
+ */
+ private String correct;
+
+ /**
+ * 棰樼洰 濉┖銆� 棰樺共銆佽В鏋愩�佺瓟妗堢瓑淇℃伅
+ */
+ private String content;
+
+ /**
+ * 鍒涘缓浜�
+ */
+ private Integer createUser;
+
+ /**
+ * 1.鍚敤銆�2.绂佺敤
+ */
+ private StatusEnum status;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ private Date createTime;
+
+ private BigDecimal score;
+}
diff --git a/src/main/java/com/ycl/jxkg/domain/vo/admin/paper/ExamPaperQuestionVO.java b/src/main/java/com/ycl/jxkg/domain/vo/admin/paper/ExamPaperQuestionVO.java
new file mode 100644
index 0000000..466c490
--- /dev/null
+++ b/src/main/java/com/ycl/jxkg/domain/vo/admin/paper/ExamPaperQuestionVO.java
@@ -0,0 +1,20 @@
+package com.ycl.jxkg.domain.vo.admin.paper;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Map;
+
+@Data
+public class ExamPaperQuestionVO {
+ private Integer id;
+ private String name;
+ private Integer templateId;
+ private Integer paperType;
+ private Integer subjectId;
+ private Integer suggestTime;
+ private Integer deductType;
+ private BigDecimal deductTypeScore;
+ private BigDecimal score;
+ private Map<Integer,Object> questionMap;
+}
diff --git a/src/main/java/com/ycl/jxkg/mapper/ExamPaperQuestionMapper.java b/src/main/java/com/ycl/jxkg/mapper/ExamPaperQuestionMapper.java
new file mode 100644
index 0000000..6991181
--- /dev/null
+++ b/src/main/java/com/ycl/jxkg/mapper/ExamPaperQuestionMapper.java
@@ -0,0 +1,10 @@
+package com.ycl.jxkg.mapper;
+
+import com.ycl.jxkg.domain.entity.ExamPaperQuestion;
+import com.ycl.jxkg.domain.vo.admin.paper.ExamPaperQuestionVO;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface ExamPaperQuestionMapper {
+ ExamPaperQuestion selectById(Integer id);
+}
diff --git a/src/main/java/com/ycl/jxkg/service/ExamPaperQuestionService.java b/src/main/java/com/ycl/jxkg/service/ExamPaperQuestionService.java
new file mode 100644
index 0000000..883c0ca
--- /dev/null
+++ b/src/main/java/com/ycl/jxkg/service/ExamPaperQuestionService.java
@@ -0,0 +1,9 @@
+package com.ycl.jxkg.service;
+
+import com.ycl.jxkg.domain.entity.ExamPaperQuestion;
+import com.ycl.jxkg.domain.vo.admin.paper.ExamPaperQuestionVO;
+
+public interface ExamPaperQuestionService {
+
+ ExamPaperQuestion selectById(Integer id);
+}
diff --git a/src/main/java/com/ycl/jxkg/service/impl/ExamPaperQuestionServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/ExamPaperQuestionServiceImpl.java
new file mode 100644
index 0000000..c30fce4
--- /dev/null
+++ b/src/main/java/com/ycl/jxkg/service/impl/ExamPaperQuestionServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ycl.jxkg.service.impl;
+
+import com.ycl.jxkg.domain.entity.ExamPaperQuestion;
+import com.ycl.jxkg.domain.vo.admin.paper.ExamPaperQuestionVO;
+import com.ycl.jxkg.mapper.ExamPaperQuestionMapper;
+import com.ycl.jxkg.service.ExamPaperQuestionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ExamPaperQuestionServiceImpl implements ExamPaperQuestionService {
+ @Autowired
+ private ExamPaperQuestionMapper examPaperQuestionMapper;
+
+ @Override
+ public ExamPaperQuestion selectById(Integer id) {
+
+ return examPaperQuestionMapper.selectById(id);
+ }
+}
diff --git a/src/main/resources/mapper/ExamPaperQuestionMapper.xml b/src/main/resources/mapper/ExamPaperQuestionMapper.xml
new file mode 100644
index 0000000..43dc358
--- /dev/null
+++ b/src/main/resources/mapper/ExamPaperQuestionMapper.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ycl.jxkg.mapper.ExamPaperQuestionMapper">
+
+ <resultMap id="ExamPaperQuestionMap" type="com.ycl.jxkg.domain.entity.ExamPaperQuestion">
+ <id column="id" property="id"/>
+ <result column="name" property="name"/>
+ <result column="subject_id" property="subjectId"/>
+ <result column="paper_type" property="paperType"/>
+ <result column="score" property="score"/>
+ <result column="suggest_time" property="suggestTime"/>
+ <collection property="questions" ofType="com.ycl.jxkg.domain.question.QuestionDTO">
+ <id column="questionId" property="id"/>
+ <result column="questionScore" property="score"/>
+ <result column="question_type" property="questionType"/>
+ <result column="difficult" property="difficult"/>
+ <result column="correct" property="correct"/>
+ <result column="content" property="content"/>
+ </collection>
+ </resultMap>
+
+ <select id="selectById" resultMap="ExamPaperQuestionMap">
+ select tep.id,tep.name,tep.subject_id,tep.paper_type,tep.score,tep.suggest_time,
+ tepq.score as questionScore,tq.id as questionId,tq.question_type,tq.difficult,tq.correct,tq.content
+ from t_exam_paper tep
+ left join t_exam_paper_question tepq on tep.id =tepq.exam_paper_id
+ left join t_question tq on tepq.question_id = tq.id
+ where tep.id = #{id} and tq.status = 1 and tq.deleted = 0
+ </select>
+
+</mapper>
--
Gitblit v1.8.0