diff --git a/source/xzs/src/main/java/com/mindskip/xzs/controller/student/ExaminationPaperProductionController.java b/source/xzs/src/main/java/com/mindskip/xzs/controller/student/ExaminationPaperProductionController.java new file mode 100644 index 0000000..f79a69b --- /dev/null +++ b/source/xzs/src/main/java/com/mindskip/xzs/controller/student/ExaminationPaperProductionController.java @@ -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.POST) + public RestResponse paperProduction(@RequestBody @Valid ExaminationProductionVM examinationProductionVM){ + List questionList = examinationPaperProductionService.generation(examinationProductionVM); + return RestResponse.ok(questionList); + } +} diff --git a/source/xzs/src/main/java/com/mindskip/xzs/repository/QuestionMapper.java b/source/xzs/src/main/java/com/mindskip/xzs/repository/QuestionMapper.java index b175ce7..7114072 100644 --- a/source/xzs/src/main/java/com/mindskip/xzs/repository/QuestionMapper.java +++ b/source/xzs/src/main/java/com/mindskip/xzs/repository/QuestionMapper.java @@ -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 { Integer selectAllCount(); - List selectCountByDate(@Param("startTime") Date startTime,@Param("endTime") Date endTime); + List selectCountByDate(@Param("startTime") Date startTime, @Param("endTime") Date endTime); + + List selectQuestionsByQuestionsNumber(ExaminationProductionVM examinationProductionVM); } diff --git a/source/xzs/src/main/java/com/mindskip/xzs/service/ExaminationPaperProductionService.java b/source/xzs/src/main/java/com/mindskip/xzs/service/ExaminationPaperProductionService.java new file mode 100644 index 0000000..cc9e44c --- /dev/null +++ b/source/xzs/src/main/java/com/mindskip/xzs/service/ExaminationPaperProductionService.java @@ -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{ + + + List generation(ExaminationProductionVM examinationProductionVM); +} diff --git a/source/xzs/src/main/java/com/mindskip/xzs/service/impl/ExaminationPaperProductionServiceImpl.java b/source/xzs/src/main/java/com/mindskip/xzs/service/impl/ExaminationPaperProductionServiceImpl.java new file mode 100644 index 0000000..1a3a295 --- /dev/null +++ b/source/xzs/src/main/java/com/mindskip/xzs/service/impl/ExaminationPaperProductionServiceImpl.java @@ -0,0 +1,31 @@ +package com.mindskip.xzs.service.impl; + +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 implements ExaminationPaperProductionService { + + private final QuestionMapper questionMapper; + + @Autowired + public ExaminationPaperProductionServiceImpl(BaseMapper baseMapper, QuestionMapper questionMapper) { + super(baseMapper); + this.questionMapper = questionMapper; + } + + + @Override + public List generation(ExaminationProductionVM examinationProductionVM) { + + return questionMapper.selectQuestionsByQuestionsNumber(examinationProductionVM); + } +} diff --git a/source/xzs/src/main/java/com/mindskip/xzs/viewmodel/student/exam/ExaminationProductionVM.java b/source/xzs/src/main/java/com/mindskip/xzs/viewmodel/student/exam/ExaminationProductionVM.java new file mode 100644 index 0000000..9ffba5b --- /dev/null +++ b/source/xzs/src/main/java/com/mindskip/xzs/viewmodel/student/exam/ExaminationProductionVM.java @@ -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 skillIds; + private Integer industryId; + +} diff --git a/source/xzs/src/main/resources/mapper/QuestionMapper.xml b/source/xzs/src/main/resources/mapper/QuestionMapper.xml index c57141b..7f69689 100644 --- a/source/xzs/src/main/resources/mapper/QuestionMapper.xml +++ b/source/xzs/src/main/resources/mapper/QuestionMapper.xml @@ -209,7 +209,7 @@ 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 - and q.deleted=0 + q.deleted=0 and q.id= #{id} @@ -231,6 +231,33 @@ +