背景需求:最近做列表数据上移和下移功能,数据库有个index字段用来存储当前对象的排列序号;
第一版代码是同事写的,上移和下移功能分成两个接口,上移的时候将index-1;下移的时候将index+1;
这个方式,真的是无力吐槽;
测试人员反馈的bug信息是,排序几次之后就失去了排序功能,点击上移和下移列表并没有什么变化,或者是会一下子跳几格;
好嘛,查看数据库,一堆index重复
第二版代码我将两个接口合并成了一个交换接口,实际上前端传递两个id,当前对象的id和需要交换对象的id给我就OK了,剩下的逻辑部分后端来实现;
业务层代码如下:
这段代码写好测试后就没再管,中规中矩的逻辑,但是中间查询了两次数据库更新了两次数据库,请求时间有点长,不过没有立即优化;下图是用postman测试接口时反馈的请求时间
过了几天,测试人员又提交了一次bug,说还是这个问题啊,我点击上移或者下移几次之后又