魏超 преди 5 години
родител
ревизия
1aa524b82d

+ 1
- 1
src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserAuthMenuController.java Целия файл

49
     @RequestMapping(value="/admin/menuList",method= RequestMethod.GET)
49
     @RequestMapping(value="/admin/menuList",method= RequestMethod.GET)
50
     public ResponseBean getMenuByRole(@RequestParam("pageNum")Integer pageNum,
50
     public ResponseBean getMenuByRole(@RequestParam("pageNum")Integer pageNum,
51
                                       @RequestParam("pageSize")Integer pageSize, HttpServletRequest request){
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 Целия файл

299
             taUser.setLoginPassword("");
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
             List<SysButtonInMenu> allButtons = (List<SysButtonInMenu>) iTaUserAuthButtonService.getAllButton(null, null).getData();
303
             List<SysButtonInMenu> allButtons = (List<SysButtonInMenu>) iTaUserAuthButtonService.getAllButton(null, null).getData();
304
 
304
 
305
             userMap.put("taUser", taUser);
305
             userMap.put("taUser", taUser);

+ 2
- 1
src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserAuthMenuService.java Целия файл

4
 import com.huiju.estateagents.base.ResponseBean;
4
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.entity.SysButtonInMenu;
5
 import com.huiju.estateagents.entity.SysButtonInMenu;
6
 import com.huiju.estateagents.entity.SysMenu;
6
 import com.huiju.estateagents.entity.SysMenu;
7
+import com.huiju.estateagents.entity.TaRole;
7
 
8
 
8
 import java.util.List;
9
 import java.util.List;
9
 
10
 
17
 
18
 
18
     ResponseBean getMenuByUserId(Integer pageNum, Integer pageSize, String userId, Integer orgId);
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
     ResponseBean updateUserAuthMenu(Integer userId, List<SysMenu> sysMenuList,String name,Integer orgid,List<SysButtonInMenu> sysButtonInMenuList);
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 Целия файл

9
 import com.huiju.estateagents.common.CommConstant;
9
 import com.huiju.estateagents.common.CommConstant;
10
 import com.huiju.estateagents.entity.*;
10
 import com.huiju.estateagents.entity.*;
11
 import com.huiju.estateagents.mapper.*;
11
 import com.huiju.estateagents.mapper.*;
12
+import org.apache.commons.collections.CollectionUtils;
12
 import org.springframework.beans.factory.annotation.Autowired;
13
 import org.springframework.beans.factory.annotation.Autowired;
13
 import org.springframework.stereotype.Service;
14
 import org.springframework.stereotype.Service;
14
 
15
 
15
 import java.time.LocalDateTime;
16
 import java.time.LocalDateTime;
16
 import java.util.ArrayList;
17
 import java.util.ArrayList;
18
+import java.util.Collection;
19
+import java.util.Collections;
17
 import java.util.List;
20
 import java.util.List;
18
 import java.util.stream.Collectors;
21
 import java.util.stream.Collectors;
19
 
22
 
78
     }
81
     }
79
 
82
 
80
     @Override
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
         List<SysMenu> records = new ArrayList<>();
85
         List<SysMenu> records = new ArrayList<>();
83
         List<SysMenu> menuList = taUserAuthMenuMapper.sysMenuListByRoleId();
86
         List<SysMenu> menuList = taUserAuthMenuMapper.sysMenuListByRoleId();
84
         records.addAll(menuList);
87
         records.addAll(menuList);
90
         sysAdvancedConfigRelationQueryWrapper.eq("target_type",CommConstant.ADVANCED_TYPE_MENU);
93
         sysAdvancedConfigRelationQueryWrapper.eq("target_type",CommConstant.ADVANCED_TYPE_MENU);
91
         sysAdvancedConfigRelationQueryWrapper.notIn(taAdvancedControllerList.size() > 0,"advanced_config_id",taAdvancedControllerList.stream().map(TaAdvancedController::getAdvancedConfigId).collect(Collectors.toList()));
94
         sysAdvancedConfigRelationQueryWrapper.notIn(taAdvancedControllerList.size() > 0,"advanced_config_id",taAdvancedControllerList.stream().map(TaAdvancedController::getAdvancedConfigId).collect(Collectors.toList()));
92
         List<SysAdvancedConfigRelation> sysAdvancedConfigRelations = sysAdvancedConfigRelationMapper.selectList(sysAdvancedConfigRelationQueryWrapper);
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
         QueryWrapper<TaRoleMenu> queryWrapper = new QueryWrapper();
105
         QueryWrapper<TaRoleMenu> queryWrapper = new QueryWrapper();
102
         List<TaRoleMenu> taRoleMenus = taRoleMenuMapper.selectList(queryWrapper);
106
         List<TaRoleMenu> taRoleMenus = taRoleMenuMapper.selectList(queryWrapper);
108
                     roles.add(taRoleMenu.getRoleId());
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
             sysMenu.setRoles(roles);
120
             sysMenu.setRoles(roles);
112
         }
121
         }
113
 
122