Skip to content

秒杀与砍价 ​

这篇解决什么 ​

同一商品能不能既做秒杀又做砍价、一笔订单为什么只有一个 type。读完能对上两套库存和两套成功条件,避免把砍价记录当成秒杀时段。

默认端口 48080。秒杀见 秒杀活动。砍价见 砍价活动。

示意图:TradeOrderTypeEnum 一单一型。1 秒杀,2 砍价。结算时 calculateRespBO.type 只写其中一个。

怎么区分 ​

名称说明仓库路径
秒杀订单type = 1,写 seckillActivityIdruoyi-office/yudao-module-mall/.../TradeOrderDO.java
砍价订单type = 2,写 bargainActivityId / bargainRecordId同上
秒杀库存promotion_seckill_activity.stockSeckillActivityDO
砍价库存promotion_bargain_activity.stockBargainActivityDO
秒杀冲突同一 SPU 不能两个启用秒杀SeckillActivityServiceImpl#validateProductConflict
砍价冲突同一 SPU 不能两个启用砍价BargainActivityServiceImpl#validateBargainConflict

同类活动互斥。跨类型(秒杀 + 砍价)没有共用的「SPU 只能参加一种营销」校验。两套表可以同时挂同一个 spuId,用户从哪个入口下单,订单就是哪个类型。

成功条件 ​

秒杀:落在时段内、活动库存和限购够,立刻以秒杀价下单。

砍价:先有 promotion_bargain_record,助力到低价或人数满(status = 2)才能下单。到期失败是 3。

名称说明仓库路径
秒杀时段configIds + promotion_seckill_configSeckillActivityDO
砍价助力promotion_bargain_helpBargainHelpDO
砍价成功底价或 helpMaxCountBargainRecordDO 注释

不要共用库存字段

补秒杀只加秒杀 stock。补砍价只加砍价 stock。改 product_sku.stock 不会让活动重新可卖。

示意图:入口决定类型。管理端列表用 type 过滤,不要只看 SPU。

配置与操作 ​

分别在秒杀商品页和砍价商品页配。没有「秒杀与砍价」菜单。一笔订单只有一个 type:1 秒杀立刻买,2 砍价要先助力成功。

同类活动互斥,跨类型没有统一拦截。补库存只加对应活动 stock,不要只改 product_sku。开启见 商城功能设计。

秒杀商品

本系统截图:秒杀商品。

砍价商品

本系统截图:砍价商品。

相关篇 ​

联系我们

获取报价、演示和二开方案

微信咨询二维码

微信咨询

17156169080

添加时备注「RuoYi Office」

在线体验商业版