Commit 9631ca4f authored by Liang Ding's avatar Liang Ding

🎨 数据不一致补偿清理

parent 8afaea7e
...@@ -19,6 +19,7 @@ package org.b3log.solo.service; ...@@ -19,6 +19,7 @@ package org.b3log.solo.service;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.b3log.latke.Keys; import org.b3log.latke.Keys;
import org.b3log.latke.ioc.BeanManager;
import org.b3log.latke.ioc.Inject; import org.b3log.latke.ioc.Inject;
import org.b3log.latke.logging.Level; import org.b3log.latke.logging.Level;
import org.b3log.latke.logging.Logger; import org.b3log.latke.logging.Logger;
...@@ -51,7 +52,7 @@ import java.util.List; ...@@ -51,7 +52,7 @@ import java.util.List;
* Comment query service. * Comment query service.
* *
* @author <a href="http://88250.b3log.org">Liang Ding</a> * @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.3.2.6, Apr 19, 2019 * @version 1.3.2.7, Apr 24, 2019
* @since 0.3.5 * @since 0.3.5
*/ */
@Service @Service
...@@ -169,6 +170,16 @@ public class CommentQueryService { ...@@ -169,6 +170,16 @@ public class CommentQueryService {
final String onId = comment.getString(Comment.COMMENT_ON_ID); final String onId = comment.getString(Comment.COMMENT_ON_ID);
final JSONObject article = articleRepository.get(onId); final JSONObject article = articleRepository.get(onId);
if (null == article) {
// 某种情况下导致的数据不一致:文章已经被删除了,但是评论还在
// 为了保持数据一致性,需要删除该条评论
// https://hacpai.com/article/1556060195022
final CommentMgmtService commentMgmtService = BeanManager.getInstance().getReference(CommentMgmtService.class);
commentMgmtService.removeArticleComment(onId);
continue;
}
title = article.getString(Article.ARTICLE_TITLE); title = article.getString(Article.ARTICLE_TITLE);
comment.put(Common.TYPE, Common.ARTICLE_COMMENT_TYPE); comment.put(Common.TYPE, Common.ARTICLE_COMMENT_TYPE);
comment.put(Common.COMMENT_TITLE, title); comment.put(Common.COMMENT_TITLE, title);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment