ChenSiTong 6 лет назад
Родитель
Сommit
0eca2180b3

+ 28 - 28
src/main/java/nju/seec/helper/aspect/message/MessageAspect.java

@@ -36,39 +36,39 @@ public class MessageAspect {
 
     public MessageAspect(CourseDAO courseDAO, SlideDAO slideDAO, QuizDAO quizDAO, CommentDAO commentDAO, ChooseDAO chooseDAO, MessageService messageService) {
         messageCreatorMap = ImmutableMap.<MessageType, MessageCreator>builder()
-                .put(MessageType.SLIDE_IN_CLASS, ((joinPoint, object) -> {
-                    Object[] args = joinPoint.getArgs();
-                    Stream.of(args)
-                            .filter(o -> o instanceof Long)
-                            .map(o -> (Long) o)
-                            .findFirst()
-                            .ifPresent(slideId -> {
-                                Slide slide = slideDAO.findSlideById(slideId);
-                                if (slide.getState() == SlideState.IN_CLASS) {
-                                    Set<Long> studentIds = chooseDAO.findStudentIdsByCourseId(slide.getCourse().getId());
-                                    messageService.createMessage(studentIds, MessageType.SLIDE_IN_CLASS, String.format("[%s] - [%s] 已开课", slide.getCourse().getName(), slide.getName()), slide.getId());
-                                }
-                            });
-                }))
+                .put(MessageType.SLIDE_IN_CLASS, ((joinPoint, object) ->
+                        Stream.of(joinPoint.getArgs())
+                                .filter(o -> o instanceof Long)
+                                .map(o -> (Long) o)
+                                .findFirst()
+                                .ifPresent(slideId -> {
+                                    Slide slide = slideDAO.findSlideById(slideId);
+                                    if (slide.getState() == SlideState.IN_CLASS) {
+                                        Set<Long> studentIds = chooseDAO.findStudentIdsByCourseId(slide.getCourse().getId());
+                                        messageService.createMessage(studentIds, MessageType.SLIDE_IN_CLASS, String.format("[%s] - [%s] 已开课", slide.getCourse().getName(), slide.getName()), slide.getId());
+                                    }
+                                }))
+                )
                 .put(MessageType.COMMENT_NEW, (joinPoint, object) -> {
                     if (object instanceof CommentVO) {
                         CommentVO commentVO = (CommentVO) object;
-                        Slide slide = slideDAO.findSlideById(commentVO.getSlideId());
-                        messageService.createMessage(Collections.singleton(slide.getTeacher().getId()), MessageType.COMMENT_NEW, String.format("[%s] - [%s] 在第%d页有新评论", slide.getCourse().getName(), slide.getName(), commentVO.getPageNumber()), slide.getId());
+                        if (commentVO.getShow()) {
+                            Slide slide = slideDAO.findSlideById(commentVO.getSlideId());
+                            messageService.createMessage(Collections.singleton(slide.getTeacher().getId()), MessageType.COMMENT_NEW, String.format("[%s] - [%s] 在第%d页有新评论", slide.getCourse().getName(), slide.getName(), commentVO.getPageNumber()), slide.getId());
+                        }
                     }
                 })
-                .put(MessageType.COMMENT_REPLY, (joinPoint, object) -> {
-                    Stream.of(joinPoint.getArgs())
-                            .filter(o -> o instanceof ReplyDTO)
-                            .map(o -> (ReplyDTO) o)
-                            .findFirst()
-                            .ifPresent(replyDTO -> {
-                                Comment comment = commentDAO.findCommentById(replyDTO.getCommentId());
-                                Slide slide = slideDAO.findSlideById(comment.getSlideId());
-                                messageService.createMessage(Collections.singleton(comment.getUser().getId()), MessageType.COMMENT_REPLY, String.format("您在 [%s] - [%s] 第%d页发表的讨论帖已收到回复", slide.getCourse().getName(), slide.getName(), comment.getPageNumber()), slide.getId());
-                            })
-                    ;
-                })
+                .put(MessageType.COMMENT_REPLY, (joinPoint, object) ->
+                        Stream.of(joinPoint.getArgs())
+                                .filter(o -> o instanceof ReplyDTO)
+                                .map(o -> (ReplyDTO) o)
+                                .findFirst()
+                                .ifPresent(replyDTO -> {
+                                    Comment comment = commentDAO.findCommentById(replyDTO.getCommentId());
+                                    Slide slide = slideDAO.findSlideById(comment.getSlideId());
+                                    messageService.createMessage(Collections.singleton(comment.getUser().getId()), MessageType.COMMENT_REPLY, String.format("您在 [%s] - [%s] 第%d页发表的讨论帖已收到回复", slide.getCourse().getName(), slide.getName(), comment.getPageNumber()), slide.getId());
+                                })
+                )
                 .put(MessageType.NOTICE_NEW, (joinPoint, object) -> {
                     if (object instanceof NoticeVO) {
                         NoticeVO noticeVO = (NoticeVO) object;

+ 11 - 6
src/main/java/nju/seec/helper/controller/CommentController.java

@@ -42,7 +42,9 @@ public class CommentController {
     public CommentVO createComment(LoginUser user,
                                    @Validated @RequestBody CommentDTO commentDTO) {
         CommentVO commentVO = commentService.createComment(user, commentDTO);
-        CommentWebsocket.sendAllMessageToOneSlide(commentDTO.getSlideId(), JsonUtils.toJson(commentVO));
+        if (commentVO.getShow()) {
+            CommentWebsocket.sendAllMessageToOneSlide(commentDTO.getSlideId(), JsonUtils.toJson(commentVO));
+        }
         return commentVO;
     }
 
@@ -101,11 +103,11 @@ public class CommentController {
      */
     @Auth(roles = {UserRole.TEACHER, UserRole.STUDENT}, message = "获取自己的评论")
     @GetMapping("/slide/{slideId}/self")
-    public PageResponse<CommentVO> getSelfComments(LoginUser user,
-                                                   @PathVariable Long slideId,
-                                                   @RequestParam(required = false, defaultValue = "1") Integer pageNumber,
-                                                   @RequestParam(required = false, defaultValue = "true") Boolean show,
-                                                   @PageableDefault(Integer.MAX_VALUE) Pageable pageable) {
+    public PageResponse<CommentVO> getSelfCommentsBySlide(LoginUser user,
+                                                          @PathVariable Long slideId,
+                                                          @RequestParam(required = false, defaultValue = "1") Integer pageNumber,
+                                                          @RequestParam(required = false, defaultValue = "true") Boolean show,
+                                                          @PageableDefault(Integer.MAX_VALUE) Pageable pageable) {
         return PageResponse.of(commentService.getSelfCommentsBySlideAndPageNumber(user, slideId, pageNumber, show, pageable));
     }
 
@@ -120,6 +122,9 @@ public class CommentController {
         commentService.modifyCommentShow(user, commentId, show);
     }
 
+    /**
+     * 取得自己的评论
+     */
     @Auth(roles = {UserRole.TEACHER, UserRole.STUDENT}, message = "获取自己的评论")
     @GetMapping("/self")
     public PageResponse<CommentVO> getSelfComments(LoginUser user,

+ 0 - 9
src/main/java/nju/seec/helper/controller/NoticeController.java

@@ -30,10 +30,6 @@ public class NoticeController {
 
     /**
      * 发布公告
-     *
-     * @param user
-     * @param noticeDTO
-     * @return
      */
     @Auth(roles = UserRole.TEACHER, message = "发布公告")
     @PostMapping
@@ -44,11 +40,6 @@ public class NoticeController {
 
     /**
      * 修改公告
-     *
-     * @param user
-     * @param noticeId
-     * @param noticeDTO
-     * @return
      */
     @Auth(roles = UserRole.TEACHER, message = "修改公告")
     @PutMapping("/{noticeId}")

+ 6 - 3
src/main/java/nju/seec/helper/controller/QuestionController.java

@@ -132,15 +132,18 @@ public class QuestionController {
     }
 
     /**
-     * 取得收藏评价的题目
+     * 取得收藏的题目
      */
-    @Auth(roles = {UserRole.TEACHER, UserRole.STUDENT}, message = "取得收藏评价的题目")
+    @Auth(roles = {UserRole.TEACHER, UserRole.STUDENT}, message = "取得收藏的题目")
     @GetMapping("/collected")
     public PageResponse<BaseQuestionVO> getCollectedQuestions(LoginUser user, @PageableDefault(size = Integer.MAX_VALUE) Pageable pageable) {
         return PageResponse.of(questionService.getCollectedAndRatedQuestions(user, true, null, pageable));
     }
 
-    @Auth(roles = {UserRole.TEACHER, UserRole.STUDENT}, message = "取得收藏评价的题目")
+    /**
+     * 取得评价的题目
+     */
+    @Auth(roles = {UserRole.TEACHER, UserRole.STUDENT}, message = "取得评价的题目")
     @GetMapping("/rated")
     public PageResponse<BaseQuestionVO> getRatedQuestions(LoginUser user, @PageableDefault(size = Integer.MAX_VALUE) Pageable pageable) {
         return PageResponse.of(questionService.getCollectedAndRatedQuestions(user, null, true, pageable));

+ 0 - 1
src/main/java/nju/seec/helper/controller/QuizController.java

@@ -117,7 +117,6 @@ public class QuizController {
     /**
      * 提交作答
      */
-//    @ExerciseRecord
     @Event(type = EventType.QUIZ, action = EventAction.COMPLETE)
     @Auth(roles = {UserRole.STUDENT}, message = "提交作答")
     @PostMapping("/{quizId}/student-answer")

+ 6 - 0
src/main/java/nju/seec/helper/controller/RecordController.java

@@ -21,11 +21,17 @@ public class RecordController {
         this.recordService = recordService;
     }
 
+    /**
+     * 取得所有记录
+     */
     @GetMapping
     public List<ExerciseRecord> getAllRecords() {
         return recordService.getAllRecords();
     }
 
+    /**
+     * 取得某人的记录
+     */
     @GetMapping("/{userId}")
     public List<ExerciseRecord> getRecordsByUserId(@PathVariable String userId) {
         return recordService.getRecordsByUserId(userId);