首页 新闻 搜索 专区 学院

电商产品中,如何处理库存锁定问题?

0
悬赏园豆:50 [已解决问题] 解决于 2017-02-13 17:04

在电商产品中,支付用的第三方支付,产品只负责调支付接口,如果既想得到较好的用户购物体验,又想避免商品多卖现象,应该如何控制和锁定商品库存?

terry59599s的主页 terry59599s | 菜鸟二级 | 园豆:202
提问于:2017-02-10 16:24
< >
分享
最佳答案
0

多卖商品是好事呀。

下单之后库存就应该有变化的,如果在规定的时间内未付款增加库存

收获园豆:30
心怀宇宙 | 小虾三级 |园豆:637 | 2017-02-10 16:38
其他回答(4)
0

支付完成后对库存进行更新,更新库存在事务中进行同时加锁,加的锁要避免堵塞,支付失败或者支付异常回滚,重新更新库存


Jeffcky | 园豆:2589 (老鸟四级) | 2017-02-10 16:40
0

什么时候锁都可以.也都有问题.

总的来说无非2种.支付前锁库存.支付成功锁库存.

至于选择哪种方式.需要中和分析.比如有的是支付前锁库存.但是订单半小时未支付的自动取消释放库存.

收获园豆:20
吴瑞祥 | 园豆:29185 (高人七级) | 2017-02-10 17:46
0

你可以用消费者模式,来设计和开发这个下订单和更新库存的问题。思路如下:

 

客户:生产者,负责下订单给网站后台,提交请求为异步方式,并且提交到后台消息队列中,比如RabbitMQ等。

网站后台:消费者,负责定时处理前台传入到消息队列中的订单信息。步骤如下:

1. 首先检查商品的后台库存是否满足客户的订单要求,如果满足则处理,并且处理完毕后要及时更新商品的库存数量,和更新客户订单的状态。

2. 如果不满足,则提前退出当前客户订单的处理,并且更新订单的处理结果为失败状态和失败原因。

tiandong | 园豆:163 (初学一级) | 2017-02-11 13:22
0

逻辑如下:

支付成功减少库存。

如库存不足返回失败,并通知管理员。

CaiYongji | 园豆:1267 (小虾三级) | 2017-02-13 10:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册