weixin_44784629 2020-06-10 17:46 采纳率: 100%
浏览 384
已采纳

mysql账户金额等多个字段按顺序进行扣除,有没有好的方案?

现有一张账户余额表。
图片说明

账户余额=可用余额+活动余额+冻结余额+赠送余额。
如果有扣款请求,要求先扣除赠送余额,再扣除活动余额,再扣除可用余额。
大佬们有没有好的方案?

  • 写回答

1条回答 默认 最新

  • zea_liu 2020-06-10 17:58
    关注

    1.扣除前先判断赠送金额+活动余额+可用余额的总和能否满足一次扣费
    如果不可以,那就直接返回金额不足以支付
    如果可以:
    事务控制:
    查询 赠送金额、活动余额、可用余额、
    判断需扣除金额是否大于赠送金额

    如果不大于:直接扣赠送金额
    如果大于 :
    判断需扣除金额是否大于赠送金额+活动余额
    如果不大于: update set 赠送金额 =0 ,活动余额 = 减去后部分
    如果大于: update set 赠送金额 =0 ,活动余额= 0 ,可用余额=减去后部分
    方案完成 望采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 求京东批量付款能替代天诚
  • ¥15 slaris 系统断电后,重新开机后一直自动重启
  • ¥15 51寻迹小车定点寻迹
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含