商城业务-首页-渲染

/**
 * 模板引擎
 * 1)thymeleaf-starter 关闭缓存
 * 2)静态资源放static按照路径直接访问
 * 3)页面放在template下。直接访问
 * springboot,项目访问自动访问index.html
 * 4)不重启服务器的情况下更新资源
 *      1)引入dev-tools
 *      2)修改完页面,ctrl shift f9 重新自动编译下页面,代码配重启
 */

pom文件添加依赖 

 <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-thymeleaf -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
            <version>2.1.8.RELEASE</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
            <version>2.1.8.RELEASE</version>
        </dependency>

 index.html使用thymeleaf内带的标签修改

  <div class="header_main">
      <div class="header_banner">
        <div class="header_main_left">
            <ul>
                <li th:each="category:${categorys}">
                    <a href="#" class="header_main_left_a"  th:attr="ctg-data=${category.catId}"><b th:text="${category.name}">家用电器</b> </a>
                </li>
            </ul>

        </div>

增加Catelog2Vo 

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Catelog2Vo {

    private  String catelogId;

    private List<Catelog3Vo> catalog3List;

    private  String id;

    private String name;




    /**
     * 三级分类vo
     */
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public  static  class  Catelog3Vo{
        private  String catalog2Id;
        private  String name;
        private  String id;

    }

}

 首页跳转一级分类 


    @GetMapping({"/","index.html"})
    public String indexPage(Model model){
        //todo 1,查出所有的一级分类
       List<CategoryEntity>  categoryEntities= categoryService.getLevel1Categorys();
        model.addAttribute("categorys",categoryEntities);
        return  "index";
    }

 获取二三级json数据

    @ResponseBody
    @GetMapping("index/catalog.json")
    public  Map<String, List<Catelog2Vo>> getCatalogJson(){
        Map<String, List<Catelog2Vo>> map= categoryService.getCatalogJson();
        System.out.println(map);
        return map;
    }

一级 分类

List<CategoryEntity> getLevel1Categorys();

    @Override
    public List<CategoryEntity> getLevel1Categorys() {
        QueryWrapper<CategoryEntity> wrapper = new QueryWrapper<>();
        wrapper.eq("parent_cid",0);
        List<CategoryEntity> categoryEntities = baseMapper.selectList(wrapper);
        return categoryEntities;
    }

二三级分类查询 

 Map<String, List<Catelog2Vo>> getCatalogJson();

  @Override
    public Map<String, List<Catelog2Vo>> getCatalogJson() {

        //1.查出所有一级分类
        List<CategoryEntity> level1Categorys = getLevel1Categorys();
        //2封装数据
        Map<String, List<Catelog2Vo>> parent_cid = level1Categorys.stream().collect(Collectors.toMap(k -> k.getCatId().toString(), v -> {
            //1.每一个的一级分类,查到这个一级分类的二级分类
            List<CategoryEntity> categoryEntities = baseMapper.selectList(new QueryWrapper<CategoryEntity>()
                    .eq("parent_cid", v.getCatId()));
            //2.封装上面的结果
            List<Catelog2Vo> catelog2Vos = null;

            if (categoryEntities != null) {
                catelog2Vos = categoryEntities.stream().map(l2 -> {
                    Catelog2Vo catelog2Vo = new Catelog2Vo(
                            v.getParentCid().toString(), null, v.getName().toString(), v.getCatId().toString()
                    );
                    //找出当前二级分类的三级分类分装成vo
                    List<CategoryEntity> categoryEntities1 = baseMapper.selectList(new QueryWrapper<CategoryEntity>().eq("parent_cid", l2.getCatId()));
                    List<Catelog2Vo.Catelog3Vo> collect=null;
                    if (categoryEntities1!=null){
                        collect = categoryEntities1.stream().map(l3 -> {
                            Catelog2Vo.Catelog3Vo catelog3Vo = new Catelog2Vo.Catelog3Vo(l2.getCatId().toString(), l3.getName(), l3.getCatId().toString());
                            return catelog3Vo;

                        }).collect(Collectors.toList());
                    }
                    catelog2Vo.setCatalog3List(collect);
                    return catelog2Vo;
                }).collect(Collectors.toList());
            }
            return catelog2Vos;
        }));
        return  parent_cid;
    }

 最后数据查看json格式部分

