From dae064a91259cebfc003ea87f5b57729ba6f0918 Mon Sep 17 00:00:00 2001 From: 86158 <461356067@qq.com> Date: Mon, 9 Feb 2026 13:56:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=96=B0=E5=A2=9E=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E5=A4=9A=E8=AF=AD=E8=A8=80=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/vo/AuthPermissionInfoRespVO.java | 3 +++ .../permission/vo/menu/MenuListReqVO.java | 3 +++ .../admin/permission/vo/menu/MenuRespVO.java | 4 ++++ .../admin/permission/vo/menu/MenuSaveVO.java | 4 ++++ .../permission/vo/menu/MenuSimpleRespVO.java | 3 +++ .../system/convert/auth/AuthConvert.java | 18 ++++++++++++++++-- .../dal/dataobject/permission/MenuDO.java | 5 +++++ .../dal/mysql/permission/MenuMapper.java | 1 + 8 files changed, 39 insertions(+), 2 deletions(-) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.java index c26acb8ca..13f11f55d 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.java @@ -86,6 +86,9 @@ public class AuthPermissionInfoRespVO { @Schema(description = "是否总是显示", example = "false") private Boolean alwaysShow; + @Schema(description = "菜单英文名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao") + private String enName; + /** * 子路由 */ diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuListReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuListReqVO.java index b3b7f2d07..c424d6938 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuListReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuListReqVO.java @@ -13,4 +13,7 @@ public class MenuListReqVO { @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") private Integer status; + @Schema(description = "菜单英文名称,模糊匹配", example = "yudao") + private String enName; + } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuRespVO.java index 09871ecd3..b2f3a301c 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuRespVO.java @@ -69,4 +69,8 @@ public class MenuRespVO { @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") private LocalDateTime createTime; + @Schema(description = "菜单英文名称", example = "yudao") + @Size(max = 50, message = "菜单英文名称长度不能超过50个字符") + private String enName; + } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuSaveVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuSaveVO.java index e172793d3..3bb7781d5 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuSaveVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuSaveVO.java @@ -62,4 +62,8 @@ public class MenuSaveVO { @Schema(description = "是否总是显示", example = "false") private Boolean alwaysShow; + @Schema(description = "菜单英文名称", example = "yudao") + @Size(max = 50, message = "菜单英文名称长度不能超过50个字符") + private String enName; + } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuSimpleRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuSimpleRespVO.java index 20f110e86..59f77d560 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuSimpleRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuSimpleRespVO.java @@ -17,6 +17,9 @@ public class MenuSimpleRespVO { @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道") private String name; + @Schema(description = "英文菜单名称", example = "yudao") + private String enName; + @Schema(description = "父菜单 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") private Long parentId; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/auth/AuthConvert.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/auth/AuthConvert.java index 18463e7f6..3e98880e5 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/auth/AuthConvert.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/auth/AuthConvert.java @@ -39,7 +39,21 @@ public interface AuthConvert { .build(); } - AuthPermissionInfoRespVO.MenuVO convertTreeNode(MenuDO menu); + default AuthPermissionInfoRespVO.MenuVO convertTreeNode(MenuDO menu) { + return AuthPermissionInfoRespVO.MenuVO.builder() + .id(menu.getId()) + .parentId(menu.getParentId()) + .name(menu.getName()) + .path(menu.getPath()) + .component(menu.getComponent()) + .componentName(menu.getComponentName()) + .icon(menu.getIcon()) + .visible(menu.getVisible()) + .keepAlive(menu.getKeepAlive()) + .alwaysShow(menu.getAlwaysShow()) + .enName(menu.getEnName()) + .build(); + } /** * 将菜单列表,构建成菜单树 @@ -85,4 +99,4 @@ public interface AuthConvert { SmsCodeUseReqDTO convert(AuthSmsLoginReqVO reqVO, Integer scene, String usedIp); -} +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/permission/MenuDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/permission/MenuDO.java index 90d583329..5e4407f03 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/permission/MenuDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/permission/MenuDO.java @@ -103,5 +103,10 @@ public class MenuDO extends BaseDO { * 如果为 false 时,当该菜单只有一个子菜单时,不展示自己,直接展示子菜单 */ private Boolean alwaysShow; + /** + * 菜单英文名称 + */ + private String enName; + } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/MenuMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/MenuMapper.java index 8458faa67..7e5fb46dc 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/MenuMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/MenuMapper.java @@ -22,6 +22,7 @@ public interface MenuMapper extends BaseMapperX { default List selectList(MenuListReqVO reqVO) { return selectList(new LambdaQueryWrapperX() .likeIfPresent(MenuDO::getName, reqVO.getName()) + .likeIfPresent(MenuDO::getEnName, reqVO.getEnName()) .eqIfPresent(MenuDO::getStatus, reqVO.getStatus())); }