123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- package com.usky.controller.sys;
- import com.usky.annotion.AutoLog;
- import com.usky.entity.sys.SysMenuDTO;
- import com.usky.entity.sys.vo.SysMenuVO;
- import com.usky.entity.sys.vo.SysUserVO;
- import com.usky.service.sys.menuService.MenuService;
- import com.usky.utils.AuthorizationUtils;
- import com.usky.utils.ListUtil;
- import com.usky.utils.Result;
- import com.usky.utils.ShiroUtils;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiImplicitParam;
- import io.swagger.annotations.ApiImplicitParams;
- import io.swagger.annotations.ApiOperation;
- import org.apache.shiro.authz.annotation.RequiresPermissions;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.*;
- import java.util.List;
- /**
- * @author laowo
- * @version v1.0
- * @date 2021/8/25 15:23
- * @description TODO
- **/
- @RestController
- @Api(tags = "系统-菜单")
- @RequestMapping("sys/menu")
- public class MenuController {
- private String prefix = "sys/menu";
- @ApiOperation(value = "菜单-页面鉴权")
- @RequiresPermissions("system:menu:view")
- @GetMapping()
- public String menu() {
- return prefix + "/menu";
- }
- @Autowired
- private MenuService menuService;
- @GetMapping("indexMenu")
- @ApiOperation(value = "首页菜单加载")
- public Result<List<SysMenuVO>> queryMenu() {
- SysUserVO sysUserVo = ShiroUtils.getSysUserVo();
- List<SysMenuVO> data = menuService.queryMenuList(sysUserVo);
- return Result.OK(data);
- }
- @ApiOperation(value = "菜单管理-列表")
- @RequiresPermissions("system:menu:list")
- @PostMapping("/list")
- @ResponseBody
- @ApiImplicitParams({
- @ApiImplicitParam(name = "menuName", value = "菜单名称", required = false, paramType = "query"),
- @ApiImplicitParam(name = "visible", value = "菜单状态(0显示 1隐藏)", required = false, paramType = "query"),
- })
- public Result<List<SysMenuVO>> list(@RequestParam(value = "menuName", required = false) String menuName,
- @RequestParam(value = "visible", required = false) String visible
- ) {
- Integer userId = ShiroUtils.getUserVOId();
- List<SysMenuVO> menuList = menuService.list(new SysMenuVO(), menuName, visible, userId);
- return Result.OK(menuList);
- }
- /**
- * 删除菜单
- */
- @AutoLog("菜单删除")
- @ApiOperation(value = "菜单管理-删除")
- @RequiresPermissions("system:menu:remove")
- @PostMapping("remove")
- @ResponseBody
- public Result<?> remove(@RequestParam("menuId") Integer menuId) {
- if (menuService.queryMenuById(menuId) > 0) {
- return Result.error("存在子菜单,不允许删除");
- }
- if (menuService.queryRoleMenuByMenuId(menuId) > 0) {
- return Result.error("菜单已分配,不允许删除");
- }
- AuthorizationUtils.clearAllCachedAuthorizationInfo();
- menuService.deleteMenuById(menuId);
- return Result.OK();
- }
- /**
- * 新增保存菜单
- */
- @AutoLog("新增菜单")
- @ApiOperation(value = "菜单管理-新增")
- @RequiresPermissions("system:menu:add")
- @PostMapping("/add")
- @ResponseBody
- public Result<?> addSave(@Validated SysMenuVO menu) {
- //查询同一父级菜单名称是否重复
- List<SysMenuDTO> sysMenuDTOS = menuService.queryMenuByName(menu.getMenuName(), menu.getParentId());
- if (ListUtil.isNotBlank(sysMenuDTOS)) {
- return Result.error("菜单名称重复!");
- }
- AuthorizationUtils.clearAllCachedAuthorizationInfo();
- menuService.add(menu);
- return Result.OK();
- }
- /**
- * 菜单修改
- */
- @AutoLog("菜单修改")
- @ApiOperation(value = "菜单管理-修改")
- @RequiresPermissions("system:menu:edit")
- @PostMapping("/edit")
- @ResponseBody
- public Result<?> editSave(@Validated SysMenuVO menu) {
- List<SysMenuDTO> sysMenuDTOS = menuService.queryMenuByName(menu.getMenuName(), menu.getParentId());
- if (ListUtil.isNotBlank(sysMenuDTOS)) {
- return Result.error("菜单名称重复!");
- }
- AuthorizationUtils.clearAllCachedAuthorizationInfo();
- menuService.updateMenu(menu);
- return Result.OK();
- }
- }
|