多商户商城的库存,为什么不能挂在订单上
商城的第一版,库存通常长在商品表上,结算状态挂在订单上。二十个商户、几百个 SKU 能跑过验收,第一次大促就会同时出现超卖和对不上账——锁救不了它,根子在五个域被压进了同一两张表。这篇按商品、库存、订单、履约、结算的顺序,讲每个域该拥有什么,边界又该落在哪几张表上。
商城的第一版,库存通常长在商品表上,结算状态挂在订单上。二十个商户、几百个 SKU 能跑过验收,第一次大促就会同时出现超卖和对不上账——锁救不了它,根子在五个域被压进了同一两张表。这篇按商品、库存、订单、履约、结算的顺序,讲每个域该拥有什么,边界又该落在哪几张表上。
余额字段一旦能被 update,账就只能靠人工对平。账户管谁是主体、流水管动了多少、凭证管为什么动,三张表各管一件事。分账规则要带生效区间,退款要按原分录反向冲销,可用和冻结别做成一行两列。代收再结算算不算二次清算,这条线绕不开。