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进制数)+ 时间戳

方案二,用户表直接保存资金余额

实际业务中,用户并不会用到资金账号,也不关心账户所属机构,所以通常是在用户表中增加一个“资金余额”字段,用来直接保存资金余额就可以了。

余额流水记录实体

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值