1、背景
修改bug。
之前的开发写的只能单选,所以逻辑都是按照只需要传递一个id值的逻辑写的
现在改为多选时,传递过来的是id数组,所以直接原逻辑的外层加了一个循环,这样原逻辑包括sql就不需要大变动,
但是这样会有个问题:
假如3原本就已经是管理员了,所以当循环到3时会判断出这个用户已经设置为管理员了(作了状态判断)
现在的要求是:假若选择的4个成员批量设置为管理员,这一组成员里只要有一个不符合要求(已经是管理员了),那么对这一组的设置是失败的,即通过循环设置好的并已经update到数据库里的,也需要恢复到之前的状态(回滚)
2、解决办法
添加事务回滚
![在这里插入图片描述](https://img-blog.csdnimg.cn/03d156011ee94593992cafc7274718fc.png
欢迎讨论~