Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
R
RuoYi-Vue-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
融通安全管理系统
RuoYi-Vue-master
Commits
b0323b7d
Commit
b0323b7d
authored
Jul 05, 2023
by
yf
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改菜单接口
parent
c6343a47
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
375 additions
and
322 deletions
+375
-322
ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/SysMenuAppController.java
...va/com/ruoyi/web/controller/app/SysMenuAppController.java
+70
-0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java
.../src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java
+7
-0
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java
...c/main/java/com/ruoyi/system/service/ISysMenuService.java
+27
-20
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
...ava/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
+98
-150
ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
...system/src/main/resources/mapper/system/SysMenuMapper.xml
+173
-152
No files found.
ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/SysMenuAppController.java
0 → 100644
View file @
b0323b7d
package
com
.
ruoyi
.
web
.
controller
.
app
;
import
com.censoft.censoftrongtong.domain.*
;
import
com.censoft.censoftrongtong.domain.dto.*
;
import
com.censoft.censoftrongtong.enums.RiskPlanStatusType
;
import
com.censoft.censoftrongtong.service.*
;
import
com.ruoyi.common.config.RuoYiConfig
;
import
com.ruoyi.common.core.controller.BaseController
;
import
com.ruoyi.common.core.domain.AjaxResult
;
import
com.ruoyi.common.core.domain.R
;
import
com.ruoyi.common.core.domain.entity.SysDictData
;
import
com.ruoyi.common.core.domain.entity.SysMenu
;
import
com.ruoyi.common.core.domain.entity.SysUser
;
import
com.ruoyi.common.core.domain.model.LoginUser
;
import
com.ruoyi.system.service.ISysDictDataService
;
import
com.ruoyi.system.service.ISysMenuService
;
import
com.ruoyi.system.service.ISysUploadFileService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* 菜单app端接口
*
* @author censoft
* @date 2023-06-27
* @module 融通项目
*/
@RestController
@RequestMapping
(
"/app-api/menu"
)
public
class
SysMenuAppController
extends
BaseController
{
@Autowired
private
ISysMenuService
menuService
;
/**
* 菜单栏
*
* @param httpServletRequest
* @return
*/
@GetMapping
(
"/getMenu"
)
@ResponseBody
public
AjaxResult
menu
(
HttpServletRequest
httpServletRequest
)
{
SysMenu
menu
=
new
SysMenu
();
menu
.
setParentId
(
2055L
);
menu
.
getParams
().
put
(
"userId"
,
getUserId
());
Map
menus
=
new
HashMap
<>();
if
(
SysUser
.
isAdmin
(
getUserId
()))
{
menu
.
getParams
().
put
(
"isAdmin"
,
true
);
}
List
<
SysMenu
>
title
=
menuService
.
selectMenusApp
(
menu
);
for
(
int
i
=
0
;
i
<
title
.
size
();
i
++)
{
menu
.
setParentId
(
title
.
get
(
i
).
getMenuId
());
List
<
SysMenu
>
menus1
=
menuService
.
selectMenusApp
(
menu
);
menus
.
put
(
title
.
get
(
i
).
getMenuName
(),
menus1
);
}
return
AjaxResult
.
success
(
menus
);
}
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java
View file @
b0323b7d
...
@@ -19,6 +19,13 @@ public interface SysMenuMapper
...
@@ -19,6 +19,13 @@ public interface SysMenuMapper
*/
*/
public
List
<
SysMenu
>
selectMenuList
(
SysMenu
menu
);
public
List
<
SysMenu
>
selectMenuList
(
SysMenu
menu
);
/**
* 查询移动端菜单
* @param menu
* @return
*/
public
List
<
SysMenu
>
selectMenusApp
(
SysMenu
menu
);
/**
/**
* 根据用户所有权限
* 根据用户所有权限
*
*
...
...
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java
View file @
b0323b7d
...
@@ -2,6 +2,7 @@ package com.ruoyi.system.service;
...
@@ -2,6 +2,7 @@ package com.ruoyi.system.service;
import
java.util.List
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.Set
;
import
com.ruoyi.common.core.domain.TreeSelect
;
import
com.ruoyi.common.core.domain.TreeSelect
;
import
com.ruoyi.common.core.domain.entity.SysMenu
;
import
com.ruoyi.common.core.domain.entity.SysMenu
;
import
com.ruoyi.system.domain.vo.RouterVo
;
import
com.ruoyi.system.domain.vo.RouterVo
;
...
@@ -11,8 +12,7 @@ import com.ruoyi.system.domain.vo.RouterVo;
...
@@ -11,8 +12,7 @@ import com.ruoyi.system.domain.vo.RouterVo;
*
*
* @author ruoyi
* @author ruoyi
*/
*/
public
interface
ISysMenuService
public
interface
ISysMenuService
{
{
/**
/**
* 根据用户查询系统菜单列表
* 根据用户查询系统菜单列表
*
*
...
@@ -21,6 +21,13 @@ public interface ISysMenuService
...
@@ -21,6 +21,13 @@ public interface ISysMenuService
*/
*/
public
List
<
SysMenu
>
selectMenuList
(
Long
userId
);
public
List
<
SysMenu
>
selectMenuList
(
Long
userId
);
/**
* 根据用户查询移动端菜单列表
*
* @return 菜单列表
*/
public
List
<
SysMenu
>
selectMenusApp
(
SysMenu
menu
);
/**
/**
* 根据用户查询系统菜单列表
* 根据用户查询系统菜单列表
*
*
...
...
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
View file @
b0323b7d
...
@@ -8,6 +8,7 @@ import java.util.LinkedList;
...
@@ -8,6 +8,7 @@ import java.util.LinkedList;
import
java.util.List
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
com.ruoyi.common.constant.Constants
;
import
com.ruoyi.common.constant.Constants
;
...
@@ -31,8 +32,7 @@ import com.ruoyi.system.service.ISysMenuService;
...
@@ -31,8 +32,7 @@ import com.ruoyi.system.service.ISysMenuService;
* @author ruoyi
* @author ruoyi
*/
*/
@Service
@Service
public
class
SysMenuServiceImpl
implements
ISysMenuService
public
class
SysMenuServiceImpl
implements
ISysMenuService
{
{
public
static
final
String
PREMISSION_STRING
=
"perms[\"{0}\"]"
;
public
static
final
String
PREMISSION_STRING
=
"perms[\"{0}\"]"
;
@Autowired
@Autowired
...
@@ -51,11 +51,20 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -51,11 +51,20 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 菜单列表
* @return 菜单列表
*/
*/
@Override
@Override
public
List
<
SysMenu
>
selectMenuList
(
Long
userId
)
public
List
<
SysMenu
>
selectMenuList
(
Long
userId
)
{
{
return
selectMenuList
(
new
SysMenu
(),
userId
);
return
selectMenuList
(
new
SysMenu
(),
userId
);
}
}
/**
* 查询移动端菜单
* @param menu
* @return
*/
@Override
public
List
<
SysMenu
>
selectMenusApp
(
SysMenu
menu
)
{
return
menuMapper
.
selectMenusApp
(
menu
);
}
/**
/**
* 查询系统菜单列表
* 查询系统菜单列表
*
*
...
@@ -63,16 +72,12 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -63,16 +72,12 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 菜单列表
* @return 菜单列表
*/
*/
@Override
@Override
public
List
<
SysMenu
>
selectMenuList
(
SysMenu
menu
,
Long
userId
)
public
List
<
SysMenu
>
selectMenuList
(
SysMenu
menu
,
Long
userId
)
{
{
List
<
SysMenu
>
menuList
=
null
;
List
<
SysMenu
>
menuList
=
null
;
// 管理员显示所有菜单信息
// 管理员显示所有菜单信息
if
(
SysUser
.
isAdmin
(
userId
))
if
(
SysUser
.
isAdmin
(
userId
))
{
{
menuList
=
menuMapper
.
selectMenuList
(
menu
);
menuList
=
menuMapper
.
selectMenuList
(
menu
);
}
}
else
{
else
{
menu
.
getParams
().
put
(
"userId"
,
userId
);
menu
.
getParams
().
put
(
"userId"
,
userId
);
menuList
=
menuMapper
.
selectMenuListByUserId
(
menu
);
menuList
=
menuMapper
.
selectMenuListByUserId
(
menu
);
}
}
...
@@ -86,14 +91,11 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -86,14 +91,11 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 权限列表
* @return 权限列表
*/
*/
@Override
@Override
public
Set
<
String
>
selectMenuPermsByUserId
(
Long
userId
)
public
Set
<
String
>
selectMenuPermsByUserId
(
Long
userId
)
{
{
List
<
String
>
perms
=
menuMapper
.
selectMenuPermsByUserId
(
userId
);
List
<
String
>
perms
=
menuMapper
.
selectMenuPermsByUserId
(
userId
);
Set
<
String
>
permsSet
=
new
HashSet
<>();
Set
<
String
>
permsSet
=
new
HashSet
<>();
for
(
String
perm
:
perms
)
for
(
String
perm
:
perms
)
{
{
if
(
StringUtils
.
isNotEmpty
(
perm
))
{
if
(
StringUtils
.
isNotEmpty
(
perm
))
{
permsSet
.
addAll
(
Arrays
.
asList
(
perm
.
trim
().
split
(
","
)));
permsSet
.
addAll
(
Arrays
.
asList
(
perm
.
trim
().
split
(
","
)));
}
}
}
}
...
@@ -107,14 +109,11 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -107,14 +109,11 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 权限列表
* @return 权限列表
*/
*/
@Override
@Override
public
Set
<
String
>
selectMenuPermsByRoleId
(
Long
roleId
)
public
Set
<
String
>
selectMenuPermsByRoleId
(
Long
roleId
)
{
{
List
<
String
>
perms
=
menuMapper
.
selectMenuPermsByRoleId
(
roleId
);
List
<
String
>
perms
=
menuMapper
.
selectMenuPermsByRoleId
(
roleId
);
Set
<
String
>
permsSet
=
new
HashSet
<>();
Set
<
String
>
permsSet
=
new
HashSet
<>();
for
(
String
perm
:
perms
)
for
(
String
perm
:
perms
)
{
{
if
(
StringUtils
.
isNotEmpty
(
perm
))
{
if
(
StringUtils
.
isNotEmpty
(
perm
))
{
permsSet
.
addAll
(
Arrays
.
asList
(
perm
.
trim
().
split
(
","
)));
permsSet
.
addAll
(
Arrays
.
asList
(
perm
.
trim
().
split
(
","
)));
}
}
}
}
...
@@ -128,15 +127,11 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -128,15 +127,11 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 菜单列表
* @return 菜单列表
*/
*/
@Override
@Override
public
List
<
SysMenu
>
selectMenuTreeByUserId
(
Long
userId
)
public
List
<
SysMenu
>
selectMenuTreeByUserId
(
Long
userId
)
{
{
List
<
SysMenu
>
menus
=
null
;
List
<
SysMenu
>
menus
=
null
;
if
(
SecurityUtils
.
isAdmin
(
userId
))
if
(
SecurityUtils
.
isAdmin
(
userId
))
{
{
menus
=
menuMapper
.
selectMenuTreeAll
();
menus
=
menuMapper
.
selectMenuTreeAll
();
}
}
else
{
else
{
menus
=
menuMapper
.
selectMenuTreeByUserId
(
userId
);
menus
=
menuMapper
.
selectMenuTreeByUserId
(
userId
);
}
}
return
getChildPerms
(
menus
,
0
);
return
getChildPerms
(
menus
,
0
);
...
@@ -149,8 +144,7 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -149,8 +144,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 选中菜单列表
* @return 选中菜单列表
*/
*/
@Override
@Override
public
List
<
Long
>
selectMenuListByRoleId
(
Long
roleId
)
public
List
<
Long
>
selectMenuListByRoleId
(
Long
roleId
)
{
{
SysRole
role
=
roleMapper
.
selectRoleById
(
roleId
);
SysRole
role
=
roleMapper
.
selectRoleById
(
roleId
);
return
menuMapper
.
selectMenuListByRoleId
(
roleId
,
role
.
isMenuCheckStrictly
());
return
menuMapper
.
selectMenuListByRoleId
(
roleId
,
role
.
isMenuCheckStrictly
());
}
}
...
@@ -162,11 +156,9 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -162,11 +156,9 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 路由列表
* @return 路由列表
*/
*/
@Override
@Override
public
List
<
RouterVo
>
buildMenus
(
List
<
SysMenu
>
menus
)
public
List
<
RouterVo
>
buildMenus
(
List
<
SysMenu
>
menus
)
{
{
List
<
RouterVo
>
routers
=
new
LinkedList
<
RouterVo
>();
List
<
RouterVo
>
routers
=
new
LinkedList
<
RouterVo
>();
for
(
SysMenu
menu
:
menus
)
for
(
SysMenu
menu
:
menus
)
{
{
RouterVo
router
=
new
RouterVo
();
RouterVo
router
=
new
RouterVo
();
router
.
setHidden
(
"1"
.
equals
(
menu
.
getVisible
()));
router
.
setHidden
(
"1"
.
equals
(
menu
.
getVisible
()));
router
.
setName
(
getRouteName
(
menu
));
router
.
setName
(
getRouteName
(
menu
));
...
@@ -175,14 +167,11 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -175,14 +167,11 @@ public class SysMenuServiceImpl implements ISysMenuService
router
.
setQuery
(
menu
.
getQuery
());
router
.
setQuery
(
menu
.
getQuery
());
router
.
setMeta
(
new
MetaVo
(
menu
.
getMenuName
(),
menu
.
getIcon
(),
StringUtils
.
equals
(
"1"
,
menu
.
getIsCache
()),
menu
.
getPath
()));
router
.
setMeta
(
new
MetaVo
(
menu
.
getMenuName
(),
menu
.
getIcon
(),
StringUtils
.
equals
(
"1"
,
menu
.
getIsCache
()),
menu
.
getPath
()));
List
<
SysMenu
>
cMenus
=
menu
.
getChildren
();
List
<
SysMenu
>
cMenus
=
menu
.
getChildren
();
if
(
StringUtils
.
isNotEmpty
(
cMenus
)
&&
UserConstants
.
TYPE_DIR
.
equals
(
menu
.
getMenuType
()))
if
(
StringUtils
.
isNotEmpty
(
cMenus
)
&&
UserConstants
.
TYPE_DIR
.
equals
(
menu
.
getMenuType
()))
{
{
router
.
setAlwaysShow
(
true
);
router
.
setAlwaysShow
(
true
);
router
.
setRedirect
(
"noRedirect"
);
router
.
setRedirect
(
"noRedirect"
);
router
.
setChildren
(
buildMenus
(
cMenus
));
router
.
setChildren
(
buildMenus
(
cMenus
));
}
}
else
if
(
isMenuFrame
(
menu
))
{
else
if
(
isMenuFrame
(
menu
))
{
router
.
setMeta
(
null
);
router
.
setMeta
(
null
);
List
<
RouterVo
>
childrenList
=
new
ArrayList
<
RouterVo
>();
List
<
RouterVo
>
childrenList
=
new
ArrayList
<
RouterVo
>();
RouterVo
children
=
new
RouterVo
();
RouterVo
children
=
new
RouterVo
();
...
@@ -193,9 +182,7 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -193,9 +182,7 @@ public class SysMenuServiceImpl implements ISysMenuService
children
.
setQuery
(
menu
.
getQuery
());
children
.
setQuery
(
menu
.
getQuery
());
childrenList
.
add
(
children
);
childrenList
.
add
(
children
);
router
.
setChildren
(
childrenList
);
router
.
setChildren
(
childrenList
);
}
}
else
if
(
menu
.
getParentId
().
intValue
()
==
0
&&
isInnerLink
(
menu
))
{
else
if
(
menu
.
getParentId
().
intValue
()
==
0
&&
isInnerLink
(
menu
))
{
router
.
setMeta
(
new
MetaVo
(
menu
.
getMenuName
(),
menu
.
getIcon
()));
router
.
setMeta
(
new
MetaVo
(
menu
.
getMenuName
(),
menu
.
getIcon
()));
router
.
setPath
(
"/"
);
router
.
setPath
(
"/"
);
List
<
RouterVo
>
childrenList
=
new
ArrayList
<
RouterVo
>();
List
<
RouterVo
>
childrenList
=
new
ArrayList
<
RouterVo
>();
...
@@ -220,22 +207,18 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -220,22 +207,18 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 树结构列表
* @return 树结构列表
*/
*/
@Override
@Override
public
List
<
SysMenu
>
buildMenuTree
(
List
<
SysMenu
>
menus
)
public
List
<
SysMenu
>
buildMenuTree
(
List
<
SysMenu
>
menus
)
{
{
List
<
SysMenu
>
returnList
=
new
ArrayList
<
SysMenu
>();
List
<
SysMenu
>
returnList
=
new
ArrayList
<
SysMenu
>();
List
<
Long
>
tempList
=
menus
.
stream
().
map
(
SysMenu:
:
getMenuId
).
collect
(
Collectors
.
toList
());
List
<
Long
>
tempList
=
menus
.
stream
().
map
(
SysMenu:
:
getMenuId
).
collect
(
Collectors
.
toList
());
for
(
Iterator
<
SysMenu
>
iterator
=
menus
.
iterator
();
iterator
.
hasNext
();)
for
(
Iterator
<
SysMenu
>
iterator
=
menus
.
iterator
();
iterator
.
hasNext
();
)
{
{
SysMenu
menu
=
(
SysMenu
)
iterator
.
next
();
SysMenu
menu
=
(
SysMenu
)
iterator
.
next
();
// 如果是顶级节点, 遍历该父节点的所有子节点
// 如果是顶级节点, 遍历该父节点的所有子节点
if
(!
tempList
.
contains
(
menu
.
getParentId
()))
if
(!
tempList
.
contains
(
menu
.
getParentId
()))
{
{
recursionFn
(
menus
,
menu
);
recursionFn
(
menus
,
menu
);
returnList
.
add
(
menu
);
returnList
.
add
(
menu
);
}
}
}
}
if
(
returnList
.
isEmpty
())
if
(
returnList
.
isEmpty
())
{
{
returnList
=
menus
;
returnList
=
menus
;
}
}
return
returnList
;
return
returnList
;
...
@@ -248,8 +231,7 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -248,8 +231,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 下拉树结构列表
* @return 下拉树结构列表
*/
*/
@Override
@Override
public
List
<
TreeSelect
>
buildMenuTreeSelect
(
List
<
SysMenu
>
menus
)
public
List
<
TreeSelect
>
buildMenuTreeSelect
(
List
<
SysMenu
>
menus
)
{
{
List
<
SysMenu
>
menuTrees
=
buildMenuTree
(
menus
);
List
<
SysMenu
>
menuTrees
=
buildMenuTree
(
menus
);
return
menuTrees
.
stream
().
map
(
TreeSelect:
:
new
).
collect
(
Collectors
.
toList
());
return
menuTrees
.
stream
().
map
(
TreeSelect:
:
new
).
collect
(
Collectors
.
toList
());
}
}
...
@@ -261,8 +243,7 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -261,8 +243,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 菜单信息
* @return 菜单信息
*/
*/
@Override
@Override
public
SysMenu
selectMenuById
(
Long
menuId
)
public
SysMenu
selectMenuById
(
Long
menuId
)
{
{
return
menuMapper
.
selectMenuById
(
menuId
);
return
menuMapper
.
selectMenuById
(
menuId
);
}
}
...
@@ -273,8 +254,7 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -273,8 +254,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 结果
* @return 结果
*/
*/
@Override
@Override
public
boolean
hasChildByMenuId
(
Long
menuId
)
public
boolean
hasChildByMenuId
(
Long
menuId
)
{
{
int
result
=
menuMapper
.
hasChildByMenuId
(
menuId
);
int
result
=
menuMapper
.
hasChildByMenuId
(
menuId
);
return
result
>
0
;
return
result
>
0
;
}
}
...
@@ -286,8 +266,7 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -286,8 +266,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 结果
* @return 结果
*/
*/
@Override
@Override
public
boolean
checkMenuExistRole
(
Long
menuId
)
public
boolean
checkMenuExistRole
(
Long
menuId
)
{
{
int
result
=
roleMenuMapper
.
checkMenuExistRole
(
menuId
);
int
result
=
roleMenuMapper
.
checkMenuExistRole
(
menuId
);
return
result
>
0
;
return
result
>
0
;
}
}
...
@@ -299,8 +278,7 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -299,8 +278,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 结果
* @return 结果
*/
*/
@Override
@Override
public
int
insertMenu
(
SysMenu
menu
)
public
int
insertMenu
(
SysMenu
menu
)
{
{
return
menuMapper
.
insertMenu
(
menu
);
return
menuMapper
.
insertMenu
(
menu
);
}
}
...
@@ -311,8 +289,7 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -311,8 +289,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 结果
* @return 结果
*/
*/
@Override
@Override
public
int
updateMenu
(
SysMenu
menu
)
public
int
updateMenu
(
SysMenu
menu
)
{
{
return
menuMapper
.
updateMenu
(
menu
);
return
menuMapper
.
updateMenu
(
menu
);
}
}
...
@@ -323,8 +300,7 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -323,8 +300,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 结果
* @return 结果
*/
*/
@Override
@Override
public
int
deleteMenuById
(
Long
menuId
)
public
int
deleteMenuById
(
Long
menuId
)
{
{
return
menuMapper
.
deleteMenuById
(
menuId
);
return
menuMapper
.
deleteMenuById
(
menuId
);
}
}
...
@@ -335,12 +311,10 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -335,12 +311,10 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 结果
* @return 结果
*/
*/
@Override
@Override
public
boolean
checkMenuNameUnique
(
SysMenu
menu
)
public
boolean
checkMenuNameUnique
(
SysMenu
menu
)
{
{
Long
menuId
=
StringUtils
.
isNull
(
menu
.
getMenuId
())
?
-
1L
:
menu
.
getMenuId
();
Long
menuId
=
StringUtils
.
isNull
(
menu
.
getMenuId
())
?
-
1L
:
menu
.
getMenuId
();
SysMenu
info
=
menuMapper
.
checkMenuNameUnique
(
menu
.
getMenuName
(),
menu
.
getParentId
());
SysMenu
info
=
menuMapper
.
checkMenuNameUnique
(
menu
.
getMenuName
(),
menu
.
getParentId
());
if
(
StringUtils
.
isNotNull
(
info
)
&&
info
.
getMenuId
().
longValue
()
!=
menuId
.
longValue
())
if
(
StringUtils
.
isNotNull
(
info
)
&&
info
.
getMenuId
().
longValue
()
!=
menuId
.
longValue
())
{
{
return
UserConstants
.
NOT_UNIQUE
;
return
UserConstants
.
NOT_UNIQUE
;
}
}
return
UserConstants
.
UNIQUE
;
return
UserConstants
.
UNIQUE
;
...
@@ -352,12 +326,10 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -352,12 +326,10 @@ public class SysMenuServiceImpl implements ISysMenuService
* @param menu 菜单信息
* @param menu 菜单信息
* @return 路由名称
* @return 路由名称
*/
*/
public
String
getRouteName
(
SysMenu
menu
)
public
String
getRouteName
(
SysMenu
menu
)
{
{
String
routerName
=
StringUtils
.
capitalize
(
menu
.
getPath
());
String
routerName
=
StringUtils
.
capitalize
(
menu
.
getPath
());
// 非外链并且是一级目录(类型为目录)
// 非外链并且是一级目录(类型为目录)
if
(
isMenuFrame
(
menu
))
if
(
isMenuFrame
(
menu
))
{
{
routerName
=
StringUtils
.
EMPTY
;
routerName
=
StringUtils
.
EMPTY
;
}
}
return
routerName
;
return
routerName
;
...
@@ -369,23 +341,19 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -369,23 +341,19 @@ public class SysMenuServiceImpl implements ISysMenuService
* @param menu 菜单信息
* @param menu 菜单信息
* @return 路由地址
* @return 路由地址
*/
*/
public
String
getRouterPath
(
SysMenu
menu
)
public
String
getRouterPath
(
SysMenu
menu
)
{
{
String
routerPath
=
menu
.
getPath
();
String
routerPath
=
menu
.
getPath
();
// 内链打开外网方式
// 内链打开外网方式
if
(
menu
.
getParentId
().
intValue
()
!=
0
&&
isInnerLink
(
menu
))
if
(
menu
.
getParentId
().
intValue
()
!=
0
&&
isInnerLink
(
menu
))
{
{
routerPath
=
innerLinkReplaceEach
(
routerPath
);
routerPath
=
innerLinkReplaceEach
(
routerPath
);
}
}
// 非外链并且是一级目录(类型为目录)
// 非外链并且是一级目录(类型为目录)
if
(
0
==
menu
.
getParentId
().
intValue
()
&&
UserConstants
.
TYPE_DIR
.
equals
(
menu
.
getMenuType
())
if
(
0
==
menu
.
getParentId
().
intValue
()
&&
UserConstants
.
TYPE_DIR
.
equals
(
menu
.
getMenuType
())
&&
UserConstants
.
NO_FRAME
.
equals
(
menu
.
getIsFrame
()))
&&
UserConstants
.
NO_FRAME
.
equals
(
menu
.
getIsFrame
()))
{
{
routerPath
=
"/"
+
menu
.
getPath
();
routerPath
=
"/"
+
menu
.
getPath
();
}
}
// 非外链并且是一级目录(类型为菜单)
// 非外链并且是一级目录(类型为菜单)
else
if
(
isMenuFrame
(
menu
))
else
if
(
isMenuFrame
(
menu
))
{
{
routerPath
=
"/"
;
routerPath
=
"/"
;
}
}
return
routerPath
;
return
routerPath
;
...
@@ -397,19 +365,13 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -397,19 +365,13 @@ public class SysMenuServiceImpl implements ISysMenuService
* @param menu 菜单信息
* @param menu 菜单信息
* @return 组件信息
* @return 组件信息
*/
*/
public
String
getComponent
(
SysMenu
menu
)
public
String
getComponent
(
SysMenu
menu
)
{
{
String
component
=
UserConstants
.
LAYOUT
;
String
component
=
UserConstants
.
LAYOUT
;
if
(
StringUtils
.
isNotEmpty
(
menu
.
getComponent
())
&&
!
isMenuFrame
(
menu
))
if
(
StringUtils
.
isNotEmpty
(
menu
.
getComponent
())
&&
!
isMenuFrame
(
menu
))
{
{
component
=
menu
.
getComponent
();
component
=
menu
.
getComponent
();
}
}
else
if
(
StringUtils
.
isEmpty
(
menu
.
getComponent
())
&&
menu
.
getParentId
().
intValue
()
!=
0
&&
isInnerLink
(
menu
))
{
else
if
(
StringUtils
.
isEmpty
(
menu
.
getComponent
())
&&
menu
.
getParentId
().
intValue
()
!=
0
&&
isInnerLink
(
menu
))
{
component
=
UserConstants
.
INNER_LINK
;
component
=
UserConstants
.
INNER_LINK
;
}
}
else
if
(
StringUtils
.
isEmpty
(
menu
.
getComponent
())
&&
isParentView
(
menu
))
{
else
if
(
StringUtils
.
isEmpty
(
menu
.
getComponent
())
&&
isParentView
(
menu
))
{
component
=
UserConstants
.
PARENT_VIEW
;
component
=
UserConstants
.
PARENT_VIEW
;
}
}
return
component
;
return
component
;
...
@@ -421,8 +383,7 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -421,8 +383,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @param menu 菜单信息
* @param menu 菜单信息
* @return 结果
* @return 结果
*/
*/
public
boolean
isMenuFrame
(
SysMenu
menu
)
public
boolean
isMenuFrame
(
SysMenu
menu
)
{
{
return
menu
.
getParentId
().
intValue
()
==
0
&&
UserConstants
.
TYPE_MENU
.
equals
(
menu
.
getMenuType
())
return
menu
.
getParentId
().
intValue
()
==
0
&&
UserConstants
.
TYPE_MENU
.
equals
(
menu
.
getMenuType
())
&&
menu
.
getIsFrame
().
equals
(
UserConstants
.
NO_FRAME
);
&&
menu
.
getIsFrame
().
equals
(
UserConstants
.
NO_FRAME
);
}
}
...
@@ -433,8 +394,7 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -433,8 +394,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @param menu 菜单信息
* @param menu 菜单信息
* @return 结果
* @return 结果
*/
*/
public
boolean
isInnerLink
(
SysMenu
menu
)
public
boolean
isInnerLink
(
SysMenu
menu
)
{
{
return
menu
.
getIsFrame
().
equals
(
UserConstants
.
NO_FRAME
)
&&
StringUtils
.
ishttp
(
menu
.
getPath
());
return
menu
.
getIsFrame
().
equals
(
UserConstants
.
NO_FRAME
)
&&
StringUtils
.
ishttp
(
menu
.
getPath
());
}
}
...
@@ -444,8 +404,7 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -444,8 +404,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @param menu 菜单信息
* @param menu 菜单信息
* @return 结果
* @return 结果
*/
*/
public
boolean
isParentView
(
SysMenu
menu
)
public
boolean
isParentView
(
SysMenu
menu
)
{
{
return
menu
.
getParentId
().
intValue
()
!=
0
&&
UserConstants
.
TYPE_DIR
.
equals
(
menu
.
getMenuType
());
return
menu
.
getParentId
().
intValue
()
!=
0
&&
UserConstants
.
TYPE_DIR
.
equals
(
menu
.
getMenuType
());
}
}
...
@@ -456,15 +415,12 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -456,15 +415,12 @@ public class SysMenuServiceImpl implements ISysMenuService
* @param parentId 传入的父节点ID
* @param parentId 传入的父节点ID
* @return String
* @return String
*/
*/
public
List
<
SysMenu
>
getChildPerms
(
List
<
SysMenu
>
list
,
int
parentId
)
public
List
<
SysMenu
>
getChildPerms
(
List
<
SysMenu
>
list
,
int
parentId
)
{
{
List
<
SysMenu
>
returnList
=
new
ArrayList
<
SysMenu
>();
List
<
SysMenu
>
returnList
=
new
ArrayList
<
SysMenu
>();
for
(
Iterator
<
SysMenu
>
iterator
=
list
.
iterator
();
iterator
.
hasNext
();)
for
(
Iterator
<
SysMenu
>
iterator
=
list
.
iterator
();
iterator
.
hasNext
();
)
{
{
SysMenu
t
=
(
SysMenu
)
iterator
.
next
();
SysMenu
t
=
(
SysMenu
)
iterator
.
next
();
// 一、根据传入的某个父节点ID,遍历该父节点的所有子节点
// 一、根据传入的某个父节点ID,遍历该父节点的所有子节点
if
(
t
.
getParentId
()
==
parentId
)
if
(
t
.
getParentId
()
==
parentId
)
{
{
recursionFn
(
list
,
t
);
recursionFn
(
list
,
t
);
returnList
.
add
(
t
);
returnList
.
add
(
t
);
}
}
...
@@ -478,15 +434,12 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -478,15 +434,12 @@ public class SysMenuServiceImpl implements ISysMenuService
* @param list 分类表
* @param list 分类表
* @param t 子节点
* @param t 子节点
*/
*/
private
void
recursionFn
(
List
<
SysMenu
>
list
,
SysMenu
t
)
private
void
recursionFn
(
List
<
SysMenu
>
list
,
SysMenu
t
)
{
{
// 得到子节点列表
// 得到子节点列表
List
<
SysMenu
>
childList
=
getChildList
(
list
,
t
);
List
<
SysMenu
>
childList
=
getChildList
(
list
,
t
);
t
.
setChildren
(
childList
);
t
.
setChildren
(
childList
);
for
(
SysMenu
tChild
:
childList
)
for
(
SysMenu
tChild
:
childList
)
{
{
if
(
hasChild
(
list
,
tChild
))
{
if
(
hasChild
(
list
,
tChild
))
{
recursionFn
(
list
,
tChild
);
recursionFn
(
list
,
tChild
);
}
}
}
}
...
@@ -495,15 +448,12 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -495,15 +448,12 @@ public class SysMenuServiceImpl implements ISysMenuService
/**
/**
* 得到子节点列表
* 得到子节点列表
*/
*/
private
List
<
SysMenu
>
getChildList
(
List
<
SysMenu
>
list
,
SysMenu
t
)
private
List
<
SysMenu
>
getChildList
(
List
<
SysMenu
>
list
,
SysMenu
t
)
{
{
List
<
SysMenu
>
tlist
=
new
ArrayList
<
SysMenu
>();
List
<
SysMenu
>
tlist
=
new
ArrayList
<
SysMenu
>();
Iterator
<
SysMenu
>
it
=
list
.
iterator
();
Iterator
<
SysMenu
>
it
=
list
.
iterator
();
while
(
it
.
hasNext
())
while
(
it
.
hasNext
())
{
{
SysMenu
n
=
(
SysMenu
)
it
.
next
();
SysMenu
n
=
(
SysMenu
)
it
.
next
();
if
(
n
.
getParentId
().
longValue
()
==
t
.
getMenuId
().
longValue
())
if
(
n
.
getParentId
().
longValue
()
==
t
.
getMenuId
().
longValue
())
{
{
tlist
.
add
(
n
);
tlist
.
add
(
n
);
}
}
}
}
...
@@ -513,8 +463,7 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -513,8 +463,7 @@ public class SysMenuServiceImpl implements ISysMenuService
/**
/**
* 判断是否有子节点
* 判断是否有子节点
*/
*/
private
boolean
hasChild
(
List
<
SysMenu
>
list
,
SysMenu
t
)
private
boolean
hasChild
(
List
<
SysMenu
>
list
,
SysMenu
t
)
{
{
return
getChildList
(
list
,
t
).
size
()
>
0
;
return
getChildList
(
list
,
t
).
size
()
>
0
;
}
}
...
@@ -523,9 +472,8 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -523,9 +472,8 @@ public class SysMenuServiceImpl implements ISysMenuService
*
*
* @return 替换后的内链域名
* @return 替换后的内链域名
*/
*/
public
String
innerLinkReplaceEach
(
String
path
)
public
String
innerLinkReplaceEach
(
String
path
)
{
{
return
StringUtils
.
replaceEach
(
path
,
new
String
[]{
Constants
.
HTTP
,
Constants
.
HTTPS
,
Constants
.
WWW
,
"."
},
return
StringUtils
.
replaceEach
(
path
,
new
String
[]
{
Constants
.
HTTP
,
Constants
.
HTTPS
,
Constants
.
WWW
,
"."
},
new
String
[]{
""
,
""
,
""
,
"/"
});
new
String
[]
{
""
,
""
,
""
,
"/"
});
}
}
}
}
ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
View file @
b0323b7d
...
@@ -5,26 +5,26 @@
...
@@ -5,26 +5,26 @@
<mapper
namespace=
"com.ruoyi.system.mapper.SysMenuMapper"
>
<mapper
namespace=
"com.ruoyi.system.mapper.SysMenuMapper"
>
<resultMap
type=
"SysMenu"
id=
"SysMenuResult"
>
<resultMap
type=
"SysMenu"
id=
"SysMenuResult"
>
<id
property=
"menuId"
column=
"menu_id"
/>
<id
property=
"menuId"
column=
"menu_id"
/>
<result
property=
"menuName"
column=
"menu_name"
/>
<result
property=
"menuName"
column=
"menu_name"
/>
<result
property=
"parentName"
column=
"parent_name"
/>
<result
property=
"parentName"
column=
"parent_name"
/>
<result
property=
"parentId"
column=
"parent_id"
/>
<result
property=
"parentId"
column=
"parent_id"
/>
<result
property=
"orderNum"
column=
"order_num"
/>
<result
property=
"orderNum"
column=
"order_num"
/>
<result
property=
"path"
column=
"path"
/>
<result
property=
"path"
column=
"path"
/>
<result
property=
"component"
column=
"component"
/>
<result
property=
"component"
column=
"component"
/>
<result
property=
"query"
column=
"query"
/>
<result
property=
"query"
column=
"query"
/>
<result
property=
"isFrame"
column=
"is_frame"
/>
<result
property=
"isFrame"
column=
"is_frame"
/>
<result
property=
"isCache"
column=
"is_cache"
/>
<result
property=
"isCache"
column=
"is_cache"
/>
<result
property=
"menuType"
column=
"menu_type"
/>
<result
property=
"menuType"
column=
"menu_type"
/>
<result
property=
"visible"
column=
"visible"
/>
<result
property=
"visible"
column=
"visible"
/>
<result
property=
"status"
column=
"status"
/>
<result
property=
"status"
column=
"status"
/>
<result
property=
"perms"
column=
"perms"
/>
<result
property=
"perms"
column=
"perms"
/>
<result
property=
"icon"
column=
"icon"
/>
<result
property=
"icon"
column=
"icon"
/>
<result
property=
"createBy"
column=
"create_by"
/>
<result
property=
"createBy"
column=
"create_by"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"updateBy"
column=
"update_by"
/>
<result
property=
"updateBy"
column=
"update_by"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"remark"
column=
"remark"
/>
</resultMap>
</resultMap>
<sql
id=
"selectMenuVo"
>
<sql
id=
"selectMenuVo"
>
...
@@ -48,6 +48,25 @@
...
@@ -48,6 +48,25 @@
order by parent_id, order_num
order by parent_id, order_num
</select>
</select>
<select
id=
"selectMenusApp"
parameterType=
"SysMenu"
resultMap=
"SysMenuResult"
>
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status,
ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
from sys_menu m
left join sys_role_menu rm on m.menu_id = rm.menu_id
left join sys_user_role ur on rm.role_id = ur.role_id
LEFT JOIN sys_role ro on ur.role_id = ro.role_id
<where>
and m.parent_id = #{parentId}
<if
test=
" params.isAdmin ==null or !params.isAdmin "
>
AND ro.status = 0
and ur.user_id = #{params.userId}
</if>
</where>
order by m.parent_id, m.order_num
</select>
<select
id=
"selectMenuTreeAll"
resultMap=
"SysMenuResult"
>
<select
id=
"selectMenuTreeAll"
resultMap=
"SysMenuResult"
>
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
from sys_menu m where m.menu_type in ('M', 'C') and m.status = 0
from sys_menu m where m.menu_type in ('M', 'C') and m.status = 0
...
@@ -55,7 +74,8 @@
...
@@ -55,7 +74,8 @@
</select>
</select>
<select
id=
"selectMenuListByUserId"
parameterType=
"SysMenu"
resultMap=
"SysMenuResult"
>
<select
id=
"selectMenuListByUserId"
parameterType=
"SysMenu"
resultMap=
"SysMenuResult"
>
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status,
ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
from sys_menu m
from sys_menu m
left join sys_role_menu rm on m.menu_id = rm.menu_id
left join sys_role_menu rm on m.menu_id = rm.menu_id
left join sys_user_role ur on rm.role_id = ur.role_id
left join sys_user_role ur on rm.role_id = ur.role_id
...
@@ -90,7 +110,8 @@
...
@@ -90,7 +110,8 @@
left join sys_role_menu rm on m.menu_id = rm.menu_id
left join sys_role_menu rm on m.menu_id = rm.menu_id
where rm.role_id = #{roleId}
where rm.role_id = #{roleId}
<if
test=
"menuCheckStrictly"
>
<if
test=
"menuCheckStrictly"
>
and m.menu_id not in (select m.parent_id from sys_menu m inner join sys_role_menu rm on m.menu_id = rm.menu_id and rm.role_id = #{roleId})
and m.menu_id not in (select m.parent_id from sys_menu m inner join sys_role_menu rm on m.menu_id =
rm.menu_id and rm.role_id = #{roleId})
</if>
</if>
order by m.parent_id, m.order_num
order by m.parent_id, m.order_num
</select>
</select>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment