7.0 KiB
7.0 KiB
营销中心模块 (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查询砍价活动
待实现功能
- 营销活动管理功能 ✅
- 拼团功能 ✅(基础功能已完成,订单相关功能需在交易中心模块集成)
- 秒杀功能 ✅
- 砍价功能 ✅(基础功能已完成,记录和订单相关功能需在交易中心模块集成)
- 活动统计功能
- 拼团订单管理和成团处理(需在交易中心模块集成)
- 砍价记录和助力记录管理(需在交易中心模块集成)
使用说明
秒杀库存管理
秒杀库存使用独立的库存字段 seckill_stock,与商品SKU库存分离。在创建秒杀订单时,需要:
- 调用
reduceStock方法扣减秒杀库存 - 如果订单取消,调用
restoreStock方法恢复秒杀库存 - 秒杀库存扣减失败表示库存不足,订单创建失败
使用说明
秒杀库存管理
秒杀库存使用独立的库存字段 seckill_stock,与商品SKU库存分离。在创建秒杀订单时,需要:
- 调用
reduceStock方法扣减秒杀库存 - 如果订单取消,调用
restoreStock方法恢复秒杀库存 - 秒杀库存扣减失败表示库存不足,订单创建失败
拼团活动管理
拼团活动配置包括:
groupPrice: 拼团价格(分)groupSize: 成团人数(至少2人)durationHours: 拼团有效期(小时,默认24小时)
注意:拼团功能只实现了活动管理,实际的拼团订单创建、成团处理等逻辑需要在交易中心模块(ruoyi-mall-trade)中集成。
砍价活动管理
砍价活动配置包括:
originalPrice: 原价(分)bargainPrice: 砍后价(分)minPrice: 最低价(分)helpCount: 需要助力人数(可选,默认0)bargainStock: 砍价库存durationHours: 砍价有效期(小时,默认24小时)
价格校验规则:
- 砍后价必须小于原价
- 砍后价不能小于最低价
- 最低价必须小于原价
注意:砍价功能只实现了活动管理,实际的砍价记录、助力记录、订单创建等逻辑需要在交易中心模块(ruoyi-mall-trade)中集成。