diff --git a/backend/src/main/java/io/dataease/auth/api/dto/DynamicMenuDto.java b/backend/src/main/java/io/dataease/auth/api/dto/DynamicMenuDto.java index 8c679ef8a0..f4875ea80c 100644 --- a/backend/src/main/java/io/dataease/auth/api/dto/DynamicMenuDto.java +++ b/backend/src/main/java/io/dataease/auth/api/dto/DynamicMenuDto.java @@ -29,6 +29,8 @@ public class DynamicMenuDto implements Serializable { private Integer type; + private Integer menuSort; + private Boolean isPlugin; private Boolean noLayout; diff --git a/backend/src/main/java/io/dataease/auth/service/impl/AuthUserServiceImpl.java b/backend/src/main/java/io/dataease/auth/service/impl/AuthUserServiceImpl.java index bf468686b7..ab34315d8f 100644 --- a/backend/src/main/java/io/dataease/auth/service/impl/AuthUserServiceImpl.java +++ b/backend/src/main/java/io/dataease/auth/service/impl/AuthUserServiceImpl.java @@ -8,6 +8,7 @@ import io.dataease.base.mapper.ext.AuthMapper; import io.dataease.auth.service.AuthUserService; import io.dataease.base.mapper.ext.ExtPluginSysMenuMapper; import io.dataease.commons.constants.AuthConstants; +import io.dataease.commons.utils.LogUtil; import io.dataease.plugins.common.dto.PluginSysMenu; import io.dataease.plugins.util.PluginUtils; import org.apache.commons.collections4.CollectionUtils; @@ -17,7 +18,6 @@ import org.springframework.cache.annotation.Cacheable; import org.springframework.cache.annotation.Caching; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; @@ -99,7 +99,7 @@ public class AuthUserServiceImpl implements AuthUserService { }) @Override public void clearCache(Long userId) { - + LogUtil.info("正在清除用户缓存【{}】",userId); } @Transactional diff --git a/backend/src/main/java/io/dataease/auth/service/impl/DynamicMenuServiceImpl.java b/backend/src/main/java/io/dataease/auth/service/impl/DynamicMenuServiceImpl.java index 9b336f06f8..fde40b65c2 100644 --- a/backend/src/main/java/io/dataease/auth/service/impl/DynamicMenuServiceImpl.java +++ b/backend/src/main/java/io/dataease/auth/service/impl/DynamicMenuServiceImpl.java @@ -14,6 +14,7 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; +import java.util.stream.Stream; @Service public class DynamicMenuServiceImpl implements DynamicMenuService { @@ -35,6 +36,12 @@ public class DynamicMenuServiceImpl implements DynamicMenuService { List pluginDtos = pluginSysMenus.stream().map(this::convert).collect(Collectors.toList()); dynamicMenuDtos.addAll(pluginDtos); } + dynamicMenuDtos = dynamicMenuDtos.stream().sorted((s1, s2) -> { + int sortIndex1 = null == s1.getMenuSort() ? 999: s1.getMenuSort(); + int sortIndex2 = null == s2.getMenuSort() ? 999: s2.getMenuSort(); + return sortIndex1 - sortIndex2; + }).collect(Collectors.toList()); + dynamicMenuDtos.sort((s1, s2) -> s1.getHidden().compareTo(s2.getHidden())); List result = buildTree(dynamicMenuDtos); return result; } @@ -53,6 +60,7 @@ public class DynamicMenuServiceImpl implements DynamicMenuService { menuMeta.setIcon(sysMenu.getIcon()); dynamicMenuDto.setMeta(menuMeta); dynamicMenuDto.setPermission(sysMenu.getPermission()); + dynamicMenuDto.setMenuSort(sysMenu.getMenuSort()); dynamicMenuDto.setHidden(sysMenu.getHidden()); dynamicMenuDto.setIsPlugin(false); return dynamicMenuDto; @@ -71,6 +79,7 @@ public class DynamicMenuServiceImpl implements DynamicMenuService { menuMeta.setIcon(sysMenu.getIcon()); dynamicMenuDto.setMeta(menuMeta); dynamicMenuDto.setPermission(sysMenu.getPermission()); + dynamicMenuDto.setMenuSort(sysMenu.getMenuSort()); dynamicMenuDto.setHidden(sysMenu.getHidden()); dynamicMenuDto.setIsPlugin(true); dynamicMenuDto.setNoLayout(!!sysMenu.isNoLayout());