傅行帆 5 anni fa
parent
commit
a974be4beb

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

@@ -2,13 +2,11 @@ package com.huiju.estateagents.center.taUser.controller;
2 2
 
3 3
 import com.alibaba.fastjson.JSONArray;
4 4
 import com.alibaba.fastjson.JSONObject;
5
-import com.google.gson.JsonArray;
6 5
 import com.huiju.estateagents.base.BaseController;
7 6
 import com.huiju.estateagents.base.ResponseBean;
8 7
 import com.huiju.estateagents.center.taUser.service.ITaUserAuthMenuService;
9 8
 import com.huiju.estateagents.entity.SysButtonInMenu;
10 9
 import com.huiju.estateagents.entity.SysMenu;
11
-import com.huiju.estateagents.entity.TaRole;
12 10
 import org.springframework.beans.factory.annotation.Autowired;
13 11
 import org.springframework.web.bind.annotation.*;
14 12
 
@@ -39,7 +37,7 @@ public class TaUserAuthMenuController extends BaseController {
39 37
                                          @RequestParam("pageSize")Integer pageSize,
40 38
                                          HttpServletRequest request){
41 39
         Integer userId = getUserId(request);
42
-        return iTaUserAuthMenuService.getMenuByUserId(pageNum,pageSize,userId.toString());
40
+        return iTaUserAuthMenuService.getMenuByUserId(pageNum,pageSize,userId.toString(), getOrgId(request));
43 41
     }
44 42
 
45 43
     /**
@@ -50,8 +48,8 @@ public class TaUserAuthMenuController extends BaseController {
50 48
      */
51 49
     @RequestMapping(value="/admin/menuList",method= RequestMethod.GET)
52 50
     public ResponseBean getMenuByRole(@RequestParam("pageNum")Integer pageNum,
53
-                                      @RequestParam("pageSize")Integer pageSize){
54
-        return iTaUserAuthMenuService.getAllMenu(pageNum, pageSize);
51
+                                      @RequestParam("pageSize")Integer pageSize, HttpServletRequest request){
52
+        return iTaUserAuthMenuService.getAllMenu(pageNum, pageSize, getOrgId(request));
55 53
     }
56 54
 
57 55
     /**

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

@@ -291,7 +291,7 @@ public class TaUserController extends BaseController {
291 291
         try {
292 292
             TaUser taUser = iTaUserService.getById(map.get("userId").toString());
293 293
             List<TaRole> roles = iTaRoleService.getRolesByUser(taUser.getUserId());
294
-            ResponseBean authMenu = iTaUserAuthMenuService.getMenuByUserId(null, null, taUser.getUserId().toString());
294
+            ResponseBean authMenu = iTaUserAuthMenuService.getMenuByUserId(null, null, taUser.getUserId().toString(),taUser.getOrgId());
295 295
             ResponseBean authButton = iTaUserAuthButtonService.getButtonByUserId(null, null, taUser.getUserId().toString());
296 296
             taUser.setMenus((List<SysMenu>) authMenu.getData());
297 297
             taUser.setButtons((List<SysButtonInMenu>) authButton.getData());
@@ -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).getData();
302
+            List<SysMenu> allMenus = (List<SysMenu>) iTaUserAuthMenuService.getAllMenu(null, null,taUser.getOrgId()).getData();
303 303
             List<SysButtonInMenu> allButtons = (List<SysButtonInMenu>) iTaUserAuthButtonService.getAllButton(null, null).getData();
304 304
 
305 305
             userMap.put("taUser", taUser);

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

@@ -15,9 +15,9 @@ import java.util.List;
15 15
  */
16 16
 public interface ITaUserAuthMenuService extends IService<SysMenu> {
17 17
 
18
-    ResponseBean getMenuByUserId(Integer pageNum, Integer pageSize, String userId);
18
+    ResponseBean getMenuByUserId(Integer pageNum, Integer pageSize, String userId, Integer orgId);
19 19
 
20
-    ResponseBean getAllMenu(Integer pageNum, Integer pageSize);
20
+    ResponseBean getAllMenu(Integer pageNum, Integer pageSize, Integer orgId);
21 21
 
22 22
     ResponseBean updateUserAuthMenu(Integer userId, List<SysMenu> sysMenuList,String name,Integer orgid,List<SysButtonInMenu> sysButtonInMenuList);
23 23
 }

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

@@ -1,25 +1,21 @@
1 1
 package com.huiju.estateagents.center.taUser.service.impl;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
-import com.baomidou.mybatisplus.core.metadata.IPage;
5
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7 5
 import com.huiju.estateagents.base.ResponseBean;
8
-import com.huiju.estateagents.center.taUser.entity.TaUser;
9 6
 import com.huiju.estateagents.center.taUser.mapper.TaUserAuthMenuMapper;
10 7
 import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
11 8
 import com.huiju.estateagents.center.taUser.service.ITaUserAuthMenuService;
9
+import com.huiju.estateagents.common.CommConstant;
12 10
 import com.huiju.estateagents.entity.*;
13
-import com.huiju.estateagents.mapper.TaRoleButtonMapper;
14
-import com.huiju.estateagents.mapper.TaRoleMapper;
15
-import com.huiju.estateagents.mapper.TaRoleMenuMapper;
11
+import com.huiju.estateagents.mapper.*;
16 12
 import org.springframework.beans.factory.annotation.Autowired;
