|
@@ -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
|
|