From 0642bc9c44d1c8277ada33059c4a3e6156335b30 Mon Sep 17 00:00:00 2001
From: zzw <228544128@qq.com>
Date: 星期二, 06 十月 2026 14:48:37 +0800
Subject: [PATCH] feat: use role-only menu permissions

---
 emergency-repair-server/src/main/java/com/emergencyrepair/system/service/SystemService.java |   50 ++++++++++++--------------------------------------
 1 files changed, 12 insertions(+), 38 deletions(-)

diff --git a/emergency-repair-server/src/main/java/com/emergencyrepair/system/service/SystemService.java b/emergency-repair-server/src/main/java/com/emergencyrepair/system/service/SystemService.java
index 5c5b3e7..c2b4797 100644
--- a/emergency-repair-server/src/main/java/com/emergencyrepair/system/service/SystemService.java
+++ b/emergency-repair-server/src/main/java/com/emergencyrepair/system/service/SystemService.java
@@ -566,47 +566,32 @@
         baseEquipmentMapper.deleteById(id);
     }
 
-    public List<Map<String, Object>> tenants() {
-        return Collections.singletonList(row("id", 1L, "name", "涓存姠淇鎴�"));
-    }
-
-    public Map<String, Object> menuPermissions(Long roleId, Long tenantId) {
-        List<Long> roleMenuIds = roleMenuMapper.selectList(Wrappers.<SysRoleMenu>lambdaQuery()
-                        .eq(roleId != null, SysRoleMenu::getRoleId, roleId))
-                .stream().map(SysRoleMenu::getMenuId).collect(Collectors.toList());
-        List<Long> tenantMenuIds = tenantMenuMapper.selectList(Wrappers.<SysTenantMenu>lambdaQuery()
-                        .eq(tenantId != null, SysTenantMenu::getTenantId, tenantId))
-                .stream().map(SysTenantMenu::getMenuId).collect(Collectors.toList());
-        List<Long> effective = roleMenuIds.stream().filter(tenantMenuIds::contains).collect(Collectors.toList());
+    public Map<String, Object> menuPermissions(Long roleId) {
+        if (roleId == null) {
+            throw new BusinessException("璇烽�夋嫨瑙掕壊");
+        }
+        List<String> roleMenuIds = roleMenuMapper.selectList(Wrappers.<SysRoleMenu>lambdaQuery()
+                        .eq(SysRoleMenu::getRoleId, roleId))
+                .stream().map(SysRoleMenu::getMenuId).map(String::valueOf).collect(Collectors.toList());
         Map<String, Object> result = new LinkedHashMap<>();
         result.put("roleMenuIds", roleMenuIds);
-        result.put("tenantMenuIds", tenantMenuIds);
-        result.put("effectiveMenuIds", effective);
+        result.put("effectiveMenuIds", roleMenuIds);
         return result;
     }
 
     @Transactional
-    public void saveMenuPermissions(Long roleId, Long tenantId, List<Long> roleMenuIds, List<Long> tenantMenuIds) {
-        if (roleId == null || tenantId == null) {
-            throw new BusinessException("璇烽�夋嫨瑙掕壊鍜岀鎴�");
+    public void saveMenuPermissions(Long roleId, List<Long> roleMenuIds) {
+        if (roleId == null) {
+            throw new BusinessException("璇烽�夋嫨瑙掕壊");
         }
         roleMenuMapper.delete(Wrappers.<SysRoleMenu>lambdaQuery().eq(SysRoleMenu::getRoleId, roleId));
-        tenantMenuMapper.delete(Wrappers.<SysTenantMenu>lambdaQuery().eq(SysTenantMenu::getTenantId, tenantId));
         List<Long> effectiveRoleMenuIds = expandWithAncestors(roleMenuIds);
-        List<Long> effectiveTenantMenuIds = expandWithAncestors(tenantMenuIds);
         for (Long menuId : effectiveRoleMenuIds) {
             SysRoleMenu relation = new SysRoleMenu();
             relation.setRoleId(roleId);
             relation.setMenuId(menuId);
             relation.setCreateTime(LocalDateTime.now());
             roleMenuMapper.insert(relation);
-        }
-        for (Long menuId : effectiveTenantMenuIds) {
-            SysTenantMenu relation = new SysTenantMenu();
-            relation.setTenantId(tenantId);
-            relation.setMenuId(menuId);
-            relation.setCreateTime(LocalDateTime.now());
-            tenantMenuMapper.insert(relation);
         }
     }
 
@@ -888,18 +873,7 @@
         Set<Long> roleMenuIds = new LinkedHashSet<>(roleMenuMapper.selectList(Wrappers.<SysRoleMenu>lambdaQuery()
                         .in(SysRoleMenu::getRoleId, roleIds))
                 .stream().map(SysRoleMenu::getMenuId).collect(Collectors.toList()));
-        Set<Long> tenantMenuIds = new LinkedHashSet<>(tenantMenuMapper.selectList(Wrappers.<SysTenantMenu>lambdaQuery()
-                        .eq(SysTenantMenu::getTenantId, 1L))
-                .stream().map(SysTenantMenu::getMenuId).collect(Collectors.toList()));
-        if (tenantMenuIds.isEmpty()) {
-            result.addAll(roleMenuIds);
-        } else {
-            for (Long menuId : roleMenuIds) {
-                if (tenantMenuIds.contains(menuId)) {
-                    result.add(menuId);
-                }
-            }
-        }
+        result.addAll(roleMenuIds);
         return result;
     }
 

--
Gitblit v1.9.1