| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * 菜单控制器 |
| | |
| | | |
| | | @Autowired |
| | | private IMenuService menuService; |
| | | |
| | | |
| | | @Resource |
| | | private ShiroExtUtil shiroExtUtil; |
| | | |
| | | @Resource |
| | | private TCompanyMapper companyMapper; |
| | | |
| | | @Resource |
| | | private IRelationService rerelationService; |
| | | |
| | | |
| | | |
| | | /** |
| | | * 跳转到菜单列表列表页面 |
| | | */ |
| | |
| | | @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; |
| | | } |
| | | |
| | |
| | | @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; |
| | | } |
| | |
| | | @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; |
| | | } |
| | | } |