From 0a8d28436b2f7229ecdf40c6b003902002c8947f Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 16 十月 2025 17:37:08 +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..d52d184 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;
-
-
+ @Autowired
+ 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