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

205 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 营销中心模块 (ruoyi-mall-promotion)
## 模块简介
`ruoyi-mall-promotion` 是商城系统的营销中心模块,提供多样化的营销活动功能,包括活动、拼团、秒杀、砍价等。
## 功能特性
### 1. 营销活动管理 ✅
- ✅ 活动CRUD操作
- ✅ 活动类型管理(普通活动、拼团、秒杀、砍价)
- ✅ 活动规则配置(JSON格式)
- ✅ 活动时间管理
- ✅ 活动状态管理(启用/禁用)
- ✅ 活动导出功能
### 2. 拼团功能 ✅
- ✅ 拼团活动创建
- ✅ 拼团活动查询(按SKU、可用列表)
- ✅ 拼团活动状态管理
- ⏳ 拼团订单管理(需在交易中心模块集成)
- ⏳ 拼团成团处理(需在交易中心模块集成)
- ⏳ 拼团过期处理(需定时任务支持)
### 3. 秒杀功能 ✅
- ✅ 秒杀活动创建
- ✅ 秒杀库存管理(扣减、恢复)
- ✅ 秒杀活动查询(按SKU、可用列表)
- ✅ 秒杀活动状态管理
- ✅ 秒杀活动状态自动更新(定时任务)
### 4. 砍价功能 ✅
- ✅ 砍价活动创建
- ✅ 砍价活动查询(按SKU、可用列表)
- ✅ 砍价活动状态管理
- ⏳ 砍价记录管理(需在交易中心模块集成)
- ⏳ 砍价助力记录(需在交易中心模块集成)
- ⏳ 砍价订单处理(需在交易中心模块集成)
## 数据库表
- `mall_promotion` - 营销活动表
- `mall_group_buy` - 拼团表
- `mall_group_buy_order` - 拼团订单表
- `mall_seckill` - 秒杀表
- `mall_bargain` - 砍价活动表
- `mall_bargain_record` - 砍价记录表
- `mall_bargain_help` - 砍价助力记录表
详细表结构请参考:`script/sql/ry_mall.sql`
## 模块结构
```
org.dromara.mall.promotion
├── controller
│ ├── admin // 管理端API
│ └── app // 用户端API
├── domain
│ ├── bo // 业务对象
│ └── vo // 视图对象
├── mapper // MyBatis Mapper
├── service // 业务逻辑层
│ └── impl
├── job // 定时任务
│ └── MallPromotionJob.java
├── enums // 枚举类
└── config // 配置类
```
## 依赖模块
- `ruoyi-mall-product` - 商品中心模块
- `ruoyi-mall-coupon` - 优惠券中心模块
- `ruoyi-common-*` - 通用工具模块
## API接口
### 管理端接口
#### 营销活动管理 (`/mall/promotion`)
- `GET /mall/promotion/list` - 查询营销活动列表(分页)
- `GET /mall/promotion/{id}` - 获取营销活动详情
- `POST /mall/promotion` - 新增营销活动
- `PUT /mall/promotion` - 修改营销活动
- `DELETE /mall/promotion/{ids}` - 删除营销活动
- `POST /mall/promotion/export` - 导出营销活动列表
- `PUT /mall/promotion/changeStatus/{id}` - 启用/禁用营销活动
### 移动端接口
#### 营销活动 (`/app/mall/promotion`)
- `GET /app/mall/promotion/list` - 查询营销活动列表(可按类型筛选)
- `GET /app/mall/promotion/{id}` - 获取营销活动详情
#### 秒杀活动管理 (`/mall/seckill`)
- `GET /mall/seckill/list` - 查询秒杀活动列表(分页)
- `GET /mall/seckill/{id}` - 获取秒杀活动详情
- `POST /mall/seckill` - 新增秒杀活动
- `PUT /mall/seckill` - 修改秒杀活动
- `DELETE /mall/seckill/{ids}` - 删除秒杀活动
- `POST /mall/seckill/export` - 导出秒杀活动列表
- `PUT /mall/seckill/changeStatus/{id}` - 启用/禁用秒杀活动
#### 秒杀活动 (`/app/mall/seckill`)
- `GET /app/mall/seckill/list` - 查询可用秒杀活动列表
- `GET /app/mall/seckill/{id}` - 获取秒杀活动详情
- `GET /app/mall/seckill/sku/{skuId}` - 根据SKU ID查询秒杀活动
#### 拼团活动管理 (`/mall/groupbuy`)
- `GET /mall/groupbuy/list` - 查询拼团活动列表(分页)
- `GET /mall/groupbuy/{id}` - 获取拼团活动详情
- `POST /mall/groupbuy` - 新增拼团活动
- `PUT /mall/groupbuy` - 修改拼团活动
- `DELETE /mall/groupbuy/{ids}` - 删除拼团活动
- `POST /mall/groupbuy/export` - 导出拼团活动列表
- `PUT /mall/groupbuy/changeStatus/{id}` - 启用/禁用拼团活动
#### 拼团活动 (`/app/mall/groupbuy`)
- `GET /app/mall/groupbuy/list` - 查询可用拼团活动列表
- `GET /app/mall/groupbuy/{id}` - 获取拼团活动详情
- `GET /app/mall/groupbuy/sku/{skuId}` - 根据SKU ID查询拼团活动
#### 砍价活动管理 (`/mall/bargain`)
- `GET /mall/bargain/list` - 查询砍价活动列表(分页)
- `GET /mall/bargain/{id}` - 获取砍价活动详情
- `POST /mall/bargain` - 新增砍价活动
- `PUT /mall/bargain` - 修改砍价活动
- `DELETE /mall/bargain/{ids}` - 删除砍价活动
- `POST /mall/bargain/export` - 导出砍价活动列表
- `PUT /mall/bargain/changeStatus/{id}` - 启用/禁用砍价活动
#### 砍价活动 (`/app/mall/bargain`)
- `GET /app/mall/bargain/list` - 查询可用砍价活动列表
- `GET /app/mall/bargain/{id}` - 获取砍价活动详情
- `GET /app/mall/bargain/sku/{skuId}` - 根据SKU ID查询砍价活动
## 待实现功能
- [x] 营销活动管理功能 ✅
- [x] 拼团功能 ✅(基础功能已完成,订单相关功能需在交易中心模块集成)
- [x] 秒杀功能 ✅
- [x] 砍价功能 ✅(基础功能已完成,记录和订单相关功能需在交易中心模块集成)
- [ ] 活动统计功能
- [ ] 拼团订单管理和成团处理(需在交易中心模块集成)
- [ ] 砍价记录和助力记录管理(需在交易中心模块集成)
## 使用说明
### 秒杀库存管理
秒杀库存使用独立的库存字段 `seckill_stock`,与商品SKU库存分离。在创建秒杀订单时,需要:
1. 调用 `reduceStock` 方法扣减秒杀库存
2. 如果订单取消,调用 `restoreStock` 方法恢复秒杀库存
3. 秒杀库存扣减失败表示库存不足,订单创建失败
## 使用说明
### 秒杀库存管理
秒杀库存使用独立的库存字段 `seckill_stock`,与商品SKU库存分离。在创建秒杀订单时,需要:
1. 调用 `reduceStock` 方法扣减秒杀库存
2. 如果订单取消,调用 `restoreStock` 方法恢复秒杀库存
3. 秒杀库存扣减失败表示库存不足,订单创建失败
### 拼团活动管理
拼团活动配置包括:
- `groupPrice`: 拼团价格(分)
- `groupSize`: 成团人数(至少2人)
- `durationHours`: 拼团有效期(小时,默认24小时)
注意:拼团功能只实现了活动管理,实际的拼团订单创建、成团处理等逻辑需要在交易中心模块(ruoyi-mall-trade)中集成。
### 砍价活动管理
砍价活动配置包括:
- `originalPrice`: 原价(分)
- `bargainPrice`: 砍后价(分)
- `minPrice`: 最低价(分)
- `helpCount`: 需要助力人数(可选,默认0
- `bargainStock`: 砍价库存
- `durationHours`: 砍价有效期(小时,默认24小时)
价格校验规则:
- 砍后价必须小于原价
- 砍后价不能小于最低价
- 最低价必须小于原价
注意:砍价功能只实现了活动管理,实际的砍价记录、助力记录、订单创建等逻辑需要在交易中心模块(ruoyi-mall-trade)中集成。