高并发下的库存减少问题(微信支付)

前段时间,在做一个网上商场的项目。在做秒杀模块时候,遇到一个棘手的问题。就是我设置的秒杀活动的库存,总是莫名其妙的减少了。我是把减库存放在微信支付的成功回调里面的。

查询资料发现,原来微信支付成功之后微信服务器会发送8次请求到回调地址。这样我这样的做法就会导致库存减少。

微信支付回调会返回微信生成的订单号以及我们自己生成的订单号。

我的逻辑是这样的,通过他返回的我们自己生成的订单号去数据库查询订单,订单包含微信订单号字段transaction_id 。如果查询到,且这个字段为空的话我们就让它继续走逻辑。我们执行去修改库存的操作和将微信生成的订单号修改到订单的相应的字段。

这样在相同请求到的时候,订单的transaction_id的字段已经不为空了,直接return。问题解决

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值