Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
backend-java
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
other-project
backend-java
Commits
d5346e65
Commit
d5346e65
authored
Feb 05, 2020
by
liuyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
角色管理功能完成
parent
01a7f2ce
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
265 additions
and
7 deletions
+265
-7
SysMenuController.java
...java/com/qkdata/biz/sys/controller/SysMenuController.java
+13
-0
SysRoleController.java
...java/com/qkdata/biz/sys/controller/SysRoleController.java
+39
-3
SysMenuPO.java
src/main/java/com/qkdata/biz/sys/entity/SysMenuPO.java
+1
-1
SysRoleMenuPO.java
src/main/java/com/qkdata/biz/sys/entity/SysRoleMenuPO.java
+2
-2
QueryRoleModel.java
src/main/java/com/qkdata/biz/sys/model/QueryRoleModel.java
+12
-0
SysRoleModel.java
src/main/java/com/qkdata/biz/sys/model/SysRoleModel.java
+15
-0
SysRoleMapper.java
...ain/java/com/qkdata/biz/sys/repository/SysRoleMapper.java
+6
-0
SysRoleMenuMapper.java
...java/com/qkdata/biz/sys/repository/SysRoleMenuMapper.java
+5
-0
SysUserRoleMapper.java
...java/com/qkdata/biz/sys/repository/SysUserRoleMapper.java
+2
-0
SysMenuService.java
src/main/java/com/qkdata/biz/sys/service/SysMenuService.java
+5
-0
SysRoleMenuService.java
...n/java/com/qkdata/biz/sys/service/SysRoleMenuService.java
+46
-0
SysRoleService.java
src/main/java/com/qkdata/biz/sys/service/SysRoleService.java
+64
-0
SysUserRoleService.java
...n/java/com/qkdata/biz/sys/service/SysUserRoleService.java
+4
-0
SysRoleMapper.xml
src/main/resources/mappers/SysRoleMapper.xml
+25
-0
SysRoleMenurMapper.xml
src/main/resources/mappers/SysRoleMenurMapper.xml
+18
-0
SysUserMapper.xml
src/main/resources/mappers/SysUserMapper.xml
+1
-1
SysUserRoleMapper.xml
src/main/resources/mappers/SysUserRoleMapper.xml
+7
-0
No files found.
src/main/java/com/qkdata/biz/sys/controller/SysMenuController.java
View file @
d5346e65
...
...
@@ -6,6 +6,7 @@ import com.qkdata.biz.sys.service.ShiroService;
import
com.qkdata.biz.sys.service.SysMenuService
;
import
com.qkdata.common.util.UserContext
;
import
io.swagger.annotations.Api
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -30,4 +31,16 @@ public class SysMenuController {
SysNavDTO
navDTO
=
new
SysNavDTO
(
menuList
,
permissions
);
return
navDTO
;
}
@GetMapping
(
"/list"
)
@RequiresPermissions
(
"sys:menu:list"
)
public
List
<
SysMenuPO
>
list
(){
List
<
SysMenuPO
>
menuList
=
sysMenuService
.
allList
();
for
(
SysMenuPO
menuPO
:
menuList
){
SysMenuPO
parentMenu
=
sysMenuService
.
getById
(
menuPO
.
getParentId
());
if
(
parentMenu
!=
null
){
menuPO
.
setParentName
(
parentMenu
.
getName
());
}
}
return
menuList
;
}
}
src/main/java/com/qkdata/biz/sys/controller/SysRoleController.java
View file @
d5346e65
package
com
.
qkdata
.
biz
.
sys
.
controller
;
import
com.qkdata.biz.sys.entity.SysRolePO
;
import
com.qkdata.biz.sys.model.QueryRoleModel
;
import
com.qkdata.biz.sys.model.SysRoleModel
;
import
com.qkdata.biz.sys.service.SysRoleService
;
import
com.qkdata.common.base.model.PageDTO
;
import
io.swagger.annotations.Api
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.
web.bind.annotation.GetMapping
;
import
org.springframework.
web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.
RestController
;
import
org.springframework.
http.HttpStatus
;
import
org.springframework.
validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.
*
;
import
java.util.List
;
...
...
@@ -26,4 +29,37 @@ public class SysRoleController {
public
List
<
SysRolePO
>
select
(){
return
sysRoleService
.
listByCondition
(
new
SysRolePO
());
}
@GetMapping
(
"/list"
)
@RequiresPermissions
(
"sys:role:list"
)
public
PageDTO
<
SysRolePO
>
list
(
QueryRoleModel
queryRoleModel
){
return
sysRoleService
.
queryPageList
(
queryRoleModel
);
}
@GetMapping
(
"/info/{id}"
)
@RequiresPermissions
(
"sys:role:info"
)
public
SysRoleModel
info
(
@PathVariable
Long
id
){
return
sysRoleService
.
getRoleInfo
(
id
);
}
@PostMapping
(
"/save"
)
@RequiresPermissions
(
"sys:role:save"
)
@ResponseStatus
(
HttpStatus
.
NO_CONTENT
)
public
void
save
(
@RequestBody
@Validated
SysRoleModel
sysRoleModel
){
sysRoleService
.
saveRole
(
sysRoleModel
);
}
@PostMapping
(
"/update"
)
@RequiresPermissions
(
"sys:role:update"
)
@ResponseStatus
(
HttpStatus
.
NO_CONTENT
)
public
void
update
(
@RequestBody
@Validated
SysRoleModel
sysRoleModel
){
sysRoleService
.
updateRole
(
sysRoleModel
);
}
@PostMapping
(
"/delete"
)
@RequiresPermissions
(
"sys:role:delete"
)
@ResponseStatus
(
HttpStatus
.
NO_CONTENT
)
public
void
delete
(
@RequestBody
Long
[]
ids
){
sysRoleService
.
deleteBatch
(
ids
);
}
}
src/main/java/com/qkdata/biz/sys/entity/SysMenuPO.java
View file @
d5346e65
...
...
@@ -13,7 +13,7 @@ import java.util.List;
@Table
(
name
=
"sys_menu"
)
public
class
SysMenuPO
extends
BasePO
{
private
Integer
parentId
;
private
Long
parentId
;
/**
* 非数据库中字段
*/
...
...
src/main/java/com/qkdata/biz/sys/entity/SysRoleMenuPO.java
View file @
d5346e65
...
...
@@ -8,6 +8,6 @@ import javax.persistence.Table;
@Data
@Table
(
name
=
"sys_role_menu"
)
public
class
SysRoleMenuPO
extends
BasePO
{
private
Integer
roleId
;
private
Integer
menuId
;
private
Long
roleId
;
private
Long
menuId
;
}
src/main/java/com/qkdata/biz/sys/model/QueryRoleModel.java
0 → 100644
View file @
d5346e65
package
com
.
qkdata
.
biz
.
sys
.
model
;
import
com.qkdata.biz.base.constants.Constants
;
import
lombok.Data
;
@Data
public
class
QueryRoleModel
{
private
Integer
pageIndex
=
1
;
private
Integer
pageSize
=
Constants
.
DEFAULT_PAGE_SIZE
;
private
String
name
;
}
src/main/java/com/qkdata/biz/sys/model/SysRoleModel.java
0 → 100644
View file @
d5346e65
package
com
.
qkdata
.
biz
.
sys
.
model
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
java.util.List
;
@Data
public
class
SysRoleModel
{
private
Long
id
;
@NotBlank
(
message
=
"角色名称不能为空"
)
private
String
name
;
private
String
remark
;
private
List
<
Long
>
menuIdList
;
}
src/main/java/com/qkdata/biz/sys/repository/SysRoleMapper.java
View file @
d5346e65
package
com
.
qkdata
.
biz
.
sys
.
repository
;
import
com.qkdata.biz.sys.entity.SysRolePO
;
import
com.qkdata.biz.sys.model.QueryRoleModel
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
public
interface
SysRoleMapper
extends
Mapper
<
SysRolePO
>
{
List
<
SysRolePO
>
selectByCondition
(
QueryRoleModel
queryRoleModel
);
void
deleteByIds
(
Long
[]
ids
);
}
src/main/java/com/qkdata/biz/sys/repository/SysRoleMenuMapper.java
View file @
d5346e65
...
...
@@ -3,5 +3,10 @@ package com.qkdata.biz.sys.repository;
import
com.qkdata.biz.sys.entity.SysRoleMenuPO
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
public
interface
SysRoleMenuMapper
extends
Mapper
<
SysRoleMenuPO
>
{
void
deleteByRoleIds
(
Long
[]
roleIds
);
List
<
Long
>
selectMenuIdsByRoleId
(
Long
roleId
);
}
src/main/java/com/qkdata/biz/sys/repository/SysUserRoleMapper.java
View file @
d5346e65
...
...
@@ -11,4 +11,6 @@ public interface SysUserRoleMapper extends Mapper<SysUserRolePO> {
void
deleteByUserId
(
Long
userId
);
void
deleteByUserIds
(
Long
[]
userIds
);
void
deleteByRoleIds
(
Long
[]
roleIds
);
}
src/main/java/com/qkdata/biz/sys/service/SysMenuService.java
View file @
d5346e65
...
...
@@ -18,6 +18,7 @@ import java.util.List;
public
class
SysMenuService
extends
BaseServiceImpl
<
SysMenuPO
,
Long
>
{
@Autowired
private
SysMenuMapper
sysMenuMapper
;
@Autowired
private
SysUserMapper
sysUserMapper
;
@Override
...
...
@@ -80,4 +81,8 @@ public class SysMenuService extends BaseServiceImpl<SysMenuPO,Long> {
}
return
userMenuList
;
}
public
List
<
SysMenuPO
>
allList
()
{
return
sysMenuMapper
.
selectAll
();
}
}
src/main/java/com/qkdata/biz/sys/service/SysRoleMenuService.java
0 → 100644
View file @
d5346e65
package
com
.
qkdata
.
biz
.
sys
.
service
;
import
com.qkdata.biz.sys.entity.SysRoleMenuPO
;
import
com.qkdata.biz.sys.repository.SysRoleMenuMapper
;
import
com.qkdata.common.base.service.impl.BaseServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
@Service
public
class
SysRoleMenuService
extends
BaseServiceImpl
<
SysRoleMenuPO
,
Long
>
{
@Autowired
private
SysRoleMenuMapper
sysRoleMenuMapper
;
@Override
protected
Mapper
<
SysRoleMenuPO
>
getMapper
()
{
return
sysRoleMenuMapper
;
}
public
void
saveOrUpdate
(
Long
roleId
,
List
<
Long
>
menuIdList
)
{
deleteByRoleIds
(
new
Long
[]{
roleId
});
if
(
CollectionUtils
.
isEmpty
(
menuIdList
)){
return
;
}
for
(
Long
menuId
:
menuIdList
){
SysRoleMenuPO
po
=
new
SysRoleMenuPO
();
po
.
setRoleId
(
roleId
);
po
.
setMenuId
(
menuId
);
save
(
po
);
}
}
public
List
<
Long
>
queryMenuIdList
(
Long
roleId
)
{
return
sysRoleMenuMapper
.
selectMenuIdsByRoleId
(
roleId
);
}
public
void
deleteByRoleIds
(
Long
[]
roleIds
)
{
sysRoleMenuMapper
.
deleteByRoleIds
(
roleIds
);
}
}
src/main/java/com/qkdata/biz/sys/service/SysRoleService.java
View file @
d5346e65
package
com
.
qkdata
.
biz
.
sys
.
service
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.qkdata.biz.sys.entity.SysRolePO
;
import
com.qkdata.biz.sys.model.QueryRoleModel
;
import
com.qkdata.biz.sys.model.SysRoleModel
;
import
com.qkdata.biz.sys.repository.SysRoleMapper
;
import
com.qkdata.common.base.exception.BusinessException
;
import
com.qkdata.common.base.model.PageDTO
;
import
com.qkdata.common.base.service.impl.BaseServiceImpl
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
@Service
public
class
SysRoleService
extends
BaseServiceImpl
<
SysRolePO
,
Long
>
{
@Autowired
private
SysRoleMapper
sysRoleMapper
;
@Autowired
private
SysRoleMenuService
sysRoleMenuService
;
@Autowired
private
SysUserRoleService
sysUserRoleService
;
@Override
protected
Mapper
<
SysRolePO
>
getMapper
()
{
return
sysRoleMapper
;
}
public
PageDTO
<
SysRolePO
>
queryPageList
(
QueryRoleModel
queryRoleModel
)
{
PageHelper
.
startPage
(
queryRoleModel
.
getPageIndex
(),
queryRoleModel
.
getPageSize
());
List
<
SysRolePO
>
rolePOList
=
sysRoleMapper
.
selectByCondition
(
queryRoleModel
);
return
new
PageDTO
<>(
new
PageInfo
<>(
rolePOList
));
}
@Transactional
public
void
saveRole
(
SysRoleModel
sysRoleModel
)
{
SysRolePO
po
=
new
SysRolePO
();
BeanUtils
.
copyProperties
(
sysRoleModel
,
po
);
save
(
po
);
sysRoleMenuService
.
saveOrUpdate
(
po
.
getId
(),
sysRoleModel
.
getMenuIdList
());
}
public
SysRoleModel
getRoleInfo
(
Long
id
)
{
SysRolePO
po
=
getById
(
id
);
if
(
po
==
null
){
throw
new
BusinessException
(
"请求错误,未找到对应角色"
);
}
List
<
Long
>
menuIds
=
sysRoleMenuService
.
queryMenuIdList
(
po
.
getId
());
SysRoleModel
model
=
new
SysRoleModel
();
BeanUtils
.
copyProperties
(
po
,
model
);
model
.
setMenuIdList
(
menuIds
);
return
model
;
}
@Transactional
public
void
deleteBatch
(
Long
[]
ids
)
{
sysRoleMapper
.
deleteByIds
(
ids
);
sysRoleMenuService
.
deleteByRoleIds
(
ids
);
sysUserRoleService
.
deleteByRoleIds
(
ids
);
}
@Transactional
public
void
updateRole
(
SysRoleModel
sysRoleModel
)
{
SysRolePO
po
=
getById
(
sysRoleModel
.
getId
());
if
(
po
==
null
){
throw
new
BusinessException
(
"请求错误,角色不存在"
);
}
po
.
setName
(
sysRoleModel
.
getName
());
po
.
setRemark
(
sysRoleModel
.
getRemark
());
updateById
(
po
);
sysRoleMenuService
.
saveOrUpdate
(
po
.
getId
(),
sysRoleModel
.
getMenuIdList
());
}
}
src/main/java/com/qkdata/biz/sys/service/SysUserRoleService.java
View file @
d5346e65
...
...
@@ -42,4 +42,8 @@ public class SysUserRoleService extends BaseServiceImpl<SysUserRolePO,Long> {
public
void
deleteByUserIds
(
Long
[]
userIds
)
{
sysUserRoleMapper
.
deleteByUserIds
(
userIds
);
}
public
void
deleteByRoleIds
(
Long
[]
roleIds
)
{
sysUserRoleMapper
.
deleteByRoleIds
(
roleIds
);
}
}
src/main/resources/mappers/SysRoleMapper.xml
0 → 100644
View file @
d5346e65
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.qkdata.biz.sys.repository.SysRoleMapper"
>
<select
id=
"selectByCondition"
resultType=
"com.qkdata.biz.sys.entity.SysRolePO"
parameterType=
"com.qkdata.biz.sys.model.QueryRoleModel"
>
select id,name,remark
from sys_role
where 1=1
<if
test=
"name != null and name != ''"
>
and name like concat('%',#{name},'%')
</if>
order by id desc
</select>
<delete
id=
"deleteByIds"
>
delete from sys_role where id in
<foreach
collection=
"array"
item=
"id"
open=
"("
close=
")"
separator=
","
>
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
src/main/resources/mappers/SysRoleMenurMapper.xml
0 → 100644
View file @
d5346e65
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.qkdata.biz.sys.repository.SysRoleMenuMapper"
>
<delete
id=
"deleteByRoleIds"
>
delete from sys_role_menu where role_id in
<foreach
collection=
"array"
item=
"roleId"
open=
"("
close=
")"
separator=
","
>
#{roleId}
</foreach>
</delete>
<select
id=
"selectMenuIdsByRoleId"
resultType=
"long"
>
select menu_id from sys_role_menu where role_id = #{roleId}
</select>
</mapper>
\ No newline at end of file
src/main/resources/mappers/SysUserMapper.xml
View file @
d5346e65
...
...
@@ -6,7 +6,7 @@
<select
id=
"queryAllPerms"
resultType=
"string"
>
select m.perms from sys_user_role ur
LEFT JOIN sys_role_menu rm on ur.role_id = rm.role_id
LEFT JOIN sys_menu m on rm.menu_id = m.
menu_
id
LEFT JOIN sys_menu m on rm.menu_id = m.id
where ur.user_id = #{userId}
</select>
<!-- 查询用户的所有菜单ID -->
...
...
src/main/resources/mappers/SysUserRoleMapper.xml
View file @
d5346e65
...
...
@@ -23,4 +23,10 @@
#{userId}
</foreach>
</delete>
<delete
id=
"deleteByRoleIds"
>
delete from sys_user_role where role_id in
<foreach
collection=
"array"
item=
"roleId"
open=
"("
close=
")"
separator=
","
>
#{roleId}
</foreach>
</delete>
</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