Sfoglia il codice sorgente

ADD: 学生查某次考试的分,当不存在分时抛出异常

梅杰 8 anni fa
parent
commit
95bdcdf921

+ 18 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/exception/AssignedTaskNotExistException.java

@@ -0,0 +1,18 @@
+package cn.iselab.mooctest.site.web.exception;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.ResponseStatus;
+
+/**
+ * Created by major on 2017/8/4.
+ */
+@ResponseStatus(code = HttpStatus.NOT_FOUND)
+public class AssignedTaskNotExistException extends RuntimeException {
+    public AssignedTaskNotExistException() {
+        super();
+    }
+
+    public AssignedTaskNotExistException(String message) {
+        super(message);
+    }
+}

+ 2 - 1
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/ExamLogic.java

@@ -4,6 +4,7 @@ import cn.iselab.mooctest.site.web.data.AssignedTaskVO;
 import cn.iselab.mooctest.site.web.data.ExamVO;
 import cn.iselab.mooctest.site.web.data.PaperVO;
 import cn.iselab.mooctest.site.web.data.ScoreVO;
+import cn.iselab.mooctest.site.web.exception.AssignedTaskNotExistException;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 
@@ -26,7 +27,7 @@ public interface ExamLogic {
 
     Page<AssignedTaskVO> getAssignedTasks(Long examId, Pageable pageable);
 
-    ScoreVO getScoreBy(long examId, long participantId);
+    ScoreVO getScoreBy(long examId, long participantId) throws AssignedTaskNotExistException;
     List<Double> getScoreList(Long examId);
 
     List<ExamVO> getExamList(String username);

+ 5 - 1
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/impl/ExamLogicImpl.java

@@ -15,6 +15,7 @@ import cn.iselab.mooctest.site.web.data.wrapper.ExamVOWrapper;
 import cn.iselab.mooctest.site.web.data.wrapper.ScoreVOWrapper;
 import cn.iselab.mooctest.site.web.exception.HttpBadRequestException;
 import cn.iselab.mooctest.site.web.exception.HttpNotFoundException;
+import cn.iselab.mooctest.site.web.exception.AssignedTaskNotExistException;
 import cn.iselab.mooctest.site.web.logic.BaseLogic;
 import cn.iselab.mooctest.site.web.logic.ExamLogic;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -188,8 +189,11 @@ public class ExamLogicImpl extends BaseLogic implements ExamLogic {
     }
 
     @Override
-    public ScoreVO getScoreBy(long examId, long participantId) {
+    public ScoreVO getScoreBy(long examId, long participantId) throws AssignedTaskNotExistException {
         AssignedTask assignedTask = assignedTaskService.getAssignedTask(examId, participantId);
+        if (assignedTask == null) {
+            throw new AssignedTaskNotExistException("该学生本次考试的成绩不存在");
+        }
         ScoreVO scoreVO = scoreVOWrapper.wrap(assignedTask);
         return scoreVO;
     }