diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysCategoryMapper.xml b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysCategoryMapper.xml
index 8a1b15956..147a6b2b0 100644
--- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysCategoryMapper.xml
+++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysCategoryMapper.xml
@@ -34,7 +34,7 @@
- order by create_time desc
+ order by sort_order
diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysCategoryServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysCategoryServiceImpl.java
index aa7d80250..c30c1abb2 100644
--- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysCategoryServiceImpl.java
+++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysCategoryServiceImpl.java
@@ -370,47 +370,49 @@ public class SysCategoryServiceImpl extends ServiceImpl 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 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 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 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 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);
+ }
}
}
}
diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictItemServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictItemServiceImpl.java
index 85e6df8da..1f9d5269b 100644
--- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictItemServiceImpl.java
+++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictItemServiceImpl.java
@@ -65,7 +65,7 @@ public class SysDictItemServiceImpl extends ServiceImpl 0) {//有重复展示顺序的,后面的号全+1
@@ -102,36 +102,38 @@ public class SysDictItemServiceImpl extends ServiceImpl 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 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 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 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 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);
+ }
}
}
}