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
4e39694e
Commit
4e39694e
authored
Feb 28, 2019
by
zhengjie
Browse files
v1.6 版本发布 ,详情查看版本说明
parent
f63407fd
Changes
46
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
4e39694e
...
@@ -109,7 +109,7 @@ eladmin-qt和eladmin-qd只是命名方式的区别,无其他区别
...
@@ -109,7 +109,7 @@ eladmin-qt和eladmin-qd只是命名方式的区别,无其他区别
<td><img
src=
"https://i.loli.net/2018/12/22/5c1e10c7890ab.png"
/></td>
<td><img
src=
"https://i.loli.net/2018/12/22/5c1e10c7890ab.png"
/></td>
</tr>
</tr>
<tr>
<tr>
<td><img
src=
"https://i.loli.net/201
8/1
2/2
2
/5c
1e10c782a05
.png"
/></td>
<td><img
src=
"https://i.loli.net/201
9/0
2/2
8
/5c
7795b707347
.png"
/></td>
<td><img
src=
"https://i.loli.net/2018/12/22/5c1e10c7b089b.png"
/></td>
<td><img
src=
"https://i.loli.net/2018/12/22/5c1e10c7b089b.png"
/></td>
</tr>
</tr>
<tr>
<tr>
...
...
eladmin-common/src/main/java/me/zhengjie/exception/handler/GlobalExceptionHandler.java
View file @
4e39694e
...
@@ -7,10 +7,10 @@ import me.zhengjie.exception.EntityNotFoundException;
...
@@ -7,10 +7,10 @@ import me.zhengjie.exception.EntityNotFoundException;
import
me.zhengjie.utils.ThrowableUtil
;
import
me.zhengjie.utils.ThrowableUtil
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.security.access.AccessDeniedException
;
import
org.springframework.web.bind.MethodArgumentNotValidException
;
import
org.springframework.web.bind.MethodArgumentNotValidException
;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
import
org.springframework.web.bind.annotation.RestControllerAdvice
;
import
org.springframework.web.bind.annotation.RestControllerAdvice
;
import
java.nio.file.AccessDeniedException
;
import
static
org
.
springframework
.
http
.
HttpStatus
.*;
import
static
org
.
springframework
.
http
.
HttpStatus
.*;
/**
/**
...
...
eladmin-common/src/main/java/me/zhengjie/redis/RedisConfig.java
View file @
4e39694e
...
@@ -94,10 +94,9 @@ public class RedisConfig extends CachingConfigurerSupport {
...
@@ -94,10 +94,9 @@ public class RedisConfig extends CachingConfigurerSupport {
// 全局开启AutoType,不建议使用
// 全局开启AutoType,不建议使用
// ParserConfig.getGlobalInstance().setAutoTypeSupport(true);
// ParserConfig.getGlobalInstance().setAutoTypeSupport(true);
// 建议使用这种方式,小范围指定白名单
// 建议使用这种方式,小范围指定白名单
ParserConfig
.
getGlobalInstance
().
addAccept
(
"me.zhengjie.domain"
);
ParserConfig
.
getGlobalInstance
().
addAccept
(
"me.zhengjie.modules.system.service.dto"
);
ParserConfig
.
getGlobalInstance
().
addAccept
(
"me.zhengjie.modules.system.service.dto"
);
ParserConfig
.
getGlobalInstance
().
addAccept
(
"me.zhengjie.modules.test.service.dto"
);
ParserConfig
.
getGlobalInstance
().
addAccept
(
"me.zhengjie.modules.system.domain"
);
ParserConfig
.
getGlobalInstance
().
addAccept
(
"me.zhengjie.modules.system.domain"
);
ParserConfig
.
getGlobalInstance
().
addAccept
(
"me.zhengjie.domain"
);
ParserConfig
.
getGlobalInstance
().
addAccept
(
"me.zhengjie.modules.quartz.domain"
);
ParserConfig
.
getGlobalInstance
().
addAccept
(
"me.zhengjie.modules.quartz.domain"
);
ParserConfig
.
getGlobalInstance
().
addAccept
(
"me.zhengjie.modules.monitor.domain"
);
ParserConfig
.
getGlobalInstance
().
addAccept
(
"me.zhengjie.modules.monitor.domain"
);
ParserConfig
.
getGlobalInstance
().
addAccept
(
"me.zhengjie.modules.security.security"
);
ParserConfig
.
getGlobalInstance
().
addAccept
(
"me.zhengjie.modules.security.security"
);
...
...
eladmin-common/src/main/java/me/zhengjie/swagger2/SwaggerConfig.java
View file @
4e39694e
...
@@ -2,7 +2,6 @@ package me.zhengjie.swagger2;
...
@@ -2,7 +2,6 @@ package me.zhengjie.swagger2;
import
com.google.common.base.Predicates
;
import
com.google.common.base.Predicates
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.ComponentScan
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
import
springfox.documentation.builders.ApiInfoBuilder
;
import
springfox.documentation.builders.ApiInfoBuilder
;
import
springfox.documentation.builders.ParameterBuilder
;
import
springfox.documentation.builders.ParameterBuilder
;
...
@@ -13,25 +12,17 @@ import springfox.documentation.service.Parameter;
...
@@ -13,25 +12,17 @@ import springfox.documentation.service.Parameter;
import
springfox.documentation.spi.DocumentationType
;
import
springfox.documentation.spi.DocumentationType
;
import
springfox.documentation.spring.web.plugins.Docket
;
import
springfox.documentation.spring.web.plugins.Docket
;
import
springfox.documentation.swagger2.annotations.EnableSwagger2
;
import
springfox.documentation.swagger2.annotations.EnableSwagger2
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
/**
/**
* api页面 /swagger-ui.html
* api页面 /swagger-ui.html
* 如controller在不同的包中,@ComponentScan(basePackages = {"me.aurora.app.rest","..."})
* @author jie
* @author jie
* @date 2018-11-23
* @date 2018-11-23
*/
*/
@Configuration
@Configuration
@EnableSwagger2
@EnableSwagger2
@ComponentScan
(
basePackages
=
{
"me.zhengjie.rest"
,
"me.zhengjie.modules.system.rest"
,
"me.zhengjie.modules.monitor.rest"
,
"me.zhengjie.modules.monitor.rest"
,
"me.zhengjie.modules.quartz.rest"
})
public
class
SwaggerConfig
{
public
class
SwaggerConfig
{
@Bean
@Bean
...
...
eladmin-common/src/main/java/me/zhengjie/utils/EncryptUtils.java
View file @
4e39694e
package
me.zhengjie.utils
;
package
me.zhengjie.utils
;
import
org.springframework.util.DigestUtils
;
import
org.springframework.util.DigestUtils
;
import
javax.crypto.Cipher
;
import
javax.crypto.Cipher
;
import
javax.crypto.SecretKey
;
import
javax.crypto.SecretKey
;
import
javax.crypto.SecretKeyFactory
;
import
javax.crypto.SecretKeyFactory
;
...
...
eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java
View file @
4e39694e
...
@@ -2,7 +2,6 @@ package me.zhengjie.utils;
...
@@ -2,7 +2,6 @@ package me.zhengjie.utils;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.core.util.IdUtil
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.File
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.text.DecimalFormat
;
import
java.text.DecimalFormat
;
...
...
eladmin-common/src/main/java/me/zhengjie/utils/ListSortUtil.java
deleted
100644 → 0
View file @
f63407fd
package
me.zhengjie.utils
;
import
java.lang.reflect.Method
;
import
java.util.Collections
;
import
java.util.Comparator
;
import
java.util.List
;
/**
* List按照指定字段排序工具类
* @author jie
* @date 2018/08/23 20:03:12
* @param <T>
*/
public
class
ListSortUtil
<
T
>
{
/**
* @param targetList 目标排序List
* @param sortField 排序字段(实体类属性名)
* @param sortMode 排序方式(asc or desc)
*/
@SuppressWarnings
({
"unchecked"
,
"rawtypes"
})
public
void
sort
(
List
<
T
>
targetList
,
final
String
sortField
,
final
String
sortMode
)
{
Collections
.
sort
(
targetList
,
new
Comparator
()
{
@Override
public
int
compare
(
Object
obj1
,
Object
obj2
)
{
int
retVal
=
0
;
try
{
//首字母转大写
String
newStr
=
sortField
.
substring
(
0
,
1
).
toUpperCase
()+
sortField
.
replaceFirst
(
"\\w"
,
""
);
String
methodStr
=
"get"
+
newStr
;
Method
method1
=
((
T
)
obj1
).
getClass
().
getMethod
(
methodStr
,
new
Class
[
0
]);
Method
method2
=
((
T
)
obj2
).
getClass
().
getMethod
(
methodStr
,
new
Class
[
0
]);
if
(
sortMode
!=
null
&&
"desc"
.
equals
(
sortMode
))
{
// 倒序
retVal
=
method2
.
invoke
(((
T
)
obj2
),
new
Object
[
0
]).
toString
().
compareTo
(
method1
.
invoke
(((
T
)
obj1
),
new
Object
[
0
]).
toString
());
}
else
{
// 正序
retVal
=
method1
.
invoke
(((
T
)
obj1
),
new
Object
[
0
]).
toString
().
compareTo
(
method2
.
invoke
(((
T
)
obj2
),
new
Object
[
0
]).
toString
());
}
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
();
}
return
retVal
;
}
});
}
}
\ No newline at end of file
eladmin-system/pom.xml
View file @
4e39694e
...
@@ -21,6 +21,12 @@
...
@@ -21,6 +21,12 @@
<groupId>
me.zhengjie
</groupId>
<groupId>
me.zhengjie
</groupId>
<artifactId>
eladmin-generator
</artifactId>
<artifactId>
eladmin-generator
</artifactId>
<version>
1.5
</version>
<version>
1.5
</version>
<exclusions>
<exclusion>
<groupId>
me.zhengjie
</groupId>
<artifactId>
eladmin-common
</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependency>
<dependency>
<dependency>
...
...
eladmin-system/sql/eladmin.sql
View file @
4e39694e
/*
/*
Navicat
MySQL
Data Transfer
Navicat
Premium
Data Transfer
Source Server :
本地
Source Server :
localhost
Source Server Type : MySQL
Source Server Type : MySQL
Source Server Version : 505
59
Source Server Version : 505
62
Source Host : localhost:3306
Source Host : localhost:3306
Source Schema : eladmin
Source Schema : eladmin
Target Server Type : MySQL
Target Server Type : MySQL
Target Server Version : 505
59
Target Server Version : 505
62
File Encoding : 65001
File Encoding : 65001
Date: 2
0
/0
1
/2019 1
9
:1
7:08
Date: 2
7
/0
2
/2019 1
3
:1
5:23
*/
*/
SET
NAMES
utf8mb4
;
SET
NAMES
utf8mb4
;
...
@@ -39,7 +39,7 @@ CREATE TABLE `alipay_config` (
...
@@ -39,7 +39,7 @@ CREATE TABLE `alipay_config` (
-- ----------------------------
-- ----------------------------
-- Records of alipay_config
-- Records of alipay_config
-- ----------------------------
-- ----------------------------
INSERT
INTO
`alipay_config`
VALUES
(
1
,
'2016091700532697'
,
'utf-8'
,
'JSON'
,
'https://openapi.alipaydev.com/gateway.do'
,
'http://api.auauz.net/api/aliPay/notify'
,
'MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC5js8sInU10AJ0cAQ8UMMyXrQ+oHZEkVt5lBwsStmTJ7YikVYgbskx1YYEXTojRsWCb+SH/kDmDU4pK/u91SJ4KFCRMF2411piYuXU/jF96zKrADznYh/zAraqT6hvAIVtQAlMHN53nx16rLzZ/8jDEkaSwT7+HvHiS+7sxSojnu/3oV7BtgISoUNstmSe8WpWHOaWv19xyS+Mce9MY4BfseFhzTICUymUQdd/8hXA28/H6osUfAgsnxAKv7Wil3aJSgaJczWuflYOve0dJ3InZkhw5Cvr0atwpk8YKBQjy5CdkoHqvkOcIB+cYHXJKzOE5tqU7inSwVbHzOLQ3XbnAgMBAAECggEAVJp5eT0Ixg1eYSqFs9568WdetUNCSUchNxDBu6wxAbhUgfRUGZuJnnAll63OCTGGck+EGkFh48JjRcBpGoeoHLL88QXlZZbC/iLrea6gcDIhuvfzzOffe1RcZtDFEj9hlotg8dQj1tS0gy9pN9g4+EBH7zeu+fyv+qb2e/v1l6FkISXUjpkD7RLQr3ykjiiEw9BpeKb7j5s7Kdx1NNIzhkcQKNqlk8JrTGDNInbDM6inZfwwIO2R1DHinwdfKWkvOTODTYa2MoAvVMFT9Bec9FbLpoWp7ogv1JMV9svgrcF9XLzANZ/OQvkbe9TV9GWYvIbxN6qwQioKCWO4GPnCAQKBgQDgW5MgfhX8yjXqoaUy/d1VjI8dHeIyw8d+OBAYwaxRSlCfyQ+tieWcR2HdTzPca0T0GkWcKZm0ei5xRURgxt4DUDLXNh26HG0qObbtLJdu/AuBUuCqgOiLqJ2f1uIbrz6OZUHns+bT/jGW2Ws8+C13zTCZkZt9CaQsrp3QOGDx5wKBgQDTul39hp3ZPwGNFeZdkGoUoViOSd5Lhowd5wYMGAEXWRLlU8z+smT5v0POz9JnIbCRchIY2FAPKRdVTICzmPk2EPJFxYTcwaNbVqL6lN7J2IlXXMiit5QbiLauo55w7plwV6LQmKm9KV7JsZs5XwqF7CEovI7GevFzyD3w+uizAQKBgC3LY1eRhOlpWOIAhpjG6qOoohmeXOphvdmMlfSHq6WYFqbWwmV4rS5d/6LNpNdL6fItXqIGd8I34jzql49taCmi+A2nlR/E559j0mvM20gjGDIYeZUz5MOE8k+K6/IcrhcgofgqZ2ZED1ksHdB/E8DNWCswZl16V1FrfvjeWSNnAoGAMrBplCrIW5xz+J0Hm9rZKrs+AkK5D4fUv8vxbK/KgxZ2KaUYbNm0xv39c+PZUYuFRCz1HDGdaSPDTE6WeWjkMQd5mS6ikl9hhpqFRkyh0d0fdGToO9yLftQKOGE/q3XUEktI1XvXF0xyPwNgUCnq0QkpHyGVZPtGFxwXiDvpvgECgYA5PoB+nY8iDiRaJNko9w0hL4AeKogwf+4TbCw+KWVEn6jhuJa4LFTdSqp89PktQaoVpwv92el/AhYjWOl/jVCm122f9b7GyoelbjMNolToDwe5pF5RnSpEuDdLy9MfE8LnE3PlbE7E5BipQ3UjSebkgNboLHH/lNZA5qvEtvbfvQ=='
,
'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAut9evKRuHJ/2QNfDlLwvN/S8l9hRAgPbb0u61bm4AtzaTGsLeMtScetxTWJnVvAVpMS9luhEJjt+Sbk5TNLArsgzzwARgaTKOLMT1TvWAK5EbHyI+eSrc3s7Awe1VYGwcubRFWDm16eQLv0k7iqiw+4mweHSz/wWyvBJVgwLoQ02btVtAQErCfSJCOmt0Q/oJQjj08YNRV4EKzB19+f5A+HQVAKy72dSybTzAK+3FPtTtNen/+b5wGeat7c32dhYHnGorPkPeXLtsqqUTp1su5fMfd4lElNdZaoCI7osZxWWUo17vBCZnyeXc9fk0qwD9mK6yRAxNbrY72Xx5VqIqwIDAQAB'
,
'http://api.auauz.ne/api/aliPay/return'
,
'RSA2'
,
'2088102176044281'
);
INSERT
INTO
`alipay_config`
VALUES
(
1
,
'2016091700532697'
,
'utf-8'
,
'JSON'
,
'https://openapi.alipaydev.com/gateway.do'
,
'http://api.auauz.net/api/aliPay/notify'
,
'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'
,
'http://api.auauz.ne
t
/api/aliPay/return'
,
'RSA2'
,
'2088102176044281'
);
-- ----------------------------
-- ----------------------------
-- Table structure for email_config
-- Table structure for email_config
...
@@ -73,25 +73,7 @@ CREATE TABLE `gen_config` (
...
@@ -73,25 +73,7 @@ CREATE TABLE `gen_config` (
-- ----------------------------
-- ----------------------------
-- Records of gen_config
-- Records of gen_config
-- ----------------------------
-- ----------------------------
INSERT
INTO
`gen_config`
VALUES
(
1
,
'jie'
,
b
'0'
,
'eladmin-system'
,
'me.zhengjie.modules.test'
,
'E:
\\
workspace
\\
my-workspace
\\
eladmin-qt
\\
src
\\
views
\\
system
\\
test'
,
'E:
\\
workspace
\\
my-workspace
\\
eladmin-qt
\\
src
\\
api'
);
INSERT
INTO
`gen_config`
VALUES
(
1
,
'jie'
,
'0'
,
'eladmin-system'
,
'me.zhengjie.modules.test'
,
'E:
\\
workspace
\\
my-workspace
\\
eladmin-qt
\\
src
\\
views
\\
system
\\
test'
,
'E:
\\
workspace
\\
my-workspace
\\
eladmin-qt
\\
src
\\
api'
);
-- ----------------------------
-- Table structure for log
-- ----------------------------
DROP
TABLE
IF
EXISTS
`log`
;
CREATE
TABLE
`log`
(
`id`
bigint
(
20
)
NOT
NULL
AUTO_INCREMENT
COMMENT
'ID'
,
`create_time`
datetime
NULL
DEFAULT
NULL
COMMENT
'创建日期'
,
`description`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NOT
NULL
COMMENT
'描述'
,
`exception_detail`
text
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
COMMENT
'异常详情'
,
`log_type`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'日志类型'
,
`method`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'方法名称'
,
`params`
text
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
COMMENT
'参数'
,
`request_ip`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'请求ip'
,
`time`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'耗时'
,
`username`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'操作用户'
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
6327
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
-- ----------------------------
-- ----------------------------
-- Table structure for menu
-- Table structure for menu
...
@@ -100,121 +82,46 @@ DROP TABLE IF EXISTS `menu`;
...
@@ -100,121 +82,46 @@ DROP TABLE IF EXISTS `menu`;
CREATE
TABLE
`menu`
(
CREATE
TABLE
`menu`
(
`id`
bigint
(
20
)
NOT
NULL
AUTO_INCREMENT
COMMENT
'ID'
,
`id`
bigint
(
20
)
NOT
NULL
AUTO_INCREMENT
COMMENT
'ID'
,
`create_time`
datetime
NULL
DEFAULT
NULL
COMMENT
'创建日期'
,
`create_time`
datetime
NULL
DEFAULT
NULL
COMMENT
'创建日期'
,
`i_frame`
bit
(
1
)
NULL
DEFAULT
NULL
COMMENT
'是否外链'
,
`name`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'菜单名称'
,
`name`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'菜单名称'
,
`component`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'组件'
,
`component`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'组件'
,
`pid`
bigint
(
20
)
NOT
NULL
COMMENT
'上级菜单ID'
,
`pid`
bigint
(
20
)
NOT
NULL
COMMENT
'上级菜单ID'
,
`sort`
bigint
(
20
)
NOT
NULL
COMMENT
'排序'
,
`sort`
bigint
(
20
)
NOT
NULL
COMMENT
'排序'
,
`icon`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'图标'
,
`icon`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'图标'
,
`path`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'链接地址'
,
`path`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'链接地址'
,
`i_frame`
bit
(
1
)
NULL
DEFAULT
NULL
COMMENT
'是否外链'
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
3
6
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
3
3
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
-- ----------------------------
-- ----------------------------
-- Records of menu
-- Records of menu
-- ----------------------------
-- ----------------------------
INSERT
INTO
`menu`
VALUES
(
1
,
'2018-12-18 15:11:29'
,
'系统管理'
,
NULL
,
0
,
1
,
'system'
,
'system'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
1
,
'2018-12-18 15:11:29'
,
b
'0'
,
'系统管理'
,
NULL
,
0
,
1
,
'system'
,
'system'
);
INSERT
INTO
`menu`
VALUES
(
2
,
'2018-12-18 15:14:44'
,
'用户管理'
,
'system/user/index'
,
1
,
2
,
'peoples'
,
'user'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
2
,
'2018-12-18 15:14:44'
,
b
'0'
,
'用户管理'
,
'system/user/index'
,
1
,
2
,
'peoples'
,
'user'
);
INSERT
INTO
`menu`
VALUES
(
3
,
'2018-12-18 15:16:07'
,
'角色管理'
,
'system/role/index'
,
1
,
3
,
'role'
,
'role'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
3
,
'2018-12-18 15:16:07'
,
b
'0'
,
'角色管理'
,
'system/role/index'
,
1
,
3
,
'role'
,
'role'
);
INSERT
INTO
`menu`
VALUES
(
4
,
'2018-12-18 15:16:45'
,
'权限管理'
,
'system/permission/index'
,
1
,
4
,
'permission'
,
'permission'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
4
,
'2018-12-18 15:16:45'
,
b
'0'
,
'权限管理'
,
'system/permission/index'
,
1
,
4
,
'permission'
,
'permission'
);
INSERT
INTO
`menu`
VALUES
(
5
,
'2018-12-18 15:17:28'
,
'菜单管理'
,
'system/menu/index'
,
1
,
5
,
'menu'
,
'menu'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
5
,
'2018-12-18 15:17:28'
,
b
'0'
,
'菜单管理'
,
'system/menu/index'
,
1
,
5
,
'menu'
,
'menu'
);
INSERT
INTO
`menu`
VALUES
(
6
,
'2018-12-18 15:17:48'
,
'系统监控'
,
NULL
,
0
,
10
,
'monitor'
,
'monitor'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
6
,
'2018-12-18 15:17:48'
,
b
'0'
,
'系统监控'
,
NULL
,
0
,
10
,
'monitor'
,
'monitor'
);
INSERT
INTO
`menu`
VALUES
(
7
,
'2018-12-18 15:18:26'
,
'操作日志'
,
'monitor/log/index'
,
6
,
11
,
'log'
,
'logs'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
7
,
'2018-12-18 15:18:26'
,
b
'0'
,
'操作日志'
,
'monitor/log/index'
,
6
,
11
,
'log'
,
'logs'
);
INSERT
INTO
`menu`
VALUES
(
8
,
'2018-12-18 15:19:01'
,
'系统缓存'
,
'monitor/redis/index'
,
6
,
13
,
'redis'
,
'redis'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
8
,
'2018-12-18 15:19:01'
,
b
'0'
,
'系统缓存'
,
'monitor/redis/index'
,
6
,
13
,
'redis'
,
'redis'
);
INSERT
INTO
`menu`
VALUES
(
9
,
'2018-12-18 15:19:34'
,
'SQL监控'
,
NULL
,
6
,
14
,
'sqlMonitor'
,
'http://localhost:8000/druid'
,
b
'1'
);
INSERT
INTO
`menu`
VALUES
(
9
,
'2018-12-18 15:19:34'
,
b
'1'
,
'SQL监控'
,
NULL
,
6
,
14
,
'sqlMonitor'
,
'http://api.auauz.net/druid'
);
INSERT
INTO
`menu`
VALUES
(
10
,
'2018-12-19 13:38:16'
,
'组件管理'
,
NULL
,
0
,
50
,
'zujian'
,
'components'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
10
,
'2018-12-19 13:38:16'
,
b
'0'
,
'组件管理'
,
NULL
,
0
,
50
,
'zujian'
,
'components'
);
INSERT
INTO
`menu`
VALUES
(
11
,
'2018-12-19 13:38:49'
,
'图标库'
,
'components/IconSelect'
,
10
,
51
,
'icon'
,
'icon'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
11
,
'2018-12-19 13:38:49'
,
b
'0'
,
'图标库'
,
'components/IconSelect'
,
10
,
51
,
'icon'
,
'icon'
);
INSERT
INTO
`menu`
VALUES
(
12
,
'2018-12-24 20:37:35'
,
'实时控制台'
,
'monitor/log/msg'
,
6
,
15
,
'codeConsole'
,
'msg'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
12
,
'2018-12-24 20:37:35'
,
b
'0'
,
'实时控制台'
,
'monitor/log/msg'
,
6
,
15
,
'codeConsole'
,
'msg'
);
INSERT
INTO
`menu`
VALUES
(
13
,
'2018-12-27 10:11:26'
,
'三方工具'
,
''
,
0
,
30
,
'tools'
,
'tools'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
13
,
'2018-12-27 10:11:26'
,
b
'0'
,
'三方工具'
,
''
,
0
,
30
,
'tools'
,
'tools'
);
INSERT
INTO
`menu`
VALUES
(
14
,
'2018-12-27 10:13:09'
,
'邮件工具'
,
'tools/email/index'
,
13
,
31
,
'email'
,
'email'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
14
,
'2018-12-27 10:13:09'
,
b
'0'
,
'邮件工具'
,
'tools/email/index'
,
13
,
31
,
'email'
,
'email'
);
INSERT
INTO
`menu`
VALUES
(
15
,
'2018-12-27 11:58:25'
,
'富文本'
,
'components/Editor'
,
10
,
52
,
'fwb'
,
'tinymce'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
15
,
'2018-12-27 11:58:25'
,
b
'0'
,
'富文本'
,
'components/Editor'
,
10
,
52
,
'fwb'
,
'tinymce'
);
INSERT
INTO
`menu`
VALUES
(
16
,
'2018-12-28 09:36:53'
,
'SM.MS图床'
,
'tools/picture/index'
,
13
,
32
,
'image'
,
'pictures'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
16
,
'2018-12-28 09:36:53'
,
b
'0'
,
'SM.MS图床'
,
'tools/picture/index'
,
13
,
32
,
'image'
,
'pictures'
);
INSERT
INTO
`menu`
VALUES
(
17
,
'2018-12-28 15:09:49'
,
'项目地址'
,
''
,
0
,
0
,
'github'
,
'https://github.com/elunez/eladmin'
,
b
'1'
);
INSERT
INTO
`menu`
VALUES
(
17
,
'2018-12-28 15:09:49'
,
b
'1'
,
'项目地址'
,
''
,
0
,
0
,
'github'
,
'https://github.com/elunez/eladmin'
);
INSERT
INTO
`menu`
VALUES
(
18
,
'2018-12-31 11:12:15'
,
'七牛云存储'
,
'tools/qiniu/index'
,
13
,
33
,
'qiniu'
,
'qiniu'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
18
,
'2018-12-31 11:12:15'
,
b
'0'
,
'七牛云存储'
,
'tools/qiniu/index'
,
13
,
33
,
'qiniu'
,
'qiniu'
);
INSERT
INTO
`menu`
VALUES
(
19
,
'2018-12-31 14:52:38'
,
'支付宝工具'
,
'tools/aliPay/index'
,
13
,
34
,
'alipay'
,
'aliPay'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
19
,
'2018-12-31 14:52:38'
,
b
'0'
,
'支付宝工具'
,
'tools/aliPay/index'
,
13
,
34
,
'alipay'
,
'aliPay'
);
INSERT
INTO
`menu`
VALUES
(
21
,
'2019-01-04 16:22:03'
,
'多级菜单'
,
''
,
0
,
900
,
'menu'
,
'nested'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
21
,
'2019-01-04 16:22:03'
,
b
'0'
,
'多级菜单'
,
''
,
0
,
900
,
'menu'
,
'nested'
);
INSERT
INTO
`menu`
VALUES
(
22
,
'2019-01-04 16:23:29'
,
'二级菜单1'
,
'nested/menu1/index'
,
21
,
999
,
'menu'
,
'menu1'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
22
,
'2019-01-04 16:23:29'
,
b
'0'
,
'二级菜单1'
,
'nested/menu1/index'
,
21
,
999
,
'menu'
,
'menu1'
);
INSERT
INTO
`menu`
VALUES
(
23
,
'2019-01-04 16:23:57'
,
'二级菜单2'
,
'nested/menu2/index'
,
21
,
999
,
'menu'
,
'menu2'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
23
,
'2019-01-04 16:23:57'
,
b
'0'
,
'二级菜单2'
,
'nested/menu2/index'
,
21
,
999
,
'menu'
,
'menu2'
);
INSERT
INTO
`menu`
VALUES
(
24
,
'2019-01-04 16:24:48'
,
'三级菜单1'
,
'nested/menu1/menu1-1'
,
22
,
999
,
'menu'
,
'menu1-1'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
24
,
'2019-01-04 16:24:48'
,
b
'0'
,
'三级菜单1'
,
'nested/menu1/menu1-1'
,
22
,
999
,
'menu'
,
'menu1-1'
);
INSERT
INTO
`menu`
VALUES
(
27
,
'2019-01-07 17:27:32'
,
'三级菜单2'
,
'nested/menu1/menu1-2'
,
22
,
999
,
'menu'
,
'menu1-2'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
27
,
'2019-01-07 17:27:32'
,
b
'0'
,
'三级菜单2'
,
'nested/menu1/menu1-2'
,
22
,
999
,
'menu'
,
'menu1-2'
);
INSERT
INTO
`menu`
VALUES
(
28
,
'2019-01-07 20:34:40'
,
'定时任务'
,
'system/timing/index'
,
1
,
6
,
'timing'
,
'timing'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
28
,
'2019-01-07 20:34:40'
,
b
'0'
,
'定时任务'
,
'system/timing/index'
,
1
,
6
,
'timing'
,
'timing'
);
INSERT
INTO
`menu`
VALUES
(
30
,
'2019-01-11 15:45:55'
,
'代码生成'
,
'generator/index'
,
1
,
8
,
'dev'
,
'generator'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
30
,
'2019-01-11 15:45:55'
,
b
'0'
,
'代码生成'
,
'generator/index'
,
1
,
8
,
'dev'
,
'generator'
);
INSERT
INTO
`menu`
VALUES
(
32
,
'2019-01-13 13:49:03'
,
'异常日志'
,
'monitor/log/errorLog'
,
6
,
12
,
'error'
,
'errorLog'
,
b
'0'
);
INSERT
INTO
`menu`
VALUES
(
32
,
'2019-01-13 13:49:03'
,
b
'0'
,
'异常日志'
,
'monitor/log/errorLog'
,
6
,
12
,
'error'
,
'errorLog'
);
-- ----------------------------
-- Table structure for menus_roles
-- ----------------------------
DROP
TABLE
IF
EXISTS
`menus_roles`
;
CREATE
TABLE
`menus_roles`
(
`menu_id`
bigint
(
20
)
NOT
NULL
COMMENT
'菜单ID'
,
`role_id`
bigint
(
20
)
NOT
NULL
COMMENT
'角色ID'
,
PRIMARY
KEY
(
`menu_id`
,
`role_id`
)
USING
BTREE
,
INDEX
`FKcngg2qadojhi3a651a5adkvbq`
(
`role_id`
)
USING
BTREE
,
CONSTRAINT
`FKcngg2qadojhi3a651a5adkvbq`
FOREIGN
KEY
(
`role_id`
)
REFERENCES
`role`
(
`id`
)
ON
DELETE
RESTRICT
ON
UPDATE
RESTRICT
,
CONSTRAINT
`FKq1knxf8ykt26we8k331naabjx`
FOREIGN
KEY
(
`menu_id`
)
REFERENCES
`menu`
(
`id`
)
ON
DELETE
RESTRICT
ON
UPDATE
RESTRICT
)
ENGINE
=
InnoDB
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
-- ----------------------------
-- Records of menus_roles
-- ----------------------------
INSERT
INTO
`menus_roles`
VALUES
(
1
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
2
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
3
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
4
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
5
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
6
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
7
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
8
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
9
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
10
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
11
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
12
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
13
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
14
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
15
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
16
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
17
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
18
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
19
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
21
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
22
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
23
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
24
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
27
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
28
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
30
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
32
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
1
,
2
);
INSERT
INTO
`menus_roles`
VALUES
(
2
,
2
);
INSERT
INTO
`menus_roles`
VALUES
(
3
,
2
);
INSERT
INTO
`menus_roles`
VALUES
(
4
,
2
);
INSERT
INTO
`menus_roles`
VALUES
(
5
,
2
);
INSERT
INTO
`menus_roles`
VALUES
(
6
,
2
);
INSERT
INTO
`menus_roles`
VALUES
(
9
,
2
);
INSERT
INTO
`menus_roles`
VALUES
(
12
,
2
);
INSERT
INTO
`menus_roles`
VALUES
(
13
,
2
);
INSERT
INTO
`menus_roles`
VALUES
(
14
,
2
);
INSERT
INTO
`menus_roles`
VALUES
(
16
,
2
);
INSERT
INTO
`menus_roles`
VALUES
(
17
,
2
);
INSERT
INTO
`menus_roles`
VALUES
(
18
,
2
);
INSERT
INTO
`menus_roles`
VALUES
(
19
,
2
);
INSERT
INTO
`menus_roles`
VALUES
(
21
,
2
);
INSERT
INTO
`menus_roles`
VALUES
(
22
,
2
);
INSERT
INTO
`menus_roles`
VALUES
(
23
,
2
);
INSERT
INTO
`menus_roles`
VALUES
(
24
,
2
);
INSERT
INTO
`menus_roles`
VALUES
(
27
,
2
);
INSERT
INTO
`menus_roles`
VALUES
(
28
,
2
);
-- ----------------------------
-- Table structure for my_test
-- ----------------------------
DROP
TABLE
IF
EXISTS
`my_test`
;
CREATE
TABLE
`my_test`
(
`id`
bigint
(
20
)
NOT
NULL
AUTO_INCREMENT
COMMENT
'ID'
,
`name`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NOT
NULL
COMMENT
'名称'
,
`remark`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'备注'
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
3
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
-- ----------------------------
-- ----------------------------
-- Table structure for permission
-- Table structure for permission
...
@@ -283,9 +190,8 @@ CREATE TABLE `picture` (
...
@@ -283,9 +190,8 @@ CREATE TABLE `picture` (
`username`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'用户名称'
,
`username`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'用户名称'
,
`width`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'图片宽度'
,
`width`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'图片宽度'
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
5
4
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
5
0
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
-- ----------------------------
-- Table structure for qiniu_config
-- Table structure for qiniu_config
-- ----------------------------
-- ----------------------------
DROP
TABLE
IF
EXISTS
`qiniu_config`
;
DROP
TABLE
IF
EXISTS
`qiniu_config`
;
...
@@ -313,7 +219,7 @@ CREATE TABLE `qiniu_content` (
...
@@ -313,7 +219,7 @@ CREATE TABLE `qiniu_content` (
`update_time`
datetime
NULL
DEFAULT
NULL
COMMENT
'上传或同步的时间'
,
`update_time`
datetime
NULL
DEFAULT
NULL
COMMENT
'上传或同步的时间'
,
`url`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'文件url'
,
`url`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'文件url'
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
1
0
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
1
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
-- ----------------------------
-- ----------------------------
-- Table structure for quartz_job
-- Table structure for quartz_job
...
@@ -344,18 +250,18 @@ INSERT INTO `quartz_job` VALUES (3, 'testTask', '0/5 * * * * ?', b'1', '测试',
...
@@ -344,18 +250,18 @@ INSERT INTO `quartz_job` VALUES (3, 'testTask', '0/5 * * * * ?', b'1', '测试',
-- ----------------------------
-- ----------------------------
DROP
TABLE
IF
EXISTS
`quartz_log`
;
DROP
TABLE
IF
EXISTS
`quartz_log`
;
CREATE
TABLE
`quartz_log`
(
CREATE
TABLE
`quartz_log`
(
`id`
bigint
(
20
)
NOT
NULL
AUTO_INCREMENT
COMMENT
'ID'
,
`id`
bigint
(
20
)
NOT
NULL
AUTO_INCREMENT
,
`baen_name`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'Spring Bean名称'
,
`baen_name`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`create_time`
datetime
NULL
DEFAULT
NULL
COMMENT
'创建日期'
,
`create_time`
datetime
NULL
DEFAULT
NULL
,
`cron_expression`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'cron 表达式'
,
`cron_expression`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`exception_detail`
text
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
COMMENT
'异常详情'
,
`exception_detail`
text
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
,
`is_success`
bit
(
1
)
NULL
DEFAULT
NULL
COMMENT
'运行状态:1成功,0异常'
,
`is_success`
bit
(
1
)
NULL
DEFAULT
NULL
,
`job_name`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'任务名称'
,
`job_name`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`method_name`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'方法名称'
,
`method_name`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`params`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'参数'
,
`params`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`time`
bigint
(
20
)
NULL
DEFAULT
NULL
COMMENT
'耗时'
,
`time`
bigint
(
20
)
NULL
DEFAULT
NULL
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
4
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
1
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
-- ----------------------------
-- ----------------------------
-- Table structure for role
-- Table structure for role
...
@@ -367,13 +273,72 @@ CREATE TABLE `role` (
...
@@ -367,13 +273,72 @@ CREATE TABLE `role` (
`name`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NOT
NULL
COMMENT
'名称'
,
`name`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NOT
NULL
COMMENT
'名称'
,
`remark`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'备注'
,
`remark`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'备注'
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
3
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
4
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
-- ----------------------------
-- ----------------------------
-- Records of role
-- Records of role
-- ----------------------------
-- ----------------------------
INSERT
INTO
`role`
VALUES
(
1
,
'2018-11-23 11:04:37'
,
'超级管理员'
,
'超级管理员'
);
INSERT
INTO
`role`
VALUES
(
1
,
'2018-11-23 11:04:37'
,
'管理员'
,
'系统所有权'
);
INSERT
INTO
`role`
VALUES
(
2
,
'2018-11-23 13:09:06'
,
'普通用户'
,
'普通用户'
);
INSERT
INTO
`role`
VALUES
(
2
,
'2018-11-23 13:09:06'
,
'普通用户'
,
'用于测试菜单与权限'
);
-- ----------------------------
-- Table structure for roles_menus
-- ----------------------------
DROP
TABLE
IF
EXISTS
`roles_menus`
;
CREATE
TABLE
`roles_menus`
(
`role_id`
bigint
(
20
)
NOT
NULL
COMMENT
'角色ID'
,
`menu_id`
bigint
(
20
)
NOT
NULL
COMMENT
'菜单ID'
,
PRIMARY
KEY
(
`menu_id`
,
`role_id`
)
USING
BTREE
,
INDEX
`FKcngg2qadojhi3a651a5adkvbq`
(
`role_id`
)
USING
BTREE
,
CONSTRAINT
`FKcngg2qadojhi3a651a5adkvbq`
FOREIGN
KEY
(
`role_id`
)
REFERENCES
`role`
(
`id`
)
ON
DELETE
RESTRICT
ON
UPDATE
RESTRICT
,
CONSTRAINT
`FKq1knxf8ykt26we8k331naabjx`
FOREIGN
KEY
(
`menu_id`
)
REFERENCES
`menu`
(
`id`
)
ON
DELETE
RESTRICT
ON
UPDATE
RESTRICT
)
ENGINE
=
InnoDB
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
-- ----------------------------
-- Records of roles_menus
-- ----------------------------
INSERT
INTO
`roles_menus`
VALUES
(
1
,
1
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
2
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
3
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
4
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
5
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
6
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
7
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
8
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
9
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
10
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
11
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
12
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
13
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
14
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
15
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
16
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
17
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
18
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
19
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
21
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
22
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
23
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
24
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
27
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
28
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
30
);
INSERT
INTO
`roles_menus`
VALUES
(
1
,
32
);
INSERT
INTO
`roles_menus`
VALUES
(
2
,
1
);
INSERT
INTO
`roles_menus`
VALUES
(
2
,
2
);
INSERT
INTO
`roles_menus`
VALUES
(
2
,
6
);
INSERT
INTO
`roles_menus`
VALUES
(
2
,
10
);
INSERT
INTO
`roles_menus`
VALUES
(
2
,
11
);
INSERT
INTO
`roles_menus`
VALUES
(
2
,
12
);
INSERT
INTO
`roles_menus`
VALUES
(
2
,
13
);
INSERT
INTO
`roles_menus`
VALUES
(
2
,
15
);
INSERT
INTO
`roles_menus`
VALUES
(
2
,
16
);
INSERT
INTO
`roles_menus`
VALUES
(
2
,
17
);
INSERT
INTO
`roles_menus`
VALUES
(
2
,
21
);
INSERT
INTO
`roles_menus`
VALUES
(
2
,
22
);
INSERT
INTO
`roles_menus`
VALUES
(
2
,
23
);
INSERT
INTO
`roles_menus`
VALUES
(
2
,
24
);
INSERT
INTO
`roles_menus`
VALUES
(
2
,
27
);
-- ----------------------------
-- ----------------------------
-- Table structure for roles_permissions
-- Table structure for roles_permissions
...
@@ -392,13 +357,15 @@ CREATE TABLE `roles_permissions` (
...
@@ -392,13 +357,15 @@ CREATE TABLE `roles_permissions` (
-- Records of roles_permissions
-- Records of roles_permissions
-- ----------------------------
-- ----------------------------
INSERT
INTO
`roles_permissions`
VALUES
(
1
,
1
);
INSERT
INTO
`roles_permissions`
VALUES
(
1
,
1
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
2
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
3
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
3
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
8
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
4
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
14
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
5
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
19
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
6
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
23
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
23
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
30
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
24
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
36
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
25
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
26
);
-- ----------------------------
-- ----------------------------
-- Table structure for user
-- Table structure for user
...
@@ -456,20 +423,4 @@ CREATE TABLE `verification_code` (
...
@@ -456,20 +423,4 @@ CREATE TABLE `verification_code` (
`value`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'接收邮箱或者手机号码'
,
`value`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'接收邮箱或者手机号码'
,
`scenes`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'业务名称:如重置邮箱、重置密码等'
,
`scenes`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'业务名称:如重置邮箱、重置密码等'
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
6
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
1
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
-- ----------------------------
-- Table structure for visits
-- ----------------------------
DROP
TABLE
IF
EXISTS
`visits`
;
CREATE
TABLE
`visits`
(
`id`
bigint
(
20
)
NOT
NULL
AUTO_INCREMENT
COMMENT
'ID'
,
`date`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'创建日期:只存储年月日'
,
`ip_counts`
bigint
(
20
)
NULL
DEFAULT
NULL
COMMENT
'IP数'
,
`pv_counts`
bigint
(
20
)
NULL
DEFAULT
NULL
COMMENT
'浏览量'
,
`week_day`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'星期'
,
`create_time`
datetime
NULL
DEFAULT
NULL
COMMENT
'创建日期'
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
65
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
SET
FOREIGN_KEY_CHECKS
=
1
;
eladmin-system/src/main/java/me/zhengjie/modules/monitor/domain/vo/RedisVo.java
View file @
4e39694e
...
@@ -5,6 +5,7 @@ import lombok.Data;
...
@@ -5,6 +5,7 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
/**
/**
* @author jie
* @author jie
...
@@ -13,7 +14,7 @@ import javax.validation.constraints.NotBlank;
...
@@ -13,7 +14,7 @@ import javax.validation.constraints.NotBlank;
@Data
@Data
@AllArgsConstructor
@AllArgsConstructor
@NoArgsConstructor
@NoArgsConstructor
public
class
RedisVo
{
public
class
RedisVo
implements
Serializable
{
@NotBlank
@NotBlank
private
String
key
;
private
String
key
;
...
...
eladmin-system/src/main/java/me/zhengjie/modules/quartz/domain/QuartzJob.java
View file @
4e39694e
...
@@ -5,6 +5,7 @@ import org.hibernate.annotations.UpdateTimestamp;
...
@@ -5,6 +5,7 @@ import org.hibernate.annotations.UpdateTimestamp;
import
javax.persistence.*
;
import
javax.persistence.*
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.sql.Timestamp
;
import
java.sql.Timestamp
;
...
@@ -21,6 +22,7 @@ public class QuartzJob implements Serializable {
...
@@ -21,6 +22,7 @@ public class QuartzJob implements Serializable {
@Id
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@NotNull
(
groups
=
{
Update
.
class
})
private
Long
id
;
private
Long
id
;
/**
/**
...
@@ -75,4 +77,6 @@ public class QuartzJob implements Serializable {
...
@@ -75,4 +77,6 @@ public class QuartzJob implements Serializable {
@UpdateTimestamp
@UpdateTimestamp
@Column
(
name
=
"update_time"
)
@Column
(
name
=
"update_time"
)
private
Timestamp
updateTime
;
private
Timestamp
updateTime
;
public
interface
Update
{}
}
}
\ No newline at end of file
eladmin-system/src/main/java/me/zhengjie/modules/quartz/rest/QuartzJobController.java
View file @
4e39694e
...
@@ -68,10 +68,7 @@ public class QuartzJobController {
...
@@ -68,10 +68,7 @@ public class QuartzJobController {
@Log
(
"修改定时任务"
)
@Log
(
"修改定时任务"
)
@PutMapping
(
value
=
"/jobs"
)
@PutMapping
(
value
=
"/jobs"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','JOB_ALL','JOB_EDIT')"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','JOB_ALL','JOB_EDIT')"
)
public
ResponseEntity
update
(
@Validated
@RequestBody
QuartzJob
resources
){
public
ResponseEntity
update
(
@Validated
(
QuartzJob
.
Update
.
class
)
@RequestBody
QuartzJob
resources
){
if
(
resources
.
getId
()
==
null
)
{
throw
new
BadRequestException
(
ENTITY_NAME
+
" ID Can not be empty"
);
}
quartzJobService
.
update
(
resources
);
quartzJobService
.
update
(
resources
);
return
new
ResponseEntity
(
HttpStatus
.
NO_CONTENT
);
return
new
ResponseEntity
(
HttpStatus
.
NO_CONTENT
);
}
}
...
...
eladmin-system/src/main/java/me/zhengjie/modules/security/config/SecurityConfig.java
View file @
4e39694e
...
@@ -41,7 +41,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
...
@@ -41,7 +41,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
private
String
tokenHeader
;
private
String
tokenHeader
;
@Value
(
"${jwt.auth.path}"
)
@Value
(
"${jwt.auth.path}"
)
private
String
authenticatio
nPath
;
private
String
logi
nPath
;
@Autowired
@Autowired
public
void
configureGlobal
(
AuthenticationManagerBuilder
auth
)
throws
Exception
{
public
void
configureGlobal
(
AuthenticationManagerBuilder
auth
)
throws
Exception
{
...
@@ -74,9 +74,18 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
...
@@ -74,9 +74,18 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
// 不创建会话
// 不创建会话
.
sessionManagement
().
sessionCreationPolicy
(
SessionCreationPolicy
.
STATELESS
).
and
()
.
sessionManagement
().
sessionCreationPolicy
(
SessionCreationPolicy
.
STATELESS
).
and
()
.
authorizeRequests
()
.
antMatchers
(
"/auth/**"
).
permitAll
()
// 过滤请求
.
authorizeRequests
()
.
antMatchers
(
HttpMethod
.
GET
,
"/*.html"
,
"/**/*.html"
,
"/**/*.css"
,
"/**/*.js"
).
permitAll
()
.
antMatchers
(
HttpMethod
.
POST
,
"/auth/"
+
loginPath
).
permitAll
()
.
antMatchers
(
"/websocket/**"
).
permitAll
()
.
antMatchers
(
"/websocket/**"
).
permitAll
()
.
antMatchers
(
"/druid/**"
).
anonymous
()
.
antMatchers
(
"/druid/**"
).
anonymous
()
...
@@ -91,33 +100,14 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
...
@@ -91,33 +100,14 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
.
antMatchers
(
"/*/api-docs"
).
anonymous
()
.
antMatchers
(
"/*/api-docs"
).
anonymous
()
// swagger end
// swagger end
// 接口限流测试
.
antMatchers
(
"/test/**"
).
anonymous
()
.
antMatchers
(
"/test/**"
).
anonymous
()
.
antMatchers
(
HttpMethod
.
OPTIONS
,
"/**"
).
anonymous
()
.
antMatchers
(
HttpMethod
.
OPTIONS
,
"/**"
).
anonymous
()
// 所有请求都需要认证
// 所有请求都需要认证
.
anyRequest
().
authenticated
();
.
anyRequest
().
authenticated
();
httpSecurity
httpSecurity
.
addFilterBefore
(
authenticationTokenFilter
,
UsernamePasswordAuthenticationFilter
.
class
);
.
addFilterBefore
(
authenticationTokenFilter
,
UsernamePasswordAuthenticationFilter
.
class
);
}
}
@Override
public
void
configure
(
WebSecurity
web
)
throws
Exception
{
// AuthenticationTokenFilter will ignore the below paths
web
.
ignoring
()
.
antMatchers
(
HttpMethod
.
POST
,
authenticationPath
)
// allow anonymous resource requests
.
and
()
.
ignoring
()
.
antMatchers
(
HttpMethod
.
GET
,
"/*.html"
,
"/**/*.html"
,
"/**/*.css"
,
"/**/*.js"
);
}
}
}
eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthenticationController.java
View file @
4e39694e
...
@@ -2,7 +2,7 @@ package me.zhengjie.modules.security.rest;
...
@@ -2,7 +2,7 @@ package me.zhengjie.modules.security.rest;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
me.zhengjie.aop.log.Log
;
import
me.zhengjie.aop.log.Log
;
import
me.zhengjie.modules.security.security.Authentication
Token
;
import
me.zhengjie.modules.security.security.Authentication
Info
;
import
me.zhengjie.modules.security.security.AuthorizationUser
;
import
me.zhengjie.modules.security.security.AuthorizationUser
;
import
me.zhengjie.modules.security.security.JwtUser
;
import
me.zhengjie.modules.security.security.JwtUser
;
import
me.zhengjie.utils.EncryptUtils
;
import
me.zhengjie.utils.EncryptUtils
;
...
@@ -47,21 +47,21 @@ public class AuthenticationController {
...
@@ -47,21 +47,21 @@ public class AuthenticationController {
@PostMapping
(
value
=
"${jwt.auth.path}"
)
@PostMapping
(
value
=
"${jwt.auth.path}"
)
public
ResponseEntity
login
(
@Validated
@RequestBody
AuthorizationUser
authorizationUser
){
public
ResponseEntity
login
(
@Validated
@RequestBody
AuthorizationUser
authorizationUser
){
final
User
Details
userDetails
=
userDetailsService
.
loadUserByUsername
(
authorizationUser
.
getUsername
());
final
Jwt
User
jwtUser
=
(
JwtUser
)
userDetailsService
.
loadUserByUsername
(
authorizationUser
.
getUsername
());
if
(!
userDetails
.
getPassword
().
equals
(
EncryptUtils
.
encryptPassword
(
authorizationUser
.
getPassword
()))){
if
(!
jwtUser
.
getPassword
().
equals
(
EncryptUtils
.
encryptPassword
(
authorizationUser
.
getPassword
()))){
throw
new
AccountExpiredException
(
"密码错误"
);
throw
new
AccountExpiredException
(
"密码错误"
);
}
}
if
(!
userDetails
.
isEnabled
()){
if
(!
jwtUser
.
isEnabled
()){
throw
new
AccountExpiredException
(
"账号已停用,请联系管理员"
);
throw
new
AccountExpiredException
(
"账号已停用,请联系管理员"
);
}
}
// 生成令牌
// 生成令牌
final
String
token
=
jwtTokenUtil
.
generateToken
(
userDetails
);
final
String
token
=
jwtTokenUtil
.
generateToken
(
jwtUser
);
// 返回 token
// 返回 token
return
ResponseEntity
.
ok
(
new
Authentication
Token
(
token
));
return
ResponseEntity
.
ok
(
new
Authentication
Info
(
token
,
jwtUser
));
}
}
/**
/**
...
...
eladmin-system/src/main/java/me/zhengjie/modules/security/security/Authentication
Token
.java
→
eladmin-system/src/main/java/me/zhengjie/modules/security/security/Authentication
Info
.java
View file @
4e39694e
package
me.zhengjie.modules.security.security
;
package
me.zhengjie.modules.security.security
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.Getter
;
import
java.io.Serializable
;
import
java.io.Serializable
;
/**
/**
* @author jie
* @author jie
* @date 2018-11-23
* @date 2018-11-23
* 返回token
* 返回token
*/
*/
@Getter
@Getter
@AllArgsConstructor
@AllArgsConstructor
public
class
AuthenticationInfo
implements
Serializable
{
public
class
AuthenticationToken
implements
Serializable
{
private
final
String
token
;
private
final
String
token
;
}
private
final
JwtUser
user
;
}
eladmin-system/src/main/java/me/zhengjie/modules/security/service/JwtUserDetailsService.java
View file @
4e39694e
...
@@ -4,12 +4,12 @@ import me.zhengjie.modules.system.domain.Permission;
...
@@ -4,12 +4,12 @@ import me.zhengjie.modules.system.domain.Permission;
import
me.zhengjie.modules.system.domain.Role
;
import
me.zhengjie.modules.system.domain.Role
;
import
me.zhengjie.modules.system.domain.User
;
import
me.zhengjie.modules.system.domain.User
;
import
me.zhengjie.exception.EntityNotFoundException
;
import
me.zhengjie.exception.EntityNotFoundException
;
import
me.zhengjie.modules.system.repository.PermissionRepository
;
import
me.zhengjie.modules.system.repository.RoleRepository
;
import
me.zhengjie.modules.system.repository.UserRepository
;
import
me.zhengjie.modules.system.repository.UserRepository
;
import
me.zhengjie.modules.security.security.JwtUser
;
import
me.zhengjie.modules.security.security.JwtUser
;
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.cache.annotation.CacheConfig
;
import
org.springframework.cache.annotation.Cacheable
;
import
org.springframework.security.core.GrantedAuthority
;
import
org.springframework.security.core.GrantedAuthority
;
import
org.springframework.security.core.authority.SimpleGrantedAuthority
;
import
org.springframework.security.core.authority.SimpleGrantedAuthority
;
import
org.springframework.security.core.userdetails.UserDetails
;
import
org.springframework.security.core.userdetails.UserDetails
;
...
@@ -33,6 +33,12 @@ public class JwtUserDetailsService implements UserDetailsService {
...
@@ -33,6 +33,12 @@ public class JwtUserDetailsService implements UserDetailsService {
@Autowired
@Autowired
private
UserRepository
userRepository
;
private
UserRepository
userRepository
;
@Autowired
private
RoleRepository
roleRepository
;
@Autowired
private
PermissionRepository
permissionRepository
;
@Override
@Override
public
UserDetails
loadUserByUsername
(
String
username
){
public
UserDetails
loadUserByUsername
(
String
username
){
...
@@ -57,20 +63,20 @@ public class JwtUserDetailsService implements UserDetailsService {
...
@@ -57,20 +63,20 @@ public class JwtUserDetailsService implements UserDetailsService {
user
.
getPassword
(),
user
.
getPassword
(),
user
.
getAvatar
(),
user
.
getAvatar
(),
user
.
getEmail
(),
user
.
getEmail
(),
mapToGrantedAuthorities
(
user
.
getRoles
()
),
mapToGrantedAuthorities
(
roleRepository
.
findByUsers_Id
(
user
.
getId
()),
permissionRepository
),
user
.
getEnabled
(),
user
.
getEnabled
(),
user
.
getCreateTime
(),
user
.
getCreateTime
(),
user
.
getLastPasswordResetTime
()
user
.
getLastPasswordResetTime
()
);
);
}
}
private
static
List
<
GrantedAuthority
>
mapToGrantedAuthorities
(
Set
<
Role
>
roles
)
{
private
static
List
<
GrantedAuthority
>
mapToGrantedAuthorities
(
Set
<
Role
>
roles
,
PermissionRepository
permissionRepository
)
{
Set
<
Permission
>
permissions
=
new
HashSet
<>();
Set
<
Permission
>
permissions
=
new
HashSet
<>();
for
(
Role
role
:
roles
)
{
for
(
Role
role
:
roles
)
{
Set
<
Role
>
roleSet
=
new
HashSet
<>();
Set
<
Role
>
roleSet
=
new
HashSet
<>();
roleSet
.
add
(
role
);
roleSet
.
add
(
role
);
permissions
.
addAll
(
role
.
getPermissions
(
));
permissions
.
addAll
(
permissionRepository
.
findByRoles_Id
(
role
.
getId
()
));
}
}
return
permissions
.
stream
()
return
permissions
.
stream
()
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Menu.java
View file @
4e39694e
package
me.zhengjie.modules.system.domain
;
package
me.zhengjie.modules.system.domain
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
org.hibernate.annotations.CreationTimestamp
;
import
org.hibernate.annotations.CreationTimestamp
;
import
javax.persistence.*
;
import
javax.persistence.*
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.sql.Timestamp
;
import
java.sql.Timestamp
;
import
java.util.Set
;
import
java.util.Set
;
...
@@ -16,10 +19,11 @@ import java.util.Set;
...
@@ -16,10 +19,11 @@ import java.util.Set;
@Getter
@Getter
@Setter
@Setter
@Table
(
name
=
"menu"
)
@Table
(
name
=
"menu"
)
public
class
Menu
{
public
class
Menu
implements
Serializable
{
@Id
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@NotNull
(
groups
=
{
Update
.
class
})
private
Long
id
;
private
Long
id
;
@NotBlank
@NotBlank
...
@@ -47,11 +51,13 @@ public class Menu {
...
@@ -47,11 +51,13 @@ public class Menu {
@Column
(
name
=
"i_frame"
)
@Column
(
name
=
"i_frame"
)
private
Boolean
iFrame
;
private
Boolean
iFrame
;
@ManyToMany
@ManyToMany
(
mappedBy
=
"menus"
)
@J
oinTable
(
name
=
"menus_roles"
,
joinColumns
=
{
@JoinColumn
(
name
=
"menu_id"
,
referencedColumnName
=
"id"
)},
inverseJoinColumns
=
{
@JoinColumn
(
name
=
"role_id"
,
referencedColumnName
=
"id"
)})
@J
sonIgnore
private
Set
<
Role
>
roles
;
private
Set
<
Role
>
roles
;
@CreationTimestamp
@CreationTimestamp
@Column
(
name
=
"create_time"
)
@Column
(
name
=
"create_time"
)
private
Timestamp
createTime
;
private
Timestamp
createTime
;
public
interface
Update
{}
}
}
eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Permission.java
View file @
4e39694e
...
@@ -4,7 +4,6 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
...
@@ -4,7 +4,6 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
org.hibernate.annotations.CreationTimestamp
;
import
org.hibernate.annotations.CreationTimestamp
;
import
javax.persistence.*
;
import
javax.persistence.*
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.NotNull
;
...
@@ -24,6 +23,7 @@ public class Permission implements Serializable{
...
@@ -24,6 +23,7 @@ public class Permission implements Serializable{
@Id
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@NotNull
(
groups
=
{
Update
.
class
})
private
Long
id
;
private
Long
id
;
@NotBlank
@NotBlank
...
@@ -57,4 +57,6 @@ public class Permission implements Serializable{
...
@@ -57,4 +57,6 @@ public class Permission implements Serializable{
", createTime="
+
createTime
+
", createTime="
+
createTime
+
'}'
;
'}'
;
}
}
public
interface
Update
{}
}
}
eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Role.java
View file @
4e39694e
...
@@ -7,6 +7,7 @@ import org.hibernate.annotations.CreationTimestamp;
...
@@ -7,6 +7,7 @@ import org.hibernate.annotations.CreationTimestamp;
import
javax.persistence.*
;
import
javax.persistence.*
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.sql.Timestamp
;
import
java.sql.Timestamp
;
import
java.util.Set
;
import
java.util.Set
;
...
@@ -24,6 +25,7 @@ public class Role implements Serializable {
...
@@ -24,6 +25,7 @@ public class Role implements Serializable {
@Id
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@NotNull
(
groups
=
{
Update
.
class
})
private
Long
id
;
private
Long
id
;
@Column
(
nullable
=
false
)
@Column
(
nullable
=
false
)
...
@@ -41,8 +43,8 @@ public class Role implements Serializable {
...
@@ -41,8 +43,8 @@ public class Role implements Serializable {
@JoinTable
(
name
=
"roles_permissions"
,
joinColumns
=
{
@JoinColumn
(
name
=
"role_id"
,
referencedColumnName
=
"id"
)},
inverseJoinColumns
=
{
@JoinColumn
(
name
=
"permission_id"
,
referencedColumnName
=
"id"
)})
@JoinTable
(
name
=
"roles_permissions"
,
joinColumns
=
{
@JoinColumn
(
name
=
"role_id"
,
referencedColumnName
=
"id"
)},
inverseJoinColumns
=
{
@JoinColumn
(
name
=
"permission_id"
,
referencedColumnName
=
"id"
)})
private
Set
<
Permission
>
permissions
;
private
Set
<
Permission
>
permissions
;
@
JsonIgnore
@
ManyToMany
@
ManyToMany
(
mappedBy
=
"roles"
)
@
JoinTable
(
name
=
"roles_menus"
,
joinColumns
=
{
@JoinColumn
(
name
=
"role_id"
,
referencedColumnName
=
"id"
)},
inverseJoinColumns
=
{
@JoinColumn
(
name
=
"menu_id"
,
referencedColumnName
=
"id"
)}
)
private
Set
<
Menu
>
menus
;
private
Set
<
Menu
>
menus
;
@CreationTimestamp
@CreationTimestamp
...
@@ -58,4 +60,6 @@ public class Role implements Serializable {
...
@@ -58,4 +60,6 @@ public class Role implements Serializable {
", createDateTime="
+
createTime
+
", createDateTime="
+
createTime
+
'}'
;
'}'
;
}
}
public
interface
Update
{}
}
}
eladmin-system/src/main/java/me/zhengjie/modules/system/domain/User.java
View file @
4e39694e
...
@@ -25,6 +25,7 @@ public class User implements Serializable {
...
@@ -25,6 +25,7 @@ public class User implements Serializable {
@Id
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@NotNull
(
groups
=
Update
.
class
)
private
Long
id
;
private
Long
id
;
@NotBlank
@NotBlank
...
@@ -65,4 +66,6 @@ public class User implements Serializable {
...
@@ -65,4 +66,6 @@ public class User implements Serializable {
", lastPasswordResetTime="
+
lastPasswordResetTime
+
", lastPasswordResetTime="
+
lastPasswordResetTime
+
'}'
;
'}'
;
}
}
public
@interface
Update
{}
}
}
\ No newline at end of file
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