美文网首页
支付回调接口中,主订单状态未变更,其他功能执行正常

支付回调接口中,主订单状态未变更,其他功能执行正常

作者: 抄无止境 | 来源:发表于2022-07-21 19:25 被阅读0次
问题现象

1.昨天测试支付功能还是好好的,但是今天就出现了一个异常问题:支付已经扣款了,支付回调接口也已经调用了,接口中代码都执行成功了,子订单状态已经改变了,但是主订单没有改变。
2.我远程断点调试可以成功,不远程断点调试就不成功。
很奇怪?

问题分析

1.是不是更新主订单的方法没有更新成功?
经过远程断点调式加上查看log日志,发现更新主订单的方法没有问题。如果更新主订单的方法有问题,那么远程断点调式不应该成功的。

2.是不是异步导致的问题?
回去检查了支付回调的方法,发现并没有写异步相关的代码。。。
很奇怪?
然后又重新支付,查看sql执行log,有一个很惊人的发现,更新主订单状态为待发货后的sql日志后,也就是最后一次的sql执行log下,又有一次更新主订单的日志sql日志,把我原来修改的主订单状态待发货改成了未付款。
百思不得其解?为什么会有这样一个sql日志?
经过排查,在支付回调的接口中,有个分佣功能,分佣是用rocketmq发送消息在异步进行消费执行的,在分佣的这个里面,有个更新主订单状态的操作,我也是醉了,找到原因了。就是异步导致的。

相关文章

网友评论

      本文标题:支付回调接口中,主订单状态未变更,其他功能执行正常

      本文链接:https://www.haomeiwen.com/subject/vbqpirtx.html