竞拍类型电商活动技术实践

背景

竞拍是具有很强用户体验的一种电商活动形式。

在竞拍期间,众多用户不断出价,交替登顶榜首;最终竞拍结束时,出价最高的N位用户获得奖品。

产品形式

产品出价


竞拍榜单



后台处理流程


检查竞拍活动时间

检查活动时间是否在竞拍活动时间范围内。

检查用户出价次数
为公平起见,限制用户在竞拍单个产品时的单日出价次数。

检查竞拍用户是否榜首用户

榜首用户暂时不能参与竞拍,需要等其他用户覆盖榜首后才能参与竞拍。

检查出价是否在最高价加价范围内

用户竞拍出价,只能在当前最高出价的基础上加价,有最低加价、最高加价和加价级差三个限制。

检查是否有竞拍请求PROCESSING

因为请求在PROCESSING的时候,有线程在异步处理请求,可能会刷新榜单,当前基于最高价的检查都可能失效。

检查用户支付能力

检查用户的支付能力是否能支持出价。榜首用户和非榜首用户检查逻辑不同。

非榜首用户,要检查支付能力余额是否大于等于竞拍出价。

榜首用户,已有支付能力被冻结,检查逻辑:本次出价减去前次有效出价 <= 剩余可用支付余额;

竞拍请求落地NEW状态

将竞拍请求写入数据库,状态为NEW。

非榜首用户处理

按竞拍请求中的出价冻结支付能力。

榜首用户处理

按需要追加的出价,基于之前的支付冻结,追加并冻结支付能力。

插入榜首记录

插入榜首记录。

遍历榜首,剔除淘汰的出价。

遍历整个榜首,将逻辑上已经不在榜首的记录置为无效,并解冻支付能力。

同时统计榜单排序和出价次数(一张用户+产品维度的统计表)

竞拍结束,创建发货记录。
将榜首Top N的记录置换为SUCCESS,创建发货记录。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值