Parcourir la source

add: 添加获取用户单一考试信息的新接口

weijin il y a 4 ans
Parent
commit
730858eba2

+ 12 - 3
src/main/java/com/nju/edu/eval/data/dao/RecordDao.java

@@ -27,14 +27,23 @@ public interface RecordDao extends JpaRepository<QuestionRecord, Integer> {
 
     /**
      * 根据用户Id和考试Id和题目Id获得所有的record
-     * @param userId
-     * @param questionId
-     * @param examId
+     * @param userId 用户id
+     * @param questionId 题目id
+     * @param examId 考试id
      * @return
      */
     @Query(value = "select * from record r where r.exam_id = :examId and r.student_id = :userId and  r.question_id = :questionId order by r.submitTime DESC ", nativeQuery = true)
     List<QuestionRecord>  findAllByUserIdAndQuestionIdAndExamId(Integer userId, String questionId, Integer examId);
 
+    /**
+     * 根据用户Id和考试Id和题目Id获得所有的record
+     * @param userId 用户id
+     * @param examId 考试id
+     * @return
+     */
+    @Query(value = "select * from record r where r.exam_id = :examId and r.student_id = :userId order by r.submitTime DESC ", nativeQuery = true)
+    List<QuestionRecord>  findAllByUserIdAndExamId(Integer userId, Integer examId);
+
     /**
      * 返回某次考试的所有提交记录
      * @param examId 考试id

+ 9 - 1
src/main/java/com/nju/edu/eval/service/RecordService.java

@@ -18,7 +18,15 @@ public interface RecordService {
      * @param examId 考试id
      * @return
      */
-    List<QuestionRecordVO> getQuestionRecordsOfExam(Integer userId, String questionId, Integer examId);
+    List<QuestionRecordVO> getSingleQuestionRecordsOfExam(Integer userId, String questionId, Integer examId);
+
+    /**
+     * 获得某次考试某个同学所有提交记录
+     * @param userId 学生id
+     * @param examId 考试id
+     * @return
+     */
+    List<QuestionRecordVO> getQuestionRecordsOfExamByUserId(Integer userId, Integer examId);
 
     /**
      * 获得某次考试所有做题记录

+ 7 - 1
src/main/java/com/nju/edu/eval/service/serviceImpl/RecordServiceImpl.java

@@ -24,11 +24,17 @@ public class RecordServiceImpl implements RecordService {
     }
 
     @Override
-    public List<QuestionRecordVO> getQuestionRecordsOfExam(Integer userId, String questionId, Integer examId) {
+    public List<QuestionRecordVO> getSingleQuestionRecordsOfExam(Integer userId, String questionId, Integer examId) {
         return recordDao.findAllByUserIdAndQuestionIdAndExamId(userId, questionId, examId)
                 .stream().map(RecordConvertor::convertToVO).collect(Collectors.toList());
     }
 
+    @Override
+    public List<QuestionRecordVO> getQuestionRecordsOfExamByUserId(Integer userId, Integer examId){
+        return recordDao.findAllByUserIdAndExamId(userId, examId)
+                .stream().map(RecordConvertor::convertToVO).collect(Collectors.toList());
+    }
+
     @Override
     public List<QuestionRecordVO> getAllQuestionRecordsOfExam(Integer examId) {
         return recordDao.findAllByExamIdOrderByIdDesc(examId).stream().map(RecordConvertor::convertToVO).collect(Collectors.toList());

+ 9 - 2
src/main/java/com/nju/edu/eval/web/controller/RecordController.java

@@ -27,9 +27,16 @@ public class RecordController {
     @ApiOperation("获得某次考试某个同学关于某道题的所有提交记录")
     @GetMapping("")
     @Authorized()
-    public Response getQuestionRecordsOfExam(@ApiIgnore User user, @RequestParam(value = "examId") Integer examId,
+    public Response getSingleQuestionRecordsOfExam(@ApiIgnore User user, @RequestParam(value = "examId") Integer examId,
                                    @RequestParam(value = "questionId") String questionId) {
-        return Response.buildSuccess(recordService.getQuestionRecordsOfExam(user.getId(), questionId, examId));
+        return Response.buildSuccess(recordService.getSingleQuestionRecordsOfExam(user.getId(), questionId, examId));
+    }
+
+    @ApiOperation("获得某次考试某个同学所有提交记录")
+    @GetMapping("/all")
+    @Authorized()
+    public Response getQuestionRecordsOfExamByUserId(@ApiIgnore User user, @RequestParam(value = "examId") Integer examId) {
+        return Response.buildSuccess(recordService.getQuestionRecordsOfExamByUserId(user.getId(), examId));
     }
 
     @ApiOperation("获得某次考试所有做题记录")