From 8fd573a07a51f508fcab5cddc36fed73947dd661 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 25 四月 2024 09:59:53 +0800
Subject: [PATCH] fixbug:权限功能实现用户重复登录异常
---
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java | 93 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 93 insertions(+), 0 deletions(-)
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java
index 8527a36..884b2ed 100644
--- a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java
@@ -1,11 +1,15 @@
package com.mes.menu.service.impl;
import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.menu.entity.SysMenu;
import com.mes.menu.mapper.SysMenuMapper;
import com.mes.menu.service.SysMenuService;
+import com.mes.userinfo.entity.SysUser;
+import com.mes.userinfo.service.SysUserService;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -23,10 +27,24 @@
@Slf4j
public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> implements SysMenuService {
+ @Autowired
+ SysUserService sysUserService;
+
@Override
public List<SysMenu> getMenuTree() {
+ //todo:闇�瑕佸厛鑾峰彇鐢ㄦ埛鐨勮鑹诧紝瑙掕壊涓嬬殑鑿滃崟鏉冮檺锛屾嬁鍒拌彍鍗昳d鑾峰彇鎵�鏈夎彍鍗�
List<SysMenu> menuList = this.baseMapper.selectList(null);
return create(menuList);
+ }
+
+ @Override
+ public List<String> getAuthorityInfo(String userName) {
+ log.info("鑾峰彇鐢ㄦ埛淇℃伅锛岀敤鎴峰悕涓簕}", userName);
+ SysUser sysUser = sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, userName));
+
+ // 鑾峰彇鏉冮檺淇℃伅
+ // ROLE_admin,ROLE_normal,sys:user:list,....
+ return sysUserService.getUserAuthorityInfo(sysUser.getId());
}
@@ -64,4 +82,79 @@
return res;
}
+//
+// @Autowired
+// SysUserMapper sysUserMapper;
+//
+// @Override
+// public List<SysMenuDto> getCurrentUserNav() {
+// String username = (String) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
+// SysUser sysUser = sysUserService.listByUserNameName(username);
+//
+// List<Long> menuIds = sysUserMapper.getNavMenuIds(sysUser.getId());
+// List<SysMenu> menus = this.listByIds(menuIds);
+//
+// // 杞爲鐘剁粨鏋�
+// List<SysMenu> menuTree = buildTreeMenu(menus);
+//
+// // 瀹炰綋杞珼TO
+// return convert(menuTree);
+// }
+//
+// @Override
+// public List<SysMenu> tree() {
+// // 鑾峰彇鎵�鏈夎彍鍗曚俊鎭�
+// List<SysMenu> sysMenus = this.list(new QueryWrapper<SysMenu>().orderByAsc("orderNum"));
+//
+// // 杞垚鏍戠姸缁撴瀯
+// return buildTreeMenu(sysMenus);
+// }
+//
+// private List<SysMenuDto> convert(List<SysMenu> menuTree) {
+// List<SysMenuDto> menuDtos = new ArrayList<>();
+//
+// menuTree.forEach(m -> {
+// SysMenuDto dto = new SysMenuDto();
+//
+// dto.setId(m.getId());
+// dto.setName(m.getPerms());
+// dto.setTitle(m.getName());
+// dto.setComponent(m.getComponent());
+// dto.setPath(m.getPath());
+//
+// if (m.getChildren().size() > 0) {
+//
+// // 瀛愯妭鐐硅皟鐢ㄥ綋鍓嶆柟娉曡繘琛屽啀娆¤浆鎹�
+// dto.setChildren(convert(m.getChildren()));
+// }
+//
+// menuDtos.add(dto);
+// });
+//
+// return menuDtos;
+// }
+//
+// private List<SysMenu> buildTreeMenu(List<SysMenu> menus) {
+//
+// List<SysMenu> finalMenus = new ArrayList<>();
+//
+// // 鍏堝悇鑷鎵惧埌鍚勮嚜鐨勫瀛�
+// for (SysMenu menu : menus) {
+//
+// for (SysMenu e : menus) {
+// if (menu.getId() == e.getParentId()) {
+// menu.getChildren().add(e);
+// }
+// }
+//
+// // 鎻愬彇鍑虹埗鑺傜偣
+// if (menu.getParentId() == 0L) {
+// finalMenus.add(menu);
+// }
+// }
+//
+// System.out.println(JSONUtil.toJsonStr(finalMenus));
+// return finalMenus;
+// }
+
}
--
Gitblit v1.8.0