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
81078698
Commit
81078698
authored
Dec 28, 2018
by
郑杰
Browse files
v1.2 版本发布,详细信息查看发行版说明
parent
d787ed30
Changes
31
Hide whitespace changes
Inline
Side-by-side
pom.xml
View file @
81078698
...
@@ -151,6 +151,13 @@
...
@@ -151,6 +151,13 @@
<version>
1
</version>
<version>
1
</version>
</dependency>
</dependency>
<!--邮件依赖-->
<dependency>
<groupId>
javax.mail
</groupId>
<artifactId>
mail
</artifactId>
<version>
1.4.7
</version>
</dependency>
</dependencies>
</dependencies>
<repositories>
<repositories>
...
...
sql/eladmin.sql
View file @
81078698
...
@@ -11,29 +11,25 @@
...
@@ -11,29 +11,25 @@
Target Server Version : 50559
Target Server Version : 50559
File Encoding : 65001
File Encoding : 65001
Date: 2
5
/12/2018 1
1:00:27
Date: 2
8
/12/2018 1
7:50:46
*/
*/
SET
NAMES
utf8mb4
;
SET
NAMES
utf8mb4
;
SET
FOREIGN_KEY_CHECKS
=
0
;
SET
FOREIGN_KEY_CHECKS
=
0
;
-- ----------------------------
-- ----------------------------
-- Table structure for
lo
g
-- Table structure for
email_confi
g
-- ----------------------------
-- ----------------------------
DROP
TABLE
IF
EXISTS
`
lo
g`
;
DROP
TABLE
IF
EXISTS
`
email_confi
g`
;
CREATE
TABLE
`
lo
g`
(
CREATE
TABLE
`
email_confi
g`
(
`id`
bigint
(
20
)
NOT
NULL
AUTO_INCREMENT
,
`id`
bigint
(
20
)
NOT
NULL
AUTO_INCREMENT
,
`createTime`
datetime
NULL
DEFAULT
NULL
,
`fromUser`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`description`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`host`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`exceptionDetail`
varchar
(
1500
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`pass`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`logType`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`port`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`method`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`user`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`params`
varchar
(
1500
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`requestIp`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`time`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`username`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
3081
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
2
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
-- ----------------------------
-- ----------------------------
-- Table structure for menu
-- Table structure for menu
...
@@ -46,11 +42,11 @@ CREATE TABLE `menu` (
...
@@ -46,11 +42,11 @@ CREATE TABLE `menu` (
`name`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`name`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`component`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`component`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`pid`
bigint
(
20
)
NOT
NULL
,
`pid`
bigint
(
20
)
NOT
NULL
,
`so
f
t`
bigint
(
20
)
NOT
NULL
,
`so
r
t`
bigint
(
20
)
NOT
NULL
,
`icon`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`icon`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`path`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`path`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
1
3
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
1
8
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
-- ----------------------------
-- ----------------------------
-- Records of menu
-- Records of menu
...
@@ -64,9 +60,14 @@ INSERT INTO `menu` VALUES (6, '2018-12-18 15:17:48', b'0', '系统监控', NULL,
...
@@ -64,9 +60,14 @@ INSERT INTO `menu` VALUES (6, '2018-12-18 15:17:48', b'0', '系统监控', NULL,
INSERT
INTO
`menu`
VALUES
(
7
,
'2018-12-18 15:18:26'
,
b
'0'
,
'系统日志'
,
'monitor/log/index'
,
6
,
11
,
'log'
,
'logs'
);
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'
,
b
'0'
,
'系统缓存'
,
'monitor/redis/index'
,
6
,
12
,
'redis'
,
'redis'
);
INSERT
INTO
`menu`
VALUES
(
8
,
'2018-12-18 15:19:01'
,
b
'0'
,
'系统缓存'
,
'monitor/redis/index'
,
6
,
12
,
'redis'
,
'redis'
);
INSERT
INTO
`menu`
VALUES
(
9
,
'2018-12-18 15:19:34'
,
b
'1'
,
'SQL监控'
,
NULL
,
6
,
14
,
'sqlMonitor'
,
'http://localhost/druid'
);
INSERT
INTO
`menu`
VALUES
(
9
,
'2018-12-18 15:19:34'
,
b
'1'
,
'SQL监控'
,
NULL
,
6
,
14
,
'sqlMonitor'
,
'http://localhost/druid'
);
INSERT
INTO
`menu`
VALUES
(
10
,
'2018-12-19 13:38:16'
,
b
'0'
,
'组件管理'
,
NULL
,
0
,
2
0
,
'zujian'
,
'components'
);
INSERT
INTO
`menu`
VALUES
(
10
,
'2018-12-19 13:38:16'
,
b
'0'
,
'组件管理'
,
NULL
,
0
,
5
0
,
'zujian'
,
'components'
);
INSERT
INTO
`menu`
VALUES
(
11
,
'2018-12-19 13:38:49'
,
b
'0'
,
'图标库'
,
'components/IconSelect'
,
10
,
2
1
,
'icon'
,
'icon'
);
INSERT
INTO
`menu`
VALUES
(
11
,
'2018-12-19 13:38:49'
,
b
'0'
,
'图标库'
,
'components/IconSelect'
,
10
,
5
1
,
'icon'
,
'icon'
);
INSERT
INTO
`menu`
VALUES
(
12
,
'2018-12-24 20:37:35'
,
b
'0'
,
'实时控制台'
,
'monitor/log/msg'
,
6
,
13
,
'codeConsole'
,
'msg'
);
INSERT
INTO
`menu`
VALUES
(
12
,
'2018-12-24 20:37:35'
,
b
'0'
,
'实时控制台'
,
'monitor/log/msg'
,
6
,
13
,
'codeConsole'
,
'msg'
);
INSERT
INTO
`menu`
VALUES
(
13
,
'2018-12-27 10:11:26'
,
b
'0'
,
'三方工具'
,
''
,
0
,
20
,
'tools'
,
'tools'
);
INSERT
INTO
`menu`
VALUES
(
14
,
'2018-12-27 10:13:09'
,
b
'0'
,
'邮件工具'
,
'tools/email/index'
,
13
,
21
,
'email'
,
'email'
);
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'
,
b
'0'
,
'SM.MS图床'
,
'tools/picture/index'
,
13
,
22
,
'image'
,
'pictures'
);
INSERT
INTO
`menu`
VALUES
(
17
,
'2018-12-28 15:09:49'
,
b
'1'
,
'项目地址'
,
''
,
0
,
0
,
'github'
,
'https://github.com/elunez/eladmin'
);
-- ----------------------------
-- ----------------------------
-- Table structure for menus_roles
-- Table structure for menus_roles
...
@@ -96,6 +97,22 @@ INSERT INTO `menus_roles` VALUES (9, 1);
...
@@ -96,6 +97,22 @@ INSERT INTO `menus_roles` VALUES (9, 1);
INSERT
INTO
`menus_roles`
VALUES
(
10
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
10
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
11
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
11
,
1
);
INSERT
INTO
`menus_roles`
VALUES
(
12
,
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
(
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
(
16
,
2
);
INSERT
INTO
`menus_roles`
VALUES
(
17
,
2
);
-- ----------------------------
-- ----------------------------
-- Table structure for permission
-- Table structure for permission
...
@@ -108,7 +125,7 @@ CREATE TABLE `permission` (
...
@@ -108,7 +125,7 @@ CREATE TABLE `permission` (
`name`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`name`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`pid`
int
(
11
)
NOT
NULL
,
`pid`
int
(
11
)
NOT
NULL
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
2
3
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
3
4
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
-- ----------------------------
-- ----------------------------
-- Records of permission
-- Records of permission
...
@@ -119,11 +136,11 @@ INSERT INTO `permission` VALUES (3, '用户查询', '2018-12-03 12:31:35', 'USER
...
@@ -119,11 +136,11 @@ INSERT INTO `permission` VALUES (3, '用户查询', '2018-12-03 12:31:35', 'USER
INSERT
INTO
`permission`
VALUES
(
4
,
'用户创建'
,
'2018-12-03 12:31:35'
,
'USER_CREATE'
,
2
);
INSERT
INTO
`permission`
VALUES
(
4
,
'用户创建'
,
'2018-12-03 12:31:35'
,
'USER_CREATE'
,
2
);
INSERT
INTO
`permission`
VALUES
(
5
,
'用户编辑'
,
'2018-12-03 12:31:35'
,
'USER_EDIT'
,
2
);
INSERT
INTO
`permission`
VALUES
(
5
,
'用户编辑'
,
'2018-12-03 12:31:35'
,
'USER_EDIT'
,
2
);
INSERT
INTO
`permission`
VALUES
(
6
,
'用户删除'
,
'2018-12-03 12:31:35'
,
'USER_DELETE'
,
2
);
INSERT
INTO
`permission`
VALUES
(
6
,
'用户删除'
,
'2018-12-03 12:31:35'
,
'USER_DELETE'
,
2
);
INSERT
INTO
`permission`
VALUES
(
7
,
'角色管理'
,
'2018-12-03 12:28:19'
,
'ROLE_ALL'
,
0
);
INSERT
INTO
`permission`
VALUES
(
7
,
'角色管理'
,
'2018-12-03 12:28:19'
,
'ROLE
S
_ALL'
,
0
);
INSERT
INTO
`permission`
VALUES
(
8
,
'角色查询'
,
'2018-12-03 12:31:35'
,
'ROLE_SELECT'
,
7
);
INSERT
INTO
`permission`
VALUES
(
8
,
'角色查询'
,
'2018-12-03 12:31:35'
,
'ROLE
S
_SELECT'
,
7
);
INSERT
INTO
`permission`
VALUES
(
10
,
'角色创建'
,
'2018-12-09 20:10:16'
,
'ROLE_CREATE'
,
7
);
INSERT
INTO
`permission`
VALUES
(
10
,
'角色创建'
,
'2018-12-09 20:10:16'
,
'ROLE
S
_CREATE'
,
7
);
INSERT
INTO
`permission`
VALUES
(
11
,
'角色编辑'
,
'2018-12-09 20:10:42'
,
'ROLE_EDIT'
,
7
);
INSERT
INTO
`permission`
VALUES
(
11
,
'角色编辑'
,
'2018-12-09 20:10:42'
,
'ROLE
S
_EDIT'
,
7
);
INSERT
INTO
`permission`
VALUES
(
12
,
'角色删除'
,
'2018-12-09 20:11:07'
,
'ROLE_DELETE'
,
7
);
INSERT
INTO
`permission`
VALUES
(
12
,
'角色删除'
,
'2018-12-09 20:11:07'
,
'ROLE
S
_DELETE'
,
7
);
INSERT
INTO
`permission`
VALUES
(
13
,
'权限管理'
,
'2018-12-09 20:11:37'
,
'PERMISSION_ALL'
,
0
);
INSERT
INTO
`permission`
VALUES
(
13
,
'权限管理'
,
'2018-12-09 20:11:37'
,
'PERMISSION_ALL'
,
0
);
INSERT
INTO
`permission`
VALUES
(
14
,
'权限查询'
,
'2018-12-09 20:11:55'
,
'PERMISSION_SELECT'
,
13
);
INSERT
INTO
`permission`
VALUES
(
14
,
'权限查询'
,
'2018-12-09 20:11:55'
,
'PERMISSION_SELECT'
,
13
);
INSERT
INTO
`permission`
VALUES
(
15
,
'权限创建'
,
'2018-12-09 20:14:10'
,
'PERMISSION_CREATE'
,
13
);
INSERT
INTO
`permission`
VALUES
(
15
,
'权限创建'
,
'2018-12-09 20:14:10'
,
'PERMISSION_CREATE'
,
13
);
...
@@ -134,6 +151,37 @@ INSERT INTO `permission` VALUES (19, '新增缓存', '2018-12-17 13:53:44', 'RED
...
@@ -134,6 +151,37 @@ INSERT INTO `permission` VALUES (19, '新增缓存', '2018-12-17 13:53:44', 'RED
INSERT
INTO
`permission`
VALUES
(
20
,
'缓存查询'
,
'2018-12-17 13:54:07'
,
'REDIS_SELECT'
,
18
);
INSERT
INTO
`permission`
VALUES
(
20
,
'缓存查询'
,
'2018-12-17 13:54:07'
,
'REDIS_SELECT'
,
18
);
INSERT
INTO
`permission`
VALUES
(
21
,
'缓存编辑'
,
'2018-12-17 13:54:26'
,
'REDIS_EDIT'
,
18
);
INSERT
INTO
`permission`
VALUES
(
21
,
'缓存编辑'
,
'2018-12-17 13:54:26'
,
'REDIS_EDIT'
,
18
);
INSERT
INTO
`permission`
VALUES
(
22
,
'缓存删除'
,
'2018-12-17 13:55:04'
,
'REDIS_DELETE'
,
18
);
INSERT
INTO
`permission`
VALUES
(
22
,
'缓存删除'
,
'2018-12-17 13:55:04'
,
'REDIS_DELETE'
,
18
);
INSERT
INTO
`permission`
VALUES
(
23
,
'图床管理'
,
'2018-12-27 20:31:49'
,
'PICTURE_ALL'
,
0
);
INSERT
INTO
`permission`
VALUES
(
24
,
'查询图片'
,
'2018-12-27 20:32:04'
,
'PICTURE_SELECT'
,
23
);
INSERT
INTO
`permission`
VALUES
(
25
,
'上传图片'
,
'2018-12-27 20:32:24'
,
'PICTURE_UPLOAD'
,
23
);
INSERT
INTO
`permission`
VALUES
(
26
,
'删除图片'
,
'2018-12-27 20:32:45'
,
'PICTURE_DELETE'
,
23
);
INSERT
INTO
`permission`
VALUES
(
29
,
'菜单管理'
,
'2018-12-28 17:34:31'
,
'MENU_ALL'
,
0
);
INSERT
INTO
`permission`
VALUES
(
30
,
'菜单查询'
,
'2018-12-28 17:34:41'
,
'MENU_SELECT'
,
29
);
INSERT
INTO
`permission`
VALUES
(
31
,
'菜单创建'
,
'2018-12-28 17:34:52'
,
'MENU_CREATE'
,
29
);
INSERT
INTO
`permission`
VALUES
(
32
,
'菜单编辑'
,
'2018-12-28 17:35:20'
,
'MENU_EDIT'
,
29
);
INSERT
INTO
`permission`
VALUES
(
33
,
'菜单删除'
,
'2018-12-28 17:35:29'
,
'MENU_DELETE'
,
29
);
-- ----------------------------
-- Table structure for picture
-- ----------------------------
DROP
TABLE
IF
EXISTS
`picture`
;
CREATE
TABLE
`picture`
(
`id`
bigint
(
20
)
NOT
NULL
AUTO_INCREMENT
,
`createTime`
datetime
NULL
DEFAULT
NULL
,
`delete_url`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`filename`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`height`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`size`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`url`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`username`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`width`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
38
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
-- ----------------------------
-- Records of picture
-- ----------------------------
INSERT
INTO
`picture`
VALUES
(
34
,
'2018-12-28 16:02:42'
,
'https://sm.ms/delete/JDAtayhFMH56wCXE'
,
'1'
,
'220'
,
'3.73KB '
,
'https://i.loli.net/2018/12/28/5c25d8a253445.jpg'
,
'admin'
,
'229'
);
-- ----------------------------
-- ----------------------------
-- Table structure for role
-- Table structure for role
...
@@ -145,7 +193,7 @@ CREATE TABLE `role` (
...
@@ -145,7 +193,7 @@ CREATE TABLE `role` (
`name`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NOT
NULL
,
`name`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NOT
NULL
,
`remark`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`remark`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
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
...
@@ -170,9 +218,12 @@ CREATE TABLE `roles_permissions` (
...
@@ -170,9 +218,12 @@ 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
,
1
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
3
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
3
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
4
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
8
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
14
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
19
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
23
);
INSERT
INTO
`roles_permissions`
VALUES
(
2
,
30
);
-- ----------------------------
-- ----------------------------
-- Table structure for user
-- Table structure for user
...
@@ -190,12 +241,13 @@ CREATE TABLE `user` (
...
@@ -190,12 +241,13 @@ CREATE TABLE `user` (
PRIMARY
KEY
(
`id`
)
USING
BTREE
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
,
UNIQUE
INDEX
`UK_kpubos9gc2cvtkb0thktkbkes`
(
`email`
)
USING
BTREE
,
UNIQUE
INDEX
`UK_kpubos9gc2cvtkb0thktkbkes`
(
`email`
)
USING
BTREE
,
UNIQUE
INDEX
`username`
(
`username`
)
USING
BTREE
UNIQUE
INDEX
`username`
(
`username`
)
USING
BTREE
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
15
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
8
CHARACTER
SET
=
utf8
COLLATE
=
utf8_general_ci
ROW_FORMAT
=
Compact
;
-- ----------------------------
-- ----------------------------
-- Records of user
-- Records of user
-- ----------------------------
-- ----------------------------
INSERT
INTO
`user`
VALUES
(
1
,
'https://i.loli.net/2018/12/06/5c08894d8de21.jpg'
,
'2018-08-23 09:11:56'
,
'zhengjie@tom.com'
,
1
,
'14e1b600b1fd579f47433b88e8d85291'
,
'admin'
,
'2018-11-23 10:12:36'
);
INSERT
INTO
`user`
VALUES
(
1
,
'https://i.loli.net/2018/12/06/5c08894d8de21.jpg'
,
'2018-08-23 09:11:56'
,
'zhengjie@tom.com'
,
1
,
'14e1b600b1fd579f47433b88e8d85291'
,
'admin'
,
'2018-11-23 10:12:36'
);
INSERT
INTO
`user`
VALUES
(
3
,
'https://i.loli.net/2018/12/06/5c08894d8de21.jpg'
,
'2018-12-27 20:05:26'
,
'test@qq.com'
,
1
,
'14e1b600b1fd579f47433b88e8d85291'
,
'test'
,
NULL
);
-- ----------------------------
-- ----------------------------
-- Table structure for users_roles
-- Table structure for users_roles
...
@@ -214,41 +266,21 @@ CREATE TABLE `users_roles` (
...
@@ -214,41 +266,21 @@ CREATE TABLE `users_roles` (
-- Records of users_roles
-- Records of users_roles
-- ----------------------------
-- ----------------------------
INSERT
INTO
`users_roles`
VALUES
(
1
,
1
);
INSERT
INTO
`users_roles`
VALUES
(
1
,
1
);
INSERT
INTO
`users_roles`
VALUES
(
3
,
2
);
-- ----------------------------
-- ----------------------------
-- Table structure for v
isits
-- Table structure for v
erification_code
-- ----------------------------
-- ----------------------------
DROP
TABLE
IF
EXISTS
`v
isits
`
;
DROP
TABLE
IF
EXISTS
`v
erification_code
`
;
CREATE
TABLE
`v
isits
`
(
CREATE
TABLE
`v
erification_code
`
(
`id`
bigint
(
20
)
NOT
NULL
AUTO_INCREMENT
,
`id`
bigint
(
20
)
NOT
NULL
AUTO_INCREMENT
,
`date`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`code`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`ip_counts`
bigint
(
20
)
NULL
DEFAULT
NULL
,
`pv_counts`
bigint
(
20
)
NULL
DEFAULT
NULL
,
`weekDay`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`createTime`
datetime
NULL
DEFAULT
NULL
,
`createTime`
datetime
NULL
DEFAULT
NULL
,
`status`
bit
(
1
)
NULL
DEFAULT
NULL
,
`type`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
`value`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
38
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
;
-- ----------------------------
-- Records of visits
-- ----------------------------
INSERT
INTO
`visits`
VALUES
(
1
,
'2018-12-06'
,
30
,
45
,
'Thu'
,
'2018-12-06 18:06:14'
);
INSERT
INTO
`visits`
VALUES
(
2
,
'2018-12-07'
,
10
,
30
,
'Fri'
,
'2018-12-07 18:06:19'
);
INSERT
INTO
`visits`
VALUES
(
3
,
'2018-12-08'
,
10
,
30
,
'Sat'
,
'2018-12-08 18:06:23'
);
INSERT
INTO
`visits`
VALUES
(
4
,
'2018-12-09'
,
56
,
50
,
'Sun'
,
'2018-12-09 18:06:27'
);
INSERT
INTO
`visits`
VALUES
(
5
,
'2018-12-10'
,
20
,
50
,
'Mon'
,
'2018-12-10 18:06:32'
);
INSERT
INTO
`visits`
VALUES
(
6
,
'2018-12-11'
,
79
,
50
,
'Tue'
,
'2018-12-11 18:06:35'
);
INSERT
INTO
`visits`
VALUES
(
7
,
'2018-12-12'
,
54
,
23
,
'Wed'
,
'2018-12-12 18:06:38'
);
INSERT
INTO
`visits`
VALUES
(
11
,
'2018-12-13'
,
2
,
2
,
'Thu'
,
'2018-12-13 20:49:27'
);
INSERT
INTO
`visits`
VALUES
(
13
,
'2018-12-14'
,
1
,
27
,
'Fri'
,
'2018-12-14 09:21:00'
);
INSERT
INTO
`visits`
VALUES
(
15
,
'2018-12-17'
,
1
,
19
,
'Mon'
,
'2018-12-17 12:49:28'
);
INSERT
INTO
`visits`
VALUES
(
16
,
'2018-12-18'
,
1
,
72
,
'Tue'
,
'2018-12-18 15:13:33'
);
INSERT
INTO
`visits`
VALUES
(
26
,
'2018-12-19'
,
1
,
51
,
'Wed'
,
'2018-12-19 12:54:12'
);
INSERT
INTO
`visits`
VALUES
(
27
,
'2018-12-20'
,
1
,
226
,
'Thu'
,
'2018-12-20 09:21:13'
);
INSERT
INTO
`visits`
VALUES
(
28
,
'2018-12-21'
,
1
,
80
,
'Fri'
,
'2018-12-21 09:38:04'
);
INSERT
INTO
`visits`
VALUES
(
29
,
'2018-12-22'
,
1
,
42
,
'Sat'
,
'2018-12-22 10:06:59'
);
INSERT
INTO
`visits`
VALUES
(
30
,
'2018-12-23'
,
1
,
2
,
'Sun'
,
'2018-12-23 11:16:52'
);
INSERT
INTO
`visits`
VALUES
(
35
,
'2018-12-24'
,
1
,
8
,
'Mon'
,
'2018-12-24 19:12:01'
);
INSERT
INTO
`visits`
VALUES
(
36
,
'2018-12-25'
,
1
,
6
,
'Tue'
,
'2018-12-25 00:12:35'
);
SET
FOREIGN_KEY_CHECKS
=
1
;
SET
FOREIGN_KEY_CHECKS
=
1
;
src/main/java/me/zhengjie/common/redis/RedisConfig.java
View file @
81078698
...
@@ -94,6 +94,7 @@ public class RedisConfig extends CachingConfigurerSupport {
...
@@ -94,6 +94,7 @@ public class RedisConfig extends CachingConfigurerSupport {
// 建议使用这种方式,小范围指定白名单
// 建议使用这种方式,小范围指定白名单
ParserConfig
.
getGlobalInstance
().
addAccept
(
"me.zhengjie.system.service.dto"
);
ParserConfig
.
getGlobalInstance
().
addAccept
(
"me.zhengjie.system.service.dto"
);
ParserConfig
.
getGlobalInstance
().
addAccept
(
"me.zhengjie.system.domain"
);
ParserConfig
.
getGlobalInstance
().
addAccept
(
"me.zhengjie.system.domain"
);
ParserConfig
.
getGlobalInstance
().
addAccept
(
"me.zhengjie.tools.domain"
);
// key的序列化采用StringRedisSerializer
// key的序列化采用StringRedisSerializer
template
.
setKeySerializer
(
new
StringRedisSerializer
());
template
.
setKeySerializer
(
new
StringRedisSerializer
());
template
.
setHashKeySerializer
(
new
StringRedisSerializer
());
template
.
setHashKeySerializer
(
new
StringRedisSerializer
());
...
...
src/main/java/me/zhengjie/common/utils/ElAdminConstant.java
0 → 100644
View file @
81078698
package
me.zhengjie.common.utils
;
/**
* 常用静态常量
* @author jie
* @date 2018-12-26
*/
public
class
ElAdminConstant
{
/**
* 用于七牛云zone与机房对应关系
*/
public
static
class
QiNiu
{
public
static
final
String
HUAD
=
"华东"
;
public
static
final
String
HUAB
=
"华北"
;
public
static
final
String
HUAN
=
"华南"
;
public
static
final
String
BEIM
=
"北美"
;
public
static
final
String
DNY
=
"东南亚"
;
}
/**
* 常用接口
*/
public
static
class
Url
{
public
static
final
String
SM_MS_URL
=
"https://sm.ms/api/upload"
;
}
}
src/main/java/me/zhengjie/common/utils/FileUtil.java
0 → 100644
View file @
81078698
package
me.zhengjie.common.utils
;
import
cn.hutool.core.util.IdUtil
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.File
;
import
java.io.IOException
;
import
java.text.DecimalFormat
;
/**
* File工具类
* @author jie
* @date 2018-12-27
*/
public
class
FileUtil
{
/**
* 定义GB的计算常量
*/
private
static
final
int
GB
=
1024
*
1024
*
1024
;
/**
* 定义MB的计算常量
*/
private
static
final
int
MB
=
1024
*
1024
;
/**
* 定义KB的计算常量
*/
private
static
final
int
KB
=
1024
;
/**
* 格式化小数
*/
private
static
final
DecimalFormat
DF
=
new
DecimalFormat
(
"0.00"
);
/**
* MultipartFile转File
* @param multipartFile
* @return
*/
public
static
File
toFile
(
MultipartFile
multipartFile
){
// 获取文件名
String
fileName
=
multipartFile
.
getOriginalFilename
();
// 获取文件后缀
String
prefix
=
"."
+
getExtensionName
(
fileName
);
File
file
=
null
;
try
{
// 用uuid作为文件名,防止生成的临时文件重复
file
=
File
.
createTempFile
(
IdUtil
.
simpleUUID
(),
prefix
);
// MultipartFile to File
multipartFile
.
transferTo
(
file
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
file
;
}
/**
* 删除
* @param files
*/
public
static
void
deleteFile
(
File
...
files
)
{
for
(
File
file
:
files
)
{
if
(
file
.
exists
())
{
file
.
delete
();
}
}
}
/**
* 获取文件扩展名
* @param filename
* @return
*/
public
static
String
getExtensionName
(
String
filename
)
{
if
((
filename
!=
null
)
&&
(
filename
.
length
()
>
0
))
{
int
dot
=
filename
.
lastIndexOf
(
'.'
);
if
((
dot
>-
1
)
&&
(
dot
<
(
filename
.
length
()
-
1
)))
{
return
filename
.
substring
(
dot
+
1
);
}
}
return
filename
;
}
/**
* Java文件操作 获取不带扩展名的文件名
* @param filename
* @return
*/
public
static
String
getFileNameNoEx
(
String
filename
)
{
if
((
filename
!=
null
)
&&
(
filename
.
length
()
>
0
))
{
int
dot
=
filename
.
lastIndexOf
(
'.'
);
if
((
dot
>-
1
)
&&
(
dot
<
(
filename
.
length
())))
{
return
filename
.
substring
(
0
,
dot
);
}
}
return
filename
;
}
/**
* 文件大小转换
* @param size
* @return
*/
public
static
String
getSize
(
int
size
){
String
resultSize
=
""
;
if
(
size
/
GB
>=
1
)
{
//如果当前Byte的值大于等于1GB
resultSize
=
DF
.
format
(
size
/
(
float
)
GB
)
+
"GB "
;
}
else
if
(
size
/
MB
>=
1
)
{
//如果当前Byte的值大于等于1MB
resultSize
=
DF
.
format
(
size
/
(
float
)
MB
)
+
"MB "
;
}
else
if
(
size
/
KB
>=
1
)
{
//如果当前Byte的值大于等于1KB
resultSize
=
DF
.
format
(
size
/
(
float
)
KB
)
+
"KB "
;
}
else
{
resultSize
=
size
+
"B "
;
}
return
resultSize
;
}
}
src/main/java/me/zhengjie/core/utils/EncryptUtils.java
View file @
81078698
package
me.zhengjie.core.utils
;
package
me.zhengjie.core.utils
;
import
org.springframework.util.DigestUtils
;
import
org.springframework.util.DigestUtils
;
import
javax.crypto.Cipher
;
import
javax.crypto.SecretKey
;
import
javax.crypto.SecretKeyFactory
;
import
javax.crypto.spec.DESKeySpec
;
import
javax.crypto.spec.IvParameterSpec
;
/**
/**
* 加密
* 加密
...
@@ -9,6 +14,77 @@ import org.springframework.util.DigestUtils;
...
@@ -9,6 +14,77 @@ import org.springframework.util.DigestUtils;
*/
*/
public
class
EncryptUtils
{
public
class
EncryptUtils
{
private
static
String
strKey
=
"Passw0rd"
,
strParam
=
"Passw0rd"
;
/**
* 对称加密
* @param source
* @return
* @throws Exception
*/
public
static
String
desEncrypt
(
String
source
)
throws
Exception
{
if
(
source
==
null
||
source
.
length
()
==
0
){
return
null
;
}
Cipher
cipher
=
Cipher
.
getInstance
(
"DES/CBC/PKCS5Padding"
);
DESKeySpec
desKeySpec
=
new
DESKeySpec
(
strKey
.
getBytes
(
"UTF-8"
));
SecretKeyFactory
keyFactory
=
SecretKeyFactory
.
getInstance
(
"DES"
);
SecretKey
secretKey
=
keyFactory
.
generateSecret
(
desKeySpec
);
IvParameterSpec
iv
=
new
IvParameterSpec
(
strParam
.
getBytes
(
"UTF-8"
));
cipher
.
init
(
Cipher
.
ENCRYPT_MODE
,
secretKey
,
iv
);
return
byte2hex
(
cipher
.
doFinal
(
source
.
getBytes
(
"UTF-8"
))).
toUpperCase
();
}
public
static
String
byte2hex
(
byte
[]
inStr
)
{
String
stmp
;
StringBuffer
out
=
new
StringBuffer
(
inStr
.
length
*
2
);
for
(
int
n
=
0
;
n
<
inStr
.
length
;
n
++)
{
stmp
=
Integer
.
toHexString
(
inStr
[
n
]
&
0xFF
);
if
(
stmp
.
length
()
==
1
)
{
// 如果是0至F的单位字符串,则添加0
out
.
append
(
"0"
+
stmp
);
}
else
{
out
.
append
(
stmp
);
}
}
return
out
.
toString
();
}
public
static
byte
[]
hex2byte
(
byte
[]
b
)
{
if
((
b
.
length
%
2
)
!=
0
){
throw
new
IllegalArgumentException
(
"长度不是偶数"
);
}
byte
[]
b2
=
new
byte
[
b
.
length
/
2
];
for
(
int
n
=
0
;
n
<
b
.
length
;
n
+=
2
)
{
String
item
=
new
String
(
b
,
n
,
2
);
b2
[
n
/
2
]
=
(
byte
)
Integer
.
parseInt
(
item
,
16
);
}
return
b2
;
}
/**
* 对称解密
* @param source
* @return
* @throws Exception
*/
public
static
String
desDecrypt
(
String
source
)
throws
Exception
{
if
(
source
==
null
||
source
.
length
()
==
0
){
return
null
;
}
byte
[]
src
=
hex2byte
(
source
.
getBytes
());
Cipher
cipher
=
Cipher
.
getInstance
(
"DES/CBC/PKCS5Padding"
);
DESKeySpec
desKeySpec
=
new
DESKeySpec
(
strKey
.
getBytes
(
"UTF-8"
));
SecretKeyFactory
keyFactory
=
SecretKeyFactory
.
getInstance
(
"DES"
);
SecretKey
secretKey
=
keyFactory
.
generateSecret
(
desKeySpec
);
IvParameterSpec
iv
=
new
IvParameterSpec
(
strParam
.
getBytes
(
"UTF-8"
));
cipher
.
init
(
Cipher
.
DECRYPT_MODE
,
secretKey
,
iv
);
byte
[]
retByte
=
cipher
.
doFinal
(
src
);
return
new
String
(
retByte
);
}
/**
/**
* 密码加密
* 密码加密
* @param password
* @param password
...
...
src/main/java/me/zhengjie/system/domain/Menu.java
View file @
81078698
...
@@ -26,7 +26,7 @@ public class Menu {
...
@@ -26,7 +26,7 @@ public class Menu {
private
String
name
;
private
String
name
;
@Column
(
unique
=
true
)
@Column
(
unique
=
true
)
private
Long
so
f
t
;
private
Long
so
r
t
;
@Column
(
name
=
"path"
)
@Column
(
name
=
"path"
)
private
String
path
;
private
String
path
;
...
...
src/main/java/me/zhengjie/system/domain/VerificationCode.java
0 → 100644
View file @
81078698
package
me.zhengjie.system.domain
;
import
lombok.Data
;
import
org.hibernate.annotations.CreationTimestamp
;
import
javax.persistence.*
;
import
java.sql.Timestamp
;
/**
* @author jie
* @date 2018-12-26
*/
@Data
@Entity
@Table
(
name
=
"verification_code"
)
public
class
VerificationCode
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
Long
id
;
private
String
code
;
/**
* true 为有效,false 为无效
*/
private
Boolean
status
=
true
;
/**
* 类型 :phone 和 email
*/
private
String
type
;
/**
* 具体的phone与email
*/
private
String
value
;
/**
* 创建日期
*/
@CreationTimestamp
private
Timestamp
createTime
;
}
src/main/java/me/zhengjie/system/repository/MenuRepository.java
View file @
81078698
...
@@ -25,7 +25,7 @@ public interface MenuRepository extends JpaRepository<Menu, Long>, JpaSpecificat
...
@@ -25,7 +25,7 @@ public interface MenuRepository extends JpaRepository<Menu, Long>, JpaSpecificat
* @param roleSet
* @param roleSet
* @return
* @return
*/
*/
Set
<
Menu
>
findByRolesOrderBySo
f
t
(
Set
<
Role
>
roleSet
);
Set
<
Menu
>
findByRolesOrderBySo
r
t
(
Set
<
Role
>
roleSet
);
/**
/**
* findByPid
* findByPid
...
...
src/main/java/me/zhengjie/system/repository/VerificationCodeRepository.java
0 → 100644
View file @
81078698
package
me.zhengjie.system.repository
;
import
me.zhengjie.system.domain.VerificationCode
;
import
org.springframework.data.jpa.repository.JpaRepository
;
/**
* @author jie
* @date 2018-12-26
*/
public
interface
VerificationCodeRepository
extends
JpaRepository
<
VerificationCode
,
Long
>
{
}
src/main/java/me/zhengjie/system/rest/MenuController.java
View file @
81078698
...
@@ -77,7 +77,7 @@ public class MenuController {
...
@@ -77,7 +77,7 @@ public class MenuController {
@Log
(
description
=
"新增菜单"
)
@Log
(
description
=
"新增菜单"
)
@PostMapping
(
value
=
"/menus"
)
@PostMapping
(
value
=
"/menus"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','
PERMISSION_ALL','PERMISSION
_CREATE')"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','
MENU_ALL','MENU
_CREATE')"
)
public
ResponseEntity
create
(
@Validated
@RequestBody
Menu
resources
){
public
ResponseEntity
create
(
@Validated
@RequestBody
Menu
resources
){
if
(
resources
.
getId
()
!=
null
)
{
if
(
resources
.
getId
()
!=
null
)
{
throw
new
BadRequestException
(
"A new "
+
ENTITY_NAME
+
" cannot already have an ID"
);
throw
new
BadRequestException
(
"A new "
+
ENTITY_NAME
+
" cannot already have an ID"
);
...
@@ -87,7 +87,7 @@ public class MenuController {
...
@@ -87,7 +87,7 @@ public class MenuController {
@Log
(
description
=
"修改菜单"
)
@Log
(
description
=
"修改菜单"
)
@PutMapping
(
value
=
"/menus"
)
@PutMapping
(
value
=
"/menus"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','
PERMISSION_ALL','PERMISSION
_EDIT')"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','
MENU_ALL','MENU
_EDIT')"
)
public
ResponseEntity
update
(
@Validated
@RequestBody
Menu
resources
){
public
ResponseEntity
update
(
@Validated
@RequestBody
Menu
resources
){
if
(
resources
.
getId
()
==
null
)
{
if
(
resources
.
getId
()
==
null
)
{
throw
new
BadRequestException
(
ENTITY_NAME
+
" ID Can not be empty"
);
throw
new
BadRequestException
(
ENTITY_NAME
+
" ID Can not be empty"
);
...
@@ -98,7 +98,7 @@ public class MenuController {
...
@@ -98,7 +98,7 @@ public class MenuController {
@Log
(
description
=
"删除菜单"
)
@Log
(
description
=
"删除菜单"
)
@DeleteMapping
(
value
=
"/menus/{id}"
)
@DeleteMapping
(
value
=
"/menus/{id}"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','
PERMISSION_ALL','PERMISSION
_DELETE')"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','
MENU_ALL','MENU
_DELETE')"
)
public
ResponseEntity
delete
(
@PathVariable
Long
id
){
public
ResponseEntity
delete
(
@PathVariable
Long
id
){
menuService
.
delete
(
id
);
menuService
.
delete
(
id
);
return
new
ResponseEntity
(
HttpStatus
.
OK
);
return
new
ResponseEntity
(
HttpStatus
.
OK
);
...
...
src/main/java/me/zhengjie/system/rest/PermissionController.java
View file @
81078698
...
@@ -42,7 +42,7 @@ public class PermissionController {
...
@@ -42,7 +42,7 @@ public class PermissionController {
* @return
* @return
*/
*/
@GetMapping
(
value
=
"/permissions/tree"
)
@GetMapping
(
value
=
"/permissions/tree"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','PERMISSION_ALL','
ROLE_ALL','ROLE_ADD
','ROLE
_EDIT
')"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','PERMISSION_ALL','
PERMISSION_SELECT','ROLES_SELECT
','ROLE
S_ALL
')"
)
public
ResponseEntity
getRoleTree
(){
public
ResponseEntity
getRoleTree
(){
return
new
ResponseEntity
(
permissionService
.
getPermissionTree
(
permissionService
.
findByPid
(
0L
)),
HttpStatus
.
OK
);
return
new
ResponseEntity
(
permissionService
.
getPermissionTree
(
permissionService
.
findByPid
(
0L
)),
HttpStatus
.
OK
);
}
}
...
...
src/main/java/me/zhengjie/system/rest/RoleController.java
View file @
81078698
...
@@ -31,7 +31,7 @@ public class RoleController {
...
@@ -31,7 +31,7 @@ public class RoleController {
private
static
final
String
ENTITY_NAME
=
"role"
;
private
static
final
String
ENTITY_NAME
=
"role"
;
@GetMapping
(
value
=
"/roles/{id}"
)
@GetMapping
(
value
=
"/roles/{id}"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','ROLE_ALL','ROLE_SELECT')"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','ROLE
S
_ALL','ROLE
S
_SELECT')"
)
public
ResponseEntity
getRoles
(
@PathVariable
Long
id
){
public
ResponseEntity
getRoles
(
@PathVariable
Long
id
){
return
new
ResponseEntity
(
roleService
.
findById
(
id
),
HttpStatus
.
OK
);
return
new
ResponseEntity
(
roleService
.
findById
(
id
),
HttpStatus
.
OK
);
}
}
...
@@ -41,21 +41,21 @@ public class RoleController {
...
@@ -41,21 +41,21 @@ public class RoleController {
* @return
* @return
*/
*/
@GetMapping
(
value
=
"/roles/tree"
)
@GetMapping
(
value
=
"/roles/tree"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','
ROLE
_ALL','
USER
_ALL','USER_A
DD
','USER_
EDI
T')"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','
MENU
_ALL','
MENU_SELECT','ROLES
_ALL','USER_A
LL
','USER_
SELEC
T')"
)
public
ResponseEntity
getRoleTree
(){
public
ResponseEntity
getRoleTree
(){
return
new
ResponseEntity
(
roleService
.
getRoleTree
(),
HttpStatus
.
OK
);
return
new
ResponseEntity
(
roleService
.
getRoleTree
(),
HttpStatus
.
OK
);
}
}
@Log
(
description
=
"查询角色"
)
@Log
(
description
=
"查询角色"
)
@GetMapping
(
value
=
"/roles"
)
@GetMapping
(
value
=
"/roles"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','ROLE_ALL','ROLE_SELECT')"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','ROLE
S
_ALL','ROLE
S
_SELECT')"
)
public
ResponseEntity
getRoles
(
RoleDTO
resources
,
Pageable
pageable
){
public
ResponseEntity
getRoles
(
RoleDTO
resources
,
Pageable
pageable
){
return
new
ResponseEntity
(
roleQueryService
.
queryAll
(
resources
,
pageable
),
HttpStatus
.
OK
);
return
new
ResponseEntity
(
roleQueryService
.
queryAll
(
resources
,
pageable
),
HttpStatus
.
OK
);
}
}
@Log
(
description
=
"新增角色"
)
@Log
(
description
=
"新增角色"
)
@PostMapping
(
value
=
"/roles"
)
@PostMapping
(
value
=
"/roles"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','ROLE_ALL','ROLE_CREATE')"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','ROLE
S
_ALL','ROLE
S
_CREATE')"
)
public
ResponseEntity
create
(
@Validated
@RequestBody
Role
resources
){
public
ResponseEntity
create
(
@Validated
@RequestBody
Role
resources
){
if
(
resources
.
getId
()
!=
null
)
{
if
(
resources
.
getId
()
!=
null
)
{
throw
new
BadRequestException
(
"A new "
+
ENTITY_NAME
+
" cannot already have an ID"
);
throw
new
BadRequestException
(
"A new "
+
ENTITY_NAME
+
" cannot already have an ID"
);
...
@@ -65,7 +65,7 @@ public class RoleController {
...
@@ -65,7 +65,7 @@ public class RoleController {
@Log
(
description
=
"修改角色"
)
@Log
(
description
=
"修改角色"
)
@PutMapping
(
value
=
"/roles"
)
@PutMapping
(
value
=
"/roles"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','ROLE_ALL','ROLE_EDIT')"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','ROLE
S
_ALL','ROLE
S
_EDIT')"
)
public
ResponseEntity
update
(
@Validated
@RequestBody
Role
resources
){
public
ResponseEntity
update
(
@Validated
@RequestBody
Role
resources
){
if
(
resources
.
getId
()
==
null
)
{
if
(
resources
.
getId
()
==
null
)
{
throw
new
BadRequestException
(
ENTITY_NAME
+
" ID Can not be empty"
);
throw
new
BadRequestException
(
ENTITY_NAME
+
" ID Can not be empty"
);
...
@@ -76,7 +76,7 @@ public class RoleController {
...
@@ -76,7 +76,7 @@ public class RoleController {
@Log
(
description
=
"删除角色"
)
@Log
(
description
=
"删除角色"
)
@DeleteMapping
(
value
=
"/roles/{id}"
)
@DeleteMapping
(
value
=
"/roles/{id}"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','ROLE_ALL','ROLE_DELETE')"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','ROLE
S
_ALL','ROLE
S
_DELETE')"
)
public
ResponseEntity
delete
(
@PathVariable
Long
id
){
public
ResponseEntity
delete
(
@PathVariable
Long
id
){
roleService
.
delete
(
id
);
roleService
.
delete
(
id
);
return
new
ResponseEntity
(
HttpStatus
.
OK
);
return
new
ResponseEntity
(
HttpStatus
.
OK
);
...
...
src/main/java/me/zhengjie/system/rest/VerificationCodeController.java
0 → 100644
View file @
81078698
package
me.zhengjie.system.rest
;
import
me.zhengjie.system.domain.VerificationCode
;
import
me.zhengjie.system.service.VerificationCodeService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
/**
* @author jie
* @date 2018-12-26
*/
@RestController
@RequestMapping
(
"api"
)
public
class
VerificationCodeController
{
@Autowired
private
VerificationCodeService
verificationCodeService
;
@PostMapping
(
value
=
"/code/sendEmail"
)
public
ResponseEntity
sendEmail
(
@RequestBody
VerificationCode
code
){
code
.
setType
(
"email"
);
verificationCodeService
.
sendEmail
(
code
);
return
new
ResponseEntity
(
HttpStatus
.
OK
);
}
@GetMapping
(
value
=
"/code/validated"
)
public
ResponseEntity
validated
(
VerificationCode
code
){
verificationCodeService
.
validated
(
code
);
return
new
ResponseEntity
(
HttpStatus
.
OK
);
}
}
src/main/java/me/zhengjie/system/service/VerificationCodeService.java
0 → 100644
View file @
81078698
package
me.zhengjie.system.service
;
import
me.zhengjie.system.domain.VerificationCode
;
/**
* @author jie
* @date 2018-12-26
*/
public
interface
VerificationCodeService
{
/**
* 发送邮件验证码
* @param code
*/
void
sendEmail
(
VerificationCode
code
);
/**
* 验证
* @param code
*/
void
validated
(
VerificationCode
code
);
}
src/main/java/me/zhengjie/system/service/dto/MenuDTO.java
View file @
81078698
...
@@ -16,7 +16,7 @@ public class MenuDTO {
...
@@ -16,7 +16,7 @@ public class MenuDTO {
private
String
name
;
private
String
name
;
private
Long
so
f
t
;
private
Long
so
r
t
;
private
String
path
;
private
String
path
;
...
...
src/main/java/me/zhengjie/system/service/impl/MenuServiceImpl.java
View file @
81078698
...
@@ -37,7 +37,12 @@ public class MenuServiceImpl implements MenuService {
...
@@ -37,7 +37,12 @@ public class MenuServiceImpl implements MenuService {
@Override
@Override
public
List
<
MenuDTO
>
findByRoles
(
Set
<
Role
>
roles
)
{
public
List
<
MenuDTO
>
findByRoles
(
Set
<
Role
>
roles
)
{
Set
<
Menu
>
menus
=
menuRepository
.
findByRolesOrderBySoft
(
roles
);
Set
<
Menu
>
menus
=
new
LinkedHashSet
<>();
for
(
Role
role
:
roles
)
{
Set
<
Role
>
roleSet
=
new
HashSet
<>();
roleSet
.
add
(
role
);
menus
.
addAll
(
menuRepository
.
findByRolesOrderBySort
(
roleSet
));
}
return
menus
.
stream
().
map
(
menuMapper:
:
toDto
).
collect
(
Collectors
.
toList
());
return
menus
.
stream
().
map
(
menuMapper:
:
toDto
).
collect
(
Collectors
.
toList
());
}
}
...
@@ -67,7 +72,7 @@ public class MenuServiceImpl implements MenuService {
...
@@ -67,7 +72,7 @@ public class MenuServiceImpl implements MenuService {
menu
.
setIcon
(
resources
.
getIcon
());
menu
.
setIcon
(
resources
.
getIcon
());
menu
.
setIFrame
(
resources
.
getIFrame
());
menu
.
setIFrame
(
resources
.
getIFrame
());
menu
.
setPid
(
resources
.
getPid
());
menu
.
setPid
(
resources
.
getPid
());
menu
.
setSo
f
t
(
resources
.
getSo
f
t
());
menu
.
setSo
r
t
(
resources
.
getSo
r
t
());
menu
.
setRoles
(
resources
.
getRoles
());
menu
.
setRoles
(
resources
.
getRoles
());
menuRepository
.
save
(
menu
);
menuRepository
.
save
(
menu
);
}
}
...
@@ -137,6 +142,8 @@ public class MenuServiceImpl implements MenuService {
...
@@ -137,6 +142,8 @@ public class MenuServiceImpl implements MenuService {
MenuVo
menuVo
=
new
MenuVo
();
MenuVo
menuVo
=
new
MenuVo
();
menuVo
.
setName
(
menuDTO
.
getName
());
menuVo
.
setName
(
menuDTO
.
getName
());
menuVo
.
setPath
(
menuDTO
.
getPath
());
menuVo
.
setPath
(
menuDTO
.
getPath
());
// 如果不是外链
if
(!
menuDTO
.
getIFrame
()){
if
(!
menuDTO
.
getIFrame
()){
if
(
menuDTO
.
getPid
().
equals
(
0L
)){
if
(
menuDTO
.
getPid
().
equals
(
0L
)){
//一级目录需要加斜杠,不然访问不了
//一级目录需要加斜杠,不然访问不了
...
@@ -149,6 +156,24 @@ public class MenuServiceImpl implements MenuService {
...
@@ -149,6 +156,24 @@ public class MenuServiceImpl implements MenuService {
if
(
menuDTOList
!=
null
&&
menuDTOList
.
size
()!=
0
){
if
(
menuDTOList
!=
null
&&
menuDTOList
.
size
()!=
0
){
menuVo
.
setAlwaysShow
(
true
);
menuVo
.
setAlwaysShow
(
true
);
menuVo
.
setChildren
(
buildMenus
(
menuDTOList
));
menuVo
.
setChildren
(
buildMenus
(
menuDTOList
));
// 处理是一级菜单并且没有子菜单的情况
}
else
if
(
menuDTO
.
getPid
().
equals
(
0L
)){
MenuVo
menuVo1
=
new
MenuVo
();
menuVo1
.
setMeta
(
menuVo
.
getMeta
());
// 非外链
if
(!
menuDTO
.
getIFrame
()){
menuVo1
.
setPath
(
"index"
);
menuVo1
.
setName
(
menuVo
.
getName
());
menuVo1
.
setComponent
(
menuVo
.
getComponent
());
}
else
{
menuVo1
.
setPath
(
menuDTO
.
getPath
());
}
menuVo
.
setName
(
null
);
menuVo
.
setMeta
(
null
);
menuVo
.
setComponent
(
"Layout"
);
List
<
MenuVo
>
list1
=
new
ArrayList
<
MenuVo
>();
list1
.
add
(
menuVo1
);
menuVo
.
setChildren
(
list1
);
}
}
list
.
add
(
menuVo
);
list
.
add
(
menuVo
);
}
}
...
...
src/main/java/me/zhengjie/system/service/impl/VerificationCodeServiceImpl.java
0 → 100644
View file @
81078698
package
me.zhengjie.system.service.impl
;
import
me.zhengjie.system.domain.VerificationCode
;
import
me.zhengjie.system.service.VerificationCodeService
;
import
org.springframework.stereotype.Service
;
/**
* @author jie
* @date 2018-12-26
*/
@Service
public
class
VerificationCodeServiceImpl
implements
VerificationCodeService
{
@Override
public
void
sendEmail
(
VerificationCode
code
)
{
}
@Override
public
void
validated
(
VerificationCode
code
)
{
}
}
src/main/java/me/zhengjie/tools/config/MultipartConfig.java
0 → 100644
View file @
81078698
package
me.zhengjie.tools.config
;
import
org.springframework.boot.web.servlet.MultipartConfigFactory
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
javax.servlet.MultipartConfigElement
;
import
java.io.File
;
/**
* @date 2018-12-28
* @author https://blog.csdn.net/llibin1024530411/article/details/79474953
*/
@Configuration
public
class
MultipartConfig
{
/**
* 文件上传临时路径
*/
@Bean
MultipartConfigElement
multipartConfigElement
()
{
MultipartConfigFactory
factory
=
new
MultipartConfigFactory
();
String
location
=
System
.
getProperty
(
"user.dir"
)
+
"/data/tmp"
;
File
tmpFile
=
new
File
(
location
);
if
(!
tmpFile
.
exists
())
{
tmpFile
.
mkdirs
();
}
factory
.
setLocation
(
location
);
return
factory
.
createMultipartConfig
();
}
}
\ No newline at end of file
src/main/java/me/zhengjie/tools/domain/EmailConfig.java
0 → 100644
View file @
81078698
package
me.zhengjie.tools.domain
;
import
lombok.Data
;
import
javax.persistence.*
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
/**
* 邮件配置类,数据存覆盖式存入数据存
* @author jie
* @date 2018-12-26
*/
@Entity
@Data
@Table
(
name
=
"email_config"
)
public
class
EmailConfig
implements
Serializable
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
Long
id
;
/**
*邮件服务器SMTP地址
*/
@NotBlank
private
String
host
;
/**
* 邮件服务器SMTP端口
*/
@NotBlank
private
String
port
;
/**
* 发件者用户名,默认为发件人邮箱前缀
*/
@NotBlank
private
String
user
;
@NotBlank
private
String
pass
;
/**
* 发件人
*/
@NotBlank
private
String
fromUser
;
}
Prev
1
2
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment