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