package com.gkhy.exam.admin.controller.app; import com.gkhy.exam.common.api.CommonResult; import com.gkhy.exam.system.service.ExQuestionService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** *

* 考题表 前端控制器 *

* * @author kzy * @since 2024-06-06 13:53:17 */ @Api(tags = "APP题目前端控制器") @RestController @RequestMapping("/app/question") public class AppQuestionController { @Autowired private ExQuestionService questionService; @PreAuthorize("hasAnyAuthority('train:exam:student')") @ApiOperation(value = "刷题根据题库id获取题目ID列表") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "bankId", dataType = "long", required = false, value = "题库id") }) @GetMapping(value = { "/getExerciseQuestionList" }) public CommonResult getExerciseQuestionList(@RequestParam(required = true) Long bankId) { return CommonResult.success(questionService.getExerciseQuestionList(bankId)); } @PreAuthorize("hasAnyAuthority('train:exam:student')") @ApiOperation(value = "刷题根据题目ID获取题目详情") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "questionId", dataType = "long", required = true, value = "题目id") }) @GetMapping(value = { "/getExerciseQuestionById" }) public CommonResult getExerciseQuestionById(@RequestParam(required = true) Long questionId) { return CommonResult.success(questionService.getExerciseQuestionById(questionId)); } @PreAuthorize("hasAnyAuthority('train:exam:student')") @ApiOperation(value = "刷题根据题目ID列表批量获取题目详情") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "questionIds", dataType = "list", required = true, value = "题目id列表") }) @GetMapping(value = { "/getExerciseQuestionByIds" }) public CommonResult getExerciseQuestionByIds(@RequestParam(required = true) List questionIds) { return CommonResult.success(questionService.getExerciseQuestionByIds(questionIds)); } @PreAuthorize("hasAnyAuthority('train:exam:student')") @ApiOperation(value = "刷题根据题库id获取错题题目ID列表") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "bankId", dataType = "long", required = false, value = "题库id") }) @GetMapping(value = { "/getExerciseErrorQuestionList" }) public CommonResult getExerciseErrorQuestionList(@RequestParam(required = true) Long bankId) { return CommonResult.success(questionService.getExerciseErrorQuestionList(bankId)); } @PreAuthorize("hasAnyAuthority('train:exam:student')") @ApiOperation(value = "考试获取题目ID列表(考试完成返回错对,未完成则返回是否答题状态)") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "bankId", dataType = "long", required = false, value = "考卷id"), @ApiImplicitParam(paramType = "query", name = "viewType", dataType = "int", required = false, value = "查看方式:1考试,2查看") }) @GetMapping(value = { "/getPaperQuestionList" }) public CommonResult getPaperQuestionList(@RequestParam(required = true) Long paperId,@RequestParam(required = true) Integer viewType) { return CommonResult.success(questionService.getPaperQuestionList(paperId,viewType)); } @PreAuthorize("hasAnyAuthority('train:exam:student')") @ApiOperation(value = "考试根据题目ID获取题目详情(考试完成返回答案,未完成则不返回)") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "paperId", dataType = "long", required = true, value = "试卷id"), @ApiImplicitParam(paramType = "query", name = "questionId", dataType = "long", required = true, value = "题目id") }) @GetMapping(value = { "/getPaperQuestionById" }) public CommonResult getPaperQuestionById(@RequestParam(required = true) Long paperId,@RequestParam(required = true) Long questionId) { return CommonResult.success(questionService.getPaperQuestionById(paperId,questionId)); } @PreAuthorize("hasAnyAuthority('train:exam:student')") @ApiOperation(value = "考试根据题目ID列表批量获取题目详情") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "paperId", dataType = "long", required = true, value = "试卷id"), @ApiImplicitParam(paramType = "query", name = "questionIds", dataType = "list", required = true, value = "题目id列表") }) @GetMapping(value = { "/getPaperQuestionByIds" }) public CommonResult getPaperQuestionByIds(@RequestParam(required = true)Long paperId,@RequestParam(required = true) List questionIds) { return CommonResult.success(questionService.getPaperQuestionByIds(paperId,questionIds)); } }