商品分类
这篇解决什么
商城分类存在哪、能建几层、商品必须挂哪一级。读完能对上 product_category.PARENT_ID_NULL 和 CATEGORY_LEVEL = 2。
默认端口 48080。开启见 商城功能设计。这棵树和 ERP 产品分类不是一张表。
示意图:管理端维护树。用户端 /app-api/product/category 只读启用节点。
从哪改
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 管理端 | @RequestMapping("/product/category") | ruoyi-office/yudao-module-mall/yudao-module-product-server/.../controller/admin/category/ProductCategoryController.java |
| 用户端 | /product/category | controller/app/category/AppCategoryController.java |
| 分类表 | product_category | ProductCategoryDO |
| 管理端页 | 商品分类 | ruoyi-office-vben/apps/web-antd/src/views/mall/product/category/ |
官方菜单:商品中心 2000。商品分类 2002(组件 mall/product/category/index)。路由 /mall/product/category。
层级
根节点 parentId = 0(PARENT_ID_NULL)。父节点必须是一级,二级下面不能再挂子分类,否则 CATEGORY_PARENT_NOT_FIRST_LEVEL。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
parentId | 父分类,根为 0 | ProductCategoryDO |
name | 分类名 | 同上 |
picUrl | 移动端分类图 | 同上 |
sort | 排序 | 同上 |
status | CommonStatusEnum | 同上 |
CATEGORY_LEVEL | 限定两级 | 同上常量 2 |
有子分类不能删。分类上还挂着 SPU 也不能删,报 CATEGORY_HAVE_BIND_SPU。
商品只能挂二级
validateCategoryList 要求 getCategoryLevel(id) == 2。一级目录只作分组,不能直接当 product_spu.categoryId。
按本仓库 DO 生成的 ER。SPU 必须指向叶子。
配置与操作
走 商品中心 → 商品分类(2002,/mall/product/category)。根节点 parentId = 0,填 name、picUrl、sort、status。父节点必须是一级,二级下面不能再挂子分类。
保存后用户端 /app-api/product/category 只读启用节点。商品只能挂二级,product_spu.categoryId 不能指向一级。有子分类或还挂着 SPU 不能删。
