标签排序修改
This commit is contained in:
+1
-1
@@ -34,7 +34,7 @@
|
||||
</otherwise>
|
||||
</choose>
|
||||
</if>
|
||||
order by create_time desc
|
||||
order by sort_order
|
||||
</select>
|
||||
|
||||
<select id="getFieldInfo" resultType="java.lang.String">
|
||||
|
||||
+1
-1
@@ -166,6 +166,6 @@
|
||||
</choose>
|
||||
</if>
|
||||
|
||||
order by d.order_num desc
|
||||
order by d.order_num
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+35
-33
@@ -370,47 +370,49 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
|
||||
if(inputOrderNum != null) {
|
||||
//查询展示顺序相同的
|
||||
QueryWrapper<SysCategory> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("sys_dict_id",sysCategory.getSysDictId())
|
||||
queryWrapper.eq("sys_dict_id", sysCategory.getSysDictId())
|
||||
.eq("del_flag", CommonConstant.DEL_FLAG_0)
|
||||
.orderByAsc("sort_order");
|
||||
if(StringUtils.isNotBlank(sysCategory.getPid())){
|
||||
queryWrapper.eq("pid",sysCategory.getPid());
|
||||
}else{
|
||||
queryWrapper.eq("pid",0);
|
||||
if (StringUtils.isNotBlank(sysCategory.getPid())) {
|
||||
queryWrapper.eq("pid", sysCategory.getPid());
|
||||
} else {
|
||||
queryWrapper.eq("pid", 0);
|
||||
}
|
||||
Integer orderNumData = list(queryWrapper).stream().filter(e -> e.getId().equals(sysCategory.getId()))
|
||||
.map(e -> e.getSortOrder()).collect(Collectors.toList()).get(0);
|
||||
queryWrapper.eq("sort_order", inputOrderNum);
|
||||
Integer orderNumCount = sysCategoryMapper.selectCount(queryWrapper);
|
||||
if (orderNumCount > 0 && !orderNumData.equals(inputOrderNum)) {//有重复展示顺序的,后面的号全+1
|
||||
//设置排序
|
||||
QueryWrapper<SysCategory> orderNumQueryWrapper = new QueryWrapper<>();
|
||||
orderNumQueryWrapper.ge("sort_order", inputOrderNum)
|
||||
.eq("sys_dict_id",sysCategory.getSysDictId())
|
||||
.eq("del_flag", CommonConstant.DEL_FLAG_0)
|
||||
.orderByAsc("sort_order");
|
||||
if(StringUtils.isNotBlank(sysCategory.getPid())){
|
||||
orderNumQueryWrapper.eq("pid",sysCategory.getPid());
|
||||
}else{
|
||||
orderNumQueryWrapper.eq("pid",0);
|
||||
}
|
||||
List<SysCategory> geOrderNumList = list(orderNumQueryWrapper);
|
||||
if (list(queryWrapper).size() > 0) {
|
||||
Integer orderNumData = list(queryWrapper).stream().filter(e -> e.getId().equals(sysCategory.getId()))
|
||||
.map(e -> e.getSortOrder()).collect(Collectors.toList()).get(0);
|
||||
queryWrapper.eq("sort_order", inputOrderNum);
|
||||
Integer orderNumCount = sysCategoryMapper.selectCount(queryWrapper);
|
||||
if (orderNumCount > 0 && !orderNumData.equals(inputOrderNum)) {//有重复展示顺序的,后面的号全+1
|
||||
//设置排序
|
||||
QueryWrapper<SysCategory> orderNumQueryWrapper = new QueryWrapper<>();
|
||||
orderNumQueryWrapper.ge("sort_order", inputOrderNum)
|
||||
.eq("sys_dict_id", sysCategory.getSysDictId())
|
||||
.eq("del_flag", CommonConstant.DEL_FLAG_0)
|
||||
.orderByAsc("sort_order");
|
||||
if (StringUtils.isNotBlank(sysCategory.getPid())) {
|
||||
orderNumQueryWrapper.eq("pid", sysCategory.getPid());
|
||||
} else {
|
||||
orderNumQueryWrapper.eq("pid", 0);
|
||||
}
|
||||
List<SysCategory> geOrderNumList = list(orderNumQueryWrapper);
|
||||
|
||||
//判断相邻的序号,去掉不邻的
|
||||
for (int i = 0; i < geOrderNumList.size(); i++) {
|
||||
if (geOrderNumList.size() == 1 || (geOrderNumList.size()==2 && geOrderNumList.get(i + 1).getSortOrder() - geOrderNumList.get(i).getSortOrder() == 1)) {
|
||||
break;
|
||||
} else if (geOrderNumList.get(i + 1).getSortOrder() - geOrderNumList.get(i).getSortOrder() > 1) {
|
||||
int deleteStart = geOrderNumList.get(i + 1).getSortOrder();
|
||||
geOrderNumList = geOrderNumList.stream().filter(e -> e.getSortOrder() < deleteStart).collect(Collectors.toList());
|
||||
if(geOrderNumList.size()!=(i+1)) {
|
||||
//判断相邻的序号,去掉不邻的
|
||||
for (int i = 0; i < geOrderNumList.size(); i++) {
|
||||
if (geOrderNumList.size() == 1 || (geOrderNumList.size() == 2 && geOrderNumList.get(i + 1).getSortOrder() - geOrderNumList.get(i).getSortOrder() == 1)) {
|
||||
break;
|
||||
} else if (geOrderNumList.get(i + 1).getSortOrder() - geOrderNumList.get(i).getSortOrder() > 1) {
|
||||
int deleteStart = geOrderNumList.get(i + 1).getSortOrder();
|
||||
geOrderNumList = geOrderNumList.stream().filter(e -> e.getSortOrder() < deleteStart).collect(Collectors.toList());
|
||||
if (geOrderNumList.size() != (i + 1)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
geOrderNumList.stream().forEach(e -> e.setSortOrder(e.getSortOrder() + 1));
|
||||
saveOrUpdateBatch(geOrderNumList);
|
||||
geOrderNumList.stream().forEach(e -> e.setSortOrder(e.getSortOrder() + 1));
|
||||
saveOrUpdateBatch(geOrderNumList);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+29
-27
@@ -65,7 +65,7 @@ public class SysDictItemServiceImpl extends ServiceImpl<SysDictItemMapper, SysDi
|
||||
queryWrapper.eq("del_flag", CommonConstant.DEL_FLAG_0)
|
||||
.eq("dict_id",sysDictItem.getDictId())
|
||||
.eq("is_tag_dict",sysDictItem.getIsTagDict())
|
||||
.orderByDesc("sort_order");
|
||||
.orderByAsc("sort_order");
|
||||
queryWrapper.eq("sort_order", inputOrderNum);
|
||||
Integer orderNumCount = sysDictItemMapper.selectCount(queryWrapper);
|
||||
if (orderNumCount > 0) {//有重复展示顺序的,后面的号全+1
|
||||
@@ -102,36 +102,38 @@ public class SysDictItemServiceImpl extends ServiceImpl<SysDictItemMapper, SysDi
|
||||
//查询展示顺序相同的
|
||||
QueryWrapper<SysDictItem> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("del_flag", CommonConstant.DEL_FLAG_0)
|
||||
.eq("dict_id",sysDictItem.getDictId())
|
||||
.eq("is_tag_dict",sysDictItem.getIsTagDict())
|
||||
.eq("dict_id", sysDictItem.getDictId())
|
||||
.eq("is_tag_dict", sysDictItem.getIsTagDict())
|
||||
.orderByAsc("sort_order");
|
||||
Integer orderNumData = list(queryWrapper).stream().filter(e -> e.getId().equals(sysDictItem.getId()))
|
||||
.map(e -> e.getSortOrder()).collect(Collectors.toList()).get(0);
|
||||
queryWrapper.eq("sort_order", inputOrderNum);
|
||||
Integer orderNumCount = sysDictItemMapper.selectCount(queryWrapper);
|
||||
if (orderNumCount > 0 && !orderNumData.equals(inputOrderNum)) {//有重复展示顺序的,后面的号全+1
|
||||
//设置排序
|
||||
QueryWrapper<SysDictItem> orderNumQueryWrapper = new QueryWrapper<>();
|
||||
orderNumQueryWrapper.ge("sort_order", inputOrderNum)
|
||||
.eq("dict_id",sysDictItem.getDictId())
|
||||
.eq("del_flag", CommonConstant.DEL_FLAG_0)
|
||||
.eq("is_tag_dict",sysDictItem.getIsTagDict())
|
||||
.orderByAsc("sort_order");
|
||||
List<SysDictItem> geOrderNumList = list(orderNumQueryWrapper);
|
||||
if (list(queryWrapper).size() > 0) {
|
||||
Integer orderNumData = list(queryWrapper).stream().filter(e -> e.getId().equals(sysDictItem.getId()))
|
||||
.map(e -> e.getSortOrder()).collect(Collectors.toList()).get(0);
|
||||
queryWrapper.eq("sort_order", inputOrderNum);
|
||||
Integer orderNumCount = sysDictItemMapper.selectCount(queryWrapper);
|
||||
if (orderNumCount > 0 && !orderNumData.equals(inputOrderNum)) {//有重复展示顺序的,后面的号全+1
|
||||
//设置排序
|
||||
QueryWrapper<SysDictItem> orderNumQueryWrapper = new QueryWrapper<>();
|
||||
orderNumQueryWrapper.ge("sort_order", inputOrderNum)
|
||||
.eq("dict_id", sysDictItem.getDictId())
|
||||
.eq("del_flag", CommonConstant.DEL_FLAG_0)
|
||||
.eq("is_tag_dict", sysDictItem.getIsTagDict())
|
||||
.orderByAsc("sort_order");
|
||||
List<SysDictItem> geOrderNumList = list(orderNumQueryWrapper);
|
||||
|
||||
//判断相邻的序号,去掉不邻的
|
||||
for (int i = 0; i < geOrderNumList.size(); i++) {
|
||||
if (geOrderNumList.size() == 1) {
|
||||
break;
|
||||
} else if (geOrderNumList.get(i + 1).getSortOrder() - geOrderNumList.get(i).getSortOrder() > 1) {
|
||||
int deleteStart = geOrderNumList.get(i + 1).getSortOrder();
|
||||
geOrderNumList = geOrderNumList.stream().filter(e -> e.getSortOrder() < deleteStart).collect(Collectors.toList());
|
||||
break;
|
||||
//判断相邻的序号,去掉不邻的
|
||||
for (int i = 0; i < geOrderNumList.size(); i++) {
|
||||
if (geOrderNumList.size() == 1) {
|
||||
break;
|
||||
} else if (geOrderNumList.get(i + 1).getSortOrder() - geOrderNumList.get(i).getSortOrder() > 1) {
|
||||
int deleteStart = geOrderNumList.get(i + 1).getSortOrder();
|
||||
geOrderNumList = geOrderNumList.stream().filter(e -> e.getSortOrder() < deleteStart).collect(Collectors.toList());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
geOrderNumList.stream().forEach(e -> e.setSortOrder(e.getSortOrder() + 1));
|
||||
saveOrUpdateBatch(geOrderNumList);
|
||||
geOrderNumList.stream().forEach(e -> e.setSortOrder(e.getSortOrder() + 1));
|
||||
saveOrUpdateBatch(geOrderNumList);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user