现有一张账户余额表。
账户余额=可用余额+活动余额+冻结余额+赠送余额。
如果有扣款请求,要求先扣除赠送余额,再扣除活动余额,再扣除可用余额。
大佬们有没有好的方案?
现有一张账户余额表。
账户余额=可用余额+活动余额+冻结余额+赠送余额。
如果有扣款请求,要求先扣除赠送余额,再扣除活动余额,再扣除可用余额。
大佬们有没有好的方案?
1.扣除前先判断赠送金额+活动余额+可用余额的总和能否满足一次扣费
如果不可以,那就直接返回金额不足以支付
如果可以:
事务控制:
查询 赠送金额、活动余额、可用余额、
判断需扣除金额是否大于赠送金额
如果不大于:直接扣赠送金额
如果大于 :
判断需扣除金额是否大于赠送金额+活动余额
如果不大于: update set 赠送金额 =0 ,活动余额 = 减去后部分
如果大于: update set 赠送金额 =0 ,活动余额= 0 ,可用余额=减去后部分
方案完成 望采纳