| /** | 
|  * Copyright (c) 2018 人人开源 All rights reserved. | 
|  * | 
|  * https://www.renren.io | 
|  * | 
|  * 版权所有,侵权必究! | 
|  */ | 
|   | 
| package com.zt.modules.sys.controller; | 
|   | 
| import com.zt.common.annotation.LogOperation; | 
| import com.zt.common.constant.Constant; | 
| import com.zt.common.servlet.Result; | 
| import com.zt.common.validator.AssertUtils; | 
| import com.zt.common.validator.ValidatorUtils; | 
| import com.zt.common.validator.group.DefaultGroup; | 
| import com.zt.core.context.User; | 
| import com.zt.core.context.UserContext; | 
| import com.zt.modules.sys.model.SysMenu; | 
| import com.zt.modules.sys.model.SysRole; | 
| import com.zt.modules.sys.model.SysRoleMenu; | 
| import com.zt.modules.sys.service.SysMenuService; | 
| import com.zt.modules.sys.service.SysRoleMenuService; | 
| import com.zt.modules.sys.service.SysRoleService; | 
| import com.zt.security.service.ShiroService; | 
| import io.swagger.annotations.Api; | 
| import io.swagger.annotations.ApiOperation; | 
| import org.apache.shiro.authz.annotation.RequiresPermissions; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.web.bind.annotation.*; | 
|   | 
| import java.util.List; | 
|   | 
| /** | 
|  * 菜单管理 | 
|  * | 
|  * @author hehz | 
|  */ | 
| @RestController | 
| @RequestMapping("/sys/menu") | 
| @Api(tags = "菜单管理") | 
| public class SysMenuController { | 
|     @Autowired | 
|     private SysMenuService sysMenuService; | 
|     @Autowired | 
|     private ShiroService shiroService; | 
|   | 
|     @GetMapping("nav") | 
|     @ApiOperation("导航") | 
|     public Result<List<SysMenu>> nav() { | 
|         List<SysMenu> list = sysMenuService.getCurrentUserMenuNav(); | 
|         return Result.ok(list); | 
|     } | 
|   | 
|     @GetMapping("getSystems") | 
|     @ApiOperation("所有系统") | 
|     public Result<List<SysMenu>> getSystems(Integer type) { | 
|         List<SysMenu> list = sysMenuService.getSystems(type); | 
|         return Result.ok(list); | 
|     } | 
|   | 
|     @GetMapping("ofUser") | 
|     @ApiOperation("我的菜单和按钮") | 
|     public Result<List<SysMenu>> my() { | 
|         List<SysMenu> list = sysMenuService.getCurrentUserMenu(); | 
|   | 
|         return Result.ok(list); | 
|     } | 
|   | 
|     @GetMapping("tree") | 
|     @ApiOperation("所有列表树") | 
|     @RequiresPermissions("sys:menu:list") | 
|     public Result<List<SysMenu>> list() { | 
|         List<SysMenu> list = sysMenuService.getAllTree(); | 
|   | 
|         return Result.ok(list); | 
|     } | 
|   | 
|     @GetMapping("treeWithoutButtons") | 
|     @ApiOperation("所有列表树-不包含按钮") | 
|     @RequiresPermissions("sys:menu:list") | 
|     public Result<List<SysMenu>> | 
|     list2() { | 
|         List<SysMenu> list = sysMenuService.getAllTreeWithoutButtons(); | 
|   | 
|         return Result.ok(list); | 
|     } | 
|   | 
|     @GetMapping("systems") | 
|     @ApiOperation("所有系统") | 
|     @RequiresPermissions("sys:menu:list") | 
|     public Result<List<SysMenu>> listSystem() { | 
|         List<SysMenu> list = sysMenuService.getAllSystemTree(); | 
|         return Result.ok(list); | 
|     } | 
|   | 
|     @GetMapping("{id}") | 
|     @ApiOperation("信息") | 
|     //@RequiresPermissions("sys:menu:info") | 
|     public Result<SysMenu> get(@PathVariable("id") Long id) { | 
|         SysMenu data = sysMenuService.get(id); | 
|         return Result.ok(data); | 
|     } | 
|   | 
|     @PostMapping | 
|     @ApiOperation("新增") | 
|     @LogOperation("菜单管理模块--->新增") | 
|     //@RequiresPermissions(Constant.Permissions.SUPER_ADMIN) | 
|     public Result insert(@RequestBody SysMenu entity) { | 
|         // 效验数据 | 
|         ValidatorUtils.validateEntity(entity, DefaultGroup.class); | 
|   | 
|         sysMenuService.insert(entity); | 
|         return Result.ok(); | 
|     } | 
|   | 
|     @PutMapping | 
|     @ApiOperation("修改") | 
|     @LogOperation("菜单管理模块--->修改") | 
|     //@RequiresPermissions(Constant.Permissions.SUPER_ADMIN) | 
|     public Result update(@RequestBody SysMenu entity) { | 
|         // 效验数据 | 
|         ValidatorUtils.validateEntity(entity, DefaultGroup.class); | 
|   | 
|         sysMenuService.update(entity); | 
|   | 
|         return Result.ok(); | 
|     } | 
|   | 
|     @DeleteMapping | 
|     @ApiOperation("删除") | 
|     @LogOperation("菜单管理模块--->删除") | 
|     //@RequiresPermissions(Constant.Permissions.SUPER_ADMIN) | 
|     public Result delete(@RequestBody Long[] ids) { | 
|         // 效验数据 | 
|         AssertUtils.isArrayEmpty(ids, "ids"); | 
|   | 
|         for (Long id : ids) { | 
|             sysMenuService.delete(id); | 
|         } | 
|   | 
|         return Result.ok(); | 
|     } | 
|   | 
| } |