[算法] 拖动排序
菜单、菜品排序问题
在菜品分类和菜品表中,新增排序字段,以供用户排序。
新增时需要插入序号(max+1)
查询时按照序号从低到高的顺序排序
排序算法:以菜品为例
牛肉粉 序号1
鸡蛋饭 序号2
烤羊肉 序号3
卤豆腐 序号4
① 现在需要将 卤豆腐 放在第一位
1)第一步:获取牛肉粉(欲取代的位置)的序号为1,并获取卤豆腐的GOODS_ID
2)将牛肉粉及其之后的产品的序号+1
牛肉粉 序号1+1 = 2
鸡蛋饭 序号2+1 = 3
烤羊肉 序号3+1 = 4
卤豆腐 序号4+1 = 5
3)将卤豆腐的序号变为1
卤豆腐 序号1(取代)
牛肉粉 序号1+1 = 2
鸡蛋饭 序号2+1 = 3
烤羊肉 序号3+1 = 4
② 将 卤豆腐 放在第2位
1)第一步:获取鸡蛋饭(欲取代的位置)的序号为2,并获取卤豆腐的GOODS_ID
2)将鸡蛋饭及其之后的产品的序号+1
牛肉粉 序号1=1
鸡蛋饭 序号2+1=3
烤羊肉 序号3+1=4
卤豆腐 序号4+1=5
3)将卤豆腐的序号变为2
牛肉粉 序号1=1
卤豆腐 序号2(取代)
鸡蛋饭 序号2+1=3
烤羊肉 序号3+1=4
③ 需要考虑菜品本身已经是第一位的问题
在排序前,将拖动的菜品的序号与最小的序号做比对,如果是一致的,就提示当前菜品已经置顶。