|
@@ -3,6 +3,7 @@ package com.boman.system.service.impl;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
import com.boman.common.core.web.domain.AjaxResult;
|
|
import com.boman.common.core.web.domain.AjaxResult;
|
|
import com.boman.common.redis.RedisKey;
|
|
import com.boman.common.redis.RedisKey;
|
|
import com.boman.common.redis.service.RedisService;
|
|
import com.boman.common.redis.service.RedisService;
|
|
@@ -511,14 +512,19 @@ public class SysMenuServiceImpl implements ISysMenuService {
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
- * 得到子节点列表
|
|
|
|
|
|
+ * 功能描述: 获取menu下所有的子节点
|
|
|
|
+ *
|
|
|
|
+ * @param allMenus 所有的
|
|
|
|
+ * @param menu 父节点
|
|
|
|
+ * @return java.util.List<com.boman.system.api.domain.SysMenu>
|
|
*/
|
|
*/
|
|
- private List<SysMenu> getChildList(List<SysMenu> list, SysMenu t) {
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public List<SysMenu> getChildList(List<SysMenu> allMenus, SysMenu menu) {
|
|
List<SysMenu> tlist = new ArrayList<SysMenu>();
|
|
List<SysMenu> tlist = new ArrayList<SysMenu>();
|
|
- Iterator<SysMenu> it = list.iterator();
|
|
|
|
|
|
+ Iterator<SysMenu> it = allMenus.iterator();
|
|
while (it.hasNext()) {
|
|
while (it.hasNext()) {
|
|
SysMenu n = (SysMenu) it.next();
|
|
SysMenu n = (SysMenu) it.next();
|
|
- if (n.getParentId().longValue() == t.getId().longValue()) {
|
|
|
|
|
|
+ if (n.getParentId().longValue() == menu.getId().longValue()) {
|
|
tlist.add(n);
|
|
tlist.add(n);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -544,14 +550,15 @@ public class SysMenuServiceImpl implements ISysMenuService {
|
|
}
|
|
}
|
|
|
|
|
|
Map<String, Object> result = Maps.newHashMapWithExpectedSize(2);
|
|
Map<String, Object> result = Maps.newHashMapWithExpectedSize(2);
|
|
- result.put("heads", RoleEnum.all());
|
|
|
|
|
|
+ List<Map<String, String>> all = RoleEnum.all();
|
|
|
|
+ result.put("heads", all);
|
|
if (isEmpty(tempList)) {
|
|
if (isEmpty(tempList)) {
|
|
result.put("sysMenus", tempList);
|
|
result.put("sysMenus", tempList);
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
for (SysMenu sysMenu : tempList) {
|
|
for (SysMenu sysMenu : tempList) {
|
|
- List<Object> containsHead = Lists.newArrayList("0", "0", "0", "0", "0", "0", "0", "0");
|
|
|
|
|
|
+ List<JSONObject> containsHead = RoleEnum.initData();
|
|
List<SysMenu> childList = getChildList(menus, sysMenu);
|
|
List<SysMenu> childList = getChildList(menus, sysMenu);
|
|
for (SysMenu childMenu : childList) {
|
|
for (SysMenu childMenu : childList) {
|
|
String btn = RoleMenuDto.getBtnFromPerms(childMenu.getPerms());
|
|
String btn = RoleMenuDto.getBtnFromPerms(childMenu.getPerms());
|
|
@@ -571,31 +578,34 @@ public class SysMenuServiceImpl implements ISysMenuService {
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
- private void switchBtn(List<Object> containsHead, String btn, Object value) {
|
|
|
|
|
|
+ private void switchBtn(List<JSONObject> containsHead, String btn, Object value) {
|
|
|
|
+ JSONObject jsonObject = new JSONObject(2);
|
|
|
|
+ jsonObject.put("name", btn);
|
|
|
|
+ jsonObject.put("type", value);
|
|
switch (btn) {
|
|
switch (btn) {
|
|
case GlobalBtn.A:
|
|
case GlobalBtn.A:
|
|
- containsHead.set(0, value);
|
|
|
|
|
|
+ containsHead.set(0, jsonObject);
|
|
break;
|
|
break;
|
|
case GlobalBtn.M:
|
|
case GlobalBtn.M:
|
|
- containsHead.set(1, value);
|
|
|
|
|
|
+ containsHead.set(1, jsonObject);
|
|
break;
|
|
break;
|
|
case GlobalBtn.D:
|
|
case GlobalBtn.D:
|
|
- containsHead.set(2, value);
|
|
|
|
|
|
+ containsHead.set(2, jsonObject);
|
|
break;
|
|
break;
|
|
case GlobalBtn.Q:
|
|
case GlobalBtn.Q:
|
|
- containsHead.set(3, value);
|
|
|
|
|
|
+ containsHead.set(3, jsonObject);
|
|
break;
|
|
break;
|
|
case GlobalBtn.S:
|
|
case GlobalBtn.S:
|
|
- containsHead.set(4, value);
|
|
|
|
|
|
+ containsHead.set(4, jsonObject);
|
|
break;
|
|
break;
|
|
case GlobalBtn.U:
|
|
case GlobalBtn.U:
|
|
- containsHead.set(5, value);
|
|
|
|
|
|
+ containsHead.set(5, jsonObject);
|
|
break;
|
|
break;
|
|
case GlobalBtn.I:
|
|
case GlobalBtn.I:
|
|
- containsHead.set(6, value);
|
|
|
|
|
|
+ containsHead.set(6, jsonObject);
|
|
break;
|
|
break;
|
|
case GlobalBtn.E:
|
|
case GlobalBtn.E:
|
|
- containsHead.set(7, value);
|
|
|
|
|
|
+ containsHead.set(7, jsonObject);
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
break;
|
|
break;
|