From 680a9877fe64c40aced1f4e04ea34056fac204fc Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: Thu, 19 Mar 2026 14:03:30 +0800
Subject: [PATCH] 支持多部门

---
 gkhy-framework/src/main/java/com/gkhy/framework/web/service/UserDetailsServiceImpl.java |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/gkhy-framework/src/main/java/com/gkhy/framework/web/service/UserDetailsServiceImpl.java b/gkhy-framework/src/main/java/com/gkhy/framework/web/service/UserDetailsServiceImpl.java
index 5d3928c..953af28 100644
--- a/gkhy-framework/src/main/java/com/gkhy/framework/web/service/UserDetailsServiceImpl.java
+++ b/gkhy-framework/src/main/java/com/gkhy/framework/web/service/UserDetailsServiceImpl.java
@@ -1,5 +1,7 @@
 package com.gkhy.framework.web.service;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.gkhy.common.core.domain.entity.SysDept;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,6 +16,8 @@
 import com.gkhy.common.utils.MessageUtils;
 import com.gkhy.common.utils.StringUtils;
 import com.gkhy.system.service.ISysUserService;
+
+import java.util.List;
 
 /**
  * 用户验证处理
@@ -55,12 +59,20 @@
         }
 
         passwordService.validate(user);
-
+        List<SysDept> depts = user.getDepts();
+        if (ObjectUtil.isNotEmpty(depts)){
+            user.setDeptIds(depts.stream().map(SysDept::getDeptId).toArray(Long[]::new));
+        }
         return createLoginUser(user);
     }
 
     public UserDetails createLoginUser(SysUser user)
     {
+        if (ObjectUtil.isNotEmpty(user.getDeptIds())){
+
+            return new LoginUser(user.getUserId(), user.getDeptId(), user, permissionService.getMenuPermission(user), user.getDeptIds());
+        }
+
         return new LoginUser(user.getUserId(), user.getDeptId(), user, permissionService.getMenuPermission(user));
     }
 }

--
Gitblit v1.9.2