# 商品中心模块 (ruoyi-mall-product) ## 模块简介 `ruoyi-mall-product` 是商城系统的商品中心模块,负责商品全生命周期管理,包括商品(SPU)、SKU、分类、品牌等核心功能。 ## 功能特性 ### 1. 商品管理 (SPU) - ✅ 商品CRUD操作 - ✅ 商品上架/下架 - ✅ 商品浏览量和销量统计 - ✅ 商品详情管理 ### 2. SKU管理 - ✅ SKU CRUD操作 - ✅ 库存管理 - ✅ 库存扣减和恢复 - ✅ 规格属性管理 ### 3. 商品分类管理 ✅ - ✅ 分类树形结构查询(支持三级分类) - ✅ 分类CRUD操作(列表、详情、新增、修改、删除) - ✅ 分类排序 - ✅ 分类导出功能 - ⏳ 分类图标管理(字段已支持,需前端集成文件上传功能) ### 4. 品牌管理 ✅ - ✅ 品牌CRUD操作(列表、详情、新增、修改、删除) - ✅ 品牌描述管理 - ✅ 品牌排序 - ✅ 品牌状态管理(启用/禁用) - ✅ 品牌导出功能 - ⏳ 品牌Logo上传(字段已支持,需前端集成文件上传功能) ## 数据库表 - `mall_product` - 商品表 - `mall_sku` - SKU表 - `mall_category` - 商品分类表 - `mall_brand` - 品牌表 - `mall_attribute_template` - 属性模板表 - `mall_attribute` - 属性表 - `mall_attribute_value` - 属性值表 - `mall_product_attribute` - 商品属性关联表 详细表结构请参考:`script/sql/ry_mall.sql` ## 模块结构 ``` org.dromara.mall.product ├── controller │ ├── admin // 管理端API │ │ ├── AdminMallCategoryController.java │ │ ├── AdminMallBrandController.java │ │ ├── AdminMallAttributeTemplateController.java │ │ ├── AdminMallAttributeController.java │ │ ├── AdminMallAttributeValueController.java │ │ └── AdminMallProductAttributeController.java │ └── app // 用户端API │ ├── AppMallCategoryController.java │ └── AppMallBrandController.java ├── domain │ ├── MallCategory.java │ ├── MallBrand.java │ ├── MallAttributeTemplate.java │ ├── MallAttribute.java │ ├── MallAttributeValue.java │ ├── MallProductAttribute.java │ ├── bo // 业务对象 │ │ ├── MallCategoryBo.java │ │ ├── MallBrandBo.java │ │ ├── MallAttributeTemplateBo.java │ │ ├── MallAttributeBo.java │ │ ├── MallAttributeValueBo.java │ │ └── MallProductAttributeBo.java │ └── vo // 视图对象 │ ├── MallCategoryVo.java │ ├── MallBrandVo.java │ ├── MallAttributeTemplateVo.java │ ├── MallAttributeVo.java │ ├── MallAttributeValueVo.java │ └── MallProductAttributeVo.java ├── mapper │ ├── MallCategoryMapper.java │ ├── MallBrandMapper.java │ ├── MallAttributeTemplateMapper.java │ ├── MallAttributeMapper.java │ ├── MallAttributeValueMapper.java │ └── MallProductAttributeMapper.java ├── service │ ├── MallCategoryService.java │ ├── MallBrandService.java │ ├── MallAttributeTemplateService.java │ ├── MallAttributeService.java │ ├── MallAttributeValueService.java │ ├── MallProductAttributeService.java │ └── impl │ ├── MallCategoryServiceImpl.java │ ├── MallBrandServiceImpl.java │ ├── MallAttributeTemplateServiceImpl.java │ ├── MallAttributeServiceImpl.java │ ├── MallAttributeValueServiceImpl.java │ └── MallProductAttributeServiceImpl.java ├── enums // 枚举类 │ └── AttributeType.java └── config └── MallProductAutoConfiguration.java ``` ## 依赖模块 - `ruoyi-common-*` - 通用工具模块 ## API接口 ### 管理端接口 #### 商品分类管理 (`/mall/product/category`) - `GET /mall/product/category/list` - 查询商品分类列表(分页) - `GET /mall/product/category/tree` - 查询商品分类树形列表 - `GET /mall/product/category/{id}` - 获取商品分类详情 - `POST /mall/product/category` - 新增商品分类 - `PUT /mall/product/category` - 修改商品分类 - `DELETE /mall/product/category/{ids}` - 删除商品分类 - `POST /mall/product/category/export` - 导出商品分类列表 #### 品牌管理 (`/mall/product/brand`) - `GET /mall/product/brand/list` - 查询品牌列表(分页) - `GET /mall/product/brand/{id}` - 获取品牌详情 - `POST /mall/product/brand` - 新增品牌 - `PUT /mall/product/brand` - 修改品牌 - `DELETE /mall/product/brand/{ids}` - 删除品牌 - `POST /mall/product/brand/export` - 导出品牌列表 ### 移动端接口 #### 商品分类 (`/app/mall/product/category`) - `GET /app/mall/product/category/tree` - 查询商品分类树形列表(仅启用分类) #### 品牌 (`/app/mall/product/brand`) - `GET /app/mall/product/brand/list` - 查询品牌列表(仅启用品牌) #### 属性模板管理 (`/mall/product/attribute/template`) - `GET /mall/product/attribute/template/list` - 查询属性模板列表(分页) - `GET /mall/product/attribute/template/{id}` - 获取属性模板详情 - `POST /mall/product/attribute/template` - 新增属性模板 - `PUT /mall/product/attribute/template` - 修改属性模板 - `DELETE /mall/product/attribute/template/{ids}` - 删除属性模板 - `POST /mall/product/attribute/template/export` - 导出属性模板列表 #### 属性管理 (`/mall/product/attribute`) - `GET /mall/product/attribute/list` - 查询属性列表(分页) - `GET /mall/product/attribute/{id}` - 获取属性详情 - `GET /mall/product/attribute/template/{templateId}` - 根据模板ID查询属性列表 - `POST /mall/product/attribute` - 新增属性 - `PUT /mall/product/attribute` - 修改属性 - `DELETE /mall/product/attribute/{ids}` - 删除属性 - `POST /mall/product/attribute/export` - 导出属性列表 #### 属性值管理 (`/mall/product/attribute/value`) - `GET /mall/product/attribute/value/list` - 查询属性值列表(分页) - `GET /mall/product/attribute/value/{id}` - 获取属性值详情 - `GET /mall/product/attribute/value/attribute/{attributeId}` - 根据属性ID查询属性值列表 - `POST /mall/product/attribute/value` - 新增属性值 - `PUT /mall/product/attribute/value` - 修改属性值 - `DELETE /mall/product/attribute/value/{ids}` - 删除属性值 - `POST /mall/product/attribute/value/export` - 导出属性值列表 #### 商品属性关联管理 (`/mall/product/attribute/product`) - `GET /mall/product/attribute/product/{id}` - 获取商品属性关联详情 - `GET /mall/product/attribute/product/product/{productId}` - 根据商品ID查询商品属性关联列表 - `POST /mall/product/attribute/product` - 新增商品属性关联 - `POST /mall/product/attribute/product/batch` - 批量新增商品属性关联 - `POST /mall/product/attribute/product/product/{productId}` - 保存商品属性关联(先删除旧的,再插入新的) - `PUT /mall/product/attribute/product` - 修改商品属性关联 - `DELETE /mall/product/attribute/product/{ids}` - 删除商品属性关联 - `DELETE /mall/product/attribute/product/product/{productId}` - 根据商品ID删除商品属性关联 ### 5. 商品属性管理 ✅ - ✅ 属性模板管理 - ✅ 属性模板CRUD操作 - ✅ 属性模板绑定分类(可选) - ✅ 属性模板导出功能 - ✅ 属性管理 - ✅ 属性CRUD操作 - ✅ 属性类型管理(文本、数字、日期、枚举) - ✅ 属性绑定模板(可选) - ✅ 属性必填设置 - ✅ 属性导出功能 - ✅ 属性值管理 - ✅ 属性值CRUD操作 - ✅ 属性值绑定属性 - ✅ 属性值排序 - ✅ 属性值导出功能 - ✅ 商品属性关联 - ✅ 商品关联属性值 - ✅ 批量保存商品属性 - ✅ 根据商品ID查询属性 - ✅ 支持枚举类型属性值选择 - ✅ 支持文本/数字/日期类型自定义值 ## 待实现功能 - [ ] 规格模板定义 - [ ] 规格值管理 - [ ] 规格模板与商品关联 - [ ] 商品搜索功能 - [ ] 全文搜索(集成Elasticsearch或类似方案) - [ ] 商品筛选(按分类、品牌、价格等)