我有一个财务系统,我必须设计一个保存,更新和控制限制的模块。 您可以知道每个客户都有一个用户ID,每个用户ID具有每天最高的信用额度。例如,UserID = 12具有MaxAmountPerDay = 10 $和CurrentAmountPerDay。如何计算,控制客户信用并更新它?
起初,我想设计一个简单的模块和定义表如下:
User ID | MaxAmountPerDay | CurrentAmountPerDay
-------------------------------------------------
12 | 10 | 0
25 | 100 | 84
现在你能想象当用户名顾客= 12做了交易我必须控制,如果交易金额+当前金额>最高金额然后抛出一个异常,否则我必须执行事务并更新当前金额,并且当更新后发生异常时,我必须回滚更新操作(update和rollback在不同的数据库事务中所以回滚是与新金额相同的更新)
在我做这个设计之前,我决定寻找一个更好的解决方案,甚至是一个开源框架,因为我想我的客户的需求将在未来发生变化,例如他们需要MaxAmountPerMonth,或者一些更多的要求,我现在不知道。
嗨,虽然这可能是一个可能的解决方案,但也可以在你的回复中稍微详细一点,并且包括与他们如何实现触发器相关的任何可能的代码。请用所需的工作代码片段编辑您的答案。 –
是啊!我将在下一次做 –