From 2ab5f166d0fad4b1a860fde3bab1adb46d062c3f Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 23 七月 2025 21:18:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java
index c07767e..92d0d8e 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java
+++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java
@@ -3,6 +3,7 @@
 import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.google.code.kaptcha.Constants;
 import com.stylefeng.guns.core.base.controller.BaseController;
 import com.stylefeng.guns.core.common.exception.InvalidKaptchaException;
@@ -16,8 +17,11 @@
 import com.stylefeng.guns.core.util.KaptchaUtil;
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.system.dao.UserMapper;
+import com.stylefeng.guns.modular.system.model.Menu;
+import com.stylefeng.guns.modular.system.model.Relation;
 import com.stylefeng.guns.modular.system.model.User;
 import com.stylefeng.guns.modular.system.service.IMenuService;
+import com.stylefeng.guns.modular.system.service.IRelationService;
 import com.stylefeng.guns.modular.system.service.IUserService;
 import com.stylefeng.guns.modular.system.util.HttpRequestUtil;
 import com.stylefeng.guns.modular.system.util.PushURL;
@@ -42,6 +46,7 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
@@ -77,6 +82,9 @@
 	
 	private Map<String, Integer> loginFailures = new HashMap<>();
 	
+	@Autowired
+	private IRelationService relationService;
+	
 	
 	/**
 	 * 跳转到主页
@@ -88,7 +96,7 @@
 		String onconParam = edu.yale.its.tp.cas.client.Util.getOnconParam(session);
 		onconParam = new String(Base64.decodeBase64(onconParam), "UTF-8");
 		LoginUser loginUser = JSON.parseObject(onconParam, LoginUser.class);
-		log.info("登录账号: " + JSON.toJSONString(loginUser));
+		log.debug("登录账号: " + JSON.toJSONString(loginUser));
 		
 		//获取菜单列表
 		User user = userMapper.getByAccount(loginUser.getImUser());
@@ -101,11 +109,13 @@
 		if (roleList == null || roleList.size() == 0) {
 			roleList.add(0);
 		}
-		
+		List<Relation> relations = relationService.selectList(new EntityWrapper<Relation>().in("roleid", roleList));
+		Set<Long> collect = relations.stream().map(Relation::getMenuid).collect(Collectors.toSet());
+		List<Menu> menuList = menuService.selectBatchIds(collect);
 		List<MenuNode> menus = menuService.getMenusByRoleIds(roleList);
 		List<MenuNode> titles = MenuNode.buildTitle(menus);
 		titles = ApiMenuFilter.build(titles);
-		shiroUser.setMenuIds(titles.stream().map(MenuNode::getUrl).collect(Collectors.toList()));
+		shiroUser.setMenuIds(menuList.stream().map(Menu::getUrl).collect(Collectors.toList()));
 		
 		
 		model.addAttribute("titles", titles);

--
Gitblit v1.7.1