需求:单条记录支持上下移动,并保证新增和修改的记录展现在列表第一行
解决思路:
定义一个排序字段order_value 自增长
上下移动:
1,获得列表中所有记录
2,循环判断出被操作记录的索引
3,上移:获得index-1位置的对象,下移:获得index+1位置的对象
4,置换两者的orderValue值
5,把两者更新到数据库
修改:
1,获得当前列表中orderValue的最大值max
2,手动设置修改记录的weight值等于max+1
3,把修改后的记录更新到数据库
新增:
1,因为orderValue值是自增长,新增记录的orderValue值会是最大的,列表查询结果是根据order_value值倒序排列所以会自动显示在列表第一行
注意:列表的SQL语句一定要根据orderValue属性值,倒序进行排列
order by order_value desc;