多店2.6,余額支付后,偶爾會(huì)發(fā)現(xiàn)主單paid = 1,子單paid = 0,后臺(tái)子單顯示未支付。
排查發(fā)現(xiàn)余額支付最終邏輯里有一個(gè)事務(wù),事務(wù)里有一個(gè)order.pay后置事件,后置事件里有一個(gè)拆單一步隊(duì)列方法。 偶爾會(huì)發(fā)生隊(duì)列比DB事務(wù)commit先執(zhí)行。導(dǎo)致隊(duì)列內(nèi)查詢到的主單paid = 0。
一種簡(jiǎn)易修復(fù)方案,將支付成功,拆單前,改主單狀態(tài)paid的那一步提前執(zhí)行。