feat(cms): 在CmsNavigation实体中添加文章列表关联
- 在CmsNavigation类中新增articles字段用于存储栏目文章列表 - 在CmsNavigationServiceImpl的pageRel方法中关联查询每个栏目对应的最多5篇文章 - 调用CmsArticleService获取文章列表并设置到CmsNavigation实体中 - 优化栏目分页查询,增加文章数据支持展示
This commit is contained in:
@@ -227,6 +227,10 @@ public class CmsNavigation implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String text;
|
||||
|
||||
@Schema(description = "栏目文章")
|
||||
@TableField(exist = false)
|
||||
private List<CmsArticle> articles;
|
||||
|
||||
public String getCategoryName() {
|
||||
return this.title;
|
||||
}
|
||||
|
||||
@@ -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<CmsNavigationMapper, C
|
||||
private CmsModelService cmsModelService;
|
||||
@Resource
|
||||
private UserService userService;
|
||||
@Resource
|
||||
private CmsArticleService cmsArticleService;
|
||||
|
||||
@Override
|
||||
public PageResult<CmsNavigation> pageRel(CmsNavigationParam param) {
|
||||
@@ -53,6 +57,11 @@ public class CmsNavigationServiceImpl extends ServiceImpl<CmsNavigationMapper, C
|
||||
// 排序
|
||||
PageParam<CmsNavigation, CmsNavigationParam> page = new PageParam<>();
|
||||
page.setDefaultOrder("sort_number asc, position asc,navigation_id asc");
|
||||
list.forEach(item -> {
|
||||
// 关联信息
|
||||
final List<CmsArticle> articleList = cmsArticleService.list(new LambdaQueryWrapper<CmsArticle>().eq(CmsArticle::getCategoryId, item.getNavigationId()).last("limit 5"));
|
||||
item.setArticles(articleList);
|
||||
});
|
||||
return page.sortRecords(list);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user