"11": [
    {
      "catelogId": "0",
      "catalog3List": [
        {
          "catalog2Id": "82",
          "name": "商务休闲鞋",
          "id": "774"
        },
        {
          "catalog2Id": "82",
          "name": "正装鞋",
          "id": "775"
        },
        {
          "catalog2Id": "82",
          "name": "休闲鞋",
          "id": "776"
        },
        {
          "catalog2Id": "82",
          "name": "凉鞋/沙滩鞋",
          "id": "777"
        },
        {
          "catalog2Id": "82",
          "name": "男靴",
          "id": "778"
        },
        {
          "catalog2Id": "82",
          "name": "功能鞋",
          "id": "779"
        },
        {
          "catalog2Id": "82",
          "name": "拖鞋/人字拖",
          "id": "780"
        },
        {
          "catalog2Id": "82",
          "name": "雨鞋/雨靴",
          "id": "781"
        },
        {
          "catalog2Id": "82",
          "name": "传统布鞋",
          "id": "782"
        },
        {
          "catalog2Id": "82",
          "name": "鞋配件",
          "id": "783"
        },
        {
          "catalog2Id": "82",
          "name": "帆布鞋",
          "id": "784"
        },
        {
          "catalog2Id": "82",
          "name": "增高鞋",
          "id": "785"
        },
        {
          "catalog2Id": "82",
          "name": "工装鞋",
          "id": "786"
        },
        {
          "catalog2Id": "82",
          "name": "定制鞋",
          "id": "787"
        }
      ],
      "id": "鞋靴",
      "name": "11"
    },
    {
      "catelogId": "0",
      "catalog3List": [
        {
          "catalog2Id": "83",
          "name": "高跟鞋",
          "id": "788"
        },
        {
          "catalog2Id": "83",
          "name": "单鞋",
          "id": "789"
        },
        {
          "catalog2Id": "83",
          "name": "休闲鞋",
          "id": "790"
        },
        {
          "catalog2Id": "83",
          "name": "凉鞋",
          "id": "791"
        },
        {
          "catalog2Id": "83",
          "name": "女靴",
          "id": "792"
        },
        {
          "catalog2Id": "83",
          "name": "雪地靴",
          "id": "793"
        },
        {
          "catalog2Id": "83",
          "name": "拖鞋/人字拖",
          "id": "794"
        },
        {
          "catalog2Id": "83",
          "name": "踝靴",
          "id": "795"
        },
        {
          "catalog2Id": "83",
          "name": "筒靴",
          "id": "796"
        },
        {
          "catalog2Id": "83",
          "name": "帆布鞋",
          "id": "797"
        },
        {
          "catalog2Id": "83",
          "name": "雨鞋/雨靴",
          "id": "798"
        },
        {
          "catalog2Id": "83",
          "name": "妈妈鞋",
          "id": "799"
        },
        {
          "catalog2Id": "83",
          "name": "鞋配件",
          "id": "800"
        },
        {
          "catalog2Id": "83",
          "name": "特色鞋",
          "id": "801"
        },
        {
          "catalog2Id": "83",
          "name": "鱼嘴鞋",
          "id": "802"
        },
        {
          "catalog2Id": "83",
          "name": "布鞋/绣花鞋",
          "id": "803"
        },
        {
          "catalog2Id": "83",
          "name": "马丁靴",
          "id": "804"
        },
        {
          "catalog2Id": "83",
          "name": "坡跟鞋",
          "id": "805"
        },
        {
          "catalog2Id": "83",
          "name": "松糕鞋",
          "id": "806"
        },
        {
          "catalog2Id": "83",
          "name": "内增高",
          "id": "807"
        },
        {
          "catalog2Id": "83",
          "name": "防水台",
          "id": "808"
        }
      ],
      "id": "鞋靴",
      "name": "11"
    }
  ],

 

猜你喜欢

转载自blog.csdn.net/m0_62436868/article/details/128637910