diff --git a/README.md b/README.md index 7944267269a2b02c60d335db36b8e0417ea786c6..ba40216d0c243be9e25bfe22f61981c8dd8d18b5 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@

- +

License Stars - SpringBoot + SpringBoot SpringCloud Spring Cloud Alibaba

@@ -27,17 +27,17 @@ admin | matecloud| mate-system模块不能执行增删改请求 ### 技术交流

- +

QQ群:2003638 ### 技术架构

- +

### 功能特点 -- 主体框架:采用最新的Spring Cloud Hoxton SR8, Spring Boot 2.3.6.RELEASE, Spring Cloud Alibaba 2.2.3.RELEASE版本进行系统设计; +- 主体框架:采用最新的Spring Cloud Hoxton SR8, Spring Boot 2.3.7.RELEASE, Spring Cloud Alibaba 2.2.3.RELEASE版本进行系统设计; - 统一注册:支持nacos作为注册中心,实现多配置、分群组、分命名空间、多业务模块的注册和发现功能; @@ -108,7 +108,7 @@ matecloud -- 父项目,各模块分离,方便集成和微服务 vip.mate mate-starter-dependencies - 1.6.8 + 2.0.8 pom import diff --git a/doc/sql/matex_schema.sql b/doc/sql/matex_schema.sql index 221673e4228c03e6e19becc1a637584d679fbe39..1715fb837d2ebd731fd0cdbcd54db4ce1c43a1b4 100644 --- a/doc/sql/matex_schema.sql +++ b/doc/sql/matex_schema.sql @@ -52,99 +52,104 @@ COMMIT; -- ---------------------------- DROP TABLE IF EXISTS `mate_sys_menu`; CREATE TABLE `mate_sys_menu` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '菜单ID', - `name` varchar(32) DEFAULT NULL COMMENT '菜单标题', - `permission` varchar(32) DEFAULT NULL COMMENT '菜单权限', - `path` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '路径', - `parent_id` bigint(20) DEFAULT '0' COMMENT '父菜单ID', - `icon` varchar(32) DEFAULT NULL COMMENT '菜单图标', - `sort` int(11) DEFAULT '1' COMMENT '排序值', - `keep_alive` char(1) DEFAULT '0' COMMENT '是否缓存该页面: 1:是 0:不是', - `type` char(1) DEFAULT '0' COMMENT '菜单类型', - `create_by` varchar(32) DEFAULT NULL COMMENT '创建人', - `update_by` varchar(32) DEFAULT NULL COMMENT '更新人', - `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '状态', - `is_deleted` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '0' COMMENT '删除标识', - `tenant_id` bigint(20) unsigned DEFAULT '0' COMMENT '租户ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=2053 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='菜单权限表'; + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '菜单ID', + `name` varchar(32) DEFAULT NULL COMMENT '菜单标题', + `permission` varchar(32) DEFAULT NULL COMMENT '菜单权限', + `path` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '路径', + `parent_id` bigint(20) DEFAULT '0' COMMENT '父菜单ID', + `icon` varchar(32) DEFAULT NULL COMMENT '菜单图标', + `sort` int(11) DEFAULT '1' COMMENT '排序值', + `keep_alive` char(1) DEFAULT '0' COMMENT '是否缓存该页面: 1:是 0:不是', + `type` char(1) DEFAULT '0' COMMENT '菜单类型', + `hidden` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '0', + `target` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '0', + `create_by` varchar(32) DEFAULT NULL COMMENT '创建人', + `update_by` varchar(32) DEFAULT NULL COMMENT '更新人', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '状态', + `is_deleted` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '0' COMMENT '删除标识', + `tenant_id` bigint(20) unsigned DEFAULT '0' COMMENT '租户ID', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=2054 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='菜单权限表'; -- ---------------------------- -- Records of mate_sys_menu -- ---------------------------- -BEGIN; -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1000, '系统管理', NULL, '/system', -1, 'imac', 1, '0', '0', NULL, NULL, '2020-06-17 14:21:45', '2020-08-11 03:41:11', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1100, '用户管理', NULL, '/system/user', 1000, 'user', 1, '0', '1', NULL, NULL, '2020-06-18 14:28:36', '2020-06-25 11:19:20', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1101, '用户新增', 'sys:user:add', '', 1100, NULL, 1, '0', '2', NULL, NULL, '2020-06-17 14:32:51', '2020-07-03 08:51:48', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1102, '用户修改', 'sys:user:edit', NULL, 1100, NULL, 1, '0', '2', NULL, NULL, '2020-06-20 00:27:40', '2020-07-03 08:51:50', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1103, '用户删除', 'sys:user:delete', NULL, 1100, NULL, 1, '0', '2', NULL, NULL, '2020-06-20 00:27:56', '2020-07-03 08:51:52', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1104, '用户启用', 'sys:user:enable', NULL, 1100, NULL, 1, '0', '2', NULL, NULL, '2020-07-03 08:49:47', '2020-07-03 08:55:39', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1105, '用户禁用', 'sys:user:disable', NULL, 1100, NULL, 1, '0', '2', NULL, NULL, '2020-07-03 08:50:16', '2020-07-03 08:55:40', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1106, '用户导出', 'sys:user:export', NULL, 1100, NULL, 1, '0', '2', NULL, NULL, '2020-07-03 08:50:58', '2020-07-03 08:55:42', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1200, '角色管理', NULL, '/system/role', 1000, 'repair', 1, '0', '1', NULL, NULL, '2020-06-19 16:36:01', '2020-06-25 03:19:23', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1201, '角色新增', 'sys:role:add', NULL, 1200, NULL, 1, '0', '2', NULL, NULL, '2020-06-20 00:37:12', '2020-07-03 14:00:56', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1202, '角色修改', 'sys:role:edit', NULL, 1200, NULL, 1, '0', '2', NULL, NULL, '2020-06-20 00:38:23', '2020-07-03 14:01:06', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1203, '角色删除', 'sys:role:delete', NULL, 1200, NULL, 1, '0', '2', NULL, NULL, '2020-06-20 00:38:53', '2020-07-03 14:01:14', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1204, '角色导出', 'sys:role:export', NULL, 1200, NULL, 1, '0', '2', NULL, NULL, '2020-07-03 14:02:37', '2020-07-03 14:02:50', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1205, '角色权限', 'sys:role:perm', NULL, 1200, NULL, 1, '0', '2', NULL, NULL, '2020-07-03 14:03:32', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1300, '菜单管理', NULL, '/system/menu', 1000, 'tree', 1, '0', '1', NULL, NULL, '2020-06-19 16:39:07', '2020-06-25 03:19:45', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1301, '菜单新增', 'sys:menu:add', NULL, 1300, NULL, 1, '0', '2', NULL, NULL, '2020-06-20 00:39:48', '2020-07-03 14:11:59', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1302, '菜单修改', 'sys:menu:edit', NULL, 1300, NULL, 1, '0', '2', NULL, NULL, '2020-06-20 00:40:21', '2020-07-03 14:12:15', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1303, '菜单删除', 'sys:menu:delete', NULL, 1300, NULL, 1, '0', '2', NULL, NULL, '2020-06-20 00:40:42', '2020-07-03 14:12:23', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1304, '菜单启用', 'sys:menu:enable', NULL, 1300, NULL, 1, '0', '2', NULL, NULL, '2020-07-03 14:12:59', '2020-07-03 14:13:14', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1305, '菜单禁用', 'sys:menu:disable', NULL, 1300, NULL, 1, '0', '2', NULL, NULL, '2020-07-03 14:13:34', '2020-07-03 14:13:57', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1306, '菜单导出', 'sys:menu:export', NULL, 1300, NULL, 1, '0', '2', NULL, NULL, '2020-07-03 14:14:32', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1400, '部门管理', NULL, '/system/depart', 1000, 'table2', 1, '0', '1', NULL, NULL, '2020-06-26 22:52:41', '2020-07-03 14:25:56', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1401, '部门新增', 'sys:depart:add', NULL, 1400, NULL, 1, '0', '2', NULL, NULL, '2020-06-27 14:53:37', '2020-07-03 14:26:12', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1402, '部门修改', 'sys:depart:edit', NULL, 1400, NULL, 1, '0', '2', NULL, NULL, '2020-06-27 14:54:47', '2020-07-03 14:26:14', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1403, '部门删除', 'sys:depart:delete', NULL, 1400, NULL, 1, '0', '2', NULL, NULL, '2020-06-27 14:55:15', '2020-07-03 14:26:17', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1404, '部门导出', 'sys:depart:export', NULL, 1400, NULL, 1, '0', '2', NULL, NULL, '2020-07-03 14:27:26', '2020-07-03 14:27:45', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2015, '开发运维', NULL, '/devops', -1, 'settings', 3, '0', '0', NULL, NULL, '2020-07-05 03:20:31', '2020-10-19 05:24:24', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2016, '数据源管理', '', '/devops/datasource', 2015, 'table', 1, '0', '1', NULL, NULL, '2020-07-06 19:21:58', '2020-07-09 06:50:01', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2017, '数据源新增', 'sys:datasource:add', NULL, 2016, NULL, 1, '0', '2', NULL, NULL, '2020-07-07 04:08:11', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2018, '数据源修改', 'sys:datasource:edit', NULL, 2016, NULL, 1, '0', '2', NULL, NULL, '2020-07-07 04:08:40', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2019, '数据源删除', 'sys:datasource:delete', NULL, 2016, NULL, 1, '0', '2', NULL, NULL, '2020-07-07 04:09:05', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2020, '数据源导出', 'sys:datasource:export', NULL, 2016, NULL, 1, '0', '2', NULL, NULL, '2020-07-07 04:09:25', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2021, '代码生成', NULL, '/devops/generator', 2015, 'download', 1, '0', '1', NULL, NULL, '2020-07-09 07:08:50', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2022, '代码生成', 'devops:gen', NULL, 2021, NULL, 1, '0', '2', NULL, NULL, '2020-07-08 23:09:45', '2020-07-13 14:35:14', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2023, '监控配置中心', NULL, '/devops/monitor', 2015, 'validCode', 1, '0', '1', NULL, NULL, '2020-07-10 20:23:07', '2020-07-11 04:39:40', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2026, '客户端管理', NULL, '/system/client', 1000, 'iPhone', 1, '0', '1', NULL, NULL, '2020-07-13 22:47:20', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2027, '新增客户端', 'sys:client:add', NULL, 2026, NULL, 1, '0', '2', NULL, NULL, '2020-07-13 22:47:44', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2028, '修改客户端', 'sys:client:edit', NULL, 2026, NULL, 1, '0', '2', NULL, NULL, '2020-07-13 23:47:37', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2029, '删除客户端', 'sys:client:delete', NULL, 2026, NULL, 1, '0', '2', NULL, NULL, '2020-07-13 23:48:11', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2030, '导出客户端', 'sys:client:export', NULL, 2026, NULL, 1, '0', '2', NULL, NULL, '2020-07-13 23:48:28', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2031, '启禁客户端', 'sys:client:status', NULL, 2026, NULL, 1, '0', '2', NULL, NULL, '2020-07-13 23:49:22', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2032, '操作日志', NULL, '/system/log', 1000, 'comment', 2, '0', '1', NULL, NULL, '2020-07-15 05:11:09', '2020-08-11 03:41:43', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2033, '详细日志', 'sys:log:detail', NULL, 2032, NULL, 1, '0', '2', NULL, NULL, '2020-07-16 04:05:48', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2034, '日志删除', 'sys:log:delete', NULL, 2032, NULL, 1, '0', '2', NULL, NULL, '2020-07-16 04:06:16', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2035, '字典管理', NULL, '/system/dict', 1000, 'add', 1, '0', '1', NULL, NULL, '2020-07-17 09:29:31', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2036, '新增字典', 'sys:dict:add', NULL, 2035, NULL, 1, '0', '2', NULL, NULL, '2020-07-20 02:48:01', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2037, '修改字典', 'sys:dict:edit', NULL, 2035, NULL, 1, '0', '2', NULL, NULL, '2020-07-20 02:48:20', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2038, '删除字典', 'sys:dict:delete', NULL, 2035, NULL, 1, '0', '2', NULL, NULL, '2020-07-20 02:48:39', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2039, '组件管理', NULL, '/system/component', 1000, 'nested', 1, '0', '1', NULL, NULL, '2020-08-08 05:35:05', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2040, '内容管理', NULL, '/content', -1, 'content', 4, '0', '0', NULL, NULL, '2020-08-09 00:21:42', '2020-08-29 03:12:22', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2041, '文件管理', NULL, '/content/attachment', 2040, 'folder', 1, '0', '1', NULL, NULL, '2020-08-09 00:27:06', '2020-08-10 03:31:49', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2042, '修改组件', 'sys:comp:edit', NULL, 2039, NULL, 1, '0', '2', NULL, NULL, '2020-08-10 00:42:28', '2020-08-10 08:42:57', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2043, '上传文件', 'sys:attach:add', NULL, 2041, NULL, 1, '0', '2', NULL, NULL, '2020-08-10 08:43:52', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2044, '删除文件', 'sys:attach:delete', NULL, 2041, NULL, 1, '0', '2', NULL, NULL, '2020-08-10 08:44:29', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2045, '网关中心', NULL, '/gateway', -1, 'gateway', 2, '0', '0', NULL, NULL, '2020-08-28 11:12:00', '2020-10-19 05:24:19', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2047, '黑名单管理', NULL, '/gateway/blacklist', 2045, 'blacklist', 3, '0', '1', NULL, NULL, '2020-08-29 03:15:34', '2020-10-17 12:53:43', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2048, '新增黑名单', 'gw:bl:add', NULL, 2047, NULL, 1, '0', '2', NULL, NULL, '2020-08-29 09:38:52', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2049, '修改黑名单', 'gw:bl:edit', NULL, 2047, NULL, 1, '0', '2', NULL, NULL, '2020-08-29 09:39:27', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2050, '删除黑名单', 'gw:bl:del', NULL, 2047, NULL, 1, '0', '2', NULL, NULL, '2020-08-29 09:39:51', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2051, '黑名单状态', 'gw:bl:status', NULL, 2047, NULL, 1, '0', '2', NULL, NULL, '2020-08-29 09:44:20', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2053, '文档管理', NULL, '/content/doc', 2040, 'comment', 1, '0', '1', NULL, NULL, '2020-09-07 12:16:38', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2055, 'API管理', NULL, '/gateway/api', 2045, 'discovery', 2, '0', '1', NULL, NULL, '2020-10-14 14:00:06', '2020-10-17 12:53:38', '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2056, '微服务管理', NULL, '/gateway/route', 2045, 'share3', 1, '0', '1', NULL, NULL, '2020-10-17 12:53:27', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2057, '同步API', 'gw:api:sync', NULL, 2055, NULL, 1, '0', '2', NULL, NULL, '2020-10-17 14:16:06', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2058, '删除API', 'gw:api:del', NULL, 2055, NULL, 1, '0', '2', NULL, NULL, '2020-10-17 14:17:25', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2059, '修改API', 'gw:api:edit', NULL, 2055, NULL, 1, '0', '2', NULL, NULL, '2020-10-17 14:17:58', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2060, '新增微服务', 'gw:route:add', NULL, 2056, NULL, 1, '0', '2', NULL, NULL, '2020-10-19 05:19:45', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2061, '修改微服务', 'gw:route:edit', NULL, 2056, NULL, 1, '0', '2', NULL, NULL, '2020-10-19 05:20:49', NULL, '0', '0', 0); -INSERT INTO `mate_sys_menu`(`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2062, '删除微服务', 'gw:route:del', NULL, 2056, NULL, 1, '0', '2', NULL, NULL, '2020-10-19 05:21:03', NULL, '0', '0', 0); -COMMIT; +LOCK TABLES `mate_sys_menu` WRITE; +ALTER TABLE `mate_sys_menu` DISABLE KEYS; +INSERT INTO `mate_sys_menu` (`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`, `hidden`, `target`) VALUES + (1000,'系统管理',NULL,'/system',-1,'imac',1,'0','0',NULL,NULL,'2020-06-17 14:21:45','2020-08-11 03:41:11','0','0',0,'0','0'), + (1100,'用户管理',NULL,'/system/user',1000,'user',1,'0','1',NULL,NULL,'2020-06-18 14:28:36','2020-06-25 11:19:20','0','0',0,'0','0'), + (1101,'用户新增','sys:user:add','',1100,NULL,1,'0','2',NULL,NULL,'2020-06-17 14:32:51','2020-07-03 08:51:48','0','0',0,'0','0'), + (1102,'用户修改','sys:user:edit',NULL,1100,NULL,1,'0','2',NULL,NULL,'2020-06-20 00:27:40','2020-07-03 08:51:50','0','0',0,'0','0'), + (1103,'用户删除','sys:user:delete',NULL,1100,NULL,1,'0','2',NULL,NULL,'2020-06-20 00:27:56','2020-07-03 08:51:52','0','0',0,'0','0'), + (1104,'用户启用','sys:user:enable',NULL,1100,NULL,1,'0','2',NULL,NULL,'2020-07-03 08:49:47','2020-07-03 08:55:39','0','0',0,'0','0'), + (1105,'用户禁用','sys:user:disable',NULL,1100,NULL,1,'0','2',NULL,NULL,'2020-07-03 08:50:16','2020-07-03 08:55:40','0','0',0,'0','0'), + (1106,'用户导出','sys:user:export',NULL,1100,NULL,1,'0','2',NULL,NULL,'2020-07-03 08:50:58','2020-07-03 08:55:42','0','0',0,'0','0'), + (1200,'角色管理',NULL,'/system/role',1000,'repair',1,'0','1',NULL,NULL,'2020-06-19 16:36:01','2020-06-25 03:19:23','0','0',0,'0','0'), + (1201,'角色新增','sys:role:add',NULL,1200,NULL,1,'0','2',NULL,NULL,'2020-06-20 00:37:12','2020-07-03 14:00:56','0','0',0,'0','0'), + (1202,'角色修改','sys:role:edit',NULL,1200,NULL,1,'0','2',NULL,NULL,'2020-06-20 00:38:23','2020-07-03 14:01:06','0','0',0,'0','0'), + (1203,'角色删除','sys:role:delete',NULL,1200,NULL,1,'0','2',NULL,NULL,'2020-06-20 00:38:53','2020-07-03 14:01:14','0','0',0,'0','0'), + (1204,'角色导出','sys:role:export',NULL,1200,NULL,1,'0','2',NULL,NULL,'2020-07-03 14:02:37','2020-07-03 14:02:50','0','0',0,'0','0'), + (1205,'角色权限','sys:role:perm',NULL,1200,NULL,1,'0','2',NULL,NULL,'2020-07-03 14:03:32',NULL,'0','0',0,'0','0'), + (1300,'菜单管理',NULL,'/system/menu',1000,'tree',1,'0','1',NULL,NULL,'2020-06-19 16:39:07','2020-06-25 03:19:45','0','0',0,'0','0'), + (1301,'菜单新增','sys:menu:add',NULL,1300,NULL,1,'0','2',NULL,NULL,'2020-06-20 00:39:48','2020-07-03 14:11:59','0','0',0,'0','0'), + (1302,'菜单修改','sys:menu:edit',NULL,1300,NULL,1,'0','2',NULL,NULL,'2020-06-20 00:40:21','2020-07-03 14:12:15','0','0',0,'0','0'), + (1303,'菜单删除','sys:menu:delete',NULL,1300,NULL,1,'0','2',NULL,NULL,'2020-06-20 00:40:42','2020-07-03 14:12:23','0','0',0,'0','0'), + (1304,'菜单启用','sys:menu:enable',NULL,1300,NULL,1,'0','2',NULL,NULL,'2020-07-03 14:12:59','2020-07-03 14:13:14','0','0',0,'0','0'), + (1305,'菜单禁用','sys:menu:disable',NULL,1300,NULL,1,'0','2',NULL,NULL,'2020-07-03 14:13:34','2020-07-03 14:13:57','0','0',0,'0','0'), + (1306,'菜单导出','sys:menu:export',NULL,1300,NULL,1,'0','2',NULL,NULL,'2020-07-03 14:14:32',NULL,'0','0',0,'0','0'), + (1400,'部门管理',NULL,'/system/depart',1000,'table2',1,'0','1',NULL,NULL,'2020-06-26 22:52:41','2020-07-03 14:25:56','0','0',0,'0','0'), + (1401,'部门新增','sys:depart:add',NULL,1400,NULL,1,'0','2',NULL,NULL,'2020-06-27 14:53:37','2020-07-03 14:26:12','0','0',0,'0','0'), + (1402,'部门修改','sys:depart:edit',NULL,1400,NULL,1,'0','2',NULL,NULL,'2020-06-27 14:54:47','2020-07-03 14:26:14','0','0',0,'0','0'), + (1403,'部门删除','sys:depart:delete',NULL,1400,NULL,1,'0','2',NULL,NULL,'2020-06-27 14:55:15','2020-07-03 14:26:17','0','0',0,'0','0'), + (1404,'部门导出','sys:depart:export',NULL,1400,NULL,1,'0','2',NULL,NULL,'2020-07-03 14:27:26','2020-07-03 14:27:45','0','0',0,'0','0'), + (2015,'开发运维',NULL,'/devops',-1,'settings',3,'0','0',NULL,NULL,'2020-07-05 03:20:31','2020-10-19 05:24:24','0','0',0,'0','0'), + (2016,'数据源管理','','/devops/datasource',2015,'table',1,'0','1',NULL,NULL,'2020-07-06 19:21:58','2020-07-09 06:50:01','0','0',0,'0','0'), + (2017,'数据源新增','sys:datasource:add',NULL,2016,NULL,1,'0','2',NULL,NULL,'2020-07-07 04:08:11',NULL,'0','0',0,'0','0'), + (2018,'数据源修改','sys:datasource:edit',NULL,2016,NULL,1,'0','2',NULL,NULL,'2020-07-07 04:08:40',NULL,'0','0',0,'0','0'), + (2019,'数据源删除','sys:datasource:delete',NULL,2016,NULL,1,'0','2',NULL,NULL,'2020-07-07 04:09:05',NULL,'0','0',0,'0','0'), + (2020,'数据源导出','sys:datasource:export',NULL,2016,NULL,1,'0','2',NULL,NULL,'2020-07-07 04:09:25',NULL,'0','0',0,'0','0'), + (2021,'代码生成',NULL,'/devops/generator',2015,'download',1,'0','1',NULL,NULL,'2020-07-09 07:08:50',NULL,'0','0',0,'0','0'), + (2022,'代码生成','devops:gen',NULL,2021,NULL,1,'0','2',NULL,NULL,'2020-07-08 23:09:45','2020-07-13 14:35:14','0','0',0,'0','0'), + (2023,'监控配置中心',NULL,'/devops/monitor',2015,'validCode',1,'0','1',NULL,NULL,'2020-07-10 20:23:07','2020-07-11 04:39:40','0','0',0,'0','0'), + (2026,'客户端管理',NULL,'/system/client',1000,'iPhone',1,'0','1',NULL,NULL,'2020-07-13 22:47:20',NULL,'0','0',0,'0','0'), + (2027,'新增客户端','sys:client:add',NULL,2026,NULL,1,'0','2',NULL,NULL,'2020-07-13 22:47:44',NULL,'0','0',0,'0','0'), + (2028,'修改客户端','sys:client:edit',NULL,2026,NULL,1,'0','2',NULL,NULL,'2020-07-13 23:47:37',NULL,'0','0',0,'0','0'), + (2029,'删除客户端','sys:client:delete',NULL,2026,NULL,1,'0','2',NULL,NULL,'2020-07-13 23:48:11',NULL,'0','0',0,'0','0'), + (2030,'导出客户端','sys:client:export',NULL,2026,NULL,1,'0','2',NULL,NULL,'2020-07-13 23:48:28',NULL,'0','0',0,'0','0'), + (2031,'启禁客户端','sys:client:status',NULL,2026,NULL,1,'0','2',NULL,NULL,'2020-07-13 23:49:22',NULL,'0','0',0,'0','0'), + (2032,'操作日志',NULL,'/system/log',1000,'comment',2,'0','1',NULL,NULL,'2020-07-15 05:11:09','2020-08-11 03:41:43','0','0',0,'0','0'), + (2033,'详细日志','sys:log:detail',NULL,2032,NULL,1,'0','2',NULL,NULL,'2020-07-16 04:05:48',NULL,'0','0',0,'0','0'), + (2034,'日志删除','sys:log:delete',NULL,2032,NULL,1,'0','2',NULL,NULL,'2020-07-16 04:06:16',NULL,'0','0',0,'0','0'), + (2035,'字典管理',NULL,'/system/dict',1000,'add',1,'0','1',NULL,NULL,'2020-07-17 09:29:31',NULL,'0','0',0,'0','0'), + (2036,'新增字典','sys:dict:add',NULL,2035,NULL,1,'0','2',NULL,NULL,'2020-07-20 02:48:01',NULL,'0','0',0,'0','0'), + (2037,'修改字典','sys:dict:edit',NULL,2035,NULL,1,'0','2',NULL,NULL,'2020-07-20 02:48:20',NULL,'0','0',0,'0','0'), + (2038,'删除字典','sys:dict:delete',NULL,2035,NULL,1,'0','2',NULL,NULL,'2020-07-20 02:48:39',NULL,'0','0',0,'0','0'), + (2039,'组件管理',NULL,'/system/component',1000,'nested',9,'0','1',NULL,NULL,'2020-08-08 05:35:05','2020-12-16 01:58:23','0','0',0,'0','0'), + (2040,'内容管理',NULL,'/content',-1,'content',4,'0','0',NULL,NULL,'2020-08-09 00:21:42','2020-08-29 03:12:22','0','0',0,'0','0'), + (2041,'文件管理',NULL,'/content/attachment',2040,'folder',1,'0','1',NULL,NULL,'2020-08-09 00:27:06','2020-08-10 03:31:49','0','0',0,'0','0'), + (2042,'修改组件','sys:comp:edit',NULL,2039,NULL,1,'0','2',NULL,NULL,'2020-08-10 00:42:28','2020-08-10 08:42:57','0','0',0,'0','0'), + (2043,'上传文件','sys:attach:add',NULL,2041,NULL,1,'0','2',NULL,NULL,'2020-08-10 08:43:52',NULL,'0','0',0,'0','0'), + (2044,'删除文件','sys:attach:delete',NULL,2041,NULL,1,'0','2',NULL,NULL,'2020-08-10 08:44:29',NULL,'0','0',0,'0','0'), + (2045,'网关中心',NULL,'/gateway',-1,'gateway',2,'0','0',NULL,NULL,'2020-08-28 11:12:00','2020-10-19 05:24:19','0','0',0,'0','0'), + (2047,'黑名单管理',NULL,'/gateway/blacklist',2045,'blacklist',3,'0','1',NULL,NULL,'2020-08-29 03:15:34','2020-10-17 12:53:43','0','0',0,'0','0'), + (2048,'新增黑名单','gw:bl:add',NULL,2047,NULL,1,'0','2',NULL,NULL,'2020-08-29 09:38:52',NULL,'0','0',0,'0','0'), + (2049,'修改黑名单','gw:bl:edit',NULL,2047,NULL,1,'0','2',NULL,NULL,'2020-08-29 09:39:27',NULL,'0','0',0,'0','0'), + (2050,'删除黑名单','gw:bl:del',NULL,2047,NULL,1,'0','2',NULL,NULL,'2020-08-29 09:39:51',NULL,'0','0',0,'0','0'), + (2051,'黑名单状态','gw:bl:status',NULL,2047,NULL,1,'0','2',NULL,NULL,'2020-08-29 09:44:20',NULL,'0','0',0,'0','0'), + (2053,'文档管理',NULL,'/content/doc',2040,'comment',1,'0','1',NULL,NULL,'2020-09-07 12:16:38',NULL,'0','0',0,'0','0'), + (2055,'API管理',NULL,'/gateway/api',2045,'discovery',2,'0','1',NULL,NULL,'2020-10-14 14:00:06','2020-10-17 12:53:38','0','0',0,'0','0'), + (2056,'微服务管理',NULL,'/gateway/route',2045,'share3',1,'0','1',NULL,NULL,'2020-10-17 12:53:27',NULL,'0','0',0,'0','0'), + (2057,'同步API','gw:api:sync',NULL,2055,NULL,1,'0','2',NULL,NULL,'2020-10-17 14:16:06',NULL,'0','0',0,'0','0'), + (2058,'删除API','gw:api:del',NULL,2055,NULL,1,'0','2',NULL,NULL,'2020-10-17 14:17:25',NULL,'0','0',0,'0','0'), + (2059,'修改API','gw:api:edit',NULL,2055,NULL,1,'0','2',NULL,NULL,'2020-10-17 14:17:58',NULL,'0','0',0,'0','0'), + (2060,'新增微服务','gw:route:add',NULL,2056,NULL,1,'0','2',NULL,NULL,'2020-10-19 05:19:45',NULL,'0','0',0,'0','0'), + (2061,'修改微服务','gw:route:edit',NULL,2056,NULL,1,'0','2',NULL,NULL,'2020-10-19 05:20:49',NULL,'0','0',0,'0','0'), + (2062,'删除微服务','gw:route:del',NULL,2056,NULL,1,'0','2',NULL,NULL,'2020-10-19 05:21:03',NULL,'0','0',0,'0','0'); +ALTER TABLE `mate_sys_menu` ENABLE KEYS; +UNLOCK TABLES; -- ---------------------------- -- Table structure for mate_sys_depart diff --git a/doc/sql/matex_schema_5.6+5.7.sql b/doc/sql/matex_schema_5.6+5.7.sql index 451a2df94b26bd326e599e869f11d5590a505b2d..e00f47ef5da63be5231f2a084d000cebe1189661 100644 --- a/doc/sql/matex_schema_5.6+5.7.sql +++ b/doc/sql/matex_schema_5.6+5.7.sql @@ -1,4 +1,3 @@ - SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; @@ -43,6 +42,76 @@ INSERT INTO `mate_data_source` (`id`, `name`, `driver_class`, `url`, `username`, -- -------------------------------------------------------- +-- +-- 表的结构 `mate_duben_doc` +-- + +CREATE TABLE IF NOT EXISTS `mate_duben_doc` ( + `id` bigint(20) NOT NULL COMMENT '文档id', + `set_id` bigint(20) DEFAULT '0', + `parent_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '父文档id', + `title` varchar(255) DEFAULT NULL COMMENT '文档标题', + `price` decimal(10,2) DEFAULT NULL COMMENT '文档价格', + `origin_price` decimal(10,2) DEFAULT NULL COMMENT '原始价格', + `doc_context` text COMMENT '文档内容', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标识', + `create_by` varchar(32) DEFAULT NULL COMMENT '创建人', + `update_by` varchar(32) DEFAULT NULL COMMENT '更新人', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' +) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4 COMMENT='读本文档'; + +-- +-- 转存表中的数据 `mate_duben_doc` +-- + +INSERT INTO `mate_duben_doc` (`id`, `set_id`, `parent_id`, `title`, `price`, `origin_price`, `doc_context`, `del_flag`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES +(1, 1, 0, '快速入门', NULL, NULL, NULL, '0', NULL, NULL, '2020-11-02 07:29:08', '2020-11-02 07:32:17'), +(2, 1, 0, '开发初探', NULL, NULL, NULL, '0', NULL, NULL, '2020-11-02 10:04:25', '2020-11-02 10:04:25'), +(6, 1, 1, '产品介绍', NULL, NULL, '![matecloud](https://cdn.cankaojia.cn/matecloud.jpg)\n\n\n![](https://img.shields.io/github/license/matevip/matecloud)\n![](https://img.shields.io/badge/Spring%20Boot-2.3.4.RELEASE-green)\n![](https://img.shields.io/badge/Spring%20Cloud-Hoxton.SR8-blue)\n![](https://img.shields.io/badge/Spring%20Cloud%20Alibaba-2.2.3.RELEASE-brightgreen)\n\n## 如果您觉得有帮助,请点右上角 "Star" 支持一下谢谢\n\nMateCloud是一款基于Spring Cloud Alibaba的微服务架构。旨在为大家提供技术框架的基础能力的封装,减少开发工作,让您只关注业务。\n\n### 系统演示\n#### 演示地址:http://cloud.mate.vip\n\n账号 | 密码| 操作权限\n---|---|---\nadmin | matecloud| mate-system模块不能执行增删改请求\n\n如果需要验证手机号码登录,手机号码采用页面默认号码,点击获取验证码,输入1188,即可登录。\n\n### 技术交流\n\n![](https://cdn.ckjia.com/matecloud_social2.jpg)\n\nQQ群:2003638\n\n### 技术架构\n\n![](https://cdn.ckjia.com/matecloud-framework.jpg)\n\n### 功能特点\n- 主体框架:采用最新的Spring Cloud Hoxton SR8, Spring Boot 2.3.4.RELEASE, Spring Cloud Alibaba 2.2.3.RELEASE版本进行系统设计;\n\n- 统一注册:支持nacos作为注册中心,实现多配置、分群组、分命名空间、多业务模块的注册和发现功能;\n\n- 统一认证:统一Oauth2认证协议,采用jwt的方式,实现统一认证,并支持自定义grant_type实现手机号码登录,第三方登录正在开发中;\n\n- 业务监控:利用Spring Boot Admin 来监控各个独立Service的运行状态;利用Hystrix Dashboard来实时查看接口的运行状态和调用频率等。\n\n- 内部调用:集成了feign和dubbo两种模式支持内部调用,并且可以实现无缝切换,适合新老程序员,快速熟悉项目;\n\n- 业务熔断:采用Sentinel实现业务熔断处理,避免服务之间出现雪崩;\n\n- 身份注入:通过注解的方式,实现用户登录信息的快速注入;\n\n- 在线文档:通过接入knife4j,实现在线API文档的查看与调试;\n\n- 代码生成:基于Mybatis-plus-generator自动生成代码,提升开发效率,生成模式不断优化中,暂不支持前端代码生成;\n\n- 消息中心:集成消息中间件RocketMQ,对业务进行异步处理;\n\n- 业务分离:采用前后端分离的框架设计,前端采用vue-element-admin\n \n- 链路追踪:自定义traceId的方式,实现简单的链路追踪功能\n\n- 多租户功能:集成Mybatis Plus,实现saas多租户功能\n\n### 文件结构\n```lua\nmatecloud -- 父项目,各模块分离,方便集成和微服务\n│ ├─mate-core -- 核心通用模块,主模块\n│ │ ├─mate-starter-common -- 封装通用模块\n│ │ ├─mate-starter-cloud -- 封装微服务模块\n│ │ ├─mate-starter-auth -- 封装token认证模块\n│ │ ├─mate-starter-security -- 封装OAuth2基础模块\n│ │ ├─mate-starter-web -- 封装WEB服务基础模块\n│ │ ├─mate-starter-database -- 封装Mybatis及数据库基础模块\n│ │ ├─mate-starter-dependencies -- 封装所有依赖模块,可作为父项目独立引用\n│ │ ├─mate-starter-dubbo -- 封装dubbo基础模块\n│ │ ├─mate-starter-feign -- 封装feign基础模块\n│ │ ├─mate-starter-jetcache -- 封装JetCache阿里缓存基础模块\n│ │ ├─mate-starter-rocketmq -- 封装RocketMQ基础模块\n│ │ ├─mate-starter-gray -- 封装灰度发布基础模块\n│ │ ├─mate-starter-elasticsearch -- 封装ElasticSearch模块\n│ │ ├─mate-starter-oss -- 封装oss存储基础模块,支持阿里云、七牛云、minio等\n│ │ ├─mate-starter-log -- 封装日志基础模块\n│ │ ├─mate-starter-sharding -- 封装多数据库基础模块\n│ │ ├─mate-starter-sms -- 封装短信基础模块\n│ │ ├─mate-starter-kafka -- 封装kafka基础模块\n│ │─mate-gateway -- 统一网关模块 [10001]\n│ │─mate-uaa -- 统一认证中心模块 [20001]\n│ │─mate-platform -- 平台模块项目,目前包含系统子模块\n│ │ ├─mate-system-api -- 系统模块的通用模块,供其他模块引用\n│ │ ├─mate-system -- 系统模块核心功能 [20002]\n│ │ ├─mate-component-api -- 组件模块核心功能,供其他模块引用\n│ │ ├─mate-component -- 组件模块核心功能 [20003]\n│ │─mate-support -- 支持中心项目,目前包括代码生成、admin模块\n│ │ ├─mate-code -- 封装代码生成逻辑 [30002]\n│ │ ├─mate-admin -- 封装spring-boot-admin逻辑 [30001]\n│ │─mate-mq -- 消息中心项目,支持kafka、RocketMQ等多种消息中间件\n│ │ ├─mate-log-producer -- 日志消息生产者,集成kafka [40001]\n│ │ ├─mate-message-consumer -- 消息服务消费者 [40002]\n│ │ ├─mate-message-producer -- 消息服务生产者 [40003] \n```\n\n## 项目源码\n| 项目 | GITHUB | 码云 |\n|--- |--- | --- |\n| MateCloud后端源码 | https://github.com/matevip/matecloud | https://gitee.com/matevip/matecloud |\n| Artemis前端源码 | https://github.com/matevip/artemis | https://gitee.com/matevip/artemis |\n| MateBoot后端源码 | https://github.com/matevip/mateboot | https://gitee.com/matevip/mateboot |', '0', NULL, NULL, '2020-10-26 09:18:21', '2020-11-02 07:29:19'), +(7, 1, 1, '快速开始', NULL, NULL, '# 快速开始\n## 说明\n我们为用户准备了可以快速部署 MateCloud 所有组件及所需的中间件的Docker安装脚本, 你可以通过该脚本部署并体验 MateCloud 所提供的功能\n\n## 部署服务器要求\n>- 操作系统: 任何支持 Docker 的 Linux x64、Windows、MACOS\n>- CPU/内存: 2核8G(最小)\n>- 磁盘空间: 20G\n>- 可访问互联网\n\n## 推荐开发工具\n### 后端开发工具\n- IDEA: https://www.jetbrains.com/\n#### 插件\n- Lombok Plugin(必装)\n- MybatisX Plugin (选装)\n\n### 前端开发工具\n- VSCode: https://code.visualstudio.com/\n\n## 安装常用组件手动模式\n### 1.安装JDK 1.8+\n网上搜索对应环境的JDK\nJDK官网下载地址:[https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html](https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html)\n\n### 2.安装MySQL 5.6+\n网上搜索对应环境的MySQL\nMySQL官网地址:[https://dev.mysql.com/downloads/mysql/](https://dev.mysql.com/downloadssqlma/)\n\n### 3.安装Redis 4.0+\n网上搜索对应环境的Redis\nRedis官网地址:[https://redis.io/download](https://redis.io/download)\n\n### 4.安装Nacos 1.3.1+\nNacos官网地址:[https://nacos.io/zh-cn/docs/what-is-nacos.html](https://nacos.io/zh-cn/docs/what-is-nacos.html)\n\n### 5.安装Sentinel 1.6.0+ [可选]\nSentinel官网地址:[https://sentinelguard.io/zh-cn/docs/quick-start.html](https://sentinelguard.io/zh-cn/docs/quick-start.html)\n\n## 基础配置\n\n### 1. 导入SQL文件\n文件路径项目根目录下:\n```bash\n/doc/sql/matex_schema.sql\n```\n导入可以借助navicat或其他mysql工具。\n\n### 2.导入Nacos配置\n文件路径项目根目录下:\n```bash\n/doc/nacos/mate.yaml\n/doc/nacos/mate-local.yaml\n```\n> 注意:\n导入nacos时,文件名必须以yaml结尾,命名为mate或mate.yml均无法获取配置文件。\n\n### 3.修改mate-local.yaml配置\n修改数据库和redis为本地参数\n- 修改redis参数\n```yaml\nspring:\n redis:\n #redis 单机环境配置\n host: 127.0.0.1\n port: 6379\n password:\n database: 0\n ssl: false\n #redis 集群环境配置\n #cluster:\n # nodes: 127.0.0.1:7001,127.0.0.1:7002,127.0.0.1:7003\n # commandTimeout: 5000\n```\n- 修改mysql参数\n```yaml\nmate:\n datasource:\n url: jdbc:mysql://127.0.0.1:3306/matex?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull\n username: root\n password: root\n```\n\n## 必要启动模块\n\n### 启动认证模块(mate-uaa)\n> 运行vip.mate.uaa.MateUaaServer\n\n### 启动系统模块(mate-system)\n> 运行vip.mate.system.MateSystemServer\n\n### 启动代码模块(mate-code)[可选]\n> 运行vip.mate.code.MateCodeServer\n\n### 启动网关模块(mate-gateway)\n> 运行vip.mate.gateway.MateGatewayServer\n\n\n', '0', NULL, NULL, '2020-10-26 11:03:18', '2020-11-21 19:48:44'), +(8, 1, 1, '系统架构', NULL, NULL, '# 系统架构\n## 整体架构\n![](https://cdn.ckjia.com/matecloud_architecture_1.jpg)\n> 组件说明\n\n- Artemis: 前端工程,基于vue开发,采用element admin模板开发\n- MateCloud: 后端工程,基于Spring Cloud Alibaba 2.2.3.Release开发的微服务项目\n- mate-gateway: 后端网关模块,全局的互联网入口\n- mate-uaa: 统一的认证模块,token生成\n- mate-system: 系统服务模块,主要负责管理后台主要功能模块\n- mate-component: 组件模块,主要负责oss存储服务、短信、邮件等配置模块\n- mate-code: 代码模块,主要负责自动生成代码,减少开发量\n- mate-admin: 服务监控模块,主要负责微服务的各服务模块的监控\n- mate-job: 定时任务模块,集成xxl-job,负责定时任务处理\n- MySQL: 所有关系型数据均存储于MySQL\n- RocketMQ: 消息中心采用RocketMQ来实现消息管理,同时支持事务性消息\n- Redis: key-value型存储系统\n- Nacos: 统一的配置中心,实现微服务的配置和注册服务\n- Sentinel: 熔断和限流组件\n\n## 基础依赖组件\n![](https://cdn.ckjia.com/mate-core.png)', '0', NULL, NULL, '2020-10-27 22:29:54', '2020-11-05 07:41:45'), +(9, 1, 2, '一篇搞定认证', NULL, NULL, '## 认证简述\nMateCloud采用OAuth2协议,实现统一认证,官方文档:https://oauth.net/2/\n\nOAuth(开放授权)是一个开放标准,允许用户授权第三方移动应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他们数据的所有内容,OAuth2.0是OAuth协议的延续版本,但不向后兼容OAuth 1.0即完全废止了OAuth1.0。\n\n### 引用依赖\n```xml\n\n org.springframework.cloud\n spring-cloud-starter-oauth2\n\n```\n\n### 开发版本\n目前文档编写时基于当前最新版本,Spring Boot 2.3.5.RELEASE、Spring Security 5.3.5.RELEASE\n![](https://cdn.ckjia.com/20201103oauth2/%2A%2AWX20201103-210700%402x.png)\n\n## 认证模式\n客户端必须得到用户的授权(authorization grant),才能获得令牌(access token)。oAuth 2.0 定义了四种授权方式。\n\n- implicit:简化模式,不推荐使用\n- authorization code:授权码模式\n- resource owner password credentials:密码模式\n- client credentials:客户端模式\n![](https://cdn.ckjia.com/20201103oauth2/3d7bf0378d808ad1a1a3.png)\n> 具体四种认证模式请自行百度科普\n\n## 项目实战\n下面就以swagger的方式实战演示密码登录和短信验证码登录两种方式获取token。\n\n文档地址:https://gateway.mate.vip/doc.html\n### 1.密码方式登录\n选择mate-uaa文档->找到Oauth2管理->用户登录Post\n\n选择调试模式,并参考图例填写信息:\n![](https://cdn.ckjia.com/20201103oauth2/WX20201103-220225%402x.png)\n\n在请求头部,Authorization项填写:Basic bWF0ZTptYXRlX3NlY3JldA==,如下图所示:\n![](https://cdn.ckjia.com/20201103oauth2/WX20201103-220350%402x.png)\n填写完这两项,点击发送按钮,则成功从后台获取token。\n![](https://cdn.ckjia.com/20201103oauth2/WX20201103-220557%402x.png)\n\n### 2.短信验证码方式登录\n\n\n\n#### 2.1 下发验证码\n\nmate-uaa模块认证管理->手机验证码下发\n\n![](https://cdn.mate.vip/20201105/WX20201105-073448%402x.png)\n\n点击发送按钮后,提示发送成功。\n\n现代码里写成固定值:1188\n\n#### 2.2 获取Token\n\n设置grant_type为sms,则为短信验证码方式登录。\n\n![](https://cdn.mate.vip/20201105/WX20201105-073734%402x.png)\n\n点击发送按钮,获取token如下\n\n![](https://cdn.mate.vip/20201105/WX20201105-073901%402x.png)', '0', NULL, NULL, '2020-11-02 10:05:20', '2020-11-05 07:42:19'), +(10, 1688, 0, '快速开始', NULL, NULL, NULL, '0', NULL, NULL, '2020-11-04 05:56:45', '2020-11-04 05:56:45'), +(11, 1688, 10, 'Spring Cloud Alibaba简介', NULL, NULL, '## 1.概述\r\n2018 年 10 月 31 日的凌晨,这个伟大的日子里,Spring Cloud Alibaba 正式入驻了 Spring Cloud 官方孵化器,并在 Maven 中央库发布了第一个版本。\r\n\r\n[Spring Cloud for Alibaba 0.2.0 released](https://spring.io/blog/2018/10/30/spring-cloud-for-alibaba-0-2-0-released)\r\n>The Spring Cloud Alibaba project, consisting of Alibaba’s open-source components and several Alibaba Cloud products, aims to implement and expose well known Spring Framework patterns and abstractions to bring the benefits of Spring Boot and Spring Cloud to Java developers using Alibaba products.\r\n\r\n>Spring Cloud for Alibaba,它是由一些阿里巴巴的开源组件和云产品组成的。这个项目的目的是为了让大家所熟知的 Spring 框架,其优秀的设计模式和抽象理念,以给使用阿里巴巴产品的 Java 开发者带来使用 Spring Boot 和 Spring Cloud 的更多便利。\r\n\r\nSpringCloud Alibaba是阿里巴巴集团开源的一套微服务架构解决方案。\r\n\r\n微服务架构是为了更好的分布式系统开发,将一个应用拆分成多个子应用,每一个服务都是可以独立运行的子工程。其中涵盖了非常多的内容,包括:服务治理、配置管理、限流降级以及对阿里开源生态(Dubbo、RocketMQ等)支持的N多组件。\r\n\r\n### 官方地址\r\n[Spring Cloud Alibaba 官方地址](https://github.com/alibaba/spring-cloud-alibaba)\r\n\r\n## 2.相关组件\r\n- Sentinel:阿里巴巴开源产品,把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。\r\n- Nacos:阿里巴巴开源产品,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。\r\n- RocketMQ:Apache RocketMQ™ 基于 Java 的高性能、高吞吐量的分布式消息和流计算平台。\r\n- Dubbo:Apache Dubbo™ 是一款高性能 Java RPC 框架。\r\n- Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。\r\n- Alibaba Cloud ACM:一款在分布式架构环境中对应用配置进行集中管理和推送的应用配置中心产品。\r\n- Alibaba Cloud OSS: 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。\r\n- Alibaba Cloud SchedulerX: 阿里中间件团队开发的一款分布式任务调度产品,提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。\r\n- Alibaba Cloud SMS: 覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。\r\n\r\n## 3.主要功能\r\n- 服务限流降级:默认支持 WebServlet、WebFlux, OpenFeign、RestTemplate、Spring Cloud Gateway, Zuul, Dubbo 和 RocketMQ 限流降级功能的接入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级 Metrics 监控。\r\n- 服务注册与发现:适配 Spring Cloud 服务注册与发现标准,默认集成了 Ribbon 的支持。\r\n- 分布式配置管理:支持分布式系统中的外部化配置,配置更改时自动刷新。\r\n- 消息驱动能力:基于 Spring Cloud Stream 为微服务应用构建消息驱动能力。\r\n- 分布式事务:使用 @GlobalTransactional 注解, 高效并且对业务零侵入地解决分布式事务问题。。\r\n- 阿里云对象存储:阿里云提供的海量、安全、低成本、高可靠的云存储服务。支持在任何应用、任何时间、任何地点存储和访问任意类型的数据。\r\n- 分布式任务调度:提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。同时提供分布式的任务执行模型,如网格任务。网格任务支持海量子任务均匀分配到所有 Worker(schedulerx-client)上执行。\r\n- 阿里云短信服务:覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。\r\n\r\n## 4.版本说明\r\n```xml\r\n\r\n \r\n \r\n com.alibaba.cloud\r\n spring-cloud-alibaba-dependencies\r\n 2.2.3.RELEASE\r\n pom\r\n import\r\n \r\n \r\n\r\n```\r\n项目的版本号格式为 x.x.x 的形式,其中 x 的数值类型为数字,从 0 开始取值,且不限于 0~9 这个范围。项目处于孵化器阶段时,第一位版本号固定使用 0,即版本号为 0.x.x 的格式。\r\n\r\n由于 Spring Boot 1 和 Spring Boot 2 在 Actuator 模块的接口和注解有很大的变更,且 spring-cloud-commons 从 1.x.x 版本升级到 2.0.0 版本也有较大的变更,因此我们采取跟 SpringBoot 版本号一致的版本:\r\n\r\n- 1.5.x 版本适用于 Spring Boot 1.5.x\r\n- 2.0.x 版本适用于 Spring Boot 2.0.x\r\n- 2.1.x 版本适用于 Spring Boot 2.1.x\r\n- 2.2.x 版本适用于 Spring Boot 2.2.x\r\n', '0', NULL, NULL, '2020-11-04 06:14:17', '2020-11-04 06:14:17'), +(12, 1688, 10, 'Spring Cloud Alibaba项目初始化', NULL, NULL, '## 统一依赖\n\nMateCloud对项目依赖进行了统一的封装,引用此依赖,就可以实现微服务基础依赖的一键引入\n\n### POM项目路径:\nhttps://gitee.com/matevip/matecloud/blob/master/mate-core/mate-starter-dependencies/pom.xml\n\n### POM文件内容\n```xml\n\n\n \n org.springframework.boot\n spring-boot-starter-parent\n 2.3.5.RELEASE\n \n \n 4.0.0\n\n vip.mate\n mate-starter-dependencies\n 1.5.8\n pom\n MateCloud统一版本依赖\n\n \n 1.5.8\n UTF-8\n\n 2.3.5.RELEASE\n Hoxton.SR8\n 2.2.3.RELEASE\n\n 3.6.2\n 3.1.0\n 3.0.1\n 2.22.0\n 3.1.0\n 2.8.2\n 1.4.10\n\n 8.0.21\n 12.2.0.1\n 42.2.6\n 1.2.1\n 3.4.0\n 1.7\n\n 2.9.2\n 1.6.2\n 2.0.5\n 0.9.1\n 1.6.2\n 2.0.2\n 2.6.0\n\n \n 2.7.8\n 1.2.74\n\n 2.3.0\n 4.1.2\n 1.3.2\n 4.2.0\n 1.7.2\n 1.15.6\n 1.3.3\n 4.9.0\n\n 2.5\n 4.1.1\n\n 7.8.0\n 3.2.2\n\n 6.5.0\n 3.13.6\n 5.3.3.RELEASE\n 1.8.0\n 2.11.5\n 2.8.0\n 4.7.1\n 1.5.5\n\n 3.0.3\n\n 2.1.8\n 2.8.2-release\n \n\n \n \n \n \n ${project.groupId}\n mate-starter-common\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-cloud\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-database\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-dubbo\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-security\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-feign\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-web\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-auth\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-dependencies\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-jetcache\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-log\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-gray\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-redis\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-oss\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-rocketmq\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-kafka\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-file\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-dozer\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-rule\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-sentinel\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-prometheus\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-job\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-starter-mail\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-system-api\n ${matecloud.core.version}\n \n \n ${project.groupId}\n mate-component-api\n ${matecloud.core.version}\n \n \n \n org.springframework.boot\n spring-boot-dependencies\n ${spring.boot.version}\n pom\n import\n \n \n org.springframework.cloud\n spring-cloud-dependencies\n ${spring.cloud.version}\n pom\n import\n \n \n com.alibaba.cloud\n spring-cloud-alibaba-dependencies\n ${alibaba.cloud.version}\n pom\n import\n \n \n \n com.alibaba\n druid-spring-boot-starter\n ${druid.version}\n \n \n \n mysql\n mysql-connector-java\n ${mysql.connector.version}\n \n \n \n com.oracle\n ojdbc7\n ${oracle.connector.version}\n \n \n \n org.postgresql\n postgresql\n ${postgresql.connector.version}\n \n \n com.baomidou\n mybatis-plus-boot-starter\n ${mybatis.plus.version}\n \n \n com.baomidou\n mybatis-plus-annotation\n ${mybatis.plus.version}\n \n \n com.baomidou\n mybatis-plus-extension\n ${mybatis.plus.version}\n \n \n com.baomidou\n mybatis-plus-generator\n ${mybatis.plus.version}\n \n \n org.apache.velocity\n velocity\n ${velocity.version}\n \n \n \n io.springfox\n springfox-swagger2\n ${swagger.version}\n \n \n io.swagger\n swagger-models\n ${swagger.models.version}\n \n \n com.github.xiaoymin\n knife4j-micro-spring-boot-starter\n ${knife4j.version}\n \n \n com.github.xiaoymin\n knife4j-spring-ui\n ${knife4j.version}\n \n \n \n io.jsonwebtoken\n jjwt\n ${jjwt.version}\n \n \n \n com.github.whvcse\n easy-captcha\n ${easy-captcha.version}\n \n \n jakarta.validation\n jakarta.validation-api\n ${jakarta.validation-api.version}\n \n \n com.alibaba\n fastjson\n ${fastjson.version}\n \n \n com.alicp.jetcache\n jetcache-starter-redis\n ${jetcache.version}\n \n \n com.alicp.jetcache\n jetcache-starter-redis-lettuce\n ${jetcache.version}\n \n \n de.codecentric\n spring-boot-admin-starter-server\n ${spring-boot-admin.version}\n \n \n de.codecentric\n spring-boot-admin-server-ui\n ${spring-boot-admin.version}\n \n \n de.codecentric\n spring-boot-admin-starter-client\n ${spring-boot-admin.version}\n \n \n org.apache.poi\n poi\n ${poi.version}\n \n \n com.alibaba.nacos\n nacos-client\n ${nacos.client.version}\n \n \n \n cn.afterturn\n easypoi-base\n ${easypoi.version}\n \n \n cn.afterturn\n easypoi-web\n ${easypoi.version}\n \n \n cn.afterturn\n easypoi-annotation\n ${easypoi.version}\n \n \n org.apache.dubbo\n dubbo\n ${dubbo.version}\n \n \n org.apache.dubbo\n dubbo-spring-boot-starter\n ${dubbo.version}\n \n \n org.lionsoul\n ip2region\n ${ip2region.version}\n \n \n me.zhyd.oauth\n JustAuth\n ${justauth.version}\n \n \n com.xkcoding.justauth\n justauth-spring-boot-starter\n ${justauth.springboot.version}\n \n \n com.squareup.okhttp3\n okhttp\n ${okhttp.version}\n \n \n javax.servlet\n servlet-api\n ${servlet.version}\n \n\n \n \n org.apache.shardingsphere\n sharding-jdbc-spring-boot-starter\n ${sharding-jdbc.version}\n \n \n \n org.elasticsearch.client\n elasticsearch-rest-high-level-client\n ${elastic.version}\n \n \n org.elasticsearch\n elasticsearch\n ${elastic.version}\n \n \n commons-collections\n commons-collections\n ${commons-collections.version}\n \n\n \n \n com.github.dozermapper\n dozer-core\n ${dozer.version}\n \n \n com.github.dozermapper\n dozer-spring4\n ${dozer.version}\n \n \n \n org.redisson\n redisson\n ${redisson.version}\n \n \n \n io.lettuce\n lettuce-core\n ${lettuce.version}\n \n \n com.alibaba\n transmittable-thread-local\n ${transmittable.version}\n \n \n commons-io\n commons-io\n ${commons-io.version}\n \n \n org.apache.rocketmq\n rocketmq-client\n ${rocketmq.version}\n \n \n org.apache.rocketmq\n rocketmq-acl\n ${rocketmq.version}\n \n \n io.micrometer\n micrometer-registry-prometheus\n ${prometheus.version}\n \n \n com.github.ulisesbocchio\n jasypt-spring-boot-starter\n ${jasypt.version}\n \n \n com.github.lianjiatech\n retrofit-spring-boot-starter\n ${retrofit.version}\n \n \n net.oschina.j2cache\n j2cache-core\n ${j2cache.version}\n \n \n \n\n \n \n \n releases\n Release Repository\n http://nexus.mate.vip/repository/maven-releases/\n \n \n nexus-snapshots\n http://nexus.mate.vip/repository/maven-snapshots/\n \n \n\n\n````\n\n## 核心依赖包\n```xml\n\n org.springframework.boot\n spring-boot-dependencies\n 2.3.5.RELEASE\n pom\n import\n\n\n org.springframework.cloud\n spring-cloud-dependencies\n Hoxton.SR8\n pom\n import\n\n\n com.alibaba.cloud\n spring-cloud-alibaba-dependencies\n 2.2.3.RELEASE\n pom\n import\n\n```', '0', NULL, NULL, '2020-11-04 06:23:54', '2020-11-04 06:24:36'), +(13, 1688, 0, '注册配置', NULL, NULL, NULL, '0', NULL, NULL, '2020-11-04 06:27:14', '2020-11-04 06:30:13'), +(15, 1688, 13, 'Nacos注册配置中心', NULL, NULL, '## 概述\nNacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。\n\nNacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。\n\n### Nacos官网\nhttps://nacos.io/zh-cn/index.html\n\n## 关键特性\n服务(Service)是 Nacos 世界的一等公民。Nacos 支持几乎所有主流类型的“服务”的发现、配置和管理:\n\n[Kubernetes Service](https://kubernetes.io/docs/concepts/services-networking/service/)\n\n[gRPC](https://grpc.io/docs/what-is-grpc/core-concepts/#service-definition) & [Dubbo RPC Service](https://dubbo.incubator.apache.org/en-us/)\n\n[Spring Cloud RESTful Service](https://spring.io/understanding/REST)\n- 服务发现和服务健康监测\n\nNacos 支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用 原生SDK、OpenAPI、或一个独立的Agent TODO注册 Service 后,服务消费者可以使用DNS TODO 或HTTP&API查找和发现服务。\n\nNacos 提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。Nacos 支持传输层 (PING 或 TCP)和应用层 (如 HTTP、MySQL、用户自定义)的健康检查。 对于复杂的云环境和网络拓扑环境中(如 VPC、边缘网络等)服务的健康检查,Nacos 提供了 agent 上报模式和服务端主动检测2种健康检查模式。Nacos 还提供了统一的健康检查仪表盘,帮助您根据健康状态管理服务的可用性及流量。\n\n- 动态配置服务\n\n动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。\n\n动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷。\n\n配置中心化管理让实现无状态服务变得更简单,让服务按需弹性扩展变得更容易。\n\nNacos 提供了一个简洁易用的UI ([控制台样例 Demo](http://console.nacos.io/nacos/index.html)) 帮助您管理所有的服务和应用的配置。Nacos 还提供包括配置版本跟踪、金丝雀发布、一键回滚配置以及客户端配置更新状态跟踪在内的一系列开箱即用的配置管理特性,帮助您更安全地在生产环境中管理配置变更和降低配置变更带来的风险。\n\n- 动态 DNS 服务\n\n动态 DNS 服务支持权重路由,让您更容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务。动态DNS服务还能让您更容易地实现以 DNS 协议为基础的服务发现,以帮助您消除耦合到厂商私有服务发现 API 上的风险。\n\nNacos 提供了一些简单的 DNS APIs TODO 帮助您管理服务的关联域名和可用的 IP:PORT 列表.\n\n- 服务及其元数据管理\n\nNacos 能让您从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的 SLA 以及最首要的 metrics 统计数据。\n\n## Nacos地图\n![](https://nacos.io/img/nacosMap.jpg)\n\n- 特性大图:要从功能特性,非功能特性,全面介绍我们要解的问题域的特性诉求\n- 架构大图:通过清晰架构,让您快速进入 Nacos 世界\n- 业务大图:利用当前特性可以支持的业务场景,及其最佳实践\n- 生态大图:系统梳理 Nacos 和主流技术生态的关系\n- 优势大图:展示 Nacos 核心竞争力\n- 战略大图:要从战略到战术层面讲 Nacos 的宏观优势\n\n## Nacos生态图\n\n![](http://cdn.mate.vip/20201104/1533045871534-e64b8031-008c-4dfc-b6e8-12a597a003fb.png)\n\n## 基本架构及概念\n\n![](http://cdn.mate.vip/20201104/1561217892717-1418fb9b-7faa-4324-87b9-f1740329f564.jpeg)\n\n### 服务 (Service)\n服务是指一个或一组软件功能(例如特定信息的检索或一组操作的执行),其目的是不同的客户端可以为不同的目的重用(例如通过跨进程的网络调用)。Nacos 支持主流的服务生态,如 Kubernetes Service、gRPC|Dubbo RPC Service 或者 Spring Cloud RESTful Service.\n\n### 服务注册中心 (Service Registry)\n服务注册中心,它是服务,其实例及元数据的数据库。服务实例在启动时注册到服务注册表,并在关闭时注销。服务和路由器的客户端查询服务注册表以查找服务的可用实例。服务注册中心可能会调用服务实例的健康检查 API 来验证它是否能够处理请求。\n\n### 服务元数据 (Service Metadata)\n服务元数据是指包括服务端点(endpoints)、服务标签、服务版本号、服务实例权重、路由规则、安全策略等描述服务的数据\n\n### 服务提供方 (Service Provider)\n是指提供可复用和可调用服务的应用方\n\n### 服务消费方 (Service Consumer)\n是指会发起对某个服务调用的应用方\n\n### 配置 (Configuration)\n在系统开发过程中通常会将一些需要变更的参数、变量等从代码中分离出来独立管理,以独立的配置文件的形式存在。目的是让静态的系统工件或者交付物(如 WAR,JAR 包等)更好地和实际的物理运行环境进行适配。配置管理一般包含在系统部署的过程中,由系统管理员或者运维人员完成这个步骤。配置变更是调整系统运行时的行为的有效手段之一。\n\n### 配置管理 (Configuration Management)\n在数据中心中,系统中所有配置的编辑、存储、分发、变更管理、历史版本管理、变更审计等所有与配置相关的活动统称为配置管理。\n\n### 名字服务 (Naming Service)\n提供分布式系统中所有对象(Object)、实体(Entity)的“名字”到关联的元数据之间的映射管理服务,例如 ServiceName -> Endpoints Info, Distributed Lock Name -> Lock Owner/Status Info, DNS Domain Name -> IP List, 服务发现和 DNS 就是名字服务的2大场景。\n\n### 配置服务 (Configuration Service)\n在服务或者应用运行过程中,提供动态配置或者元数据以及配置管理的服务提供者。\n\n## 逻辑架构及组件介绍\n![](http://cdn.mate.vip/1561217775318-6e408805-18bb-4242-b4e9-83c5b929b469.png)\n\n- 服务管理:实现服务CRUD,域名CRUD,服务健康状态检查,服务权重管理等功能\n- 配置管理:实现配置管CRUD,版本管理,灰度管理,监听管理,推送轨迹,聚合数据等功能\n- 元数据管理:提供元数据CURD 和打标能力\n- 插件机制:实现三个模块可分可合能力,实现扩展点SPI机制\n- 事件机制:实现异步化事件通知,sdk数据变化异步通知等逻辑\n- 日志模块:管理日志分类,日志级别,日志可移植性(尤其避免冲突),日志格式,异常码+帮助文档\n- 回调机制:sdk通知数据,通过统一的模式回调用户处理。接口和数据结构需要具备可扩展性\n- 寻址模式:解决ip,域名,nameserver、广播等多种寻址模式,需要可扩展\n- 推送通道:解决server与存储、server间、server与sdk间推送性能问题\n- 容量管理:管理每个租户,分组下的容量,防止存储被写爆,影响服务可用性\n- 流量管理:按照租户,分组等多个维度对请求频率,长链接个数,报文大小,请求流控进行控制\n- 缓存机制:容灾目录,本地缓存,server缓存机制。容灾目录使用需要工具\n- 启动模式:按照单机模式,配置模式,服务模式,dns模式,或者all模式,启动不同的程序+UI\n- 一致性协议:解决不同数据,不同一致性要求情况下,不同一致性机制\n- 存储模块:解决数据持久化、非持久化存储,解决数据分片问题\n- Nameserver:解决namespace到clusterid的路由问题,解决用户环境与nacos物理环境映射问题\n- CMDB:解决元数据存储,与三方cmdb系统对接问题,解决应用,人,资源关系\n- Metrics:暴露标准metrics数据,方便与三方监控系统打通\n- Trace:暴露标准trace,方便与SLA系统打通,日志白平化,推送轨迹等能力,并且可以和计量计费系统打通\n- 接入管理:相当于阿里云开通服务,分配身份、容量、权限过程\n- 用户管理:解决用户管理,登录,sso等问题\n- 权限管理:解决身份识别,访问控制,角色管理等问题\n- 审计系统:扩展接口方便与不同公司审计系统打通\n- 通知系统:核心数据变更,或者操作,方便通过SMS系统打通,通知到对应人数据变更\n- OpenAPI:暴露标准Rest风格HTTP接口,简单易用,方便多语言集成\n- Console:易用控制台,做服务管理、配置管理等操作\n- SDK:多语言sdk\n- Agent:dns-f类似模式,或者与mesh等方案集成\n- CLI:命令行对产品进行轻量化管理,像git一样好用\n\n## 领域模型\n### 数据模型\n\nNacos 数据模型 Key 由三元组唯一确定, Namespace默认是空串,公共命名空间(public),分组默认是 DEFAULT_GROUP。\n\n![](http://cdn.mate.vip/20201103/1561217857314-95ab332c-acfb-40b2-957a-aae26c2b5d71.jpeg)\n\n### 服务领域模型\n\n![](http://cdn.mate.vip/20201104/1561217924697-ba504a35-129f-4fc6-b0df-1130b995375a.jpeg)\n\n### 配置领域模型\n\n围绕配置,主要有两个关联的实体,一个是配置变更历史,一个是服务标签(用于打标分类,方便索引),由 ID 关联。\n\n![](http://cdn.mate.vip/20201104/1561217958896-4465757f-f588-4797-9c90-a76e604fabb4.jpeg)\n\n## 类视图\n### Nacos-SDK 类视图\n\n![](http://cdn.mate.vip/1561218077514-bfa98d03-88a1-43b9-b014-1491406e3db7.jpeg)\n\n## 构建物、部署及启动模式\n![](http://cdn.mate.vip/20201104/1531730742844-e8325932-258b-49b2-9473-8d1199efe20d.png)', '0', NULL, NULL, '2020-11-04 06:52:26', '2020-11-04 06:53:30'), +(16, 1688, 13, 'Nacos安装与部署', NULL, NULL, '## 概述\r\n本文将以本地安装和docker安装两种方式介绍。并简单介绍集成MateCloud的配置文件的方式。\r\n\r\n## 1.本地安装\r\n### 下载源码包安装\r\n参见:https://nacos.io/zh-cn/docs/quick-start.html\r\n\r\n### 下载编译后的压缩包\r\n从官方下载最新稳定包的tar.gz和zip包:\r\nhttps://github.com/alibaba/nacos/releases\r\n\r\n如:nacos-server-1.4.0.tar.gz 或者 nacos-server-1.4.0.zip\r\n\r\n下载完成执行如下操作,如果是windows直接用,如果是linux或者mac,则执行如下操作:\r\n```bash\r\nunzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz\r\n\r\ncd nacos/bin\r\n```\r\n\r\n### 启动服务器\r\n#### Linux/Unix/Mac\r\n\r\n>启动命令(standalone代表着单机模式运行,非集群模式):\r\n\r\n```bash\r\nsh startup.sh -m standalone\r\n```\r\n\r\n>如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:\r\n\r\n```bash\r\nbash startup.sh -m standalone\r\n```\r\n\r\n#### Windows\r\n>启动命令(standalone代表着单机模式运行,非集群模式):\r\n\r\n```bash\r\ncmd startup.cmd -m standalone\r\n```\r\n\r\n### 关闭服务器\r\n\r\n>Linux/Unix/Mac\r\n\r\n```bash\r\nsh shutdown.sh\r\n```\r\n\r\n>Windows\r\n\r\n```bash\r\ncmd shutdown.cmd\r\n```\r\n\r\n或者双击shutdown.cmd运行文件。\r\n\r\n## 2.Docker方式安装\r\n\r\n### 下载docker安装包\r\n\r\n```bash\r\ngit clone https://github.com/nacos-group/nacos-docker.git\r\n\r\ncd nacos-docker\r\n```\r\n\r\n### 单机模式\r\n\r\n```bash\r\ndocker-compose example/standalone-mysql-5.7.yaml up -d\r\n```\r\n\r\n### 查看日志\r\n```bash\r\ndocker-compose -f example/standalone-mysql.yaml logs -f\r\n```\r\n\r\n## Nacos控制台\r\n\r\n本地登录地址:\r\n\r\nhttp://localhost:8848/nacos\r\n\r\n### 登录界面\r\n\r\nhttp://gateway.mate.vip:8848/\r\n\r\n### 默认账号密码\r\n\r\n- nacos/nacos', '0', NULL, NULL, '2020-11-04 18:33:25', '2020-11-04 18:33:25'), +(17, 1, 0, '增强功能', NULL, NULL, NULL, '0', NULL, NULL, '2020-11-21 19:14:07', '2020-11-21 19:14:07'), +(18, 1, 17, '基于Druid开启对数据库密码进行加密', NULL, NULL, '## 使用背景\n\n由于数据库的密码在配置文件中,为了加强安全性,需要对数据库的密码进行加密存储,以防密码泄漏,增加了密码被破解的难度。\n\n## 如何启用加密\n\n### 查看文件\n```bash\nmatecloud/mate-core/mate-starter-database/src/main/resources/mate-decrypt.properties\n```\n\n### 配置项\n\n```bash\n# 配置 connection-properties,启用加密,配置公钥。\nspring.datasource.druid.connection-properties=config.decrypt=true;config.decrypt.key=${mate.public-key}\n# 启动ConfigFilter\nspring.datasource.druid.filter.config.enabled=true\n```\n\n其中mate.public-key这个参数配置在mate-local.yaml文件,由于密码与公钥如果放在一起,破解系数也降低了,也可以放在其他配置文件中,并存储在nacos中。\n\n## 如何对密码进行加密\n\n先搜索PasswordGenerator.java类,全路径如下:\n```bash\nmatecloud/mate-core/mate-starter-database/src/test/java/vip/mate/core/database/test/PasswordGenerator.java\n```\n\n核心代码如下:\n```java\n@Slf4j\npublic class PasswordGenerator {\n\n public static void main(String[] args) throws Exception {\n\n String password = "root";\n String[] arr = ConfigTools.genKeyPair(512);\n log.info("privateKey: {}", arr[0]);\n log.info("publicKey: {}", arr[1]);\n log.info("password: {}", ConfigTools.encrypt(arr[0], password));\n }\n}\n```\n将password的变量修改为你当前的密码,然后点击生成,然后取publicKey和password,修改nacos中的mate-local.yaml文件。\n\n```yml\nmate:\n datasource:\n url: jdbc:mysql://127.0.0.1:3306/matex?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull\n username: root\n password: RwEWGkJYrm11nKDIBq6TcN1IcVlAJ2WB4RhY4AoD86ZWyfbaEKObPTGArDErCpkaiavXMqOnn7sSIbq7kwe4/w==\n public-key: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJLLURUH8XNPkX9MME3mQrog3mpkOVYwnYrUqLbSN+Wi6IcmWg1YywHi/kKGUU1MTLjv3C406f1IYu+XWJ3XmX8CAwEAAQ==\n\n```\n修改完成后,重新启动应用即可生效\n\n## 官方文档\n\n### 使用ConfigFilter\nhttps://github.com/alibaba/druid/wiki/%E4%BD%BF%E7%94%A8ConfigFilter\n\n### 如何在Spring Boot中配置数据库密码加密?\nhttps://github.com/alibaba/druid/wiki/%E5%A6%82%E4%BD%95%E5%9C%A8Spring-Boot%E4%B8%AD%E9%85%8D%E7%BD%AE%E6%95%B0%E6%8D%AE%E5%BA%93%E5%AF%86%E7%A0%81%E5%8A%A0%E5%AF%86%EF%BC%9F\n', '0', NULL, NULL, '2020-11-21 19:14:42', '2020-11-21 19:15:44'); + +-- -------------------------------------------------------- + +-- +-- 表的结构 `mate_duben_set` +-- + +CREATE TABLE IF NOT EXISTS `mate_duben_set` ( + `id` bigint(20) NOT NULL COMMENT '文档集id', + `title` varchar(255) DEFAULT NULL COMMENT '标题', + `sub_title` varchar(255) DEFAULT NULL COMMENT '子标题', + `price` decimal(10,2) DEFAULT NULL COMMENT '文档价格', + `origin_price` decimal(10,2) DEFAULT NULL COMMENT '原始价格', + `image` varchar(255) DEFAULT NULL COMMENT '集照片', + `summary` varchar(255) DEFAULT NULL COMMENT '集摘要', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标识', + `create_by` varchar(32) DEFAULT NULL COMMENT '创建人', + `update_by` varchar(32) DEFAULT NULL COMMENT '更新人', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' +) ENGINE=InnoDB AUTO_INCREMENT=1689 DEFAULT CHARSET=utf8mb4 COMMENT='读本集'; + +-- +-- 转存表中的数据 `mate_duben_set` +-- + +INSERT INTO `mate_duben_set` (`id`, `title`, `sub_title`, `price`, `origin_price`, `image`, `summary`, `del_flag`, `create_by`, `update_by`, `create_time`, `update_time`) VALUES +(1, 'MATECLOUD开源项目文档', 'MATECLOUD开发部署文档', NULL, NULL, 'https://cdn.ckjia.com/matecloud_doc1.jpg', 'MateCloud是一款基于Spring Cloud Alibaba的微服务架构。目前已经整合Spring Cloud Alibaba、Spring Security Oauth2、Feign、Dubbo、JetCache、RocketMQ等服务套件,为您的开发保驾护航', '0', NULL, NULL, '2020-10-25 08:10:18', '2020-10-26 13:31:07'), +(1688, '微服务架构之阿里巴巴篇', 'Spring Cloud Alibaba技术体系介绍', NULL, NULL, 'https://cdn.mate.vip/alibaba_dbbb20be7e97100_14586.jpg', '包括阿里巴巴套件之nacos、sentinel、seata等产品介绍', '0', NULL, NULL, '2020-11-04 05:54:17', '2020-11-04 05:55:40'); + +-- -------------------------------------------------------- + -- -- 表的结构 `mate_sys_api` -- @@ -66,7 +135,7 @@ CREATE TABLE IF NOT EXISTS `mate_sys_api` ( `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` char(1) DEFAULT '0' COMMENT '删除标识', `tenant_id` int(11) DEFAULT NULL COMMENT '租户ID' -) ENGINE=InnoDB AUTO_INCREMENT=90 DEFAULT CHARSET=utf8mb4 COMMENT='系统接口表'; +) ENGINE=InnoDB AUTO_INCREMENT=89 DEFAULT CHARSET=utf8mb4 COMMENT='系统接口表'; -- -- 转存表中的数据 `mate_sys_api` @@ -219,7 +288,7 @@ CREATE TABLE IF NOT EXISTS `mate_sys_blacklist` ( `update_by` varchar(32) DEFAULT NULL COMMENT '更新人', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' -) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COMMENT='系统黑名单表'; +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='系统黑名单表'; -- -- 转存表中的数据 `mate_sys_blacklist` @@ -253,7 +322,7 @@ CREATE TABLE IF NOT EXISTS `mate_sys_client` ( `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `status` char(1) NOT NULL DEFAULT '0' COMMENT '状态', `is_deleted` int(2) NOT NULL DEFAULT '0' COMMENT '是否已删除' -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT='客户端表'; +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='客户端表'; -- -- 转存表中的数据 `mate_sys_client` @@ -282,14 +351,14 @@ CREATE TABLE IF NOT EXISTS `mate_sys_config` ( `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', `tenant_id` int(11) DEFAULT '1', `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除' -) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8mb4 COMMENT='配置表'; +) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8mb4 COMMENT='配置表'; -- -- 转存表中的数据 `mate_sys_config` -- INSERT INTO `mate_sys_config` (`id`, `parent_id`, `code`, `c_key`, `value`, `sort`, `remark`, `create_by`, `update_by`, `create_time`, `update_time`, `tenant_id`, `is_deleted`) VALUES -(1, 0, 'oss', 'default', 'qiniuoss', 0, '默认OSS配置', NULL, NULL, '2020-08-08 01:44:31', '2020-11-27 15:45:26', 1, 0), +(1, 0, 'oss', 'default', 'qiniuoss', 0, '默认OSS配置', NULL, NULL, '2020-08-08 01:44:31', '2020-12-16 09:37:21', 1, 0), (2, 1, 'alioss', 'endpoint', 'oss-cn-beijing.aliyuncs.com', 1, '对象存储服务的URL', NULL, NULL, '2020-08-08 01:46:10', '2020-08-09 16:14:15', 1, 0), (3, 1, 'alioss', 'customDomain', 'mall-zaitong.oss-cn-beijing.aliyuncs.com', 2, '自定义域名', NULL, NULL, '2020-08-08 01:46:32', '2020-08-09 16:14:08', 1, 0), (4, 1, 'alioss', 'pathStyleAccess', 'false', 3, 'pathStyleAccess', NULL, NULL, '2020-08-08 01:47:21', '2020-08-08 01:47:35', 1, 0), @@ -330,7 +399,14 @@ CREATE TABLE IF NOT EXISTS `mate_sys_data_source` ( `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除' -) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COMMENT='数据源表'; +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT='数据源表'; + +-- +-- 转存表中的数据 `mate_sys_data_source` +-- + +INSERT INTO `mate_sys_data_source` (`id`, `name`, `db_type`, `driver_class`, `url`, `username`, `password`, `remark`, `status`, `create_by`, `update_by`, `create_time`, `update_time`, `is_deleted`) VALUES +(1, 'ldx', 'mysql', 'com.mysql.cj.jdbc.Driver', 'localhost:3306', 'root', 'root', NULL, NULL, NULL, NULL, '2020-12-08 15:17:40', NULL, 0); -- -------------------------------------------------------- @@ -349,7 +425,7 @@ CREATE TABLE IF NOT EXISTS `mate_sys_depart` ( `is_deleted` char(1) DEFAULT '0' COMMENT '删除标识', `parent_id` bigint(20) DEFAULT '0' COMMENT '上级ID', `tenant_id` bigint(20) DEFAULT '0' COMMENT '租户ID' -) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COMMENT='组织机构表'; +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COMMENT='组织机构表'; -- -- 转存表中的数据 `mate_sys_depart` @@ -381,7 +457,7 @@ CREATE TABLE IF NOT EXISTS `mate_sys_dict` ( `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除' -) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8mb4 COMMENT='字典表'; +) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8mb4 COMMENT='字典表'; -- -- 转存表中的数据 `mate_sys_dict` @@ -399,6 +475,34 @@ INSERT INTO `mate_sys_dict` (`id`, `parent_id`, `code`, `dict_key`, `dict_value` (25, 24, 'ok', 'yes', '是', NULL, NULL, NULL, NULL, '2020-07-19 21:31:40', '2020-07-20 05:32:12', 0), (26, 24, 'ok', 'no', '否', NULL, NULL, NULL, NULL, '2020-07-20 05:32:06', NULL, 0); +-- -------------------------------------------------------- + +-- +-- 表的结构 `mate_sys_log` +-- + +CREATE TABLE IF NOT EXISTS `mate_sys_log` ( + `id` bigint(20) NOT NULL COMMENT '主键id', + `type` char(1) DEFAULT '1' COMMENT '日志类型', + `trace_id` varchar(64) DEFAULT NULL COMMENT '跟踪ID', + `title` varchar(64) DEFAULT NULL COMMENT '日志标题', + `operation` text COMMENT '操作内容', + `method` varchar(64) DEFAULT NULL COMMENT '执行方法', + `params` text COMMENT '参数', + `url` varchar(128) DEFAULT NULL COMMENT '请求路径', + `ip` varchar(64) DEFAULT NULL COMMENT 'ip地址', + `exception` text, + `execute_time` decimal(11,0) DEFAULT NULL COMMENT '耗时', + `location` varchar(64) DEFAULT NULL COMMENT '地区', + `create_by` varchar(32) DEFAULT NULL COMMENT '创建人', + `update_by` varchar(32) DEFAULT NULL COMMENT '更新人', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_deleted` char(1) DEFAULT '0' COMMENT '删除标识', + `tenant_id` int(11) DEFAULT NULL COMMENT '租户ID' +) ENGINE=InnoDB AUTO_INCREMENT=115197 DEFAULT CHARSET=utf8mb4 COMMENT='系统日志表'; + + -- -------------------------------------------------------- -- @@ -415,6 +519,8 @@ CREATE TABLE IF NOT EXISTS `mate_sys_menu` ( `sort` int(11) DEFAULT '1' COMMENT '排序值', `keep_alive` char(1) DEFAULT '0' COMMENT '是否缓存该页面: 1:是 0:不是', `type` char(1) DEFAULT '0' COMMENT '菜单类型', + `hidden` char(1) NOT NULL DEFAULT '0' COMMENT '是否显示', + `target` char(1) NOT NULL DEFAULT '0' COMMENT '是否外链', `create_by` varchar(32) DEFAULT NULL COMMENT '创建人', `update_by` varchar(32) DEFAULT NULL COMMENT '更新人', `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', @@ -428,76 +534,76 @@ CREATE TABLE IF NOT EXISTS `mate_sys_menu` ( -- 转存表中的数据 `mate_sys_menu` -- -INSERT INTO `mate_sys_menu` (`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES -(1000, '系统管理', NULL, '/system', -1, 'imac', 1, '0', '0', NULL, NULL, '2020-06-17 14:21:45', '2020-08-11 03:41:11', '0', '0', 0), -(1100, '用户管理', NULL, '/system/user', 1000, 'user', 1, '0', '1', NULL, NULL, '2020-06-18 14:28:36', '2020-06-25 11:19:20', '0', '0', 0), -(1101, '用户新增', 'sys:user:add', '', 1100, NULL, 1, '0', '2', NULL, NULL, '2020-06-17 14:32:51', '2020-07-03 08:51:48', '0', '0', 0), -(1102, '用户修改', 'sys:user:edit', NULL, 1100, NULL, 1, '0', '2', NULL, NULL, '2020-06-20 00:27:40', '2020-07-03 08:51:50', '0', '0', 0), -(1103, '用户删除', 'sys:user:delete', NULL, 1100, NULL, 1, '0', '2', NULL, NULL, '2020-06-20 00:27:56', '2020-07-03 08:51:52', '0', '0', 0), -(1104, '用户启用', 'sys:user:enable', NULL, 1100, NULL, 1, '0', '2', NULL, NULL, '2020-07-03 08:49:47', '2020-07-03 08:55:39', '0', '0', 0), -(1105, '用户禁用', 'sys:user:disable', NULL, 1100, NULL, 1, '0', '2', NULL, NULL, '2020-07-03 08:50:16', '2020-07-03 08:55:40', '0', '0', 0), -(1106, '用户导出', 'sys:user:export', NULL, 1100, NULL, 1, '0', '2', NULL, NULL, '2020-07-03 08:50:58', '2020-07-03 08:55:42', '0', '0', 0), -(1200, '角色管理', NULL, '/system/role', 1000, 'repair', 1, '0', '1', NULL, NULL, '2020-06-19 16:36:01', '2020-06-25 03:19:23', '0', '0', 0), -(1201, '角色新增', 'sys:role:add', NULL, 1200, NULL, 1, '0', '2', NULL, NULL, '2020-06-20 00:37:12', '2020-07-03 14:00:56', '0', '0', 0), -(1202, '角色修改', 'sys:role:edit', NULL, 1200, NULL, 1, '0', '2', NULL, NULL, '2020-06-20 00:38:23', '2020-07-03 14:01:06', '0', '0', 0), -(1203, '角色删除', 'sys:role:delete', NULL, 1200, NULL, 1, '0', '2', NULL, NULL, '2020-06-20 00:38:53', '2020-07-03 14:01:14', '0', '0', 0), -(1204, '角色导出', 'sys:role:export', NULL, 1200, NULL, 1, '0', '2', NULL, NULL, '2020-07-03 14:02:37', '2020-07-03 14:02:50', '0', '0', 0), -(1205, '角色权限', 'sys:role:perm', NULL, 1200, NULL, 1, '0', '2', NULL, NULL, '2020-07-03 14:03:32', NULL, '0', '0', 0), -(1300, '菜单管理', NULL, '/system/menu', 1000, 'tree', 1, '0', '1', NULL, NULL, '2020-06-19 16:39:07', '2020-06-25 03:19:45', '0', '0', 0), -(1301, '菜单新增', 'sys:menu:add', NULL, 1300, NULL, 1, '0', '2', NULL, NULL, '2020-06-20 00:39:48', '2020-07-03 14:11:59', '0', '0', 0), -(1302, '菜单修改', 'sys:menu:edit', NULL, 1300, NULL, 1, '0', '2', NULL, NULL, '2020-06-20 00:40:21', '2020-07-03 14:12:15', '0', '0', 0), -(1303, '菜单删除', 'sys:menu:delete', NULL, 1300, NULL, 1, '0', '2', NULL, NULL, '2020-06-20 00:40:42', '2020-07-03 14:12:23', '0', '0', 0), -(1304, '菜单启用', 'sys:menu:enable', NULL, 1300, NULL, 1, '0', '2', NULL, NULL, '2020-07-03 14:12:59', '2020-07-03 14:13:14', '0', '0', 0), -(1305, '菜单禁用', 'sys:menu:disable', NULL, 1300, NULL, 1, '0', '2', NULL, NULL, '2020-07-03 14:13:34', '2020-07-03 14:13:57', '0', '0', 0), -(1306, '菜单导出', 'sys:menu:export', NULL, 1300, NULL, 1, '0', '2', NULL, NULL, '2020-07-03 14:14:32', NULL, '0', '0', 0), -(1400, '部门管理', NULL, '/system/depart', 1000, 'table2', 1, '0', '1', NULL, NULL, '2020-06-26 22:52:41', '2020-07-03 14:25:56', '0', '0', 0), -(1401, '部门新增', 'sys:depart:add', NULL, 1400, NULL, 1, '0', '2', NULL, NULL, '2020-06-27 14:53:37', '2020-07-03 14:26:12', '0', '0', 0), -(1402, '部门修改', 'sys:depart:edit', NULL, 1400, NULL, 1, '0', '2', NULL, NULL, '2020-06-27 14:54:47', '2020-07-03 14:26:14', '0', '0', 0), -(1403, '部门删除', 'sys:depart:delete', NULL, 1400, NULL, 1, '0', '2', NULL, NULL, '2020-06-27 14:55:15', '2020-07-03 14:26:17', '0', '0', 0), -(1404, '部门导出', 'sys:depart:export', NULL, 1400, NULL, 1, '0', '2', NULL, NULL, '2020-07-03 14:27:26', '2020-07-03 14:27:45', '0', '0', 0), -(2015, '开发运维', NULL, '/devops', -1, 'settings', 3, '0', '0', NULL, NULL, '2020-07-05 11:20:31', '2020-10-19 22:21:49', '0', '0', 0), -(2016, '数据源管理', '', '/devops/datasource', 2015, 'table', 1, '0', '1', NULL, NULL, '2020-07-06 19:21:58', '2020-07-09 06:50:01', '0', '0', 0), -(2017, '数据源新增', 'sys:datasource:add', NULL, 2016, NULL, 1, '0', '2', NULL, NULL, '2020-07-07 04:08:11', NULL, '0', '0', 0), -(2018, '数据源修改', 'sys:datasource:edit', NULL, 2016, NULL, 1, '0', '2', NULL, NULL, '2020-07-07 04:08:40', NULL, '0', '0', 0), -(2019, '数据源删除', 'sys:datasource:delete', NULL, 2016, NULL, 1, '0', '2', NULL, NULL, '2020-07-07 04:09:05', NULL, '0', '0', 0), -(2020, '数据源导出', 'sys:datasource:export', NULL, 2016, NULL, 1, '0', '2', NULL, NULL, '2020-07-07 04:09:25', NULL, '0', '0', 0), -(2021, '代码生成', NULL, '/devops/generator', 2015, 'download', 1, '0', '1', NULL, NULL, '2020-07-09 07:08:50', NULL, '0', '0', 0), -(2022, '代码生成', 'devops:gen', NULL, 2021, NULL, 1, '0', '2', NULL, NULL, '2020-07-08 23:09:45', '2020-07-13 14:35:14', '0', '0', 0), -(2023, '监控配置中心', NULL, '/devops/monitor', 2015, 'validCode', 1, '0', '1', NULL, NULL, '2020-07-10 20:23:07', '2020-07-11 04:39:40', '0', '0', 0), -(2026, '客户端管理', NULL, '/system/client', 1000, 'iPhone', 1, '0', '1', NULL, NULL, '2020-07-13 22:47:20', NULL, '0', '0', 0), -(2027, '新增客户端', 'sys:client:add', NULL, 2026, NULL, 1, '0', '2', NULL, NULL, '2020-07-13 22:47:44', NULL, '0', '0', 0), -(2028, '修改客户端', 'sys:client:edit', NULL, 2026, NULL, 1, '0', '2', NULL, NULL, '2020-07-13 23:47:37', NULL, '0', '0', 0), -(2029, '删除客户端', 'sys:client:delete', NULL, 2026, NULL, 1, '0', '2', NULL, NULL, '2020-07-13 23:48:11', NULL, '0', '0', 0), -(2030, '导出客户端', 'sys:client:export', NULL, 2026, NULL, 1, '0', '2', NULL, NULL, '2020-07-13 23:48:28', NULL, '0', '0', 0), -(2031, '启禁客户端', 'sys:client:status', NULL, 2026, NULL, 1, '0', '2', NULL, NULL, '2020-07-13 23:49:22', NULL, '0', '0', 0), -(2032, '操作日志', NULL, '/system/log', 1000, 'comment', 2, '0', '1', NULL, NULL, '2020-07-15 05:11:09', '2020-08-11 03:41:43', '0', '0', 0), -(2033, '详细日志', 'sys:log:detail', NULL, 2032, NULL, 1, '0', '2', NULL, NULL, '2020-07-16 04:05:48', NULL, '0', '0', 0), -(2034, '日志删除', 'sys:log:delete', NULL, 2032, NULL, 1, '0', '2', NULL, NULL, '2020-07-16 04:06:16', NULL, '0', '0', 0), -(2035, '字典管理', NULL, '/system/dict', 1000, 'add', 1, '0', '1', NULL, NULL, '2020-07-17 09:29:31', NULL, '0', '0', 0), -(2036, '新增字典', 'sys:dict:add', NULL, 2035, NULL, 1, '0', '2', NULL, NULL, '2020-07-20 02:48:01', NULL, '0', '0', 0), -(2037, '修改字典', 'sys:dict:edit', NULL, 2035, NULL, 1, '0', '2', NULL, NULL, '2020-07-20 02:48:20', NULL, '0', '0', 0), -(2038, '删除字典', 'sys:dict:delete', NULL, 2035, NULL, 1, '0', '2', NULL, NULL, '2020-07-20 02:48:39', NULL, '0', '0', 0), -(2039, '组件管理', NULL, '/system/component', 1000, 'nested', 1, '0', '1', NULL, NULL, '2020-08-08 05:35:05', NULL, '0', '0', 0), -(2040, '内容管理', NULL, '/content', -1, 'content', 4, '0', '0', NULL, NULL, '2020-08-09 00:21:42', '2020-08-29 03:12:22', '0', '0', 0), -(2041, '文件管理', NULL, '/content/attachment', 2040, 'folder', 1, '0', '1', NULL, NULL, '2020-08-09 00:27:06', '2020-08-10 03:31:49', '0', '0', 0), -(2042, '修改组件', 'sys:comp:edit', NULL, 2039, NULL, 1, '0', '2', NULL, NULL, '2020-08-10 00:42:28', '2020-08-10 08:42:57', '0', '0', 0), -(2043, '上传文件', 'sys:attach:add', NULL, 2041, NULL, 1, '0', '2', NULL, NULL, '2020-08-10 08:43:52', NULL, '0', '0', 0), -(2044, '删除文件', 'sys:attach:delete', NULL, 2041, NULL, 1, '0', '2', NULL, NULL, '2020-08-10 08:44:29', NULL, '0', '0', 0), -(2045, '网关中心', NULL, '/gateway', -1, 'gateway', 2, '0', '0', NULL, NULL, '2020-08-28 19:12:00', '2020-10-19 22:21:52', '0', '0', 0), -(2047, '黑名单管理', NULL, '/gateway/blacklist', 2045, 'blacklist', 3, '0', '1', NULL, NULL, '2020-08-29 03:15:34', '2020-10-19 22:21:40', '0', '0', 0), -(2048, '新增黑名单', 'gw:bl:add', NULL, 2047, NULL, 1, '0', '2', NULL, NULL, '2020-08-29 09:38:52', NULL, '0', '0', 0), -(2049, '修改黑名单', 'gw:bl:edit', NULL, 2047, NULL, 1, '0', '2', NULL, NULL, '2020-08-29 09:39:27', NULL, '0', '0', 0), -(2050, '删除黑名单', 'gw:bl:del', NULL, 2047, NULL, 1, '0', '2', NULL, NULL, '2020-08-29 09:39:51', NULL, '0', '0', 0), -(2051, '黑名单状态', 'gw:bl:status', NULL, 2047, NULL, 1, '0', '2', NULL, NULL, '2020-08-29 09:44:20', NULL, '0', '0', 0), -(2053, '文档管理', NULL, '/content/doc', 2040, 'comment', 1, '0', '1', NULL, NULL, '2020-09-07 12:16:38', NULL, '0', '0', 0), -(2055, 'API管理', NULL, '/gateway/api', 2045, 'discovery', 2, '0', '1', NULL, NULL, '2020-10-14 14:00:06', '2020-10-17 12:53:38', '0', '0', 0), -(2056, '微服务管理', NULL, '/gateway/route', 2045, 'share3', 1, '0', '1', NULL, NULL, '2020-10-17 12:53:27', NULL, '0', '0', 0), -(2057, '同步API', 'gw:api:sync', NULL, 2055, NULL, 1, '0', '2', NULL, NULL, '2020-10-17 14:16:06', NULL, '0', '0', 0), -(2058, '删除API', 'gw:api:del', NULL, 2055, NULL, 1, '0', '2', NULL, NULL, '2020-10-17 14:17:25', NULL, '0', '0', 0), -(2059, '修改API', 'gw:api:edit', NULL, 2055, NULL, 1, '0', '2', NULL, NULL, '2020-10-17 14:17:58', NULL, '0', '0', 0), -(2060, '新增微服务', 'gw:route:add', NULL, 2056, NULL, 1, '0', '2', NULL, NULL, '2020-10-19 05:19:45', NULL, '0', '0', 0), -(2061, '修改微服务', 'gw:route:edit', NULL, 2056, NULL, 1, '0', '2', NULL, NULL, '2020-10-19 05:20:49', NULL, '0', '0', 0), -(2062, '删除微服务', 'gw:route:del', NULL, 2056, NULL, 1, '0', '2', NULL, NULL, '2020-10-19 05:21:03', NULL, '0', '0', 0); +INSERT INTO `mate_sys_menu` (`id`, `name`, `permission`, `path`, `parent_id`, `icon`, `sort`, `keep_alive`, `type`, `hidden`, `target`, `create_by`, `update_by`, `create_time`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES +(1000, '系统管理', NULL, '/system', -1, 'imac', 1, '0', '0', '0', '0', NULL, NULL, '2020-06-17 14:21:45', '2020-08-11 03:41:11', '0', '0', 0), +(1100, '用户管理', NULL, '/system/user', 1000, 'user', 1, '0', '1', '0', '0', NULL, NULL, '2020-06-18 14:28:36', '2020-06-25 11:19:20', '0', '0', 0), +(1101, '用户新增', 'sys:user:add', '', 1100, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-06-17 14:32:51', '2020-07-03 08:51:48', '0', '0', 0), +(1102, '用户修改', 'sys:user:edit', NULL, 1100, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-06-20 00:27:40', '2020-07-03 08:51:50', '0', '0', 0), +(1103, '用户删除', 'sys:user:delete', NULL, 1100, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-06-20 00:27:56', '2020-07-03 08:51:52', '0', '0', 0), +(1104, '用户启用', 'sys:user:enable', NULL, 1100, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-03 08:49:47', '2020-07-03 08:55:39', '0', '0', 0), +(1105, '用户禁用', 'sys:user:disable', NULL, 1100, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-03 08:50:16', '2020-07-03 08:55:40', '0', '0', 0), +(1106, '用户导出', 'sys:user:export', NULL, 1100, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-03 08:50:58', '2020-07-03 08:55:42', '0', '0', 0), +(1200, '角色管理', NULL, '/system/role', 1000, 'repair', 1, '0', '1', '0', '0', NULL, NULL, '2020-06-19 16:36:01', '2020-06-25 03:19:23', '0', '0', 0), +(1201, '角色新增', 'sys:role:add', NULL, 1200, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-06-20 00:37:12', '2020-07-03 14:00:56', '0', '0', 0), +(1202, '角色修改', 'sys:role:edit', NULL, 1200, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-06-20 00:38:23', '2020-07-03 14:01:06', '0', '0', 0), +(1203, '角色删除', 'sys:role:delete', NULL, 1200, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-06-20 00:38:53', '2020-07-03 14:01:14', '0', '0', 0), +(1204, '角色导出', 'sys:role:export', NULL, 1200, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-03 14:02:37', '2020-07-03 14:02:50', '0', '0', 0), +(1205, '角色权限', 'sys:role:perm', NULL, 1200, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-03 14:03:32', NULL, '0', '0', 0), +(1300, '菜单管理', NULL, '/system/menu', 1000, 'tree', 1, '0', '1', '0', '0', NULL, NULL, '2020-06-19 16:39:07', '2020-06-25 03:19:45', '0', '0', 0), +(1301, '菜单新增', 'sys:menu:add', NULL, 1300, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-06-20 00:39:48', '2020-07-03 14:11:59', '0', '0', 0), +(1302, '菜单修改', 'sys:menu:edit', NULL, 1300, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-06-20 00:40:21', '2020-07-03 14:12:15', '0', '0', 0), +(1303, '菜单删除', 'sys:menu:delete', NULL, 1300, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-06-20 00:40:42', '2020-07-03 14:12:23', '0', '0', 0), +(1304, '菜单启用', 'sys:menu:enable', NULL, 1300, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-03 14:12:59', '2020-07-03 14:13:14', '0', '0', 0), +(1305, '菜单禁用', 'sys:menu:disable', NULL, 1300, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-03 14:13:34', '2020-07-03 14:13:57', '0', '0', 0), +(1306, '菜单导出', 'sys:menu:export', NULL, 1300, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-03 14:14:32', NULL, '0', '0', 0), +(1400, '部门管理', NULL, '/system/depart', 1000, 'table2', 1, '0', '1', '0', '0', NULL, NULL, '2020-06-26 22:52:41', '2020-07-03 14:25:56', '0', '0', 0), +(1401, '部门新增', 'sys:depart:add', NULL, 1400, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-06-27 14:53:37', '2020-07-03 14:26:12', '0', '0', 0), +(1402, '部门修改', 'sys:depart:edit', NULL, 1400, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-06-27 14:54:47', '2020-07-03 14:26:14', '0', '0', 0), +(1403, '部门删除', 'sys:depart:delete', NULL, 1400, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-06-27 14:55:15', '2020-07-03 14:26:17', '0', '0', 0), +(1404, '部门导出', 'sys:depart:export', NULL, 1400, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-03 14:27:26', '2020-07-03 14:27:45', '0', '0', 0), +(2015, '开发运维', NULL, '/devops', -1, 'settings', 3, '0', '0', '0', '0', NULL, NULL, '2020-07-05 11:20:31', '2020-10-19 22:21:49', '0', '0', 0), +(2016, '数据源管理', '', '/devops/datasource', 2015, 'table', 1, '0', '1', '0', '0', NULL, NULL, '2020-07-06 19:21:58', '2020-07-09 06:50:01', '0', '0', 0), +(2017, '数据源新增', 'sys:datasource:add', NULL, 2016, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-07 04:08:11', NULL, '0', '0', 0), +(2018, '数据源修改', 'sys:datasource:edit', NULL, 2016, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-07 04:08:40', NULL, '0', '0', 0), +(2019, '数据源删除', 'sys:datasource:delete', NULL, 2016, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-07 04:09:05', NULL, '0', '0', 0), +(2020, '数据源导出', 'sys:datasource:export', NULL, 2016, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-07 04:09:25', NULL, '0', '0', 0), +(2021, '代码生成', NULL, '/devops/generator', 2015, 'download', 1, '0', '1', '0', '0', NULL, NULL, '2020-07-09 07:08:50', NULL, '0', '0', 0), +(2022, '代码生成', 'devops:gen', NULL, 2021, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-08 23:09:45', '2020-07-13 14:35:14', '0', '0', 0), +(2023, '监控配置中心', NULL, '/devops/monitor', 2015, 'validCode', 1, '0', '1', '0', '0', NULL, NULL, '2020-07-10 20:23:07', '2020-07-11 04:39:40', '0', '0', 0), +(2026, '客户端管理', NULL, '/system/client', 1000, 'iPhone', 1, '0', '1', '0', '0', NULL, NULL, '2020-07-13 22:47:20', NULL, '0', '0', 0), +(2027, '新增客户端', 'sys:client:add', NULL, 2026, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-13 22:47:44', NULL, '0', '0', 0), +(2028, '修改客户端', 'sys:client:edit', NULL, 2026, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-13 23:47:37', NULL, '0', '0', 0), +(2029, '删除客户端', 'sys:client:delete', NULL, 2026, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-13 23:48:11', NULL, '0', '0', 0), +(2030, '导出客户端', 'sys:client:export', NULL, 2026, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-13 23:48:28', NULL, '0', '0', 0), +(2031, '启禁客户端', 'sys:client:status', NULL, 2026, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-13 23:49:22', NULL, '0', '0', 0), +(2032, '操作日志', NULL, '/system/log', 1000, 'comment', 2, '0', '1', '0', '0', NULL, NULL, '2020-07-15 05:11:09', '2020-08-11 03:41:43', '0', '0', 0), +(2033, '详细日志', 'sys:log:detail', NULL, 2032, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-16 04:05:48', NULL, '0', '0', 0), +(2034, '日志删除', 'sys:log:delete', NULL, 2032, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-16 04:06:16', NULL, '0', '0', 0), +(2035, '字典管理', NULL, '/system/dict', 1000, 'add', 1, '0', '1', '0', '0', NULL, NULL, '2020-07-17 09:29:31', NULL, '0', '0', 0), +(2036, '新增字典', 'sys:dict:add', NULL, 2035, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-20 02:48:01', NULL, '0', '0', 0), +(2037, '修改字典', 'sys:dict:edit', NULL, 2035, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-20 02:48:20', NULL, '0', '0', 0), +(2038, '删除字典', 'sys:dict:delete', NULL, 2035, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-07-20 02:48:39', NULL, '0', '0', 0), +(2039, '组件管理', NULL, '/system/component', 1000, 'nested', 1, '0', '1', '0', '0', NULL, NULL, '2020-08-08 05:35:05', NULL, '0', '0', 0), +(2040, '内容管理', NULL, '/content', -1, 'content', 4, '0', '0', '0', '0', NULL, NULL, '2020-08-09 00:21:42', '2020-08-29 03:12:22', '0', '0', 0), +(2041, '文件管理', NULL, '/content/attachment', 2040, 'folder', 1, '0', '1', '0', '0', NULL, NULL, '2020-08-09 00:27:06', '2020-08-10 03:31:49', '0', '0', 0), +(2042, '修改组件', 'sys:comp:edit', NULL, 2039, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-08-10 00:42:28', '2020-08-10 08:42:57', '0', '0', 0), +(2043, '上传文件', 'sys:attach:add', NULL, 2041, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-08-10 08:43:52', NULL, '0', '0', 0), +(2044, '删除文件', 'sys:attach:delete', NULL, 2041, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-08-10 08:44:29', NULL, '0', '0', 0), +(2045, '网关中心', NULL, '/gateway', -1, 'gateway', 2, '0', '0', '0', '0', NULL, NULL, '2020-08-28 19:12:00', '2020-10-19 22:21:52', '0', '0', 0), +(2047, '黑名单管理', NULL, '/gateway/blacklist', 2045, 'blacklist', 3, '0', '1', '0', '0', NULL, NULL, '2020-08-29 03:15:34', '2020-10-19 22:21:40', '0', '0', 0), +(2048, '新增黑名单', 'gw:bl:add', NULL, 2047, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-08-29 09:38:52', NULL, '0', '0', 0), +(2049, '修改黑名单', 'gw:bl:edit', NULL, 2047, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-08-29 09:39:27', NULL, '0', '0', 0), +(2050, '删除黑名单', 'gw:bl:del', NULL, 2047, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-08-29 09:39:51', NULL, '0', '0', 0), +(2051, '黑名单状态', 'gw:bl:status', NULL, 2047, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-08-29 09:44:20', NULL, '0', '0', 0), +(2053, '文档管理', NULL, '/content/doc', 2040, 'comment', 1, '0', '1', '0', '0', NULL, NULL, '2020-09-07 12:16:38', NULL, '0', '0', 0), +(2055, 'API管理', NULL, '/gateway/api', 2045, 'discovery', 2, '0', '1', '0', '0', NULL, NULL, '2020-10-14 14:00:06', '2020-10-17 12:53:38', '0', '0', 0), +(2056, '微服务管理', NULL, '/gateway/route', 2045, 'share3', 1, '0', '1', '0', '0', NULL, NULL, '2020-10-17 12:53:27', NULL, '0', '0', 0), +(2057, '同步API', 'gw:api:sync', NULL, 2055, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-10-17 14:16:06', NULL, '0', '0', 0), +(2058, '删除API', 'gw:api:del', NULL, 2055, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-10-17 14:17:25', NULL, '0', '0', 0), +(2059, '修改API', 'gw:api:edit', NULL, 2055, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-10-17 14:17:58', NULL, '0', '0', 0), +(2060, '新增微服务', 'gw:route:add', NULL, 2056, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-10-19 05:19:45', NULL, '0', '0', 0), +(2061, '修改微服务', 'gw:route:edit', NULL, 2056, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-10-19 05:20:49', NULL, '0', '0', 0), +(2062, '删除微服务', 'gw:route:del', NULL, 2056, NULL, 1, '0', '2', '0', '0', NULL, NULL, '2020-10-19 05:21:03', NULL, '0', '0', 0); -- -------------------------------------------------------- @@ -516,7 +622,7 @@ CREATE TABLE IF NOT EXISTS `mate_sys_role` ( `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` char(1) DEFAULT '0' COMMENT '删除标识', `tenant_id` int(11) DEFAULT NULL COMMENT '租户ID' -) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COMMENT='角色表'; +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT='角色表'; -- -- 转存表中的数据 `mate_sys_role` @@ -697,7 +803,7 @@ CREATE TABLE IF NOT EXISTS `mate_sys_user` ( `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` char(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除' -) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8mb4 COMMENT='用户表'; +) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8mb4 COMMENT='用户表'; -- -- 转存表中的数据 `mate_sys_user` @@ -847,12 +953,12 @@ ALTER TABLE `mate_duben_doc` -- AUTO_INCREMENT for table `mate_duben_set` -- ALTER TABLE `mate_duben_set` - MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '文档集id',AUTO_INCREMENT=5; + MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '文档集id',AUTO_INCREMENT=1689; -- -- AUTO_INCREMENT for table `mate_sys_api` -- ALTER TABLE `mate_sys_api` - MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',AUTO_INCREMENT=90; + MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',AUTO_INCREMENT=89; -- -- AUTO_INCREMENT for table `mate_sys_attachment` -- @@ -862,37 +968,37 @@ ALTER TABLE `mate_sys_attachment` -- AUTO_INCREMENT for table `mate_sys_blacklist` -- ALTER TABLE `mate_sys_blacklist` - MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',AUTO_INCREMENT=9; + MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',AUTO_INCREMENT=2; -- -- AUTO_INCREMENT for table `mate_sys_client` -- ALTER TABLE `mate_sys_client` - MODIFY `id` bigint(64) NOT NULL AUTO_INCREMENT COMMENT '主键',AUTO_INCREMENT=3; + MODIFY `id` bigint(64) NOT NULL AUTO_INCREMENT COMMENT '主键',AUTO_INCREMENT=2; -- -- AUTO_INCREMENT for table `mate_sys_config` -- ALTER TABLE `mate_sys_config` - MODIFY `id` bigint(64) NOT NULL AUTO_INCREMENT COMMENT '主键',AUTO_INCREMENT=26; + MODIFY `id` bigint(64) NOT NULL AUTO_INCREMENT COMMENT '主键',AUTO_INCREMENT=20; -- -- AUTO_INCREMENT for table `mate_sys_data_source` -- ALTER TABLE `mate_sys_data_source` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增id',AUTO_INCREMENT=16; + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增id',AUTO_INCREMENT=3; -- -- AUTO_INCREMENT for table `mate_sys_depart` -- ALTER TABLE `mate_sys_depart` - MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '部门ID',AUTO_INCREMENT=17; + MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '部门ID',AUTO_INCREMENT=6; -- -- AUTO_INCREMENT for table `mate_sys_dict` -- ALTER TABLE `mate_sys_dict` - MODIFY `id` bigint(64) NOT NULL AUTO_INCREMENT COMMENT '主键',AUTO_INCREMENT=31; + MODIFY `id` bigint(64) NOT NULL AUTO_INCREMENT COMMENT '主键',AUTO_INCREMENT=27; -- -- AUTO_INCREMENT for table `mate_sys_log` -- ALTER TABLE `mate_sys_log` - MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',AUTO_INCREMENT=85106; + MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',AUTO_INCREMENT=115197; -- -- AUTO_INCREMENT for table `mate_sys_menu` -- @@ -902,7 +1008,7 @@ ALTER TABLE `mate_sys_menu` -- AUTO_INCREMENT for table `mate_sys_role` -- ALTER TABLE `mate_sys_role` - MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',AUTO_INCREMENT=8; + MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',AUTO_INCREMENT=3; -- -- AUTO_INCREMENT for table `mate_sys_role_permission` -- @@ -922,7 +1028,7 @@ ALTER TABLE `mate_sys_tenant` -- AUTO_INCREMENT for table `mate_sys_user` -- ALTER TABLE `mate_sys_user` - MODIFY `id` bigint(64) NOT NULL AUTO_INCREMENT COMMENT '主键',AUTO_INCREMENT=27; + MODIFY `id` bigint(64) NOT NULL AUTO_INCREMENT COMMENT '主键',AUTO_INCREMENT=23; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/doc/sql/update/matex_1.5.8_2.1.8_update.sql b/doc/sql/update/matex_1.5.8_2.1.8_update.sql new file mode 100644 index 0000000000000000000000000000000000000000..aca74e5c181f7505e8cae2e5cac7614355506500 --- /dev/null +++ b/doc/sql/update/matex_1.5.8_2.1.8_update.sql @@ -0,0 +1,2 @@ +ALTER TABLE mate_sys_menu ADD COLUMN `hidden` char(1) CHARACTER SET utf8mb4 DEFAULT '0'; +ALTER TABLE mate_sys_menu ADD COLUMN `target` char(1) CHARACTER SET utf8mb4 DEFAULT '0'; \ No newline at end of file diff --git a/mate-core/mate-starter-auth/pom.xml b/mate-core/mate-starter-auth/pom.xml index 77e81e9000c03ca2f7bad046c041ea8d2696fc89..b86928ac16b79ba455c4a159d2e5d2649827c44b 100644 --- a/mate-core/mate-starter-auth/pom.xml +++ b/mate-core/mate-starter-auth/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-cloud/pom.xml b/mate-core/mate-starter-cloud/pom.xml index 69d12e98219381773c5952891b8c405a995ac2dd..8d75c6e9dcda3ebf47a179d7360d38b6629c6272 100644 --- a/mate-core/mate-starter-cloud/pom.xml +++ b/mate-core/mate-starter-cloud/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-cloud/src/main/java/vip/mate/core/cloud/nacos/NacosWatch.java b/mate-core/mate-starter-cloud/src/main/java/vip/mate/core/cloud/nacos/NacosWatch.java deleted file mode 100644 index 636ac4198ca60da47c08f5cf6c5d372082c29040..0000000000000000000000000000000000000000 --- a/mate-core/mate-starter-cloud/src/main/java/vip/mate/core/cloud/nacos/NacosWatch.java +++ /dev/null @@ -1,174 +0,0 @@ -//package vip.mate.core.cloud.nacos; -// -//import com.alibaba.cloud.nacos.NacosDiscoveryProperties; -//import com.alibaba.cloud.nacos.NacosServiceManager; -//import com.alibaba.nacos.api.exception.NacosException; -//import com.alibaba.nacos.api.naming.NamingService; -//import com.alibaba.nacos.api.naming.listener.Event; -//import com.alibaba.nacos.api.naming.listener.EventListener; -//import com.alibaba.nacos.api.naming.listener.NamingEvent; -//import com.alibaba.nacos.api.naming.pojo.Instance; -//import org.slf4j.Logger; -//import org.slf4j.LoggerFactory; -//import org.springframework.beans.factory.DisposableBean; -//import org.springframework.beans.factory.ObjectProvider; -//import org.springframework.cloud.client.discovery.event.HeartbeatEvent; -//import org.springframework.context.ApplicationEventPublisher; -//import org.springframework.context.ApplicationEventPublisherAware; -//import org.springframework.context.SmartLifecycle; -//import org.springframework.scheduling.TaskScheduler; -//import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; -// -//import java.util.Collections; -//import java.util.List; -//import java.util.Map; -//import java.util.Optional; -//import java.util.concurrent.ConcurrentHashMap; -//import java.util.concurrent.ScheduledFuture; -//import java.util.concurrent.atomic.AtomicBoolean; -//import java.util.concurrent.atomic.AtomicLong; -// -///** -// * @author xiaojing -// * @author yuhuangbin -// * @author L.cm -// */ -//public class NacosWatch implements ApplicationEventPublisherAware, SmartLifecycle, DisposableBean { -// -// private static final Logger log = LoggerFactory.getLogger(NacosWatch.class); -// -// private Map listenerMap = new ConcurrentHashMap<>(16); -// -// private final AtomicBoolean running = new AtomicBoolean(false); -// -// private final AtomicLong nacosWatchIndex = new AtomicLong(0); -// -// private ApplicationEventPublisher publisher; -// -// private ScheduledFuture watchFuture; -// -// private NacosServiceManager nacosServiceManager; -// -// private final NacosDiscoveryProperties properties; -// -// private final TaskScheduler taskScheduler; -// -// public NacosWatch(NacosServiceManager nacosServiceManager, -// NacosDiscoveryProperties properties, -// ObjectProvider taskScheduler) { -// this.nacosServiceManager = nacosServiceManager; -// this.properties = properties; -// this.taskScheduler = taskScheduler.getIfAvailable(NacosWatch::getTaskScheduler); -// } -// -// private static ThreadPoolTaskScheduler getTaskScheduler() { -// ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler(); -// taskScheduler.setBeanName("Nacos-Watch-Task-Scheduler"); -// taskScheduler.initialize(); -// return taskScheduler; -// } -// -// @Override -// public void setApplicationEventPublisher(ApplicationEventPublisher publisher) { -// this.publisher = publisher; -// } -// -// @Override -// public boolean isAutoStartup() { -// return true; -// } -// -// @Override -// public void start() { -// if (this.running.compareAndSet(false, true)) { -// EventListener eventListener = listenerMap.computeIfAbsent(buildKey(), -// event -> new EventListener() { -// @Override -// public void onEvent(Event event) { -// if (event instanceof NamingEvent) { -// List instances = ((NamingEvent) event) -// .getInstances(); -// Optional instanceOptional = selectCurrentInstance( -// instances); -// instanceOptional.ifPresent(currentInstance -> { -// resetIfNeeded(currentInstance); -// }); -// } -// } -// }); -// -// NamingService namingService = nacosServiceManager -// .getNamingService(properties.getNacosProperties()); -// try { -// namingService.subscribe(properties.getService(), properties.getGroup(), -// Collections.singletonList(properties.getClusterName()), eventListener); -// } catch (Exception e) { -// log.error("namingService subscribe failed, properties:{}", properties, e); -// } -// -// this.watchFuture = this.taskScheduler.scheduleWithFixedDelay( -// this::nacosServicesWatch, this.properties.getWatchDelay()); -// } -// } -// -// private String buildKey() { -// return String.join(":", properties.getService(), properties.getGroup()); -// } -// -// private void resetIfNeeded(Instance instance) { -// if (!properties.getMetadata().equals(instance.getMetadata())) { -// properties.setMetadata(instance.getMetadata()); -// } -// } -// -// private Optional selectCurrentInstance(List instances) { -// return instances.stream() -// .filter(instance -> properties.getIp().equals(instance.getIp()) -// && properties.getPort() == instance.getPort()) -// .findFirst(); -// } -// -// -// @Override -// public void stop() { -// if (this.running.compareAndSet(true, false)) { -// if (this.watchFuture != null) { -// // shutdown current user-thread, -// // then the other daemon-threads will terminate automatic. -// ((ThreadPoolTaskScheduler) this.taskScheduler).shutdown(); -// this.watchFuture.cancel(true); -// } -// } -// } -// -// @Override -// public void destroy() throws Exception { -// EventListener eventListener = listenerMap.get(buildKey()); -// try { -// NamingService namingService = nacosServiceManager -// .getNamingService(properties.getNacosProperties()); -// namingService.unsubscribe(properties.getService(), properties.getGroup(), -// Collections.singletonList(properties.getClusterName()), eventListener); -// nacosServiceManager.nacosServiceShutDown(); -// } catch (NacosException e) { -// log.error("namingService unsubscribe failed, properties:{}", properties, e); -// } -// } -// -// @Override -// public boolean isRunning() { -// return this.running.get(); -// } -// -// @Override -// public int getPhase() { -// return 0; -// } -// -// public void nacosServicesWatch() { -// // nacos doesn't support watch now , publish an event every 30 seconds. -// this.publisher.publishEvent(new HeartbeatEvent(this, nacosWatchIndex.getAndIncrement())); -// } -// -//} -// diff --git a/mate-core/mate-starter-cloud/src/main/java/vip/mate/core/cloud/props/MateApiProperties.java b/mate-core/mate-starter-cloud/src/main/java/vip/mate/core/cloud/props/MateApiProperties.java index e96b440eaa41e6acd0362a23f5c0eb4a924a182b..7c29ddca4217d2447426e09ead99a88009d7e17d 100644 --- a/mate-core/mate-starter-cloud/src/main/java/vip/mate/core/cloud/props/MateApiProperties.java +++ b/mate-core/mate-starter-cloud/src/main/java/vip/mate/core/cloud/props/MateApiProperties.java @@ -26,7 +26,7 @@ public class MateApiProperties { private static final String[] ENDPOINTS = { "/oauth/**", "/actuator/**", - "/v3/api-docs/**", + "/v2/api-docs/**", "/swagger/api-docs", "/swagger-ui.html", "/doc.html", diff --git a/mate-core/mate-starter-cloud/src/main/resources/banner.txt b/mate-core/mate-starter-cloud/src/main/resources/banner.txt index aae358f47f4a8499bc07e304ff7470ce36a90dfa..f2edea698e01b1c13be9c031dfd89d3eca71171a 100644 --- a/mate-core/mate-starter-cloud/src/main/resources/banner.txt +++ b/mate-core/mate-starter-cloud/src/main/resources/banner.txt @@ -7,5 +7,5 @@ ${AnsiColor.BRIGHT_GREEN} | \/ |(_)_\(_)|_ _|| __| ${AnsiColor.BRIGHT_GREEN} | |\/| | / _ \ | | | _| ${AnsiColor.BRIGHT_GREEN} |_| |_|/_/ \_\ |_| |___| -${AnsiColor.BLUE}:: MATECLOUD :: ${spring.application.name}: ${AnsiColor.BRIGHT_GREEN}@spring.active@${AnsiColor.BLUE}: ${AnsiColor.BRIGHT_GREEN}v@project.version@${AnsiColor.BLUE} :: +${AnsiColor.BLUE}:: MATECLOUD :: ${spring.application.name}: ${AnsiColor.BRIGHT_GREEN}${spring.profiles.active}${AnsiColor.BLUE}: ${AnsiColor.BRIGHT_GREEN}v@project.version@${AnsiColor.BLUE} :: ${AnsiColor.BLUE}:: Spring-Boot: ${AnsiColor.BRIGHT_GREEN}${spring-boot.version}${AnsiColor.BLUE} :: ${AnsiColor.DEFAULT} \ No newline at end of file diff --git a/mate-core/mate-starter-common/pom.xml b/mate-core/mate-starter-common/pom.xml index 581b7ffaec972725272b90322b7470792d99bb8c..93b5c7aa648b5f559860f3f1403f5cd4f56f0319 100644 --- a/mate-core/mate-starter-common/pom.xml +++ b/mate-core/mate-starter-common/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 @@ -18,19 +18,9 @@ org.springframework.boot spring-boot-starter-actuator - - com.github.xiaoymin - knife4j-micro-spring-boot-starter - - - - io.swagger.core.v3 - swagger-models - - - com.github.xiaoymin - knife4j-spring-ui + io.springfox + springfox-swagger2 javax.servlet @@ -59,10 +49,10 @@ spring-boot-starter-web provided - + com.squareup.okhttp3 okhttp diff --git a/mate-core/mate-starter-common/src/main/java/vip/mate/core/common/constant/MateConstant.java b/mate-core/mate-starter-common/src/main/java/vip/mate/core/common/constant/MateConstant.java index 442fc774d440c5021a574a109b8d7cd45f07a3e1..3dc785be708c953aee66fdb9ce6f5b76610ca738 100644 --- a/mate-core/mate-starter-common/src/main/java/vip/mate/core/common/constant/MateConstant.java +++ b/mate-core/mate-starter-common/src/main/java/vip/mate/core/common/constant/MateConstant.java @@ -8,7 +8,7 @@ public class MateConstant { /** * 应用版本号 */ - public static final String MATE_APP_VERSION = "2.0.8"; + public static final String MATE_APP_VERSION = "2.1.8"; /** * Spring 应用名 prop key diff --git a/mate-core/mate-starter-database/pom.xml b/mate-core/mate-starter-database/pom.xml index c4a79b7c060d4a9cabb69e95edfac659c2b863a9..baee37b52ebdadbb4e305cce9e93b1e90a158063 100644 --- a/mate-core/mate-starter-database/pom.xml +++ b/mate-core/mate-starter-database/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-dependencies/pom.xml b/mate-core/mate-starter-dependencies/pom.xml index 4b08ae4e37d872e567dc3cc332f908d43a31549b..abc9d000282e116e28173d64546667e44deb6dd2 100644 --- a/mate-core/mate-starter-dependencies/pom.xml +++ b/mate-core/mate-starter-dependencies/pom.xml @@ -5,14 +5,14 @@ org.springframework.boot spring-boot-starter-parent - 2.3.6.RELEASE + 2.3.7.RELEASE 4.0.0 vip.mate mate-starter-dependencies - 2.0.8 + 2.1.8 pom mate-starter-dependencies based on Spring Cloud Alibaba dependencies @@ -39,10 +39,10 @@ - 2.0.8 + 2.1.8 UTF-8 - 2.3.6.RELEASE + 2.3.7.RELEASE Hoxton.SR9 2.2.3.RELEASE @@ -57,13 +57,13 @@ 8.0.22 12.2.0.1 42.2.6 - 1.2.3 + 1.2.4 3.4.1 1.7 - 3.0.0 - 2.1.5 - 3.0.2 + 2.10.5 + 1.6.2 + 2.0.8 0.9.1 1.6.2 2.0.2 @@ -85,14 +85,14 @@ 2.5 4.1.1 - 7.9.3 + 7.10.0 3.2.2 6.5.0 - 3.13.6 + 3.14.0 5.3.5.RELEASE 1.8.0 - 2.11.5 + 2.12.0 2.8.0 4.7.1 1.4.0 @@ -314,17 +314,16 @@ springfox-swagger2 ${swagger.version} - - - - - - - io.swagger.core.v3 + io.swagger swagger-models ${swagger.models.version} + + com.github.xiaoymin + knife4j-spring-boot-starter + ${knife4j.version} + com.github.xiaoymin knife4j-micro-spring-boot-starter @@ -367,6 +366,11 @@ jetcache-starter-redis-lettuce ${jetcache.version} + + com.alicp.jetcache + jetcache-starter-redis-springdata + ${jetcache.version} + de.codecentric spring-boot-admin-starter-server diff --git a/mate-core/mate-starter-dozer/pom.xml b/mate-core/mate-starter-dozer/pom.xml index 2001588bedc62d302cd2cf4f761d911883221b22..649697f0dab102755909b12fff1579158d6a90c5 100644 --- a/mate-core/mate-starter-dozer/pom.xml +++ b/mate-core/mate-starter-dozer/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-dubbo/pom.xml b/mate-core/mate-starter-dubbo/pom.xml index 2cca9f895549655ffec08e04c2e6ab9f0b9ab526..a4bbd2d9eb70a5059d51a43c938e8a921d0ec5fd 100644 --- a/mate-core/mate-starter-dubbo/pom.xml +++ b/mate-core/mate-starter-dubbo/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-elasticsearch/pom.xml b/mate-core/mate-starter-elasticsearch/pom.xml index 9de163f37ccb46b48b185f48f9c53c4983163e75..179e974e864130f8a4250d8ce24880b3e1042f21 100644 --- a/mate-core/mate-starter-elasticsearch/pom.xml +++ b/mate-core/mate-starter-elasticsearch/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-encrypt/pom.xml b/mate-core/mate-starter-encrypt/pom.xml index 0445d01b02f63fbe5c088ed38b5600d3d944aeac..506672b20960b0d57f9623f8f4396b9f4eed3286 100644 --- a/mate-core/mate-starter-encrypt/pom.xml +++ b/mate-core/mate-starter-encrypt/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-encrypt/src/main/java/vip/mate/core/encrypt/annotation/EnableEncrypt.java b/mate-core/mate-starter-encrypt/src/main/java/vip/mate/core/encrypt/annotation/EnableEncrypt.java index 5499bd01b9d627eb4af321c1b8051435d8be0e3f..f3e263451817967744a34e872f9f4832c329e9f5 100644 --- a/mate-core/mate-starter-encrypt/src/main/java/vip/mate/core/encrypt/annotation/EnableEncrypt.java +++ b/mate-core/mate-starter-encrypt/src/main/java/vip/mate/core/encrypt/annotation/EnableEncrypt.java @@ -11,7 +11,7 @@ import java.lang.annotation.*; * 支持res和rsa的加密方式 * * @author gaoyang pangu - * @since 2.0.8 + * @since 1.6.8 */ @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) diff --git a/mate-core/mate-starter-feign/pom.xml b/mate-core/mate-starter-feign/pom.xml index b69849b303df830d637edbcf2efabb4205964e22..6cf754018b9493a219117950af24f2511c989219 100644 --- a/mate-core/mate-starter-feign/pom.xml +++ b/mate-core/mate-starter-feign/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-file/pom.xml b/mate-core/mate-starter-file/pom.xml index 6bfa14281e465aca0d084d50fdd33176617f7ec8..fe3d0377324c5cffea8b1623cfc2328957a5a51e 100644 --- a/mate-core/mate-starter-file/pom.xml +++ b/mate-core/mate-starter-file/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-gray/pom.xml b/mate-core/mate-starter-gray/pom.xml index 398e4a92a6889c934a9d2a529d015e7824a0cc79..4611bd9e250cd2053e86f2fee9e110651f2eebc9 100644 --- a/mate-core/mate-starter-gray/pom.xml +++ b/mate-core/mate-starter-gray/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-j2cache/pom.xml b/mate-core/mate-starter-j2cache/pom.xml index 04e467a60e3b0f0ccd049cf5a0d5297e15b620e1..05dbd3ea69fb45b69f6a0c800fc63e14074450d5 100644 --- a/mate-core/mate-starter-j2cache/pom.xml +++ b/mate-core/mate-starter-j2cache/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-jetcache/pom.xml b/mate-core/mate-starter-jetcache/pom.xml index d6362e3b37a948efe8f6c43a19e71430abeb70f5..2d1db88387e8962b8dcfa00b98ebe12ec4e69857 100644 --- a/mate-core/mate-starter-jetcache/pom.xml +++ b/mate-core/mate-starter-jetcache/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 @@ -14,7 +14,15 @@ com.alicp.jetcache - jetcache-starter-redis-lettuce + jetcache-starter-redis + + + com.alicp.jetcache + jetcache-starter-redis-springdata + + + org.apache.commons + commons-pool2 vip.mate diff --git a/mate-core/mate-starter-jetcache/src/main/java/vip/mate/core/jetcache/config/JetCacheConfiguration.java b/mate-core/mate-starter-jetcache/src/main/java/vip/mate/core/jetcache/config/JetCacheConfiguration.java index feeaa8122705b3576ddd422bca6ef142aa110156..9bca455290719c32f81edf95d8d90d42634902ff 100644 --- a/mate-core/mate-starter-jetcache/src/main/java/vip/mate/core/jetcache/config/JetCacheConfiguration.java +++ b/mate-core/mate-starter-jetcache/src/main/java/vip/mate/core/jetcache/config/JetCacheConfiguration.java @@ -7,7 +7,7 @@ import com.alicp.jetcache.anno.support.GlobalCacheConfig; import com.alicp.jetcache.anno.support.SpringConfigProvider; import com.alicp.jetcache.embedded.EmbeddedCacheBuilder; import com.alicp.jetcache.embedded.LinkedHashMapCacheBuilder; -import com.alicp.jetcache.redis.lettuce.RedisLettuceCacheBuilder; +import com.alicp.jetcache.redis.springdata.RedisSpringDataCacheBuilder; import com.alicp.jetcache.support.FastjsonKeyConvertor; import com.alicp.jetcache.support.JavaValueDecoder; import com.alicp.jetcache.support.JavaValueEncoder; @@ -21,49 +21,53 @@ import vip.mate.core.common.factory.YamlPropertySourceFactory; import java.util.HashMap; import java.util.Map; +/** + * JetCache配置 + * + * @author pangu + */ @Configuration -@EnableMethodCache(basePackages = "vip.mate.system") +@EnableMethodCache(basePackages = "vip.mate") @EnableCreateCacheAnnotation @PropertySource(factory = YamlPropertySourceFactory.class, value = "classpath:mate-jetcache.yml") public class JetCacheConfiguration { - @Bean - public RedisClient redisClient(){ - RedisClient client = RedisClient.create("redis://127.0.0.1"); - client.setOptions(ClientOptions.builder(). - disconnectedBehavior(ClientOptions.DisconnectedBehavior.REJECT_COMMANDS) - .build()); - return client; - } + @Bean + public RedisClient redisClient() { + RedisClient client = RedisClient.create("redis://127.0.0.1"); + client.setOptions(ClientOptions.builder(). + disconnectedBehavior(ClientOptions.DisconnectedBehavior.REJECT_COMMANDS) + .build()); + return client; + } - @Bean - public SpringConfigProvider springConfigProvider() { - return new SpringConfigProvider(); - } + @Bean + public SpringConfigProvider springConfigProvider() { + return new SpringConfigProvider(); + } - @Bean - public GlobalCacheConfig config(SpringConfigProvider configProvider, RedisClient redisClient){ - Map localBuilders = new HashMap(); - EmbeddedCacheBuilder localBuilder = LinkedHashMapCacheBuilder - .createLinkedHashMapCacheBuilder() - .keyConvertor(FastjsonKeyConvertor.INSTANCE); - localBuilders.put(CacheConsts.DEFAULT_AREA, localBuilder); + @Bean + public GlobalCacheConfig config(SpringConfigProvider configProvider, RedisClient redisClient) { + Map localBuilders = new HashMap(); + EmbeddedCacheBuilder localBuilder = LinkedHashMapCacheBuilder + .createLinkedHashMapCacheBuilder() + .keyConvertor(FastjsonKeyConvertor.INSTANCE); + localBuilders.put(CacheConsts.DEFAULT_AREA, localBuilder); - Map remoteBuilders = new HashMap(); - RedisLettuceCacheBuilder remoteCacheBuilder = RedisLettuceCacheBuilder.createRedisLettuceCacheBuilder() - .keyConvertor(FastjsonKeyConvertor.INSTANCE) - .valueEncoder(JavaValueEncoder.INSTANCE) - .valueDecoder(JavaValueDecoder.INSTANCE) - .redisClient(redisClient); - remoteBuilders.put(CacheConsts.DEFAULT_AREA, remoteCacheBuilder); + Map remoteBuilders = new HashMap(6); + RedisSpringDataCacheBuilder redisSpringDataCacheBuilder = RedisSpringDataCacheBuilder.createBuilder() + .keyConvertor(FastjsonKeyConvertor.INSTANCE) + .valueEncoder(JavaValueEncoder.INSTANCE) + .valueDecoder(JavaValueDecoder.INSTANCE); + remoteBuilders.put(CacheConsts.DEFAULT_AREA, redisSpringDataCacheBuilder); - GlobalCacheConfig globalCacheConfig = new GlobalCacheConfig(); - // globalCacheConfig.setConfigProvider(configProvider);//for jetcache <=2.5 - globalCacheConfig.setLocalCacheBuilders(localBuilders); - globalCacheConfig.setRemoteCacheBuilders(remoteBuilders); - globalCacheConfig.setStatIntervalMinutes(15); - globalCacheConfig.setAreaInCacheName(false); + GlobalCacheConfig globalCacheConfig = new GlobalCacheConfig(); + // globalCacheConfig.setConfigProvider(configProvider);//for jetcache <=2.5 + globalCacheConfig.setLocalCacheBuilders(localBuilders); + globalCacheConfig.setRemoteCacheBuilders(remoteBuilders); + globalCacheConfig.setStatIntervalMinutes(15); + globalCacheConfig.setAreaInCacheName(false); - return globalCacheConfig; - } + return globalCacheConfig; + } } diff --git a/mate-core/mate-starter-jetcache/src/main/resources/mate-jetcache.yml b/mate-core/mate-starter-jetcache/src/main/resources/mate-jetcache.yml index d6f515265581fb220e99ecf2fb14bc624134489d..18a554a012b76bc9850e162e13c6562defecc117 100644 --- a/mate-core/mate-starter-jetcache/src/main/resources/mate-jetcache.yml +++ b/mate-core/mate-starter-jetcache/src/main/resources/mate-jetcache.yml @@ -2,16 +2,17 @@ jetcache: statIntervalMinutes: 15 areaInCacheName: false local: + #默认area default: - type: linkedhashmap + type: caffeine keyConvertor: fastjson remote: default: - type: redis.lettuce + # type由 redis.lettuce 变为了redis.springdata + type: redis.springdata keyConvertor: fastjson - #uri: redis://127.0.0.1:6379/ - #uri: redis-sentinel://127.0.0.1:26379,127.0.0.1:26380,127.0.0.1:26381/?sentinelMasterId=mymaster - #readFrom: slavePreferred + valueEncoder: java + valueDecoder: java poolConfig: minIdle: 5 maxIdle: 20 diff --git a/mate-core/mate-starter-job/pom.xml b/mate-core/mate-starter-job/pom.xml index effe6eaa3ff554120d17d15c5ea221a153f38e8a..51ce2d101b341a361c1368cc7d6a16e2f4123393 100644 --- a/mate-core/mate-starter-job/pom.xml +++ b/mate-core/mate-starter-job/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 jar diff --git a/mate-core/mate-starter-kafka/pom.xml b/mate-core/mate-starter-kafka/pom.xml index 7e86e1e73ecde9422977e192161cf61ed5b978e5..7501225cfea0370fd4915c38b8228969a7fc001e 100644 --- a/mate-core/mate-starter-kafka/pom.xml +++ b/mate-core/mate-starter-kafka/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-lock/pom.xml b/mate-core/mate-starter-lock/pom.xml index 36255d203bb663dceab77cf7b2ee434336532348..c14d03a7617123abd63cbfe5c2936e8b2e20213a 100644 --- a/mate-core/mate-starter-lock/pom.xml +++ b/mate-core/mate-starter-lock/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-log/pom.xml b/mate-core/mate-starter-log/pom.xml index 7da7e58fd858ded87c99807118f6dcc342365788..1d7d0a450be3f6b0765b8d465607c1b687835c2f 100644 --- a/mate-core/mate-starter-log/pom.xml +++ b/mate-core/mate-starter-log/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-mail/pom.xml b/mate-core/mate-starter-mail/pom.xml index b2b0a0bab46f1b7ba427d440e6cb831ed1da484b..735e3d53c279b29a2930fd876e556130fd1d4aa3 100644 --- a/mate-core/mate-starter-mail/pom.xml +++ b/mate-core/mate-starter-mail/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-mongodb/pom.xml b/mate-core/mate-starter-mongodb/pom.xml index 5cd0f28279812dca9d95cc8a71c9a3b9d0ef01df..55eedc8230474d8d6420c953949d0035ca129c0a 100644 --- a/mate-core/mate-starter-mongodb/pom.xml +++ b/mate-core/mate-starter-mongodb/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-mybatis/pom.xml b/mate-core/mate-starter-mybatis/pom.xml index 20d5cb453dbd5a2e6ce05b7e2532faf3c5484f68..de9aecccb2e41bafbf75efbcd2f8d16118d5e31e 100644 --- a/mate-core/mate-starter-mybatis/pom.xml +++ b/mate-core/mate-starter-mybatis/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-oss/pom.xml b/mate-core/mate-starter-oss/pom.xml index 3a2a8f1fbb727426e470c43d606fa44c1fdd1200..41ecefe2beab90728ae5ef45087eb75e90a7035a 100644 --- a/mate-core/mate-starter-oss/pom.xml +++ b/mate-core/mate-starter-oss/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-prometheus/pom.xml b/mate-core/mate-starter-prometheus/pom.xml index ecec9db41f78d265638d9f874d8381ca1a5a751c..2f1db33b75669cc9da1892133a1c45d7f22d9bcc 100644 --- a/mate-core/mate-starter-prometheus/pom.xml +++ b/mate-core/mate-starter-prometheus/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-rabbit/pom.xml b/mate-core/mate-starter-rabbit/pom.xml index 1bb77e9418177a55342ee7634d7c42661fdb6341..cd9eafceaa1d0d63de628ee3e83fb328eff5fe7c 100644 --- a/mate-core/mate-starter-rabbit/pom.xml +++ b/mate-core/mate-starter-rabbit/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-redis/pom.xml b/mate-core/mate-starter-redis/pom.xml index 72da9784301a23da5dc78a78461327755355c2e8..dc3523e4924fb624b4f1d1c482a9097d83ba8c76 100644 --- a/mate-core/mate-starter-redis/pom.xml +++ b/mate-core/mate-starter-redis/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-retrofit/pom.xml b/mate-core/mate-starter-retrofit/pom.xml index 70bc9bd84d949b690137de2bc48c4cb2bc3794f7..f594e6e93258d79f763e3c8b96af338af1f590e6 100644 --- a/mate-core/mate-starter-retrofit/pom.xml +++ b/mate-core/mate-starter-retrofit/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-rocketmq/pom.xml b/mate-core/mate-starter-rocketmq/pom.xml index c74c9ad3df58c1effb0376a5416e156351d6d4b3..f42b2f5d6f1db72fa52aa63d322840a7467db70c 100644 --- a/mate-core/mate-starter-rocketmq/pom.xml +++ b/mate-core/mate-starter-rocketmq/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-rule/pom.xml b/mate-core/mate-starter-rule/pom.xml index 4ab7fc1fac2ebf74f8de746a193661e3a58b6142..842a6f5f80f42ed34cd16c19c71ac511506bc743 100644 --- a/mate-core/mate-starter-rule/pom.xml +++ b/mate-core/mate-starter-rule/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-seata/pom.xml b/mate-core/mate-starter-seata/pom.xml index 2dcb5b549cb1471b333b83a4dadf5ce833b5f826..2fc5ab7a4373f84f52ec0ace01d6f582bc480f6e 100644 --- a/mate-core/mate-starter-seata/pom.xml +++ b/mate-core/mate-starter-seata/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-seata/src/main/java/vip/mate/core/seata/config/SeataConfiguration.java b/mate-core/mate-starter-seata/src/main/java/vip/mate/core/seata/config/SeataConfiguration.java index a8eb0a075df99445813e6f0c20cbb53a7f404a53..cbebad8134b929f64b99f540f715f1e7106d1438 100644 --- a/mate-core/mate-starter-seata/src/main/java/vip/mate/core/seata/config/SeataConfiguration.java +++ b/mate-core/mate-starter-seata/src/main/java/vip/mate/core/seata/config/SeataConfiguration.java @@ -8,7 +8,7 @@ import vip.mate.core.common.factory.YamlPropertySourceFactory; * Seata配置 * * @author pangu - * @since 2.0.8 + * @since 1.6.8 */ @Configuration @PropertySource(factory = YamlPropertySourceFactory.class, value = "classpath:mate-seata.yml") diff --git a/mate-core/mate-starter-security/pom.xml b/mate-core/mate-starter-security/pom.xml index 43f981a3d0ffcde77af91c709687058d66b07cd6..2adcf89a6405d750d9981c4732a924b697a256ec 100644 --- a/mate-core/mate-starter-security/pom.xml +++ b/mate-core/mate-starter-security/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-security/src/main/java/vip/mate/core/security/config/IgnoreUrlPropsConfiguration.java b/mate-core/mate-starter-security/src/main/java/vip/mate/core/security/config/IgnoreUrlPropsConfiguration.java index d02fb11270b89f9a30d2aaebdf9a75892adbebf9..db2523bda3b19949d7030b9cba08cb76b1d416e8 100644 --- a/mate-core/mate-starter-security/src/main/java/vip/mate/core/security/config/IgnoreUrlPropsConfiguration.java +++ b/mate-core/mate-starter-security/src/main/java/vip/mate/core/security/config/IgnoreUrlPropsConfiguration.java @@ -29,7 +29,7 @@ public class IgnoreUrlPropsConfiguration { "/oauth/token", "/login/*", "/actuator/**", - "/v3/api-docs", + "/v2/api-docs", "/doc.html", "/webjars/**", "**/favicon.ico", diff --git a/mate-core/mate-starter-sentinel/pom.xml b/mate-core/mate-starter-sentinel/pom.xml index c0a7b8fd627b6da3636d0705845106c0f2f3d60d..8f52b0ab6344cd33d8a5abdfcc235844848956da 100644 --- a/mate-core/mate-starter-sentinel/pom.xml +++ b/mate-core/mate-starter-sentinel/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-sharding/pom.xml b/mate-core/mate-starter-sharding/pom.xml index 79a290afc85df4d508511f51f3e78e3414cdc121..c0aa118077a0b96c4d60183486a35c5e8dd3bbd4 100644 --- a/mate-core/mate-starter-sharding/pom.xml +++ b/mate-core/mate-starter-sharding/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-sms/pom.xml b/mate-core/mate-starter-sms/pom.xml index 0a6d5f9db2c0bab6d4fc4b5d2c15827c42ca8e9f..d80ce4a4522dec13c996fd44b02e8676d9356a27 100644 --- a/mate-core/mate-starter-sms/pom.xml +++ b/mate-core/mate-starter-sms/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-strategy/pom.xml b/mate-core/mate-starter-strategy/pom.xml index 2542af6d04098744af13ed8fcaf0f4dca4ccb195..8100a5850555e25aafc7488fa4af34555d8e3809 100644 --- a/mate-core/mate-starter-strategy/pom.xml +++ b/mate-core/mate-starter-strategy/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-core/mate-starter-web/pom.xml b/mate-core/mate-starter-web/pom.xml index eef534b2310050eca5f4d1c1c5f0445713101832..5f9b28195e09fdd81e370354b940efa665806779 100644 --- a/mate-core/mate-starter-web/pom.xml +++ b/mate-core/mate-starter-web/pom.xml @@ -5,7 +5,7 @@ mate-core vip.mate - 2.0.8 + 2.1.8 4.0.0 @@ -52,9 +52,14 @@ com.fasterxml.jackson.datatype jackson-datatype-jsr310 + com.github.xiaoymin - knife4j-micro-spring-boot-starter + knife4j-spring-boot-starter + + + com.github.xiaoymin + knife4j-spring-ui org.apache.commons diff --git a/mate-core/mate-starter-web/src/main/java/vip/mate/core/web/config/SwaggerConfiguration.java b/mate-core/mate-starter-web/src/main/java/vip/mate/core/web/config/SwaggerConfiguration.java index 9eee62e33b934da4995fd6413ecb5cdf7554171d..ab445eba4cfe1e8aab8780f12eadfb697c522dd1 100644 --- a/mate-core/mate-starter-web/src/main/java/vip/mate/core/web/config/SwaggerConfiguration.java +++ b/mate-core/mate-starter-web/src/main/java/vip/mate/core/web/config/SwaggerConfiguration.java @@ -12,13 +12,13 @@ import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; -import springfox.documentation.oas.annotations.EnableOpenApi; import springfox.documentation.service.*; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spi.service.contexts.SecurityContext; import springfox.documentation.spring.web.paths.DefaultPathProvider; import springfox.documentation.spring.web.plugins.ApiSelectorBuilder; import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc; import vip.mate.core.common.constant.MateConstant; import vip.mate.core.common.factory.YamlPropertySourceFactory; import vip.mate.core.web.props.MateSwaggerProperties; @@ -39,7 +39,7 @@ import java.util.List; * 2020-7-5 */ @Configuration -@EnableOpenApi +@EnableSwagger2WebMvc @AllArgsConstructor @Profile({"!prod"}) @Import(BeanValidatorPluginsConfiguration.class) @@ -73,7 +73,7 @@ public class SwaggerConfiguration implements WebMvcConfigurer { @Bean(value = "userApi") public Docket createRestApi() { - ApiSelectorBuilder apiSelectorBuilder = new Docket(DocumentationType.OAS_30) + ApiSelectorBuilder apiSelectorBuilder = new Docket(DocumentationType.SWAGGER_2) // 用来创建该API的基本信息,展示在文档的页面中(自定义展示的信息) .apiInfo(groupApiInfo()) // 设置哪些接口暴露给Swagger展示 @@ -100,6 +100,7 @@ public class SwaggerConfiguration implements WebMvcConfigurer { registry.addResourceHandler("/js/**").addResourceLocations("classpath:/js/"); registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); + registry.addResourceHandler("/favicon.ico").addResourceLocations("classpath:/static/"); } private ApiInfo groupApiInfo() { @@ -116,11 +117,11 @@ public class SwaggerConfiguration implements WebMvcConfigurer { } - private List securitySchemes() { + private List securitySchemes() { List apiKeyList = new ArrayList<>(); apiKeyList.add(new ApiKey("Authorization", "Authorization", "header")); apiKeyList.add(new ApiKey("Mate-Auth", "Mate-Auth", "header")); - return Collections.unmodifiableList(apiKeyList); + return apiKeyList; } /** diff --git a/mate-core/mate-starter-web/src/main/java/vip/mate/core/web/listener/RequestMappingScanListener.java b/mate-core/mate-starter-web/src/main/java/vip/mate/core/web/listener/RequestMappingScanListener.java index 290a8e0106a4108ec281839890758a9ba2ea7b6b..4934d6b735f518f6c68fa0c8ad587b7f4711fe1a 100644 --- a/mate-core/mate-starter-web/src/main/java/vip/mate/core/web/listener/RequestMappingScanListener.java +++ b/mate-core/mate-starter-web/src/main/java/vip/mate/core/web/listener/RequestMappingScanListener.java @@ -47,7 +47,7 @@ public class RequestMappingScanListener implements ApplicationListenermate-core vip.mate - 2.0.8 + 2.1.8 pom mate-core based on Spring Cloud Alibaba microservice components @@ -71,7 +71,7 @@ - 2.0.8 + 2.1.8 2.9.2 1.5.21 1.9.4 diff --git a/mate-gateway/pom.xml b/mate-gateway/pom.xml index 15d6a8f6031797c262dd93107e7e7894edd1bd7c..56ddbda1b28d9ea5585fa1bff991f17e68128734 100644 --- a/mate-gateway/pom.xml +++ b/mate-gateway/pom.xml @@ -5,7 +5,7 @@ matecloud vip.mate - 2.0.8 + 2.1.8 4.0.0 @@ -54,17 +54,24 @@ org.springframework.boot spring-boot-starter-data-redis-reactive - - org.springframework.boot - spring-boot-starter-actuator + io.springfox + springfox-swagger2 + + + io.swagger + swagger-models + + - - org.projectlombok - lombok + io.swagger + swagger-models + + + com.github.xiaoymin + knife4j-spring-ui - org.springframework.boot spring-boot-starter-test diff --git a/mate-gateway/src/main/java/vip/mate/gateway/config/SwaggerResourceConfig.java b/mate-gateway/src/main/java/vip/mate/gateway/config/SwaggerResourceConfig.java index ee4b9216815c22a58ca7bf70cd40073988037cb5..00d121641e0c4ed0e13a95a61a80b6502dfeb180 100644 --- a/mate-gateway/src/main/java/vip/mate/gateway/config/SwaggerResourceConfig.java +++ b/mate-gateway/src/main/java/vip/mate/gateway/config/SwaggerResourceConfig.java @@ -10,6 +10,7 @@ import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Component; import springfox.documentation.swagger.web.SwaggerResource; import springfox.documentation.swagger.web.SwaggerResourcesProvider; +import vip.mate.core.common.constant.MateConstant; import java.util.ArrayList; import java.util.HashSet; @@ -30,7 +31,7 @@ public class SwaggerResourceConfig implements SwaggerResourcesProvider { /** * swagger2默认的url后缀 */ - private static final String SWAGGER3URL = "/v3/api-docs"; + private static final String SWAGGER2URL = "/v2/api-docs"; /** * 网关路由 @@ -66,14 +67,14 @@ public class SwaggerResourceConfig implements SwaggerResourcesProvider { // 记录已经添加过的server,存在同一个应用注册了多个服务在nacos上 Set repeated = new HashSet<>(); routeHosts.forEach(instance -> { - // 拼接url,样式为/serviceId/v3/api-info,当网关调用这个接口时,会自动通过负载均衡寻找对应的主机 - String url = "/" + instance + SWAGGER3URL; + // 拼接url,样式为/serviceId/v2/api-info,当网关调用这个接口时,会自动通过负载均衡寻找对应的主机 + String url = "/" + instance + SWAGGER2URL; if (!repeated.contains(url)) { repeated.add(url); SwaggerResource swaggerResource = new SwaggerResource(); swaggerResource.setUrl(url); swaggerResource.setName(instance); - swaggerResource.setSwaggerVersion("3.0.0"); + swaggerResource.setSwaggerVersion(MateConstant.MATE_APP_VERSION); resources.add(swaggerResource); } }); diff --git a/mate-gateway/src/main/java/vip/mate/gateway/handler/SwaggerHandler.java b/mate-gateway/src/main/java/vip/mate/gateway/handler/SwaggerHandler.java new file mode 100644 index 0000000000000000000000000000000000000000..1425c56cf9ebd05ec9238b464939ab349e595e62 --- /dev/null +++ b/mate-gateway/src/main/java/vip/mate/gateway/handler/SwaggerHandler.java @@ -0,0 +1,46 @@ +package vip.mate.gateway.handler; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; +import reactor.core.publisher.Mono; +import springfox.documentation.swagger.web.*; + +import java.util.Optional; + +@RestController +public class SwaggerHandler { + + @Autowired(required = false) + private SecurityConfiguration securityConfiguration; + + @Autowired(required = false) + private UiConfiguration uiConfiguration; + + private final SwaggerResourcesProvider swaggerResources; + + @Autowired + public SwaggerHandler(SwaggerResourcesProvider swaggerResources) { + this.swaggerResources = swaggerResources; + } + + + @GetMapping("/swagger-resources/configuration/security") + public Mono> securityConfiguration() { + return Mono.just(new ResponseEntity<>( + Optional.ofNullable(securityConfiguration).orElse(SecurityConfigurationBuilder.builder().build()), HttpStatus.OK)); + } + + @GetMapping("/swagger-resources/configuration/ui") + public Mono> uiConfiguration() { + return Mono.just(new ResponseEntity<>( + Optional.ofNullable(uiConfiguration).orElse(UiConfigurationBuilder.builder().build()), HttpStatus.OK)); + } + + @GetMapping("/swagger-resources") + public Mono swaggerResources() { + return Mono.just((new ResponseEntity<>(swaggerResources.get(), HttpStatus.OK))); + } +} diff --git a/mate-mq/mate-log-producer/pom.xml b/mate-mq/mate-log-producer/pom.xml index 879887e5ae599b6ecd7ea49c2dc0573edbbbe61b..cf72687ee574b95e9e9c3f1fb9d08b6baad8f7d0 100644 --- a/mate-mq/mate-log-producer/pom.xml +++ b/mate-mq/mate-log-producer/pom.xml @@ -5,7 +5,7 @@ mate-mq vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-mq/mate-message-consumer/pom.xml b/mate-mq/mate-message-consumer/pom.xml index da0821a410665b1e5cbd22c2e661e597b147667e..d57a340dfa345af2ce7987ebacccaa4ae2a9406d 100644 --- a/mate-mq/mate-message-consumer/pom.xml +++ b/mate-mq/mate-message-consumer/pom.xml @@ -5,7 +5,7 @@ mate-mq vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-mq/mate-message-producer/pom.xml b/mate-mq/mate-message-producer/pom.xml index 7822c334757b88f401a7435519713b58e9e6adb1..78e156d61239ddde14f4f7fa19ff92859385969d 100644 --- a/mate-mq/mate-message-producer/pom.xml +++ b/mate-mq/mate-message-producer/pom.xml @@ -5,7 +5,7 @@ mate-mq vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-mq/pom.xml b/mate-mq/pom.xml index 2e40712fd078831f5bf3604bef43a41f7341877f..7834cb5168285d31409e6469ea70412afdb1ece9 100644 --- a/mate-mq/pom.xml +++ b/mate-mq/pom.xml @@ -5,7 +5,7 @@ matecloud vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-platform/mate-component-api/pom.xml b/mate-platform/mate-component-api/pom.xml index 75d1a46dcf91ee5bb9a4e0d95037f3cf3c4ac21b..b593be669036332cdb342ea7c8f75914d3688ea3 100644 --- a/mate-platform/mate-component-api/pom.xml +++ b/mate-platform/mate-component-api/pom.xml @@ -5,7 +5,7 @@ mate-platform vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-platform/mate-component/pom.xml b/mate-platform/mate-component/pom.xml index 5341f48cc9c7d0fadf9f7068a18bbb17f8ee5029..da79392c7303d510af79708144e7ee5491636792 100644 --- a/mate-platform/mate-component/pom.xml +++ b/mate-platform/mate-component/pom.xml @@ -5,7 +5,7 @@ mate-platform vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-platform/mate-system-api/pom.xml b/mate-platform/mate-system-api/pom.xml index a6e8dba1db0b24179883b881c9c2e37cd3f82d17..e9bfa662af1e0f1704b3c80fb168550eafc3ce75 100644 --- a/mate-platform/mate-system-api/pom.xml +++ b/mate-platform/mate-system-api/pom.xml @@ -5,7 +5,7 @@ mate-platform vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-platform/mate-system-api/src/main/java/vip/mate/system/entity/MenuMeta.java b/mate-platform/mate-system-api/src/main/java/vip/mate/system/entity/MenuMeta.java index 2726057c09b4f7b9ce0ad05a8cab8a33ed0ec3ac..16b65a45e38f46cb95ce6b2e6e44a7356dc95cf2 100644 --- a/mate-platform/mate-system-api/src/main/java/vip/mate/system/entity/MenuMeta.java +++ b/mate-platform/mate-system-api/src/main/java/vip/mate/system/entity/MenuMeta.java @@ -4,12 +4,17 @@ import lombok.Data; import java.io.Serializable; +/** + * 菜单描述 + * + * @author pangu + */ @Data public class MenuMeta implements Serializable { - private static final long serialVersionUID = -1918771120674335058L; + private static final long serialVersionUID = -1918771120674335058L; - private String title; - private String icon; - private Boolean breadcrumb = true; + private String title; + private String icon; + private Boolean breadcrumb = true; } diff --git a/mate-platform/mate-system-api/src/main/java/vip/mate/system/entity/SysMenu.java b/mate-platform/mate-system-api/src/main/java/vip/mate/system/entity/SysMenu.java index 6fbceab8ad4f328d0b928650d18ec4f3b4121783..6ca5398f8934cefc0474e2605bd271cd61a42b21 100644 --- a/mate-platform/mate-system-api/src/main/java/vip/mate/system/entity/SysMenu.java +++ b/mate-platform/mate-system-api/src/main/java/vip/mate/system/entity/SysMenu.java @@ -65,6 +65,16 @@ public class SysMenu extends BaseEntity { */ @ApiModelProperty(value = "菜单类型") private String type; + /** + * 是否隐藏 + */ + @ApiModelProperty(value = "是否隐藏") + private String hidden; + /** + * 是否外链 + */ + @ApiModelProperty(value = "是否外链") + private String target; /** * 状态 */ diff --git a/mate-platform/mate-system-api/src/main/java/vip/mate/system/vo/SysMenuVO.java b/mate-platform/mate-system-api/src/main/java/vip/mate/system/vo/SysMenuVO.java index 59ef0413f0fc7e0f8bfadd2464fd35ffda1678b1..c9f86c347a51623ecc635bbebc3d8cd162e5dbf7 100644 --- a/mate-platform/mate-system-api/src/main/java/vip/mate/system/vo/SysMenuVO.java +++ b/mate-platform/mate-system-api/src/main/java/vip/mate/system/vo/SysMenuVO.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import vip.mate.system.entity.MenuMeta; -import vip.mate.system.entity.SysMenu; import java.io.Serializable; import java.util.List; @@ -73,15 +72,15 @@ public class SysMenuVO implements Serializable { private String component; - private Boolean hidden = false; + private Boolean hidden; private String redirect; - private Boolean alwaysShow = false; + private Boolean alwaysShow; - private String typeName; + private Boolean target; -// private String label; + private String typeName; public void addChildren(SysMenuVO tree) { this.children.add(tree); diff --git a/mate-platform/mate-system/pom.xml b/mate-platform/mate-system/pom.xml index 8bf3cc242b09acb44943bdf05cde3d630f5feee5..739568cc7c207f32b8cf2cab410ee2acb9577abc 100644 --- a/mate-platform/mate-system/pom.xml +++ b/mate-platform/mate-system/pom.xml @@ -5,7 +5,7 @@ mate-platform vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-platform/mate-system/src/main/java/vip/mate/system/util/TreeUtil.java b/mate-platform/mate-system/src/main/java/vip/mate/system/util/TreeUtil.java index 0d84dba973d2056002472d60e52f3146f9887704..53a55893bace0ac4c87a94228397fc8b59243ad2 100644 --- a/mate-platform/mate-system/src/main/java/vip/mate/system/util/TreeUtil.java +++ b/mate-platform/mate-system/src/main/java/vip/mate/system/util/TreeUtil.java @@ -9,65 +9,72 @@ import vip.mate.system.vo.SysMenuVO; import java.util.ArrayList; import java.util.List; +/** + * 树型工具类 + * + * @author pangu + */ public class TreeUtil { - /** - * 数组转树形结构 - * @param SysMenus - * @param root - * @return - */ - public static List list2Tree(List SysMenus, Long root){ - // 普通对象转树节点 - List sysMenuVOList = buildTree(SysMenus); - List trees = new ArrayList<>(); - for (SysMenuVO tree: sysMenuVOList) { - if(root.equals(tree.getParentId())) { - trees.add(tree); - } + /** + * 数组转树形结构 + * + * @param sysMenus 菜单列表 + * @param root 根节点 + * @return List + */ + public static List list2Tree(List sysMenus, Long root) { + // 普通对象转树节点 + List sysMenuVOList = buildTree(sysMenus); + List trees = new ArrayList<>(); + for (SysMenuVO tree : sysMenuVOList) { + if (root.equals(tree.getParentId())) { + trees.add(tree); + } - for (SysMenuVO t : sysMenuVOList) { - if (tree.getId().equals(t.getParentId())) { - if (tree.getChildren() == null) { - tree.setChildren(new ArrayList()); - } - tree.addChildren(t); - } - } - } - return trees; - } + for (SysMenuVO t : sysMenuVOList) { + if (tree.getId().equals(t.getParentId())) { + if (tree.getChildren() == null) { + tree.setChildren(new ArrayList()); + } + tree.addChildren(t); + } + } + } + return trees; + } - /** - * 对象转树节点 - * @param SysMenus - * @return - */ - public static List buildTree(List SysMenus){ - List trees = new ArrayList<>(); - SysMenus.forEach( sysMenu ->{ - SysMenuVO tree = new SysMenuVO(); - BeanUtils.copyProperties(sysMenu, tree); - MenuMeta meta = new MenuMeta(); - meta.setIcon(sysMenu.getIcon()); - meta.setTitle(sysMenu.getName()); - tree.setComponent(sysMenu.getPath()); - if (sysMenu.getParentId() == -1L) { - tree.setComponent("Layout"); - tree.setRedirect("noRedirect"); - tree.setAlwaysShow(true); - } -// tree.setLabel(sysMenu.getName()); - tree.setMeta(meta); - if (sysMenu.getType().equals("0")){ - tree.setTypeName(MenuTypeEnum.DIR.getMessage()); - } else if (sysMenu.getType().equals("1")) { - tree.setTypeName(MenuTypeEnum.MENU.getMessage()); - } else if (sysMenu.getType().equals("2")) { - tree.setTypeName(MenuTypeEnum.BUTTON.getMessage()); - } - trees.add(tree); - }); - return trees; - } + /** + * 对象转树节点 + * + * @param sysMenus 系统菜单 + * @return List + */ + public static List buildTree(List sysMenus) { + List trees = new ArrayList<>(); + sysMenus.forEach(sysMenu -> { + SysMenuVO tree = new SysMenuVO(); + BeanUtils.copyProperties(sysMenu, tree); + tree.setHidden("1".equals(sysMenu.getHidden())); + MenuMeta meta = new MenuMeta(); + meta.setIcon(sysMenu.getIcon()); + meta.setTitle(sysMenu.getName()); + tree.setComponent(sysMenu.getPath()); + if (sysMenu.getParentId() == -1L) { + tree.setComponent("Layout"); + tree.setRedirect("noRedirect"); + tree.setAlwaysShow(true); + } + tree.setMeta(meta); + if (MenuTypeEnum.DIR.getCode().equals(sysMenu.getType())) { + tree.setTypeName(MenuTypeEnum.DIR.getMessage()); + } else if (MenuTypeEnum.MENU.getCode().equals(sysMenu.getType())) { + tree.setTypeName(MenuTypeEnum.MENU.getMessage()); + } else if (MenuTypeEnum.BUTTON.getCode().equals(sysMenu.getType())) { + tree.setTypeName(MenuTypeEnum.BUTTON.getMessage()); + } + trees.add(tree); + }); + return trees; + } } diff --git a/mate-platform/mate-system/src/main/resources/application-dev.yml b/mate-platform/mate-system/src/main/resources/application-dev.yml index 582545dee744ec18f866c88ef1c83f44cb2e7506..b4cd6f30bef411abad8ad072571d666936526946 100644 --- a/mate-platform/mate-system/src/main/resources/application-dev.yml +++ b/mate-platform/mate-system/src/main/resources/application-dev.yml @@ -3,7 +3,7 @@ server: spring: application: name: ${artifactId} -#数据源配置 + #数据源配置 datasource: url: ${mate.datasource.url} username: ${mate.datasource.username} @@ -26,15 +26,32 @@ dubbo: # address: nacos://127.0.0.1:8848 #jetcach配置 +#jetcache: +# remote: +# default: +# type: redis.lettuce +# keyConvertor: fastjson +# uri: redis://${spring.redis.host}:${spring.redis.port}/ +# #uri: +# # - redis://127.0.0.1:7000 +# # - redis://127.0.0.1:7001 +# # - redis://127.0.0.1:7002 +# #readFrom: slavePreferred +# 修改为springdata模式 jetcache: + statIntervalMinutes: 1 #统计间隔分钟 + areaInCacheName: false + local: + default: #默认area + type: caffeine + keyConvertor: fastjson remote: default: - type: redis.lettuce + type: redis.springdata # type由 redis.lettuce 变为了redis.springdata keyConvertor: fastjson - uri: redis://${spring.redis.host}:${spring.redis.port}/ - #uri: - # - redis://127.0.0.1:7000 - # - redis://127.0.0.1:7001 - # - redis://127.0.0.1:7002 - #readFrom: slavePreferred + +## 配置日志显示在spring boot admin +logging: + file: + name: logs/app/mate-system/mate-system.log \ No newline at end of file diff --git a/mate-platform/mate-system/src/main/resources/application-local.yml b/mate-platform/mate-system/src/main/resources/application-local.yml index 6dd0d2d693538a9126170832ae8462df2795cfb3..1eb871cdc0e09ae32d2b88a788e39ffc97a27de7 100644 --- a/mate-platform/mate-system/src/main/resources/application-local.yml +++ b/mate-platform/mate-system/src/main/resources/application-local.yml @@ -26,17 +26,30 @@ dubbo: # address: nacos://127.0.0.1:8848 #jetcach配置 +#jetcache: +# remote: +# default: +# type: redis.lettuce +# keyConvertor: fastjson +# uri: redis://${spring.redis.host}:${spring.redis.port}/ +# #uri: +# # - redis://127.0.0.1:7000 +# # - redis://127.0.0.1:7001 +# # - redis://127.0.0.1:7002 +# #readFrom: slavePreferred +# 修改为springdata模式 jetcache: + statIntervalMinutes: 1 #统计间隔分钟 + areaInCacheName: false + local: + default: #默认area + type: caffeine + keyConvertor: fastjson remote: default: - type: redis.lettuce + type: redis.springdata # type由 redis.lettuce 变为了redis.springdata keyConvertor: fastjson - uri: redis://${spring.redis.host}:${spring.redis.port}/ - #uri: - # - redis://127.0.0.1:7000 - # - redis://127.0.0.1:7001 - # - redis://127.0.0.1:7002 - #readFrom: slavePreferred + ## 配置日志显示在spring boot admin logging: diff --git a/mate-platform/mate-system/src/main/resources/application-prod.yml b/mate-platform/mate-system/src/main/resources/application-prod.yml index 2831fe19446000ed6cff22368eff432d8d3a20c5..b4cd6f30bef411abad8ad072571d666936526946 100644 --- a/mate-platform/mate-system/src/main/resources/application-prod.yml +++ b/mate-platform/mate-system/src/main/resources/application-prod.yml @@ -26,14 +26,32 @@ dubbo: # address: nacos://127.0.0.1:8848 #jetcach配置 +#jetcache: +# remote: +# default: +# type: redis.lettuce +# keyConvertor: fastjson +# uri: redis://${spring.redis.host}:${spring.redis.port}/ +# #uri: +# # - redis://127.0.0.1:7000 +# # - redis://127.0.0.1:7001 +# # - redis://127.0.0.1:7002 +# #readFrom: slavePreferred +# 修改为springdata模式 jetcache: + statIntervalMinutes: 1 #统计间隔分钟 + areaInCacheName: false + local: + default: #默认area + type: caffeine + keyConvertor: fastjson remote: default: - type: redis.lettuce + type: redis.springdata # type由 redis.lettuce 变为了redis.springdata keyConvertor: fastjson - uri: redis://${spring.redis.host}:${spring.redis.port}/ - #uri: - # - redis://127.0.0.1:7000 - # - redis://127.0.0.1:7001 - # - redis://127.0.0.1:7002 - #readFrom: slavePreferred \ No newline at end of file + + +## 配置日志显示在spring boot admin +logging: + file: + name: logs/app/mate-system/mate-system.log \ No newline at end of file diff --git a/mate-platform/mate-system/src/main/resources/application-test.yml b/mate-platform/mate-system/src/main/resources/application-test.yml index 33a23dc91c6a1e5a4753cffe728c2128cdd176fe..b4cd6f30bef411abad8ad072571d666936526946 100644 --- a/mate-platform/mate-system/src/main/resources/application-test.yml +++ b/mate-platform/mate-system/src/main/resources/application-test.yml @@ -26,14 +26,32 @@ dubbo: # address: nacos://127.0.0.1:8848 #jetcach配置 +#jetcache: +# remote: +# default: +# type: redis.lettuce +# keyConvertor: fastjson +# uri: redis://${spring.redis.host}:${spring.redis.port}/ +# #uri: +# # - redis://127.0.0.1:7000 +# # - redis://127.0.0.1:7001 +# # - redis://127.0.0.1:7002 +# #readFrom: slavePreferred +# 修改为springdata模式 jetcache: + statIntervalMinutes: 1 #统计间隔分钟 + areaInCacheName: false + local: + default: #默认area + type: caffeine + keyConvertor: fastjson remote: default: - type: redis.lettuce + type: redis.springdata # type由 redis.lettuce 变为了redis.springdata keyConvertor: fastjson - uri: redis://${spring.redis.host}:${spring.redis.port}/ - #uri: - # - redis://127.0.0.1:7000 - # - redis://127.0.0.1:7001 - # - redis://127.0.0.1:7002 - #readFrom: slavePreferred + + +## 配置日志显示在spring boot admin +logging: + file: + name: logs/app/mate-system/mate-system.log \ No newline at end of file diff --git a/mate-platform/pom.xml b/mate-platform/pom.xml index 27f254463c292ba9f36976e1bec1d0193dced4fb..b873d68152c34c33ef3fd2e601a4b55dc023c127 100644 --- a/mate-platform/pom.xml +++ b/mate-platform/pom.xml @@ -5,7 +5,7 @@ matecloud vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-support/mate-admin/pom.xml b/mate-support/mate-admin/pom.xml index a53cf72cfc03a9c548623bb5fb38d817a0c5917c..3e8d5c6a7048bc88f883cab1c53c7768d4422354 100644 --- a/mate-support/mate-admin/pom.xml +++ b/mate-support/mate-admin/pom.xml @@ -5,7 +5,7 @@ mate-support vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-support/mate-code/pom.xml b/mate-support/mate-code/pom.xml index 2ac768c40952f9a5316b443ed3bd9e3b1800d61b..fa882928d9075f7456bd248128d2277122e46d24 100644 --- a/mate-support/mate-code/pom.xml +++ b/mate-support/mate-code/pom.xml @@ -5,7 +5,7 @@ mate-support vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-support/mate-job-admin/pom.xml b/mate-support/mate-job-admin/pom.xml index b038d886a547b28b0998ac2983f09ddbdfcb26c6..0dc2dad38f464b6cd3879b863a7650aae06f0c2b 100644 --- a/mate-support/mate-job-admin/pom.xml +++ b/mate-support/mate-job-admin/pom.xml @@ -5,7 +5,7 @@ mate-support vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-support/mate-job/pom.xml b/mate-support/mate-job/pom.xml index 75e43a3b20f5215c858c4a3ba3270903c5898f03..cfee5cc41b704740a7ee536bb1a70862a999d219 100644 --- a/mate-support/mate-job/pom.xml +++ b/mate-support/mate-job/pom.xml @@ -5,7 +5,7 @@ mate-support vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-support/pom.xml b/mate-support/pom.xml index 41c19e0552b1c64176c33d548cb9150af6bbb9f0..052cb8be1c6e2c0edb427b631aede7d8f1b158a0 100644 --- a/mate-support/pom.xml +++ b/mate-support/pom.xml @@ -5,7 +5,7 @@ matecloud vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/mate-uaa/pom.xml b/mate-uaa/pom.xml index 96b2d35a43114ebb8c013f2c3c763076524c44ca..0246e1907487038d70510cb69308982353d310be 100644 --- a/mate-uaa/pom.xml +++ b/mate-uaa/pom.xml @@ -5,7 +5,7 @@ matecloud vip.mate - 2.0.8 + 2.1.8 4.0.0 diff --git a/pom.xml b/pom.xml index 819525a2b8915751c0ec7c37de6ce8e3bff3b050..d96f7e6859862e85e36bc204f62a0facd7e7a3b1 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ vip.mate matecloud pom - 2.0.8 + 2.1.8 matecloud Mate Cloud - 基于Spring Cloud Alibaba实现的微服务架构 @@ -23,12 +23,12 @@ - 2.0.8 + 2.1.8 1.8 3.8.1 UTF-8 UTF-8 - 2.3.6.RELEASE + 2.3.7.RELEASE UTF-8 3.6.2