From 02b6979e6e7680c85ed0911109d182c9a235162f Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 11 Jul 2022 16:20:36 +0800
Subject: [PATCH] fix
---
src/main/java/com/xcong/farmer/cms/core/handler/PageDataParserHandler.java | 74 +++++++++++++++++++------------------
1 files changed, 38 insertions(+), 36 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 4b97d98..297e1d6 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
@@ -31,53 +31,55 @@
@Override
public void dataParser(AttrNode attrNode) {
log.info("分页解析");
- Template.HAS_PAGING = true;
+ synchronized (this) {
+ Template.HAS_PAGING = true;
- Long companyId = (Long) attrNode.getSystemDataValue("companyId");
- Pagination param = (Pagination) attrNode.getParam();
+ Long companyId = (Long) attrNode.getSystemDataValue("companyId");
+ Pagination param = (Pagination) attrNode.getParam();
- Page<ArticleEntity> page = new Page<>(Integer.parseInt(param.getPage()), Integer.parseInt(param.getLimit()));
- ArticleEntity article = new ArticleEntity();
- article.setColumnCode(param.getCode());
- article.setCompanyId(companyId);
- IPage<ArticleEntity> pageList = articleMapper.selectArticleInPage(page, article);
+ Page<ArticleEntity> page = new Page<>(Integer.parseInt(param.getPage()), Integer.parseInt(param.getLimit()));
+ ArticleEntity article = new ArticleEntity();
+ article.setColumnCode(param.getCode());
+ article.setCompanyId(companyId);
+ IPage<ArticleEntity> pageList = articleMapper.selectArticleInPage(page, article);
- PageData pageData = new PageData();
- pageData.setTotalPage((int) pageList.getPages());
- pageData.setIndex(Integer.parseInt(param.getPage()));
- pageData.setTotalCnt((int) pageList.getSize());
+ PageData pageData = new PageData();
+ pageData.setTotalPage((int) pageList.getPages());
+ pageData.setIndex(Integer.parseInt(param.getPage()));
+ pageData.setTotalCnt((int) pageList.getSize());
- if (CollUtil.isNotEmpty(pageList.getRecords())) {
- String path = cmsProperties.getBaseUrl() + "/" + param.getCode();
- String filename = "index_{}.html";
+ if (CollUtil.isNotEmpty(pageList.getRecords())) {
+ String path = cmsProperties.getBaseUrl() + "/" + param.getCode();
+ String filename = "index_{}.html";
- List<PageChildData> list = new ArrayList<>();
- int pageNo = Integer.parseInt(param.getPage());
+ List<PageChildData> list = new ArrayList<>();
+ int pageNo = Integer.parseInt(param.getPage());
- // 计算出页面显示分页的最大和最小值
- int[] startAndEnd = pageStartAndEnd(pageNo, (int) pageList.getPages(), Integer.parseInt(param.getSize()));
- for (int i = startAndEnd[0]; i <= startAndEnd[1] ; i++) {
- PageChildData child = new PageChildData();
- child.setIndex(i);
- if (pageNo == 1) {
- child.setPath(path + "/index.html");
- } else {
- child.setPath(path + "/" + StrUtil.format(filename, i));
+ // 计算出页面显示分页的最大和最小值
+ int[] startAndEnd = pageStartAndEnd(pageNo, (int) pageList.getPages(), Integer.parseInt(param.getSize()));
+ for (int i = startAndEnd[0]; i <= startAndEnd[1]; i++) {
+ PageChildData child = new PageChildData();
+ child.setIndex(i);
+ if (pageNo == 1) {
+ child.setPath(path + "/index.html");
+ } else {
+ child.setPath(path + "/" + StrUtil.format(filename, i));
+ }
+ list.add(child);
}
- list.add(child);
+
+ pageData.setChildren(list);
+ } else {
+ pageData.setNext("javascript:void(0)");
+ pageData.setPrev("javascript:void(0)");
}
- pageData.setChildren(list);
- } else {
- pageData.setNext("javascript:void(0)");
- pageData.setPrev("javascript:void(0)");
- }
+ if (Integer.parseInt(param.getPage()) >= pageList.getPages()) {
+ Template.HAS_PAGING = false;
+ }
- if (Integer.parseInt(param.getPage()) == pageList.getPages()) {
- Template.HAS_PAGING = false;
+ attrNode.setData(pageData);
}
-
- attrNode.setData(pageData);
}
/**
--
Gitblit v1.9.1