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
7a39e9b3
Commit
7a39e9b3
authored
Jan 31, 2020
by
张晋雄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
用户模块
parent
49a8fc46
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
288 additions
and
17 deletions
+288
-17
src/main/java/cn/meteor/beyondclouds/modules/user/api/UserApi.java
+75
-14
src/main/java/cn/meteor/beyondclouds/modules/user/entity/UserBlacklist.java
+43
-0
src/main/java/cn/meteor/beyondclouds/modules/user/mapper/UserBlacklistMapper.java
+16
-0
src/main/java/cn/meteor/beyondclouds/modules/user/mapper/xml/UserBlacklistMapper.xml
+5
-0
src/main/java/cn/meteor/beyondclouds/modules/user/service/IUserBlacklistService.java
+17
-0
src/main/java/cn/meteor/beyondclouds/modules/user/service/IUserFollowService.java
+14
-0
src/main/java/cn/meteor/beyondclouds/modules/user/service/IUserService.java
+2
-0
src/main/java/cn/meteor/beyondclouds/modules/user/service/impl/UserBlacklistServiceImpl.java
+27
-0
src/main/java/cn/meteor/beyondclouds/modules/user/service/impl/UserFollowServiceImpl.java
+83
-0
src/main/java/cn/meteor/beyondclouds/modules/user/service/impl/UserServiceImpl.java
+6
-3
No files found.
src/main/java/cn/meteor/beyondclouds/modules/user/api/UserApi.java
View file @
7a39e9b3
...
...
@@ -8,6 +8,8 @@ import cn.meteor.beyondclouds.modules.user.entity.User;
import
cn.meteor.beyondclouds.modules.user.exception.UserServiceException
;
import
cn.meteor.beyondclouds.modules.user.form.UserBaseinfoFrom
;
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
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -27,10 +29,14 @@ import javax.validation.Valid;
public
class
UserApi
{
private
IUserService
userService
;
private
IUserFollowService
userFollowService
;
private
IUserBlacklistService
userBlacklistService
;
@Autowired
public
void
setUserService
(
IUserService
user
Service
)
{
public
UserApi
(
IUserService
userService
,
IUserFollowService
userFollowService
,
IUserBlacklistService
userBlacklist
Service
)
{
this
.
userService
=
userService
;
this
.
userFollowService
=
userFollowService
;
this
.
userBlacklistService
=
userBlacklistService
;
}
@Anonymous
...
...
@@ -51,19 +57,6 @@ public class UserApi {
}
}
@ApiOperation
(
"修改我的基本信息"
)
@PutMapping
(
"/my/baseinfo"
)
public
Response
alterBaseinfo
(
@RequestBody
@Valid
UserBaseinfoFrom
userBaseinfoFrom
,
BindingResult
result
,
@CurrentSubject
Subject
subject
){
if
(
result
.
hasErrors
())
{
return
Response
.
fieldError
(
result
.
getFieldError
());
}
userService
.
alterBaseinfo
(
userBaseinfoFrom
.
getNickName
(),
userBaseinfoFrom
.
getUserAvatar
(),
userBaseinfoFrom
.
getGender
(),
userBaseinfoFrom
.
getMobile
(),
userBaseinfoFrom
.
getSignature
(),
userBaseinfoFrom
.
getQqNumber
(),
userBaseinfoFrom
.
getWxNumber
(),
String
.
valueOf
(
subject
.
getId
()));
return
Response
.
success
();
}
@Anonymous
@ApiOperation
(
"修改密码"
)
@PutMapping
(
"/my/password"
)
...
...
@@ -82,6 +75,19 @@ public class UserApi {
}
}
@ApiOperation
(
"修改我的基本信息"
)
@PutMapping
(
"/my/baseinfo"
)
public
Response
alterBaseinfo
(
@RequestBody
@Valid
UserBaseinfoFrom
userBaseinfoFrom
,
BindingResult
result
,
@CurrentSubject
Subject
subject
){
if
(
result
.
hasErrors
())
{
return
Response
.
fieldError
(
result
.
getFieldError
());
}
userService
.
alterBaseinfo
(
userBaseinfoFrom
.
getNickName
(),
userBaseinfoFrom
.
getUserAvatar
(),
userBaseinfoFrom
.
getGender
(),
userBaseinfoFrom
.
getMobile
(),
userBaseinfoFrom
.
getSignature
(),
userBaseinfoFrom
.
getQqNumber
(),
userBaseinfoFrom
.
getWxNumber
(),
String
.
valueOf
(
subject
.
getId
()));
return
Response
.
success
();
}
@ApiOperation
((
"获取我的基本信息"
))
@GetMapping
(
"/my/baseinfo"
)
public
Response
myBaseinfo
(
@CurrentSubject
Subject
subject
){
...
...
@@ -96,6 +102,61 @@ public class UserApi {
}
@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
(
@CurrentSubject
Subject
subject
){
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/entity/UserBlacklist.java
0 → 100644
View file @
7a39e9b3
package
cn
.
meteor
.
beyondclouds
.
modules
.
user
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
java.time.LocalDateTime
;
import
java.io.Serializable
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
/**
* <p>
*
* </p>
*
* @author 段启岩
* @since 2020-01-31
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@ApiModel
(
value
=
"UserBlacklist对象"
,
description
=
""
)
public
class
UserBlacklist
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"bl_id"
,
type
=
IdType
.
AUTO
)
private
Integer
blId
;
@ApiModelProperty
(
value
=
"用户ID"
)
private
String
userId
;
@ApiModelProperty
(
value
=
"被拉黑的用户的ID"
)
private
String
blackedId
;
private
LocalDateTime
createTime
;
private
LocalDateTime
updateTime
;
}
src/main/java/cn/meteor/beyondclouds/modules/user/mapper/UserBlacklistMapper.java
0 → 100644
View file @
7a39e9b3
package
cn
.
meteor
.
beyondclouds
.
modules
.
user
.
mapper
;
import
cn.meteor.beyondclouds.modules.user.entity.UserBlacklist
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author 段启岩
* @since 2020-01-31
*/
public
interface
UserBlacklistMapper
extends
BaseMapper
<
UserBlacklist
>
{
}
src/main/java/cn/meteor/beyondclouds/modules/user/mapper/xml/UserBlacklistMapper.xml
0 → 100644
View file @
7a39e9b3
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.meteor.beyondclouds.modules.user.mapper.UserBlacklistMapper"
>
</mapper>
src/main/java/cn/meteor/beyondclouds/modules/user/service/IUserBlacklistService.java
0 → 100644
View file @
7a39e9b3
package
cn
.
meteor
.
beyondclouds
.
modules
.
user
.
service
;
import
cn.meteor.beyondclouds.modules.user.entity.UserBlacklist
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
* 服务类
* </p>
*
* @author 段启岩
* @since 2020-01-31
*/
public
interface
IUserBlacklistService
extends
IService
<
UserBlacklist
>
{
void
blacklist
(
String
blackId
,
String
userId
);
}
src/main/java/cn/meteor/beyondclouds/modules/user/service/IUserFollowService.java
View file @
7a39e9b3
package
cn
.
meteor
.
beyondclouds
.
modules
.
user
.
service
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
cn.meteor.beyondclouds.modules.user.entity.UserFollow
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.List
;
/**
* @author 段启岩
* @since 2020-01-18
*/
public
interface
IUserFollowService
extends
IService
<
UserFollow
>
{
void
follower
(
String
userId
,
String
myUserId
);
void
delFollower
(
String
userId
,
String
myUserId
);
List
<
User
>
myFans
(
String
userId
);
List
<
User
>
Fans
(
String
userId
);
List
<
User
>
myFollower
(
String
userId
);
List
<
User
>
otherFollower
(
String
userId
);
}
src/main/java/cn/meteor/beyondclouds/modules/user/service/IUserService.java
View file @
7a39e9b3
...
...
@@ -5,6 +5,7 @@ import cn.meteor.beyondclouds.modules.user.exception.UserServiceException;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* @author meteor
...
...
@@ -42,4 +43,5 @@ public interface IUserService extends IService<User> {
User
myBaseinfo
(
String
id
);
User
otherBaseinfo
(
String
nickName
);
}
src/main/java/cn/meteor/beyondclouds/modules/user/service/impl/UserBlacklistServiceImpl.java
0 → 100644
View file @
7a39e9b3
package
cn
.
meteor
.
beyondclouds
.
modules
.
user
.
service
.
impl
;
import
cn.meteor.beyondclouds.modules.user.entity.UserBlacklist
;
import
cn.meteor.beyondclouds.modules.user.mapper.UserBlacklistMapper
;
import
cn.meteor.beyondclouds.modules.user.service.IUserBlacklistService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 服务实现类
* </p>
*
* @author 段启岩
* @since 2020-01-31
*/
@Service
public
class
UserBlacklistServiceImpl
extends
ServiceImpl
<
UserBlacklistMapper
,
UserBlacklist
>
implements
IUserBlacklistService
{
@Override
public
void
blacklist
(
String
blackId
,
String
userId
)
{
UserBlacklist
userBlacklist
=
new
UserBlacklist
();
userBlacklist
.
setBlackedId
(
blackId
);
userBlacklist
.
setUserId
(
userId
);
save
(
userBlacklist
);
}
}
src/main/java/cn/meteor/beyondclouds/modules/user/service/impl/UserFollowServiceImpl.java
View file @
7a39e9b3
package
cn
.
meteor
.
beyondclouds
.
modules
.
user
.
service
.
impl
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
cn.meteor.beyondclouds.modules.user.entity.UserFollow
;
import
cn.meteor.beyondclouds.modules.user.mapper.IUserFollowMapper
;
import
cn.meteor.beyondclouds.modules.user.service.IUserFollowService
;
import
cn.meteor.beyondclouds.modules.user.service.IUserService
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* @author 段启岩
* @since 2020-01-18
...
...
@@ -13,4 +19,81 @@ import org.springframework.stereotype.Service;
@Service
public
class
UserFollowServiceImpl
extends
ServiceImpl
<
IUserFollowMapper
,
UserFollow
>
implements
IUserFollowService
{
private
IUserService
userService
;
@Autowired
public
void
setUserService
(
IUserService
userService
)
{
this
.
userService
=
userService
;
}
@Override
public
void
follower
(
String
userId
,
String
myUserId
)
{
//1.查询被关注用户的基本信息
User
user
=
userService
.
getById
(
userId
);
//2.查询我的基本信息
User
myUser
=
userService
.
getById
(
myUserId
);
UserFollow
userFollow
=
new
UserFollow
();
userFollow
.
setFollowedId
(
userId
);
userFollow
.
setFollowedNick
(
user
.
getNickName
());
userFollow
.
setFollowedAvatar
(
user
.
getUserAvatar
());
userFollow
.
setFollowerId
(
myUserId
);
userFollow
.
setFollowerNick
(
myUser
.
getNickName
());
userFollow
.
setFollowerAvatar
(
myUser
.
getUserAvatar
());
userFollow
.
setFollowStatus
(
0
);
save
(
userFollow
);
}
@Override
public
void
delFollower
(
String
userId
,
String
myUserId
)
{
QueryWrapper
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"follower_id"
,
myUserId
);
queryWrapper
.
eq
(
"followed_id"
,
userId
);
remove
(
queryWrapper
);
}
@Override
public
List
<
User
>
myFans
(
String
userId
)
{
QueryWrapper
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"followed_id"
,
userId
);
return
list
(
queryWrapper
);
}
@Override
public
List
<
User
>
Fans
(
String
userId
)
{
QueryWrapper
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"followed_id"
,
userId
);
return
list
(
queryWrapper
);
}
@Override
public
List
<
User
>
myFollower
(
String
userId
)
{
QueryWrapper
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"follower_id"
,
userId
);
return
list
(
queryWrapper
);
}
@Override
public
List
<
User
>
otherFollower
(
String
userId
)
{
QueryWrapper
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"follower_id"
,
userId
);
return
list
(
queryWrapper
);
}
}
src/main/java/cn/meteor/beyondclouds/modules/user/service/impl/UserServiceImpl.java
View file @
7a39e9b3
...
...
@@ -4,10 +4,12 @@ import cn.meteor.beyondclouds.common.helper.IRedisHelper;
import
cn.meteor.beyondclouds.core.redis.RedisKey
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
cn.meteor.beyondclouds.modules.user.entity.UserAuthLocal
;
import
cn.meteor.beyondclouds.modules.user.entity.UserFollow
;
import
cn.meteor.beyondclouds.modules.user.enums.UserErrorCode
;
import
cn.meteor.beyondclouds.modules.user.exception.UserServiceException
;
import
cn.meteor.beyondclouds.modules.user.mapper.IUserMapper
;
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.util.Md5Utils
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
...
...
@@ -18,6 +20,7 @@ import org.springframework.stereotype.Service;
import
org.springframework.util.StringUtils
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* @author meteor
...
...
@@ -30,7 +33,7 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
private
IRedisHelper
redisHelper
;
@Autowired
public
void
setUserAuthLocalService
(
IUserAuthLocalService
userAuthLocalService
,
IRedisHelper
redisHelper
)
{
public
UserServiceImpl
(
IUserAuthLocalService
userAuthLocalService
,
IRedisHelper
redisHelper
)
{
this
.
userAuthLocalService
=
userAuthLocalService
;
this
.
redisHelper
=
redisHelper
;
}
...
...
@@ -124,7 +127,6 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
QueryWrapper
<
User
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"user_id"
,
userId
);
System
.
out
.
println
(
userId
);
return
getOne
(
queryWrapper
);
}
...
...
@@ -133,9 +135,10 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
QueryWrapper
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"user_id"
,
userId
);
return
getOne
(
queryWrapper
);
}
}
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