user menu
This commit is contained in:
parent
965d9dd0d1
commit
e1dc2e0494
@ -1,12 +1,15 @@
|
|||||||
package ink.wgink.login.base.controller.route;
|
package ink.wgink.login.base.controller.route;
|
||||||
|
|
||||||
import ink.wgink.common.component.SecurityComponent;
|
import ink.wgink.common.component.SecurityComponent;
|
||||||
|
import ink.wgink.interfaces.consts.ISystemConstant;
|
||||||
import ink.wgink.interfaces.menu.IMenuBaseService;
|
import ink.wgink.interfaces.menu.IMenuBaseService;
|
||||||
|
import ink.wgink.interfaces.role.IRoleMenuBaseService;
|
||||||
import ink.wgink.login.base.config.properties.SystemProperties;
|
import ink.wgink.login.base.config.properties.SystemProperties;
|
||||||
import ink.wgink.login.base.consts.IUserCenterConst;
|
import ink.wgink.login.base.consts.IUserCenterConst;
|
||||||
import ink.wgink.login.base.manager.ConfigManager;
|
import ink.wgink.login.base.manager.ConfigManager;
|
||||||
import ink.wgink.pojo.bos.UserInfoBO;
|
import ink.wgink.pojo.bos.UserInfoBO;
|
||||||
import ink.wgink.pojo.dtos.menu.MenuDTO;
|
import ink.wgink.pojo.dtos.menu.MenuDTO;
|
||||||
|
import ink.wgink.pojo.pos.RolePO;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
@ -14,6 +17,7 @@ import org.springframework.web.bind.annotation.GetMapping;
|
|||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
import org.springframework.web.servlet.view.RedirectView;
|
import org.springframework.web.servlet.view.RedirectView;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@ -37,6 +41,8 @@ public class IndexRouteController {
|
|||||||
private SystemProperties systemProperties;
|
private SystemProperties systemProperties;
|
||||||
@Autowired(required = false)
|
@Autowired(required = false)
|
||||||
private IMenuBaseService menuBaseService;
|
private IMenuBaseService menuBaseService;
|
||||||
|
@Autowired(required = false)
|
||||||
|
private IRoleMenuBaseService roleMenuBaseService;
|
||||||
|
|
||||||
@GetMapping("index")
|
@GetMapping("index")
|
||||||
public ModelAndView goIndex() {
|
public ModelAndView goIndex() {
|
||||||
@ -75,7 +81,29 @@ public class IndexRouteController {
|
|||||||
}
|
}
|
||||||
mv.addObject("ws", systemProperties.getWs());
|
mv.addObject("ws", systemProperties.getWs());
|
||||||
if (menuBaseService != null) {
|
if (menuBaseService != null) {
|
||||||
List<MenuDTO> menus = menuBaseService.listAllByParentId(IMenuBaseService.MENU_UNIFIED_USER);
|
List<MenuDTO> menus;
|
||||||
|
if (StringUtils.equalsIgnoreCase(ISystemConstant.ADMIN, userInfoBO.getUserUsername())) {
|
||||||
|
// 管理员
|
||||||
|
List<String> menuIds = roleMenuBaseService.listMenuId(ISystemConstant.ADMIN);
|
||||||
|
if (menuIds.isEmpty()) {
|
||||||
|
menus = menuBaseService.listAllByParentId(IMenuBaseService.MENU_UNIFIED_USER);
|
||||||
|
} else {
|
||||||
|
menus = menuBaseService.listAllByParentIdAndIds(IMenuBaseService.MENU_UNIFIED_USER, menuIds);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 普通用户
|
||||||
|
List<RolePO> rolePOs = securityComponent.getCurrentUser().getRoles();
|
||||||
|
if (!rolePOs.isEmpty()) {
|
||||||
|
menus = new ArrayList<>();
|
||||||
|
} else {
|
||||||
|
List<String> roleIds = new ArrayList<>();
|
||||||
|
for (RolePO rolePO : rolePOs) {
|
||||||
|
roleIds.add(rolePO.getRoleId());
|
||||||
|
}
|
||||||
|
List<String> menuIds = roleMenuBaseService.listMenuId(roleIds);
|
||||||
|
menus = menuBaseService.listAllByParentIdAndIds("0", menuIds);
|
||||||
|
}
|
||||||
|
}
|
||||||
mv.addObject("menus", menus);
|
mv.addObject("menus", menus);
|
||||||
}
|
}
|
||||||
return mv;
|
return mv;
|
||||||
|
Loading…
Reference in New Issue
Block a user