|
@@ -2,6 +2,7 @@ package com.huiju.estateagents.service.impl;
|
2
|
2
|
|
3
|
3
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
4
|
4
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
5
|
+import com.huiju.estateagents.common.CommConstant;
|
5
|
6
|
import com.huiju.estateagents.entity.*;
|
6
|
7
|
import com.huiju.estateagents.mapper.*;
|
7
|
8
|
import com.huiju.estateagents.service.ITaRoleService;
|
|
@@ -10,6 +11,7 @@ import org.springframework.stereotype.Service;
|
10
|
11
|
|
11
|
12
|
import java.util.ArrayList;
|
12
|
13
|
import java.util.List;
|
|
14
|
+import java.util.stream.Collectors;
|
13
|
15
|
|
14
|
16
|
/**
|
15
|
17
|
* <p>
|
|
@@ -36,6 +38,12 @@ public class TaRoleServiceImpl extends ServiceImpl<TaRoleMapper, TaRole> impleme
|
36
|
38
|
@Autowired
|
37
|
39
|
TaRoleButtonMapper taRoleButtonMapper;
|
38
|
40
|
|
|
41
|
+ @Autowired
|
|
42
|
+ private TaAdvancedControllerMapper taAdvancedControllerMapper;
|
|
43
|
+
|
|
44
|
+ @Autowired
|
|
45
|
+ private SysAdvancedConfigRelationMapper sysAdvancedConfigRelationMapper;
|
|
46
|
+
|
39
|
47
|
@Override
|
40
|
48
|
public List<TaRole> getRolesByUser(Integer userId) {
|
41
|
49
|
return taRoleMapper.getRolesByUser(userId);
|
|
@@ -48,12 +56,26 @@ public class TaRoleServiceImpl extends ServiceImpl<TaRoleMapper, TaRole> impleme
|
48
|
56
|
QueryWrapper<TaRoleMenu> taRoleMenuQuery= new QueryWrapper<>();
|
49
|
57
|
taRoleMenuQuery.eq("role_id",id);
|
50
|
58
|
List<TaRoleMenu> taRoleMenusList = taRoleMenuMapper.selectList(taRoleMenuQuery);
|
|
59
|
+
|
|
60
|
+ //添加高级配置的过滤条件
|
|
61
|
+ List<TaAdvancedController> taAdvancedControllerList = taAdvancedControllerMapper.selectList(new QueryWrapper<TaAdvancedController>().eq("org_id", orgId));
|
|
62
|
+
|
|
63
|
+ //需要过滤的菜单
|
|
64
|
+ QueryWrapper<SysAdvancedConfigRelation> sysAdvancedConfigRelationQueryWrapper = new QueryWrapper<>();
|
|
65
|
+ sysAdvancedConfigRelationQueryWrapper.eq("target_type", CommConstant.ADVANCED_TYPE_MENU);
|
|
66
|
+ sysAdvancedConfigRelationQueryWrapper.notIn(taAdvancedControllerList.size() > 0,"advanced_config_id",taAdvancedControllerList.stream().map(TaAdvancedController::getAdvancedConfigId).collect(Collectors.toList()));
|
|
67
|
+ List<SysAdvancedConfigRelation> sysAdvancedConfigRelations = sysAdvancedConfigRelationMapper.selectList(sysAdvancedConfigRelationQueryWrapper);
|
|
68
|
+
|
51
|
69
|
// 同过menu_id查询当前菜单
|
52
|
70
|
List<SysMenu> sysMenuList = new ArrayList<>();
|
53
|
71
|
for (TaRoleMenu taRoleMenu :taRoleMenusList){
|
54
|
72
|
SysMenu sysMenu = sysMenuMapper.selectById(taRoleMenu.getMenuId());
|
55
|
73
|
sysMenuList.add(sysMenu);
|
56
|
|
-
|
|
74
|
+ for (SysAdvancedConfigRelation sysAdvancedConfigRelation : sysAdvancedConfigRelations){
|
|
75
|
+ if (taRoleMenu.getMenuId().equals(Integer.valueOf(sysAdvancedConfigRelation.getTargetId()))){
|
|
76
|
+ sysMenuList.remove(sysMenu);
|
|
77
|
+ }
|
|
78
|
+ }
|
57
|
79
|
}
|
58
|
80
|
// 查询按钮
|
59
|
81
|
QueryWrapper<TaRoleButton> taRoleButtonQuery= new QueryWrapper<>();
|