Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
IEQEFCR
halo
提交
d7aebebf
H
halo
项目概览
IEQEFCR
/
halo
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
halo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
d7aebebf
编写于
4月 25, 2019
作者:
J
johnniang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Complete journal comment list api
上级
22195834
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
106 addition
and
5 deletion
+106
-5
src/main/java/run/halo/app/controller/admin/api/JournalCommentController.java
...lo/app/controller/admin/api/JournalCommentController.java
+24
-4
src/main/java/run/halo/app/controller/admin/api/PostCommentController.java
.../halo/app/controller/admin/api/PostCommentController.java
+1
-1
src/main/java/run/halo/app/model/vo/JournalCommentWithJournalVO.java
...va/run/halo/app/model/vo/JournalCommentWithJournalVO.java
+21
-0
src/main/java/run/halo/app/service/JournalCommentService.java
...main/java/run/halo/app/service/JournalCommentService.java
+11
-0
src/main/java/run/halo/app/service/impl/JournalCommentServiceImpl.java
.../run/halo/app/service/impl/JournalCommentServiceImpl.java
+49
-0
未找到文件。
src/main/java/run/halo/app/controller/admin/api/JournalCommentController.java
浏览文件 @
d7aebebf
package
run.halo.app.controller.admin.api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.
web.bind.annotation.PostMapping
;
import
org.springframework.
web.bind.annotation.RequestBody
;
import
org.springframework.
web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.
RestController
;
import
org.springframework.
data.domain.Page
;
import
org.springframework.
data.domain.Pageable
;
import
org.springframework.
data.web.PageableDefault
;
import
org.springframework.web.bind.annotation.
*
;
import
run.halo.app.model.dto.BaseCommentDTO
;
import
run.halo.app.model.entity.JournalComment
;
import
run.halo.app.model.params.CommentQuery
;
import
run.halo.app.model.params.JournalCommentParam
;
import
run.halo.app.model.vo.JournalCommentWithJournalVO
;
import
run.halo.app.service.JournalCommentService
;
import
java.util.List
;
import
static
org
.
springframework
.
data
.
domain
.
Sort
.
Direction
.
DESC
;
/**
* Journal comment controller.
*
...
...
@@ -26,6 +32,20 @@ public class JournalCommentController {
this
.
journalCommentService
=
journalCommentService
;
}
@GetMapping
@ApiOperation
(
"Lists journal comments"
)
public
Page
<
JournalCommentWithJournalVO
>
pageBy
(
@PageableDefault
(
sort
=
"updateTime"
,
direction
=
DESC
)
Pageable
pageable
,
CommentQuery
commentQuery
)
{
Page
<
JournalComment
>
journalCommentPage
=
journalCommentService
.
pageBy
(
commentQuery
,
pageable
);
return
journalCommentService
.
convertToWithJournalVo
(
journalCommentPage
);
}
@GetMapping
(
"latest"
)
public
List
<
JournalCommentWithJournalVO
>
listLatest
(
@RequestParam
(
name
=
"top"
,
defaultValue
=
"10"
)
int
top
)
{
return
journalCommentService
.
convertToWithJournalVo
(
journalCommentService
.
pageLatest
(
top
).
getContent
());
}
@PostMapping
@ApiOperation
(
"Creates a journal comment"
)
public
BaseCommentDTO
createCommentBy
(
@RequestBody
JournalCommentParam
journalCommentParam
)
{
...
...
src/main/java/run/halo/app/controller/admin/api/PostCommentController.java
浏览文件 @
d7aebebf
...
...
@@ -34,7 +34,7 @@ public class PostCommentController {
}
@GetMapping
@ApiOperation
(
"Lists comments"
)
@ApiOperation
(
"Lists
post
comments"
)
public
Page
<
PostCommentWithPostVO
>
pageBy
(
@PageableDefault
(
sort
=
"updateTime"
,
direction
=
DESC
)
Pageable
pageable
,
CommentQuery
commentQuery
)
{
Page
<
PostComment
>
commentPage
=
postCommentService
.
pageBy
(
commentQuery
,
pageable
);
...
...
src/main/java/run/halo/app/model/vo/JournalCommentWithJournalVO.java
0 → 100644
浏览文件 @
d7aebebf
package
run.halo.app.model.vo
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.ToString
;
import
run.halo.app.model.dto.BaseCommentDTO
;
import
run.halo.app.model.dto.JournalDTO
;
/**
* Journal comment with journal vo.
*
* @author johnniang
* @date 19-4-25
*/
@Data
@ToString
(
callSuper
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
JournalCommentWithJournalVO
extends
BaseCommentDTO
{
private
JournalDTO
journal
;
}
src/main/java/run/halo/app/service/JournalCommentService.java
浏览文件 @
d7aebebf
package
run.halo.app.service
;
import
org.springframework.data.domain.Page
;
import
org.springframework.lang.NonNull
;
import
org.springframework.lang.Nullable
;
import
run.halo.app.model.entity.JournalComment
;
import
run.halo.app.model.vo.JournalCommentWithJournalVO
;
import
run.halo.app.service.base.BaseCommentService
;
import
java.util.List
;
/**
* Journal comment service interface.
*
...
...
@@ -11,4 +17,9 @@ import run.halo.app.service.base.BaseCommentService;
*/
public
interface
JournalCommentService
extends
BaseCommentService
<
JournalComment
>
{
@NonNull
List
<
JournalCommentWithJournalVO
>
convertToWithJournalVo
(
@Nullable
List
<
JournalComment
>
journalComments
);
@NonNull
Page
<
JournalCommentWithJournalVO
>
convertToWithJournalVo
(
@NonNull
Page
<
JournalComment
>
journalCommentPage
);
}
src/main/java/run/halo/app/service/impl/JournalCommentServiceImpl.java
浏览文件 @
d7aebebf
package
run.halo.app.service.impl
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.lang.Assert
;
import
org.springframework.context.ApplicationEventPublisher
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageImpl
;
import
org.springframework.stereotype.Service
;
import
run.halo.app.exception.NotFoundException
;
import
run.halo.app.model.dto.JournalDTO
;
import
run.halo.app.model.entity.Journal
;
import
run.halo.app.model.entity.JournalComment
;
import
run.halo.app.model.vo.JournalCommentWithJournalVO
;
import
run.halo.app.repository.JournalCommentRepository
;
import
run.halo.app.repository.JournalRepository
;
import
run.halo.app.service.JournalCommentService
;
import
run.halo.app.service.OptionService
;
import
run.halo.app.utils.ServiceUtils
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* Journal comment service implementation.
...
...
@@ -36,4 +50,39 @@ public class JournalCommentServiceImpl extends BaseCommentServiceImpl<JournalCom
throw
new
NotFoundException
(
"The journal with id "
+
journalId
+
" was not found"
);
}
}
@Override
public
List
<
JournalCommentWithJournalVO
>
convertToWithJournalVo
(
List
<
JournalComment
>
journalComments
)
{
if
(
CollectionUtil
.
isEmpty
(
journalComments
))
{
return
Collections
.
emptyList
();
}
Set
<
Integer
>
journalIds
=
ServiceUtils
.
fetchProperty
(
journalComments
,
JournalComment:
:
getPostId
);
// Get all journals
List
<
Journal
>
journals
=
journalRepository
.
findAllById
(
journalIds
);
Map
<
Integer
,
Journal
>
journalMap
=
ServiceUtils
.
convertToMap
(
journals
,
Journal:
:
getId
);
return
journalComments
.
stream
()
.
filter
(
journalComment
->
journalMap
.
containsKey
(
journalComment
.
getPostId
()))
.
map
(
journalComment
->
{
JournalCommentWithJournalVO
journalCmtWithJournalVo
=
new
JournalCommentWithJournalVO
().
convertFrom
(
journalComment
);
journalCmtWithJournalVo
.
setJournal
(
new
JournalDTO
().
convertFrom
(
journalMap
.
get
(
journalComment
.
getPostId
())));
return
journalCmtWithJournalVo
;
})
.
collect
(
Collectors
.
toList
());
}
@Override
public
Page
<
JournalCommentWithJournalVO
>
convertToWithJournalVo
(
Page
<
JournalComment
>
journalCommentPage
)
{
Assert
.
notNull
(
journalCommentPage
,
"Journal comment page must not be null"
);
// Convert the list
List
<
JournalCommentWithJournalVO
>
journalCmtWithJournalVOS
=
convertToWithJournalVo
(
journalCommentPage
.
getContent
());
// Build and return
return
new
PageImpl
<>(
journalCmtWithJournalVOS
,
journalCommentPage
.
getPageable
(),
journalCommentPage
.
getTotalElements
());
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录