17 13
 import org.springframework.stereotype.Service;
18 14
 
19 15
 import java.time.LocalDateTime;
20 16
 import java.util.ArrayList;
21
-import java.util.Arrays;
22 17
 import java.util.List;
18
+import java.util.stream.Collectors;
23 19
 
24 20
 /**
25 21
  * @author weicc
@@ -44,24 +40,63 @@ public class TaUserAuthMenuServiceImpl extends ServiceImpl<TaUserAuthMenuMapper,
44 40
     @Autowired
45 41
     private TaRoleButtonMapper taRoleButtonMapper;
46 42
 
43
+    @Autowired
44
+    private TaAdvancedControllerMapper taAdvancedControllerMapper;
45
+
46
+    @Autowired
47
+    private SysAdvancedConfigRelationMapper sysAdvancedConfigRelationMapper;
48
+
47 49
     /**
48 50
      * 根据用户id获取授权菜单
49 51
      * @param pageNum
50 52
      * @param pageSize
51 53
      * @param userId
54
+     * @param orgId
52 55
      * @return
53 56
      */
54 57
     @Override
55
-    public ResponseBean getMenuByUserId(Integer pageNum, Integer pageSize, String userId) {
56
-
57
-        List<SysMenu> records = taUserAuthMenuMapper.sysMenuListByUserId(userId);
58
+    public ResponseBean getMenuByUserId(Integer pageNum, Integer pageSize, String userId, Integer orgId) {
59
+        List<SysMenu> records = new ArrayList<>();
60
+        List<SysMenu> menuList = taUserAuthMenuMapper.sysMenuListByUserId(userId);
61
+        records.addAll(menuList);
62
+        //添加高级配置的过滤条件
63
+        List<TaAdvancedController> taAdvancedControllerList = taAdvancedControllerMapper.selectList(new QueryWrapper<TaAdvancedController>().eq("org_id", orgId));
64
+
65
+        //需要过滤的菜单
66
+        QueryWrapper<SysAdvancedConfigRelation> sysAdvancedConfigRelationQueryWrapper = new QueryWrapper<>();
67
+        sysAdvancedConfigRelationQueryWrapper.eq("target_type",CommConstant.ADVANCED_TYPE_MENU);
68
+        sysAdvancedConfigRelationQueryWrapper.notIn(taAdvancedControllerList.size() > 0,"advanced_config_id",taAdvancedControllerList.stream().map(TaAdvancedController::getAdvancedConfigId).collect(Collectors.toList()));
69
+        List<SysAdvancedConfigRelation> sysAdvancedConfigRelations = sysAdvancedConfigRelationMapper.selectList(sysAdvancedConfigRelationQueryWrapper);
70
+        menuList.forEach(e -> {
71
+            sysAdvancedConfigRelations.forEach(s -> {
72
+                if (e.getMenuId() == Integer.valueOf(s.getTargetId())){
73
+                    records.remove(e);
74
+                }
75
+            });
76
+        });
58 77
         return ResponseBean.success(records);
59 78
     }
60 79
 
61 80
     @Override
62
-    public ResponseBean getAllMenu(Integer pageNum, Integer pageSize) {
63
-
64
-        List<SysMenu> records = taUserAuthMenuMapper.sysMenuListByRoleId();
81
+    public ResponseBean getAllMenu(Integer pageNum, Integer pageSize, Integer orgId) {
82
+        List<SysMenu> records = new ArrayList<>();
83
+        List<SysMenu> menuList = taUserAuthMenuMapper.sysMenuListByRoleId();
84
+        records.addAll(menuList);
85
+        //添加高级配置的过滤条件
86
+        List<TaAdvancedController> taAdvancedControllerList = taAdvancedControllerMapper.selectList(new QueryWrapper<TaAdvancedController>().eq("org_id", orgId));
87
+
88
+        //需要过滤的菜单
89
+        QueryWrapper<SysAdvancedConfigRelation> sysAdvancedConfigRelationQueryWrapper = new QueryWrapper<>();
90
+        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()));
92
+        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
+        });
65 100
 
66 101
         QueryWrapper<TaRoleMenu> queryWrapper = new QueryWrapper();
67 102
         List<TaRoleMenu> taRoleMenus = taRoleMenuMapper.selectList(queryWrapper);

+ 5
- 0
src/main/java/com/huiju/estateagents/common/CommConstant.java Vedi File

@@ -680,4 +680,9 @@ public class CommConstant {
680 680
      * 最大认筹金额
681 681
      */
682 682
     public static final Integer MAX_RAISE_PRICE = 5000;
683
+
684
+    /**
685
+     * 菜单
686
+     */
687
+    public static final Object ADVANCED_TYPE_MENU = "menu";
683 688
 }

+ 4
- 1
src/main/java/com/huiju/estateagents/entity/SysAdvancedConfigRelation.java Vedi File

@@ -39,5 +39,8 @@ public class SysAdvancedConfigRelation implements Serializable {
39 39
      */
40 40
     private String targetId;
41 41
 
42
-
42
+    /**
43
+     * 高级配置id
44
+     */
45
+    private Integer advancedConfigId;
43 46
 }