From 23ded627f87ca96ef793013dd3f44ab05e2d111b Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 08 Jul 2022 12:13:34 +0800
Subject: [PATCH] 修改article handler 增加 签
---
src/main/java/com/xcong/farmer/cms/core/tag/data/ArticleData.java | 30 +++++++++++++++
src/main/java/com/xcong/farmer/cms/conversion/ArticleConversion.java | 1
src/main/java/com/xcong/farmer/cms/core/handler/ColumnDataParserHandler.java | 2
src/main/java/com/xcong/farmer/cms/core/node/AttrNode.java | 2 +
src/main/java/com/xcong/farmer/cms/modules/system/mapper/ColumnMapper.java | 2
src/main/java/com/xcong/farmer/cms/core/handler/NavDataParserHandler.java | 4 +-
src/main/resources/mapper/ColumnMapper.xml | 3 +
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ReleaseServiceImpl.java | 2
src/main/java/com/xcong/farmer/cms/core/handler/ArticleDataParserHandler.java | 17 ++++----
9 files changed, 50 insertions(+), 13 deletions(-)
diff --git a/src/main/java/com/xcong/farmer/cms/conversion/ArticleConversion.java b/src/main/java/com/xcong/farmer/cms/conversion/ArticleConversion.java
index cdb6610..4cdc576 100644
--- a/src/main/java/com/xcong/farmer/cms/conversion/ArticleConversion.java
+++ b/src/main/java/com/xcong/farmer/cms/conversion/ArticleConversion.java
@@ -18,6 +18,7 @@
@Mapping(source = "visits", target = "views")
@Mapping(source = "mainDiagram", target = "thumb")
@Mapping(source = "releaseTime", target = "createTime")
+ @Mapping(source = "authorBelong", target = "company")
@Mapping(source = "articleDetails", target = "content")
@Mapping(source = "uploadFile", target = "filePath")
public abstract ArticleData entityToData(ArticleEntity article);
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 b5b5b7f..345573c 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
@@ -2,11 +2,14 @@
import com.alibaba.fastjson.JSONObject;
+import com.xcong.farmer.cms.conversion.ArticleConversion;
import com.xcong.farmer.cms.core.node.AttrNode;
+import com.xcong.farmer.cms.core.tag.data.ArticleData;
import com.xcong.farmer.cms.core.tag.model.Article;
import com.xcong.farmer.cms.modules.system.entity.ArticleEntity;
import com.xcong.farmer.cms.modules.system.mapper.ArticleMapper;
import com.xcong.farmer.cms.utils.SpringContextHolder;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -17,25 +20,23 @@
* @author wzy
* @date 2022-06-24
**/
+@Slf4j
public class ArticleDataParserHandler implements DataParserHandler {
private final ArticleMapper articleMapper = SpringContextHolder.getBean(ArticleMapper.class);
@Override
public void dataParser(AttrNode node) {
- System.out.println("ArticleDataParserHandler");
+ log.info("文章解析");
Article tag = (Article) node.getParam();
ArticleEntity data = articleMapper.selectById(tag.getId());
ArticleEntity prev = articleMapper.selectPrevOrNextArticle(data.getId(), data.getColumnId(), 1);
ArticleEntity next = articleMapper.selectPrevOrNextArticle(data.getId(), data.getColumnId(), 2);
- Map map = JSONObject.parseObject(JSONObject.toJSONString(data), Map.class);
-// Map<String, Object> map = new HashMap<>();
-// map.put("title", "这是单个文章标题");
-
- map.put("prev", prev);
- map.put("next", next);
- node.setData(map);
+ ArticleData articleData = ArticleConversion.INSTANCE.entityToData(data);
+ articleData.setNext(ArticleConversion.INSTANCE.entityToData(next));
+ articleData.setPrev(ArticleConversion.INSTANCE.entityToData(prev));
+ node.setData(articleData);
}
}
diff --git a/src/main/java/com/xcong/farmer/cms/core/handler/ColumnDataParserHandler.java b/src/main/java/com/xcong/farmer/cms/core/handler/ColumnDataParserHandler.java
index 99705b7..50ef367 100644
--- a/src/main/java/com/xcong/farmer/cms/core/handler/ColumnDataParserHandler.java
+++ b/src/main/java/com/xcong/farmer/cms/core/handler/ColumnDataParserHandler.java
@@ -42,7 +42,7 @@
}
ColumnData columnData = columnToData(columnEntity);
if (columnEntity.getParentId() == 0L) {
- List<ColumnEntity> child = columnMapper.selectColumnByParentId(columnEntity.getId(), companyId);
+ List<ColumnEntity> child = columnMapper.selectColumnByParentId(columnEntity.getId(), companyId, 1);
if (CollUtil.isNotEmpty(child)) {
List<ColumnData> list = new ArrayList<>();
for (ColumnEntity entity : child) {
diff --git a/src/main/java/com/xcong/farmer/cms/core/handler/NavDataParserHandler.java b/src/main/java/com/xcong/farmer/cms/core/handler/NavDataParserHandler.java
index b50a231..cac8b9a 100644
--- a/src/main/java/com/xcong/farmer/cms/core/handler/NavDataParserHandler.java
+++ b/src/main/java/com/xcong/farmer/cms/core/handler/NavDataParserHandler.java
@@ -35,7 +35,7 @@
log.info("导航栏解析");
Long companyId = (Long) node.getSystemDataValue("companyId");
- List<ColumnEntity> columns = columnMapper.selectColumnByParentId(0L, companyId);
+ List<ColumnEntity> columns = columnMapper.selectColumnByParentId(0L, companyId, 1);
if (CollUtil.isEmpty(columns)) {
return;
@@ -52,7 +52,7 @@
for (ColumnEntity column : columns) {
NavData navData = columnToNav(column);
- List<ColumnEntity> child = columnMapper.selectColumnByParentId(column.getId(), companyId);
+ List<ColumnEntity> child = columnMapper.selectColumnByParentId(column.getId(), companyId, 1);
if (CollUtil.isNotEmpty(child)) {
List<NavData> childNavData = columnsToNavs(child);
navData.setChildren(childNavData);
diff --git a/src/main/java/com/xcong/farmer/cms/core/node/AttrNode.java b/src/main/java/com/xcong/farmer/cms/core/node/AttrNode.java
index c85e75e..16f3cd9 100644
--- a/src/main/java/com/xcong/farmer/cms/core/node/AttrNode.java
+++ b/src/main/java/com/xcong/farmer/cms/core/node/AttrNode.java
@@ -177,6 +177,8 @@
String result = attrValueFormat(value);
if ("text".equals(key)) {
this.element.text(result);
+ } else if ("html".equals(key)) {
+ this.element.html(result);
} else {
this.element.attr(key, result);
}
diff --git a/src/main/java/com/xcong/farmer/cms/core/tag/data/ArticleData.java b/src/main/java/com/xcong/farmer/cms/core/tag/data/ArticleData.java
index d0d345d..c55d356 100644
--- a/src/main/java/com/xcong/farmer/cms/core/tag/data/ArticleData.java
+++ b/src/main/java/com/xcong/farmer/cms/core/tag/data/ArticleData.java
@@ -28,12 +28,42 @@
private String views;
+ private String company;
+
private String filePath;
private List<String> images;
private String url;
+ private ArticleData next;
+
+ private ArticleData prev;
+
+ public String getCompany() {
+ return company;
+ }
+
+ public void setCompany(String company) {
+ this.company = company;
+ }
+
+ public ArticleData getNext() {
+ return next;
+ }
+
+ public void setNext(ArticleData next) {
+ this.next = next;
+ }
+
+ public ArticleData getPrev() {
+ return prev;
+ }
+
+ public void setPrev(ArticleData prev) {
+ this.prev = prev;
+ }
+
public String getFilePath() {
return filePath;
}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/mapper/ColumnMapper.java b/src/main/java/com/xcong/farmer/cms/modules/system/mapper/ColumnMapper.java
index 7c2327d..0ddbb20 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/mapper/ColumnMapper.java
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/mapper/ColumnMapper.java
@@ -18,7 +18,7 @@
ColumnEntity selectByCodeAndCompanyId(@Param("code") String code, @Param("companyId") Long companyId);
- List<ColumnEntity> selectColumnByParentId(@Param("parentId") Long parentId, @Param("companyId") Long companyId);
+ List<ColumnEntity> selectColumnByParentId(@Param("parentId") Long parentId, @Param("companyId") Long companyId, @Param("isNav") Integer isNav);
IPage<ColumnEntity> selectColumnInPage(Page<ColumnEntity> page, @Param("record") ColumnEntity column);
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ReleaseServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ReleaseServiceImpl.java
index d156360..d0b0aeb 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ReleaseServiceImpl.java
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ReleaseServiceImpl.java
@@ -79,7 +79,7 @@
if (type != 1) {
executor.execute(() -> {
if (columnEntity.getParentId() == 0L) {
- List<ColumnEntity> columns = columnMapper.selectColumnByParentId(columnEntity.getParentId(), companyId);
+ List<ColumnEntity> columns = columnMapper.selectColumnByParentId(columnEntity.getParentId(), companyId, 2);
if (CollUtil.isNotEmpty(columns)) {
for (ColumnEntity column : columns) {
map.put("id", column.getId());
diff --git a/src/main/resources/mapper/ColumnMapper.xml b/src/main/resources/mapper/ColumnMapper.xml
index 9301d93..e4022c0 100644
--- a/src/main/resources/mapper/ColumnMapper.xml
+++ b/src/main/resources/mapper/ColumnMapper.xml
@@ -37,6 +37,9 @@
<select id="selectColumnByParentId" resultType="com.xcong.farmer.cms.modules.system.entity.ColumnEntity">
select * from t_column
where parent_id=#{parentId} and company_id=#{companyId}
+ <if test="isNav == 1">
+ and is_nav=1
+ </if>
</select>
<select id="selectColumnInPage" resultType="com.xcong.farmer.cms.modules.system.entity.ColumnEntity">
--
Gitblit v1.9.1