魏超 5 anni fa
parent
commit
1aa524b82d

+ 1
- 1
src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserAuthMenuController.java Vedi File

@@ -49,7 +49,7 @@ public class TaUserAuthMenuController extends BaseController {
49 49
     @RequestMapping(value="/admin/menuList",method= RequestMethod.GET)
50 50
     public ResponseBean getMenuByRole(@RequestParam("pageNum")Integer pageNum,
51 51
                                       @RequestParam("pageSize")Integer pageSize, HttpServletRequest request){
52
-        return iTaUserAuthMenuService.getAllMenu(pageNum, pageSize, getOrgId(request));
52
+        return iTaUserAuthMenuService.getAllMenu(pageNum, pageSize, getOrgId(request), null);
53 53
     }
54 54
 
55 55
     /**

+ 1
- 1
src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserController.java Vedi File

@@ -299,7 +299,7 @@ public class TaUserController extends BaseController {
299 299
             taUser.setLoginPassword("");
300 300
 
301 301
             //获取所有菜单
302
-            List<SysMenu> allMenus = (List<SysMenu>) iTaUserAuthMenuService.getAllMenu(null, null,taUser.getOrgId()).getData();
302
+            List<SysMenu> allMenus = (List<SysMenu>) iTaUserAuthMenuService.getAllMenu(null, null,taUser.getOrgId(), roles).getData();
303 303
             List<SysButtonInMenu> allButtons = (List<SysButtonInMenu>) iTaUserAuthButtonService.getAllButton(null, null).getData();
304 304
 
305 305
             userMap.put("taUser", taUser);

+ 2
- 1
src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserAuthMenuService.java Vedi File

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
4 4
 import com.huiju.estateagents.base.ResponseBean;
5 5
 import com.huiju.estateagents.entity.SysButtonInMenu;
6 6
 import com.huiju.estateagents.entity.SysMenu;
7
+import com.huiju.estateagents.entity.TaRole;
7 8
 
8 9
 import java.util.List;
9 10
 
@@ -17,7 +18,7 @@ public interface ITaUserAuthMenuService extends IService<SysMenu> {
17 18
 
18 19
     ResponseBean getMenuByUserId(Integer pageNum, Integer pageSize, String userId, Integer orgId);
19 20
 
20
-    ResponseBean getAllMenu(Integer pageNum, Integer pageSize, Integer orgId);
21
+    ResponseBean getAllMenu(Integer pageNum, Integer pageSize, Integer orgId, List<TaRole> roles);
21 22
 
22 23
     ResponseBean updateUserAuthMenu(Integer userId, List<SysMenu> sysMenuList,String name,Integer orgid,List<SysButtonInMenu> sysButtonInMenuList);
23 24
 }

+ 17
- 8
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserAuthMenuServiceImpl.java Vedi File

@@ -9,11 +9,14 @@ import com.huiju.estateagents.center.taUser.service.ITaUserAuthMenuService;
9 9
 import com.huiju.estateagents.common.CommConstant;
10 10
 import com.huiju.estateagents.entity.*;
11 11
 import com.huiju.estateagents.mapper.*;
12
+import org.apache.commons.collections.CollectionUtils;
12 13
 import org.springframework.beans.factory.annotation.Autowired;
13 14
 import org.springframework.stereotype.Service;
14 15
 
15 16
 import java.time.LocalDateTime;
16 17
 import java.util.ArrayList;
18
+import java.util.Collection;
19
+import java.util.Collections;
17 20
 import java.util.List;
18 21
 import java.util.stream.Collectors;
19 22
 
@@ -78,7 +81,7 @@ public class TaUserAuthMenuServiceImpl extends ServiceImpl<TaUserAuthMenuMapper,
78 81
     }
79 82
 
80 83
     @Override
81
-    public ResponseBean getAllMenu(Integer pageNum, Integer pageSize, Integer orgId) {
84
+    public ResponseBean getAllMenu(Integer pageNum, Integer pageSize, Integer orgId, List<TaRole> userRoles) {
82 85
         List<SysMenu> records = new ArrayList<>();
83 86
         List<SysMenu> menuList = taUserAuthMenuMapper.sysMenuListByRoleId();
84 87
         records.addAll(menuList);
@@ -90,13 +93,14 @@ public class TaUserAuthMenuServiceImpl extends ServiceImpl<TaUserAuthMenuMapper,
90 93
         sysAdvancedConfigRelationQueryWrapper.eq("target_type",CommConstant.ADVANCED_TYPE_MENU);
91 94
         sysAdvancedConfigRelationQueryWrapper.notIn(taAdvancedControllerList.size() > 0,"advanced_config_id",taAdvancedControllerList.stream().map(TaAdvancedController::getAdvancedConfigId).collect(Collectors.toList()));
92 95
         List<SysAdvancedConfigRelation> sysAdvancedConfigRelations = sysAdvancedConfigRelationMapper.selectList(sysAdvancedConfigRelationQueryWrapper);
93
-        menuList.forEach(e -> {
94
-            sysAdvancedConfigRelations.forEach(s -> {
95
-                if (e.getMenuId() == Integer.valueOf(s.getTargetId())){
96
-                    records.remove(e);
97
-                }
98
-            });
99
-        });
96
+
97
+        List<TaRoleMenu> configRelationRoleMenuList = new ArrayList<>();
98
+        if (CollectionUtils.isNotEmpty(userRoles) && CollectionUtils.isNotEmpty(sysAdvancedConfigRelations)){
99
+            QueryWrapper<TaRoleMenu> taRoleMenuQueryWrapper = new QueryWrapper<>();
100
+            taRoleMenuQueryWrapper.in("role_id", userRoles.stream().map(TaRole::getRoleId).collect(Collectors.toList()));
101
+            taRoleMenuQueryWrapper.in("menu_id", sysAdvancedConfigRelations.stream().map(SysAdvancedConfigRelation::getTargetId).collect(Collectors.toList()));
102
+            configRelationRoleMenuList = taRoleMenuMapper.selectList(taRoleMenuQueryWrapper);
103
+        }
100 104
 
101 105
         QueryWrapper<TaRoleMenu> queryWrapper = new QueryWrapper();
102 106
         List<TaRoleMenu> taRoleMenus = taRoleMenuMapper.selectList(queryWrapper);
@@ -108,6 +112,11 @@ public class TaUserAuthMenuServiceImpl extends ServiceImpl<TaUserAuthMenuMapper,
108 112
                     roles.add(taRoleMenu.getRoleId());
109 113
                 }
110 114
             }
115
+            for (TaRoleMenu taRoleMenu : configRelationRoleMenuList){
116
+                if (sysMenu.getMenuId().equals(taRoleMenu.getMenuId())){
117
+                    roles.remove(taRoleMenu.getRoleId());
118
+                }
119
+            }
111 120
             sysMenu.setRoles(roles);
112 121
         }
113 122