From 2e6277a8cf7a1d78b5151ac42f1aa785205cc907 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 07 Jul 2022 14:18:52 +0800 Subject: [PATCH] finish index --- src/main/java/com/xcong/farmer/cms/modules/core/service/impl/CmsCoreServiceImpl.java | 11 +++++ src/main/resources/mapper/ArticleMapper.xml | 6 +++ src/main/java/com/xcong/farmer/cms/modules/core/controller/CmsCoreController.java | 7 +++ src/main/java/com/xcong/farmer/cms/core/handler/ColumnDataParserHandler.java | 3 + src/main/java/com/xcong/farmer/cms/core/handler/PageDataParserHandler.java | 2 src/main/java/com/xcong/farmer/cms/modules/system/service/IReleaseService.java | 2 + src/main/resources/mapper/ColumnMapper.xml | 13 ++++++ src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ReleaseServiceImpl.java | 6 +++ src/main/java/com/xcong/farmer/cms/core/handler/ChildDataParserHandler.java | 10 +++-- src/main/java/com/xcong/farmer/cms/modules/system/entity/ColumnEntity.java | 6 +++ src/main/java/com/xcong/farmer/cms/core/node/Template.java | 2 src/main/java/com/xcong/farmer/cms/modules/core/service/ICmsCoreService.java | 2 + src/main/java/com/xcong/farmer/cms/modules/system/mapper/ColumnMapper.java | 2 + src/main/java/com/xcong/farmer/cms/core/handler/ArticlesDataParserHandler.java | 29 +++++++++----- src/main/java/com/xcong/farmer/cms/core/node/PartNode.java | 4 -- 15 files changed, 84 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/xcong/farmer/cms/core/handler/ArticlesDataParserHandler.java b/src/main/java/com/xcong/farmer/cms/core/handler/ArticlesDataParserHandler.java index 2a0f273..9135964 100644 --- a/src/main/java/com/xcong/farmer/cms/core/handler/ArticlesDataParserHandler.java +++ b/src/main/java/com/xcong/farmer/cms/core/handler/ArticlesDataParserHandler.java @@ -35,24 +35,31 @@ Long companyId = (Long) node.getSystemDataValue("companyId"); Articles param = (Articles) node.getParam(); + ArticleEntity article = new ArticleEntity(); + Page<ArticleEntity> page = new Page<>(Integer.parseInt(param.getPage()), Integer.parseInt(param.getLimit())); if (StrUtil.isEmpty(param.getColId())) { - 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> listPage = articleMapper.selectArticleInPage(page, article); - List<ArticleData> list = new ArrayList<>(); - for (ArticleEntity record : listPage.getRecords()) { - ArticleData articleData = entityToData(record); - list.add(articleData); - } - - node.setData(list); } else { + List<String> colIdsStr = StrUtil.split(param.getColId(), ','); + List<Long> colIds = new ArrayList<>(); + colIdsStr.forEach(item -> { + colIds.add(Long.parseLong(item)); + }); + article.setColumnIds(colIds); } + article.setCompanyId(companyId); + IPage<ArticleEntity> listPage = articleMapper.selectArticleInPage(page, article); + + List<ArticleData> list = new ArrayList<>(); + for (ArticleEntity record : listPage.getRecords()) { + ArticleData articleData = entityToData(record); + list.add(articleData); + } + + node.setData(list); } public ArticleData entityToData(ArticleEntity article) { diff --git a/src/main/java/com/xcong/farmer/cms/core/handler/ChildDataParserHandler.java b/src/main/java/com/xcong/farmer/cms/core/handler/ChildDataParserHandler.java index 72c52e1..94a06e2 100644 --- a/src/main/java/com/xcong/farmer/cms/core/handler/ChildDataParserHandler.java +++ b/src/main/java/com/xcong/farmer/cms/core/handler/ChildDataParserHandler.java @@ -3,6 +3,8 @@ import com.alibaba.fastjson.JSONObject; import com.xcong.farmer.cms.core.node.AttrNode; +import com.xcong.farmer.cms.core.tag.model.Child; +import lombok.extern.slf4j.Slf4j; import java.util.List; import java.util.Map; @@ -11,16 +13,16 @@ * @author wzy * @date 2022-06-29 **/ +@Slf4j public class ChildDataParserHandler implements DataParserHandler { @Override public void dataParser(AttrNode attrNode) { - System.out.println("ChildDataParserHandler"); + log.info("#数据子集执行#"); Map<String, Object> parserData = attrNode.getParserData(); - Object param = attrNode.getParam(); - JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(param)); - String obj = jsonObject.getString("obj"); + Child param = (Child) attrNode.getParam(); + String obj = param.getObj(); Object o = parserData.get(obj); Object state = JSONObject.parseObject(JSONObject.toJSONString(o)).get("state"); 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 0ec80b8..99705b7 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 @@ -37,6 +37,9 @@ ColumnEntity columnEntity = columnMapper.selectByCodeAndCompanyId(param.getCode(), companyId); + if (columnEntity == null) { + return; + } ColumnData columnData = columnToData(columnEntity); if (columnEntity.getParentId() == 0L) { List<ColumnEntity> child = columnMapper.selectColumnByParentId(columnEntity.getId(), companyId); 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 5ad116f..4b97d98 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 @@ -82,7 +82,7 @@ /** * (x + y)/2 = index - * y - x= size 解二元一次方程 + * y - x= size 解二元一次方程 x-起点 y-终点 * * @param index 当前页码 * @param totalPage 总页数 diff --git a/src/main/java/com/xcong/farmer/cms/core/node/PartNode.java b/src/main/java/com/xcong/farmer/cms/core/node/PartNode.java index 630fa71..6006d2c 100644 --- a/src/main/java/com/xcong/farmer/cms/core/node/PartNode.java +++ b/src/main/java/com/xcong/farmer/cms/core/node/PartNode.java @@ -87,10 +87,6 @@ } } - if (attrNode.tagsEnum != null && attrNode.tagsEnum.getType() == 1) { - this.put(attrNode.getField(), result.toString()); - } - attrNode.getElement().append(result.toString()); return attrNode.getElement().toString(); } diff --git a/src/main/java/com/xcong/farmer/cms/core/node/Template.java b/src/main/java/com/xcong/farmer/cms/core/node/Template.java index aef600e..9e2e5b9 100644 --- a/src/main/java/com/xcong/farmer/cms/core/node/Template.java +++ b/src/main/java/com/xcong/farmer/cms/core/node/Template.java @@ -21,7 +21,7 @@ // 文件名称 private String name = "index"; // 文件保存路径 - private String path; + private String path = ""; private Document document; private Map<String, Map<String, Object>> params = new HashMap<>(); diff --git a/src/main/java/com/xcong/farmer/cms/modules/core/controller/CmsCoreController.java b/src/main/java/com/xcong/farmer/cms/modules/core/controller/CmsCoreController.java index 938022c..8c5ae0f 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/core/controller/CmsCoreController.java +++ b/src/main/java/com/xcong/farmer/cms/modules/core/controller/CmsCoreController.java @@ -41,4 +41,11 @@ releaseService.releaseColumn(id, article); return Result.ok("success"); } + + @ApiOperation(value = "发布首页", notes = "发布首页") + @PostMapping(value = "/releaseIndex") + public Result releaseIndex() { + releaseService.releaseIndex(); + return Result.ok("success"); + } } diff --git a/src/main/java/com/xcong/farmer/cms/modules/core/service/ICmsCoreService.java b/src/main/java/com/xcong/farmer/cms/modules/core/service/ICmsCoreService.java index 0d933a8..0a15e8e 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/core/service/ICmsCoreService.java +++ b/src/main/java/com/xcong/farmer/cms/modules/core/service/ICmsCoreService.java @@ -20,4 +20,6 @@ */ void columnProcess(Map<String, Object> map, String templateName, boolean columnOnly); + void indexProcess(Map<String, Object> map, String templateName); + } diff --git a/src/main/java/com/xcong/farmer/cms/modules/core/service/impl/CmsCoreServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/core/service/impl/CmsCoreServiceImpl.java index 538f32e..475c74d 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/core/service/impl/CmsCoreServiceImpl.java +++ b/src/main/java/com/xcong/farmer/cms/modules/core/service/impl/CmsCoreServiceImpl.java @@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.validation.constraints.NotNull; import java.util.HashMap; import java.util.Map; @@ -45,4 +46,14 @@ } cfg.process(data, templateName); } + + @Override + public void indexProcess(@NotNull Map<String, Object> data, String templateName) { + if (StrUtil.isEmpty(templateName)) { + templateName = "index.html"; + } + + data.put("companyId", 23L); + cfg.process(data, templateName); + } } diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/entity/ColumnEntity.java b/src/main/java/com/xcong/farmer/cms/modules/system/entity/ColumnEntity.java index 29220a8..90fa975 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/system/entity/ColumnEntity.java +++ b/src/main/java/com/xcong/farmer/cms/modules/system/entity/ColumnEntity.java @@ -1,9 +1,12 @@ package com.xcong.farmer.cms.modules.system.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.xcong.farmer.cms.common.system.base.BaseEntity; import lombok.Data; import org.tron.trident.abi.datatypes.Int; + +import java.util.List; /** * 栏目表 @@ -54,4 +57,7 @@ // 栏目目录 private String path; + + @TableField(exist = false) + private List<Long> ids; } 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 ce9b2a6..81774ab 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,4 +18,6 @@ ColumnEntity selectByCodeAndCompanyId(@Param("code") String code, @Param("companyId") Long companyId); List<ColumnEntity> selectColumnByParentId(@Param("parentId") Long parentId, @Param("companyId") Long companyId); + + IPage<ColumnEntity> selectColumnInPage(Page<ColumnEntity> page, @Param("record") ColumnEntity column); } diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/IReleaseService.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/IReleaseService.java index 19fc9fc..786eccb 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/system/service/IReleaseService.java +++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/IReleaseService.java @@ -6,4 +6,6 @@ void releaseArticle(Long id); void releaseColumn(Long id, boolean article); + + void releaseIndex(); } 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 ce2f7d4..8002634 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 @@ -53,4 +53,10 @@ map.put("templatePath", columnEntity.getPath()); cmsCoreService.columnProcess(map, columnEntity.getListTemplate(), article); } + + @Override + public void releaseIndex() { + Map<String, Object> map = new HashMap<>(); + cmsCoreService.indexProcess(map, null); + } } diff --git a/src/main/resources/mapper/ArticleMapper.xml b/src/main/resources/mapper/ArticleMapper.xml index aa86fa6..ec1e9d3 100644 --- a/src/main/resources/mapper/ArticleMapper.xml +++ b/src/main/resources/mapper/ArticleMapper.xml @@ -74,6 +74,12 @@ <if test="record.columnCode != null and record.columnCode != ''"> and c.column_code=#{record.columnCode} </if> + <if test="record.columnIds != null"> + and c.id in + <foreach collection="record.columnIds" item="item" open="(" close=")" separator=","> + ${item} + </foreach> + </if> </where> </select> </mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/ColumnMapper.xml b/src/main/resources/mapper/ColumnMapper.xml index f5020c5..6b09973 100644 --- a/src/main/resources/mapper/ColumnMapper.xml +++ b/src/main/resources/mapper/ColumnMapper.xml @@ -38,4 +38,17 @@ select * from t_column where parent_id=#{parentId} and company_id=#{companyId} </select> + + <select id="selectColumnInPage" resultType="com.xcong.farmer.cms.modules.system.entity.ColumnEntity"> + select + * + from t_column + where company_id=#{companyId} + <if test="record.ids != null"> + and id in + <foreach collection="record.columnIds" item="item" open="(" close=")" separator=","> + ${item} + </foreach> + </if> + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.1