请教一个关于程序设计的问题

2019-09-17 16:35:41 +08:00
 JasonTsang

一般系统都会有余额 ,请问大家是怎么设计这个余额的呢?

比如用户要提现 ,是立刻把用户余额字段里的金额减掉么?

还是弄多一个字段来 作为冻结这个余额 ?等确定提现成功后再去减掉这个余额的数值呢?

2620 次点击
所在节点    程序员
12 条回复
fengtons
2019-09-17 16:44:56 +08:00
这个要看业务流程啊,一般来说直接减就行了
JasonTsang
2019-09-17 16:50:24 +08:00
@fengtons 不怕出错么?我第一次写 我怕哪里出问题了 。哪不是大问题。毕竟关于金额的东西
arrow8899
2019-09-17 16:52:38 +08:00
跟普通订单逻辑保持一致,提现可以理解为给银行卡充值。不过还是得看你们的业务
smallpython
2019-09-17 16:53:48 +08:00
没有涉及过钱的经验
不过有问题的话测试测出来你再改就好了
先完成,在优化
annielong
2019-09-17 17:12:41 +08:00
提现流程返回正确后再减余额,我一般都用一个单独字段记录余额,积分类的没用单独字段。,
maichael
2019-09-17 17:17:49 +08:00
扣款 /充值记录要做一个单独的表,用户余额这个字段不能用做保底,一般是用扣款+充值记录校对出来的值保底。
MarkOrca
2019-09-17 17:18:51 +08:00
有完成的交易历史记录就行,至于这个余额要看业务需求
wangsyi13
2019-09-17 17:58:46 +08:00
印象中,银行的系统,取款、转账、圈存,都是 atm 发起交易,收到请求-->后台处理成功-->扣款-->发送消息给 ATM-->ATM 出款\写卡(转账只有后台成功就成功)||-->成功-->结束 ||-->失败-->发起冲正交易-->后台撤销扣款|||->冲正成功->结束 |||->冲正失败重试
wangsyi13
2019-09-17 17:59:16 +08:00
互联网的交易不清楚,没做过。。
guyeu
2019-09-17 21:03:05 +08:00
了解一下事务
hspeed18
2019-09-18 11:22:29 +08:00
不要冻结吧,那样有点复杂了。单独设计一个流水表,记录下每一笔入账出账,出现问题时也方便查。然后做好补偿措施,比如提现失败时再把余额补回来就是。
Pythondr
2019-09-18 11:24:43 +08:00
交易流水表 +1

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

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

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

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

© 2021 V2EX