|
@@ -321,36 +321,16 @@ public class RoleManagerServiceImpl implements RoleManagerService {
|
|
|
UserInfo user = userUtil.getUser();
|
|
|
//获取当前用户的角色
|
|
|
UserRole role = getRoleByCode(user.getRoleCode());
|
|
|
- //UserRole role = getRoleByCode("20000000051");
|
|
|
|
|
|
//1-查询菜单
|
|
|
List<UserResource> userResourceList = userResourceMapper.listLoginMenu(role.getRoleCode());
|
|
|
- //菜单转树形
|
|
|
- List<ListLoginUserResourceRes.MenuBean> menuBeanList = new ArrayList<>();
|
|
|
- //放一个map,用于快捷查找到list key为父resourceCode
|
|
|
- Map<String,List<ListLoginUserResourceRes.MenuBean>> resourceListMap = new HashMap<>();
|
|
|
- //如果父类code为null,那么父list就是顶层list
|
|
|
- resourceListMap.put(null,menuBeanList);
|
|
|
- //开始循环放入,因为查询语句排过序,所以查到的顺序,一定是先父后子
|
|
|
- for(UserResource resource:userResourceList){
|
|
|
- //先获取父类列表
|
|
|
- List<ListLoginUserResourceRes.MenuBean> parentList = resourceListMap.get(resource.getParentResourceCode());
|
|
|
- //然后放入自己
|
|
|
- ListLoginUserResourceRes.MenuBean menuBean = PojoConverterUtils.copy(resource, ListLoginUserResourceRes.MenuBean.class);
|
|
|
- parentList.add(menuBean);
|
|
|
- //如果resourceCode是3位,则需要创建子list
|
|
|
- if(menuBean.getResourceCode().length()==3){
|
|
|
- menuBean.setResourceBeanList(new ArrayList<>());
|
|
|
- resourceListMap.put(menuBean.getResourceCode(),menuBean.getResourceBeanList());
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
//2-查询按钮
|
|
|
List<UserResource> btnResourceList = userResourceMapper.listResourceTreeByRoleCode(role.getRoleCode(),2);
|
|
|
|
|
|
//构造出参
|
|
|
ListLoginUserResourceRes res = new ListLoginUserResourceRes();
|
|
|
- res.setMenuBeanList(menuBeanList);
|
|
|
+ res.setMenuBeanList(PojoConverterUtils.copyList(userResourceList,ListLoginUserResourceRes.MenuBean.class));
|
|
|
res.setBtnBeanList(PojoConverterUtils.copyList(btnResourceList,ListLoginUserResourceRes.BtnBean.class));
|
|
|
|
|
|
return res;
|