『博客开发日记-后台』之获取评论统计信息接口的实现

本文最后更新于 2026年5月3日 晚上

获取评论统计信息接口的实现


获取评论统计信息接口的需求

要查询评论总数

根据评论状态查询评论总数(待审核和审核未通过)

查询今日新增的评论总数


代码实现

新建 CommentStatisticsVo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
* 评论统计信息VO
*
* @author mengze
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "评论统计信息响应对象")
public class CommentStatisticsVo {

@ApiModelProperty(value = "评论总数")
private Long total;

@ApiModelProperty(value = "待审核评论数")
private Long pendingReview;

@ApiModelProperty(value = "今日评论数")
private Long todayCount;

@ApiModelProperty(value = "审核未通过评论数")
private Long rejected;
}


在 AdminCommentServiceImpl 中实现方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//获取评论统计信息
@Override
public ResponseResult statisticsComment()
{
//查询评论总数
LambdaQueryWrapper<Comment> queryWrapper = new LambdaQueryWrapper<>();
Long total = commentMapper.selectCount(queryWrapper);

//查询待审核评论数
LambdaQueryWrapper<Comment> pendingWrapper = new LambdaQueryWrapper<>();
pendingWrapper.eq(Comment::getStatus, SystemConstants.COMMENT_STATUS_PENDING_REVIEW);
Long pendingReview = commentMapper.selectCount(pendingWrapper);

//查询审核未通过评论数
LambdaQueryWrapper<Comment> rejectedWrapper = new LambdaQueryWrapper<>();
rejectedWrapper.eq(Comment::getStatus, SystemConstants.COMMENT_STATUS_REVIEW_NOT_PASSED);
Long rejected = commentMapper.selectCount(rejectedWrapper);

//查询今日评论数
//获取今天的开始时间(00:00:00)
LocalDateTime todayStart = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);
Date todayStartDate = Date.from(todayStart.atZone(ZoneId.systemDefault()).toInstant());

//获取今天的结束时间(23:59:59)
LocalDateTime todayEnd = LocalDateTime.of(LocalDate.now(), LocalTime.MAX);
Date todayEndDate = Date.from(todayEnd.atZone(ZoneId.systemDefault()).toInstant());

LambdaQueryWrapper<Comment> todayWrapper = new LambdaQueryWrapper<>();
todayWrapper.ge(Comment::getCreateTime, todayStartDate)
.le(Comment::getCreateTime, todayEndDate);
Long todayCount = commentMapper.selectCount(todayWrapper);

//转化未Vo
CommentStatisticsVo statisticsVo = new CommentStatisticsVo(total, pendingReview, todayCount, rejected);

return ResponseResult.okResult(statisticsVo);
}



PS:该系列只做为作者学习开发项目做的笔记用

不一定符合读者来学习,仅供参考


预告

后续会记录博客的开发过程

每次学习会做一份笔记来进行发表

“一花一世界,一叶一菩提”


版权所有 © 2026 云梦泽
欢迎访问我的个人网站:https://hgt12.github.io/


『博客开发日记-后台』之获取评论统计信息接口的实现
http://example.com/2026/05/03/『博客开发日记-后台』之获取评论统计信息接口的实现/
作者
云梦泽
发布于
2026年5月3日
更新于
2026年5月3日
许可协议