Commit 2ac2f944 by 段启岩

消息类型增加

parent f259d7ac
package cn.meteor.beyondclouds.modules.blog.service.impl; package cn.meteor.beyondclouds.modules.blog.service.impl;
import cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage;
import cn.meteor.beyondclouds.core.queue.message.DataItemType;
import cn.meteor.beyondclouds.modules.blog.entity.Blog; import cn.meteor.beyondclouds.modules.blog.entity.Blog;
import cn.meteor.beyondclouds.modules.blog.entity.BlogComment; import cn.meteor.beyondclouds.modules.blog.entity.BlogComment;
import cn.meteor.beyondclouds.modules.blog.enums.BlogCommentErrorCode; import cn.meteor.beyondclouds.modules.blog.enums.BlogCommentErrorCode;
...@@ -9,6 +11,7 @@ import cn.meteor.beyondclouds.modules.blog.exception.BlogServiceException; ...@@ -9,6 +11,7 @@ import cn.meteor.beyondclouds.modules.blog.exception.BlogServiceException;
import cn.meteor.beyondclouds.modules.blog.mapper.BlogCommentMapper; import cn.meteor.beyondclouds.modules.blog.mapper.BlogCommentMapper;
import cn.meteor.beyondclouds.modules.blog.service.IBlogCommentService; import cn.meteor.beyondclouds.modules.blog.service.IBlogCommentService;
import cn.meteor.beyondclouds.modules.blog.service.IBlogService; import cn.meteor.beyondclouds.modules.blog.service.IBlogService;
import cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService;
import cn.meteor.beyondclouds.modules.user.entity.User; import cn.meteor.beyondclouds.modules.user.entity.User;
import cn.meteor.beyondclouds.modules.user.service.IUserService; import cn.meteor.beyondclouds.modules.user.service.IUserService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...@@ -35,6 +38,8 @@ public class BlogCommentServiceImpl extends ServiceImpl<BlogCommentMapper, BlogC ...@@ -35,6 +38,8 @@ public class BlogCommentServiceImpl extends ServiceImpl<BlogCommentMapper, BlogC
private IUserService userService; private IUserService userService;
private IMessageQueueService messageQueueService;
@Autowired @Autowired
public void setBlogService(IBlogService blogService) { public void setBlogService(IBlogService blogService) {
this.blogService = blogService; this.blogService = blogService;
...@@ -45,6 +50,12 @@ public class BlogCommentServiceImpl extends ServiceImpl<BlogCommentMapper, BlogC ...@@ -45,6 +50,12 @@ public class BlogCommentServiceImpl extends ServiceImpl<BlogCommentMapper, BlogC
this.userService = userService; this.userService = userService;
} }
@Autowired
public void setMessageQueueService(IMessageQueueService messageQueueService) {
this.messageQueueService = messageQueueService;
}
/** /**
* 发布评论 * 发布评论
* @param blogId * @param blogId
...@@ -119,6 +130,9 @@ public class BlogCommentServiceImpl extends ServiceImpl<BlogCommentMapper, BlogC ...@@ -119,6 +130,9 @@ public class BlogCommentServiceImpl extends ServiceImpl<BlogCommentMapper, BlogC
blogComment.setThread(thread); blogComment.setThread(thread);
//5.更新路径信息 //5.更新路径信息
updateById(blogComment); updateById(blogComment);
messageQueueService
.sendDataItemChangeMessage(DataItemChangeMessage.addMessage(DataItemType.BLOG_COMMENT, blogComment.getCommentId(), userId));
} }
......
...@@ -17,6 +17,10 @@ import cn.meteor.beyondclouds.modules.project.entity.Project; ...@@ -17,6 +17,10 @@ import cn.meteor.beyondclouds.modules.project.entity.Project;
import cn.meteor.beyondclouds.modules.project.entity.ProjectComment; import cn.meteor.beyondclouds.modules.project.entity.ProjectComment;
import cn.meteor.beyondclouds.modules.project.service.IProjectCommentService; import cn.meteor.beyondclouds.modules.project.service.IProjectCommentService;
import cn.meteor.beyondclouds.modules.project.service.IProjectService; import cn.meteor.beyondclouds.modules.project.service.IProjectService;
import cn.meteor.beyondclouds.modules.question.entity.Question;
import cn.meteor.beyondclouds.modules.question.entity.QuestionReply;
import cn.meteor.beyondclouds.modules.question.service.IQuestionReplyService;
import cn.meteor.beyondclouds.modules.question.service.IQuestionService;
import cn.meteor.beyondclouds.modules.user.entity.User; import cn.meteor.beyondclouds.modules.user.entity.User;
import cn.meteor.beyondclouds.modules.user.entity.UserFollow; import cn.meteor.beyondclouds.modules.user.entity.UserFollow;
import cn.meteor.beyondclouds.modules.user.service.IUserFollowService; import cn.meteor.beyondclouds.modules.user.service.IUserFollowService;
...@@ -41,6 +45,9 @@ public class MessageListener implements DataItemChangeListener { ...@@ -41,6 +45,9 @@ public class MessageListener implements DataItemChangeListener {
private IProjectCommentService projectCommentService; private IProjectCommentService projectCommentService;
private IPostService postService; private IPostService postService;
private IPostCommentService postCommentService; private IPostCommentService postCommentService;
private IQuestionReplyService questionReplyService;
private IQuestionService questionService;
@Autowired @Autowired
public void setMessageService(IMessageService messageService) { public void setMessageService(IMessageService messageService) {
...@@ -83,6 +90,20 @@ public class MessageListener implements DataItemChangeListener { ...@@ -83,6 +90,20 @@ public class MessageListener implements DataItemChangeListener {
} }
@Autowired @Autowired
public void setQuestionReplyService(IQuestionReplyService questionReplyService) {
this.questionReplyService = questionReplyService;
}
@Override
public void onUserAvatarUpdate(DataItemChangeMessage dataItemChangeMessage) {
}
public void setQuestionService(IQuestionService questionService) {
this.questionService = questionService;
}
@Autowired
public void setUserService(IUserService userService) { public void setUserService(IUserService userService) {
this.userService = userService; this.userService = userService;
} }
...@@ -197,32 +218,35 @@ public class MessageListener implements DataItemChangeListener { ...@@ -197,32 +218,35 @@ public class MessageListener implements DataItemChangeListener {
} }
// 问题 // 问题
if (itemType.equals(DataItemType.PROJECT_COMMENT)) { if (itemType.equals(DataItemType.QUESTION_REPLY)) {
// 获取评论 // 获取回答
PostComment comment = postCommentService.getById(itemId); QuestionReply questionReply = questionReplyService.getById(itemId);
// 获取父评论 // 获取问题
PostComment parentComment = null; Question question = questionService.getById(questionReply.getQuestionId());
if (comment.getParentId() != null) {
parentComment = postCommentService.getById(parentComment.getParentId()); // 给问题提出者发消息
Message messageToAuthor = new Message();
messageToAuthor.setUserId(question.getUserId());
messageToAuthor.setMscContent(String.format("用户%s对您的问题%s进行了回答!", questionReply.getUserNick(), question.getQuestionTitle()));
messageService.save(messageToAuthor);
} }
// 获取博客 // 回答采纳
Post post = postService.getById(comment.getPostId()); if (itemType.equals(DataItemType.QUESTION_REPLY_ACCEPT)) {
// 获取回答
QuestionReply questionReply = questionReplyService.getById(itemId);
// 给博主发消息 // 获取问题
Question question = questionService.getById(questionReply.getQuestionId());
// 给问题提出者发消息
Message messageToAuthor = new Message(); Message messageToAuthor = new Message();
messageToAuthor.setUserId(post.getUserId()); messageToAuthor.setUserId(questionReply.getUserId());
messageToAuthor.setMscContent(String.format("用户%s对您的动态%s进行了评论!", comment.getUserNick(), post.getContent())); messageToAuthor.setMscContent(String.format("您在问题%s的回答被采纳了!", question.getQuestionTitle()));
messageService.save(messageToAuthor); messageService.save(messageToAuthor);
// 给父评论的用户发消息
if (null != parentComment) {
Message messageToParentCommenter = new Message();
messageToParentCommenter.setUserId(parentComment.getUserId());
messageToParentCommenter.setMscContent(String.format("用户%s对您在动态%s下的评论进行了回复", comment.getUserNick(), post.getContent()));
}
} }
......
package cn.meteor.beyondclouds.modules.post.service.impl; package cn.meteor.beyondclouds.modules.post.service.impl;
import cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage;
import cn.meteor.beyondclouds.core.queue.message.DataItemType;
import cn.meteor.beyondclouds.modules.post.entity.Post; import cn.meteor.beyondclouds.modules.post.entity.Post;
import cn.meteor.beyondclouds.modules.post.entity.PostComment; import cn.meteor.beyondclouds.modules.post.entity.PostComment;
import cn.meteor.beyondclouds.modules.post.enums.PostCommentErrorCode; import cn.meteor.beyondclouds.modules.post.enums.PostCommentErrorCode;
...@@ -9,6 +11,7 @@ import cn.meteor.beyondclouds.modules.post.exception.PostServiceException; ...@@ -9,6 +11,7 @@ import cn.meteor.beyondclouds.modules.post.exception.PostServiceException;
import cn.meteor.beyondclouds.modules.post.mapper.PostCommentMapper; import cn.meteor.beyondclouds.modules.post.mapper.PostCommentMapper;
import cn.meteor.beyondclouds.modules.post.service.IPostCommentService; import cn.meteor.beyondclouds.modules.post.service.IPostCommentService;
import cn.meteor.beyondclouds.modules.post.service.IPostService; import cn.meteor.beyondclouds.modules.post.service.IPostService;
import cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService;
import cn.meteor.beyondclouds.modules.user.entity.User; import cn.meteor.beyondclouds.modules.user.entity.User;
import cn.meteor.beyondclouds.modules.user.service.IUserService; import cn.meteor.beyondclouds.modules.user.service.IUserService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...@@ -35,6 +38,8 @@ public class PostCommentServiceImpl extends ServiceImpl<PostCommentMapper, PostC ...@@ -35,6 +38,8 @@ public class PostCommentServiceImpl extends ServiceImpl<PostCommentMapper, PostC
private IUserService userService; private IUserService userService;
private IMessageQueueService messageQueueService;
@Autowired @Autowired
public void setPostService(IPostService postService) { public void setPostService(IPostService postService) {
this.postService = postService; this.postService = postService;
...@@ -45,6 +50,11 @@ public class PostCommentServiceImpl extends ServiceImpl<PostCommentMapper, PostC ...@@ -45,6 +50,11 @@ public class PostCommentServiceImpl extends ServiceImpl<PostCommentMapper, PostC
this.userService = userService; this.userService = userService;
} }
@Autowired
public void setMessageQueueService(IMessageQueueService messageQueueService) {
this.messageQueueService = messageQueueService;
}
/** /**
* 发布评论 * 发布评论
* @param postId * @param postId
...@@ -99,6 +109,9 @@ public class PostCommentServiceImpl extends ServiceImpl<PostCommentMapper, PostC ...@@ -99,6 +109,9 @@ public class PostCommentServiceImpl extends ServiceImpl<PostCommentMapper, PostC
// 更新动态的评论数量 // 更新动态的评论数量
post.setCommentNumber(post.getCommentNumber() + 1); post.setCommentNumber(post.getCommentNumber() + 1);
postService.updateById(post); postService.updateById(post);
messageQueueService
.sendDataItemChangeMessage(DataItemChangeMessage.addMessage(DataItemType.POST_COMMENT, postComment.getCommentId(), userId));
} }
/** /**
......
...@@ -6,6 +6,8 @@ import cn.meteor.beyondclouds.core.annotation.Anonymous; ...@@ -6,6 +6,8 @@ import cn.meteor.beyondclouds.core.annotation.Anonymous;
import cn.meteor.beyondclouds.core.annotation.CurrentSubject; import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response; import cn.meteor.beyondclouds.core.api.Response;
import cn.meteor.beyondclouds.core.authentication.Subject; import cn.meteor.beyondclouds.core.authentication.Subject;
import cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage;
import cn.meteor.beyondclouds.core.queue.message.DataItemType;
import cn.meteor.beyondclouds.modules.project.entity.ProjectComment; import cn.meteor.beyondclouds.modules.project.entity.ProjectComment;
import cn.meteor.beyondclouds.modules.project.exception.ProjectCommentServiceException; import cn.meteor.beyondclouds.modules.project.exception.ProjectCommentServiceException;
import cn.meteor.beyondclouds.modules.project.form.ProjectCommentForm; import cn.meteor.beyondclouds.modules.project.form.ProjectCommentForm;
...@@ -62,7 +64,6 @@ public class ProjectCommentApi { ...@@ -62,7 +64,6 @@ public class ProjectCommentApi {
e.printStackTrace(); e.printStackTrace();
return Response.error(e); return Response.error(e);
} }
} }
@ApiOperation("删除评论") @ApiOperation("删除评论")
......
package cn.meteor.beyondclouds.modules.project.service.impl; package cn.meteor.beyondclouds.modules.project.service.impl;
import cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage;
import cn.meteor.beyondclouds.core.queue.message.DataItemType;
import cn.meteor.beyondclouds.modules.project.entity.Project; import cn.meteor.beyondclouds.modules.project.entity.Project;
import cn.meteor.beyondclouds.modules.project.entity.ProjectComment; import cn.meteor.beyondclouds.modules.project.entity.ProjectComment;
import cn.meteor.beyondclouds.modules.project.enums.ProjectCommentErrorCode; import cn.meteor.beyondclouds.modules.project.enums.ProjectCommentErrorCode;
...@@ -8,6 +10,7 @@ import cn.meteor.beyondclouds.modules.project.exception.ProjectCommentServiceExc ...@@ -8,6 +10,7 @@ import cn.meteor.beyondclouds.modules.project.exception.ProjectCommentServiceExc
import cn.meteor.beyondclouds.modules.project.mapper.ProjectCommentMapper; import cn.meteor.beyondclouds.modules.project.mapper.ProjectCommentMapper;
import cn.meteor.beyondclouds.modules.project.service.IProjectCommentService; import cn.meteor.beyondclouds.modules.project.service.IProjectCommentService;
import cn.meteor.beyondclouds.modules.project.service.IProjectService; import cn.meteor.beyondclouds.modules.project.service.IProjectService;
import cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService;
import cn.meteor.beyondclouds.modules.user.entity.User; import cn.meteor.beyondclouds.modules.user.entity.User;
import cn.meteor.beyondclouds.modules.user.enums.AuthenticationErrorCode; import cn.meteor.beyondclouds.modules.user.enums.AuthenticationErrorCode;
import cn.meteor.beyondclouds.modules.user.exception.UserServiceException; import cn.meteor.beyondclouds.modules.user.exception.UserServiceException;
...@@ -36,6 +39,8 @@ public class ProjectCommentServiceImpl extends ServiceImpl<ProjectCommentMapper, ...@@ -36,6 +39,8 @@ public class ProjectCommentServiceImpl extends ServiceImpl<ProjectCommentMapper,
private IUserService userService; private IUserService userService;
private IMessageQueueService messageQueueService;
@Autowired @Autowired
public void setProjectService(IProjectService projectService) { public void setProjectService(IProjectService projectService) {
this.projectService = projectService; this.projectService = projectService;
...@@ -46,6 +51,11 @@ public class ProjectCommentServiceImpl extends ServiceImpl<ProjectCommentMapper, ...@@ -46,6 +51,11 @@ public class ProjectCommentServiceImpl extends ServiceImpl<ProjectCommentMapper,
this.userService = userService; this.userService = userService;
} }
@Autowired
public void setMessageQueueService(IMessageQueueService messageQueueService) {
this.messageQueueService = messageQueueService;
}
@Override @Override
public void publishComment(Integer projectId, Integer parentId, String comment, String userId) throws ProjectCommentServiceException { public void publishComment(Integer projectId, Integer parentId, String comment, String userId) throws ProjectCommentServiceException {
Assert.notNull(projectId, "projectId must not be null"); Assert.notNull(projectId, "projectId must not be null");
...@@ -100,6 +110,10 @@ public class ProjectCommentServiceImpl extends ServiceImpl<ProjectCommentMapper, ...@@ -100,6 +110,10 @@ public class ProjectCommentServiceImpl extends ServiceImpl<ProjectCommentMapper,
projectComment.setThread(parentComment.getThread() + "/" + projectComment.getCommentId()); projectComment.setThread(parentComment.getThread() + "/" + projectComment.getCommentId());
} }
updateById(projectComment); updateById(projectComment);
messageQueueService
.sendDataItemChangeMessage(DataItemChangeMessage.addMessage(DataItemType.PROJECT_COMMENT, projectComment.getCommentId(), userId));
} }
@Override @Override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment