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
Eladmin
Commits
0f0392d7
"eladmin-system/vscode:/vscode.git/clone" did not exist on "a49bd6d127aed39c2f116eea9e4af10f6b8d6913"
Commit
0f0392d7
authored
Sep 26, 2019
by
dqjdda
Browse files
Merge branch '2.2DEV'
parents
d0ffe1a8
f9bb8cf2
Changes
72
Hide whitespace changes
Inline
Side-by-side
eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/MenuDTO.java
View file @
0f0392d7
...
@@ -27,6 +27,12 @@ public class MenuDTO {
...
@@ -27,6 +27,12 @@ public class MenuDTO {
private
Boolean
iFrame
;
private
Boolean
iFrame
;
private
Boolean
cache
;
private
Boolean
hidden
;
private
String
componentName
;
private
String
icon
;
private
String
icon
;
private
List
<
MenuDTO
>
children
;
private
List
<
MenuDTO
>
children
;
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MenuServiceImpl.java
View file @
0f0392d7
package
me.zhengjie.modules.system.service.impl
;
package
me.zhengjie.modules.system.service.impl
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.RandomUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
me.zhengjie.modules.system.domain.Menu
;
import
me.zhengjie.modules.system.domain.Menu
;
import
me.zhengjie.modules.system.domain.vo.MenuMetaVo
;
import
me.zhengjie.modules.system.domain.vo.MenuMetaVo
;
...
@@ -8,11 +10,13 @@ import me.zhengjie.exception.BadRequestException;
...
@@ -8,11 +10,13 @@ import me.zhengjie.exception.BadRequestException;
import
me.zhengjie.exception.EntityExistException
;
import
me.zhengjie.exception.EntityExistException
;
import
me.zhengjie.modules.system.repository.MenuRepository
;
import
me.zhengjie.modules.system.repository.MenuRepository
;
import
me.zhengjie.modules.system.service.MenuService
;
import
me.zhengjie.modules.system.service.MenuService
;
import
me.zhengjie.modules.system.service.RoleService
;
import
me.zhengjie.modules.system.service.dto.MenuDTO
;
import
me.zhengjie.modules.system.service.dto.MenuDTO
;
import
me.zhengjie.modules.system.service.dto.MenuQueryCriteria
;
import
me.zhengjie.modules.system.service.dto.MenuQueryCriteria
;
import
me.zhengjie.modules.system.service.dto.RoleSmallDTO
;
import
me.zhengjie.modules.system.service.dto.RoleSmallDTO
;
import
me.zhengjie.modules.system.service.mapper.MenuMapper
;
import
me.zhengjie.modules.system.service.mapper.MenuMapper
;
import
me.zhengjie.utils.QueryHelp
;
import
me.zhengjie.utils.QueryHelp
;
import
me.zhengjie.utils.StringUtils
;
import
me.zhengjie.utils.ValidationUtil
;
import
me.zhengjie.utils.ValidationUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -31,6 +35,9 @@ public class MenuServiceImpl implements MenuService {
...
@@ -31,6 +35,9 @@ public class MenuServiceImpl implements MenuService {
@Autowired
@Autowired
private
MenuMapper
menuMapper
;
private
MenuMapper
menuMapper
;
@Autowired
private
RoleService
roleService
;
@Override
@Override
public
List
queryAll
(
MenuQueryCriteria
criteria
){
public
List
queryAll
(
MenuQueryCriteria
criteria
){
return
menuMapper
.
toDto
(
menuRepository
.
findAll
((
root
,
criteriaQuery
,
criteriaBuilder
)
->
QueryHelp
.
getPredicate
(
root
,
criteria
,
criteriaBuilder
)));
return
menuMapper
.
toDto
(
menuRepository
.
findAll
((
root
,
criteriaQuery
,
criteriaBuilder
)
->
QueryHelp
.
getPredicate
(
root
,
criteria
,
criteriaBuilder
)));
...
@@ -58,6 +65,11 @@ public class MenuServiceImpl implements MenuService {
...
@@ -58,6 +65,11 @@ public class MenuServiceImpl implements MenuService {
if
(
menuRepository
.
findByName
(
resources
.
getName
())
!=
null
){
if
(
menuRepository
.
findByName
(
resources
.
getName
())
!=
null
){
throw
new
EntityExistException
(
Menu
.
class
,
"name"
,
resources
.
getName
());
throw
new
EntityExistException
(
Menu
.
class
,
"name"
,
resources
.
getName
());
}
}
if
(
StringUtils
.
isNotBlank
(
resources
.
getComponentName
())){
if
(
menuRepository
.
findByComponentName
(
resources
.
getComponentName
())
!=
null
){
throw
new
EntityExistException
(
Menu
.
class
,
"componentName"
,
resources
.
getComponentName
());
}
}
if
(
resources
.
getIFrame
()){
if
(
resources
.
getIFrame
()){
if
(!(
resources
.
getPath
().
toLowerCase
().
startsWith
(
"http://"
)||
resources
.
getPath
().
toLowerCase
().
startsWith
(
"https://"
)))
{
if
(!(
resources
.
getPath
().
toLowerCase
().
startsWith
(
"http://"
)||
resources
.
getPath
().
toLowerCase
().
startsWith
(
"https://"
)))
{
throw
new
BadRequestException
(
"外链必须以http://或者https://开头"
);
throw
new
BadRequestException
(
"外链必须以http://或者https://开头"
);
...
@@ -85,6 +97,13 @@ public class MenuServiceImpl implements MenuService {
...
@@ -85,6 +97,13 @@ public class MenuServiceImpl implements MenuService {
if
(
menu1
!=
null
&&
!
menu1
.
getId
().
equals
(
menu
.
getId
())){
if
(
menu1
!=
null
&&
!
menu1
.
getId
().
equals
(
menu
.
getId
())){
throw
new
EntityExistException
(
Menu
.
class
,
"name"
,
resources
.
getName
());
throw
new
EntityExistException
(
Menu
.
class
,
"name"
,
resources
.
getName
());
}
}
if
(
StringUtils
.
isNotBlank
(
resources
.
getComponentName
())){
menu1
=
menuRepository
.
findByComponentName
(
resources
.
getComponentName
());
if
(
menu1
!=
null
&&
!
menu1
.
getId
().
equals
(
menu
.
getId
())){
throw
new
EntityExistException
(
Menu
.
class
,
"componentName"
,
resources
.
getComponentName
());
}
}
menu
.
setName
(
resources
.
getName
());
menu
.
setName
(
resources
.
getName
());
menu
.
setComponent
(
resources
.
getComponent
());
menu
.
setComponent
(
resources
.
getComponent
());
menu
.
setPath
(
resources
.
getPath
());
menu
.
setPath
(
resources
.
getPath
());
...
@@ -92,12 +111,32 @@ public class MenuServiceImpl implements MenuService {
...
@@ -92,12 +111,32 @@ public class MenuServiceImpl implements MenuService {
menu
.
setIFrame
(
resources
.
getIFrame
());
menu
.
setIFrame
(
resources
.
getIFrame
());
menu
.
setPid
(
resources
.
getPid
());
menu
.
setPid
(
resources
.
getPid
());
menu
.
setSort
(
resources
.
getSort
());
menu
.
setSort
(
resources
.
getSort
());
menu
.
setCache
(
resources
.
getCache
());
menu
.
setHidden
(
resources
.
getHidden
());
menu
.
setComponentName
(
resources
.
getComponentName
());
menuRepository
.
save
(
menu
);
menuRepository
.
save
(
menu
);
}
}
@Override
@Override
public
void
delete
(
Long
id
)
{
public
Set
<
Menu
>
getDeleteMenus
(
List
<
Menu
>
menuList
,
Set
<
Menu
>
menuSet
)
{
menuRepository
.
deleteById
(
id
);
// 递归找出待删除的菜单
for
(
Menu
menu1
:
menuList
)
{
menuSet
.
add
(
menu1
);
List
<
Menu
>
menus
=
menuRepository
.
findByPid
(
menu1
.
getId
());
if
(
menus
!=
null
&&
menus
.
size
()!=
0
){
getDeleteMenus
(
menus
,
menuSet
);
}
}
return
menuSet
;
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
delete
(
Set
<
Menu
>
menuSet
)
{
for
(
Menu
menu
:
menuSet
)
{
roleService
.
untiedMenu
(
menu
.
getId
());
menuRepository
.
deleteById
(
menu
.
getId
());
}
}
}
@Override
@Override
...
@@ -127,24 +166,26 @@ public class MenuServiceImpl implements MenuService {
...
@@ -127,24 +166,26 @@ public class MenuServiceImpl implements MenuService {
@Override
@Override
public
Map
buildTree
(
List
<
MenuDTO
>
menuDTOS
)
{
public
Map
buildTree
(
List
<
MenuDTO
>
menuDTOS
)
{
List
<
MenuDTO
>
trees
=
new
ArrayList
<
MenuDTO
>();
List
<
MenuDTO
>
trees
=
new
ArrayList
<
MenuDTO
>();
Set
<
Long
>
ids
=
new
HashSet
<>();
for
(
MenuDTO
menuDTO
:
menuDTOS
)
{
for
(
MenuDTO
menuDTO
:
menuDTOS
)
{
if
(
menuDTO
.
getPid
()
==
0
)
{
if
(
"0"
.
equals
(
menuDTO
.
getPid
().
toString
()))
{
trees
.
add
(
menuDTO
);
trees
.
add
(
menuDTO
);
}
}
for
(
MenuDTO
it
:
menuDTOS
)
{
for
(
MenuDTO
it
:
menuDTOS
)
{
if
(
it
.
getPid
().
equals
(
menuDTO
.
getId
()))
{
if
(
it
.
getPid
().
equals
(
menuDTO
.
getId
()))
{
if
(
menuDTO
.
getChildren
()
==
null
)
{
if
(
menuDTO
.
getChildren
()
==
null
)
{
menuDTO
.
setChildren
(
new
ArrayList
<
MenuDTO
>());
menuDTO
.
setChildren
(
new
ArrayList
<
MenuDTO
>());
}
}
menuDTO
.
getChildren
().
add
(
it
);
menuDTO
.
getChildren
().
add
(
it
);
ids
.
add
(
it
.
getId
());
}
}
}
}
}
}
Map
map
=
new
HashMap
();
Map
map
=
new
HashMap
();
map
.
put
(
"content"
,
trees
.
size
()
==
0
?
menuDTOS:
trees
);
if
(
trees
.
size
()
==
0
){
trees
=
menuDTOS
.
stream
().
filter
(
s
->
!
ids
.
contains
(
s
.
getId
())).
collect
(
Collectors
.
toList
());
}
map
.
put
(
"content"
,
trees
);
map
.
put
(
"totalElements"
,
menuDTOS
!=
null
?
menuDTOS
.
size
():
0
);
map
.
put
(
"totalElements"
,
menuDTOS
!=
null
?
menuDTOS
.
size
():
0
);
return
map
;
return
map
;
}
}
...
@@ -156,26 +197,25 @@ public class MenuServiceImpl implements MenuService {
...
@@ -156,26 +197,25 @@ public class MenuServiceImpl implements MenuService {
if
(
menuDTO
!=
null
){
if
(
menuDTO
!=
null
){
List
<
MenuDTO
>
menuDTOList
=
menuDTO
.
getChildren
();
List
<
MenuDTO
>
menuDTOList
=
menuDTO
.
getChildren
();
MenuVo
menuVo
=
new
MenuVo
();
MenuVo
menuVo
=
new
MenuVo
();
menuVo
.
setName
(
menuDTO
.
getName
());
menuVo
.
setName
(
ObjectUtil
.
isNotEmpty
(
menuDTO
.
getComponentName
())
?
menuDTO
.
getComponentName
()
:
menuDTO
.
getName
());
menuVo
.
setPath
(
menuDTO
.
getPath
());
// 一级目录需要加斜杠,不然会报警告
menuVo
.
setPath
(
menuDTO
.
getPid
()
==
0
?
"/"
+
menuDTO
.
getPath
()
:
menuDTO
.
getPath
());
menuVo
.
setHidden
(
menuDTO
.
getHidden
());
// 如果不是外链
// 如果不是外链
if
(!
menuDTO
.
getIFrame
()){
if
(!
menuDTO
.
getIFrame
()){
if
(
menuDTO
.
getPid
().
equals
(
0L
)){
if
(
menuDTO
.
getPid
()
==
0
){
//一级目录需要加斜杠,不然访问 会跳转404页面
menuVo
.
setPath
(
"/"
+
menuDTO
.
getPath
());
menuVo
.
setComponent
(
StrUtil
.
isEmpty
(
menuDTO
.
getComponent
())?
"Layout"
:
menuDTO
.
getComponent
());
menuVo
.
setComponent
(
StrUtil
.
isEmpty
(
menuDTO
.
getComponent
())?
"Layout"
:
menuDTO
.
getComponent
());
}
else
if
(!
StrUtil
.
isEmpty
(
menuDTO
.
getComponent
())){
}
else
if
(!
StrUtil
.
isEmpty
(
menuDTO
.
getComponent
())){
menuVo
.
setComponent
(
menuDTO
.
getComponent
());
menuVo
.
setComponent
(
menuDTO
.
getComponent
());
}
}
}
}
menuVo
.
setMeta
(
new
MenuMetaVo
(
menuDTO
.
getName
(),
menuDTO
.
getIcon
()));
menuVo
.
setMeta
(
new
MenuMetaVo
(
menuDTO
.
getName
(),
menuDTO
.
getIcon
()
,!
menuDTO
.
getCache
()
));
if
(
menuDTOList
!=
null
&&
menuDTOList
.
size
()!=
0
){
if
(
menuDTOList
!=
null
&&
menuDTOList
.
size
()!=
0
){
menuVo
.
setAlwaysShow
(
true
);
menuVo
.
setAlwaysShow
(
true
);
menuVo
.
setRedirect
(
"noredirect"
);
menuVo
.
setRedirect
(
"noredirect"
);
menuVo
.
setChildren
(
buildMenus
(
menuDTOList
));
menuVo
.
setChildren
(
buildMenus
(
menuDTOList
));
// 处理是一级菜单并且没有子菜单的情况
// 处理是一级菜单并且没有子菜单的情况
}
else
if
(
menuDTO
.
getPid
()
.
equals
(
0L
)
){
}
else
if
(
menuDTO
.
getPid
()
==
0
){
MenuVo
menuVo1
=
new
MenuVo
();
MenuVo
menuVo1
=
new
MenuVo
();
menuVo1
.
setMeta
(
menuVo
.
getMeta
());
menuVo1
.
setMeta
(
menuVo
.
getMeta
());
// 非外链
// 非外链
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/PermissionServiceImpl.java
View file @
0f0392d7
...
@@ -5,6 +5,7 @@ import me.zhengjie.exception.BadRequestException;
...
@@ -5,6 +5,7 @@ import me.zhengjie.exception.BadRequestException;
import
me.zhengjie.exception.EntityExistException
;
import
me.zhengjie.exception.EntityExistException
;
import
me.zhengjie.modules.system.repository.PermissionRepository
;
import
me.zhengjie.modules.system.repository.PermissionRepository
;
import
me.zhengjie.modules.system.service.PermissionService
;
import
me.zhengjie.modules.system.service.PermissionService
;
import
me.zhengjie.modules.system.service.RoleService
;
import
me.zhengjie.modules.system.service.dto.PermissionDTO
;
import
me.zhengjie.modules.system.service.dto.PermissionDTO
;
import
me.zhengjie.modules.system.service.dto.PermissionQueryCriteria
;
import
me.zhengjie.modules.system.service.dto.PermissionQueryCriteria
;
import
me.zhengjie.modules.system.service.mapper.PermissionMapper
;
import
me.zhengjie.modules.system.service.mapper.PermissionMapper
;
...
@@ -30,6 +31,9 @@ public class PermissionServiceImpl implements PermissionService {
...
@@ -30,6 +31,9 @@ public class PermissionServiceImpl implements PermissionService {
@Autowired
@Autowired
private
PermissionMapper
permissionMapper
;
private
PermissionMapper
permissionMapper
;
@Autowired
private
RoleService
roleService
;
@Override
@Override
public
List
<
PermissionDTO
>
queryAll
(
PermissionQueryCriteria
criteria
)
{
public
List
<
PermissionDTO
>
queryAll
(
PermissionQueryCriteria
criteria
)
{
return
permissionMapper
.
toDto
(
permissionRepository
.
findAll
((
root
,
criteriaQuery
,
criteriaBuilder
)
->
QueryHelp
.
getPredicate
(
root
,
criteria
,
criteriaBuilder
)));
return
permissionMapper
.
toDto
(
permissionRepository
.
findAll
((
root
,
criteriaQuery
,
criteriaBuilder
)
->
QueryHelp
.
getPredicate
(
root
,
criteria
,
criteriaBuilder
)));
...
@@ -74,14 +78,26 @@ public class PermissionServiceImpl implements PermissionService {
...
@@ -74,14 +78,26 @@ public class PermissionServiceImpl implements PermissionService {
permissionRepository
.
save
(
permission
);
permissionRepository
.
save
(
permission
);
}
}
@Override
public
Set
<
Permission
>
getDeletePermission
(
List
<
Permission
>
permissions
,
Set
<
Permission
>
permissionSet
)
{
// 递归找出待删除的菜单
for
(
Permission
permission
:
permissions
)
{
permissionSet
.
add
(
permission
);
List
<
Permission
>
permissionList
=
permissionRepository
.
findByPid
(
permission
.
getId
());
if
(
permissionList
!=
null
&&
permissionList
.
size
()!=
0
){
getDeletePermission
(
permissionList
,
permissionSet
);
}
}
return
permissionSet
;
}
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
delete
(
Long
id
)
{
public
void
delete
(
Set
<
Permission
>
permissions
)
{
List
<
Permission
>
permission
List
=
permission
Repository
.
findByPid
(
id
);
for
(
Permission
permission
:
permission
s
)
{
for
(
Permission
p
ermission
:
permission
List
)
{
roleService
.
untiedP
ermission
(
permission
.
getId
());
permissionRepository
.
delete
(
permission
);
permissionRepository
.
delete
(
permission
);
}
}
permissionRepository
.
deleteById
(
id
);
}
}
@Override
@Override
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java
View file @
0f0392d7
package
me.zhengjie.modules.system.service.impl
;
package
me.zhengjie.modules.system.service.impl
;
import
me.zhengjie.modules.system.domain.Menu
;
import
me.zhengjie.modules.system.domain.Role
;
import
me.zhengjie.modules.system.domain.Role
;
import
me.zhengjie.exception.EntityExistException
;
import
me.zhengjie.exception.EntityExistException
;
import
me.zhengjie.modules.system.repository.RoleRepository
;
import
me.zhengjie.modules.system.repository.RoleRepository
;
...
@@ -44,6 +43,11 @@ public class RoleServiceImpl implements RoleService {
...
@@ -44,6 +43,11 @@ public class RoleServiceImpl implements RoleService {
return
roleMapper
.
toDto
(
roleRepository
.
findAll
(
pageable
).
getContent
());
return
roleMapper
.
toDto
(
roleRepository
.
findAll
(
pageable
).
getContent
());
}
}
@Override
public
List
<
RoleDTO
>
queryAll
(
RoleQueryCriteria
criteria
)
{
return
roleMapper
.
toDto
(
roleRepository
.
findAll
((
root
,
criteriaQuery
,
criteriaBuilder
)
->
QueryHelp
.
getPredicate
(
root
,
criteria
,
criteriaBuilder
)));
}
@Override
@Override
public
Object
queryAll
(
RoleQueryCriteria
criteria
,
Pageable
pageable
)
{
public
Object
queryAll
(
RoleQueryCriteria
criteria
,
Pageable
pageable
)
{
Page
<
Role
>
page
=
roleRepository
.
findAll
((
root
,
criteriaQuery
,
criteriaBuilder
)
->
QueryHelp
.
getPredicate
(
root
,
criteria
,
criteriaBuilder
),
pageable
);
Page
<
Role
>
page
=
roleRepository
.
findAll
((
root
,
criteriaQuery
,
criteriaBuilder
)
->
QueryHelp
.
getPredicate
(
root
,
criteria
,
criteriaBuilder
),
pageable
);
...
@@ -104,13 +108,15 @@ public class RoleServiceImpl implements RoleService {
...
@@ -104,13 +108,15 @@ public class RoleServiceImpl implements RoleService {
}
}
@Override
@Override
public
void
untiedMenu
(
Menu
menu
)
{
@Transactional
(
rollbackFor
=
Exception
.
class
)
Set
<
Role
>
roles
=
roleRepository
.
findByMenus_Id
(
menu
.
getId
());
public
void
untiedMenu
(
Long
id
)
{
for
(
Role
role
:
roles
)
{
roleRepository
.
untiedMenu
(
id
);
menu
.
getRoles
().
remove
(
role
);
}
role
.
getMenus
().
remove
(
menu
);
roleRepository
.
save
(
role
);
@Override
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
untiedPermission
(
Long
id
)
{
roleRepository
.
untiedPermission
(
id
);
}
}
@Override
@Override
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java
View file @
0f0392d7
package
me.zhengjie.modules.system.service.impl
;
package
me.zhengjie.modules.system.service.impl
;
import
cn.hutool.core.io.IoUtil
;
import
cn.hutool.poi.excel.ExcelUtil
;
import
cn.hutool.poi.excel.ExcelWriter
;
import
me.zhengjie.modules.monitor.service.RedisService
;
import
me.zhengjie.modules.monitor.service.RedisService
;
import
me.zhengjie.modules.system.domain.User
;
import
me.zhengjie.modules.system.domain.User
;
import
me.zhengjie.exception.EntityExistException
;
import
me.zhengjie.exception.EntityExistException
;
import
me.zhengjie.exception.EntityNotFoundException
;
import
me.zhengjie.exception.EntityNotFoundException
;
import
me.zhengjie.modules.system.domain.UserAvatar
;
import
me.zhengjie.modules.system.repository.UserAvatarRepository
;
import
me.zhengjie.modules.system.repository.UserRepository
;
import
me.zhengjie.modules.system.repository.UserRepository
;
import
me.zhengjie.modules.system.service.UserService
;
import
me.zhengjie.modules.system.service.UserService
;
import
me.zhengjie.modules.system.service.dto.RoleSmallDTO
;
import
me.zhengjie.modules.system.service.dto.UserDTO
;
import
me.zhengjie.modules.system.service.dto.UserDTO
;
import
me.zhengjie.modules.system.service.dto.UserQueryCriteria
;
import
me.zhengjie.modules.system.service.dto.UserQueryCriteria
;
import
me.zhengjie.modules.system.service.mapper.UserMapper
;
import
me.zhengjie.modules.system.service.mapper.UserMapper
;
import
me.zhengjie.utils.PageUtil
;
import
me.zhengjie.utils.*
;
import
me.zhengjie.utils.QueryHelp
;
import
me.zhengjie.utils.ValidationUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.Date
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.Optional
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.File
;
import
java.io.IOException
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
/**
* @author Zheng Jie
* @author Zheng Jie
...
@@ -38,12 +49,24 @@ public class UserServiceImpl implements UserService {
...
@@ -38,12 +49,24 @@ public class UserServiceImpl implements UserService {
@Autowired
@Autowired
private
RedisService
redisService
;
private
RedisService
redisService
;
@Autowired
private
UserAvatarRepository
userAvatarRepository
;
@Value
(
"${file.avatar}"
)
private
String
avatar
;
@Override
@Override
public
Object
queryAll
(
UserQueryCriteria
criteria
,
Pageable
pageable
)
{
public
Object
queryAll
(
UserQueryCriteria
criteria
,
Pageable
pageable
)
{
Page
<
User
>
page
=
userRepository
.
findAll
((
root
,
criteriaQuery
,
criteriaBuilder
)
->
QueryHelp
.
getPredicate
(
root
,
criteria
,
criteriaBuilder
),
pageable
);
Page
<
User
>
page
=
userRepository
.
findAll
((
root
,
criteriaQuery
,
criteriaBuilder
)
->
QueryHelp
.
getPredicate
(
root
,
criteria
,
criteriaBuilder
),
pageable
);
return
PageUtil
.
toPage
(
page
.
map
(
userMapper:
:
toDto
));
return
PageUtil
.
toPage
(
page
.
map
(
userMapper:
:
toDto
));
}
}
@Override
public
List
<
UserDTO
>
queryAll
(
UserQueryCriteria
criteria
)
{
List
<
User
>
users
=
userRepository
.
findAll
((
root
,
criteriaQuery
,
criteriaBuilder
)
->
QueryHelp
.
getPredicate
(
root
,
criteria
,
criteriaBuilder
));
return
userMapper
.
toDto
(
users
);
}
@Override
@Override
public
UserDTO
findById
(
long
id
)
{
public
UserDTO
findById
(
long
id
)
{
Optional
<
User
>
user
=
userRepository
.
findById
(
id
);
Optional
<
User
>
user
=
userRepository
.
findById
(
id
);
...
@@ -65,7 +88,6 @@ public class UserServiceImpl implements UserService {
...
@@ -65,7 +88,6 @@ public class UserServiceImpl implements UserService {
// 默认密码 123456,此密码是加密后的字符
// 默认密码 123456,此密码是加密后的字符
resources
.
setPassword
(
"e10adc3949ba59abbe56e057f20f883e"
);
resources
.
setPassword
(
"e10adc3949ba59abbe56e057f20f883e"
);
resources
.
setAvatar
(
"https://i.loli.net/2019/04/04/5ca5b971e1548.jpeg"
);
return
userMapper
.
toDto
(
userRepository
.
save
(
resources
));
return
userMapper
.
toDto
(
userRepository
.
save
(
resources
));
}
}
...
@@ -135,8 +157,20 @@ public class UserServiceImpl implements UserService {
...
@@ -135,8 +157,20 @@ public class UserServiceImpl implements UserService {
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
updateAvatar
(
String
username
,
String
url
)
{
public
void
updateAvatar
(
MultipartFile
multipartFile
)
{
userRepository
.
updateAvatar
(
username
,
url
);
User
user
=
userRepository
.
findByUsername
(
SecurityUtils
.
getUsername
());
UserAvatar
userAvatar
=
user
.
getUserAvatar
();
String
oldPath
=
""
;
if
(
userAvatar
!=
null
){
oldPath
=
userAvatar
.
getPath
();
}
File
file
=
FileUtil
.
upload
(
multipartFile
,
avatar
);
userAvatar
=
userAvatarRepository
.
save
(
new
UserAvatar
(
userAvatar
,
file
.
getName
(),
file
.
getPath
(),
FileUtil
.
getSize
(
multipartFile
.
getSize
())));
user
.
setUserAvatar
(
userAvatar
);
userRepository
.
save
(
user
);
if
(
StringUtils
.
isNotBlank
(
oldPath
)){
FileUtil
.
del
(
oldPath
);
}
}
}
@Override
@Override
...
@@ -144,4 +178,25 @@ public class UserServiceImpl implements UserService {
...
@@ -144,4 +178,25 @@ public class UserServiceImpl implements UserService {
public
void
updateEmail
(
String
username
,
String
email
)
{
public
void
updateEmail
(
String
username
,
String
email
)
{
userRepository
.
updateEmail
(
username
,
email
);
userRepository
.
updateEmail
(
username
,
email
);
}
}
@Override
public
void
download
(
List
<
UserDTO
>
queryAll
,
HttpServletResponse
response
)
throws
IOException
{
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<>();
for
(
UserDTO
userDTO
:
queryAll
)
{
List
roles
=
userDTO
.
getRoles
().
stream
().
map
(
RoleSmallDTO:
:
getName
).
collect
(
Collectors
.
toList
());
Map
map
=
new
LinkedHashMap
();
map
.
put
(
"用户名"
,
userDTO
.
getUsername
());
map
.
put
(
"头像"
,
userDTO
.
getAvatar
());
map
.
put
(
"邮箱"
,
userDTO
.
getEmail
());
map
.
put
(
"状态"
,
userDTO
.
getEnabled
()
?
"启用"
:
"禁用"
);
map
.
put
(
"手机号码"
,
userDTO
.
getPhone
());
map
.
put
(
"角色"
,
roles
);
map
.
put
(
"部门"
,
userDTO
.
getDept
().
getName
());
map
.
put
(
"岗位"
,
userDTO
.
getJob
().
getName
());
map
.
put
(
"最后修改密码的时间"
,
userDTO
.
getLastPasswordResetTime
());
map
.
put
(
"创建日期"
,
userDTO
.
getCreateTime
());
list
.
add
(
map
);
}
FileUtil
.
downloadExcel
(
list
,
response
);
}
}
}
eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapper/UserMapper.java
View file @
0f0392d7
...
@@ -4,8 +4,11 @@ import me.zhengjie.modules.system.domain.User;
...
@@ -4,8 +4,11 @@ import me.zhengjie.modules.system.domain.User;
import
me.zhengjie.mapper.EntityMapper
;
import
me.zhengjie.mapper.EntityMapper
;
import
me.zhengjie.modules.system.service.dto.UserDTO
;
import
me.zhengjie.modules.system.service.dto.UserDTO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mapping
;
import
org.mapstruct.ReportingPolicy
;
import
org.mapstruct.ReportingPolicy
;
import
java.util.List
;
/**
/**
* @author Zheng Jie
* @author Zheng Jie
* @date 2018-11-23
* @date 2018-11-23
...
@@ -13,4 +16,6 @@ import org.mapstruct.ReportingPolicy;
...
@@ -13,4 +16,6 @@ import org.mapstruct.ReportingPolicy;
@Mapper
(
componentModel
=
"spring"
,
uses
=
{
RoleMapper
.
class
,
DeptMapper
.
class
,
JobMapper
.
class
},
unmappedTargetPolicy
=
ReportingPolicy
.
IGNORE
)
@Mapper
(
componentModel
=
"spring"
,
uses
=
{
RoleMapper
.
class
,
DeptMapper
.
class
,
JobMapper
.
class
},
unmappedTargetPolicy
=
ReportingPolicy
.
IGNORE
)
public
interface
UserMapper
extends
EntityMapper
<
UserDTO
,
User
>
{
public
interface
UserMapper
extends
EntityMapper
<
UserDTO
,
User
>
{
@Mapping
(
source
=
"user.userAvatar.realName"
,
target
=
"avatar"
)
UserDTO
toDto
(
User
user
);
}
}
eladmin-system/src/main/resources/config/application-dev.yml
View file @
0f0392d7
...
@@ -45,8 +45,8 @@ spring:
...
@@ -45,8 +45,8 @@ spring:
jwt
:
jwt
:
header
:
Authorization
header
:
Authorization
secret
:
mySecret
secret
:
mySecret
# token 过期时间
2
个小时
# token 过期时间
6
个小时
expiration
:
7
200000
expiration
:
2
10
00000
auth
:
auth
:
# 授权路径
# 授权路径
path
:
/login
path
:
/login
...
@@ -59,4 +59,12 @@ generator:
...
@@ -59,4 +59,12 @@ generator:
#是否开启 swagger-ui
#是否开启 swagger-ui
swagger
:
swagger
:
enabled
:
true
enabled
:
true
\ No newline at end of file
# 文件存储路径
file
:
path
:
C:\eladmin\file\
avatar
:
C:\eladmin\avatar\
# 文件大小 /M
maxSize
:
100
avatarMaxSize
:
5
\ No newline at end of file
eladmin-system/src/main/resources/config/application-prod.yml
View file @
0f0392d7
...
@@ -68,4 +68,12 @@ generator:
...
@@ -68,4 +68,12 @@ generator:
#是否开启 swagger-ui
#是否开启 swagger-ui
swagger
:
swagger
:
enabled
:
false
enabled
:
false
\ No newline at end of file
# 文件存储路径
file
:
path
:
/home/eladmin/file/
avatar
:
/home/eladmin/avatar/
# 文件大小 /M
maxSize
:
100
avatarMaxSize
:
5
\ No newline at end of file
eladmin-system/src/main/resources/generator.properties
View file @
0f0392d7
#
Êý¾Ý¿âÀàÐÍת»»
³ÉjavaÀàÐÍ
#
数据库类型转Java类型
tinyint
=
Integer
tinyint
=
Integer
smallint
=
Integer
smallint
=
Integer
mediumint
=
Integer
mediumint
=
Integer
...
...
eladmin-system/src/main/resources/logback.xml
View file @
0f0392d7
...
@@ -24,7 +24,8 @@
...
@@ -24,7 +24,8 @@
<appender-ref
ref=
"console"
/>
<appender-ref
ref=
"console"
/>
</logger>
</logger>
<logger
name=
"jdbc.resultsettable"
level=
"INFO"
additivity=
"false"
>
<!-- 如想看到表格数据,将OFF改为INFO -->
<logger
name=
"jdbc.resultsettable"
level=
"OFF"
additivity=
"false"
>
<appender-ref
ref=
"console"
/>
<appender-ref
ref=
"console"
/>
</logger>
</logger>
...
...
eladmin-system/src/main/resources/template/generator/admin/Service.ftl
View file @
0f0392d7
...
@@ -3,10 +3,12 @@ package ${package}.service;
...
@@ -3,10 +3,12 @@ package ${package}.service;
import
$
{
package
}
.domain.$
{
className
}
;
import
$
{
package
}
.domain.$
{
className
}
;
import
$
{
package
}
.service.dto.$
{
className
}
DTO;
import
$
{
package
}
.service.dto.$
{
className
}
DTO;
import
$
{
package
}
.service.dto.$
{
className
}
QueryCriteria;
import
$
{
package
}
.service.dto.$
{
className
}
QueryCriteria;
//
import
org.springframework.cache.annotation.CacheConfig;
import
org.springframework.cache.annotation.CacheConfig;
//
import
org.springframework.cache.annotation.CacheEvict;
import
org.springframework.cache.annotation.CacheEvict;
//
import
org.springframework.cache.annotation.Cacheable;
import
org.springframework.cache.annotation.Cacheable;
import
org.springframework.data.domain.Pageable;
import
org.springframework.data.domain.Pageable;
import
java.util.Map;
import
java.util.List;
/**
/**
*
@author $
{
author
}
*
@author $
{
author
}
...
@@ -16,24 +18,24 @@ import org.springframework.data.domain.Pageable;
...
@@ -16,24 +18,24 @@ import org.springframework.data.domain.Pageable;
public
interface $
{
className
}
Service
{
public
interface $
{
className
}
Service
{
/
**
/
**
*
queryAll
分页
*
查询数据
分页
*
@
param
criteria
*
@
param
criteria
*
@
param
pageable
*
@
param
pageable
*
@
return
*
@
return
*
/
*
/
//@
C
acheable
(
keyGenerator
=
"keyGenerator"
)
//@
C
acheable
O
bject
queryAll
(
$
{
className
}
Q
ueryCriteria
criteria
,
P
ageable
pageable
)
;
M
ap
<
S
tring
,
O
bject
>
queryAll
(
$
{
className
}
Q
ueryCriteria
criteria
,
P
ageable
pageable
)
;
/
**
/
**
*
queryAll
不分页
*
查询所有数据
不分页
*
@
param
criteria
*
@
param
criteria
*
@
return
*
@
return
*
/
*
/
//@
C
acheable
(
keyGenerator
=
"keyGenerator"
)
//@
C
acheable
public
O
bject
queryAll
(
$
{
className
}
Q
ueryCriteria
criteria
)
;
L
ist
<$
{
className
}
DTO
>
queryAll
(
$
{
className
}
Q
ueryCriteria
criteria
)
;
/
**
/
**
*
findById
*
根据
ID
查询
*
@
param
$
{
pkChangeColName
}
*
@
param
$
{
pkChangeColName
}
*
@
return
*
@
return
*
/
*
/
...
@@ -41,7 +43,7 @@ public interface ${className}Service {
...
@@ -41,7 +43,7 @@ public interface ${className}Service {
$
{
className
}
DTO
findById
(
$
{
pkColumnType
}
$
{
pkChangeColName
})
;
$
{
className
}
DTO
findById
(
$
{
pkColumnType
}
$
{
pkChangeColName
})
;
/
**
/
**
*
create
*
创建
*
@
param
resources
*
@
param
resources
*
@
return
*
@
return
*
/
*
/
...
@@ -49,14 +51,14 @@ public interface ${className}Service {
...
@@ -49,14 +51,14 @@ public interface ${className}Service {
$
{
className
}
DTO
create
(
$
{
className
}
resources
)
;
$
{
className
}
DTO
create
(
$
{
className
}
resources
)
;
/
**
/
**
*
update
*
编辑
*
@
param
resources
*
@
param
resources
*
/
*
/
//@
C
acheEvict
(
allEntries
=
true
)
//@
C
acheEvict
(
allEntries
=
true
)
void
update
(
$
{
className
}
resources
)
;
void
update
(
$
{
className
}
resources
)
;
/
**
/
**
*
delete
*
删除
*
@
param
$
{
pkChangeColName
}
*
@
param
$
{
pkChangeColName
}
*
/
*
/
//@
C
acheEvict
(
allEntries
=
true
)
//@
C
acheEvict
(
allEntries
=
true
)
...
...
eladmin-system/src/main/resources/template/generator/admin/ServiceImpl.ftl
View file @
0f0392d7
...
@@ -32,6 +32,8 @@ import org.springframework.data.domain.Page;
...
@@ -32,6 +32,8 @@ import org.springframework.data.domain.Page;
import
org.springframework.data.domain.Pageable;
import
org.springframework.data.domain.Pageable;
import
me.zhengjie.utils.PageUtil;
import
me.zhengjie.utils.PageUtil;
import
me.zhengjie.utils.QueryHelp;
import
me.zhengjie.utils.QueryHelp;
import
java.util.List;
import
java.util.Map;
/**
/**
*
@author $
{
author
}
*
@author $
{
author
}
...
@@ -48,13 +50,13 @@ public class ${className}ServiceImpl implements ${className}Service {
...
@@ -48,13 +50,13 @@ public class ${className}ServiceImpl implements ${className}Service {
private
$
{
className
}
M
apper
$
{
changeClassName
}
M
apper
;
private
$
{
className
}
M
apper
$
{
changeClassName
}
M
apper
;
@
O
verride
@
O
verride
public
O
bject
queryAll
(
$
{
className
}
Q
ueryCriteria
criteria
,
P
ageable
pageable
){
public
M
ap
<
S
tring
,
O
bject
>
queryAll
(
$
{
className
}
Q
ueryCriteria
criteria
,
P
ageable
pageable
){
P
age
<$
{
className
}
>
page
=
$
{
changeClassName
}
R
epository
.findAll
((
root
,
criteriaQuery
,
criteriaBuilder
)
->
Q
ueryHelp
.getPredicate
(
root
,
criteria
,
criteriaBuilder
),
pageable
)
;
P
age
<$
{
className
}
>
page
=
$
{
changeClassName
}
R
epository
.findAll
((
root
,
criteriaQuery
,
criteriaBuilder
)
->
Q
ueryHelp
.getPredicate
(
root
,
criteria
,
criteriaBuilder
),
pageable
)
;
return
P
ageUtil
.toPage
(
page
.map
(
$
{
changeClassName
}
M
apper
::
toDto
))
;
return
P
ageUtil
.toPage
(
page
.map
(
$
{
changeClassName
}
M
apper
::
toDto
))
;
}
}
@
O
verride
@
O
verride
public
O
bject
queryAll
(
$
{
className
}
Q
ueryCriteria
criteria
){
public
L
ist
<$
{
className
}
DTO
>
queryAll
(
$
{
className
}
Q
ueryCriteria
criteria
){
return
$
{
changeClassName
}
M
apper
.toDto
(
$
{
changeClassName
}
R
epository
.findAll
((
root
,
criteriaQuery
,
criteriaBuilder
)
->
Q
ueryHelp
.getPredicate
(
root
,
criteria
,
criteriaBuilder
)))
;
return
$
{
changeClassName
}
M
apper
.toDto
(
$
{
changeClassName
}
R
epository
.findAll
((
root
,
criteriaQuery
,
criteriaBuilder
)
->
Q
ueryHelp
.getPredicate
(
root
,
criteria
,
criteriaBuilder
)))
;
}
}
...
...
eladmin-system/src/main/resources/template/generator/front/eForm.ftl
View file @
0f0392d7
<
template
>
<
template
>
<el-dialog :append-to-body="true" :visible.sync="dialog" :title="isAdd ? '新增' : '编辑'" width="500px">
<el-dialog :append-to-body="true"
:close-on-click-modal="false" :before-close="cancel"
:visible.sync="dialog" :title="isAdd ? '新增' : '编辑'" width="500px">
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
<#
if
columns??>
<#
if
columns??>
<#list columns as column>
<#list columns as column>
...
...
eladmin-tools/pom.xml
View file @
0f0392d7
...
@@ -10,6 +10,7 @@
...
@@ -10,6 +10,7 @@
<modelVersion>
4.0.0
</modelVersion>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
eladmin-tools
</artifactId>
<artifactId>
eladmin-tools
</artifactId>
<name>
工具模块
</name>
<properties>
<properties>
<mail.version>
1.4.7
</mail.version>
<mail.version>
1.4.7
</mail.version>
...
...
eladmin-tools/src/main/java/me/zhengjie/domain/LocalStorage.java
0 → 100644
View file @
0f0392d7
package
me.zhengjie.domain
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.copier.CopyOptions
;
import
lombok.NoArgsConstructor
;
import
org.hibernate.annotations.CreationTimestamp
;
import
org.hibernate.annotations.UpdateTimestamp
;
import
javax.persistence.*
;
import
java.sql.Timestamp
;
import
java.io.Serializable
;
/**
* @author Zheng Jie
* @date 2019-09-05
*/
@Entity
@Data
@Table
(
name
=
"local_storage"
)
@AllArgsConstructor
@NoArgsConstructor
public
class
LocalStorage
implements
Serializable
{
// ID
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@Column
(
name
=
"id"
)
private
Long
id
;
// 真实文件名
@Column
(
name
=
"real_name"
)
private
String
realName
;
// 文件名
@Column
(
name
=
"name"
)
private
String
name
;
// 后缀
@Column
(
name
=
"suffix"
)
private
String
suffix
;
// 路径
@Column
(
name
=
"path"
)
private
String
path
;
// 类型
@Column
(
name
=
"type"
)
private
String
type
;
// 大小
@Column
(
name
=
"size"
)
private
String
size
;
// 操作人
@Column
(
name
=
"operate"
)
private
String
operate
;
// 创建日期
@Column
(
name
=
"create_time"
)
@CreationTimestamp
private
Timestamp
createTime
;
// 修改日期
@Column
(
name
=
"update_time"
)
@UpdateTimestamp
private
Timestamp
updateTime
;
public
LocalStorage
(
String
realName
,
String
name
,
String
suffix
,
String
path
,
String
type
,
String
size
,
String
operate
)
{
this
.
realName
=
realName
;
this
.
name
=
name
;
this
.
suffix
=
suffix
;
this
.
path
=
path
;
this
.
type
=
type
;
this
.
size
=
size
;
this
.
operate
=
operate
;
}
public
void
copy
(
LocalStorage
source
){
BeanUtil
.
copyProperties
(
source
,
this
,
CopyOptions
.
create
().
setIgnoreNullValue
(
true
));
}
}
\ No newline at end of file
eladmin-tools/src/main/java/me/zhengjie/domain/QiniuContent.java
View file @
0f0392d7
...
@@ -42,6 +42,8 @@ public class QiniuContent implements Serializable {
...
@@ -42,6 +42,8 @@ public class QiniuContent implements Serializable {
*/
*/
private
String
url
;
private
String
url
;
private
String
suffix
;
/**
/**
* 空间类型:公开/私有
* 空间类型:公开/私有
*/
*/
...
...
eladmin-tools/src/main/java/me/zhengjie/repository/LocalStorageRepository.java
0 → 100644
View file @
0f0392d7
package
me.zhengjie.repository
;
import
me.zhengjie.domain.LocalStorage
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
/**
* @author Zheng Jie
* @date 2019-09-05
*/
public
interface
LocalStorageRepository
extends
JpaRepository
<
LocalStorage
,
Long
>,
JpaSpecificationExecutor
{
}
\ No newline at end of file
eladmin-tools/src/main/java/me/zhengjie/repository/QiNiuConfigRepository.java
View file @
0f0392d7
...
@@ -2,10 +2,16 @@ package me.zhengjie.repository;
...
@@ -2,10 +2,16 @@ package me.zhengjie.repository;
import
me.zhengjie.domain.QiniuConfig
;
import
me.zhengjie.domain.QiniuConfig
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.Modifying
;
import
org.springframework.data.jpa.repository.Query
;
/**
/**
* @author Zheng Jie
* @author Zheng Jie
* @date 2018-12-31
* @date 2018-12-31
*/
*/
public
interface
QiNiuConfigRepository
extends
JpaRepository
<
QiniuConfig
,
Long
>
{
public
interface
QiNiuConfigRepository
extends
JpaRepository
<
QiniuConfig
,
Long
>
{
@Modifying
@Query
(
value
=
"update qiniu_content set type = ?1"
,
nativeQuery
=
true
)
void
update
(
String
type
);
}
}
eladmin-tools/src/main/java/me/zhengjie/rest/LocalStorageController.java
0 → 100644
View file @
0f0392d7
package
me.zhengjie.rest
;
import
me.zhengjie.aop.log.Log
;
import
me.zhengjie.domain.LocalStorage
;
import
me.zhengjie.service.LocalStorageService
;
import
me.zhengjie.service.dto.LocalStorageQueryCriteria
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
io.swagger.annotations.*
;
import
org.springframework.web.multipart.MultipartFile
;
/**
* @author Zheng Jie
* @date 2019-09-05
*/
@Api
(
tags
=
"本地存储管理"
)
@RestController
@RequestMapping
(
"api"
)
public
class
LocalStorageController
{
@Autowired
private
LocalStorageService
localStorageService
;
@ApiOperation
(
value
=
"查询文件"
)
@GetMapping
(
value
=
"/localStorage"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','LOCALSTORAGE_ALL','LOCALSTORAGE_SELECT')"
)
public
ResponseEntity
getLocalStorages
(
LocalStorageQueryCriteria
criteria
,
Pageable
pageable
){
return
new
ResponseEntity
(
localStorageService
.
queryAll
(
criteria
,
pageable
),
HttpStatus
.
OK
);
}
@ApiOperation
(
value
=
"上传文件"
)
@PostMapping
(
value
=
"/localStorage"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','LOCALSTORAGE_ALL','LOCALSTORAGE_CREATE')"
)
public
ResponseEntity
create
(
@RequestParam
String
name
,
@RequestParam
(
"file"
)
MultipartFile
file
){
return
new
ResponseEntity
(
localStorageService
.
create
(
name
,
file
),
HttpStatus
.
CREATED
);
}
@ApiOperation
(
value
=
"修改文件"
)
@PutMapping
(
value
=
"/localStorage"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','LOCALSTORAGE_ALL','LOCALSTORAGE_EDIT')"
)
public
ResponseEntity
update
(
@Validated
@RequestBody
LocalStorage
resources
){
localStorageService
.
update
(
resources
);
return
new
ResponseEntity
(
HttpStatus
.
NO_CONTENT
);
}
@ApiOperation
(
value
=
"删除文件"
)
@DeleteMapping
(
value
=
"/localStorage/{id}"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','LOCALSTORAGE_ALL','LOCALSTORAGE_DELETE')"
)
public
ResponseEntity
delete
(
@PathVariable
Long
id
){
localStorageService
.
delete
(
id
);
return
new
ResponseEntity
(
HttpStatus
.
OK
);
}
/**
* 删除多张图片
* @param ids
* @return
*/
@Log
(
"删除图片"
)
@DeleteMapping
(
value
=
"/localStorage"
)
public
ResponseEntity
deleteAll
(
@RequestBody
Long
[]
ids
)
{
localStorageService
.
deleteAll
(
ids
);
return
new
ResponseEntity
(
HttpStatus
.
OK
);
}
}
\ No newline at end of file
eladmin-tools/src/main/java/me/zhengjie/rest/PictureController.java
View file @
0f0392d7
...
@@ -45,7 +45,7 @@ public class PictureController {
...
@@ -45,7 +45,7 @@ public class PictureController {
public
ResponseEntity
upload
(
@RequestParam
MultipartFile
file
){
public
ResponseEntity
upload
(
@RequestParam
MultipartFile
file
){
String
userName
=
SecurityUtils
.
getUsername
();
String
userName
=
SecurityUtils
.
getUsername
();
Picture
picture
=
pictureService
.
upload
(
file
,
userName
);
Picture
picture
=
pictureService
.
upload
(
file
,
userName
);
Map
map
=
new
HashMap
(
3
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>
(
3
);
map
.
put
(
"errno"
,
0
);
map
.
put
(
"errno"
,
0
);
map
.
put
(
"id"
,
picture
.
getId
());
map
.
put
(
"id"
,
picture
.
getId
());
map
.
put
(
"data"
,
new
String
[]{
picture
.
getUrl
()});
map
.
put
(
"data"
,
new
String
[]{
picture
.
getUrl
()});
...
...
Prev
1
2
3
4
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