| | |
| | | import com.ruoyi.common.log.enums.BusinessType; |
| | | import com.ruoyi.common.satoken.utils.LoginHelper; |
| | | import com.ruoyi.common.web.core.BaseController; |
| | | import com.ruoyi.system.domain.SysMenu; |
| | | import com.ruoyi.system.domain.bo.SysMenuBo; |
| | | import com.ruoyi.system.domain.vo.MenuTreeSelectVo; |
| | | import com.ruoyi.system.domain.vo.RouterVo; |
| | | import com.ruoyi.system.domain.vo.SysMenuVo; |
| | | import com.ruoyi.system.service.ISysMenuService; |
| | | import lombok.RequiredArgsConstructor; |
| | |
| | | public class SysMenuController extends BaseController { |
| | | |
| | | private final ISysMenuService menuService; |
| | | |
| | | /** |
| | | * 获取路由信息 |
| | | * |
| | | * @return 路由信息 |
| | | */ |
| | | @GetMapping("/getRouters") |
| | | public R<List<RouterVo>> getRouters() { |
| | | List<SysMenu> menus = menuService.selectMenuTreeByUserId(LoginHelper.getUserId()); |
| | | return R.ok(menuService.buildMenus(menus)); |
| | | } |
| | | |
| | | /** |
| | | * 获取菜单列表 |
| | |
| | | @Log(title = "菜单管理", businessType = BusinessType.INSERT) |
| | | @PostMapping |
| | | public R<Void> add(@Validated @RequestBody SysMenuBo menu) { |
| | | if (UserConstants.NOT_UNIQUE.equals(menuService.checkMenuNameUnique(menu))) { |
| | | if (!menuService.checkMenuNameUnique(menu)) { |
| | | return R.fail("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在"); |
| | | } else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) { |
| | | return R.fail("新增菜单'" + menu.getMenuName() + "'失败,地址必须以http(s)://开头"); |
| | |
| | | @Log(title = "菜单管理", businessType = BusinessType.UPDATE) |
| | | @PutMapping |
| | | public R<Void> edit(@Validated @RequestBody SysMenuBo menu) { |
| | | if (UserConstants.NOT_UNIQUE.equals(menuService.checkMenuNameUnique(menu))) { |
| | | if (!menuService.checkMenuNameUnique(menu)) { |
| | | return R.fail("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在"); |
| | | } else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) { |
| | | return R.fail("修改菜单'" + menu.getMenuName() + "'失败,地址必须以http(s)://开头"); |