java 开发业务逻辑的思考(1)- 通知短信发送

坚持每天写一个总结的博客,今天又是一个新的开始!

  今天我要说的是一个关于发送短信通知发送的问题。具体的业务流程是这样的,现在需要对用户的一个提现的申请进行审核,审核的内部需要控制很多的业务,

1.检查用户的提现余额-> 2.减去用户的账户金额->3.减去公司的结算账户的余额-> 4.创建用户的提现日志记录->5. 创建公司账户的资金变动日志-> 6.提现成功

后,需要给用户发送提现到账的短信通知。这是一系列需要处理的事情。

 

  要实现这个流程,保证资金的数据的不出错,就必须要在一个事物中控制这个流程。有分析可知,第1 到 第5步,这些需要在一起执行,要成功都成功,要失败

就都失败,这样金额的数据才不会错。所以我就把几个任务放在一个事物里面,控制他们执行的一致性。

 

  然后,要是怎样处理发送短信的这一块的任务的呢?

首先我们要从事物,业务两块来考虑:首先,短信的业务是必须的吗?不是。短信的发送成功会影响数据准确性吗?不会。短信只是一个给用户的温馨提示,即使没法

送,也不影响数据,再者,短信的发送就是调用一个发送的接口,一使用就会发送,如果我们的程序在发送后出错了,事务回滚,但是短信却发送了,也会给用户带来

不好的影响。所以,这个完全可以从上面的事务中剥离出来,成为事务之外的任务。即,事务执行成功,发送短信提示,不成功就不发送。那么这样,任务就解决问题了。

 

  今天为什么要写这个总结,其实不只是说单纯的介绍这个业务流程,我更想说的是一个编程的思想,在任务和逻辑、业务和流程的问题上,我们要保证数据的正确性

的同时,要学会将任务抽象话,减少事务间的耦合。

转载于:https://www.cnblogs.com/wyxueyoubang/p/6224882.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值