遇到一个问题,微信支付成功回调,再本地使用ngrok做内网穿透,也不知到是ngrok的问题,还是微信的问题,支付成功回调会执行多次,2分钟内5,6次左右,但是debug只拦截到一次请求,其他的请求会跟随这次debug走完,也都走完,关键是,后台做了等幂处理,没有效,就好像第一个线程修改订单为已支付还没有完成,第二个线程就已经读取订单状态为未支付,进行支付成功操作,这样会重复5,6次左右
难了我快一天,解决办法就是在 Controller 层方法上加锁
后来发现原因,可能是支付成功的代码执行时间太长,没执行完,第二波回调已经来了