迫于没做过支付相关业务,求助 mysql 表设计

2019-09-26 15:48:13 +08:00
 v2hh

平台支出,对应的是用户的收入,用户支出,对应的是平台的收入,这种关系需要怎么维护比较合适

6054 次点击
所在节点    MySQL
17 条回复
wccc
2019-09-26 16:11:20 +08:00
流水对账?
NEETLEE
2019-09-26 16:13:10 +08:00
一个想法:把支出和收入都放在一个表(账务表之类的)平台收入为正,平台支出为负,只要记录好类别应该还是很好统计的
chinvo
2019-09-26 16:21:05 +08:00
另一种思想是以用户为基准

用户的账户收入为正,支出为负

用账目表记录用户每一笔交易,记录 before change after

平台收入即用户入账出帐的差

另外一定别用浮点数
reus
2019-09-26 16:23:52 +08:00
你们是什么平台?
dswyzx
2019-09-26 16:26:45 +08:00
https://www.cnblogs.com/sujing/p/11006424.html

可以借鉴一下这个思路

另:做好日志
yuhao2019
2019-09-26 16:44:34 +08:00
千万别用浮点数
v2hh
2019-09-26 16:48:35 +08:00
@reus 任务平台,正规的那种
memedahui
2019-09-26 16:50:51 +08:00
数据强一致就行了
v2hh
2019-09-26 16:51:03 +08:00
@NEETLEE 平台和用户的资金明细都是那一张表吗,会不会乱掉啊,最后问题出现不方便定位
ycs2019
2019-09-26 16:53:38 +08:00
数据的一致性 兜底 调账。。
sujin190
2019-09-26 17:40:49 +08:00
@v2hh #9 平台的支出不就是用户收入么?所以应该是没有平台的表,只有用户的收支表,结余就是平台亏损或者盈利,这种情况下,余额应该是流水账加和得到的

再抽象一点来说,整个业务有一个收支总账,和平台相关还是和用户相关没有直接关系,把记录财务流水账的表和记录业务场景的订单表分开,业务流程驱动订单变更,订单完结产生财务流水,订单流程异常没有产生正常财务记账则无效,这种情况下应该走业务相关的异常订单处理来纠正,财务只应该和财务记账相关
PerFectTime
2019-09-26 17:46:25 +08:00
以前做的时候是根据客户来的,收入正数,支出负数,记录之前 /之后 /变动的金额,把钱转成分存成整数,千万别小数
Michaelssss
2019-09-26 17:54:46 +08:00
考虑学一下会计的记账方式,会计中的账本照抄字段就是表设计了,业务直接找书
sudaye
2019-09-26 18:03:46 +08:00
有用到外部支付嘛(例如微信支付宝,银行卡)。如果有建议分俩快,一部分收银台,一部分支付中心。支付中心的基础表大致设计,支付组,支付详情,退款组,退款详情,冻结组,冻结详情。收银台部分分为退款详情,支付详情,以及流水表。
如果有平台自建的积分,或者其它货币形式的还需要,账户,充值记录,以及流水表
ctrlaltdeletel
2019-09-26 18:25:21 +08:00
介绍下我们使用过的方法(不是专业做支付 /结算业务的)。
可以借鉴一下类似复式记账的想法,每笔交易至少记录在借方贷放不同的账户上。顺带划分好 资产、负债、收入、支出 等账户,利用会计恒等式,就可以在代码和数据层面验证记录的金额是否正确了。
GoLand
2019-09-26 19:14:33 +08:00
订单表,资产表,负债表,流水表。
v2hh
2019-09-27 08:34:30 +08:00
感谢各位回复!!!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/604449

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX