Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
wwwanlingxiao
mall
Commits
ecc50c4b
Commit
ecc50c4b
authored
Feb 16, 2020
by
macro
Browse files
添加权限管理相关接口
parent
f1bec5df
Changes
26
Hide whitespace changes
Inline
Side-by-side
mall-admin/src/main/java/com/macro/mall/service/impl/UmsResourceCategoryServiceImpl.java
0 → 100644
View file @
ecc50c4b
package
com.macro.mall.service.impl
;
import
com.macro.mall.mapper.UmsResourceCategoryMapper
;
import
com.macro.mall.model.UmsResourceCategory
;
import
com.macro.mall.model.UmsResourceCategoryExample
;
import
com.macro.mall.service.UmsResourceCategoryService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
import
java.util.List
;
/**
* 后台资源分类管理Service实现类
* Created by macro on 2020/2/5.
*/
@Service
public
class
UmsResourceCategoryServiceImpl
implements
UmsResourceCategoryService
{
@Autowired
private
UmsResourceCategoryMapper
resourceCategoryMapper
;
@Override
public
List
<
UmsResourceCategory
>
listAll
()
{
UmsResourceCategoryExample
example
=
new
UmsResourceCategoryExample
();
example
.
setOrderByClause
(
"sort desc"
);
return
resourceCategoryMapper
.
selectByExample
(
example
);
}
@Override
public
int
create
(
UmsResourceCategory
umsResourceCategory
)
{
umsResourceCategory
.
setCreateTime
(
new
Date
());
return
resourceCategoryMapper
.
insert
(
umsResourceCategory
);
}
@Override
public
int
update
(
Long
id
,
UmsResourceCategory
umsResourceCategory
)
{
umsResourceCategory
.
setId
(
id
);
return
resourceCategoryMapper
.
updateByPrimaryKeySelective
(
umsResourceCategory
);
}
@Override
public
int
delete
(
Long
id
)
{
return
resourceCategoryMapper
.
deleteByPrimaryKey
(
id
);
}
}
mall-admin/src/main/java/com/macro/mall/service/impl/UmsResourceServiceImpl.java
0 → 100644
View file @
ecc50c4b
package
com.macro.mall.service.impl
;
import
cn.hutool.core.util.StrUtil
;
import
com.github.pagehelper.PageHelper
;
import
com.macro.mall.mapper.UmsResourceMapper
;
import
com.macro.mall.model.UmsResource
;
import
com.macro.mall.model.UmsResourceExample
;
import
com.macro.mall.service.UmsResourceService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
import
java.util.List
;
/**
* 后台资源管理Service实现类
* Created by macro on 2020/2/2.
*/
@Service
public
class
UmsResourceServiceImpl
implements
UmsResourceService
{
@Autowired
private
UmsResourceMapper
resourceMapper
;
@Override
public
int
create
(
UmsResource
umsResource
)
{
umsResource
.
setCreateTime
(
new
Date
());
return
resourceMapper
.
insert
(
umsResource
);
}
@Override
public
int
update
(
Long
id
,
UmsResource
umsResource
)
{
umsResource
.
setId
(
id
);
return
resourceMapper
.
updateByPrimaryKeySelective
(
umsResource
);
}
@Override
public
UmsResource
getItem
(
Long
id
)
{
return
resourceMapper
.
selectByPrimaryKey
(
id
);
}
@Override
public
int
delete
(
Long
id
)
{
return
resourceMapper
.
deleteByPrimaryKey
(
id
);
}
@Override
public
List
<
UmsResource
>
list
(
Long
categoryId
,
String
nameKeyword
,
String
urlKeyword
,
Integer
pageSize
,
Integer
pageNum
)
{
PageHelper
.
startPage
(
pageNum
,
pageSize
);
UmsResourceExample
example
=
new
UmsResourceExample
();
UmsResourceExample
.
Criteria
criteria
=
example
.
createCriteria
();
if
(
categoryId
!=
null
){
criteria
.
andCategoryIdEqualTo
(
categoryId
);
}
if
(
StrUtil
.
isNotEmpty
(
nameKeyword
)){
criteria
.
andNameLike
(
'%'
+
nameKeyword
+
'%'
);
}
if
(
StrUtil
.
isNotEmpty
(
urlKeyword
)){
criteria
.
andUrlLike
(
'%'
+
urlKeyword
+
'%'
);
}
return
resourceMapper
.
selectByExample
(
example
);
}
@Override
public
List
<
UmsResource
>
listAll
()
{
return
resourceMapper
.
selectByExample
(
new
UmsResourceExample
());
}
}
mall-admin/src/main/java/com/macro/mall/service/impl/UmsRoleServiceImpl.java
View file @
ecc50c4b
package
com.macro.mall.service.impl
;
import
com.github.pagehelper.PageHelper
;
import
com.macro.mall.dao.UmsRoleDao
;
import
com.macro.mall.dao.UmsRolePermissionRelationDao
;
import
com.macro.mall.mapper.UmsRoleMapper
;
import
com.macro.mall.mapper.UmsRoleMenuRelationMapper
;
import
com.macro.mall.mapper.UmsRolePermissionRelationMapper
;
import
com.macro.mall.mapper.UmsRoleResourceRelationMapper
;
import
com.macro.mall.model.*
;
import
com.macro.mall.service.UmsRoleService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.StringUtils
;
import
java.util.ArrayList
;
import
java.util.Date
;
...
...
@@ -23,11 +28,16 @@ public class UmsRoleServiceImpl implements UmsRoleService {
@Autowired
private
UmsRolePermissionRelationMapper
rolePermissionRelationMapper
;
@Autowired
private
UmsRoleMenuRelationMapper
roleMenuRelationMapper
;
@Autowired
private
UmsRoleResourceRelationMapper
roleResourceRelationMapper
;
@Autowired
private
UmsRolePermissionRelationDao
rolePermissionRelationDao
;
@Autowired
private
UmsRoleDao
roleDao
;
@Override
public
int
create
(
UmsRole
role
)
{
role
.
setCreateTime
(
new
Date
());
role
.
setStatus
(
1
);
role
.
setAdminCount
(
0
);
role
.
setSort
(
0
);
return
roleMapper
.
insert
(
role
);
...
...
@@ -36,7 +46,7 @@ public class UmsRoleServiceImpl implements UmsRoleService {
@Override
public
int
update
(
Long
id
,
UmsRole
role
)
{
role
.
setId
(
id
);
return
roleMapper
.
updateByPrimaryKey
(
role
);
return
roleMapper
.
updateByPrimaryKey
Selective
(
role
);
}
@Override
...
...
@@ -72,4 +82,61 @@ public class UmsRoleServiceImpl implements UmsRoleService {
public
List
<
UmsRole
>
list
()
{
return
roleMapper
.
selectByExample
(
new
UmsRoleExample
());
}
@Override
public
List
<
UmsRole
>
list
(
String
keyword
,
Integer
pageSize
,
Integer
pageNum
)
{
PageHelper
.
startPage
(
pageNum
,
pageSize
);
UmsRoleExample
example
=
new
UmsRoleExample
();
if
(!
StringUtils
.
isEmpty
(
keyword
))
{
example
.
createCriteria
().
andNameLike
(
"%"
+
keyword
+
"%"
);
}
return
roleMapper
.
selectByExample
(
example
);
}
@Override
public
List
<
UmsMenu
>
getMenuList
(
Long
adminId
)
{
return
roleDao
.
getMenuList
(
adminId
);
}
@Override
public
List
<
UmsMenu
>
listMenu
(
Long
roleId
)
{
return
roleDao
.
getMenuListByRoleId
(
roleId
);
}
@Override
public
List
<
UmsResource
>
listResource
(
Long
roleId
)
{
return
roleDao
.
getResourceListByRoleId
(
roleId
);
}
@Override
public
int
allocMenu
(
Long
roleId
,
List
<
Long
>
menuIds
)
{
//先删除原有关系
UmsRoleMenuRelationExample
example
=
new
UmsRoleMenuRelationExample
();
example
.
createCriteria
().
andRoleIdEqualTo
(
roleId
);
roleMenuRelationMapper
.
deleteByExample
(
example
);
//批量插入新关系
for
(
Long
menuId
:
menuIds
)
{
UmsRoleMenuRelation
relation
=
new
UmsRoleMenuRelation
();
relation
.
setRoleId
(
roleId
);
relation
.
setMenuId
(
menuId
);
roleMenuRelationMapper
.
insert
(
relation
);
}
return
menuIds
.
size
();
}
@Override
public
int
allocResource
(
Long
roleId
,
List
<
Long
>
resourceIds
)
{
//先删除原有关系
UmsRoleResourceRelationExample
example
=
new
UmsRoleResourceRelationExample
();
example
.
createCriteria
().
andRoleIdEqualTo
(
roleId
);
roleResourceRelationMapper
.
deleteByExample
(
example
);
//批量插入新关系
for
(
Long
resourceId
:
resourceIds
)
{
UmsRoleResourceRelation
relation
=
new
UmsRoleResourceRelation
();
relation
.
setRoleId
(
roleId
);
relation
.
setResourceId
(
resourceId
);
roleResourceRelationMapper
.
insert
(
relation
);
}
return
resourceIds
.
size
();
}
}
mall-admin/src/main/resources/application.yml
View file @
ecc50c4b
...
...
@@ -33,6 +33,8 @@ secure:
-
/druid/**
-
/admin/login
-
/admin/register
-
/admin/info
-
/admin/logout
-
/minio/upload
aliyun
:
...
...
mall-admin/src/main/resources/dao/UmsAdminRoleRelationDao.xml
View file @
ecc50c4b
...
...
@@ -52,4 +52,23 @@
pr.type = 1
AND pr.admin_id = #{adminId}
</select>
<select
id=
"getResourceList"
resultType=
"com.macro.mall.model.UmsResource"
>
SELECT
ur.id id,
ur.create_time createTime,
ur.`name` `name`,
ur.url url,
ur.description description,
ur.category_id categoryId
FROM
ums_admin_role_relation ar
LEFT JOIN ums_role r ON ar.role_id = r.id
LEFT JOIN ums_role_resource_relation rrr ON r.id = rrr.role_id
LEFT JOIN ums_resource ur ON ur.id = rrr.resource_id
WHERE
ar.admin_id = #{adminId}
AND ur.id IS NOT NULL
GROUP BY
ur.id
</select>
</mapper>
\ No newline at end of file
mall-admin/src/main/resources/dao/UmsRoleDao.xml
0 → 100644
View file @
ecc50c4b
<?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.macro.mall.dao.UmsRoleDao"
>
<select
id=
"getMenuList"
resultType=
"com.macro.mall.model.UmsMenu"
>
SELECT
m.id id,
m.parent_id parentId,
m.create_time createTime,
m.title title,
m.level level,
m.sort sort,
m.name name,
m.icon icon,
m.hidden hidden
FROM
ums_admin_role_relation arr
LEFT JOIN ums_role r ON arr.role_id = r.id
LEFT JOIN ums_role_menu_relation rmr ON r.id = rmr.role_id
LEFT JOIN ums_menu m ON rmr.menu_id = m.id
WHERE
arr.admin_id = #{adminId}
AND m.id IS NOT NULL
GROUP BY
m.id
</select>
<select
id=
"getMenuListByRoleId"
resultType=
"com.macro.mall.model.UmsMenu"
>
SELECT
m.id id,
m.parent_id parentId,
m.create_time createTime,
m.title title,
m.level level,
m.sort sort,
m.name name,
m.icon icon,
m.hidden hidden
FROM
ums_role_menu_relation rmr
LEFT JOIN ums_menu m ON rmr.menu_id = m.id
WHERE
rmr.role_id = #{roleId}
AND m.id IS NOT NULL
GROUP BY
m.id
</select>
<select
id=
"getResourceListByRoleId"
resultType=
"com.macro.mall.model.UmsResource"
>
SELECT
r.id id,
r.create_time createTime,
r.`name` `name`,
r.url url,
r.description description,
r.category_id categoryId
FROM
ums_role_resource_relation rrr
LEFT JOIN ums_resource r ON rrr.resource_id = r.id
WHERE
rrr.role_id = #{roleId}
AND r.id IS NOT NULL
GROUP BY
r.id
</select>
</mapper>
\ No newline at end of file
Prev
1
2
Next
Write
Preview
Supports
Markdown
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