fix: 菜单排序

This commit is contained in:
fit2cloud-chenyw 2021-06-04 16:29:10 +08:00
parent f751485496
commit d2ac09d60e
3 changed files with 13 additions and 2 deletions

View File

@ -29,6 +29,8 @@ public class DynamicMenuDto implements Serializable {
private Integer type;
private Integer menuSort;
private Boolean isPlugin;
private Boolean noLayout;

View File

@ -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

View File

@ -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<DynamicMenuDto> 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<DynamicMenuDto> 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());