From abd73edd5d08e26fba60ab47f53722502a87505a Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 08 一月 2026 17:21:50 +0800
Subject: [PATCH] 浪潮对接单点登录:租户数据隔离功能

---
 src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java |   23 +++++++++++++++++++----
 1 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java b/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java
index 0ebb886..08d97f8 100644
--- a/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java
+++ b/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java
@@ -42,12 +42,17 @@
      * @return 閮ㄩ棬淇℃伅闆嗗悎
      */
     @Override
-    @DataScope(deptAlias = "d")
+    @DataScope(tenantIdFelid = "d")
     public List<SysDept> selectDeptList(SysDept dept)
     {
         return deptMapper.selectDeptList(dept);
     }
-    
+
+    @Override
+    public SysDept selectDeptByDeptName(String deptName) {
+        return deptMapper.selectDeptByDeptName(deptName);
+    }
+
     /**
      * 鏌ヨ閮ㄩ棬鏍戠粨鏋勪俊鎭�
      * 
@@ -171,7 +176,7 @@
      * @return 缁撴灉
      */
     @Override
-    public String checkDeptNameUnique(SysDept dept)
+    public boolean checkDeptNameUnique(SysDept dept)
     {
         Long deptId = StringUtils.isNull(dept.getDeptId()) ? -1L : dept.getDeptId();
         SysDept info = deptMapper.checkDeptNameUnique(dept.getDeptName(), dept.getParentId());
@@ -190,7 +195,7 @@
     @Override
     public void checkDeptDataScope(Long deptId)
     {
-        if (!SysUser.isAdmin(SecurityUtils.getUserId()))
+        if (!SysUser.isAdmin(SecurityUtils.getUserId()) && StringUtils.isNotNull(deptId))
         {
             SysDept dept = new SysDept();
             dept.setDeptId(deptId);
@@ -294,6 +299,16 @@
     }
 
     /**
+     * 鏌ヨ椤跺眰閮ㄩ棬id
+     * @param deptId
+     * @return
+     */
+    @Override
+    public Long maxLevelDeptId(Long deptId) {
+        return deptMapper.maxLevelDeptId(deptId);
+    }
+
+    /**
      * 閫掑綊鍒楄〃
      */
     private void recursionFn(List<SysDept> list, SysDept t)

--
Gitblit v1.9.3