完成试卷生成的方法--By Ternece
This commit is contained in:
parent
78435af514
commit
e4b01330ae
@ -0,0 +1,26 @@
|
||||
package com.mindskip.xzs.controller.student;
|
||||
|
||||
import com.mindskip.xzs.base.BaseApiController;
|
||||
import com.mindskip.xzs.base.RestResponse;
|
||||
import com.mindskip.xzs.domain.Question;
|
||||
import com.mindskip.xzs.service.ExaminationPaperProductionService;
|
||||
import com.mindskip.xzs.viewmodel.student.exam.ExaminationProductionVM;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
@RestController("ExaminationPaperProductionController")
|
||||
@RequestMapping(value = "/api/student/examination/paper")
|
||||
@AllArgsConstructor
|
||||
public class ExaminationPaperProductionController extends BaseApiController {
|
||||
|
||||
private final ExaminationPaperProductionService examinationPaperProductionService;
|
||||
|
||||
@RequestMapping(value = "/production", method = RequestMethod.GET)
|
||||
public RestResponse paperProduction(@RequestBody @Valid ExaminationProductionVM examinationProductionVM){
|
||||
List<Question> questionList = examinationPaperProductionService.generation(examinationProductionVM);
|
||||
return RestResponse.ok(questionList);
|
||||
}
|
||||
}
|
@ -1,8 +1,9 @@
|
||||
package com.mindskip.xzs.repository;
|
||||
|
||||
import com.mindskip.xzs.domain.other.KeyValue;
|
||||
import com.mindskip.xzs.domain.Question;
|
||||
import com.mindskip.xzs.domain.other.KeyValue;
|
||||
import com.mindskip.xzs.viewmodel.admin.question.QuestionPageRequestVM;
|
||||
import com.mindskip.xzs.viewmodel.student.exam.ExaminationProductionVM;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@ -29,5 +30,7 @@ public interface QuestionMapper extends BaseMapper<Question> {
|
||||
|
||||
Integer selectAllCount();
|
||||
|
||||
List<KeyValue> selectCountByDate(@Param("startTime") Date startTime,@Param("endTime") Date endTime);
|
||||
List<KeyValue> selectCountByDate(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
|
||||
|
||||
List<Question> selectQuestionsByQuestionsNumber(ExaminationProductionVM examinationProductionVM);
|
||||
}
|
||||
|
@ -0,0 +1,12 @@
|
||||
package com.mindskip.xzs.service;
|
||||
|
||||
import com.mindskip.xzs.domain.Question;
|
||||
import com.mindskip.xzs.viewmodel.student.exam.ExaminationProductionVM;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ExaminationPaperProductionService extends BaseService<Question>{
|
||||
|
||||
|
||||
List<Question> generation(ExaminationProductionVM examinationProductionVM);
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
package com.mindskip.xzs.service.impl;
|
||||
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.mindskip.xzs.domain.Question;
|
||||
import com.mindskip.xzs.repository.BaseMapper;
|
||||
import com.mindskip.xzs.repository.QuestionMapper;
|
||||
import com.mindskip.xzs.service.ExaminationPaperProductionService;
|
||||
import com.mindskip.xzs.viewmodel.student.exam.ExaminationProductionVM;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
|
||||
public class ExaminationPaperProductionServiceImpl extends BaseServiceImpl<Question> implements ExaminationPaperProductionService {
|
||||
|
||||
private final QuestionMapper questionMapper;
|
||||
|
||||
@Autowired
|
||||
public ExaminationPaperProductionServiceImpl(BaseMapper<Question> baseMapper, QuestionMapper questionMapper) {
|
||||
super(baseMapper);
|
||||
this.questionMapper = questionMapper;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<Question> generation(ExaminationProductionVM examinationProductionVM) {
|
||||
|
||||
return PageHelper.startPage(examinationProductionVM.getPageIndex(),examinationProductionVM.getPageSize()).doSelectPage(()->
|
||||
questionMapper.selectQuestionsByQuestionsNumber(examinationProductionVM));
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package com.mindskip.xzs.viewmodel.student.exam;
|
||||
|
||||
import com.mindskip.xzs.base.BasePage;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class ExaminationProductionVM extends BasePage {
|
||||
@NotNull
|
||||
private int questionNumber;
|
||||
|
||||
private Integer difficult;
|
||||
private List<Integer> skillIds;
|
||||
private Integer industryId;
|
||||
|
||||
}
|
@ -209,7 +209,7 @@
|
||||
<include refid="Page_Column_List"/>
|
||||
FROM t_question AS q LEFT JOIN t_industry AS i ON q.industry_id = i.id LEFT JOIN t_skill AS s ON s.id = q.skill_id
|
||||
<where>
|
||||
and q.deleted=0
|
||||
q.deleted=0
|
||||
<if test="id != null ">
|
||||
and q.id= #{id}
|
||||
</if>
|
||||
@ -231,6 +231,33 @@
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectQuestionsByQuestionsNumber"
|
||||
parameterType="com.mindskip.xzs.viewmodel.student.exam.ExaminationProductionVM"
|
||||
resultMap="BaseResultMap"
|
||||
>
|
||||
select
|
||||
<include refid="Base_Column_List"/>
|
||||
from t_question
|
||||
<where>
|
||||
q.deleted=0
|
||||
<if test="difficult != null">
|
||||
and difficult = #{difficult}
|
||||
</if>
|
||||
<if test="industryId != null">
|
||||
and industry_id= #{industryId}
|
||||
</if>
|
||||
<if test="skillIds != null">
|
||||
and skill_id in
|
||||
<foreach collection="skillIds" item="skillId" open="(" separator=","
|
||||
close=")">
|
||||
#{skillId}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
group by skill_id
|
||||
limit #{questionNumber}
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectByIds" resultMap="BaseResultMap" >
|
||||
|
Loading…
Reference in New Issue
Block a user