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

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

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

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

  • 写回答

1条回答 默认 最新

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

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

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

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

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效