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
78cbd4d4
Commit
78cbd4d4
authored
Feb 15, 2020
by
段启岩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
用户备注完成
parent
6e4e4eb4
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
228 additions
and
3 deletions
+228
-3
docs/api/API.md
+17
-1
src/main/java/cn/meteor/beyondclouds/core/annotation/ReplaceWithRemarks.java
+16
-0
src/main/java/cn/meteor/beyondclouds/core/aop/RemarksReplacer.java
+159
-0
src/main/java/cn/meteor/beyondclouds/modules/blog/api/BlogApi.java
+7
-1
src/main/java/cn/meteor/beyondclouds/modules/post/api/PostApi.java
+6
-0
src/main/java/cn/meteor/beyondclouds/modules/question/api/QuestionApi.java
+9
-0
src/main/java/cn/meteor/beyondclouds/modules/topic/api/TopicApi.java
+4
-0
src/main/java/cn/meteor/beyondclouds/modules/user/api/UserApi.java
+9
-0
src/main/resources/application.yml
+1
-1
No files found.
docs/api/API.md
View file @
78cbd4d4
...
@@ -655,11 +655,27 @@ DELETE /api/post/comment/{commentId}
...
@@ -655,11 +655,27 @@ DELETE /api/post/comment/{commentId}
GET /api/post/{postId}/comments
GET /api/post/{postId}/comments
```
```
:white_check_mark: 10.我关注的用户的动态列表
```
```
GET /api/posts/followed
GET /api/posts/followed
```
```
###### :white_check_mark: 10.我关注的用户的动态列表
:white_check_mark: 11.推荐动态
```
GET /api/post/recommends
```
:white_check_mark: 12.话题下的推荐动态
```
GET /api/topic/{topicId}/post/recommends
```
######
### 十一、CMS
### 十一、CMS
...
...
src/main/java/cn/meteor/beyondclouds/core/annotation/ReplaceWithRemarks.java
0 → 100644
View file @
78cbd4d4
package
cn
.
meteor
.
beyondclouds
.
core
.
annotation
;
import
java.lang.annotation.ElementType
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.RetentionPolicy
;
import
java.lang.annotation.Target
;
/**
* @author meteor
*/
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Target
(
ElementType
.
METHOD
)
public
@interface
ReplaceWithRemarks
{
String
id
()
default
"userId"
;
String
[]
fields
()
default
{
"userNick"
,
"nickName"
};
}
src/main/java/cn/meteor/beyondclouds/core/aop/RemarksReplacer.java
0 → 100644
View file @
78cbd4d4
package
cn
.
meteor
.
beyondclouds
.
core
.
aop
;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
import
cn.meteor.beyondclouds.common.enums.ErrorCode
;
import
cn.meteor.beyondclouds.config.properties.BeyondCloudsProperties
;
import
cn.meteor.beyondclouds.core.annotation.ReplaceWithRemarks
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.lock.RedisLockFactory
;
import
cn.meteor.beyondclouds.modules.user.entity.UserRemarks
;
import
cn.meteor.beyondclouds.modules.user.service.IUserRemarksService
;
import
cn.meteor.beyondclouds.modules.user.service.IUserService
;
import
cn.meteor.beyondclouds.util.Md5Utils
;
import
cn.meteor.beyondclouds.util.SubjectUtils
;
import
com.baomidou.mybatisplus.core.conditions.query.Query
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.aspectj.lang.ProceedingJoinPoint
;
import
org.aspectj.lang.annotation.Around
;
import
org.aspectj.lang.annotation.Aspect
;
import
org.aspectj.lang.annotation.Pointcut
;
import
org.aspectj.lang.reflect.MethodSignature
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpServletRequest
;
import
java.lang.reflect.Field
;
import
java.util.*
;
import
java.util.concurrent.locks.Lock
;
import
java.util.stream.Collectors
;
/**
* 用户备注解析器
* @author meteor
*/
@Aspect
@Component
@Slf4j
public
class
RemarksReplacer
{
private
IUserRemarksService
userRemarksService
;
@Autowired
public
RemarksReplacer
(
IUserRemarksService
userRemarksService
)
{
this
.
userRemarksService
=
userRemarksService
;
}
@Around
(
value
=
"@annotation(cn.meteor.beyondclouds.core.annotation.ReplaceWithRemarks)"
)
public
Object
processTx
(
ProceedingJoinPoint
jp
)
throws
Throwable
{
Object
retValue
=
jp
.
proceed
();
MethodSignature
methodSignature
=
(
MethodSignature
)
jp
.
getSignature
();
if
(!(
retValue
instanceof
Response
))
{
return
retValue
;
}
Response
<?>
response
=
Response
.
class
.
cast
(
retValue
);
if
(
0
!=
response
.
getCode
()
||
response
.
getData
()
==
null
)
{
return
retValue
;
}
if
(
SubjectUtils
.
isAuthenticated
())
{
Object
data
=
response
.
getData
();
ReplaceWithRemarks
replaceWithRemarks
=
methodSignature
.
getMethod
().
getAnnotation
(
ReplaceWithRemarks
.
class
);
Set
<
Object
>
checked
=
new
HashSet
<>(
100
);
QueryWrapper
<
UserRemarks
>
userRemarksQueryWrapper
=
new
QueryWrapper
<>();
userRemarksQueryWrapper
.
eq
(
"user_id"
,
SubjectUtils
.
getSubject
().
getId
());
Map
<
String
,
String
>
remarksMap
=
userRemarksService
.
list
(
userRemarksQueryWrapper
).
stream
()
.
collect
(
Collectors
.
toMap
(
UserRemarks:
:
getMarkedId
,
UserRemarks:
:
getRemarks
));
parseAndReplace
(
data
,
replaceWithRemarks
.
id
(),
replaceWithRemarks
.
fields
(),
checked
,
remarksMap
);
return
retValue
;
}
else
{
return
retValue
;
}
}
/**
* 解析字段并替换值
* @param data
* @param id
* @param fields
* @param checked
* @param remarksMap
*/
private
void
parseAndReplace
(
Object
data
,
String
id
,
String
[]
fields
,
Set
<
Object
>
checked
,
Map
<
String
,
String
>
remarksMap
)
{
if
(
checked
.
contains
(
data
))
{
return
;
}
// 将该对象添加到检测过的列表里面
checked
.
add
(
data
);
// 如果对象为可迭代对象,则遍历对象
if
(
data
instanceof
Iterable
)
{
for
(
Object
obj
:
(
Collection
)
data
)
{
parseAndReplace
(
obj
,
id
,
fields
,
checked
,
remarksMap
);
}
}
else
if
(
data
instanceof
PageDTO
)
{
// 如果对象为pageDTO,则遍历其分页内容
List
<
Object
>
dataList
=
((
PageDTO
)
data
).
getDataList
();
if
(!
CollectionUtils
.
isEmpty
(
dataList
))
{
for
(
Object
obj
:
dataList
)
{
parseAndReplace
(
obj
,
id
,
fields
,
checked
,
remarksMap
);
}
}
}
else
{
try
{
// 遍历对象的每个字段,如果是可迭代对象,则继续遍历
// 获取用户ID
Field
idField
=
getField
(
data
,
id
);
if
(
null
==
idField
)
{
return
;
}
idField
.
setAccessible
(
true
);
String
userId
=
(
String
)
idField
.
get
(
data
);
String
remarks
=
remarksMap
.
get
(
userId
);
// 如果有备注,则设置每个昵称的备注
if
(!
StringUtils
.
isEmpty
(
remarks
))
{
for
(
String
fieldName
:
fields
)
{
Field
nickField
=
getField
(
data
,
fieldName
);
if
(
null
!=
nickField
)
{
nickField
.
setAccessible
(
true
);
nickField
.
set
(
data
,
remarks
);
log
.
debug
(
"替换 {} 的字段 {} 值为 {}"
,
data
.
getClass
().
getName
(),
nickField
.
getName
(),
remarks
);
}
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
/**
* 获取字段,如果本类找不到,则从父类找
* @param obj
* @param fieldName
* @return
*/
private
Field
getField
(
Object
obj
,
String
fieldName
)
{
Class
clazz
=
obj
.
getClass
();
Field
field
=
null
;
do
{
try
{
field
=
clazz
.
getDeclaredField
(
fieldName
);
}
catch
(
NoSuchFieldException
e
)
{}
clazz
=
clazz
.
getSuperclass
();
}
while
(
null
==
field
&&
null
!=
clazz
);
return
field
;
}
}
src/main/java/cn/meteor/beyondclouds/modules/blog/api/BlogApi.java
View file @
78cbd4d4
...
@@ -5,6 +5,7 @@ import cn.meteor.beyondclouds.common.dto.PageDTO;
...
@@ -5,6 +5,7 @@ import cn.meteor.beyondclouds.common.dto.PageDTO;
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.annotation.PreventDuplicate
;
import
cn.meteor.beyondclouds.core.annotation.PreventDuplicate
;
import
cn.meteor.beyondclouds.core.annotation.ReplaceWithRemarks
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.authentication.Subject
;
import
cn.meteor.beyondclouds.core.authentication.Subject
;
import
cn.meteor.beyondclouds.core.flow.AccessInfo
;
import
cn.meteor.beyondclouds.core.flow.AccessInfo
;
...
@@ -82,7 +83,7 @@ public class BlogApi {
...
@@ -82,7 +83,7 @@ public class BlogApi {
}
}
}
}
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"博客详情"
)
@ApiOperation
(
"博客详情"
)
@GetMapping
(
"/blog/{blogId}"
)
@GetMapping
(
"/blog/{blogId}"
)
...
@@ -103,6 +104,7 @@ public class BlogApi {
...
@@ -103,6 +104,7 @@ public class BlogApi {
}
}
}
}
@ReplaceWithRemarks
@PreventDuplicate
@PreventDuplicate
@Anonymous
@Anonymous
@ApiOperation
(
"博客列表"
)
@ApiOperation
(
"博客列表"
)
...
@@ -135,6 +137,7 @@ public class BlogApi {
...
@@ -135,6 +137,7 @@ public class BlogApi {
* @param userId
* @param userId
* @return
* @return
*/
*/
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"他人博客列表"
)
@ApiOperation
(
"他人博客列表"
)
@GetMapping
(
"/user/{userId}/blogs"
)
@GetMapping
(
"/user/{userId}/blogs"
)
...
@@ -166,6 +169,7 @@ public class BlogApi {
...
@@ -166,6 +169,7 @@ public class BlogApi {
}
}
}
}
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"热门博客"
)
@ApiOperation
(
"热门博客"
)
@GetMapping
(
"/blog/hots"
)
@GetMapping
(
"/blog/hots"
)
...
@@ -175,6 +179,7 @@ public class BlogApi {
...
@@ -175,6 +179,7 @@ public class BlogApi {
return
Response
.
success
(
blogPageDTO
);
return
Response
.
success
(
blogPageDTO
);
}
}
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"根据标签查找博客列表"
)
@ApiOperation
(
"根据标签查找博客列表"
)
@GetMapping
(
"/tag/{tagId}/blogs"
)
@GetMapping
(
"/tag/{tagId}/blogs"
)
...
@@ -188,6 +193,7 @@ public class BlogApi {
...
@@ -188,6 +193,7 @@ public class BlogApi {
return
Response
.
success
(
blogPageDTO
);
return
Response
.
success
(
blogPageDTO
);
}
}
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"相关博客"
)
@ApiOperation
(
"相关博客"
)
@GetMapping
(
"/blog/{blogId}/recommends"
)
@GetMapping
(
"/blog/{blogId}/recommends"
)
...
...
src/main/java/cn/meteor/beyondclouds/modules/post/api/PostApi.java
View file @
78cbd4d4
...
@@ -4,6 +4,7 @@ import cn.meteor.beyondclouds.common.form.PageForm;
...
@@ -4,6 +4,7 @@ import cn.meteor.beyondclouds.common.form.PageForm;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
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.annotation.ReplaceWithRemarks
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.authentication.Subject
;
import
cn.meteor.beyondclouds.core.authentication.Subject
;
import
cn.meteor.beyondclouds.modules.post.dto.PostDTO
;
import
cn.meteor.beyondclouds.modules.post.dto.PostDTO
;
...
@@ -121,6 +122,7 @@ public class PostApi {
...
@@ -121,6 +122,7 @@ public class PostApi {
* @param pageForm
* @param pageForm
* @return
* @return
*/
*/
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"动态列表"
)
@ApiOperation
(
"动态列表"
)
@GetMapping
(
"/posts"
)
@GetMapping
(
"/posts"
)
...
@@ -164,6 +166,7 @@ public class PostApi {
...
@@ -164,6 +166,7 @@ public class PostApi {
* @param pageForm
* @param pageForm
* @return
* @return
*/
*/
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"他人动态列表"
)
@ApiOperation
(
"他人动态列表"
)
@GetMapping
(
"/user/{userId}/posts"
)
@GetMapping
(
"/user/{userId}/posts"
)
...
@@ -215,6 +218,7 @@ public class PostApi {
...
@@ -215,6 +218,7 @@ public class PostApi {
return
postPageDTO
;
return
postPageDTO
;
}
}
@ReplaceWithRemarks
@ApiOperation
(
"获取我关注的用户的动态列表"
)
@ApiOperation
(
"获取我关注的用户的动态列表"
)
@GetMapping
(
"/posts/followed"
)
@GetMapping
(
"/posts/followed"
)
public
Response
<?>
getMyFollowdePosts
(
@Valid
PageForm
pageForm
,
BindingResult
bindingResult
,
@CurrentSubject
Subject
subject
)
{
public
Response
<?>
getMyFollowdePosts
(
@Valid
PageForm
pageForm
,
BindingResult
bindingResult
,
@CurrentSubject
Subject
subject
)
{
...
@@ -231,6 +235,7 @@ public class PostApi {
...
@@ -231,6 +235,7 @@ public class PostApi {
* @param bindingResult
* @param bindingResult
* @return
* @return
*/
*/
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"推荐动态列表"
)
@ApiOperation
(
"推荐动态列表"
)
@GetMapping
(
"/post/recommends"
)
@GetMapping
(
"/post/recommends"
)
...
@@ -249,6 +254,7 @@ public class PostApi {
...
@@ -249,6 +254,7 @@ public class PostApi {
* @param bindingResult
* @param bindingResult
* @return
* @return
*/
*/
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"话题下的推荐动态列表"
)
@ApiOperation
(
"话题下的推荐动态列表"
)
@GetMapping
(
"/topic/{topicId}/post/recommends"
)
@GetMapping
(
"/topic/{topicId}/post/recommends"
)
...
...
src/main/java/cn/meteor/beyondclouds/modules/question/api/QuestionApi.java
View file @
78cbd4d4
...
@@ -4,6 +4,7 @@ import cn.meteor.beyondclouds.common.form.PageForm;
...
@@ -4,6 +4,7 @@ import cn.meteor.beyondclouds.common.form.PageForm;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
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.annotation.ReplaceWithRemarks
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.authentication.Subject
;
import
cn.meteor.beyondclouds.core.authentication.Subject
;
import
cn.meteor.beyondclouds.core.validation.groups.InsertGroup
;
import
cn.meteor.beyondclouds.core.validation.groups.InsertGroup
;
...
@@ -137,6 +138,7 @@ public class QuestionApi {
...
@@ -137,6 +138,7 @@ public class QuestionApi {
* @param questionId 问题ID
* @param questionId 问题ID
* @return 问题详情
* @return 问题详情
*/
*/
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"问题详情"
)
@ApiOperation
(
"问题详情"
)
@GetMapping
(
"/question/{questionId}"
)
@GetMapping
(
"/question/{questionId}"
)
...
@@ -174,6 +176,7 @@ public class QuestionApi {
...
@@ -174,6 +176,7 @@ public class QuestionApi {
* @param pageForm 分页表单
* @param pageForm 分页表单
* @return 问答列表
* @return 问答列表
*/
*/
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"问答列表"
)
@ApiOperation
(
"问答列表"
)
@GetMapping
(
"/questions"
)
@GetMapping
(
"/questions"
)
...
@@ -205,6 +208,7 @@ public class QuestionApi {
...
@@ -205,6 +208,7 @@ public class QuestionApi {
* @param subject 访问者信息
* @param subject 访问者信息
* @return 我参与的问答列表
* @return 我参与的问答列表
*/
*/
@ReplaceWithRemarks
@ApiOperation
(
"我参与的问答列表"
)
@ApiOperation
(
"我参与的问答列表"
)
@GetMapping
(
"/my/question/participated"
)
@GetMapping
(
"/my/question/participated"
)
public
Response
<
PageDTO
<
Question
>>
getMyParticipateQuestions
(
@Valid
PageForm
pageForm
,
@CurrentSubject
Subject
subject
)
{
public
Response
<
PageDTO
<
Question
>>
getMyParticipateQuestions
(
@Valid
PageForm
pageForm
,
@CurrentSubject
Subject
subject
)
{
...
@@ -220,6 +224,7 @@ public class QuestionApi {
...
@@ -220,6 +224,7 @@ public class QuestionApi {
* @param userId 用户ID
* @param userId 用户ID
* @return 用户创建的问答列表
* @return 用户创建的问答列表
*/
*/
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"用户创建的问答列表"
)
@ApiOperation
(
"用户创建的问答列表"
)
@GetMapping
(
"/user/{userId}/questions"
)
@GetMapping
(
"/user/{userId}/questions"
)
...
@@ -236,6 +241,7 @@ public class QuestionApi {
...
@@ -236,6 +241,7 @@ public class QuestionApi {
* @param userId 用户ID
* @param userId 用户ID
* @return 用户参与的问答列表
* @return 用户参与的问答列表
*/
*/
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"用户参与的问答列表"
)
@ApiOperation
(
"用户参与的问答列表"
)
@GetMapping
(
"/user/{userId}/question/participated"
)
@GetMapping
(
"/user/{userId}/question/participated"
)
...
@@ -246,6 +252,7 @@ public class QuestionApi {
...
@@ -246,6 +252,7 @@ public class QuestionApi {
return
Response
.
success
(
questionReplyPageDTO
);
return
Response
.
success
(
questionReplyPageDTO
);
}
}
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"热门回答"
)
@ApiOperation
(
"热门回答"
)
@GetMapping
(
"/question/hots"
)
@GetMapping
(
"/question/hots"
)
...
@@ -255,6 +262,7 @@ public class QuestionApi {
...
@@ -255,6 +262,7 @@ public class QuestionApi {
return
Response
.
success
(
questionPageDTO
);
return
Response
.
success
(
questionPageDTO
);
}
}
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"相关问答"
)
@ApiOperation
(
"相关问答"
)
@GetMapping
(
"/question/{questionId}/recommends"
)
@GetMapping
(
"/question/{questionId}/recommends"
)
...
@@ -269,6 +277,7 @@ public class QuestionApi {
...
@@ -269,6 +277,7 @@ public class QuestionApi {
}
}
}
}
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"得到标签下的问答列表"
)
@ApiOperation
(
"得到标签下的问答列表"
)
@GetMapping
(
"/tag/{tagId}/questions"
)
@GetMapping
(
"/tag/{tagId}/questions"
)
...
...
src/main/java/cn/meteor/beyondclouds/modules/topic/api/TopicApi.java
View file @
78cbd4d4
...
@@ -4,6 +4,7 @@ import cn.meteor.beyondclouds.common.form.PageForm;
...
@@ -4,6 +4,7 @@ import cn.meteor.beyondclouds.common.form.PageForm;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
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.annotation.ReplaceWithRemarks
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.authentication.Subject
;
import
cn.meteor.beyondclouds.core.authentication.Subject
;
import
cn.meteor.beyondclouds.core.flow.AccessInfo
;
import
cn.meteor.beyondclouds.core.flow.AccessInfo
;
...
@@ -130,6 +131,7 @@ public class TopicApi {
...
@@ -130,6 +131,7 @@ public class TopicApi {
}
}
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"话题关注者列表"
)
@ApiOperation
(
"话题关注者列表"
)
@GetMapping
(
"/topic/{topicId}/follower"
)
@GetMapping
(
"/topic/{topicId}/follower"
)
...
@@ -192,6 +194,7 @@ public class TopicApi {
...
@@ -192,6 +194,7 @@ public class TopicApi {
return
Response
.
success
(
topicPage
);
return
Response
.
success
(
topicPage
);
}
}
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"查询话题下的所有动态"
)
@ApiOperation
(
"查询话题下的所有动态"
)
@GetMapping
(
"/topic/{topicName}/posts"
)
@GetMapping
(
"/topic/{topicName}/posts"
)
...
@@ -221,6 +224,7 @@ public class TopicApi {
...
@@ -221,6 +224,7 @@ public class TopicApi {
return
Response
.
success
(
topicDTOPage
);
return
Response
.
success
(
topicDTOPage
);
}
}
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"话题贡献者列表"
)
@ApiOperation
(
"话题贡献者列表"
)
@GetMapping
(
"/topic/{topicId}/contributes"
)
@GetMapping
(
"/topic/{topicId}/contributes"
)
...
...
src/main/java/cn/meteor/beyondclouds/modules/user/api/UserApi.java
View file @
78cbd4d4
...
@@ -4,6 +4,7 @@ import cn.meteor.beyondclouds.common.form.PageForm;
...
@@ -4,6 +4,7 @@ import cn.meteor.beyondclouds.common.form.PageForm;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
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.annotation.ReplaceWithRemarks
;
import
cn.meteor.beyondclouds.core.flow.CollectAccessInfo
;
import
cn.meteor.beyondclouds.core.flow.CollectAccessInfo
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.authentication.Subject
;
import
cn.meteor.beyondclouds.core.authentication.Subject
;
...
@@ -299,6 +300,7 @@ public class UserApi {
...
@@ -299,6 +300,7 @@ public class UserApi {
}
}
}
}
@ReplaceWithRemarks
@ApiOperation
((
"获取我的粉丝"
))
@ApiOperation
((
"获取我的粉丝"
))
@GetMapping
(
"/my/fans"
)
@GetMapping
(
"/my/fans"
)
public
Response
<
PageDTO
<
UserFollowDTO
>>
myFans
(
@Valid
PageForm
pageForm
,
@CurrentSubject
Subject
subject
){
public
Response
<
PageDTO
<
UserFollowDTO
>>
myFans
(
@Valid
PageForm
pageForm
,
@CurrentSubject
Subject
subject
){
...
@@ -309,6 +311,7 @@ public class UserApi {
...
@@ -309,6 +311,7 @@ public class UserApi {
}
}
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
((
"获取他人粉丝"
))
@ApiOperation
((
"获取他人粉丝"
))
@GetMapping
(
"/user/{userId}/fans"
)
@GetMapping
(
"/user/{userId}/fans"
)
...
@@ -320,6 +323,7 @@ public class UserApi {
...
@@ -320,6 +323,7 @@ public class UserApi {
}
}
@ReplaceWithRemarks
@ApiOperation
((
"获取我的关注"
))
@ApiOperation
((
"获取我的关注"
))
@GetMapping
(
"/my/follower"
)
@GetMapping
(
"/my/follower"
)
public
Response
myFollower
(
@Valid
PageForm
pageForm
,
@CurrentSubject
Subject
subject
){
public
Response
myFollower
(
@Valid
PageForm
pageForm
,
@CurrentSubject
Subject
subject
){
...
@@ -329,6 +333,7 @@ public class UserApi {
...
@@ -329,6 +333,7 @@ public class UserApi {
return
Response
.
success
(
followedPage
);
return
Response
.
success
(
followedPage
);
}
}
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
((
"获取他人关注"
))
@ApiOperation
((
"获取他人关注"
))
@GetMapping
(
"/user/{userId}/follower"
)
@GetMapping
(
"/user/{userId}/follower"
)
...
@@ -376,6 +381,7 @@ public class UserApi {
...
@@ -376,6 +381,7 @@ public class UserApi {
}
}
}
}
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
((
"热门博主"
))
@ApiOperation
((
"热门博主"
))
@GetMapping
(
"/user/hotBloggers"
)
@GetMapping
(
"/user/hotBloggers"
)
...
@@ -390,6 +396,7 @@ public class UserApi {
...
@@ -390,6 +396,7 @@ public class UserApi {
return
Response
.
success
(
userFollowDTOPage
);
return
Response
.
success
(
userFollowDTOPage
);
}
}
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"热门答主"
)
@ApiOperation
(
"热门答主"
)
@GetMapping
(
"/user/hotRepliers"
)
@GetMapping
(
"/user/hotRepliers"
)
...
@@ -404,6 +411,7 @@ public class UserApi {
...
@@ -404,6 +411,7 @@ public class UserApi {
return
Response
.
success
(
userFollowDTOPage
);
return
Response
.
success
(
userFollowDTOPage
);
}
}
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"社区精英"
)
@ApiOperation
(
"社区精英"
)
@GetMapping
(
"/user/elites"
)
@GetMapping
(
"/user/elites"
)
...
@@ -415,6 +423,7 @@ public class UserApi {
...
@@ -415,6 +423,7 @@ public class UserApi {
return
Response
.
success
(
pageDTO
);
return
Response
.
success
(
pageDTO
);
}
}
@ReplaceWithRemarks
@Anonymous
@Anonymous
@ApiOperation
(
"活跃用户"
)
@ApiOperation
(
"活跃用户"
)
@GetMapping
(
"/user/actives"
)
@GetMapping
(
"/user/actives"
)
...
...
src/main/resources/application.yml
View file @
78cbd4d4
...
@@ -4,7 +4,7 @@ spring:
...
@@ -4,7 +4,7 @@ spring:
driver-class-name
:
com.mysql.cj.jdbc.Driver
driver-class-name
:
com.mysql.cj.jdbc.Driver
url
:
jdbc:mysql://127.0.0.1:3306/beyond_clouds?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
url
:
jdbc:mysql://127.0.0.1:3306/beyond_clouds?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
username
:
root
username
:
root
password
:
1
97442
password
:
1
00Centa30821%mysql
# 邮箱
# 邮箱
mail
:
mail
:
...
...
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