提交代码

master
胡锐 2 months ago
parent e287e8c152
commit f0bf0dbdd0
  1. 51
      bweb/src/main/java/com/bweb/controller/SecMenuController.java
  2. 4
      schedule/src/main/java/com/hfkj/schedule/JdGoodsSchedule.java

@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@ -168,10 +169,39 @@ public class SecMenuController {
try {
// 查询角色菜单权限
List<SecRoleMenuRel> roleMenuList = secRoleMenuRelService.getRelListByRole(roleId);
Map<Long, SecMenu> roleMenu = secMenuService.queryRoleMenu(roleId, SecMenuTypeEnum.type1).stream()
.collect(Collectors.toMap(SecMenu::getId, Function.identity()));
return ResponseMsgUtil.success(roleMenuList.stream().map(SecRoleMenuRel::getMenuId).collect(Collectors.toList())
.stream().map(Object::toString).collect(Collectors.toList()));
// 系统菜单叶节点
List<String> menuLeafList = new ArrayList<>();
// 角色菜单叶节点
List<String> roleLeafList = new ArrayList<>();
// 获取全部菜单
List<SecMenu> menuList = secMenuService.getAllList();
// 获取最顶层菜单
List<SecMenu> topLevelMenuList = menuList.stream()
.filter(o -> o.getMenuPSid() == null)
.sorted(Comparator.comparing(SecMenu::getMenuSort))
.collect(Collectors.toList());
// 递归获取系统菜单叶子节点
for (SecMenu topLevelMenu : topLevelMenuList) {
if (topLevelMenu.getMenuType().equals(SecMenuTypeEnum.type1.getCode())) {
recursionMenu(menuList, topLevelMenu.getId(), menuLeafList);
}
}
// 筛选角色菜单叶节点
for (String leaf : menuLeafList) {
SecMenu menu = roleMenu.get(Long.parseLong(leaf));
if (menu != null) {
roleLeafList.add(""+menu.getId());
}
}
return ResponseMsgUtil.success(roleLeafList);
} catch (Exception e) {
log.error("error!",e);
@ -216,7 +246,7 @@ public class SecMenuController {
map.put("key", ""+topLevelMenu.getId());
map.put("title", topLevelMenu.getMenuName());
// 获取下级菜单
map.put("children", recursionMenu(menuList, topLevelMenu.getId()));
map.put("children", recursionMenu(menuList, topLevelMenu.getId(), new ArrayList<>()));
mapList.add(map);
}
}
@ -235,7 +265,13 @@ public class SecMenuController {
* @param parentMenuId 父级菜单id
* @return
*/
public List<Map<String,Object>> recursionMenu(List<SecMenu> dataSource, Long parentMenuId) {
/**
* 递归获取菜单
* @param dataSource 数据源
* @param parentMenuId 父级菜单id
* @return
*/
public List<Map<String,Object>> recursionMenu(List<SecMenu> dataSource, Long parentMenuId, List<String> leaf) {
List<Map<String,Object>> mapList = new ArrayList<>();
Map<String,Object> map;
@ -245,12 +281,13 @@ public class SecMenuController {
.collect(Collectors.toList());
for (SecMenu menu : collect) {
if (menu.getMenuType().equals(SecMenuTypeEnum.type1.getCode())) {
map = new HashMap<>();
map = new LinkedHashMap<>();
map.put("key", ""+menu.getId());
map.put("title", menu.getMenuName());
// 获取下级菜单
List<Map<String, Object>> recursioned = recursionMenu(dataSource, menu.getId());
List<Map<String, Object>> recursioned = recursionMenu(dataSource, menu.getId(), leaf);
if (recursioned.isEmpty()) {
leaf.add(""+menu.getId());
map.put("isLeaf", true);
} else {
map.put("children", recursioned);

@ -37,7 +37,7 @@ public class JdGoodsSchedule {
@Resource
private JdService jdService;
/*
//每10分钟执行一次
@Scheduled(cron = "0 0/10 * * * ?")
public void etcCarMsg() {
@ -48,6 +48,6 @@ public class JdGoodsSchedule {
} catch (Exception e) {
log.error("HighUserController --> findByUserId() error!", e);
}
}
}*/
}

Loading…
Cancel
Save