秒杀活动
这篇解决什么
秒杀时段和秒杀商品存在哪、库存扣哪一份。读完能对上 promotion_seckill_config、promotion_seckill_activity,以及订单类型 SECKILL = 1。
默认端口 48080。开启见 商城功能设计。下单见 交易订单。
示意图:先配每天的时段,再把活动挂到若干 configIds。下单扣活动库存,不是只扣 SKU。
从哪改
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 时段 | @RequestMapping("/promotion/seckill-config") | ruoyi-office/yudao-module-mall/yudao-module-promotion-server/.../controller/admin/seckill/SeckillConfigController.java |
| 活动 | /promotion/seckill-activity | SeckillActivityController |
| 时段表 | promotion_seckill_config | SeckillConfigDO |
| 活动表 | promotion_seckill_activity | SeckillActivityDO |
| 秒杀商品 | promotion_seckill_product | SeckillProductDO |
| 管理端页 | 时段 / 活动 | ruoyi-office-vben/apps/web-antd/src/views/mall/promotion/seckill/ |
官方菜单:秒杀活动目录 2209。秒杀时段 2066,秒杀商品 2059。
用户端同样有 /promotion/seckill-config、/seckill-activity。
字段
时段的 startTime / endTime 是当天时间点字符串,不是活动总起止。活动另有 startTime / endTime。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
configIds | 参加哪些时段 | SeckillActivityDO |
spuId | 秒杀商品 | 同上 |
stock / totalStock | 剩余 / 总秒杀库存 | 同上 |
totalLimitCount | 活动期内限购 | 同上 |
singleLimitCount | 单次限购 | 同上 |
订单 type = 1,并写 seckillActivityId。普通价和下单价不是同一条路径。
秒杀库存和商城 SKU 库存是两份
活动 stock 卖完,时段内就不能再秒。SKU stock 仍可能有货。不要只改 product_sku 来「补秒杀」。
按本仓库 DO 生成的 ER。configIds 是数组,不是外键列。
配置与操作
先走 秒杀活动 → 秒杀时段(2066,/mall/promotion/seckill/config)配当天时间点,再走 秒杀商品(2059,/mall/promotion/seckill/activity)挂 configIds、活动库存和限购。
订单 type=1,写 seckillActivityId。活动 stock 和 product_sku.stock 是两份,只改 SKU 补不了秒杀。同一 SPU 不能两个启用秒杀。开启见 商城功能设计。

本系统截图:秒杀商品。

本系统截图:秒杀时段。
