一看你就不是真码农,至少没做过支付系统,这不是锁能解决的。你在饿了么下一个单,跳支付宝支付,不支付但是支付界面不关,切回回饿了么选微信支付跳到微信,支付掉,再直接打开支付宝,从停留的支付界面继续支付。一笔订单重复支付就实现了。这种情况是通过每日结束后清算对账来自动退款处理的,因为支付平台没有能力实时知道订单状态已经发生变化了,这是在商家平台系统内的状态变化。理论上也可以通过商家调用支付平台提供的webhook做实时通知,但是仍然会有race condition处理不干净而且大大增加系统设计复杂度,所以实际操作中并没有这么做。
【 在 tianzong 的大作中提到: 】
: 没加互斥锁啊,抢到的票应该修改完状态,其它线程才能去访问操作
:
--
FROM 120.204.147.*