wu
2023-11-30 0ece3ba8c92df0438af52b8de6b9225d8ada4103
springboot-vue3/src/main/java/com/example/springboot/controller/MenuListController.java
New file
@@ -0,0 +1,72 @@
package com.example.springboot.controller;
import cn.hutool.core.collection.CollectionUtil;
import com.example.springboot.security.util.SecurityUtil;
import com.example.springboot.entity.MenuList;
import com.example.springboot.entity.vo.MenuListVo;
import com.example.springboot.entity.vo.Result;
import com.example.springboot.service.MenuListService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.authz.annotation.RequiresRoles;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@Slf4j
@Api(tags = "菜单")
@RequestMapping("/api/menuList")
public class MenuListController {
    @Autowired
    private MenuListService menuListService;
    @ApiOperation(value = "查询菜单列表")
    @GetMapping("/selectList")
    @RequiresPermissions({"menuList:select"})
    public Result selectList(MenuList menuList) {
        return Result.success(menuListService.selectList(SecurityUtil.getCurrentUser().getRoleId()));
    }
    @ApiOperation(value = "分页查询菜单")
    @GetMapping("/selectPage")
    @RequiresRoles({"admin"})
    @RequiresPermissions({"menuList:select"})
    public Result selectPage(MenuListVo MenuListVO) {
        return Result.success(menuListService.selectPage(MenuListVO));
    }
    @ApiOperation(value = "根据id删除菜单")
    @PostMapping("/removeById")
    @RequiresRoles({"admin"})
    @RequiresPermissions({"menuList:delete"})
    public Result removeById(@RequestBody MenuListVo MenuListVO) {
        menuListService.removeById(MenuListVO.getId());
        return Result.success();
    }
    @ApiOperation(value = "添加或者更新菜单")
    @PostMapping("/saveOrUpdate")
    @RequiresRoles({"admin"})
    @RequiresPermissions({"menuList:add", "menuList:update"})
    public Result saveOrUpdate(@RequestBody MenuList menuList) {
        List<MenuList> menuLists = menuListService.lambdaQuery()
                .eq(MenuList::getName, menuList.getName())
                .or()
                .eq(MenuList::getRouter, menuList.getRouter())
                .ne(menuList.getId() != null, MenuList::getId, menuList.getId())
                .list();
        if (CollectionUtil.isNotEmpty(menuLists)) {
            return Result.fail("菜单名称或者路由已存在");
        }
        menuListService.saveOrUpdate(menuList);
        return Result.success();
    }
}