From b492e64e491596b0af149f1a5d679b77f47dafcd Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 09 Jan 2024 16:31:33 +0800
Subject: [PATCH] 首页菜单的首页二字改成英文的Main
---
src/main/java/com/xcong/farmer/cms/core/handler/PageDataParserHandler.java | 101 ++++++++++++++++++++++++++++++--------------------
1 files changed, 60 insertions(+), 41 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..09b2ab5 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,57 +30,73 @@
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("分页解析");
- Template.HAS_PAGING = true;
+ synchronized (this) {
+ Template.HAS_PAGING = true;
- Long companyId = (Long) attrNode.getSystemDataValue("companyId");
- Pagination param = (Pagination) attrNode.getParam();
+ String baseUrl = (String) attrNode.getSystemDataValue("baseUrl");
- 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);
+ Long companyId = (Long) attrNode.getSystemDataValue("companyId");
+ Pagination param = (Pagination) attrNode.getParam();
- 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";
-
- 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));
- }
- list.add(child);
+ Object pageNum = attrNode.getSystemDataValue("page");
+ if (pageNum != null) {
+ param.setPage(pageNum.toString());
}
- pageData.setChildren(list);
- } else {
- pageData.setNext("javascript:void(0)");
- pageData.setPrev("javascript:void(0)");
- }
+ 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);
- if (Integer.parseInt(param.getPage()) == pageList.getPages()) {
- Template.HAS_PAGING = false;
- }
+ PageData pageData = new PageData();
+ pageData.setTotalPage((int) pageList.getPages());
+ pageData.setIndex(Integer.parseInt(param.getPage()));
+ pageData.setTotalCnt((int) pageList.getSize());
- attrNode.setData(pageData);
+ if (CollUtil.isNotEmpty(pageList.getRecords())) {
+ 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<>();
+ 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 (i == 1) {
+ child.setPath(path + "/index.html");
+ } else {
+ child.setPath(path + "/" + StrUtil.format(filename, i));
+ }
+ list.add(child);
+ }
+
+ 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;
+ }
+
+ attrNode.setData(pageData);
+ }
}
/**
--
Gitblit v1.9.1