From a306f533365ae10a41fc556c51b9f8f494cb0d72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Wed, 6 May 2026 19:39:03 +0800 Subject: [PATCH] =?UTF-8?q?feat(cms):=20=E5=9C=A8CmsNavigation=E5=AE=9E?= =?UTF-8?q?=E4=BD=93=E4=B8=AD=E6=B7=BB=E5=8A=A0=E6=96=87=E7=AB=A0=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=85=B3=E8=81=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在CmsNavigation类中新增articles字段用于存储栏目文章列表 - 在CmsNavigationServiceImpl的pageRel方法中关联查询每个栏目对应的最多5篇文章 - 调用CmsArticleService获取文章列表并设置到CmsNavigation实体中 - 优化栏目分页查询,增加文章数据支持展示 --- .../java/com/gxwebsoft/cms/entity/CmsNavigation.java | 4 ++++ .../cms/service/impl/CmsNavigationServiceImpl.java | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/src/main/java/com/gxwebsoft/cms/entity/CmsNavigation.java b/src/main/java/com/gxwebsoft/cms/entity/CmsNavigation.java index 449cf54..1170bc8 100644 --- a/src/main/java/com/gxwebsoft/cms/entity/CmsNavigation.java +++ b/src/main/java/com/gxwebsoft/cms/entity/CmsNavigation.java @@ -227,6 +227,10 @@ public class CmsNavigation implements Serializable { @TableField(exist = false) private String text; + @Schema(description = "栏目文章") + @TableField(exist = false) + private List articles; + public String getCategoryName() { return this.title; } diff --git a/src/main/java/com/gxwebsoft/cms/service/impl/CmsNavigationServiceImpl.java b/src/main/java/com/gxwebsoft/cms/service/impl/CmsNavigationServiceImpl.java index 7a541ba..8cf2af8 100644 --- a/src/main/java/com/gxwebsoft/cms/service/impl/CmsNavigationServiceImpl.java +++ b/src/main/java/com/gxwebsoft/cms/service/impl/CmsNavigationServiceImpl.java @@ -4,9 +4,11 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.cms.entity.CmsArticle; import com.gxwebsoft.cms.entity.CmsDesign; import com.gxwebsoft.cms.entity.CmsModel; import com.gxwebsoft.cms.mapper.CmsNavigationMapper; +import com.gxwebsoft.cms.service.CmsArticleService; import com.gxwebsoft.cms.service.CmsDesignService; import com.gxwebsoft.cms.service.CmsModelService; import com.gxwebsoft.cms.service.CmsNavigationService; @@ -38,6 +40,8 @@ public class CmsNavigationServiceImpl extends ServiceImpl pageRel(CmsNavigationParam param) { @@ -53,6 +57,11 @@ public class CmsNavigationServiceImpl extends ServiceImpl page = new PageParam<>(); page.setDefaultOrder("sort_number asc, position asc,navigation_id asc"); + list.forEach(item -> { + // 关联信息 + final List articleList = cmsArticleService.list(new LambdaQueryWrapper().eq(CmsArticle::getCategoryId, item.getNavigationId()).last("limit 5")); + item.setArticles(articleList); + }); return page.sortRecords(list); }