素材牛VIP会员
如何设计 用户钱包金额收支记录表?
 记***6  分类:Java代码  人气:1741  回帖:2  发布于6年前 收藏

我想做一个对于
用户钱包金额收支情况记录的表
就是对于
money1(买家金额)money2(买家冻结金额)
money3(卖家金额)money4(卖家冻结金额)
这个四个字段,所有的加减都要有个记录,
该怎么设计表好呢?
有什么必须的字段,要求?
求经验丰富的人推荐下设计方案?

能不能根据数据库的变动做一个记录?就是当用户表的 金额字段发生变化时,把其变化存入一个新的表里?
我用的是MySQL数据库,是不是得使用触发器?

 标签:sqlmysqljavaphp

讨论这个帖子(2)垃圾回帖将一律封号处理……

Lv5 码农
潇***a PHP开发工程师 6年前#1

不妨借用会计记账的方式。

  • 每个客户分配3个科目:存入取出金额 = 可用金额 + 冻结金额

  • 创建资金流水表(会计分录)和科目余额表两个表。后者用于对流水表进行汇总。

  • 可用(冻结)余额的计算方法是:今日余额 = 昨日余额 + 今日借方总额 - 今日贷方总额

  • 存入取出余额的计算方法是:今日余额 = 昨日余额 + 今日贷方总额 - 今日借方总额

资金流水表例:

借方 贷方 金额 时间 事由
XXX可用 XXX存入取出 3000 2017-02-09 客户XXX存入3000元
YYY可用 XXX可用 2000 2017-02-09 客户XXX给YYY转账2000元
YYY冻结 YYY可用 1000 2017-02-09 客户YYY冻结1000元

余额表例:

科目 金额 时间
XXX存入取出 3000 2017-02-09
XXX可用 1000 2017-02-09
YYY可用 1000 2017-02-09
YYY冻结 1000 2017-02-09
Lv4 码徒
pe***ei 移动开发工程师 6年前#2

用户的账户余额可以计算出来,也可以通过每次交易后更新来实现,看你自己的取舍了

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取