类 MenuController

java.lang.Object
net.sohelp.boot.admin.core.base.BaseController
net.sohelp.boot.dev.web.system.menu.MenuController

@RestController("dev-system-menu") @RequestMapping("/dev/system/menu") public class MenuController extends BaseController
菜单管理控制器 提供菜单相关的增删改查以及导出功能,支持权限控制与日志记录。
从以下版本开始:
2022-04-06
作者:
AaronFung
  • 构造器详细资料

    • MenuController

      public MenuController()
  • 方法详细资料

    • exportSQL

      @GetMapping("/exportSQL") @Permission("ADMIN") public void exportSQL(@RequestParam String appUuid) throws IOException
      导出菜单数据为SQL插入语句并提供下载

      根据给定的应用UUID查询对应的菜单数据,将其转换为INSERT SQL语句, 并通过临时文件进行下载。

      参数:
      appUuid - 应用唯一标识符,用于筛选特定应用下的菜单数据
      抛出:
      IOException - 文件操作异常时抛出
    • list

      @GetMapping("/list") @Permission("ADMIN") public ApiResult<List<Map<String,Object>>> list(@RequestParam Map<String,Object> paramMap) throws Exception
      获取菜单列表 支持根据标题、路径或权限模糊搜索菜单项,并按排序号升序排列。
      参数:
      paramMap - 请求参数映射表,可包含以下键: - title:菜单标题(模糊匹配) - path:菜单路径(模糊匹配) - authority:菜单权限码(模糊匹配) - app_uuid:所属应用ID,默认为0
      返回:
      返回封装了菜单列表的API结果对象
      抛出:
      Exception - 数据库访问或其他业务逻辑异常时抛出
    • add

      @PostMapping("/add") @Transactional(rollbackFor=java.lang.Exception.class) @OperationLog("\u6dfb\u52a0\u83dc\u5355") @Permission("ADMIN") public ApiResult<String> add(@RequestBody Map<String,Object> paramMap) throws Exception
      添加新菜单项 验证必要字段后,将菜单信息插入数据库中。
      参数:
      paramMap - 包含菜单属性的映射表,必须包含: - title:菜单标题(不能为空) - app_uuid:所属应用ID(不能为空)
      返回:
      成功则返回“添加成功”,否则返回错误提示信息
      抛出:
      Exception - 插入过程中的任何异常都会被抛出
    • delete

      @PostMapping("/delete") @Transactional(rollbackFor=java.lang.Exception.class) @OperationLog("\u5220\u9664\u83dc\u5355") @Permission("ADMIN") public ApiResult<String> delete(@RequestBody Map<String,Object> paramMap) throws Exception
      删除指定菜单及其所有子菜单和相关联的角色菜单关系 先获取目标菜单的所有后代节点,然后批量删除这些菜单及它们在角色菜单表中的引用。
      参数:
      paramMap - 请求参数,应包含要删除菜单的ID
      返回:
      成功返回“删除成功!”消息,失败返回具体原因
      抛出:
      Exception - 执行删除操作过程中可能发生的异常
    • update

      @PostMapping("/update") @Transactional(rollbackFor=java.lang.Exception.class) @Permission("DEVELOPER") @OperationLog("\u4fee\u6539\u83dc\u5355") public ApiResult<String> update(@RequestBody Map<String,Object> paramMap) throws Exception
      更新已有菜单的信息 根据提供的菜单ID更新其相关信息。
      参数:
      paramMap - 包含待更新菜单信息的映射表,需至少包含: - id:菜单主键(不能为空)
      返回:
      成功返回“更新成功!”,失败返回错误描述
      抛出:
      Exception - 更新过程中发生异常时抛出
    • getById

      @GetMapping("/getById") @Permission("ADMIN") public ApiResult<Map<String,Object>> getById(@RequestParam String id) throws Exception
      根据ID获取单个菜单详情
      参数:
      id - 菜单ID
      返回:
      封装了菜单详细信息的结果对象
      抛出:
      Exception - 查询数据库时可能出现的异常
    • save

      @PostMapping("/save") @Transactional(rollbackFor=java.lang.Exception.class) @Permission("DEVELOPER") public ApiResult<String> save(@RequestBody Map<String,Object> paramMap) throws Exception
      保存菜单信息(新增或更新) 若未提供ID则视为新增;若已存在ID,则执行更新操作。
      参数:
      paramMap - 包含菜单基本信息的映射表,如名称等
      返回:
      操作成功的确认信息
      抛出:
      Exception - 在保存过程中遇到的问题
    • getRoleMenu

      @GetMapping("/getRoleMenu") @Permission("ADMIN") public ApiResult<List<Map<String,Object>>> getRoleMenu(@RequestParam String roleId) throws Exception
      获取角色所拥有的菜单列表,并标记哪些已被选中
      参数:
      roleId - 角色ID
      返回:
      包含所有菜单及是否被当前角色分配状态的数据列表
      抛出:
      Exception - 查询数据库时可能引发的异常