Commit d69b1cea by 段启岩

修复用户信息统计

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