关于何时进行预扣除库存

来源:10-4 下单与支付的业务流程(库存量检测)

菠萝吹雪gz

2017-07-08

刚用手机试了一下京东,发现:一件商品就剩余1件,购物车中添加了1件该商品时,还显示仅剩余1件(说明没有进行预扣除库存,刷新后库存量没变,说明也没有进行数据库和客户端的实时同步),当我点击“去结算”时,会检测库存量,不会预扣除库存,如果有货,点击“立即下单”就会生成订单和预扣除库存(这时在pc端刷新时已经显示无货),同时跳转到支付页面,当我放弃支付时,提示:订单会在24小时自动取消。当我取消订单时,再次刷新pc端时,显示有货。由此可以看出:预扣除库存  是在生成订单时,进行的,这时我的支付还没进行,同时也发现,JD有可能是使用 一个任务队列来还原订单在24小时后还没支付的商品库存。根本不会出现我钱付了但是没有商品了,因为在下单时,已经进行控制了。但还有个疑惑:如果在高并发时,库存的锁定,如何处理,老师使用的是mysql数据库中的行锁吗?还有其他更好的处理方式吗?之前在处理抢单时用的了EF的乐观锁,但现在使用的是dapper,该怎么进行高并发处理?

写回答

1回答

7七月

2017-07-08

这个预扣除库存的思路,在最后一章里讲了啊。京东的处理方式和我讲的是一样的啊。还有库存锁定,这个课程里不也讲了吗,代码实现也有,怎么会还有疑问呢?

0
2
菠萝吹雪gz
谢谢老师
2017-07-08
共2条回复

微信小程序电商实战 从前端到后端的全流程精讲

全栈工程师/前后端都讲/架构思想/ RESTFul API、MySQL表设计

4805 学习 · 4382 问题

查看课程