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
7fb36119
Commit
7fb36119
authored
Feb 12, 2020
by
段启岩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
粉丝列表完成
parent
678ee9d2
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
50 additions
and
11 deletions
+50
-11
src/main/java/cn/meteor/beyondclouds/modules/user/api/UserApi.java
+6
-8
src/main/java/cn/meteor/beyondclouds/modules/user/service/IUserFollowService.java
+1
-1
src/main/java/cn/meteor/beyondclouds/modules/user/service/impl/UserFollowServiceImpl.java
+43
-2
No files found.
src/main/java/cn/meteor/beyondclouds/modules/user/api/UserApi.java
View file @
7fb36119
...
@@ -296,24 +296,22 @@ public class UserApi {
...
@@ -296,24 +296,22 @@ public class UserApi {
@ApiOperation
((
"获取我的粉丝"
))
@ApiOperation
((
"获取我的粉丝"
))
@GetMapping
(
"/my/fans"
)
@GetMapping
(
"/my/fans"
)
public
Response
myFans
(
@Valid
PageForm
pageForm
,
@CurrentSubject
Subject
subject
){
public
Response
<
PageDTO
<
UserInfoWithStatisticsDTO
>>
myFans
(
@Valid
PageForm
pageForm
,
@CurrentSubject
Subject
subject
){
// 根据userId获取粉丝并返回
// 根据userId获取粉丝并返回
IPage
<
UserFollow
>
fansPage
=
userFollowService
.
getFansPage
(
pageForm
.
getPage
(),
pageForm
.
getSize
(),
(
String
)
subject
.
getId
());
PageDTO
<
UserInfoWithStatisticsDTO
>
fansPage
=
userFollowService
.
getFansPage
(
pageForm
.
getPage
(),
pageForm
.
getSize
(),
(
String
)
subject
.
getId
());
PageDTO
<
UserFollow
>
fansPageDTO
=
new
PageDTO
<>(
fansPage
);
return
Response
.
success
(
fansPage
);
return
Response
.
success
(
fansPageDTO
);
}
}
@Anonymous
@Anonymous
@ApiOperation
((
"获取他人粉丝"
))
@ApiOperation
((
"获取他人粉丝"
))
@GetMapping
(
"/user/{userId}/fans"
)
@GetMapping
(
"/user/{userId}/fans"
)
public
Response
otherFans
(
@Valid
PageForm
pageForm
,
@PathVariable
(
name
=
"userId"
)
String
userId
){
public
Response
<
PageDTO
<
UserInfoWithStatisticsDTO
>>
otherFans
(
@Valid
PageForm
pageForm
,
@PathVariable
(
name
=
"userId"
)
String
userId
){
// 根据userId获取粉丝并返回
// 根据userId获取粉丝并返回
IPage
<
UserFollow
>
fansPage
=
userFollowService
.
getFansPage
(
pageForm
.
getPage
(),
pageForm
.
getSize
(),
userId
);
PageDTO
<
UserInfoWithStatisticsDTO
>
fansPage
=
userFollowService
.
getFansPage
(
pageForm
.
getPage
(),
pageForm
.
getSize
(),
userId
);
PageDTO
<
UserFollow
>
fansPageDTO
=
new
PageDTO
<>(
fansPage
);
return
Response
.
success
(
fansPage
);
return
Response
.
success
(
fansPageDTO
);
}
}
...
...
src/main/java/cn/meteor/beyondclouds/modules/user/service/IUserFollowService.java
View file @
7fb36119
...
@@ -41,7 +41,7 @@ public interface IUserFollowService extends IService<UserFollow> {
...
@@ -41,7 +41,7 @@ public interface IUserFollowService extends IService<UserFollow> {
* @param userId
* @param userId
* @return
* @return
*/
*/
IPage
<
UserFollow
>
getFansPage
(
Integer
pageNumber
,
Integer
pageSize
,
String
userId
);
PageDTO
<
UserInfoWithStatisticsDTO
>
getFansPage
(
Integer
pageNumber
,
Integer
pageSize
,
String
userId
);
/**
/**
* 根据userId查询关注的用户
* 根据userId查询关注的用户
...
...
src/main/java/cn/meteor/beyondclouds/modules/user/service/impl/UserFollowServiceImpl.java
View file @
7fb36119
...
@@ -178,12 +178,53 @@ public class UserFollowServiceImpl extends ServiceImpl<UserFollowMapper, UserFol
...
@@ -178,12 +178,53 @@ public class UserFollowServiceImpl extends ServiceImpl<UserFollowMapper, UserFol
* @return
* @return
*/
*/
@Override
@Override
public
IPage
<
UserFollow
>
getFansPage
(
Integer
pageNumber
,
Integer
pageSize
,
String
userId
)
{
public
PageDTO
<
UserInfoWithStatisticsDTO
>
getFansPage
(
Integer
pageNumber
,
Integer
pageSize
,
String
userId
)
{
IPage
<
UserFollow
>
page
=
new
Page
<>(
pageNumber
,
pageSize
);
IPage
<
UserFollow
>
page
=
new
Page
<>(
pageNumber
,
pageSize
);
QueryWrapper
<
UserFollow
>
userFollowQueryWrapper
=
new
QueryWrapper
<>();
QueryWrapper
<
UserFollow
>
userFollowQueryWrapper
=
new
QueryWrapper
<>();
userFollowQueryWrapper
.
eq
(
"followed_id"
,
userId
);
userFollowQueryWrapper
.
eq
(
"followed_id"
,
userId
);
userFollowQueryWrapper
.
eq
(
"follow_status"
,
0
);
userFollowQueryWrapper
.
eq
(
"follow_status"
,
0
);
return
page
(
page
,
userFollowQueryWrapper
);
IPage
<
UserFollow
>
userFollowPage
=
page
(
page
,
userFollowQueryWrapper
);
List
<
UserFollow
>
userFollowList
=
userFollowPage
.
getRecords
();
List
<
UserInfoWithStatisticsDTO
>
userInfoWithStatisticsDTOList
;
if
(!
CollectionUtils
.
isEmpty
(
userFollowList
))
{
// 取出我的粉丝的ID
List
<
String
>
fanUserIds
=
userFollowList
.
stream
()
.
map
(
UserFollow:
:
getFollowedId
).
collect
(
Collectors
.
toList
());
// 查询我的粉丝的统计信息
List
<
UserStatistics
>
userStatisticsList
=
userStatisticsService
.
listByIds
(
fanUserIds
);
// 将统计信息列表转换成HashMap
Map
<
String
,
UserStatistics
>
userStatisticsMap
=
userStatisticsList
.
stream
()
.
collect
(
Collectors
.
toMap
(
UserStatistics:
:
getUserId
,
userStatistics
->
userStatistics
));
// 通过userFollowList构造userInfoWithStatisticsDTOList
userInfoWithStatisticsDTOList
=
userFollowList
.
stream
()
.
map
(
userFollow
->
{
UserInfoWithStatisticsDTO
userInfoWithStatisticsDTO
=
new
UserInfoWithStatisticsDTO
();
String
fansId
=
userFollow
.
getFollowerId
();
userInfoWithStatisticsDTO
.
setUserId
(
fansId
);
userInfoWithStatisticsDTO
.
setUserNick
(
userFollow
.
getFollowerNick
());
userInfoWithStatisticsDTO
.
setUserAvatar
(
userFollow
.
getFollowerAvatar
());
userInfoWithStatisticsDTO
.
setStatistics
(
userStatisticsMap
.
get
(
fansId
));
return
userInfoWithStatisticsDTO
;
}).
collect
(
Collectors
.
toList
());
}
else
{
userInfoWithStatisticsDTOList
=
List
.
of
();
}
// 3.转换分页并返回
PageDTO
<
UserInfoWithStatisticsDTO
>
pageDTO
=
new
PageDTO
<>();
PageUtils
.
copyMeta
(
userFollowPage
,
pageDTO
);
pageDTO
.
setDataList
(
userInfoWithStatisticsDTOList
);
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