Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
O
online-edu-backend
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Redmine
Redmine
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
online-edu
online-edu-backend
Commits
56035500
Commit
56035500
authored
May 13, 2021
by
liuyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
dbc9e672
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
202 additions
and
17 deletions
+202
-17
SysMenuController.java
...java/com/qkdata/biz/sys/controller/SysMenuController.java
+17
-11
SysRoleController.java
...java/com/qkdata/biz/sys/controller/SysRoleController.java
+17
-1
SysMenuMapper.java
src/main/java/com/qkdata/biz/sys/mapper/SysMenuMapper.java
+5
-0
SysRoleMenuMapper.java
...ain/java/com/qkdata/biz/sys/mapper/SysRoleMenuMapper.java
+2
-0
MenuTreeProvider.java
...ain/java/com/qkdata/biz/sys/service/MenuTreeProvider.java
+94
-0
SysMenuService.java
src/main/java/com/qkdata/biz/sys/service/SysMenuService.java
+11
-0
SysRoleMenuService.java
...n/java/com/qkdata/biz/sys/service/SysRoleMenuService.java
+6
-0
SysRoleService.java
src/main/java/com/qkdata/biz/sys/service/SysRoleService.java
+9
-0
QueryMenuModel.java
src/main/java/com/qkdata/biz/sys/vo/QueryMenuModel.java
+11
-0
RoleMenuPermissionModel.java
...n/java/com/qkdata/biz/sys/vo/RoleMenuPermissionModel.java
+11
-0
ILabelProvider.java
src/main/java/com/qkdata/common/tree/ILabelProvider.java
+1
-1
TreeNode.java
src/main/java/com/qkdata/common/tree/TreeNode.java
+4
-4
SysMenuMapper.xml
src/main/resources/mappers/sys/SysMenuMapper.xml
+9
-0
SysRoleMenuMapper.xml
src/main/resources/mappers/sys/SysRoleMenuMapper.xml
+5
-0
No files found.
src/main/java/com/qkdata/biz/sys/controller/SysMenuController.java
View file @
56035500
...
...
@@ -2,17 +2,21 @@ package com.qkdata.biz.sys.controller;
import
com.qkdata.biz.common.BizConstants
;
import
com.qkdata.biz.sys.entity.SysMenuPO
;
import
com.qkdata.biz.sys.service.MenuTreeProvider
;
import
com.qkdata.biz.sys.service.ShiroService
;
import
com.qkdata.biz.sys.service.SysMenuService
;
import
com.qkdata.biz.sys.vo.QueryMenuModel
;
import
com.qkdata.biz.sys.vo.SysNavModel
;
import
com.qkdata.common.annotation.SysLog
;
import
com.qkdata.common.base.exception.BusinessException
;
import
com.qkdata.common.base.model.PageResult
;
import
com.qkdata.common.base.model.Result
;
import
com.qkdata.common.tree.Tree
;
import
com.qkdata.common.tree.TreeView
;
import
com.qkdata.common.util.UserContext
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.shiro.authz.annotation.Logical
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.apache.shiro.authz.annotation.RequiresRoles
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -37,18 +41,20 @@ public class SysMenuController {
SysNavModel
navDTO
=
new
SysNavModel
(
menuList
,
permissions
);
return
Result
.
succeed
(
navDTO
);
}
@ApiOperation
(
"
获取全部
菜单列表"
)
@
Ge
tMapping
(
"/list"
)
@ApiOperation
(
"
查询
菜单列表"
)
@
Pos
tMapping
(
"/list"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_ADMIN
,
BizConstants
.
ROLE_OPERATOR
},
logical
=
Logical
.
OR
)
public
Result
<
List
<
SysMenuPO
>>
list
(){
public
PageResult
<
SysMenuPO
>
list
(
@RequestBody
QueryMenuModel
param
){
return
sysMenuService
.
queryList
(
param
);
}
@ApiOperation
(
"获取全部菜单树"
)
@GetMapping
(
"/tree"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_ADMIN
,
BizConstants
.
ROLE_OPERATOR
},
logical
=
Logical
.
OR
)
public
Result
<
Tree
>
getAllTree
(){
List
<
SysMenuPO
>
menuList
=
sysMenuService
.
list
();
for
(
SysMenuPO
menuPO
:
menuList
){
SysMenuPO
parentMenu
=
sysMenuService
.
getById
(
menuPO
.
getParentId
());
if
(
parentMenu
!=
null
){
menuPO
.
setParentName
(
parentMenu
.
getName
());
}
}
return
Result
.
succeed
(
menuList
);
MenuTreeProvider
menuTreeProvider
=
new
MenuTreeProvider
();
TreeView
treeView
=
new
TreeView
(
menuList
,
menuTreeProvider
,
menuTreeProvider
);
return
Result
.
succeed
(
treeView
.
buildTree
(
"menuTree"
));
}
@ApiOperation
(
"获取不包含按扭的全部菜单"
)
...
...
src/main/java/com/qkdata/biz/sys/controller/SysRoleController.java
View file @
56035500
...
...
@@ -4,12 +4,14 @@ import com.qkdata.biz.common.BizConstants;
import
com.qkdata.biz.sys.entity.SysRolePO
;
import
com.qkdata.biz.sys.service.SysRoleService
;
import
com.qkdata.biz.sys.vo.QueryRoleModel
;
import
com.qkdata.biz.sys.vo.RoleMenuPermissionModel
;
import
com.qkdata.biz.sys.vo.SysRoleModel
;
import
com.qkdata.common.annotation.SysLog
;
import
com.qkdata.common.base.model.PageResult
;
import
com.qkdata.common.base.model.Result
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.shiro.authz.annotation.Logical
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.apache.shiro.authz.annotation.RequiresRoles
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -71,9 +73,23 @@ public class SysRoleController {
@ApiOperation
(
"删除角色信息"
)
@SysLog
(
"删除角色信息"
)
@PostMapping
(
"/delete"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_ADMIN
}
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_ADMIN
,
BizConstants
.
ROLE_OPERATOR
},
logical
=
Logical
.
OR
)
public
Result
<
String
>
delete
(
@RequestBody
Long
[]
ids
){
sysRoleService
.
removeByIds
(
Arrays
.
asList
(
ids
));
return
Result
.
succeed
(
"ok"
);
}
@ApiOperation
(
"获取某一角色的菜单ids"
)
@GetMapping
(
"/menuIds/{roleId}"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_ADMIN
,
BizConstants
.
ROLE_OPERATOR
},
logical
=
Logical
.
OR
)
public
Result
<
List
<
Long
>>
findRoleMenuIds
(
@PathVariable
Long
roleId
){
return
Result
.
succeed
(
sysRoleService
.
findRoleMenuIds
(
roleId
));
}
@ApiOperation
(
"保存角色菜单权限"
)
@PostMapping
(
"/menu/save"
)
@SysLog
(
"保存角色菜单权限"
)
@RequiresRoles
(
value
=
{
BizConstants
.
ROLE_ADMIN
,
BizConstants
.
ROLE_OPERATOR
},
logical
=
Logical
.
OR
)
public
Result
<
String
>
saveRoleMenu
(
@RequestBody
RoleMenuPermissionModel
model
){
sysRoleService
.
saveRoleMenuPermission
(
model
);
return
Result
.
succeed
(
"ok"
);
}
}
src/main/java/com/qkdata/biz/sys/mapper/SysMenuMapper.java
View file @
56035500
package
com
.
qkdata
.
biz
.
sys
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.qkdata.biz.sys.entity.SysMenuPO
;
import
com.qkdata.biz.sys.vo.QueryMenuModel
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
@Mapper
public
interface
SysMenuMapper
extends
BaseMapper
<
SysMenuPO
>
{
List
<
SysMenuPO
>
queryNotButtonList
();
List
<
SysMenuPO
>
queryList
(
Page
<
SysMenuPO
>
page
,
@Param
(
"p"
)
QueryMenuModel
param
);
}
src/main/java/com/qkdata/biz/sys/mapper/SysRoleMenuMapper.java
View file @
56035500
...
...
@@ -9,4 +9,6 @@ import java.util.List;
@Mapper
public
interface
SysRoleMenuMapper
extends
BaseMapper
<
SysRoleMenuPO
>
{
List
<
Long
>
selectMenuIdsByRoleId
(
Long
roleId
);
List
<
Long
>
findRoleMenuIds
(
Long
roleId
);
}
src/main/java/com/qkdata/biz/sys/service/MenuTreeProvider.java
0 → 100644
View file @
56035500
package
com
.
qkdata
.
biz
.
sys
.
service
;
import
com.google.common.collect.Lists
;
import
com.qkdata.biz.sys.entity.SysMenuPO
;
import
com.qkdata.common.tree.IContentProvider
;
import
com.qkdata.common.tree.ILabelProvider
;
import
com.qkdata.common.tree.TreeTypeEnum
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
public
class
MenuTreeProvider
implements
IContentProvider
,
ILabelProvider
{
private
List
<
SysMenuPO
>
menuList
;
@Override
public
List
<?
extends
Object
>
getChildren
(
Object
curElement
,
int
level
,
int
index
)
{
SysMenuPO
menuPO
=
(
SysMenuPO
)
curElement
;
List
<
SysMenuPO
>
children
=
Lists
.
newArrayList
();
for
(
SysMenuPO
sysMenuPO
:
menuList
)
{
if
(
sysMenuPO
.
getParentId
().
longValue
()
==
menuPO
.
getId
().
longValue
()){
children
.
add
(
sysMenuPO
);
}
}
return
children
;
}
@Override
public
List
<?
extends
Object
>
getRootElement
(
List
<?>
treeData
,
int
level
,
int
index
)
{
menuList
=
(
List
<
SysMenuPO
>)
treeData
;
return
menuList
.
stream
().
filter
(
menu
->
menu
.
getParentId
()
==
0
).
collect
(
Collectors
.
toList
());
}
@Override
public
boolean
hasChild
(
Object
curElement
,
int
level
,
int
index
)
{
SysMenuPO
menuPO
=
(
SysMenuPO
)
curElement
;
boolean
flag
=
false
;
for
(
SysMenuPO
sysMenuPO
:
menuList
)
{
if
(
sysMenuPO
.
getParentId
().
longValue
()
==
menuPO
.
getId
().
longValue
()){
flag
=
true
;
break
;
}
}
return
flag
;
}
@Override
public
TreeTypeEnum
getLabelType
(
Object
curElement
,
int
level
,
int
index
)
{
return
TreeTypeEnum
.
NORMAL
;
}
@Override
public
String
getLabelName
(
Object
curElement
,
int
level
,
int
index
)
{
SysMenuPO
menuPO
=
(
SysMenuPO
)
curElement
;
return
menuPO
.
getName
();
}
@Override
public
Object
getLabelId
(
Object
curElement
,
int
level
,
int
index
)
{
SysMenuPO
menuPO
=
(
SysMenuPO
)
curElement
;
return
menuPO
.
getId
();
}
@Override
public
String
getIcon
(
Object
curElement
,
int
level
,
int
index
)
{
SysMenuPO
menuPO
=
(
SysMenuPO
)
curElement
;
return
menuPO
.
getIcon
();
}
@Override
public
boolean
isDefaultIcon
(
Object
curElement
,
int
level
,
int
index
)
{
return
false
;
}
@Override
public
boolean
isClick
(
Object
curElement
,
int
level
,
int
index
)
{
return
false
;
}
@Override
public
boolean
isCheck
(
Object
curElement
,
int
level
,
int
index
)
{
return
false
;
}
@Override
public
String
getCheckId
(
Object
curElement
,
int
level
,
int
index
)
{
return
null
;
}
@Override
public
Map
<
String
,
String
>
getAttributes
(
Object
curElement
,
int
level
,
int
index
)
{
return
null
;
}
}
src/main/java/com/qkdata/biz/sys/service/SysMenuService.java
View file @
56035500
package
com
.
qkdata
.
biz
.
sys
.
service
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.google.common.collect.Lists
;
import
com.qkdata.biz.enums.MenuTypeEnum
;
import
com.qkdata.biz.sys.entity.SysMenuPO
;
import
com.qkdata.biz.sys.mapper.SysMenuMapper
;
import
com.qkdata.biz.sys.mapper.SysUserMapper
;
import
com.qkdata.biz.sys.vo.QueryMenuModel
;
import
com.qkdata.common.base.enums.CodeEnum
;
import
com.qkdata.common.base.model.PageResult
;
import
com.qkdata.common.base.service.impl.BaseServiceImpl
;
import
com.qkdata.common.constants.Constants
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -75,4 +79,11 @@ public class SysMenuService extends BaseServiceImpl<SysMenuMapper, SysMenuPO> {
public
List
<
SysMenuPO
>
queryNotButtonList
()
{
return
baseMapper
.
queryNotButtonList
();
}
public
PageResult
<
SysMenuPO
>
queryList
(
QueryMenuModel
param
)
{
Page
<
SysMenuPO
>
page
=
new
Page
(
param
.
getPageIndex
(),
param
.
getPageSize
());
List
<
SysMenuPO
>
pageList
=
baseMapper
.
queryList
(
page
,
param
);
return
PageResult
.<
SysMenuPO
>
builder
().
code
(
CodeEnum
.
SUCCESS
.
getCode
()).
count
(
page
.
getTotal
()).
data
(
pageList
).
build
();
}
}
src/main/java/com/qkdata/biz/sys/service/SysRoleMenuService.java
View file @
56035500
...
...
@@ -5,6 +5,7 @@ import com.qkdata.biz.sys.entity.SysRoleMenuPO;
import
com.qkdata.biz.sys.mapper.SysRoleMenuMapper
;
import
com.qkdata.common.base.service.impl.BaseServiceImpl
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
java.util.List
;
...
...
@@ -14,6 +15,7 @@ public class SysRoleMenuService extends BaseServiceImpl<SysRoleMenuMapper, SysRo
public
List
<
Long
>
queryMenuIdList
(
Long
roleId
)
{
return
baseMapper
.
selectMenuIdsByRoleId
(
roleId
);
}
@Transactional
public
void
saveOrUpdateRoleMenu
(
Long
roleId
,
List
<
Long
>
menuIdList
)
{
deleteByRoleIds
(
new
Long
[]{
roleId
});
...
...
@@ -31,4 +33,8 @@ public class SysRoleMenuService extends BaseServiceImpl<SysRoleMenuMapper, SysRo
private
void
deleteByRoleIds
(
Long
[]
roleIds
)
{
baseMapper
.
delete
(
Wrappers
.<
SysRoleMenuPO
>
lambdaQuery
().
in
(
SysRoleMenuPO:
:
getRoleId
,
roleIds
));
}
public
List
<
Long
>
findRoleMenuIds
(
Long
roleId
)
{
return
baseMapper
.
findRoleMenuIds
(
roleId
);
}
}
src/main/java/com/qkdata/biz/sys/service/SysRoleService.java
View file @
56035500
...
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.qkdata.biz.sys.entity.SysRolePO
;
import
com.qkdata.biz.sys.mapper.SysRoleMapper
;
import
com.qkdata.biz.sys.vo.QueryRoleModel
;
import
com.qkdata.biz.sys.vo.RoleMenuPermissionModel
;
import
com.qkdata.biz.sys.vo.SysRoleModel
;
import
com.qkdata.common.base.enums.CodeEnum
;
import
com.qkdata.common.base.exception.BusinessException
;
...
...
@@ -63,4 +64,12 @@ public class SysRoleService extends BaseServiceImpl<SysRoleMapper, SysRolePO> {
public
List
<
SysRoleModel
>
getUserRoles
(
Long
userId
)
{
return
baseMapper
.
findUserRoles
(
userId
);
}
public
List
<
Long
>
findRoleMenuIds
(
Long
roleId
)
{
return
sysRoleMenuService
.
findRoleMenuIds
(
roleId
);
}
public
void
saveRoleMenuPermission
(
RoleMenuPermissionModel
model
)
{
sysRoleMenuService
.
saveOrUpdateRoleMenu
(
model
.
getRoleId
(),
model
.
getMenuIds
());
}
}
src/main/java/com/qkdata/biz/sys/vo/QueryMenuModel.java
0 → 100644
View file @
56035500
package
com
.
qkdata
.
biz
.
sys
.
vo
;
import
com.qkdata.common.constants.Constants
;
import
lombok.Data
;
@Data
public
class
QueryMenuModel
{
private
int
pageIndex
=
Constants
.
DEFAULT_PAGE
;
private
int
pageSize
=
Constants
.
DEFAULT_PAGE_SIZE
;
private
String
name
;
}
src/main/java/com/qkdata/biz/sys/vo/RoleMenuPermissionModel.java
0 → 100644
View file @
56035500
package
com
.
qkdata
.
biz
.
sys
.
vo
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
RoleMenuPermissionModel
{
private
Long
roleId
;
private
List
<
Long
>
menuIds
;
}
src/main/java/com/qkdata/common/tree/ILabelProvider.java
View file @
56035500
...
...
@@ -37,7 +37,7 @@ public interface ILabelProvider {
* @param index 索引
* @return 节点ID
*/
String
getLabelId
(
final
Object
curElement
,
final
int
level
,
final
int
index
);
Object
getLabelId
(
final
Object
curElement
,
final
int
level
,
final
int
index
);
/**
* 获取当前元素显示图标.如果不显示图标,返回null
...
...
src/main/java/com/qkdata/common/tree/TreeNode.java
View file @
56035500
...
...
@@ -13,7 +13,7 @@ public class TreeNode {
/**
* <code>id</code> - 节点ID.
*/
private
String
m_id
;
private
Object
m_id
;
/**
* <code>m_lable</code> - 节点名称.
*/
...
...
@@ -53,7 +53,7 @@ public class TreeNode {
* @param id 节点ID.
* @param values 节点属性集合.
*/
public
TreeNode
(
final
String
id
,
final
Map
<
String
,
String
>
values
)
{
public
TreeNode
(
final
Object
id
,
final
Map
<
String
,
String
>
values
)
{
this
.
m_id
=
id
;
this
.
m_extProperty
=
values
;
}
...
...
@@ -61,14 +61,14 @@ public class TreeNode {
/**
* @return id - {return content description}
*/
public
String
getId
()
{
public
Object
getId
()
{
return
m_id
;
}
/**
* @param id - {parameter description}.
*/
public
void
setId
(
final
String
id
)
{
public
void
setId
(
final
Object
id
)
{
m_id
=
id
;
}
...
...
src/main/resources/mappers/sys/SysMenuMapper.xml
View file @
56035500
...
...
@@ -4,4 +4,12 @@
<select
id=
"queryNotButtonList"
resultType=
"com.qkdata.biz.sys.entity.SysMenuPO"
>
select * from sys_menu where type != 2 order by order_num asc
</select>
<select
id=
"queryList"
resultType=
"com.qkdata.biz.sys.entity.SysMenuPO"
>
select * from sys_menu
where 1 = 1
<if
test=
"p.name != null"
>
name like concat('%',#{p.name},'%')
</if>
order by parent_id,order_num
</select>
</mapper>
\ No newline at end of file
src/main/resources/mappers/sys/SysRoleMenuMapper.xml
View file @
56035500
...
...
@@ -4,4 +4,8 @@
<select
id=
"selectMenuIdsByRoleId"
resultType=
"java.lang.Long"
>
select menu_id from sys_role_menu where role_id = #{roleId}
</select>
<select
id=
"findRoleMenuIds"
resultType=
"java.lang.Long"
>
select menu_id from sys_role_menu
where role_id = #{roleId}
</select>
</mapper>
\ No newline at end of file
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