Files
PoJie/ruoyi-modules/ruoyi-mall/ruoyi-mall-product/README.md
T
2026-02-22 12:12:02 +08:00

224 lines
8.3 KiB
Markdown

# 商品中心模块 (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或类似方案)
- [ ] 商品筛选(按分类、品牌、价格等)