我们的网站使用信用系统允许用户购买廉价的数字商品(例如照片)。我们使用积分,而不是要求用户单独为商品付款,因为这些商品很便宜,而且我们正在努力降低信用卡/PayPal 的开销。
因为我们不是银行,所以我们必须在一定时间后过期信用。我们会在一年后过期存款积分,但其他类型的积分(奖金、奖品、退款)可能有不同的保质期。当买家购买商品时,我们会先使用即将到期的信用额度。
我们当前的系统通过存储原始值和要花费的余额来跟踪每笔存款。当然,我们也会保留所有购买的清单。
我目前正在转向一个更像传统复式记账系统的系统。存款将创建一个分类帐项目,增加用户的“支出”帐户余额。每次购买还会创建一个分类帐项目,从而减少用户的“支出”帐户余额。新系统有余额,旧系统没有,大大提高了我们发现问题和对账的能力。
我们不想使用旧系统为每笔存款记录附加一个“剩余”值,因为重播用户的活动来计算每次存款的剩余金额随着时间的推移是低效的(对于用户的声明)。
所以,在所有这些冗长的介绍之后,我的问题是“还有其他人有类似的到期信用系统吗? ”如果你能描述你如何计算到期信用,那将是一个很大的帮助。
如果所有过期的积分都具有完全相同的保质期,我们将能够使用以下方法计算过期金额:
总存款 - 总支出 - 未到期的存款 = 到期金额
但是,由于存款可能有不同的保质期,因此该公式不起作用,因为在任何给定时间都可以部分花费不止一笔存款。