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