练习页面
This commit is contained in:
parent
3054b861e7
commit
55f1cc845d
|
|
@ -1,9 +1,7 @@
|
||||||
package com.ruoyi.exam.controller;
|
package com.ruoyi.exam.controller;
|
||||||
|
|
||||||
import com.ruoyi.exam.domain.ExamPractice;
|
import com.ruoyi.common.base.AjaxResult;
|
||||||
import com.ruoyi.exam.domain.ExamPracticeQuestion;
|
import com.ruoyi.exam.domain.*;
|
||||||
import com.ruoyi.exam.domain.ExamPracticeQuestionVO;
|
|
||||||
import com.ruoyi.exam.domain.ExamQuestion;
|
|
||||||
import com.ruoyi.exam.service.IExamPracticeQuestionService;
|
import com.ruoyi.exam.service.IExamPracticeQuestionService;
|
||||||
import com.ruoyi.exam.service.IExamPracticeService;
|
import com.ruoyi.exam.service.IExamPracticeService;
|
||||||
import com.ruoyi.exam.service.IExamQuestionService;
|
import com.ruoyi.exam.service.IExamQuestionService;
|
||||||
|
|
@ -13,8 +11,7 @@ import io.swagger.annotations.Api;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by flower on 2019/1/9.
|
* Created by flower on 2019/1/9.
|
||||||
|
|
@ -35,23 +32,42 @@ public class ApiPracticeController extends BaseController {
|
||||||
|
|
||||||
|
|
||||||
@PostMapping("/list")
|
@PostMapping("/list")
|
||||||
public TableDataInfo list(ExamPractice examPractice) {
|
public AjaxResult list(ExamPractice examPractice) {
|
||||||
|
|
||||||
List<ExamPractice> list = examPracticeService.selectListFromWeb(examPractice);
|
List<ExamPractice> list = examPracticeService.selectListFromWeb(examPractice);
|
||||||
return getDataTable( list );
|
AjaxResult success = success("查询成功");
|
||||||
|
success.put("data",list);
|
||||||
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/queryone/question/{id}")
|
/**
|
||||||
public TableDataInfo queryOne(@PathVariable("id") Integer id) {
|
* 查询练习具体的问题列表
|
||||||
ExamPracticeQuestionVO examPracticeQuestion = new ExamPracticeQuestionVO();
|
* @param map
|
||||||
examPracticeQuestion.setId(id);
|
* @return
|
||||||
List<ExamPracticeQuestionVO> list = examPracticeQuestionService.selectExamPracticeQuestionList(examPracticeQuestion);
|
*/
|
||||||
List<String> ids = new ArrayList<>();
|
@PostMapping("/queryone/question")
|
||||||
for (ExamPracticeQuestionVO item : list) {
|
public AjaxResult queryOne(@RequestParam Map<String,Object> map) {
|
||||||
ids.add(item.getExamQuestionId().toString());
|
List<ExamQuestionVO> result = examQuestionService.selectQuestionListByPracticeId(map);
|
||||||
|
if(map.containsKey("disorder")&&map.get("disorder").toString().equals("1")){
|
||||||
|
Collections.shuffle(result);
|
||||||
}
|
}
|
||||||
List<ExamQuestion> result = examQuestionService.selectByIdsPage(ids);
|
AjaxResult success = success("查询成功");
|
||||||
return getDataTable( result );
|
success.put("data",result);
|
||||||
|
return success;
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/answer")
|
||||||
|
public AjaxResult answer(@RequestBody List<Map<String,Object>> answers) {
|
||||||
|
for (Map<String, Object> answer : answers) {
|
||||||
|
String questionId = answer.get("questionId").toString();
|
||||||
|
String userAnswer = answer.get("userAnswer").toString();
|
||||||
|
ExamQuestion examQuestion = examQuestionService.selectById(questionId);
|
||||||
|
if(!examQuestion.getAnswer().equals(userAnswer)){
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
AjaxResult success = success("查询成功");
|
||||||
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
package com.ruoyi.exam.domain;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by flower on 2019/1/10.
|
||||||
|
*/
|
||||||
|
public class ExamQuestionVO extends ExamQuestion{
|
||||||
|
private List<ExamQuestionItem> questionItem;
|
||||||
|
|
||||||
|
public List<ExamQuestionItem> getQuestionItem() {
|
||||||
|
return questionItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setQuestionItem(List<ExamQuestionItem> questionItem) {
|
||||||
|
this.questionItem = questionItem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -2,6 +2,9 @@ package com.ruoyi.exam.mapper;
|
||||||
|
|
||||||
import com.ruoyi.exam.domain.ExamQuestion;
|
import com.ruoyi.exam.domain.ExamQuestion;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import com.ruoyi.exam.domain.ExamQuestionVO;
|
||||||
import com.ruoyi.framework.web.base.MyMapper;
|
import com.ruoyi.framework.web.base.MyMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -61,4 +64,6 @@ public interface ExamQuestionMapper extends MyMapper<ExamQuestion>
|
||||||
public int deleteExamQuestionByIds(String[] ids);
|
public int deleteExamQuestionByIds(String[] ids);
|
||||||
|
|
||||||
List<ExamQuestion> selectListBycategory(ExamQuestion examQuestion);
|
List<ExamQuestion> selectListBycategory(ExamQuestion examQuestion);
|
||||||
|
|
||||||
|
List<ExamQuestionVO> selectQuestionListByPracticeId(Map<String, Object> map);
|
||||||
}
|
}
|
||||||
|
|
@ -2,8 +2,10 @@ package com.ruoyi.exam.service;
|
||||||
|
|
||||||
import com.ruoyi.exam.domain.ExamQuestion;
|
import com.ruoyi.exam.domain.ExamQuestion;
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import com.ruoyi.exam.domain.ExamQuestionVO;
|
||||||
import com.ruoyi.framework.web.base.AbstractBaseService;
|
import com.ruoyi.framework.web.base.AbstractBaseService;
|
||||||
/**
|
/**
|
||||||
* 问题 服务层
|
* 问题 服务层
|
||||||
|
|
@ -63,5 +65,5 @@ public interface IExamQuestionService extends AbstractBaseService<ExamQuestion>
|
||||||
|
|
||||||
List<ExamQuestion> selectListBycategory(ExamQuestion examQuestion);
|
List<ExamQuestion> selectListBycategory(ExamQuestion examQuestion);
|
||||||
|
|
||||||
List<ExamQuestion> selectByIdsPage(List<String> ids);
|
List<ExamQuestionVO> selectQuestionListByPracticeId(Map<String, Object> map);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,11 @@
|
||||||
package com.ruoyi.exam.service.impl;
|
package com.ruoyi.exam.service.impl;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import com.ruoyi.exam.domain.ExamQuestionItem;
|
import com.ruoyi.exam.domain.ExamQuestionItem;
|
||||||
|
import com.ruoyi.exam.domain.ExamQuestionVO;
|
||||||
import com.ruoyi.exam.mapper.ExamQuestionItemMapper;
|
import com.ruoyi.exam.mapper.ExamQuestionItemMapper;
|
||||||
import com.ruoyi.framework.web.util.ShiroUtils;
|
import com.ruoyi.framework.web.util.ShiroUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
@ -162,14 +163,10 @@ public class ExamQuestionServiceImpl extends AbstractBaseServiceImpl<ExamQuestio
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ExamQuestion> selectByIdsPage(List<String> ids) {
|
public List<ExamQuestionVO> selectQuestionListByPracticeId(Map<String, Object> map) {
|
||||||
StringBuffer sb = new StringBuffer();
|
|
||||||
for (String id : ids) {
|
|
||||||
sb.append(id+",");
|
|
||||||
}
|
|
||||||
String substring = sb.substring(0, sb.length() - 1);
|
|
||||||
startPage();
|
startPage();
|
||||||
return examQuestionMapper.selectByIds(substring.toString());
|
return examQuestionMapper.selectQuestionListByPracticeId(map);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -48,8 +48,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<include refid="selectExamPracticeVo"/>
|
<include refid="selectExamPracticeVo"/>
|
||||||
from exam_practice
|
from exam_practice
|
||||||
<where>
|
<where>
|
||||||
((enable_control_time = '1' and end_time > NOW() and start_time < NOW())
|
<![CDATA[((enable_control_time = '1' and end_time > now() and start_time < now())
|
||||||
or enable_control_time = '0')
|
or enable_control_time = '0')]]>
|
||||||
<if test="id != null "> and id = #{id}</if>
|
<if test="id != null "> and id = #{id}</if>
|
||||||
<if test="deptId != null "> and dept_id = #{deptId}</if>
|
<if test="deptId != null "> and dept_id = #{deptId}</if>
|
||||||
<if test="name != null and name != '' "> and name = #{name}</if>
|
<if test="name != null and name != '' "> and name = #{name}</if>
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<result property="remarks" column="remarks" />
|
<result property="remarks" column="remarks" />
|
||||||
<result property="delFlag" column="del_flag" />
|
<result property="delFlag" column="del_flag" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
|
<resultMap type="ExamQuestionVO" id="ExamQuestionResultVO">
|
||||||
|
<result property="id" column="id" />
|
||||||
|
<result property="title" column="title" />
|
||||||
|
<result property="answer" column="answer" />
|
||||||
|
<result property="type" column="type" />
|
||||||
|
<result property="label" column="label" />
|
||||||
|
<result property="categoryId" column="category_id" />
|
||||||
|
<result property="createBy" column="create_by" />
|
||||||
|
<result property="createDate" column="create_date" />
|
||||||
|
<result property="updateBy" column="update_by" />
|
||||||
|
<result property="updateDate" column="update_date" />
|
||||||
|
<result property="remarks" column="remarks" />
|
||||||
|
<result property="delFlag" column="del_flag" />
|
||||||
|
<collection property="questionItem" ofType="com.ruoyi.exam.domain.ExamQuestionItem">
|
||||||
|
<result property="id" column="item_id" />
|
||||||
|
<result property="content" column="item_content" />
|
||||||
|
<result property="number" column="item_number" />
|
||||||
|
<result property="examQuestionId" column="item_exam_question_id" />
|
||||||
|
<result property="createBy" column="item_create_by" />
|
||||||
|
<result property="createDate" column="item_create_date" />
|
||||||
|
<result property="updateBy" column="item_update_by" />
|
||||||
|
<result property="updateDate" column="item_update_date" />
|
||||||
|
<result property="remarks" column="item_remarks" />
|
||||||
|
<result property="delFlag" column="item_del_flag" />
|
||||||
|
</collection>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectExamQuestionVo">
|
<sql id="selectExamQuestionVo">
|
||||||
select id, title, answer, type, label, category_id, create_by, create_date, update_by, update_date, remarks, del_flag from exam_question
|
select id, title, answer, type, label, category_id, create_by, create_date, update_by, update_date, remarks, del_flag from exam_question
|
||||||
|
|
@ -41,7 +69,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectExamQuestionById" parameterType="String" resultMap="ExamQuestionResult">
|
<select id="selectExamQuestionById" resultMap="ExamQuestionResult">
|
||||||
<include refid="selectExamQuestionVo"/>
|
<include refid="selectExamQuestionVo"/>
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
</select>
|
</select>
|
||||||
|
|
@ -66,6 +94,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectQuestionListByPracticeId" resultMap="ExamQuestionResultVO">
|
||||||
|
select eq.id, eq.title, eq.answer, eq.type, eq.label, eq.category_id,
|
||||||
|
eq.create_by, eq.create_date, eq.update_by, eq.update_date, eq.remarks, eq.del_flag ,
|
||||||
|
eqi.id AS item_id,
|
||||||
|
eqi.content AS item_content,
|
||||||
|
eqi.number AS item_number,
|
||||||
|
eqi.exam_question_id AS item_exam_question_id,
|
||||||
|
eqi.remarks AS item_remarks
|
||||||
|
from exam_question eq
|
||||||
|
INNER JOIN exam_practice_question epq ON eq.id = epq.exam_question_id
|
||||||
|
INNER JOIN exam_question_item eqi ON eqi.exam_question_id = eq.id
|
||||||
|
where epq.exam_practice_id = #{practiceId}
|
||||||
|
order by epq.order_num
|
||||||
|
</select>
|
||||||
|
|
||||||
<insert id="insertExamQuestion" keyProperty="id" useGeneratedKeys="true" parameterType="ExamQuestion">
|
<insert id="insertExamQuestion" keyProperty="id" useGeneratedKeys="true" parameterType="ExamQuestion">
|
||||||
insert into exam_question
|
insert into exam_question
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue