题库管理和试卷管理代码提交

main
hujunpeng 5 months ago
parent 680d04955a
commit 13e561a254
  1. 12
      ccic-exam/src/main/java/com/ccic/safeliab/dao/ExamPaperMapper.java
  2. 8
      ccic-exam/src/main/java/com/ccic/safeliab/service/ExamPaperService.java
  3. 5
      ccic-exam/src/main/java/com/ccic/safeliab/service/ExamPaperServiceImpl.java
  4. 8
      ccic-exam/src/main/java/com/ccic/safeliab/service/QuestionServiceImpl.java
  5. 19
      ccic-exam/src/main/java/com/ccic/safeliab/web/ExamPaperController.java
  6. 28
      ccic-exam/src/main/resources/mappers/ExamPaperMapper.xml

@ -2,6 +2,7 @@ package com.ccic.safeliab.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ccic.safeliab.entity.ExamPapers;
import com.ccic.safeliab.entity.QuestionCategories;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -48,4 +49,15 @@ public interface ExamPaperMapper extends BaseMapper<ExamPapers> {
* @return 题目详情
*/
ExamPapers getDetail(@Param("id") Long id);
/**
* 随机获取题目
*
* @param industryId 监管行业
* @param questionCount 题目数量
* @return 题目列表
*/
List<QuestionCategories> getRandomQuestions(
@Param("industryId") Long industryId,
@Param("questionCount") Integer questionCount);
}

@ -1,6 +1,7 @@
package com.ccic.safeliab.service;
import com.ccic.safeliab.entity.ExamPapers;
import com.ccic.safeliab.entity.QuestionCategories;
import com.ccic.safeliab.support.BaseService;
import com.ccic.safeliab.vo.InsExamPaperVO;
import org.springframework.stereotype.Service;
@ -68,4 +69,11 @@ public interface ExamPaperService extends BaseService<ExamPapers> {
* @return 题目详情
*/
ExamPapers getDetail(String id);
/**
* 随机获取题目
* @param entity 试卷表
* @return 试卷列表
*/
List<QuestionCategories> getRandomQuestions(ExamPapers entity);
}

@ -81,4 +81,9 @@ public class ExamPaperServiceImpl extends BaseServiceImpl<ExamPaperMapper, ExamP
public ExamPapers getDetail(String id){
return baseMapper.getDetail(Long.valueOf(id));
}
@Override
public List<QuestionCategories> getRandomQuestions(ExamPapers entity) {
return baseMapper.getRandomQuestions(entity.getIndustryId(), entity.getQuestionCount());
}
}

@ -95,16 +95,16 @@ public class QuestionServiceImpl extends BaseServiceImpl<QuestionMapper, Questio
if (answerOptions != null) {
StringBuilder optionsBuilder = new StringBuilder();
if (answerOptions.A != null) {
optionsBuilder.append("A:").append(answerOptions.A).append(";");
optionsBuilder.append("A:").append(answerOptions.A).append("");
}
if (answerOptions.B != null) {
optionsBuilder.append("B:").append(answerOptions.B).append(";");
optionsBuilder.append("B:").append(answerOptions.B).append("");
}
if (answerOptions.C != null) {
optionsBuilder.append("C:").append(answerOptions.C).append(";");
optionsBuilder.append("C:").append(answerOptions.C).append("");
}
if (answerOptions.D != null) {
optionsBuilder.append("D:").append(answerOptions.D).append(";");
optionsBuilder.append("D:").append(answerOptions.D);
}
String options = optionsBuilder.toString();
entity.setOptions(options);

@ -1,6 +1,7 @@
package com.ccic.safeliab.web;
import com.ccic.safeliab.entity.ExamPapers;
import com.ccic.safeliab.entity.QuestionCategories;
import com.ccic.safeliab.service.ExamPaperService;
import com.ccic.safeliab.util.R;
import com.ccic.safeliab.vo.InsExamPaperVO;
@ -18,8 +19,8 @@ public class ExamPaperController {
private ExamPaperService examPaperService;
/**
* 获取试
* @param vo 题库对象VO
* 获取试
* @param vo 试卷对象VO
* @return 查询结果
*/
@PostMapping("/list")
@ -91,4 +92,18 @@ public class ExamPaperController {
ExamPapers data = examPaperService.getDetail(id);
return R.ok().data(data);
}
/**
* 随机获取试题
* @param vo 题库对象VO
* @return 查询结果
*/
@PostMapping("/getRandomQuestions")
public R getRandomQuestions(@RequestBody InsExamPaperVO vo) {
ExamPapers entity = new ExamPapers();
entity.setIndustryId(vo.getIndustryId());
entity.setQuestionCount(vo.getQuestionCount());
List<QuestionCategories> data = examPaperService.getRandomQuestions(entity);
return R.ok().data(data);
}
}

@ -2,6 +2,15 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccic.safeliab.dao.ExamPaperMapper">
<!-- 通用查询映射结果 -->
<resultMap id="QuestionCategoriesResultMap" type="com.ccic.safeliab.entity.QuestionCategories">
<id column="id" property="id"/>
<result column="question_types" property="questionTypes"/>
<result column="industry_id" property="industryId"/>
<result column="service_type_id" property="serviceTypeId"/>
<result column="question_content" property="questionContent"/>
<result column="answer" property="answer"/>
<result column="options" property="options"/>
</resultMap>
<resultMap id="ExamPapersResultMap" type="com.ccic.safeliab.entity.ExamPapers">
<id column="id" property="id"/>
<result column="paper_name" property="paperName"/>
@ -70,4 +79,23 @@
</if>
</where>
</select>
<select id="getRandomQuestions" resultMap="QuestionCategoriesResultMap">
SELECT
id,
question_types,
industry_id,
service_type_id,
question_content,
answer,
options
FROM ex_question_categories
<where>
is_deleted = '0'
<if test="industryId!= null and industryId!= ''">
AND industry_id = #{industryId}
</if>
</where>
ORDER BY RANDOM()
LIMIT #{questionCount};
</select>
</mapper>

Loading…
Cancel
Save