58、商城业务---首页---渲染二级三级目录
类似于下面这种,当我们鼠标悬浮在一级分类上时,会查询该一级分类对应的二级分类和三级分类
(前端如何实现的不用考虑,下面是后端查询分类的代码逻辑)
要求我们返回的数据是json格式,如下:
11是一级分类id,然后11下面是二级分类,二级分类的vo包括一级分类的id,三级分类的list,二级分类本身的id和name; 二级分类下的三级分类包括二级分类的id,三级分类本身的id和name
后端返回Map,即Json对象格式,如上图所示的格式
逻辑如下:
1、vo层
2、controller层
3、serviceImpl层
@Override public Map<String, List<CatelogTwoLevelVo>> getCatalogJson() { //查询所有的一级分类 List<CategoryEntity> categoryEntities = this.selectOneLevelCategory(); //查询所有的二级分类和三级分类并封装数据 //map的key是一级分类的id,v是二级分类的vo Map<String, List<CatelogTwoLevelVo>> map = categoryEntities.stream().collect(Collectors.toMap(k -> k.getCatId().toString(), v -> { //查询每一个一级分类下的二级分类 List<CategoryEntity> categoryTwoLevelEntities = this.baseMapper.selectList(new QueryWrapper<CategoryEntity>().eq("parent_cid", v.getCatId())); List<CatelogTwoLevelVo> collect = null; if (categoryTwoLevelEntities!=null){ collect = categoryTwoLevelEntities.stream().map(l2 -> { //查询该二级分类对应的三级分类并封装数据 List<CategoryEntity> categoryThreeLevelEntities = this.baseMapper.selectList(new QueryWrapper<CategoryEntity>().eq("parent_cid", l2.getCatId())); List<CatelogTwoLevelVo.CatalogThreeLevelVo> catalogThreeLevelVos = null; if (categoryThreeLevelEntities!=null){ catalogThreeLevelVos = categoryThreeLevelEntities.stream().map(l3 -> { CatelogTwoLevelVo.CatalogThreeLevelVo catalogThreeLevelVo = new CatelogTwoLevelVo.CatalogThreeLevelVo(l2.getCatId().toString(), l3.getCatId().toString(), l3.getName()); return catalogThreeLevelVo; }).collect(Collectors.toList()); } //构造二级分类的vo CatelogTwoLevelVo catelogTwoLevelVo = new CatelogTwoLevelVo(v.getCatId().toString(), catalogThreeLevelVos, l2.getCatId().toString(), l2.getName()); return catelogTwoLevelVo; }).collect(Collectors.toList()); } return collect; })); return map; }
分类:
谷粒商城
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!