Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
JAVA小学生-王铁柱
eladmin
提交
8c7217eb
E
eladmin
项目概览
JAVA小学生-王铁柱
/
eladmin
与 Fork 源项目一致
从无法访问的项目Fork
通知
4
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
eladmin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
8c7217eb
编写于
12月 18, 2019
作者:
E
Elune
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
代码优化
上级
7d22178f
变更
21
隐藏空白更改
内联
并排
Showing
21 changed file
with
145 addition
and
85 deletion
+145
-85
README.md
README.md
+29
-20
eladmin-system/src/main/java/me/zhengjie/modules/monitor/rest/ServerController.java
...va/me/zhengjie/modules/monitor/rest/ServerController.java
+6
-4
eladmin-system/src/main/java/me/zhengjie/modules/monitor/service/ServerService.java
...va/me/zhengjie/modules/monitor/service/ServerService.java
+2
-1
eladmin-system/src/main/java/me/zhengjie/modules/monitor/service/impl/ServerServiceImpl.java
...ngjie/modules/monitor/service/impl/ServerServiceImpl.java
+5
-2
eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthController.java
...ava/me/zhengjie/modules/security/rest/AuthController.java
+1
-1
eladmin-system/src/main/java/me/zhengjie/modules/security/rest/OnlineController.java
...a/me/zhengjie/modules/security/rest/OnlineController.java
+6
-3
eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenFilter.java
...va/me/zhengjie/modules/security/security/TokenFilter.java
+0
-1
eladmin-system/src/main/java/me/zhengjie/modules/system/domain/User.java
...src/main/java/me/zhengjie/modules/system/domain/User.java
+2
-1
eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DeptController.java
.../java/me/zhengjie/modules/system/rest/DeptController.java
+17
-4
eladmin-system/src/main/java/me/zhengjie/modules/system/rest/JobController.java
...n/java/me/zhengjie/modules/system/rest/JobController.java
+5
-6
eladmin-system/src/main/java/me/zhengjie/modules/system/rest/MenuController.java
.../java/me/zhengjie/modules/system/rest/MenuController.java
+7
-5
eladmin-system/src/main/java/me/zhengjie/modules/system/rest/RoleController.java
.../java/me/zhengjie/modules/system/rest/RoleController.java
+4
-7
eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java
.../java/me/zhengjie/modules/system/rest/UserController.java
+9
-8
eladmin-system/src/main/java/me/zhengjie/modules/system/service/DeptService.java
.../java/me/zhengjie/modules/system/service/DeptService.java
+11
-2
eladmin-system/src/main/java/me/zhengjie/modules/system/service/JobService.java
...n/java/me/zhengjie/modules/system/service/JobService.java
+3
-2
eladmin-system/src/main/java/me/zhengjie/modules/system/service/RoleService.java
.../java/me/zhengjie/modules/system/service/RoleService.java
+2
-3
eladmin-system/src/main/java/me/zhengjie/modules/system/service/UserService.java
.../java/me/zhengjie/modules/system/service/UserService.java
+3
-2
eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DeptServiceImpl.java
...zhengjie/modules/system/service/impl/DeptServiceImpl.java
+16
-3
eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java
.../zhengjie/modules/system/service/impl/JobServiceImpl.java
+5
-6
eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java
...zhengjie/modules/system/service/impl/RoleServiceImpl.java
+8
-2
eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java
...zhengjie/modules/system/service/impl/UserServiceImpl.java
+4
-2
未找到文件。
README.md
浏览文件 @
8c7217eb
...
...
@@ -9,13 +9,15 @@
</div>
#### 项目简介
eladmin基于 Spring Boot 2.1.0 、 Jpa、 Spring Security、redis、Vue的前后端分离的后台管理系统, 权限控制的方式为RBAC,项目支持数据字典与数据权限管理,支持一键生成前后端代码,支持前端菜单动态路由
一个基于 Spring Boot 2.1.0 、 Spring Boot Jpa、 JWT、Spring Security、Redis、Vue的前后端分离的后台管理系统
**
开发文档
**
[
https://docs.auauz.net/
](
https://docs.auauz.net
)
**
项目开发文档:
**
[
https://docs.auauz.net/
](
https://docs.auauz.net
)
**
体验地址
**
[
https://auauz.net/
](
https://auauz.net/
)
**
稳定版本体验地址:
**
[
https://auauz.net/
](
https://auauz.net/
)
**账号密码**
```admin/123456```
(默认密码都是123456)
**开发版本体验地址:**
[
http://dev.auauz.net/
](
http://dev.auauz.net/
)
**账号密码:**
`admin/123456`
(默认密码都是123456)
#### 项目源码
...
...
@@ -24,22 +26,30 @@ eladmin基于 Spring Boot 2.1.0 、 Jpa、 Spring Security、redis、Vue的前
| github | https://github.com/elunez/eladmin | https://github.com/elunez/eladmin-web |
| 码云 | https://gitee.com/elunez/eladmin | https://gitee.com/elunez/eladmin-web |
#### 主要特性
-
使用最新技术栈,社区资源丰富。
-
项目按功能模块化,提升开发,测试效率。
-
高效率开发,使用代码生成器可以一键生成前后端代码
-
支持数据字典,可方便的对一些状态进行管理
-
支持接口限流,避免恶意请求导致服务层压力过大
-
支持接口级别的功能权限与数据权限,可自定义操作
-
自定义权限注解与匿名接口注解,可快速对某一接口拦截与放行
-
对一些常用的前端组件封装:表格数据请求、数据字典等
-
前后端统一异常拦截处理,统一输出异常,避免繁琐的判断
#### 系统功能
-
用户管理:提供用户的相关配置,新增用户后,默认密码为123456
-
角色管理:对权限与菜单进行分配,可根据部门设置角色的数据权限
-
菜单管理:已实现菜单动态路由,后端可配置化,支持多级菜单
-
部门管理:可配置系统组织架构,树形表格展示
-
岗位管理:配置各个部门的职位
-
字典管理:
应广大码友的要求加入字典管理,
可维护常用一些固定的数据,如:状态,性别等
-
字典管理:可维护常用一些固定的数据,如:状态,性别等
-
操作日志:记录用户操作的日志
-
异常日志:记录异常日志,方便开发人员定位错误
-
系统缓存:使用jedis将缓存操作可视化,并提供对redis的基本操作,可根据需求自行扩展
-
SQL监控:采用druid 监控数据库访问性能,默认用户名admin,密码123456
-
服务器监控:被监控服务器运行eladmin-monitor信息收集工具后,可以在页面上看到CPU内存以及磁盘使用情况
-
定时任务:整合Quartz做定时任务,加入任务日志,任务运行情况一目了然
-
代码生成:高灵活度一键生成前后端代码,减少百分之80左右的工作任务
-
邮件工具:配合富文本,发送html格式的邮件
-
免费图床:使用sm.ms图床,用作公共图片上传使用
-
免费图床:使用sm.ms图床,用作公共图片上传使用
,该图床不怎么稳定,不太建议使用
-
七牛云存储:可同步七牛云存储的数据到系统,无需登录七牛云直接操作云数据
-
支付宝支付:整合了支付宝支付并且提供了测试账号,可自行测试
...
...
@@ -47,20 +57,19 @@ eladmin基于 Spring Boot 2.1.0 、 Jpa、 Spring Security、redis、Vue的前
项目采用按功能分模块开发方式,将通用的配置放在公共模块,
```system```
模块为系统核心模块也是项目入口模块,
```logging```
模块为系统的日志模块,
```tools```
为第三方工具模块,包含了图床、邮件、七牛云、支付宝,
```generator```
为系统的代码生成模块
-
eladmin-common 公共模块
-
annotation 为系统自定义注解
-
aspect 自定义注解的切面
-
base 提供了Entity、DTO基类和mapstruct的通用mapper
-
config 自定义权限实现、redis配置、swagger配置
-
exception 项目统一异常的处理
-
utils 系统通用工具类
-
annotation 为系统自定义注解
-
aspect 自定义注解的切面
-
base 提供了Entity、DTO基类和mapstruct的通用mapper
-
config 自定义权限实现、redis配置、swagger配置
-
exception 项目统一异常的处理
-
utils 系统通用工具类
-
eladmin-system 系统核心模块(系统启动入口)
-
config 配置跨域与静态资源,与数据权限
-
thread 线程池相关
-
modules 系统相关模块(登录授权、系统监控、定时任务等)
-
config 配置跨域与静态资源,与数据权限
-
thread 线程池相关
-
modules 系统相关模块(登录授权、系统监控、定时任务等)
-
eladmin-logging 系统日志模块
-
eladmin-tools 系统第三方工具模块
-
config 文件上传临时路径配置
-
modules 工具相关模块(第三方工具、代码生成工具)
-
eladmin-generator 系统代码生成模块
#### 系统预览
...
...
@@ -83,6 +92,6 @@ eladmin基于 Spring Boot 2.1.0 、 Jpa、 Spring Security、redis、Vue的前
</table>
#### 项目捐赠
项目的发展离不开你的支持,请作者喝杯咖啡吧
!ps:辣条也行 ☕!
[
Donate
](
https://docs.auauz.net/#/jz
)
项目的发展离不开你的支持,请作者喝杯咖啡吧
☕
[
Donate
](
https://docs.auauz.net/#/jz
)
#### 反馈交流
-
QQ交流群:891137268
eladmin-system/src/main/java/me/zhengjie/modules/monitor/rest/ServerController.java
浏览文件 @
8c7217eb
...
...
@@ -13,6 +13,8 @@ import org.springframework.security.access.prepost.PreAuthorize;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Set
;
/**
* @author Zhang houying
* @date 2019-11-03
...
...
@@ -53,12 +55,12 @@ public class ServerController {
return
new
ResponseEntity
<>(
HttpStatus
.
NO_CONTENT
);
}
@DeleteMapping
(
value
=
"/{id}"
)
@DeleteMapping
@Log
(
"删除服务监控"
)
@ApiOperation
(
"删除服务监控"
)
@PreAuthorize
(
"@el.check('server:del')"
)
public
ResponseEntity
delete
(
@PathVariable
Integer
id
){
serverService
.
delete
(
id
);
return
new
ResponseEntity
(
HttpStatus
.
OK
);
public
ResponseEntity
<
Object
>
delete
(
@RequestBody
Set
<
Integer
>
ids
){
serverService
.
delete
(
id
s
);
return
new
ResponseEntity
<>
(
HttpStatus
.
OK
);
}
}
eladmin-system/src/main/java/me/zhengjie/modules/monitor/service/ServerService.java
浏览文件 @
8c7217eb
...
...
@@ -7,6 +7,7 @@ import org.springframework.data.domain.Pageable;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
/**
* @author Zhang houying
...
...
@@ -53,6 +54,6 @@ public interface ServerService {
* 删除
* @param id /
*/
void
delete
(
Integer
id
);
void
delete
(
Set
<
Integer
>
id
);
}
eladmin-system/src/main/java/me/zhengjie/modules/monitor/service/impl/ServerServiceImpl.java
浏览文件 @
8c7217eb
...
...
@@ -18,6 +18,7 @@ import org.springframework.transaction.annotation.Propagation;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
/**
* @author Zhang houying
...
...
@@ -91,8 +92,10 @@ public class ServerServiceImpl implements ServerService {
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
delete
(
Integer
id
)
{
serverRepository
.
deleteById
(
id
);
public
void
delete
(
Set
<
Integer
>
ids
)
{
for
(
Integer
id
:
ids
)
{
serverRepository
.
deleteById
(
id
);
}
}
}
eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthController.java
浏览文件 @
8c7217eb
...
...
@@ -48,7 +48,7 @@ public class AuthController {
private
Long
expiration
;
@Value
(
"${rsa.private_key}"
)
private
String
privateKey
;
@Value
(
"${single.login:
tru
e}"
)
@Value
(
"${single.login:
fals
e}"
)
private
Boolean
singleLogin
;
private
final
SecurityProperties
properties
;
private
final
RedisUtils
redisUtils
;
...
...
eladmin-system/src/main/java/me/zhengjie/modules/security/rest/OnlineController.java
浏览文件 @
8c7217eb
...
...
@@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.*;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.Set
;
/**
* @author Zheng Jie
...
...
@@ -43,10 +44,12 @@ public class OnlineController {
}
@ApiOperation
(
"踢出用户"
)
@DeleteMapping
(
value
=
"/{key}"
)
@DeleteMapping
@PreAuthorize
(
"@el.check()"
)
public
ResponseEntity
<
Object
>
delete
(
@PathVariable
String
key
)
throws
Exception
{
onlineUserService
.
kickOut
(
key
);
public
ResponseEntity
<
Object
>
delete
(
@RequestBody
Set
<
String
>
keys
)
throws
Exception
{
for
(
String
key
:
keys
)
{
onlineUserService
.
kickOut
(
key
);
}
return
new
ResponseEntity
<>(
HttpStatus
.
OK
);
}
}
eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenFilter.java
浏览文件 @
8c7217eb
...
...
@@ -51,7 +51,6 @@ public class TokenFilter extends GenericFilterBean {
}
else
{
log
.
debug
(
"no valid JWT token found, uri: {}"
,
requestRri
);
}
filterChain
.
doFilter
(
servletRequest
,
servletResponse
);
}
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/domain/User.java
浏览文件 @
8c7217eb
...
...
@@ -4,6 +4,7 @@ import lombok.Getter;
import
lombok.Setter
;
import
org.hibernate.annotations.CreationTimestamp
;
import
javax.persistence.*
;
import
javax.validation.constraints.Email
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.Pattern
;
...
...
@@ -44,7 +45,7 @@ public class User implements Serializable {
private
UserAvatar
userAvatar
;
@NotBlank
@
Pattern
(
regexp
=
"([a-z0-9A-Z]+[-|.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}"
,
message
=
"格式错误"
)
@
Email
private
String
email
;
@NotBlank
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DeptController.java
浏览文件 @
8c7217eb
package
me.zhengjie.modules.system.rest
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.util.IdUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
me.zhengjie.aop.log.Log
;
...
...
@@ -9,6 +11,7 @@ import me.zhengjie.modules.system.domain.Dept;
import
me.zhengjie.modules.system.service.DeptService
;
import
me.zhengjie.modules.system.service.dto.DeptDto
;
import
me.zhengjie.modules.system.service.dto.DeptQueryCriteria
;
import
me.zhengjie.utils.RedisUtils
;
import
me.zhengjie.utils.ThrowableUtil
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
...
...
@@ -17,7 +20,9 @@ import org.springframework.validation.annotation.Validated;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Set
;
/**
* @author Zheng Jie
...
...
@@ -80,13 +85,21 @@ public class DeptController {
@Log
(
"删除部门"
)
@ApiOperation
(
"删除部门"
)
@DeleteMapping
(
value
=
"/{id}"
)
@DeleteMapping
@PreAuthorize
(
"@el.check('dept:del')"
)
public
ResponseEntity
<
Object
>
delete
(
@PathVariable
Long
id
){
public
ResponseEntity
<
Object
>
delete
(
@RequestBody
Set
<
Long
>
ids
){
Set
<
DeptDto
>
deptDtos
=
new
HashSet
<>();
for
(
Long
id
:
ids
)
{
List
<
Dept
>
deptList
=
deptService
.
findByPid
(
id
);
deptDtos
.
add
(
deptService
.
findById
(
id
));
if
(
CollectionUtil
.
isNotEmpty
(
deptList
)){
deptDtos
=
deptService
.
getDeleteDepts
(
deptList
,
deptDtos
);
}
}
try
{
deptService
.
delete
(
id
);
deptService
.
delete
(
deptDtos
);
}
catch
(
Throwable
e
){
ThrowableUtil
.
throwForeignKeyException
(
e
,
"
该部门
存在岗位或者角色关联,请取消关联后再试"
);
ThrowableUtil
.
throwForeignKeyException
(
e
,
"
所选部门中
存在岗位或者角色关联,请取消关联后再试"
);
}
return
new
ResponseEntity
<>(
HttpStatus
.
OK
);
}
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/rest/JobController.java
浏览文件 @
8c7217eb
...
...
@@ -15,10 +15,9 @@ 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
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.
Lis
t
;
import
java.util.
Se
t
;
/**
* @author Zheng Jie
...
...
@@ -80,13 +79,13 @@ public class JobController {
@Log
(
"删除岗位"
)
@ApiOperation
(
"删除岗位"
)
@DeleteMapping
(
value
=
"/{id}"
)
@DeleteMapping
@PreAuthorize
(
"@el.check('job:del')"
)
public
ResponseEntity
<
Object
>
delete
(
@
PathVariable
Long
id
){
public
ResponseEntity
<
Object
>
delete
(
@
RequestBody
Set
<
Long
>
ids
){
try
{
jobService
.
delete
(
id
);
jobService
.
delete
(
id
s
);
}
catch
(
Throwable
e
){
ThrowableUtil
.
throwForeignKeyException
(
e
,
"
该
岗位存在用户关联,请取消关联后再试"
);
ThrowableUtil
.
throwForeignKeyException
(
e
,
"
所选
岗位存在用户关联,请取消关联后再试"
);
}
return
new
ResponseEntity
<>(
HttpStatus
.
OK
);
}
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/rest/MenuController.java
浏览文件 @
8c7217eb
...
...
@@ -103,13 +103,15 @@ public class MenuController {
@Log
(
"删除菜单"
)
@ApiOperation
(
"删除菜单"
)
@DeleteMapping
(
value
=
"/{id}"
)
@DeleteMapping
@PreAuthorize
(
"@el.check('menu:del')"
)
public
ResponseEntity
<
Object
>
delete
(
@PathVariable
Long
id
){
List
<
Menu
>
menuList
=
menuService
.
findByPid
(
id
);
public
ResponseEntity
<
Object
>
delete
(
@RequestBody
Set
<
Long
>
ids
){
Set
<
Menu
>
menuSet
=
new
HashSet
<>();
menuSet
.
add
(
menuService
.
findOne
(
id
));
menuSet
=
menuService
.
getDeleteMenus
(
menuList
,
menuSet
);
for
(
Long
id
:
ids
)
{
List
<
Menu
>
menuList
=
menuService
.
findByPid
(
id
);
menuSet
.
add
(
menuService
.
findOne
(
id
));
menuSet
=
menuService
.
getDeleteMenus
(
menuList
,
menuSet
);
}
menuService
.
delete
(
menuSet
);
return
new
ResponseEntity
<>(
HttpStatus
.
OK
);
}
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/rest/RoleController.java
浏览文件 @
8c7217eb
...
...
@@ -26,6 +26,7 @@ import javax.servlet.http.HttpServletResponse;
import
java.io.IOException
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -116,14 +117,10 @@ public class RoleController {
@Log
(
"删除角色"
)
@ApiOperation
(
"删除角色"
)
@DeleteMapping
(
value
=
"/{id}"
)
@DeleteMapping
@PreAuthorize
(
"@el.check('roles:del')"
)
public
ResponseEntity
<
Object
>
delete
(
@PathVariable
Long
id
){
try
{
roleService
.
delete
(
id
);
}
catch
(
Throwable
e
){
ThrowableUtil
.
throwForeignKeyException
(
e
,
"该角色存在用户关联,请取消关联后再试"
);
}
public
ResponseEntity
<
Object
>
delete
(
@RequestBody
Set
<
Long
>
ids
){
roleService
.
delete
(
ids
);
return
new
ResponseEntity
<>(
HttpStatus
.
OK
);
}
}
eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java
浏览文件 @
8c7217eb
...
...
@@ -138,17 +138,18 @@ public class UserController {
@Log
(
"删除用户"
)
@ApiOperation
(
"删除用户"
)
@DeleteMapping
(
value
=
"/{id}"
)
@DeleteMapping
@PreAuthorize
(
"@el.check('user:del')"
)
public
ResponseEntity
<
Object
>
delete
(
@
PathVariable
Long
id
){
public
ResponseEntity
<
Object
>
delete
(
@
RequestBody
Set
<
Long
>
ids
){
UserDto
user
=
userService
.
findByName
(
SecurityUtils
.
getUsername
());
Integer
currentLevel
=
Collections
.
min
(
roleService
.
findByUsersId
(
user
.
getId
()).
stream
().
map
(
RoleSmallDto:
:
getLevel
).
collect
(
Collectors
.
toList
()));
Integer
optLevel
=
Collections
.
min
(
roleService
.
findByUsersId
(
id
).
stream
().
map
(
RoleSmallDto:
:
getLevel
).
collect
(
Collectors
.
toList
()));
if
(
currentLevel
>
optLevel
)
{
throw
new
BadRequestException
(
"角色权限不足"
);
for
(
Long
id
:
ids
)
{
Integer
currentLevel
=
Collections
.
min
(
roleService
.
findByUsersId
(
user
.
getId
()).
stream
().
map
(
RoleSmallDto:
:
getLevel
).
collect
(
Collectors
.
toList
()));
Integer
optLevel
=
Collections
.
min
(
roleService
.
findByUsersId
(
id
).
stream
().
map
(
RoleSmallDto:
:
getLevel
).
collect
(
Collectors
.
toList
()));
if
(
currentLevel
>
optLevel
)
{
throw
new
BadRequestException
(
"角色权限不足,不能删除:"
+
userService
.
findByName
(
SecurityUtils
.
getUsername
()).
getUsername
());
}
}
userService
.
delete
(
id
);
userService
.
delete
(
id
s
);
return
new
ResponseEntity
<>(
HttpStatus
.
OK
);
}
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/service/DeptService.java
浏览文件 @
8c7217eb
...
...
@@ -44,9 +44,10 @@ public interface DeptService {
/**
* 删除
* @param id /
* @param deptDtos /
*
*/
void
delete
(
Long
id
);
void
delete
(
Set
<
DeptDto
>
deptDtos
);
/**
* 构建树形数据
...
...
@@ -76,4 +77,12 @@ public interface DeptService {
* @throws IOException /
*/
void
download
(
List
<
DeptDto
>
queryAll
,
HttpServletResponse
response
)
throws
IOException
;
/**
* 获取待删除的部门
* @param deptList /
* @param deptDtos /
* @return /
*/
Set
<
DeptDto
>
getDeleteDepts
(
List
<
Dept
>
deptList
,
Set
<
DeptDto
>
deptDtos
);
}
\ No newline at end of file
eladmin-system/src/main/java/me/zhengjie/modules/system/service/JobService.java
浏览文件 @
8c7217eb
...
...
@@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletResponse;
import
java.io.IOException
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
/**
* @author Zheng Jie
...
...
@@ -38,9 +39,9 @@ public interface JobService {
/**
* 删除
* @param id /
* @param id
s
/
*/
void
delete
(
Long
id
);
void
delete
(
Set
<
Long
>
ids
);
/**
* 分页查询
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/service/RoleService.java
浏览文件 @
8c7217eb
...
...
@@ -5,7 +5,6 @@ import me.zhengjie.modules.system.service.dto.RoleDto;
import
me.zhengjie.modules.system.service.dto.RoleQueryCriteria
;
import
me.zhengjie.modules.system.service.dto.RoleSmallDto
;
import
me.zhengjie.modules.system.service.dto.UserDto
;
import
org.springframework.cache.annotation.Cacheable
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.security.core.GrantedAuthority
;
...
...
@@ -43,9 +42,9 @@ public interface RoleService {
/**
* 删除
* @param id /
* @param id
s
/
*/
void
delete
(
Long
id
);
void
delete
(
Set
<
Long
>
ids
);
/**
* 根据用户ID查询
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/service/UserService.java
浏览文件 @
8c7217eb
...
...
@@ -8,6 +8,7 @@ import org.springframework.web.multipart.MultipartFile;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.List
;
import
java.util.Set
;
/**
* @author Zheng Jie
...
...
@@ -37,9 +38,9 @@ public interface UserService {
/**
* 删除用户
* @param id /
* @param id
s
/
*/
void
delete
(
Long
id
);
void
delete
(
Set
<
Long
>
ids
);
/**
* 根据用户名查询
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DeptServiceImpl.java
浏览文件 @
8c7217eb
...
...
@@ -17,7 +17,6 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.*
;
...
...
@@ -129,8 +128,10 @@ public class DeptServiceImpl implements DeptService {
@Override
@CacheEvict
(
allEntries
=
true
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
delete
(
Long
id
)
{
deptRepository
.
deleteById
(
id
);
public
void
delete
(
Set
<
DeptDto
>
deptDtos
)
{
for
(
DeptDto
deptDto
:
deptDtos
)
{
deptRepository
.
deleteById
(
deptDto
.
getId
());
}
}
@Override
...
...
@@ -145,4 +146,16 @@ public class DeptServiceImpl implements DeptService {
}
FileUtil
.
downloadExcel
(
list
,
response
);
}
@Override
public
Set
<
DeptDto
>
getDeleteDepts
(
List
<
Dept
>
menuList
,
Set
<
DeptDto
>
deptDtos
)
{
for
(
Dept
dept
:
menuList
)
{
deptDtos
.
add
(
deptMapper
.
toDto
(
dept
));
List
<
Dept
>
depts
=
deptRepository
.
findByPid
(
dept
.
getId
());
if
(
depts
!=
null
&&
depts
.
size
()!=
0
){
getDeleteDepts
(
depts
,
deptDtos
);
}
}
return
deptDtos
;
}
}
\ No newline at end of file
eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java
浏览文件 @
8c7217eb
...
...
@@ -22,10 +22,7 @@ import org.springframework.transaction.annotation.Transactional;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
/**
* @author Zheng Jie
...
...
@@ -94,8 +91,10 @@ public class JobServiceImpl implements JobService {
@Override
@CacheEvict
(
allEntries
=
true
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
delete
(
Long
id
)
{
jobRepository
.
deleteById
(
id
);
public
void
delete
(
Set
<
Long
>
ids
)
{
for
(
Long
id
:
ids
)
{
jobRepository
.
deleteById
(
id
);
}
}
@Override
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java
浏览文件 @
8c7217eb
...
...
@@ -125,8 +125,14 @@ public class RoleServiceImpl implements RoleService {
@Override
@CacheEvict
(
allEntries
=
true
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
delete
(
Long
id
)
{
roleRepository
.
deleteById
(
id
);
public
void
delete
(
Set
<
Long
>
ids
)
{
for
(
Long
id
:
ids
)
{
try
{
roleRepository
.
deleteById
(
id
);
}
catch
(
Throwable
e
){
ThrowableUtil
.
throwForeignKeyException
(
e
,
"该角色存在用户关联,请取消关联后再试"
);
}
}
}
@Override
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java
浏览文件 @
8c7217eb
...
...
@@ -138,8 +138,10 @@ public class UserServiceImpl implements UserService {
@Override
@CacheEvict
(
allEntries
=
true
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
delete
(
Long
id
)
{
userRepository
.
deleteById
(
id
);
public
void
delete
(
Set
<
Long
>
ids
)
{
for
(
Long
id
:
ids
)
{
userRepository
.
deleteById
(
id
);
}
}
@Override
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录