From c2e28b5d94914426ca2d4dd9c4002b23c7db1295 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期四, 16 十二月 2021 10:54:26 +0800
Subject: [PATCH] update 修改 基础方法返回空判断 优化返回值
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java | 30 +++++++++++++++++++++++-------
1 files changed, 23 insertions(+), 7 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
index 98236e9..a604a12 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
@@ -1,5 +1,6 @@
package com.ruoyi.system.service.impl;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.tree.Tree;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.constant.Constants;
@@ -114,7 +115,7 @@
* @return 閫変腑鑿滃崟鍒楄〃
*/
@Override
- public List<Integer> selectMenuListByRoleId(Long roleId) {
+ public List<Long> selectMenuListByRoleId(Long roleId) {
SysRole role = roleMapper.selectById(roleId);
return baseMapper.selectMenuListByRoleId(roleId, role.isMenuCheckStrictly());
}
@@ -157,7 +158,7 @@
router.setPath("/inner");
List<RouterVo> childrenList = new ArrayList<RouterVo>();
RouterVo children = new RouterVo();
- String routerPath = StringUtils.replaceEach(menu.getPath(), new String[]{Constants.HTTP, Constants.HTTPS}, new String[]{"", ""});
+ String routerPath = innerLinkReplaceEach(menu.getPath());
children.setPath(routerPath);
children.setComponent(UserConstants.INNER_LINK);
children.setName(StringUtils.capitalize(routerPath));
@@ -178,7 +179,11 @@
*/
@Override
public List<Tree<Long>> buildMenuTreeSelect(List<SysMenu> menus) {
- return TreeBuildUtils.build(menus, (menu, tree) ->
+ if (CollUtil.isEmpty(menus)) {
+ return CollUtil.newArrayList();
+ }
+ Long parentId = menus.get(0).getParentId();
+ return TreeBuildUtils.build(menus, parentId, (menu, tree) ->
tree.setId(menu.getMenuId())
.setParentId(menu.getParentId())
.setName(menu.getMenuName())
@@ -262,11 +267,11 @@
@Override
public String checkMenuNameUnique(SysMenu menu) {
Long menuId = StringUtils.isNull(menu.getMenuId()) ? -1L : menu.getMenuId();
- SysMenu info = getOne(new LambdaQueryWrapper<SysMenu>()
+ long count = count(new LambdaQueryWrapper<SysMenu>()
.eq(SysMenu::getMenuName, menu.getMenuName())
.eq(SysMenu::getParentId, menu.getParentId())
- .last("limit 1"));
- if (StringUtils.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue()) {
+ .ne(SysMenu::getMenuId, menuId));
+ if (count > 0) {
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
@@ -297,7 +302,7 @@
String routerPath = menu.getPath();
// 鍐呴摼鎵撳紑澶栫綉鏂瑰紡
if (menu.getParentId().intValue() != 0 && isInnerLink(menu)) {
- routerPath = StringUtils.replaceEach(routerPath, new String[]{Constants.HTTP, Constants.HTTPS}, new String[]{"", ""});
+ routerPath = innerLinkReplaceEach(routerPath);
}
// 闈炲閾惧苟涓旀槸涓�绾х洰褰曪紙绫诲瀷涓虹洰褰曪級
if (0 == menu.getParentId().intValue() && UserConstants.TYPE_DIR.equals(menu.getMenuType())
@@ -415,4 +420,15 @@
private boolean hasChild(List<SysMenu> list, SysMenu t) {
return getChildList(list, t).size() > 0;
}
+
+ /**
+ * 鍐呴摼鍩熷悕鐗规畩瀛楃鏇挎崲
+ *
+ * @return
+ */
+ public String innerLinkReplaceEach(String path)
+ {
+ return StringUtils.replaceEach(path, new String[] { Constants.HTTP, Constants.HTTPS },
+ new String[] { "", "" });
+ }
}
--
Gitblit v1.9.3