您的位置:首页 > 其它

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

2017-03-24 09:48 288 查看

背景

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

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

产品形式

产品出价



竞拍榜单



后台处理流程



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

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

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

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

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

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

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

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

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

非榜首用户处理
按竞拍请求中的出价冻结支付能力。

榜首用户处理
按需要追加的出价,基于之前的支付冻结,追加并冻结支付能力。

插入榜首记录
插入榜首记录。

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

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

竞拍结束,创建发货记录。
将榜首Top N的记录置换为SUCCESS,创建发货记录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  电商 竞拍 高并发