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
bdbab16b
Commit
bdbab16b
authored
Feb 01, 2020
by
张晋雄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
粉丝
parent
5e04066c
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
123 additions
and
1 deletions
+123
-1
src/main/java/cn/meteor/beyondclouds/modules/user/api/UserApi.java
+76
-1
src/main/java/cn/meteor/beyondclouds/modules/user/service/IUserFollowService.java
+36
-0
src/main/java/cn/meteor/beyondclouds/modules/user/service/impl/UserFollowServiceImpl.java
+11
-0
No files found.
src/main/java/cn/meteor/beyondclouds/modules/user/api/UserApi.java
View file @
bdbab16b
package
cn
.
meteor
.
beyondclouds
.
modules
.
user
.
api
;
package
cn
.
meteor
.
beyondclouds
.
modules
.
user
.
api
;
import
cn.meteor.beyondclouds.common.form.PageForm
;
import
cn.meteor.beyondclouds.core.annotation.Anonymous
;
import
cn.meteor.beyondclouds.core.annotation.Anonymous
;
import
cn.meteor.beyondclouds.core.annotation.CurrentSubject
;
import
cn.meteor.beyondclouds.core.annotation.CurrentSubject
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.bean.Subject
;
import
cn.meteor.beyondclouds.core.bean.Subject
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
cn.meteor.beyondclouds.modules.user.entity.UserFollow
;
import
cn.meteor.beyondclouds.modules.user.exception.UserServiceException
;
import
cn.meteor.beyondclouds.modules.user.exception.UserServiceException
;
import
cn.meteor.beyondclouds.modules.user.form.UserBaseInfoFrom
;
import
cn.meteor.beyondclouds.modules.user.form.UserBaseInfoFrom
;
import
cn.meteor.beyondclouds.modules.user.form.UserRegisterFrom
;
import
cn.meteor.beyondclouds.modules.user.form.UserRegisterFrom
;
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.service.IUserService
;
import
cn.meteor.beyondclouds.modules.user.vo.UserInfoVO
;
import
cn.meteor.beyondclouds.modules.user.vo.UserInfoVO
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
...
@@ -30,9 +35,15 @@ public class UserApi {
...
@@ -30,9 +35,15 @@ public class UserApi {
private
IUserService
userService
;
private
IUserService
userService
;
private
IUserBlacklistService
userBlacklistService
;
private
IUserFollowService
userFollowService
;
@Autowired
@Autowired
public
void
setUserService
(
IUserService
user
Service
)
{
public
UserApi
(
IUserService
userService
,
IUserBlacklistService
userBlacklistService
,
IUserFollowService
userFollow
Service
)
{
this
.
userService
=
userService
;
this
.
userService
=
userService
;
this
.
userBlacklistService
=
userBlacklistService
;
this
.
userFollowService
=
userFollowService
;
}
}
@Anonymous
@Anonymous
...
@@ -122,4 +133,68 @@ public class UserApi {
...
@@ -122,4 +133,68 @@ public class UserApi {
// 返回结果
// 返回结果
return
Response
.
success
(
userInfoVO
);
return
Response
.
success
(
userInfoVO
);
}
}
@ApiOperation
((
"拉黑"
))
@PostMapping
(
"/my/blacklist/{userId}"
)
public
Response
blacklist
(
@PathVariable
(
name
=
"userId"
)
String
userId
,
@CurrentSubject
Subject
subject
){
userBlacklistService
.
blacklist
(
userId
,
String
.
valueOf
(
subject
.
getId
()));
return
Response
.
success
();
}
@ApiOperation
((
"关注"
))
@PostMapping
(
"/user/{userId}/follower"
)
public
Response
follower
(
@PathVariable
(
name
=
"userId"
)
String
userId
,
@CurrentSubject
Subject
subject
){
userFollowService
.
follower
(
userId
,
String
.
valueOf
(
subject
.
getId
()));
return
Response
.
success
();
}
@ApiOperation
((
"取消关注"
))
@DeleteMapping
(
"/user/{userId}/follower"
)
public
Response
delFollower
(
@PathVariable
(
name
=
"userId"
)
String
userId
,
@CurrentSubject
Subject
subject
){
userFollowService
.
delFollower
(
userId
,
String
.
valueOf
(
subject
.
getId
()));
return
Response
.
success
();
}
@ApiOperation
((
"获取我的粉丝"
))
@GetMapping
(
"/my/fans"
)
public
Response
myFans
(
@Valid
PageForm
pageForm
,
@CurrentSubject
Subject
subject
){
// 根据用户获取列表并返回
IPage
<
UserFollow
>
projectPage
=
userFollowService
.
getFansPage
(
pageForm
.
getPage
(),
pageForm
.
getSize
(),
String
.
valueOf
(
subject
.
getId
()));
return
Response
.
success
(
userFollowService
.
myFans
(
String
.
valueOf
(
subject
.
getId
())));
}
@ApiOperation
((
"获取他人粉丝"
))
@GetMapping
(
"/user/{userId}/fans"
)
public
Response
otherFans
(
@PathVariable
(
name
=
"userId"
)
String
userId
){
return
Response
.
success
(
userFollowService
.
Fans
(
userId
));
}
@ApiOperation
((
"获取我的关注"
))
@GetMapping
(
"/my/follower"
)
public
Response
myFollower
(
@CurrentSubject
Subject
subject
){
return
Response
.
success
(
userFollowService
.
myFollower
(
String
.
valueOf
(
subject
.
getId
())));
}
@ApiOperation
((
"获取他人关注"
))
@GetMapping
(
"/user/{userId}/follower"
)
public
Response
otherFollower
(
@PathVariable
(
name
=
"userId"
)
String
userId
){
return
Response
.
success
(
userFollowService
.
otherFollower
(
userId
));
}
}
}
src/main/java/cn/meteor/beyondclouds/modules/user/service/IUserFollowService.java
View file @
bdbab16b
...
@@ -2,6 +2,7 @@ package cn.meteor.beyondclouds.modules.user.service;
...
@@ -2,6 +2,7 @@ package cn.meteor.beyondclouds.modules.user.service;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
cn.meteor.beyondclouds.modules.user.entity.UserFollow
;
import
cn.meteor.beyondclouds.modules.user.entity.UserFollow
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.List
;
import
java.util.List
;
...
@@ -12,15 +13,50 @@ import java.util.List;
...
@@ -12,15 +13,50 @@ import java.util.List;
*/
*/
public
interface
IUserFollowService
extends
IService
<
UserFollow
>
{
public
interface
IUserFollowService
extends
IService
<
UserFollow
>
{
/**
* 关注
* @param userId
* @param myUserId
*/
void
follower
(
String
userId
,
String
myUserId
);
void
follower
(
String
userId
,
String
myUserId
);
/**
* 取消关注
* @param userId
* @param myUserId
*/
void
delFollower
(
String
userId
,
String
myUserId
);
void
delFollower
(
String
userId
,
String
myUserId
);
/**
* 查看我的粉丝
* @param userId
* @return
*/
List
<
User
>
myFans
(
String
userId
);
List
<
User
>
myFans
(
String
userId
);
/**
* 查看其他用户的粉丝
* @param userId
* @return
*/
List
<
User
>
Fans
(
String
userId
);
List
<
User
>
Fans
(
String
userId
);
/**
* 查看我关注的人
* @param userId
* @return
*/
List
<
User
>
myFollower
(
String
userId
);
List
<
User
>
myFollower
(
String
userId
);
/**
* 查看其他用户关注的人
* @param userId
* @return
*/
List
<
User
>
otherFollower
(
String
userId
);
List
<
User
>
otherFollower
(
String
userId
);
IPage
<
UserFollow
>
getFansPage
(
Integer
pageNumber
,
Integer
pageSize
,
String
userId
);
}
}
src/main/java/cn/meteor/beyondclouds/modules/user/service/impl/UserFollowServiceImpl.java
View file @
bdbab16b
...
@@ -6,6 +6,8 @@ import cn.meteor.beyondclouds.modules.user.mapper.IUserFollowMapper;
...
@@ -6,6 +6,8 @@ import cn.meteor.beyondclouds.modules.user.mapper.IUserFollowMapper;
import
cn.meteor.beyondclouds.modules.user.service.IUserFollowService
;
import
cn.meteor.beyondclouds.modules.user.service.IUserFollowService
;
import
cn.meteor.beyondclouds.modules.user.service.IUserService
;
import
cn.meteor.beyondclouds.modules.user.service.IUserService
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -96,4 +98,13 @@ public class UserFollowServiceImpl extends ServiceImpl<IUserFollowMapper, UserFo
...
@@ -96,4 +98,13 @@ public class UserFollowServiceImpl extends ServiceImpl<IUserFollowMapper, UserFo
}
}
@Override
public
IPage
<
UserFollow
>
getFansPage
(
Integer
pageNumber
,
Integer
pageSize
,
String
userId
)
{
IPage
<
UserFollow
>
page
=
new
Page
<>(
pageNumber
,
pageSize
);
QueryWrapper
<
UserFollow
>
projectQueryWrapper
=
new
QueryWrapper
<>();
projectQueryWrapper
.
eq
(
"user_id"
,
userId
);
return
page
(
page
,
projectQueryWrapper
);
}
}
}
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