提交 2dbf7256 编写于 作者: 智布道's avatar 智布道 👁

🐛 修复统计文章评论数错误的问题

上级 a3d0f2eb
......@@ -158,6 +158,10 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
......
......@@ -6,6 +6,7 @@ import com.zyd.blog.business.annotation.RedisCache;
import com.zyd.blog.business.entity.Article;
import com.zyd.blog.business.entity.User;
import com.zyd.blog.business.enums.ArticleStatusEnum;
import com.zyd.blog.business.enums.CommentStatusEnum;
import com.zyd.blog.business.enums.FileUploadType;
import com.zyd.blog.business.enums.ResponseStatus;
import com.zyd.blog.business.service.BizArticleService;
......@@ -383,9 +384,11 @@ public class BizArticleServiceImpl implements BizArticleService {
entity.setLookCount(bizArticleLookMapper.selectCount(look));
// 评论数
BizComment comment = new BizComment();
comment.setSid(primaryKey);
entity.setCommentCount(commentMapper.selectCount(comment));
Example example = new Example(BizComment.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("sid", primaryKey);
criteria.andEqualTo("status", CommentStatusEnum.APPROVED.toString());
entity.setCommentCount(commentMapper.selectCountByExample(example));
// 喜欢的次数
BizArticleLove love = new BizArticleLove();
......
......@@ -50,6 +50,10 @@ public class ResultUtil {
return vo(CommonConst.DEFAULT_SUCCESS_CODE, message, data);
}
public static ResponseVO success(Object data) {
return vo(ResponseStatus.SUCCESS.getCode(), ResponseStatus.SUCCESS.getMessage(), data);
}
public static ResponseVO success(String message) {
return success(message, null);
}
......
......@@ -213,7 +213,8 @@
a.`comment`,
a.create_time,
a.update_time,
l.lookCount AS look_count
l.lookCount AS look_count,
c.commentCount AS comment_count
FROM
biz_article a
LEFT JOIN (
......@@ -225,6 +226,16 @@
GROUP BY
l.article_id
) l ON a.id = l.article_id
LEFT JOIN (
SELECT
c.sid,
IFNULL(count(1), 0) AS commentCount
FROM
biz_comment c
WHERE c.`status` = 'APPROVED'
GROUP BY
c.sid
) c ON a.id = c.sid
WHERE a.status = 1
ORDER BY
l.lookCount DESC
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册