From 6a07f220e8f855740eee9b9dcae75464d6266380 Mon Sep 17 00:00:00 2001 From: wzy <wzy19931122ai@163.com> Date: Thu, 20 Oct 2022 22:53:10 +0800 Subject: [PATCH] 修复分页死循环 --- src/main/java/com/xcong/farmer/cms/core/handler/PageDataParserHandler.java | 23 ++++++++++++++++++++--- 1 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/xcong/farmer/cms/core/handler/PageDataParserHandler.java b/src/main/java/com/xcong/farmer/cms/core/handler/PageDataParserHandler.java index f405ed2..a29599f 100644 --- a/src/main/java/com/xcong/farmer/cms/core/handler/PageDataParserHandler.java +++ b/src/main/java/com/xcong/farmer/cms/core/handler/PageDataParserHandler.java @@ -10,9 +10,12 @@ import com.xcong.farmer.cms.core.tag.data.PageChildData; import com.xcong.farmer.cms.core.tag.data.PageData; import com.xcong.farmer.cms.core.tag.model.Article; +import com.xcong.farmer.cms.core.tag.model.Column; import com.xcong.farmer.cms.core.tag.model.Pagination; import com.xcong.farmer.cms.modules.system.entity.ArticleEntity; +import com.xcong.farmer.cms.modules.system.entity.ColumnEntity; import com.xcong.farmer.cms.modules.system.mapper.ArticleMapper; +import com.xcong.farmer.cms.modules.system.mapper.ColumnMapper; import com.xcong.farmer.cms.utils.SpringContextHolder; import lombok.extern.slf4j.Slf4j; @@ -27,15 +30,22 @@ public class PageDataParserHandler implements DataParserHandler { private ArticleMapper articleMapper = SpringContextHolder.getBean(ArticleMapper.class); - private CmsProperties cmsProperties = SpringContextHolder.getBean(CmsProperties.class); + private ColumnMapper columnMapper = SpringContextHolder.getBean(ColumnMapper.class); @Override public void dataParser(AttrNode attrNode) { log.info("分页解析"); synchronized (this) { Template.HAS_PAGING = true; + String baseUrl = (String) attrNode.getSystemDataValue("baseUrl"); + Long companyId = (Long) attrNode.getSystemDataValue("companyId"); Pagination param = (Pagination) attrNode.getParam(); + + Object pageNum = attrNode.getSystemDataValue("page"); + if (pageNum != null) { + param.setPage(pageNum.toString()); + } Page<ArticleEntity> page = new Page<>(Integer.parseInt(param.getPage()), Integer.parseInt(param.getLimit())); ArticleEntity article = new ArticleEntity(); @@ -49,7 +59,14 @@ pageData.setTotalCnt((int) pageList.getSize()); if (CollUtil.isNotEmpty(pageList.getRecords())) { - String path = cmsProperties.getBaseUrl() + "/" + param.getCode(); + ColumnEntity parentColumn = columnMapper.selectParentColumnByCodeAndCompanyId(param.getCode(), companyId); + String path; + if (parentColumn == null) { + path = baseUrl + "/" + param.getCode(); + } else { + path = baseUrl + "/" + parentColumn.getColumnCode() + "/" + param.getCode(); + } + String filename = "index_{}.html"; List<PageChildData> list = new ArrayList<>(); @@ -74,7 +91,7 @@ pageData.setPrev("javascript:void(0)"); } - if (Integer.parseInt(param.getPage()) == pageList.getPages()) { + if (Integer.parseInt(param.getPage()) >= pageList.getPages()) { Template.HAS_PAGING = false; } -- Gitblit v1.9.1