first commit
This commit is contained in:
@@ -0,0 +1,223 @@
|
||||
# 商品中心模块 (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或类似方案)
|
||||
- [ ] 商品筛选(按分类、品牌、价格等)
|
||||
Reference in New Issue
Block a user