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

@@ -7,6 +7,7 @@
<resultMap type="SysMenu" id="SysMenuResult">
<id property="menuId" column="menu_id"/>
<result property="menuName" column="menu_name"/>
<result property="menuKey" column="menu_key"/>
<result property="parentName" column="parent_name"/>
<result property="parentId" column="parent_id"/>
<result property="orderNum" column="order_num"/>
@@ -29,7 +30,7 @@
</resultMap>
<select id="selectMenuListByUserId" parameterType="SysMenu" resultMap="SysMenuResult">
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.query_param, m.visible, m.status,
select distinct m.menu_id, m.parent_id, m.menu_name, m.menu_key, m.path, m.component, m.query_param, m.visible, m.status,
m.perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.style, m.order_num, m.create_time
from sys_menu m
left join sys_role_menu rm on m.menu_id = rm.menu_id
@@ -42,6 +43,7 @@
select distinct m.menu_id,
m.parent_id,
m.menu_name,
m.menu_key,
m.path,
m.component,
m.query_param,