# 营销中心模块 (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)中集成。