首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

APP 錢包充值提現設計:主副帳戶與優先扣款邏輯

     編輯:程式設計疑難解答

設計類似微信零錢的錢包系統:支援充值、提現、站內支付、贈送金額(有提現/消費限制)。核心難點在於贈送金額的扣款優先序與提現可用額度計算。

資料模型

money_tb: mid, uid, mnum, mtype, mclevel, mtm
cost_tb:  cid, uid, mid, cnum, ctm
// mtype: 位元標記 可提現、可消費、贈送金等
// mclevel: 充值/贈送序號,決定消費優先級(越小越優先)

核心邏輯

  1. 充值:新增 mtype=可提現|可消費 記錄,mclevel 遞增。
  2. 贈送:新增 mtype=可消費(不可提現)記錄,mclevel 遞增。
  3. 消費:查詢 uid 下 mnum>0 記錄,按 mclevel ASC 排序,依序扣款並寫入 cost_tb。
  4. 提現:僅統計 mtype 含 可提現 且 mnum>0 的總和,扣除時同樣按 mclevel 扣減對應記錄。

優勢

  • 單表記錄所有資金流向,查詢、對帳簡單。
  • mclevel 保證先進先出(FIFO),符合會計原則。
  • 擴充新類型(如凍結、理財)只需增加 mtype 位元。

此設計可滿足充值送禮、提現限制、優先扣款等複雜業務場景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved