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