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

营销中心模块 (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库存分离。在创建秒杀订单时,需要:

  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)中集成。