HH SaaS電商系統的虛擬資金賬戶(錢包餘額)設計

方案一,將資金賬戶抽象出來

虛擬資金賬戶

在這裏插入圖片描述
P.S. 如果機構代碼和消費代碼有區分類型,那麼資金賬戶表中就不必保存“賬戶所屬機構ID”、“賬戶所屬機構類型”、“賬戶所有者ID”、“所有者類型”,只要保存“賬戶所屬機構代碼”和“賬戶所有者代碼”就可以了

  • 資金賬號

其中第1-7位賬戶所屬機構代碼,第8-15位爲順序位,第16位爲校驗位。
機構代碼的第一位,爲機構類型,代表機構所屬類型,目前系統有四種類型:

機構類型代碼 機構類型名稱
1 租戶
2 商城
3 店鋪
4 供應商
  • 校驗碼算法

校驗碼採用LUHN算法,亦稱模10算法。計算方法如下:

第一步:從右邊第1個數字開始每隔一位乘以2;

第二步: 把在第一步中獲得的乘積的各位數字相加,然後再與原號碼中未乘2的各位數字相加;

第三步:對於第二步求和值中個位數求10的補數,如果個位數爲0則該校驗碼爲0。

舉例:625965087177209(不含校驗碼的賬號)

第一步:6 * 2=12,5 * 2=10,6 * 2=12,0 * 2=0,7 * 2=14,7 * 2=14,2 * 2=4,9 * 2=18

第二步:1+2 + 1+0 + 1+2 + 0 + 1+4 + 1+4 + 4 + 1+8 = 30

30 + 2+9+5+8+1+7+0 = 62

第三步:10-2=8

所以,校驗碼是8,完整的賬號應該是6259650871772098。

餘額流水記錄實體

在這裏插入圖片描述

  • 流水類型:

貨款轉入(01)

佣金轉入(02)

返現轉入(03)

退款轉入(04)

消費轉出(05)

獎勵轉入(06)

充值轉入(07)

提現轉出(08)

  • 流水備註:

關聯的單據ID保存在該字段中,例如:銷售入賬關聯銷售貨款結算單,就保存結算單ID;消費關聯銷售單,就保存銷售單ID;提現關聯提現單,就保存提現單ID…

  • 流水編號
    流水類型代碼+設備ID(即MAC地址,轉換成10進制數)+ 時間戳

方案二,用戶表直接保存資金餘額

實際業務中,用戶並不會用到資金賬號,也不關心賬戶所屬機構,所以通常是在用戶表中增加一個“資金餘額”字段,用來直接保存資金餘額就可以了。

餘額流水記錄實體

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章