机房收费系统——结账之谜

在做结账的时候,一直很困惑,对于计算consumecash心存疑虑

consumecash=注册办卡金额+充值金额-退卡金额
退卡金额=(注册办卡金额+充值金额)- consumecash
cash=(注册办卡金额+充值金额)- consumecash

(但是注册办卡金额(student_info 中的cash)并非固定值,随着上机消费、充值记录,cash作为余额就不再是最初的注册金额了,因此简单的通过用 “cash-退卡金额” 并非正解)

consumecash指的是真正顾客消费后的净利润
remaincash指的是顾客预消费但未消费的金额,暂存于商家手中,但是实际上是属于顾客的钱
allcash指的是顾客目前账目上所拥有的全部的钱(包括未消费的金额和已消费的金额)

解决方案:
在注册办卡的时候,把注册办卡的记录添加到充值记录中,这样通过充值记录,就可以得到初始的注册金额,这样可以通过多条充值记录相加获得最终的正确答案,把注册记录当做一条充值记录也未尝不可,只是以一张空卡为始,注册之初充值金额,也和之后再次充值的金额没什么差异了。

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值