|
|
@@ -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;
|