傅行帆 5 years ago
parent
commit
cf75a1a8e5

+ 23
- 1
src/main/java/com/huiju/estateagents/service/impl/TaRoleServiceImpl.java View File

2
 
2
 
3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
+import com.huiju.estateagents.common.CommConstant;
5
 import com.huiju.estateagents.entity.*;
6
 import com.huiju.estateagents.entity.*;
6
 import com.huiju.estateagents.mapper.*;
7
 import com.huiju.estateagents.mapper.*;
7
 import com.huiju.estateagents.service.ITaRoleService;
8
 import com.huiju.estateagents.service.ITaRoleService;
10
 
11
 
11
 import java.util.ArrayList;
12
 import java.util.ArrayList;
12
 import java.util.List;
13
 import java.util.List;
14
+import java.util.stream.Collectors;
13
 
15
 
14
 /**
16
 /**
15
  * <p>
17
  * <p>
36
     @Autowired
38
     @Autowired
37
     TaRoleButtonMapper taRoleButtonMapper;
39
     TaRoleButtonMapper taRoleButtonMapper;
38
 
40
 
41
+    @Autowired
42
+    private TaAdvancedControllerMapper taAdvancedControllerMapper;
43
+
44
+    @Autowired
45
+    private SysAdvancedConfigRelationMapper sysAdvancedConfigRelationMapper;
46
+
39
     @Override
47
     @Override
40
     public List<TaRole> getRolesByUser(Integer userId) {
48
     public List<TaRole> getRolesByUser(Integer userId) {
41
         return taRoleMapper.getRolesByUser(userId);
49
         return taRoleMapper.getRolesByUser(userId);
48
         QueryWrapper<TaRoleMenu> taRoleMenuQuery= new QueryWrapper<>();
56
         QueryWrapper<TaRoleMenu> taRoleMenuQuery= new QueryWrapper<>();
49
         taRoleMenuQuery.eq("role_id",id);
57
         taRoleMenuQuery.eq("role_id",id);
50
        List<TaRoleMenu> taRoleMenusList = taRoleMenuMapper.selectList(taRoleMenuQuery);
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
        // 同过menu_id查询当前菜单
69
        // 同过menu_id查询当前菜单
52
          List<SysMenu> sysMenuList = new ArrayList<>();
70
          List<SysMenu> sysMenuList = new ArrayList<>();
53
         for (TaRoleMenu taRoleMenu :taRoleMenusList){
71
         for (TaRoleMenu taRoleMenu :taRoleMenusList){
54
             SysMenu sysMenu = sysMenuMapper.selectById(taRoleMenu.getMenuId());
72
             SysMenu sysMenu = sysMenuMapper.selectById(taRoleMenu.getMenuId());
55
             sysMenuList.add(sysMenu);
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
         QueryWrapper<TaRoleButton> taRoleButtonQuery= new QueryWrapper<>();
81
         QueryWrapper<TaRoleButton> taRoleButtonQuery= new QueryWrapper<>();