1

我们确实允许他根据他当前的余额拨打电话,通话时间为 10 分钟,下一次通话时间也安排为 10 分钟,因为客户余额未更新,因为他的第一次通话仍在进行中。我们只在通话断开时更新余额。这样余额就会变成负数。但是有没有办法解决这个问题,让余额不会变成负数?

4

1 回答 1

2

银行通过对资金进行“持有”并跟踪两个单独的余额来解决这个问题:当前余额(账户中的所有资金)和可用余额(当前余额减去所有“持有”的总和所有未偿资金)。

假设您有 10 美元的余额,通话费用为 1 美元/分钟。

这个想法是,你的第一个 10 分钟电话实际上不会在它完成之前扣除资金,但它会说,“嘿,我需要从当前余额中扣除 10 美元。” 正如你所说,这笔钱只有在电话断开时才真正被拿走。

然而,因为 10 美元的“保留”已经到位,所以当第二次调用建立时,它会检查余额并说,“嘿,我需要 10 美元”,但算法会取走总余额(10 美元) 并减去所有“持有”金额的总和(10 美元),并返回 0 美元。

所以,基本上第二个电话不会建立,因为你的余额算法会说,“是的,你的账户里有 10 美元,但你目前保留了其中的 10 美元,剩下 0 美元'可用余额'。因此,除非您取消第一次通话,或者为余额充值,否则我无法为您预留时间。”

于 2011-12-14T13:47:36.730 回答