feat(menu): 添加菜单唯一标识功能

- 新增 menuKey 字段到 SysMenu 实体类
- 在菜单服务接口和服务实现中添加 checkMenuKeyUnique、selectMenuByMenuKey 和 generateMenuKeys 方法
- 在控制器中增加 getByKey 和 generateMenuKeys 接口用于通过唯一标识获取菜单和批量生成菜单标识
- 在数据库映射中添加对 menuKey 字段的支持
- 在新增和修改菜单时验证 menuKey 唯一性
- 实现自动生成菜单唯一标识的功能,支持基于路径或菜单名称生成
This commit is contained in:
2026-07-01 13:23:18 +08:00
parent ad1fa08561
commit 62f6362d61
6 changed files with 159 additions and 1 deletions

View File

@@ -79,4 +79,16 @@ public interface SysMenuMapper extends BaseMapperPlus<SysMenuMapper, SysMenu, Sy
*/
List<Long> selectMenuListByRoleId(@Param("roleId") Long roleId, @Param("menuCheckStrictly") boolean menuCheckStrictly);
/**
* 根据 menuKey 查询菜单
*
* @param menuKey 菜单唯一标识
* @return 菜单信息
*/
default SysMenu selectMenuByMenuKey(String menuKey) {
LambdaQueryWrapper<SysMenu> lqw = new LambdaQueryWrapper<SysMenu>()
.eq(SysMenu::getMenuKey, menuKey);
return this.selectOne(lqw);
}
}