php商城网站,我是下单后,支付成功了在扣库存;
应该场景,商城商品比较特殊;一些产品只有一件库存
出个问题场景,
商品一,只有一件;
用户一跟用户二,同时操作商品一下单;
用户一,购买商品一,生成订单,选择支付宝扫码支付,直接扫码支付了,成功后,回调扣了库存;商品库存为 0
用户二,购买商品一,生成订单,在选支付宝扫码支付时后,没支付;等了半分钟,在扫码支付,成功后,回调扣了库存 商品库存为 -1
那么,因为第三方支付二维码,是下单时请求时生了;怎么在扫第三方支付二维码时在判断,商品库存;
优化业务逻辑,改进如下:
当订单生成的时候,立即扣除库存
订单超过24小时,未付款,自动取消订单,恢复库存。
没有库存的时候,不能生成订单。