Helius
2022-07-08 23ded627f87ca96ef793013dd3f44ab05e2d111b
修改article handler 增加 ‡签
9 files modified
63 ■■■■ changed files
src/main/java/com/xcong/farmer/cms/conversion/ArticleConversion.java 1 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/farmer/cms/core/handler/ArticleDataParserHandler.java 17 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/farmer/cms/core/handler/ColumnDataParserHandler.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/xcong/farmer/cms/core/handler/NavDataParserHandler.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/farmer/cms/core/node/AttrNode.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/farmer/cms/core/tag/data/ArticleData.java 30 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/farmer/cms/modules/system/mapper/ColumnMapper.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ReleaseServiceImpl.java 2 ●●● patch | view | raw | blame | history
src/main/resources/mapper/ColumnMapper.xml 3 ●●●●● patch | view | raw | blame | history
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);
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);
    }
}
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) {
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);
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);
                }
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;
    }
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);
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());
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">