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
a47baaf2
Commit
a47baaf2
authored
Feb 13, 2020
by
段启岩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加活跃用户和精英用户接口
parent
89bd0b57
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
133 additions
and
1 deletions
+133
-1
src/main/java/cn/meteor/beyondclouds/modules/user/api/UserApi.java
+22
-0
src/main/java/cn/meteor/beyondclouds/modules/user/mapper/UserMapper.java
+14
-0
src/main/java/cn/meteor/beyondclouds/modules/user/mapper/xml/UserMapper.xml
+36
-1
src/main/java/cn/meteor/beyondclouds/modules/user/service/IUserService.java
+17
-0
src/main/java/cn/meteor/beyondclouds/modules/user/service/impl/UserServiceImpl.java
+44
-0
No files found.
src/main/java/cn/meteor/beyondclouds/modules/user/api/UserApi.java
View file @
a47baaf2
...
...
@@ -390,6 +390,28 @@ public class UserApi {
return
Response
.
success
(
userFollowDTOPage
);
}
@Anonymous
@ApiOperation
(
"社区精英"
)
@GetMapping
(
"/user/creams"
)
public
Response
<?>
getCreamUsers
(
@Valid
PageForm
pageForm
,
BindingResult
bindingResult
)
{
if
(
bindingResult
.
hasErrors
())
{
return
Response
.
fieldError
(
bindingResult
.
getFieldError
());
}
PageDTO
<
UserFollowDTO
>
pageDTO
=
userService
.
getCreamUsers
(
pageForm
.
getPage
(),
pageForm
.
getSize
());
return
Response
.
success
(
pageDTO
);
}
@Anonymous
@ApiOperation
(
"活跃用户"
)
@GetMapping
(
"/user/actives"
)
public
Response
<?>
getActiveUsers
(
@Valid
PageForm
pageForm
,
BindingResult
bindingResult
)
{
if
(
bindingResult
.
hasErrors
())
{
return
Response
.
fieldError
(
bindingResult
.
getFieldError
());
}
PageDTO
<
UserFollowDTO
>
pageDTO
=
userService
.
getActivesUsers
(
pageForm
.
getPage
(),
pageForm
.
getSize
());
return
Response
.
success
(
pageDTO
);
}
}
src/main/java/cn/meteor/beyondclouds/modules/user/mapper/UserMapper.java
View file @
a47baaf2
...
...
@@ -28,4 +28,18 @@ public interface UserMapper extends BaseMapper<User> {
* @return
*/
List
<
UserFollowDTO
>
listByIdsWithStatistics
(
@Param
(
"userIds"
)
List
<
String
>
userIds
);
/**
* 获取活跃用户
* @param page
* @return
*/
IPage
<
UserFollowDTO
>
selectActivesUserPage
(
IPage
<
UserFollowDTO
>
page
);
/**
* 获取精英用户
* @param objectPage
* @return
*/
IPage
<
UserFollowDTO
>
selectCreamUserPage
(
Page
<
Object
>
objectPage
);
}
src/main/java/cn/meteor/beyondclouds/modules/user/mapper/xml/UserMapper.xml
View file @
a47baaf2
...
...
@@ -15,7 +15,7 @@
us.visited_num `statistics.visited_num`
from `user` u, user_statistics us
where u.user_id = us.user_id
AND
US
.blog_view_num > 0
AND
us
.blog_view_num > 0
order by us.blog_view_num desc
</select>
...
...
@@ -40,5 +40,40 @@
</foreach>
order by us.blog_view_num desc
</select>
<select
id=
"selectActivesUserPage"
resultType=
"cn.meteor.beyondclouds.modules.user.dto.UserFollowDTO"
>
SELECT
u.*,
u.nick_name user_nick,
us.followed_num `statistics.followed_num`,
us.fans_num `statistics.fans_num`,
us.blog_num `statistics.blog_num`,
us.blog_view_num `statistics.blog_view_num`,
us.project_num `statistics.project_num`,
us.post_num `statistics.post_num`,
us.question_num `statistics.question_num`,
us.visited_num `statistics.visited_num`
FROM `user` u, user_statistics us
WHERE u.user_id = us.user_id
ORDER BY blog_num + project_num + post_num * 0.1 + blog_view_num DESC
</select>
<select
id=
"selectCreamUserPage"
resultType=
"cn.meteor.beyondclouds.modules.user.dto.UserFollowDTO"
>
SELECT
u.*,
u.nick_name user_nick,
us.followed_num `statistics.followed_num`,
us.fans_num `statistics.fans_num`,
us.blog_num `statistics.blog_num`,
us.blog_view_num `statistics.blog_view_num`,
us.project_num `statistics.project_num`,
us.post_num `statistics.post_num`,
us.question_num `statistics.question_num`,
us.visited_num `statistics.visited_num`
FROM `user` u, user_statistics us
WHERE u.user_id = us.user_id
ORDER BY blog_num + project_num + post_num + blog_view_num DESC
</select>
</mapper>
src/main/java/cn/meteor/beyondclouds/modules/user/service/IUserService.java
View file @
a47baaf2
...
...
@@ -2,6 +2,7 @@ package cn.meteor.beyondclouds.modules.user.service;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
import
cn.meteor.beyondclouds.common.dto.QQAuthResultDTO
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.modules.user.dto.UserFollowDTO
;
import
cn.meteor.beyondclouds.modules.user.dto.UserInfoDTO
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
...
...
@@ -114,4 +115,20 @@ public interface IUserService extends IService<User> {
* @return
*/
List
<
UserFollowDTO
>
listByIdsWithStatistics
(
List
<
String
>
userIds
);
/**
* 获取社区活跃用户
* @param page
* @param size
* @return
*/
PageDTO
<
UserFollowDTO
>
getActivesUsers
(
Integer
page
,
Integer
size
);
/**
* 获取社区精英
* @param page
* @param size
* @return
*/
PageDTO
<
UserFollowDTO
>
getCreamUsers
(
Integer
page
,
Integer
size
);
}
src/main/java/cn/meteor/beyondclouds/modules/user/service/impl/UserServiceImpl.java
View file @
a47baaf2
...
...
@@ -457,4 +457,48 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
public
List
<
UserFollowDTO
>
listByIdsWithStatistics
(
List
<
String
>
userIds
)
{
return
userMapper
.
listByIdsWithStatistics
(
userIds
);
}
@Override
public
PageDTO
<
UserFollowDTO
>
getActivesUsers
(
Integer
page
,
Integer
size
)
{
IPage
<
UserFollowDTO
>
userFollowDTOPage
=
userMapper
.
selectActivesUserPage
(
new
Page
<>(
page
,
size
));
List
<
UserFollowDTO
>
userFollowDTOList
=
userFollowDTOPage
.
getRecords
();
if
(
SubjectUtils
.
isAuthenticated
())
{
Set
<
String
>
followedUserIds
=
userFollowService
.
getCurrentUserFollowedUserIds
();
userFollowDTOList
.
stream
()
.
forEach
(
userFollowDTO
->
{
userFollowDTO
.
setFollowedUser
(
followedUserIds
.
contains
(
userFollowDTO
.
getUserId
()));
});
}
else
{
userFollowDTOList
.
stream
()
.
forEach
(
userFollowDTO
->
{
userFollowDTO
.
setFollowedUser
(
false
);
});
}
PageDTO
<
UserFollowDTO
>
pageDTO
=
new
PageDTO
<>();
PageUtils
.
copyMeta
(
userFollowDTOPage
,
pageDTO
);
pageDTO
.
setDataList
(
userFollowDTOList
);
return
pageDTO
;
}
@Override
public
PageDTO
<
UserFollowDTO
>
getCreamUsers
(
Integer
page
,
Integer
size
)
{
IPage
<
UserFollowDTO
>
userFollowDTOPage
=
userMapper
.
selectCreamUserPage
(
new
Page
<>(
page
,
size
));
List
<
UserFollowDTO
>
userFollowDTOList
=
userFollowDTOPage
.
getRecords
();
if
(
SubjectUtils
.
isAuthenticated
())
{
Set
<
String
>
followedUserIds
=
userFollowService
.
getCurrentUserFollowedUserIds
();
userFollowDTOList
.
stream
()
.
forEach
(
userFollowDTO
->
{
userFollowDTO
.
setFollowedUser
(
followedUserIds
.
contains
(
userFollowDTO
.
getUserId
()));
});
}
else
{
userFollowDTOList
.
stream
()
.
forEach
(
userFollowDTO
->
{
userFollowDTO
.
setFollowedUser
(
false
);
});
}
PageDTO
<
UserFollowDTO
>
pageDTO
=
new
PageDTO
<>();
PageUtils
.
copyMeta
(
userFollowDTOPage
,
pageDTO
);
pageDTO
.
setDataList
(
userFollowDTOList
);
return
pageDTO
;
}
}
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