From 06997534a3e7d71e88f770e8c1acd15605beef51 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Mon, 11 Jul 2022 15:52:36 +0800 Subject: [PATCH] fix --- src/main/java/com/xcong/farmer/cms/core/handler/ArticleDataParserHandler.java | 35 +++++++++++++++++++++++------------ 1 files changed, 23 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/xcong/farmer/cms/core/handler/ArticleDataParserHandler.java b/src/main/java/com/xcong/farmer/cms/core/handler/ArticleDataParserHandler.java index a8c1e0d..f5bc847 100644 --- a/src/main/java/com/xcong/farmer/cms/core/handler/ArticleDataParserHandler.java +++ b/src/main/java/com/xcong/farmer/cms/core/handler/ArticleDataParserHandler.java @@ -28,29 +28,40 @@ private final CmsProperties cmsProperties = SpringContextHolder.getBean(CmsProperties.class); @Override public void dataParser(AttrNode node) { - log.info("文章解析"); + log.info("######文章解析########"); Article tag = (Article) node.getParam(); ArticleEntity data = articleMapper.selectById(tag.getId()); + ArticleData articleData = ArticleConversion.INSTANCE.entityToData(data); + ArticleEntity prevEntity = articleMapper.selectPrevOrNextArticle(data.getId(), data.getColumnId(), 1); - ArticleData prev = ArticleConversion.INSTANCE.entityToData(prevEntity); - if (prevEntity.getType() == 2) { - prev.setUrl(prevEntity.getArticleUrl()); + if (prevEntity != null) { + ArticleData prev = ArticleConversion.INSTANCE.entityToData(prevEntity); + if (prevEntity.getType() == 2) { + prev.setUrl(prevEntity.getArticleUrl()); + } else { + prev.setUrl(cmsProperties.getBaseUrl() + prevEntity.getPath() + "/" + prevEntity.getId() + ".html"); + } + + articleData.setPrev(prev); } else { - prev.setUrl(cmsProperties.getBaseUrl() + prevEntity.getPath() + "/" + prevEntity.getId() + ".html"); + articleData.setPrev(new ArticleData()); } ArticleEntity nextEntity = articleMapper.selectPrevOrNextArticle(data.getId(), data.getColumnId(), 2); - ArticleData next = ArticleConversion.INSTANCE.entityToData(nextEntity); - if (nextEntity.getType() == 2) { - next.setUrl(prevEntity.getArticleUrl()); + if (nextEntity != null) { + ArticleData next = ArticleConversion.INSTANCE.entityToData(nextEntity); + if (nextEntity.getType() == 2) { + next.setUrl(nextEntity.getArticleUrl()); + } else { + next.setUrl(cmsProperties.getBaseUrl() + nextEntity.getPath() + "/" + nextEntity.getId() + ".html"); + } + + articleData.setNext(next); } else { - next.setUrl(cmsProperties.getBaseUrl() + nextEntity.getPath() + "/" + nextEntity.getId() + ".html"); + articleData.setNext(new ArticleData()); } - ArticleData articleData = ArticleConversion.INSTANCE.entityToData(data); - articleData.setNext(next); - articleData.setPrev(prev); node.setData(articleData); } } -- Gitblit v1.9.1