設計類似微信零錢的錢包系統:支援充值、提現、站內支付、贈送金額(有提現/消費限制)。核心難點在於贈送金額的扣款優先序與提現可用額度計算。
money_tb: mid, uid, mnum, mtype, mclevel, mtm
cost_tb: cid, uid, mid, cnum, ctm
// mtype: 位元標記 可提現、可消費、贈送金等
// mclevel: 充值/贈送序號,決定消費優先級(越小越優先)
mtype=可提現|可消費 記錄,mclevel 遞增。mtype=可消費(不可提現)記錄,mclevel 遞增。uid 下 mnum>0 記錄,按 mclevel ASC 排序,依序扣款並寫入 cost_tb。mtype 含 可提現 且 mnum>0 的總和,扣除時同樣按 mclevel 扣減對應記錄。mclevel 保證先進先出(FIFO),符合會計原則。mtype 位元。此設計可滿足充值送禮、提現限制、優先扣款等複雜業務場景。