From 0c82398dad95f536e22b5e1966f79aa29b2cf1c9 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 03 七月 2025 19:34:39 +0800
Subject: [PATCH] 修改bug

---
 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/MenuController.java |   63 ++++++++++++++++++++++++++++---
 1 files changed, 57 insertions(+), 6 deletions(-)

diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/MenuController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/MenuController.java
index b27147b..47e8c11 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/MenuController.java
+++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/MenuController.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.stylefeng.guns.core.base.controller.BaseController;
 import com.stylefeng.guns.core.base.tips.Tip;
+import com.stylefeng.guns.core.beetl.ShiroExtUtil;
 import com.stylefeng.guns.core.common.annotion.BussinessLog;
 import com.stylefeng.guns.core.common.constant.dictmap.MenuDict;
 import com.stylefeng.guns.core.common.constant.factory.ConstantFactory;
@@ -11,10 +12,15 @@
 import com.stylefeng.guns.core.exception.GunsException;
 import com.stylefeng.guns.core.log.LogObjectHolder;
 import com.stylefeng.guns.core.node.ZTreeNode;
+import com.stylefeng.guns.core.shiro.ShiroUser;
 import com.stylefeng.guns.core.support.BeanKit;
 import com.stylefeng.guns.core.util.ToolUtil;
+import com.stylefeng.guns.modular.system.dao.TCompanyMapper;
 import com.stylefeng.guns.modular.system.model.Menu;
+import com.stylefeng.guns.modular.system.model.Relation;
+import com.stylefeng.guns.modular.system.model.TCompany;
 import com.stylefeng.guns.modular.system.service.IMenuService;
+import com.stylefeng.guns.modular.system.service.IRelationService;
 import com.stylefeng.guns.modular.system.warpper.MenuWarpper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -25,9 +31,12 @@
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import javax.annotation.Resource;
 import javax.validation.Valid;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 菜单控制器
@@ -43,8 +52,17 @@
 
     @Autowired
     private IMenuService menuService;
-
-
+    @Resource
+    private ShiroExtUtil shiroExtUtil;
+    
+    @Resource
+    private TCompanyMapper companyMapper;
+    
+    @Resource
+    private IRelationService rerelationService;
+    
+    
+    
     /**
      * 跳转到菜单列表列表页面
      */
@@ -186,7 +204,18 @@
     @RequestMapping(value = "/menuTreeList")
     @ResponseBody
     public List<ZTreeNode> menuTreeList() {
-        List<ZTreeNode> roleTreeList = this.menuService.menuTreeList();
+        ShiroUser user1 = shiroExtUtil.getUser();
+        TCompany tCompany = companyMapper.selectById(user1.getObjectId());
+        List<Long> ids = new ArrayList<>();
+        if(1 != tCompany.getType()){
+            List<Relation> relations = rerelationService.selectList(new EntityWrapper<Relation>().eq("roleid", tCompany.getType()));
+            if(relations.size() == 0){
+                ids.add(0L);
+            }else{
+                ids = relations.stream().map(Relation::getMenuid).collect(Collectors.toList());
+            }
+        }
+        List<ZTreeNode> roleTreeList = this.menuService.menuTreeList(ids);
         return roleTreeList;
     }
 
@@ -196,7 +225,18 @@
     @RequestMapping(value = "/selectMenuTreeList")
     @ResponseBody
     public List<ZTreeNode> selectMenuTreeList() {
-        List<ZTreeNode> roleTreeList = this.menuService.menuTreeList();
+        ShiroUser user1 = shiroExtUtil.getUser();
+        TCompany tCompany = companyMapper.selectById(user1.getObjectId());
+        List<Long> ids = new ArrayList<>();
+        if(1 != tCompany.getType()){
+            List<Relation> relations = rerelationService.selectList(new EntityWrapper<Relation>().eq("roleid", tCompany.getType()));
+            if(relations.size() == 0){
+                ids.add(0L);
+            }else{
+                ids = relations.stream().map(Relation::getMenuid).collect(Collectors.toList());
+            }
+        }
+        List<ZTreeNode> roleTreeList = this.menuService.menuTreeList(ids);
         roleTreeList.add(ZTreeNode.createParent());
         return roleTreeList;
     }
@@ -208,11 +248,22 @@
     @ResponseBody
     public List<ZTreeNode> menuTreeListByRoleId(@PathVariable Integer roleId) {
         List<Long> menuIds = this.menuService.getMenuIdsByRoleId(roleId);
+        ShiroUser user1 = shiroExtUtil.getUser();
+        TCompany tCompany = companyMapper.selectById(user1.getObjectId());
+        List<Long> ids = new ArrayList<>();
+        if(1 != tCompany.getType()){
+            List<Relation> relations = rerelationService.selectList(new EntityWrapper<Relation>().eq("roleid", tCompany.getType()));
+            if(relations.size() == 0){
+                ids.add(0L);
+            }else{
+                ids = relations.stream().map(Relation::getMenuid).collect(Collectors.toList());
+            }
+        }
         if (ToolUtil.isEmpty(menuIds)) {
-            List<ZTreeNode> roleTreeList = this.menuService.menuTreeList();
+            List<ZTreeNode> roleTreeList = this.menuService.menuTreeList(ids);
             return roleTreeList;
         } else {
-            List<ZTreeNode> roleTreeListByUserId = this.menuService.menuTreeListByMenuIds(menuIds);
+            List<ZTreeNode> roleTreeListByUserId = this.menuService.menuTreeListByMenuIds(menuIds, ids);
             return roleTreeListByUserId;
         }
     }

--
Gitblit v1.7.1