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
25ceff4e
Commit
25ceff4e
authored
Jan 31, 2020
by
段启岩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
项目评论列表
parent
b0bc8514
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
60 additions
and
0 deletions
+60
-0
src/main/java/cn/meteor/beyondclouds/modules/project/api/ProjectCommentApi.java
+24
-0
src/main/java/cn/meteor/beyondclouds/modules/project/service/IProjectCommentService.java
+11
-0
src/main/java/cn/meteor/beyondclouds/modules/project/service/impl/ProjectCommentServiceImpl.java
+25
-0
No files found.
src/main/java/cn/meteor/beyondclouds/modules/project/api/ProjectCommentApi.java
View file @
25ceff4e
package
cn
.
meteor
.
beyondclouds
.
modules
.
project
.
api
;
import
cn.meteor.beyondclouds.common.form.PageForm
;
import
cn.meteor.beyondclouds.common.vo.PageVO
;
import
cn.meteor.beyondclouds.core.annotation.Anonymous
;
import
cn.meteor.beyondclouds.core.annotation.CurrentSubject
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.bean.Subject
;
import
cn.meteor.beyondclouds.modules.project.entity.ProjectComment
;
import
cn.meteor.beyondclouds.modules.project.exception.ProjectCommentServiceException
;
import
cn.meteor.beyondclouds.modules.project.form.ProjectCommentForm
;
import
cn.meteor.beyondclouds.modules.project.service.IProjectCommentService
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -72,4 +77,23 @@ public class ProjectCommentApi {
}
}
@Anonymous
@ApiOperation
(
"评论列表"
)
@GetMapping
(
"/project/{projectId}/comments"
)
public
Response
<
PageVO
<
ProjectComment
>>
getProjectComments
(
@PathVariable
(
"projectId"
)
Integer
projectId
,
@Valid
PageForm
pageForm
,
@RequestParam
(
value
=
"parentId"
,
required
=
false
)
Integer
parentId
)
{
try
{
// 根据用户获取列表并返回
IPage
<
ProjectComment
>
commentPage
=
projectCommentService
.
getCommentPage
(
pageForm
.
getPage
(),
pageForm
.
getSize
(),
projectId
,
parentId
);
PageVO
<
ProjectComment
>
projectPageVO
=
new
PageVO
<>();
projectPageVO
.
setTotalPage
(
commentPage
.
getPages
());
projectPageVO
.
setDataList
(
commentPage
.
getRecords
());
return
Response
.
success
(
projectPageVO
);
}
catch
(
ProjectCommentServiceException
e
)
{
e
.
printStackTrace
();
return
Response
.
error
(
e
);
}
}
}
src/main/java/cn/meteor/beyondclouds/modules/project/service/IProjectCommentService.java
View file @
25ceff4e
...
...
@@ -2,6 +2,7 @@ package cn.meteor.beyondclouds.modules.project.service;
import
cn.meteor.beyondclouds.modules.project.entity.ProjectComment
;
import
cn.meteor.beyondclouds.modules.project.exception.ProjectCommentServiceException
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
...
...
@@ -29,4 +30,14 @@ public interface IProjectCommentService extends IService<ProjectComment> {
* @param id
*/
void
deleteComment
(
Integer
commentId
,
String
id
)
throws
ProjectCommentServiceException
;
/**
* 获取评论分页
* @param page
* @param size
* @param projectId
* @param parentId
* @return
*/
IPage
<
ProjectComment
>
getCommentPage
(
Integer
page
,
Integer
size
,
Integer
projectId
,
Integer
parentId
)
throws
ProjectCommentServiceException
;
}
src/main/java/cn/meteor/beyondclouds/modules/project/service/impl/ProjectCommentServiceImpl.java
View file @
25ceff4e
...
...
@@ -9,6 +9,8 @@ import cn.meteor.beyondclouds.modules.project.mapper.ProjectCommentMapper;
import
cn.meteor.beyondclouds.modules.project.service.IProjectCommentService
;
import
cn.meteor.beyondclouds.modules.project.service.IProjectService
;
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
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -95,4 +97,27 @@ public class ProjectCommentServiceImpl extends ServiceImpl<ProjectCommentMapper,
projectCommentQueryWrapper
.
like
(
"thread"
,
projectComment
.
getThread
());
remove
(
projectCommentQueryWrapper
);
}
@Override
public
IPage
<
ProjectComment
>
getCommentPage
(
Integer
pageNumber
,
Integer
pageSize
,
Integer
projectId
,
Integer
parentId
)
throws
ProjectCommentServiceException
{
IPage
<
ProjectComment
>
page
=
new
Page
<>(
pageNumber
,
pageSize
);
// 如果parentId为null,则只获取一级评论
if
(
null
==
parentId
)
{
QueryWrapper
<
ProjectComment
>
projectCommentQueryWrapper
=
new
QueryWrapper
<>();
projectCommentQueryWrapper
.
eq
(
"project_id"
,
projectId
);
projectCommentQueryWrapper
.
orderByDesc
(
"create_time"
);
return
page
(
page
,
projectCommentQueryWrapper
);
}
// 如果parentId不为null,则获取其子评论
ProjectComment
projectComment
=
getById
(
parentId
);
if
(
null
==
projectComment
)
{
throw
new
ProjectCommentServiceException
(
ProjectCommentErrorCode
.
COMMENT_NOT_FOUND
);
}
QueryWrapper
<
ProjectComment
>
projectCommentQueryWrapper
=
new
QueryWrapper
<>();
projectCommentQueryWrapper
.
eq
(
"parent_id"
,
parentId
);
return
page
(
page
,
projectCommentQueryWrapper
);
}
}
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