Переглянути джерело

修复因getonepaper的权限引起的bug

4228306 5 роки тому
батько
коміт
802d3892e8

+ 1 - 1
src/main/java/com/yaoxiang/diagnosis/controller/PaperController.java

@@ -54,7 +54,7 @@ public class PaperController {
     @ApiOperation(value = "查询单个试卷  ")
     @RequestMapping(value = "/getOnePaper/{id}", method = RequestMethod.GET)
     public Paper getOnePaper(@PathVariable Long id) {
-        return paperService.getOnePaper(id);
+        return paperService.getOneWithAuth(id);
     }
 
     //    @PreAuthorize("hasRole('ROLE_ADMIN')")

+ 11 - 1
src/main/java/com/yaoxiang/diagnosis/service/PaperService.java

@@ -96,7 +96,7 @@ public class PaperService {
         return papers;
     }
 
-    public Paper getOnePaper(Long id) {
+    public Paper getOneWithAuth(Long id) {
         AuthUser user = SecurityUtil.getCurrentUser();
         boolean student = Constants.USER_TYPE_STUDENT.equals(user.getUser().getUserType());
         Paper paper = paperRepo.findById(id).orElse(null);
@@ -140,6 +140,16 @@ public class PaperService {
         return paper;
     }
 
+    public Paper getOnePaper(Long id) {
+        Paper paper = paperRepo.findById(id).orElse(null);
+        if (paper == null || paper.getStatus() == Constants.NOTREADY) {
+            return null;
+        }
+        List<Question> questions = questionRepo.findByPidOrderBySectionAscNumberAsc(id);
+        paper.setQuestions(questions);
+        return paper;
+    }
+
     public Result add(Paper paper) {
         if (hasPaper(paper.getName(), paper.getTypeId())) {
             return Result.fail("存在同名试卷");