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
3f0705f4
Commit
3f0705f4
authored
Feb 08, 2020
by
段启岩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
获取我的统计信息
parent
2f79e5c6
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
165 additions
and
2 deletions
+165
-2
src/main/java/cn/meteor/beyondclouds/modules/blog/service/impl/BlogServiceImpl.java
+9
-1
src/main/java/cn/meteor/beyondclouds/modules/user/api/UserApi.java
+12
-0
src/main/java/cn/meteor/beyondclouds/modules/user/service/IUserService.java
+8
-0
src/main/java/cn/meteor/beyondclouds/modules/user/service/impl/UserServiceImpl.java
+97
-1
src/main/java/cn/meteor/beyondclouds/modules/user/vo/UserStatisticsVO.java
+39
-0
No files found.
src/main/java/cn/meteor/beyondclouds/modules/blog/service/impl/BlogServiceImpl.java
View file @
3f0705f4
...
...
@@ -69,14 +69,22 @@ public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IB
private
IUserService
userService
;
@Autowired
public
BlogServiceImpl
(
IBlogTagService
blogTagService
,
ITopicReferenceService
topicReferenceService
,
IBlogExtService
blogExtService
,
IBlogCategoryService
blogCategoryService
,
BlogMapper
blogMapper
,
ITagService
tagService
,
ITopicService
topicService
,
IUserService
userService
)
{
public
BlogServiceImpl
(
IBlogTagService
blogTagService
,
ITopicReferenceService
topicReferenceService
,
IBlogExtService
blogExtService
,
IBlogCategoryService
blogCategoryService
,
BlogMapper
blogMapper
,
ITagService
tagService
)
{
this
.
blogTagService
=
blogTagService
;
this
.
topicReferenceService
=
topicReferenceService
;
this
.
blogExtService
=
blogExtService
;
this
.
blogCategoryService
=
blogCategoryService
;
this
.
blogMapper
=
blogMapper
;
this
.
tagService
=
tagService
;
}
@Autowired
public
void
setTopicService
(
ITopicService
topicService
)
{
this
.
topicService
=
topicService
;
}
@Autowired
public
void
setUserService
(
IUserService
userService
)
{
this
.
userService
=
userService
;
}
...
...
src/main/java/cn/meteor/beyondclouds/modules/user/api/UserApi.java
View file @
3f0705f4
...
...
@@ -15,6 +15,7 @@ import cn.meteor.beyondclouds.modules.user.service.IUserBlacklistService;
import
cn.meteor.beyondclouds.modules.user.service.IUserFollowService
;
import
cn.meteor.beyondclouds.modules.user.service.IUserService
;
import
cn.meteor.beyondclouds.modules.user.vo.UserInfoVO
;
import
cn.meteor.beyondclouds.modules.user.vo.UserStatisticsVO
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -310,6 +311,17 @@ public class UserApi {
return
Response
.
success
(
followersPageVo
);
}
@ApiOperation
((
"获取我的统计信息"
))
@GetMapping
(
"/my/statistics"
)
public
Response
<
UserStatisticsVO
>
myStatistics
(
@CurrentSubject
Subject
subject
){
// 获取用户信息
UserStatisticsVO
userStatisticsVO
=
userService
.
getStatistics
(
String
.
valueOf
(
subject
.
getId
()));
// 返回结果
return
Response
.
success
(
userStatisticsVO
);
}
}
src/main/java/cn/meteor/beyondclouds/modules/user/service/IUserService.java
View file @
3f0705f4
...
...
@@ -3,6 +3,7 @@ package cn.meteor.beyondclouds.modules.user.service;
import
cn.meteor.beyondclouds.common.bean.QQAuthResult
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
cn.meteor.beyondclouds.modules.user.exception.UserServiceException
;
import
cn.meteor.beyondclouds.modules.user.vo.UserStatisticsVO
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
...
...
@@ -77,4 +78,11 @@ public interface IUserService extends IService<User> {
* @param userId
*/
void
bindMobile
(
String
mobile
,
String
verifyCode
,
String
userId
)
throws
UserServiceException
;
/**
* 获得统计信息
* @param userId
* @return
*/
UserStatisticsVO
getStatistics
(
String
userId
);
}
src/main/java/cn/meteor/beyondclouds/modules/user/service/impl/UserServiceImpl.java
View file @
3f0705f4
...
...
@@ -3,11 +3,23 @@ package cn.meteor.beyondclouds.modules.user.service.impl;
import
cn.meteor.beyondclouds.common.bean.QQAuthResult
;
import
cn.meteor.beyondclouds.common.helper.IRedisHelper
;
import
cn.meteor.beyondclouds.core.redis.RedisKey
;
import
cn.meteor.beyondclouds.modules.blog.entity.Blog
;
import
cn.meteor.beyondclouds.modules.blog.service.IBlogService
;
import
cn.meteor.beyondclouds.modules.mail.dto.EmailDTO
;
import
cn.meteor.beyondclouds.modules.mail.service.IMailService
;
import
cn.meteor.beyondclouds.modules.mail.util.EmailUtils
;
import
cn.meteor.beyondclouds.modules.post.entity.Post
;
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.service.IQuestionService
;
import
cn.meteor.beyondclouds.modules.tag.entity.Tag
;
import
cn.meteor.beyondclouds.modules.tag.service.ITagService
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
cn.meteor.beyondclouds.modules.user.entity.UserAuthApp
;
import
cn.meteor.beyondclouds.modules.user.entity.UserAuthLocal
;
import
cn.meteor.beyondclouds.modules.user.entity.UserFollow
;
import
cn.meteor.beyondclouds.modules.user.enums.AccountType
;
import
cn.meteor.beyondclouds.modules.user.enums.AuthStatus
;
import
cn.meteor.beyondclouds.modules.user.enums.ThirdPartyAppType
;
...
...
@@ -16,8 +28,9 @@ import cn.meteor.beyondclouds.modules.user.exception.UserServiceException;
import
cn.meteor.beyondclouds.modules.user.mapper.IUserMapper
;
import
cn.meteor.beyondclouds.modules.user.service.IUserAuthAppService
;
import
cn.meteor.beyondclouds.modules.user.service.IUserAuthLocalService
;
import
cn.meteor.beyondclouds.modules.user.service.IUserFollowService
;
import
cn.meteor.beyondclouds.modules.user.service.IUserService
;
import
cn.meteor.beyondclouds.modules.
mail.util.EmailUtils
;
import
cn.meteor.beyondclouds.modules.
user.vo.UserStatisticsVO
;
import
cn.meteor.beyondclouds.util.Md5Utils
;
import
cn.meteor.beyondclouds.util.UUIDUtils
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
...
...
@@ -43,6 +56,12 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
private
IRedisHelper
redisHelper
;
private
IUserAuthAppService
userAuthAppService
;
private
IMailService
mailService
;
private
IUserFollowService
userFollowService
;
private
IPostService
postService
;
private
IQuestionService
questionService
;
private
ITagService
tagService
;
private
IProjectService
projectService
;
private
IBlogService
blogService
;
@Autowired
public
UserServiceImpl
(
IUserAuthLocalService
userAuthLocalService
,
IRedisHelper
redisHelper
,
IUserAuthAppService
userAuthAppService
,
IMailService
mailService
)
{
...
...
@@ -52,6 +71,36 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
this
.
mailService
=
mailService
;
}
@Autowired
public
void
setUserFollowService
(
IUserFollowService
userFollowService
)
{
this
.
userFollowService
=
userFollowService
;
}
@Autowired
public
void
setPostService
(
IPostService
postService
)
{
this
.
postService
=
postService
;
}
@Autowired
public
void
setQuestionService
(
IQuestionService
questionService
)
{
this
.
questionService
=
questionService
;
}
@Autowired
public
void
setTagService
(
ITagService
tagService
)
{
this
.
tagService
=
tagService
;
}
@Autowired
public
void
setProjectService
(
IProjectService
projectService
)
{
this
.
projectService
=
projectService
;
}
@Autowired
public
void
setBlogService
(
IBlogService
blogService
)
{
this
.
blogService
=
blogService
;
}
@Override
public
void
registerByMobile
(
String
mobile
,
String
password
,
String
verifyCode
)
throws
UserServiceException
{
//1.检查验证码是否正确
...
...
@@ -309,4 +358,51 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
}
return
null
;
}
@Override
public
UserStatisticsVO
getStatistics
(
String
userId
)
{
UserStatisticsVO
userStatisticsVO
=
new
UserStatisticsVO
();
//查询关注量
QueryWrapper
<
UserFollow
>
queryAttentionsNumber
=
new
QueryWrapper
<>();
queryAttentionsNumber
.
eq
(
"follower_id"
,
userId
);
queryAttentionsNumber
.
eq
(
"follow_status"
,
0
);
userStatisticsVO
.
setAttentionsNumber
(
userFollowService
.
count
(
queryAttentionsNumber
));
//查询粉丝量
QueryWrapper
<
UserFollow
>
queryFollowersNumber
=
new
QueryWrapper
<>();
queryFollowersNumber
.
eq
(
"followed_id"
,
userId
);
queryFollowersNumber
.
eq
(
"follow_status"
,
0
);
userStatisticsVO
.
setFollowersNumber
(
userFollowService
.
count
(
queryFollowersNumber
));
//查询项目量
QueryWrapper
<
Project
>
queryProjectNumber
=
new
QueryWrapper
<>();
queryProjectNumber
.
eq
(
"user_id"
,
userId
);
userStatisticsVO
.
setProjectNumber
(
projectService
.
count
(
queryProjectNumber
));
//查询博客量
QueryWrapper
<
Blog
>
queryBlogNumber
=
new
QueryWrapper
<>();
queryBlogNumber
.
eq
(
"user_id"
,
userId
);
userStatisticsVO
.
setBlogNumber
(
blogService
.
count
(
queryBlogNumber
));
//查询问答量
QueryWrapper
<
Question
>
queryQuestionNumber
=
new
QueryWrapper
<>();
queryQuestionNumber
.
eq
(
"user_id"
,
userId
);
userStatisticsVO
.
setQuestionNumber
(
questionService
.
count
(
queryQuestionNumber
));
//查询动态量
QueryWrapper
<
Post
>
queryPostNumber
=
new
QueryWrapper
<>();
queryPostNumber
.
eq
(
"user_id"
,
userId
);
userStatisticsVO
.
setPostNumber
(
postService
.
count
(
queryPostNumber
));
//查询标签量
QueryWrapper
<
Tag
>
queryTagNumber
=
new
QueryWrapper
<>();
queryTagNumber
.
eq
(
"user_id"
,
userId
);
userStatisticsVO
.
setTagNumber
(
tagService
.
count
(
queryTagNumber
));
return
userStatisticsVO
;
}
}
src/main/java/cn/meteor/beyondclouds/modules/user/vo/UserStatisticsVO.java
0 → 100644
View file @
3f0705f4
package
cn
.
meteor
.
beyondclouds
.
modules
.
user
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @program: beyond-clouds
* @description: 用户统计信息
* @author: Mr.Zhang
* @create: 2020-02-08 09:21
**/
@Data
public
class
UserStatisticsVO
{
@ApiModelProperty
(
value
=
"用户粉丝量"
)
private
Integer
followersNumber
;
@ApiModelProperty
(
value
=
"用户关注量"
)
private
Integer
attentionsNumber
;
@ApiModelProperty
(
value
=
"用户项目量"
)
private
Integer
projectNumber
;
@ApiModelProperty
(
value
=
"用户博客量"
)
private
Integer
blogNumber
;
@ApiModelProperty
(
value
=
"用户回答量"
)
private
Integer
questionNumber
;
@ApiModelProperty
(
value
=
"用户动态量"
)
private
Integer
postNumber
;
@ApiModelProperty
(
value
=
"用户创建的标签量"
)
private
Integer
tagNumber
;
}
\ No newline at end of file
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