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
jinli gu
Litemall
Commits
4c3c758b
Commit
4c3c758b
authored
Jan 07, 2019
by
Junling Bu
Browse files
feat[litemall-admin, litemall-admin-api, litemall-db]: 支持权限管理
parent
835fd6f8
Changes
50
Hide whitespace changes
Inline
Side-by-side
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/annotation/RequiresPermissionsDesc.java
0 → 100644
View file @
4c3c758b
package
org.linlinjava.litemall.admin.annotation
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
java.lang.annotation.ElementType
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.RetentionPolicy
;
import
java.lang.annotation.Target
;
@Target
({
ElementType
.
TYPE
,
ElementType
.
METHOD
})
@Retention
(
RetentionPolicy
.
RUNTIME
)
public
@interface
RequiresPermissionsDesc
{
String
[]
menu
();
String
button
();
}
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/shiro/AdminAuthorizingRealm.java
View file @
4c3c758b
...
...
@@ -10,6 +10,8 @@ import org.apache.shiro.subject.PrincipalCollection;
import
org.linlinjava.litemall.core.util.bcrypt.BCryptPasswordEncoder
;
import
org.linlinjava.litemall.db.domain.LitemallAdmin
;
import
org.linlinjava.litemall.db.service.LitemallAdminService
;
import
org.linlinjava.litemall.db.service.LitemallPermissionService
;
import
org.linlinjava.litemall.db.service.LitemallRoleService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -17,12 +19,17 @@ import org.springframework.util.Assert;
import
org.springframework.util.StringUtils
;
import
java.util.List
;
import
java.util.Set
;
public
class
AdminAuthorizingRealm
extends
AuthorizingRealm
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
AdminAuthorizingRealm
.
class
);
@Autowired
private
LitemallAdminService
adminService
;
@Autowired
private
LitemallRoleService
roleService
;
@Autowired
private
LitemallPermissionService
permissionService
;
@Override
protected
AuthorizationInfo
doGetAuthorizationInfo
(
PrincipalCollection
principals
)
{
...
...
@@ -30,9 +37,13 @@ public class AdminAuthorizingRealm extends AuthorizingRealm {
throw
new
AuthorizationException
(
"PrincipalCollection method argument cannot be null."
);
}
LitemallAdmin
admin
=
(
LitemallAdmin
)
getAvailablePrincipal
(
principals
);
Integer
[]
roleIds
=
admin
.
getRoleIds
();
Set
<
String
>
roles
=
roleService
.
queryByIds
(
roleIds
);
Set
<
String
>
permissions
=
permissionService
.
queryByRoleIds
(
roleIds
);
SimpleAuthorizationInfo
info
=
new
SimpleAuthorizationInfo
();
info
.
add
Role
(
"admin"
);
info
.
add
StringPermission
(
"*"
);
info
.
set
Role
s
(
roles
);
info
.
set
StringPermission
s
(
permissions
);
return
info
;
}
...
...
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/util/AdminResponseCode.java
View file @
4c3c758b
...
...
@@ -17,5 +17,6 @@ public class AdminResponseCode {
public
static
final
Integer
USER_INVALID_MOBILE
=
632
;
public
static
final
Integer
USER_NAME_EXIST
=
633
;
public
static
final
Integer
USER_MOBILE_EXIST
=
634
;
public
static
final
Integer
ROLE_NAME_EXIST
=
640
;
public
static
final
Integer
ROLE_SUPER_SUPERMISSION
=
641
;
}
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/util/PermVo.java
0 → 100644
View file @
4c3c758b
package
org.linlinjava.litemall.admin.util
;
import
java.util.List
;
public
class
PermVo
{
private
String
id
;
private
String
label
;
private
List
<
PermVo
>
children
;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
String
getLabel
()
{
return
label
;
}
public
void
setLabel
(
String
label
)
{
this
.
label
=
label
;
}
public
List
<
PermVo
>
getChildren
()
{
return
children
;
}
public
void
setChildren
(
List
<
PermVo
>
children
)
{
this
.
children
=
children
;
}
}
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/util/PermissionUtil.java
0 → 100644
View file @
4c3c758b
package
org.linlinjava.litemall.admin.util
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.reflect.MethodUtils
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.linlinjava.litemall.admin.annotation.RequiresPermissionsDesc
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.core.annotation.AnnotationUtils
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.util.ClassUtils
;
import
java.lang.reflect.Method
;
import
java.util.*
;
import
java.util.stream.Collectors
;
public
class
PermissionUtil
{
public
static
Map
<
RequiresPermissions
,
RequiresPermissionsDesc
>
findPermissions
(
ApplicationContext
context
,
String
basicPackage
)
{
Map
<
String
,
Object
>
map
=
context
.
getBeansWithAnnotation
(
Controller
.
class
);
Map
<
RequiresPermissions
,
RequiresPermissionsDesc
>
permissions
=
new
HashMap
<>();
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
map
.
entrySet
()){
Object
bean
=
entry
.
getValue
();
if
(!
StringUtils
.
contains
(
ClassUtils
.
getPackageName
(
bean
.
getClass
()),
basicPackage
)){
continue
;
}
Class
<?>
clz
=
bean
.
getClass
();
Class
controllerClz
=
clz
.
getSuperclass
();
List
<
Method
>
methods
=
MethodUtils
.
getMethodsListWithAnnotation
(
controllerClz
,
RequiresPermissions
.
class
);
for
(
Method
method
:
methods
){
RequiresPermissions
requiresPermissions
=
AnnotationUtils
.
getAnnotation
(
method
,
RequiresPermissions
.
class
);
RequiresPermissionsDesc
requiresPermissionsDesc
=
AnnotationUtils
.
getAnnotation
(
method
,
RequiresPermissionsDesc
.
class
);
if
(
requiresPermissions
==
null
||
requiresPermissionsDesc
==
null
){
continue
;
}
permissions
.
put
(
requiresPermissions
,
requiresPermissionsDesc
);
}
}
return
permissions
;
}
public
static
List
<
PermVo
>
listPermissions
(
ApplicationContext
context
,
String
basicPackage
)
{
List
<
PermVo
>
root
=
new
ArrayList
<>();
Map
<
RequiresPermissions
,
RequiresPermissionsDesc
>
map
=
findPermissions
(
context
,
basicPackage
);
for
(
Map
.
Entry
<
RequiresPermissions
,
RequiresPermissionsDesc
>
entry
:
map
.
entrySet
())
{
RequiresPermissions
requiresPermissions
=
entry
.
getKey
();
RequiresPermissionsDesc
requiresPermissionsDesc
=
entry
.
getValue
();
String
[]
menus
=
requiresPermissionsDesc
.
menu
();
if
(
menus
.
length
!=
2
){
throw
new
RuntimeException
(
"目前只支持两级菜单"
);
}
String
menu1
=
menus
[
0
];
PermVo
perm1
=
null
;
for
(
PermVo
permVo
:
root
){
if
(
permVo
.
getLabel
().
equals
(
menu1
)){
perm1
=
permVo
;
break
;
}
}
if
(
perm1
==
null
){
perm1
=
new
PermVo
();
perm1
.
setId
(
menu1
);
perm1
.
setLabel
(
menu1
);
perm1
.
setChildren
(
new
ArrayList
<>());
root
.
add
(
perm1
);
}
String
menu2
=
menus
[
1
];
PermVo
perm2
=
null
;
for
(
PermVo
permVo
:
perm1
.
getChildren
()){
if
(
permVo
.
getLabel
().
equals
(
menu2
)){
perm2
=
permVo
;
break
;
}
}
if
(
perm2
==
null
){
perm2
=
new
PermVo
();
perm2
.
setId
(
menu2
);
perm2
.
setLabel
(
menu2
);
perm2
.
setChildren
(
new
ArrayList
<>());
perm1
.
getChildren
().
add
(
perm2
);
}
PermVo
leftPerm
=
new
PermVo
();
leftPerm
.
setId
(
requiresPermissions
.
value
()[
0
]);
leftPerm
.
setLabel
(
requiresPermissionsDesc
.
button
());
perm2
.
getChildren
().
add
(
leftPerm
);
}
return
root
;
}
}
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminAdController.java
View file @
4c3c758b
...
...
@@ -3,6 +3,7 @@ package org.linlinjava.litemall.admin.web;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.linlinjava.litemall.admin.annotation.RequiresPermissionsDesc
;
import
org.linlinjava.litemall.core.util.ResponseUtil
;
import
org.linlinjava.litemall.core.validator.Order
;
import
org.linlinjava.litemall.core.validator.Sort
;
...
...
@@ -28,6 +29,7 @@ public class AdminAdController {
private
LitemallAdService
adService
;
@RequiresPermissions
(
"admin:ad:list"
)
@RequiresPermissionsDesc
(
menu
={
"推广管理"
,
"广告管理"
},
button
=
"查询"
)
@RequestMapping
(
"/list"
)
public
Object
list
(
String
name
,
String
content
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
page
,
...
...
@@ -56,6 +58,7 @@ public class AdminAdController {
}
@RequiresPermissions
(
"admin:ad:create"
)
@RequiresPermissionsDesc
(
menu
={
"推广管理"
,
"广告管理"
},
button
=
"添加"
)
@PostMapping
(
"/create"
)
public
Object
create
(
@RequestBody
LitemallAd
ad
)
{
Object
error
=
validate
(
ad
);
...
...
@@ -67,6 +70,7 @@ public class AdminAdController {
}
@RequiresPermissions
(
"admin:ad:read"
)
@RequiresPermissionsDesc
(
menu
={
"推广管理"
,
"广告管理"
},
button
=
"详情"
)
@GetMapping
(
"/read"
)
public
Object
read
(
@NotNull
Integer
id
)
{
LitemallAd
brand
=
adService
.
findById
(
id
);
...
...
@@ -74,6 +78,7 @@ public class AdminAdController {
}
@RequiresPermissions
(
"admin:ad:update"
)
@RequiresPermissionsDesc
(
menu
={
"推广管理"
,
"广告管理"
},
button
=
"编辑"
)
@PostMapping
(
"/update"
)
public
Object
update
(
@RequestBody
LitemallAd
ad
)
{
Object
error
=
validate
(
ad
);
...
...
@@ -88,6 +93,7 @@ public class AdminAdController {
}
@RequiresPermissions
(
"admin:ad:delete"
)
@RequiresPermissionsDesc
(
menu
={
"推广管理"
,
"广告管理"
},
button
=
"删除"
)
@PostMapping
(
"/delete"
)
public
Object
delete
(
@RequestBody
LitemallAd
ad
)
{
Integer
id
=
ad
.
getId
();
...
...
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminAdminController.java
View file @
4c3c758b
...
...
@@ -3,6 +3,7 @@ package org.linlinjava.litemall.admin.web;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.linlinjava.litemall.admin.annotation.RequiresPermissionsDesc
;
import
org.linlinjava.litemall.core.util.RegexUtil
;
import
org.linlinjava.litemall.core.util.ResponseUtil
;
import
org.linlinjava.litemall.core.util.bcrypt.BCryptPasswordEncoder
;
...
...
@@ -32,6 +33,7 @@ public class AdminAdminController {
private
LitemallAdminService
adminService
;
@RequiresPermissions
(
"admin:admin:list"
)
@RequiresPermissionsDesc
(
menu
={
"系统管理"
,
"管理员管理"
},
button
=
"查询"
)
@GetMapping
(
"/list"
)
public
Object
list
(
String
username
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
page
,
...
...
@@ -63,6 +65,7 @@ public class AdminAdminController {
}
@RequiresPermissions
(
"admin:admin:create"
)
@RequiresPermissionsDesc
(
menu
={
"系统管理"
,
"管理员管理"
},
button
=
"添加"
)
@PostMapping
(
"/create"
)
public
Object
create
(
@RequestBody
LitemallAdmin
admin
)
{
Object
error
=
validate
(
admin
);
...
...
@@ -85,6 +88,7 @@ public class AdminAdminController {
}
@RequiresPermissions
(
"admin:admin:read"
)
@RequiresPermissionsDesc
(
menu
={
"系统管理"
,
"管理员管理"
},
button
=
"详情"
)
@GetMapping
(
"/read"
)
public
Object
read
(
@NotNull
Integer
id
)
{
LitemallAdmin
admin
=
adminService
.
findById
(
id
);
...
...
@@ -92,6 +96,7 @@ public class AdminAdminController {
}
@RequiresPermissions
(
"admin:admin:update"
)
@RequiresPermissionsDesc
(
menu
={
"系统管理"
,
"管理员管理"
},
button
=
"编辑"
)
@PostMapping
(
"/update"
)
public
Object
update
(
@RequestBody
LitemallAdmin
admin
)
{
Object
error
=
validate
(
admin
);
...
...
@@ -117,6 +122,7 @@ public class AdminAdminController {
}
@RequiresPermissions
(
"admin:admin:delete"
)
@RequiresPermissionsDesc
(
menu
={
"系统管理"
,
"管理员管理"
},
button
=
"删除"
)
@PostMapping
(
"/delete"
)
public
Object
delete
(
@RequestBody
LitemallAdmin
admin
)
{
Integer
anotherAdminId
=
admin
.
getId
();
...
...
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminAuthController.java
View file @
4c3c758b
...
...
@@ -13,15 +13,14 @@ import org.linlinjava.litemall.core.util.JacksonUtil;
import
org.linlinjava.litemall.core.util.ResponseUtil
;
import
org.linlinjava.litemall.db.domain.LitemallAdmin
;
import
org.linlinjava.litemall.db.service.LitemallAdminService
;
import
org.linlinjava.litemall.db.service.LitemallPermissionService
;
import
org.linlinjava.litemall.db.service.LitemallRoleService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.StringUtils
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
import
static
org
.
linlinjava
.
litemall
.
admin
.
util
.
AdminResponseCode
.
ADMIN_INVALID_ACCOUNT
;
...
...
@@ -33,6 +32,10 @@ public class AdminAuthController {
@Autowired
private
LitemallAdminService
adminService
;
@Autowired
private
LitemallRoleService
roleService
;
@Autowired
private
LitemallPermissionService
permissionService
;
/*
* { username : value, password : value }
...
...
@@ -82,12 +85,11 @@ public class AdminAuthController {
data
.
put
(
"name"
,
admin
.
getUsername
());
data
.
put
(
"avatar"
,
admin
.
getAvatar
());
// 目前roles不支持,这里简单设置admin
Lis
t
<
String
>
roles
=
new
ArrayList
<>(
);
roles
.
add
(
"admin"
);
Integer
[]
roleIds
=
admin
.
getRoleIds
();
Se
t
<
String
>
roles
=
roleService
.
queryByIds
(
roleIds
);
Set
<
String
>
permissions
=
permissionService
.
queryByRoleIds
(
roleIds
);
data
.
put
(
"roles"
,
roles
);
data
.
put
(
"perms"
,
"*"
);
data
.
put
(
"introduction"
,
"admin introduction"
);
data
.
put
(
"perms"
,
permissions
);
return
ResponseUtil
.
ok
(
data
);
}
...
...
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminBrandController.java
View file @
4c3c758b
...
...
@@ -3,6 +3,7 @@ package org.linlinjava.litemall.admin.web;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.linlinjava.litemall.admin.annotation.RequiresPermissionsDesc
;
import
org.linlinjava.litemall.core.util.ResponseUtil
;
import
org.linlinjava.litemall.core.validator.Order
;
import
org.linlinjava.litemall.core.validator.Sort
;
...
...
@@ -29,6 +30,7 @@ public class AdminBrandController {
private
LitemallBrandService
brandService
;
@RequiresPermissions
(
"admin:brand:list"
)
@RequiresPermissionsDesc
(
menu
={
"商场管理"
,
"品牌管理"
},
button
=
"查询"
)
@GetMapping
(
"/list"
)
public
Object
list
(
String
id
,
String
name
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
page
,
...
...
@@ -63,6 +65,7 @@ public class AdminBrandController {
}
@RequiresPermissions
(
"admin:brand:create"
)
@RequiresPermissionsDesc
(
menu
={
"商场管理"
,
"品牌管理"
},
button
=
"添加"
)
@PostMapping
(
"/create"
)
public
Object
create
(
@RequestBody
LitemallBrand
brand
)
{
Object
error
=
validate
(
brand
);
...
...
@@ -74,6 +77,7 @@ public class AdminBrandController {
}
@RequiresPermissions
(
"admin:brand:read"
)
@RequiresPermissionsDesc
(
menu
={
"商场管理"
,
"品牌管理"
},
button
=
"详情"
)
@GetMapping
(
"/read"
)
public
Object
read
(
@NotNull
Integer
id
)
{
LitemallBrand
brand
=
brandService
.
findById
(
id
);
...
...
@@ -81,6 +85,7 @@ public class AdminBrandController {
}
@RequiresPermissions
(
"admin:brand:update"
)
@RequiresPermissionsDesc
(
menu
={
"商场管理"
,
"品牌管理"
},
button
=
"编辑"
)
@PostMapping
(
"/update"
)
public
Object
update
(
@RequestBody
LitemallBrand
brand
)
{
Object
error
=
validate
(
brand
);
...
...
@@ -94,6 +99,7 @@ public class AdminBrandController {
}
@RequiresPermissions
(
"admin:brand:delete"
)
@RequiresPermissionsDesc
(
menu
={
"商场管理"
,
"品牌管理"
},
button
=
"删除"
)
@PostMapping
(
"/delete"
)
public
Object
delete
(
@RequestBody
LitemallBrand
brand
)
{
Integer
id
=
brand
.
getId
();
...
...
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminCategoryController.java
View file @
4c3c758b
...
...
@@ -3,6 +3,7 @@ package org.linlinjava.litemall.admin.web;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.linlinjava.litemall.admin.annotation.RequiresPermissionsDesc
;
import
org.linlinjava.litemall.core.util.ResponseUtil
;
import
org.linlinjava.litemall.core.validator.Order
;
import
org.linlinjava.litemall.core.validator.Sort
;
...
...
@@ -29,6 +30,7 @@ public class AdminCategoryController {
private
LitemallCategoryService
categoryService
;
@RequiresPermissions
(
"admin:category:list"
)
@RequiresPermissionsDesc
(
menu
={
"商场管理"
,
"类目管理"
},
button
=
"查询"
)
@GetMapping
(
"/list"
)
public
Object
list
(
String
id
,
String
name
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
page
,
...
...
@@ -67,6 +69,7 @@ public class AdminCategoryController {
}
@RequiresPermissions
(
"admin:category:create"
)
@RequiresPermissionsDesc
(
menu
={
"商场管理"
,
"类目管理"
},
button
=
"添加"
)
@PostMapping
(
"/create"
)
public
Object
create
(
@RequestBody
LitemallCategory
category
)
{
Object
error
=
validate
(
category
);
...
...
@@ -78,6 +81,7 @@ public class AdminCategoryController {
}
@RequiresPermissions
(
"admin:category:read"
)
@RequiresPermissionsDesc
(
menu
={
"商场管理"
,
"类目管理"
},
button
=
"详情"
)
@GetMapping
(
"/read"
)
public
Object
read
(
@NotNull
Integer
id
)
{
LitemallCategory
category
=
categoryService
.
findById
(
id
);
...
...
@@ -85,6 +89,7 @@ public class AdminCategoryController {
}
@RequiresPermissions
(
"admin:category:update"
)
@RequiresPermissionsDesc
(
menu
={
"商场管理"
,
"类目管理"
},
button
=
"编辑"
)
@PostMapping
(
"/update"
)
public
Object
update
(
@RequestBody
LitemallCategory
category
)
{
Object
error
=
validate
(
category
);
...
...
@@ -99,6 +104,7 @@ public class AdminCategoryController {
}
@RequiresPermissions
(
"admin:category:delete"
)
@RequiresPermissionsDesc
(
menu
={
"商场管理"
,
"类目管理"
},
button
=
"删除"
)
@PostMapping
(
"/delete"
)
public
Object
delete
(
@RequestBody
LitemallCategory
category
)
{
Integer
id
=
category
.
getId
();
...
...
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminCollectController.java
View file @
4c3c758b
...
...
@@ -3,6 +3,7 @@ package org.linlinjava.litemall.admin.web;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.linlinjava.litemall.admin.annotation.RequiresPermissionsDesc
;
import
org.linlinjava.litemall.core.util.ResponseUtil
;
import
org.linlinjava.litemall.core.validator.Order
;
import
org.linlinjava.litemall.core.validator.Sort
;
...
...
@@ -30,6 +31,7 @@ public class AdminCollectController {
@RequiresPermissions
(
"admin:collect:list"
)
@RequiresPermissionsDesc
(
menu
={
"用户管理"
,
"用户收藏"
},
button
=
"查询"
)
@GetMapping
(
"/list"
)
public
Object
list
(
String
userId
,
String
valueId
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
page
,
...
...
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminCommentController.java
View file @
4c3c758b
...
...
@@ -3,6 +3,7 @@ package org.linlinjava.litemall.admin.web;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.linlinjava.litemall.admin.annotation.RequiresPermissionsDesc
;
import
org.linlinjava.litemall.core.util.ResponseUtil
;
import
org.linlinjava.litemall.core.validator.Order
;
import
org.linlinjava.litemall.core.validator.Sort
;
...
...
@@ -26,6 +27,7 @@ public class AdminCommentController {
private
LitemallCommentService
commentService
;
@RequiresPermissions
(
"admin:comment:list"
)
@RequiresPermissionsDesc
(
menu
={
"商品管理"
,
"评论管理"
},
button
=
"查询"
)
@GetMapping
(
"/list"
)
public
Object
list
(
String
userId
,
String
valueId
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
page
,
...
...
@@ -42,6 +44,7 @@ public class AdminCommentController {
}
@RequiresPermissions
(
"admin:comment:delete"
)
@RequiresPermissionsDesc
(
menu
={
"商品管理"
,
"评论管理"
},
button
=
"删除"
)
@PostMapping
(
"/delete"
)
public
Object
delete
(
@RequestBody
LitemallComment
comment
)
{
Integer
id
=
comment
.
getId
();
...
...
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminCouponController.java
View file @
4c3c758b
...
...
@@ -3,6 +3,7 @@ package org.linlinjava.litemall.admin.web;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.linlinjava.litemall.admin.annotation.RequiresPermissionsDesc
;
import
org.linlinjava.litemall.core.util.ResponseUtil
;
import
org.linlinjava.litemall.core.validator.Order
;
import
org.linlinjava.litemall.core.validator.Sort
;
...
...
@@ -33,6 +34,7 @@ public class AdminCouponController {
private
LitemallCouponUserService
couponUserService
;
@RequiresPermissions
(
"admin:coupon:list"
)
@RequiresPermissionsDesc
(
menu
={
"推广管理"
,
"优惠券管理"
},
button
=
"查询"
)
@GetMapping
(
"/list"
)
public
Object
list
(
String
name
,
Short
type
,
Short
status
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
page
,
...
...
@@ -49,6 +51,7 @@ public class AdminCouponController {
}
@RequiresPermissions
(
"admin:coupon:list"
)
@RequiresPermissionsDesc
(
menu
={
"推广管理"
,
"优惠券管理"
},
button
=
"查询"
)
@GetMapping
(
"/listuser"
)
public
Object
listuser
(
Integer
userId
,
Integer
couponId
,
Short
status
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
page
,
...
...
@@ -73,6 +76,7 @@ public class AdminCouponController {
}
@RequiresPermissions
(
"admin:coupon:create"
)
@RequiresPermissionsDesc
(
menu
={
"推广管理"
,
"优惠券管理"
},
button
=
"添加"
)
@PostMapping
(
"/create"
)
public
Object
create
(
@RequestBody
LitemallCoupon
coupon
)
{
Object
error
=
validate
(
coupon
);
...
...
@@ -91,6 +95,7 @@ public class AdminCouponController {
}
@RequiresPermissions
(
"admin:coupon:read"
)
@RequiresPermissionsDesc
(
menu
={
"推广管理"
,
"优惠券管理"
},
button
=
"详情"
)
@GetMapping
(
"/read"
)
public
Object
read
(
@NotNull
Integer
id
)
{
LitemallCoupon
coupon
=
couponService
.
findById
(
id
);
...
...
@@ -98,6 +103,7 @@ public class AdminCouponController {
}
@RequiresPermissions
(
"admin:coupon:update"
)
@RequiresPermissionsDesc
(
menu
={
"推广管理"
,
"优惠券管理"
},
button
=
"编辑"
)
@PostMapping
(
"/update"
)
public
Object
update
(
@RequestBody
LitemallCoupon
coupon
)
{
Object
error
=
validate
(
coupon
);
...
...
@@ -111,6 +117,7 @@ public class AdminCouponController {
}
@RequiresPermissions
(
"admin:coupon:delete"
)
@RequiresPermissionsDesc
(
menu
={
"推广管理"
,
"优惠券管理"
},
button
=
"删除"
)
@PostMapping
(
"/delete"
)
public
Object
delete
(
@RequestBody
LitemallCoupon
coupon
)
{
couponService
.
deleteById
(
coupon
.
getId
());
...
...
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminDashbordController.java
View file @
4c3c758b
...
...
@@ -2,7 +2,6 @@ package org.linlinjava.litemall.admin.web;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.linlinjava.litemall.core.util.ResponseUtil
;
import
org.linlinjava.litemall.db.service.LitemallGoodsProductService
;
import
org.linlinjava.litemall.db.service.LitemallGoodsService
;
...
...
@@ -32,7 +31,6 @@ public class AdminDashbordController {
@Autowired
private
LitemallOrderService
orderService
;
@RequiresPermissions
(
"admin:dashboard:info"
)
@GetMapping
(
""
)
public
Object
info
()
{
int
userTotal
=
userService
.
count
();
...
...
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminFeedbackController.java
View file @
4c3c758b
...
...
@@ -3,6 +3,7 @@ package org.linlinjava.litemall.admin.web;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.linlinjava.litemall.admin.annotation.RequiresPermissionsDesc
;
import
org.linlinjava.litemall.core.util.ResponseUtil
;
import
org.linlinjava.litemall.core.validator.Order
;
import
org.linlinjava.litemall.core.validator.Sort
;
...
...
@@ -33,6 +34,7 @@ public class AdminFeedbackController {
private
LitemallFeedbackService
feedbackService
;
@RequiresPermissions
(
"admin:feedback:list"
)
@RequiresPermissionsDesc
(
menu
={
"用户管理"
,
"意见反馈"
},
button
=
"查询"
)
@GetMapping
(
"/list"
)
public
Object
list
(
Integer
userId
,
String
username
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
page
,
...
...
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminFootprintController.java
View file @
4c3c758b
...
...
@@ -3,6 +3,7 @@ package org.linlinjava.litemall.admin.web;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.linlinjava.litemall.admin.annotation.RequiresPermissionsDesc
;
import
org.linlinjava.litemall.core.util.ResponseUtil
;
import
org.linlinjava.litemall.core.validator.Order
;
import
org.linlinjava.litemall.core.validator.Sort
;
...
...
@@ -29,6 +30,7 @@ public class AdminFootprintController {
private
LitemallFootprintService
footprintService
;
@RequiresPermissions
(
"admin:footprint:list"
)
@RequiresPermissionsDesc
(
menu
={
"用户管理"
,
"用户足迹"
},
button
=
"查询"
)
@GetMapping
(
"/list"
)
public
Object
list
(
String
userId
,
String
goodsId
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
page
,
...
...
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminGoodsController.java
View file @
4c3c758b
...
...
@@ -3,6 +3,7 @@ package org.linlinjava.litemall.admin.web;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.linlinjava.litemall.admin.annotation.RequiresPermissionsDesc
;
import
org.linlinjava.litemall.admin.dao.GoodsAllinone
;
import
org.linlinjava.litemall.admin.util.CatVo
;
import
org.linlinjava.litemall.core.qcode.QCodeService
;
...
...
@@ -60,6 +61,7 @@ public class AdminGoodsController {
private
QCodeService
qCodeService
;
@RequiresPermissions
(
"admin:goods:list"
)
@RequiresPermissionsDesc
(
menu
={
"商品管理"
,
"商品列表"
},
button
=
"查询"
)
@GetMapping
(
"/list"
)
public
Object
list
(
String
goodsSn
,
String
name
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
page
,
...
...
@@ -162,6 +164,7 @@ public class AdminGoodsController {
* 所以这里可能需要重新设计。
*/
@RequiresPermissions
(
"admin:goods:update"
)
@RequiresPermissionsDesc
(
menu
={
"商品管理"
,
"商品列表"
},
button
=
"编辑"
)
@PostMapping
(
"/update"
)
public
Object
update
(
@RequestBody
GoodsAllinone
goodsAllinone
)
{
Object
error
=
validate
(
goodsAllinone
);
...
...
@@ -234,6 +237,7 @@ public class AdminGoodsController {
}
@RequiresPermissions
(
"admin:goods:delete"
)
@RequiresPermissionsDesc
(
menu
={
"商品管理"
,
"商品列表"
},
button
=
"删除"
)
@PostMapping
(
"/delete"
)
public
Object
delete
(
@RequestBody
LitemallGoods
goods
)
{
Integer
id
=
goods
.
getId
();
...
...
@@ -262,6 +266,7 @@ public class AdminGoodsController {
}
@RequiresPermissions
(
"admin:goods:create"
)
@RequiresPermissionsDesc
(
menu
={
"商品管理"
,
"商品上架"
},
button
=
"上架"
)
@PostMapping
(
"/create"
)
public
Object
create
(
@RequestBody
GoodsAllinone
goodsAllinone
)
{
Object
error
=
validate
(
goodsAllinone
);
...
...
@@ -325,6 +330,7 @@ public class AdminGoodsController {
}
@RequiresPermissions
(
"admin:goods:list"
)
@RequiresPermissionsDesc
(
menu
={
"商品管理"
,
"商品列表"
},
button
=
"查询"
)
@GetMapping
(
"/catAndBrand"
)
public
Object
list2
()
{
// http://element-cn.eleme.io/#/zh-CN/component/cascader
...
...
@@ -368,6 +374,7 @@ public class AdminGoodsController {
}
@RequiresPermissions
(
"admin:goods:read"
)
@RequiresPermissionsDesc
(
menu
={
"商品管理"
,
"商品列表"
},
button
=
"编辑"
)
@GetMapping
(
"/detail"
)
public
Object
detail
(
@NotNull
Integer
id
)
{
LitemallGoods
goods
=
goodsService
.
findById
(
id
);
...
...
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminGrouponController.java
View file @
4c3c758b
...
...
@@ -3,6 +3,7 @@ package org.linlinjava.litemall.admin.web;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.linlinjava.litemall.admin.annotation.RequiresPermissionsDesc
;
import
org.linlinjava.litemall.core.util.ResponseUtil
;
import
org.linlinjava.litemall.core.validator.Order
;
import
org.linlinjava.litemall.core.validator.Sort
;
...
...
@@ -37,6 +38,7 @@ public class AdminGrouponController {
private
LitemallGrouponService
grouponService
;
@RequiresPermissions
(
"admin:groupon:read"
)
@RequiresPermissionsDesc
(
menu
={
"推广管理"
,
"团购管理"
},
button
=
"查询"
)
@GetMapping
(
"/listRecord"
)
public
Object
listRecord
(
String
grouponId
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
page
,
...
...
@@ -72,7 +74,8 @@ public class AdminGrouponController {
return
ResponseUtil
.
ok
(
data
);
}
@RequiresPermissions
(
"admin:groupon:delete"
)
@RequiresPermissions
(
"admin:groupon:list"
)
@RequiresPermissionsDesc
(
menu
={
"推广管理"
,
"团购管理"
},
button
=
"查询"
)
@GetMapping
(
"/list"
)
public
Object
list
(
String
goodsId
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
page
,
...
...
@@ -110,6 +113,7 @@ public class AdminGrouponController {
}
@RequiresPermissions
(
"admin:groupon:update"
)
@RequiresPermissionsDesc
(
menu
={
"推广管理"
,
"团购管理"
},
button
=
"编辑"
)
@PostMapping
(
"/update"
)
public
Object
update
(
@RequestBody
LitemallGrouponRules
grouponRules
)
{
Object
error
=
validate
(
grouponRules
);
...
...
@@ -134,6 +138,7 @@ public class AdminGrouponController {
}
@RequiresPermissions
(
"admin:groupon:create"
)
@RequiresPermissionsDesc
(
menu
={
"推广管理"
,
"团购管理"
},
button
=
"添加"
)
@PostMapping
(
"/create"
)
public
Object
create
(
@RequestBody
LitemallGrouponRules
grouponRules
)
{
Object
error
=
validate
(
grouponRules
);
...
...
@@ -156,6 +161,7 @@ public class AdminGrouponController {
}
@RequiresPermissions
(
"admin:groupon:delete"
)
@RequiresPermissionsDesc
(
menu
={
"推广管理"
,
"团购管理"
},
button
=
"删除"
)
@PostMapping
(
"/delete"
)
public
Object
delete
(
@RequestBody
LitemallGrouponRules
grouponRules
)
{
Integer
id
=
grouponRules
.
getId
();
...
...
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminHistoryController.java
View file @
4c3c758b
...
...
@@ -3,6 +3,7 @@ package org.linlinjava.litemall.admin.web;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.linlinjava.litemall.admin.annotation.RequiresPermissionsDesc
;
import
org.linlinjava.litemall.core.util.ResponseUtil
;
import
org.linlinjava.litemall.core.validator.Order
;
import
org.linlinjava.litemall.core.validator.Sort
;
...
...
@@ -27,6 +28,7 @@ public class AdminHistoryController {
private
LitemallSearchHistoryService
searchHistoryService
;
@RequiresPermissions
(
"admin:history:list"
)
@RequiresPermissionsDesc
(
menu
={
"用户管理"
,
"搜索历史"
},
button
=
"查询"
)
@GetMapping
(
"/list"
)
public
Object
list
(
String
userId
,
String
keyword
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
page
,
...
...
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminIndexController.java
View file @
4c3c758b
...
...
@@ -3,6 +3,7 @@ package org.linlinjava.litemall.admin.web;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.apache.shiro.authz.annotation.*
;
import
org.linlinjava.litemall.admin.annotation.RequiresPermissionsDesc
;
import
org.linlinjava.litemall.core.util.ResponseUtil
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -48,12 +49,14 @@ public class AdminIndexController {
}
@RequiresPermissions
(
"index:permission:read"
)
@RequiresPermissionsDesc
(
menu
={
"其他"
,
"权限测试"
},
button
=
"权限读"
)
@RequestMapping
(
"/read"
)
public
Object
read
()
{
return
ResponseUtil
.
ok
(
"hello world, this is admin service"
);
}
@RequiresPermissions
(
"index:permission:write"
)
@RequiresPermissionsDesc
(
menu
={
"其他"
,
"权限测试"
},
button
=
"权限写"
)
@RequestMapping
(
"/write"
)
public
Object
write
()
{
return
ResponseUtil
.
ok
(
"hello world, this is admin service"
);
...
...
Prev
1
2
3
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