Merge remote-tracking branch 'origin/dev-tmp1' into dev-tmp1

dev-tmp1
luotaiqian 2026-08-25 15:05:42 +08:00
commit f910cc3b27
2 changed files with 89 additions and 7 deletions

View File

@ -9,17 +9,11 @@ import org.qinan.cedu.model.dto.AnswerQuestionDTO;
import org.qinan.cedu.model.dto.StartExamDTO; import org.qinan.cedu.model.dto.StartExamDTO;
import org.qinan.cedu.model.dto.SubmitExamDTO; import org.qinan.cedu.model.dto.SubmitExamDTO;
import org.qinan.cedu.model.vo.PaperExamDetailVO; import org.qinan.cedu.model.vo.PaperExamDetailVO;
import org.qinan.cedu.model.vo.PaperExamInfoVO;
import org.qinan.cedu.model.vo.StartExamVO; import org.qinan.cedu.model.vo.StartExamVO;
import org.qinan.cedu.service.PaperExamService; import org.qinan.cedu.service.PaperExamService;
import org.qinan.safetyeval.client.dto.SingleResponse; import org.qinan.safetyeval.client.dto.SingleResponse;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/** /**
* *

View File

@ -0,0 +1,88 @@
package org.qinan.cedu.controller.app;
import com.jjb.saas.framework.auth.utils.AuthContext;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.qinan.cedu.model.dto.AnswerQuestionDTO;
import org.qinan.cedu.model.dto.StartExamDTO;
import org.qinan.cedu.model.dto.SubmitExamDTO;
import org.qinan.cedu.model.vo.ClassCourseVO;
import org.qinan.cedu.model.vo.ExamStatisticsAndRecordVO;
import org.qinan.cedu.model.vo.PaperExamDetailVO;
import org.qinan.cedu.model.vo.StartExamVO;
import org.qinan.cedu.service.ClassCourseService;
import org.qinan.cedu.service.PaperExamService;
import org.qinan.safetyeval.client.dto.SingleResponse;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
*
*/
@Api(tags = "学习模块")
@RestController
@RequestMapping("/safetyEval/app/study")
@AllArgsConstructor
public class StudyController {
private final ClassCourseService classCourseService;
private final PaperExamService paperExamService;
@ApiOperation("我的学习")
@GetMapping("/myCoursePage")
public SingleResponse<List<ClassCourseVO>> myCoursePage() {
List<ClassCourseVO> list = classCourseService.myCoursePage();
return SingleResponse.success(list);
}
@ApiOperation("成绩查询")
@GetMapping("/myScoreQuery")
public SingleResponse<ExamStatisticsAndRecordVO> scoreQuery() {
ExamStatisticsAndRecordVO examStatisticsAndRecordVO = classCourseService.scoreQuery();
return SingleResponse.success(examStatisticsAndRecordVO);
}
/**
*
*/
@ApiOperation("去考试")
@PostMapping("/startExam")
public SingleResponse<StartExamVO> startExam(@Validated @RequestBody StartExamDTO dto) {
dto.setUserId(AuthContext.getUserId());
return SingleResponse.success(paperExamService.startExam(dto));
}
/**
*
*/
@ApiOperation("作答")
@PostMapping("/answerQuestion")
public SingleResponse<Void> answerQuestion(@Validated @RequestBody AnswerQuestionDTO dto) {
paperExamService.answerQuestion(dto, AuthContext.getUserId());
return SingleResponse.success();
}
/**
* id
*/
@ApiOperation("交卷")
@PostMapping("/submitExam")
public SingleResponse<Void> submitExam(@Validated @RequestBody SubmitExamDTO dto) {
paperExamService.submitExam(dto, AuthContext.getUserId());
return SingleResponse.success();
}
/**
* id
*/
@ApiOperation("考试试卷信息查询")
@GetMapping("/exam/info")
public SingleResponse<PaperExamDetailVO> paperExamInfo(@RequestParam("paperExamId") @ApiParam(value = "考试试卷id", required = true) Long paperExamId) {
PaperExamDetailVO examInfo = paperExamService.paperExamInfo(paperExamId);
return SingleResponse.success(examInfo);
}
}