Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
beyond-clouds
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
4
Issues
4
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
段启岩
beyond-clouds
Commits
6293bf70
Commit
6293bf70
authored
Feb 15, 2020
by
段启岩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
用户统计字段新增字段
parent
f2b7a690
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
69 additions
and
2 deletions
+69
-2
src/main/java/cn/meteor/beyondclouds/core/queue/message/DataItemType.java
+11
-0
src/main/java/cn/meteor/beyondclouds/modules/question/service/impl/QuestionReplyServiceImpl.java
+14
-0
src/main/java/cn/meteor/beyondclouds/modules/user/entity/UserStatistics.java
+6
-0
src/main/java/cn/meteor/beyondclouds/modules/user/listener/UserStatisticsListener.java
+38
-2
No files found.
src/main/java/cn/meteor/beyondclouds/core/queue/message/DataItemType.java
View file @
6293bf70
...
...
@@ -4,6 +4,7 @@ import cn.meteor.beyondclouds.modules.blog.entity.Blog;
import
cn.meteor.beyondclouds.modules.post.entity.Post
;
import
cn.meteor.beyondclouds.modules.project.entity.Project
;
import
cn.meteor.beyondclouds.modules.question.entity.Question
;
import
cn.meteor.beyondclouds.modules.question.entity.QuestionReply
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
cn.meteor.beyondclouds.modules.user.entity.UserFollow
;
import
cn.meteor.beyondclouds.modules.user.entity.UserStatistics
;
...
...
@@ -56,6 +57,16 @@ public enum DataItemType {
QUESTION
(
Question
.
class
),
/**
* 问题回答
*/
QUESTION_REPLY
(
QuestionReply
.
class
),
/**
* 问题回答 被采纳
*/
QUESTION_REPLY_ACCEPT
(
QuestionReply
.
class
),
/**
* 用户关注
*/
USER_FOLLOW
(
UserFollow
.
class
);
...
...
src/main/java/cn/meteor/beyondclouds/modules/question/service/impl/QuestionReplyServiceImpl.java
View file @
6293bf70
package
cn
.
meteor
.
beyondclouds
.
modules
.
question
.
service
.
impl
;
import
cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage
;
import
cn.meteor.beyondclouds.core.queue.message.DataItemType
;
import
cn.meteor.beyondclouds.modules.question.entity.Question
;
import
cn.meteor.beyondclouds.modules.question.entity.QuestionReply
;
import
cn.meteor.beyondclouds.modules.question.enums.QuestionErrorCode
;
...
...
@@ -10,6 +12,7 @@ import cn.meteor.beyondclouds.modules.question.service.IQuestionReplyCommentServ
import
cn.meteor.beyondclouds.modules.question.service.IQuestionReplyService
;
import
cn.meteor.beyondclouds.modules.question.service.IQuestionService
;
import
cn.meteor.beyondclouds.modules.question.util.QuestionUtils
;
import
cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
cn.meteor.beyondclouds.modules.user.service.IUserService
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
...
...
@@ -47,6 +50,8 @@ public class QuestionReplyServiceImpl extends ServiceImpl<QuestionReplyMapper, Q
private
IUserService
userService
;
private
IMessageQueueService
messageQueueService
;
@Autowired
public
void
setQuestionService
(
IQuestionService
questionService
)
{
this
.
questionService
=
questionService
;
...
...
@@ -58,6 +63,11 @@ public class QuestionReplyServiceImpl extends ServiceImpl<QuestionReplyMapper, Q
}
@Autowired
public
void
setMessageQueueService
(
IMessageQueueService
messageQueueService
)
{
this
.
messageQueueService
=
messageQueueService
;
}
@Autowired
public
void
setUserService
(
IUserService
userService
)
{
this
.
userService
=
userService
;
}
...
...
@@ -95,6 +105,8 @@ public class QuestionReplyServiceImpl extends ServiceImpl<QuestionReplyMapper, Q
questionUpdateWrapper
.
set
(
"reply_number"
,
question
.
getReplyNumber
()
+
1
)
.
eq
(
"question_id"
,
questionId
);
questionService
.
update
(
questionUpdateWrapper
);
messageQueueService
.
sendDataItemChangeMessage
(
DataItemChangeMessage
.
addMessage
(
DataItemType
.
QUESTION_REPLY
,
questionReply
.
getReplyId
(),
userId
));
}
@Override
...
...
@@ -137,6 +149,8 @@ public class QuestionReplyServiceImpl extends ServiceImpl<QuestionReplyMapper, Q
.
eq
(
"question_id"
,
questionId
);
questionService
.
update
(
questionUpdateWrapper
);
}
messageQueueService
.
sendDataItemChangeMessage
(
DataItemChangeMessage
.
updateMessage
(
DataItemType
.
QUESTION_REPLY_ACCEPT
,
questionReply
.
getReplyId
(),
userId
));
}
@Override
...
...
src/main/java/cn/meteor/beyondclouds/modules/user/entity/UserStatistics.java
View file @
6293bf70
...
...
@@ -52,6 +52,12 @@ public class UserStatistics implements Serializable {
@ApiModelProperty
(
value
=
"问答数量"
)
private
Integer
questionNum
;
@ApiModelProperty
(
value
=
"回答数量"
)
private
Integer
questionReplyNum
;
@ApiModelProperty
(
value
=
"回答被采纳数量"
)
private
Integer
replyAcceptedNum
;
@ApiModelProperty
(
value
=
"用户被访问的次数"
)
private
Integer
visitedNum
;
...
...
src/main/java/cn/meteor/beyondclouds/modules/user/listener/UserStatisticsListener.java
View file @
6293bf70
...
...
@@ -10,6 +10,8 @@ import cn.meteor.beyondclouds.modules.post.service.IPostService;
import
cn.meteor.beyondclouds.modules.project.entity.Project
;
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.queue.service.IMessageQueueService
;
import
cn.meteor.beyondclouds.modules.user.entity.UserFollow
;
...
...
@@ -45,6 +47,8 @@ public class UserStatisticsListener implements DataItemChangeListener {
private
IQuestionService
questionService
;
private
IQuestionReplyService
questionReplyService
;
@Autowired
public
void
setQuestionService
(
IQuestionService
questionService
)
{
this
.
questionService
=
questionService
;
...
...
@@ -57,6 +61,11 @@ public class UserStatisticsListener implements DataItemChangeListener {
}
@Autowired
public
void
setQuestionReplyService
(
IQuestionReplyService
questionReplyService
)
{
this
.
questionReplyService
=
questionReplyService
;
}
@Autowired
public
void
setBlogService
(
IBlogService
blogService
)
{
this
.
blogService
=
blogService
;
}
...
...
@@ -86,13 +95,23 @@ public class UserStatisticsListener implements DataItemChangeListener {
onDataChange
(
dataItemChangeMessage
);
}
/**
* 博客浏览量改变或回答被采纳
* @param dataItemChangeMessage
*/
@Override
public
void
onDataItemUpdate
(
DataItemChangeMessage
dataItemChangeMessage
)
{
if
(
dataItemChangeMessage
.
getItemType
().
equals
(
DataItemType
.
BLOG_VIEW_NUM
))
{
onDataChange
(
dataItemChangeMessage
);
}
if
(
dataItemChangeMessage
.
getItemType
().
equals
(
DataItemType
.
QUESTION_REPLY_ACCEPT
))
{
onDataChange
(
dataItemChangeMessage
);
}
}
/**
* 汇总ADD和delete消息
* @param dataItemChangeMessage
...
...
@@ -139,7 +158,7 @@ public class UserStatisticsListener implements DataItemChangeListener {
if
(
itemType
.
equals
(
DataItemType
.
BLOG_VIEW_NUM
))
{
// 更新博客浏览量
updateUserStatisticValue
(
(
String
)
operatorId
,
"blog_view_num"
,
blogService
.
allBlogViewCount
(
operatorId
));
updateUserStatisticValue
(
operatorId
,
"blog_view_num"
,
blogService
.
allBlogViewCount
(
operatorId
));
}
if
(
itemType
.
equals
(
DataItemType
.
PROJECT
))
{
...
...
@@ -163,7 +182,24 @@ public class UserStatisticsListener implements DataItemChangeListener {
// 更新问答发布量
QueryWrapper
<
Question
>
questionQueryWrapper
=
new
QueryWrapper
<>();
questionQueryWrapper
.
eq
(
"user_id"
,
operatorId
);
updateUserStatisticValue
((
String
)
itemId
,
"question_num"
,
questionService
.
count
(
questionQueryWrapper
));
updateUserStatisticValue
(
operatorId
,
"question_num"
,
questionService
.
count
(
questionQueryWrapper
));
}
if
(
itemType
.
equals
(
DataItemType
.
QUESTION_REPLY
))
{
// 更新问题回答量
QueryWrapper
<
QuestionReply
>
questionReplyQueryWrapper
=
new
QueryWrapper
<>();
questionReplyQueryWrapper
.
eq
(
"user_id"
,
operatorId
);
updateUserStatisticValue
(
operatorId
,
"question_reply_num"
,
questionReplyService
.
count
(
questionReplyQueryWrapper
));
}
if
(
itemType
.
equals
(
DataItemType
.
QUESTION_REPLY_ACCEPT
))
{
// 更新答案被采纳量
QuestionReply
questionReply
=
questionReplyService
.
getById
(
itemId
);
String
userId
=
questionReply
.
getUserId
();
QueryWrapper
<
QuestionReply
>
questionReplyQueryWrapper
=
new
QueryWrapper
<>();
questionReplyQueryWrapper
.
eq
(
"user_id"
,
userId
);
questionReplyQueryWrapper
.
eq
(
"reply_status"
,
1
);
updateUserStatisticValue
(
userId
,
"reply_accepted_num"
,
questionReplyService
.
count
(
questionReplyQueryWrapper
));
}
// 修改完用户统计信息后发送用户统计信息修改的通知
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment