Commit d69b1cea by 段启岩

修复用户信息统计

parent 5627b769
......@@ -15,30 +15,31 @@ import java.io.Serializable;
@NoArgsConstructor
public class DataItemChangeMessage {
public DataItemChangeMessage(DataItemChangeType changeType, DataItemType itemType, Serializable itemId) {
public DataItemChangeMessage(DataItemChangeType changeType, DataItemType itemType, Serializable itemId, String operatorId) {
this.itemId = itemId;
this.itemType = itemType;
this.changeType = changeType;
this.operatorId = operatorId;
}
public static DataItemChangeMessage addMessage(DataItemType itemType, Serializable itemId) {
return new DataItemChangeMessage(DataItemChangeType.ADD, itemType, itemId);
public static DataItemChangeMessage addMessage(DataItemType itemType, Serializable itemId, String operatorId) {
return new DataItemChangeMessage(DataItemChangeType.ADD, itemType, itemId, operatorId);
}
public static DataItemChangeMessage deleteMessage(DataItemType itemType, Serializable itemId) {
return new DataItemChangeMessage(DataItemChangeType.DELETE, itemType, itemId);
public static DataItemChangeMessage deleteMessage(DataItemType itemType, Serializable itemId, String operatorId) {
return new DataItemChangeMessage(DataItemChangeType.DELETE, itemType, itemId, operatorId);
}
public static DataItemChangeMessage updateMessage(DataItemType itemType, Serializable itemId) {
return new DataItemChangeMessage(DataItemChangeType.UPDATE, itemType, itemId);
public static DataItemChangeMessage updateMessage(DataItemType itemType, Serializable itemId, String operatorId) {
return new DataItemChangeMessage(DataItemChangeType.UPDATE, itemType, itemId, operatorId);
}
public static DataItemChangeMessage userAvatarUpdateMessage(DataItemType itemType, Serializable itemId) {
return new DataItemChangeMessage(DataItemChangeType.USER_AVATAR_UPDATE, itemType, itemId);
public static DataItemChangeMessage userAvatarUpdateMessage(DataItemType itemType, Serializable itemId, String operatorId) {
return new DataItemChangeMessage(DataItemChangeType.USER_AVATAR_UPDATE, itemType, itemId, operatorId);
}
public static DataItemChangeMessage userNickUpdateMessage(DataItemType itemType, Serializable itemId) {
return new DataItemChangeMessage(DataItemChangeType.USER_NICK_UPDATE, itemType, itemId);
public static DataItemChangeMessage userNickUpdateMessage(DataItemType itemType, Serializable itemId, String operatorId) {
return new DataItemChangeMessage(DataItemChangeType.USER_NICK_UPDATE, itemType, itemId, operatorId);
}
/**
......@@ -47,6 +48,11 @@ public class DataItemChangeMessage {
private Serializable itemId;
/**
* 操作者ID
*/
private String operatorId;
/**
* 条目类型
*/
private DataItemType itemType;
......
......@@ -164,7 +164,7 @@ public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IB
// 5.发送消息到消息队列
messageQueueService
.sendDataItemChangeMessage(
DataItemChangeMessage.addMessage(DataItemType.BLOG, blog.getBlogId())
DataItemChangeMessage.addMessage(DataItemType.BLOG, blog.getBlogId(), blog.getUserId())
);
}
......@@ -215,7 +215,7 @@ public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IB
// 5.发送消息到消息队列
messageQueueService
.sendDataItemChangeMessage(
DataItemChangeMessage.deleteMessage(DataItemType.BLOG, blog.getBlogId())
DataItemChangeMessage.deleteMessage(DataItemType.BLOG, blog.getBlogId(), blog.getUserId())
);
}
......@@ -419,7 +419,7 @@ public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IB
// 5.发送消息到消息队列
messageQueueService
.sendDataItemChangeMessage(
DataItemChangeMessage.updateMessage(DataItemType.BLOG, blog.getBlogId())
DataItemChangeMessage.updateMessage(DataItemType.BLOG, blog.getBlogId(), blog.getUserId())
);
}
......
......@@ -79,7 +79,7 @@ public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements IP
//2.保存动态
save(post);
messageQueueService.sendDataItemChangeMessage(DataItemChangeMessage.addMessage(DataItemType.POST, post.getPostId()));
messageQueueService.sendDataItemChangeMessage(DataItemChangeMessage.addMessage(DataItemType.POST, post.getPostId(), post.getUserId()));
}
......@@ -103,7 +103,7 @@ public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements IP
//2.删除动态
removeById(postId);
messageQueueService.sendDataItemChangeMessage(DataItemChangeMessage.deleteMessage(DataItemType.POST, post.getPostId()));
messageQueueService.sendDataItemChangeMessage(DataItemChangeMessage.deleteMessage(DataItemType.POST, post.getPostId(), userId));
}
......
......@@ -116,7 +116,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
// 4.发送消息到消息队列
messageQueueService
.sendDataItemChangeMessage(
DataItemChangeMessage.addMessage(DataItemType.PROJECT, project.getProjectId())
DataItemChangeMessage.addMessage(DataItemType.PROJECT, project.getProjectId(), project.getUserId())
);
}
......@@ -153,7 +153,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
// 4.发送消息到消息队列
messageQueueService
.sendDataItemChangeMessage(
DataItemChangeMessage.deleteMessage(DataItemType.PROJECT, project.getProjectId())
DataItemChangeMessage.deleteMessage(DataItemType.PROJECT, project.getProjectId(), userId)
);
}
......@@ -253,7 +253,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
// 4.发送消息到消息队列
messageQueueService
.sendDataItemChangeMessage(
DataItemChangeMessage.updateMessage(DataItemType.PROJECT, project.getProjectId())
DataItemChangeMessage.updateMessage(DataItemType.PROJECT, project.getProjectId(), project.getUserId())
);
}
......
......@@ -168,7 +168,7 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
// 6.发送消息到消息队列
messageQueueService
.sendDataItemChangeMessage(
DataItemChangeMessage.addMessage(DataItemType.QUESTION, question.getQuestionId())
DataItemChangeMessage.addMessage(DataItemType.QUESTION, question.getQuestionId(), question.getUserId())
);
}
......@@ -209,7 +209,7 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
// 9.发送消息到消息队列
messageQueueService
.sendDataItemChangeMessage(
DataItemChangeMessage.deleteMessage(DataItemType.QUESTION, question.getQuestionId())
DataItemChangeMessage.deleteMessage(DataItemType.QUESTION, question.getQuestionId(), userId)
);
}
......@@ -259,7 +259,7 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
// 6.发送消息到消息队列
messageQueueService
.sendDataItemChangeMessage(
DataItemChangeMessage.updateMessage(DataItemType.QUESTION, question.getQuestionId())
DataItemChangeMessage.updateMessage(DataItemType.QUESTION, question.getQuestionId(), question.getUserId())
);
}
......
......@@ -31,28 +31,17 @@ public class UserStatisticsListener implements DataItemChangeListener {
private IUserFollowService userFollowService;
private IBlogService blogService;
private IProjectService projectService;
private IPostService postService;
private IQuestionService questionService;
@Autowired
public UserStatisticsListener(IUserStatisticsService userStatisticsService, IUserFollowService userFollowService, IBlogService blogService, IProjectService projectService, IPostService postService, IQuestionService questionService) {
this.userStatisticsService = userStatisticsService;
this.userFollowService = userFollowService;
this.blogService = blogService;
this.projectService = projectService;
this.postService = postService;
this.questionService = questionService;
}
@Override
public void onDataItemAdd(DataItemChangeMessage dataItemChangeMessage) {
DataItemType itemType = dataItemChangeMessage.getItemType();
Serializable itemId = dataItemChangeMessage.getItemId();
String operatorId = dataItemChangeMessage.getOperatorId();
// 关注用户
if (itemType.equals(DataItemType.USER_FOLLOW)) {
......@@ -65,30 +54,26 @@ public class UserStatisticsListener implements DataItemChangeListener {
// 发布博客
if (itemType.equals(DataItemType.BLOG)) {
Blog blog = blogService.getById(itemId);
// 新增发博客的用户的博客发布量
increaseUserStatisticValue(blog.getUserId(), "blog_num");
increaseUserStatisticValue(operatorId, "blog_num");
}
// 发布项目
if (itemType.equals(DataItemType.PROJECT)) {
Project project = projectService.getById(itemId);
// 新增发项目的用户的项目发布量
increaseUserStatisticValue(project.getUserId(), "project_num");
increaseUserStatisticValue(operatorId, "project_num");
}
// 发布动态
if (itemType.equals(DataItemType.POST)) {
Post post = postService.getById(itemId);
// 新增发动态的用户的动态发布量
increaseUserStatisticValue(post.getUserId(), "post_num");
increaseUserStatisticValue(operatorId, "post_num");
}
// 发布问答
if (itemType.equals(DataItemType.QUESTION)) {
Question question = questionService.getById(itemId);
// 新增发问答的用户的问答发布量
increaseUserStatisticValue(question.getUserId(), "question_num");
increaseUserStatisticValue(operatorId, "question_num");
}
}
......@@ -96,6 +81,7 @@ public class UserStatisticsListener implements DataItemChangeListener {
public void onDataItemDelete(DataItemChangeMessage dataItemChangeMessage) {
DataItemType itemType = dataItemChangeMessage.getItemType();
Serializable itemId = dataItemChangeMessage.getItemId();
String operatorId = dataItemChangeMessage.getOperatorId();
// 取关用户
if (itemType.equals(DataItemType.USER_FOLLOW)) {
......@@ -108,30 +94,26 @@ public class UserStatisticsListener implements DataItemChangeListener {
// 删除博客
if (itemType.equals(DataItemType.BLOG)) {
Blog blog = blogService.getById(itemId);
// 减少发博客的用户的博客发布量
decreaseUserStatisticValue(blog.getUserId(), "blog_num");
decreaseUserStatisticValue(operatorId, "blog_num");
}
// 删除项目
if (itemType.equals(DataItemType.PROJECT)) {
Project project = projectService.getById(itemId);
// 减少发项目的用户的项目发布量
decreaseUserStatisticValue(project.getUserId(), "project_num");
decreaseUserStatisticValue(operatorId, "project_num");
}
// 删除动态
if (itemType.equals(DataItemType.POST)) {
Post post = postService.getById(itemId);
// 减少发动态的用户的动态发布量
decreaseUserStatisticValue(post.getUserId(), "post_num");
decreaseUserStatisticValue(operatorId, "post_num");
}
// 删除问答
if (itemType.equals(DataItemType.QUESTION)) {
Question question = questionService.getById(itemId);
// 减少发问答的用户的问答发布量
decreaseUserStatisticValue(question.getUserId(), "question_num");
decreaseUserStatisticValue(operatorId, "question_num");
}
}
......
......@@ -128,7 +128,7 @@ public class UserFollowServiceImpl extends ServiceImpl<UserFollowMapper, UserFol
}
// 发送消息
messageQueueService.sendDataItemChangeMessage(DataItemChangeMessage.addMessage(DataItemType.USER_FOLLOW, userFollow.getUserFollowId()));
messageQueueService.sendDataItemChangeMessage(DataItemChangeMessage.addMessage(DataItemType.USER_FOLLOW, userFollow.getUserFollowId(), followerId));
}
......@@ -154,7 +154,7 @@ public class UserFollowServiceImpl extends ServiceImpl<UserFollowMapper, UserFol
update(userFollow, userFollowQueryWrapper);
// 发送消息
messageQueueService.sendDataItemChangeMessage(DataItemChangeMessage.deleteMessage(DataItemType.USER_FOLLOW, userFollow.getUserFollowId()));
messageQueueService.sendDataItemChangeMessage(DataItemChangeMessage.deleteMessage(DataItemType.USER_FOLLOW, userFollow.getUserFollowId(), followerId));
}
/**
......
......@@ -217,21 +217,21 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
if (userNickUpdate) {
messageQueueService
.sendDataItemChangeMessage(
DataItemChangeMessage.userNickUpdateMessage(DataItemType.USER, user.getUserId())
DataItemChangeMessage.userNickUpdateMessage(DataItemType.USER, user.getUserId(), user.getUserId())
);
}
if (userAvatarUpdate) {
messageQueueService
.sendDataItemChangeMessage(
DataItemChangeMessage.userAvatarUpdateMessage(DataItemType.USER, user.getUserId())
DataItemChangeMessage.userAvatarUpdateMessage(DataItemType.USER, user.getUserId(), user.getUserId())
);
}
// 发送消息到消息队列
messageQueueService
.sendDataItemChangeMessage(
DataItemChangeMessage.updateMessage(DataItemType.USER, user.getUserId())
DataItemChangeMessage.updateMessage(DataItemType.USER, user.getUserId(), user.getUserId())
);
}
......
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