张旭锋 5 dní pred
rodič
commit
ece6b5284e
30 zmenil súbory, kde vykonal 527 pridanie a 2037 odobranie
  1. 0 7
      Dockerfile
  2. 0 20
      LICENSE
  3. 0 90
      README.md
  4. 0 5
      attachments/README.md
  5. 0 511
      attachments/db/MySQL/helio_boot.sql
  6. 0 12
      attachments/db/MySQL/upgrade/1.10.0_to_1.11.0.sql
  7. 0 48
      attachments/db/MySQL/upgrade/1.7.1_to_1.7.2.sql
  8. 0 9
      attachments/db/MySQL/upgrade/1.7.3_to_1.8.0.sql
  9. 0 35
      attachments/db/MySQL/upgrade/2.0.0_to_2.1.0.sql
  10. 0 2
      attachments/db/MySQL/upgrade/2.4.0_to_2.4.1.sql
  11. 0 989
      attachments/db/PostgreSQL/helio_boot.sql
  12. 0 10
      attachments/db/PostgreSQL/upgrade/1.10.0_to_1.11.0.sql
  13. 0 89
      attachments/db/PostgreSQL/upgrade/1.7.1_to_1.7.2.sql
  14. 0 21
      attachments/db/PostgreSQL/upgrade/1.7.3_to_1.8.0.sql
  15. 0 4
      attachments/db/PostgreSQL/upgrade/1.9.0_to_1.10.0.sql
  16. 0 64
      attachments/db/PostgreSQL/upgrade/2.0.0_to_2.1.0.sql
  17. 0 4
      attachments/db/PostgreSQL/upgrade/2.4.0_to_2.4.1.sql
  18. 0 3
      entrypoint.sh
  19. 72 16
      pom.xml
  20. 2 3
      src/main/java/cc/uncarbon/JtzxCrmSysApplication.java
  21. 38 0
      src/main/java/cc/uncarbon/config/AsyncVThreadConfiguration.java
  22. 24 0
      src/main/java/cc/uncarbon/config/CustomizationBean.java
  23. 53 0
      src/main/java/cc/uncarbon/config/RedisConfig.java
  24. 109 26
      src/main/resources/application-dev.yml
  25. 100 25
      src/main/resources/application-prod.yml
  26. 104 24
      src/main/resources/application-test.yml
  27. 15 11
      src/main/resources/application.yml
  28. 8 7
      src/main/resources/banner.txt
  29. 2 2
      src/test/java/cc/uncarbon/test/ExampleUnitTest.java
  30. 0 0
      多模块版请移步至helio-boot-modular项目.md

+ 0 - 7
Dockerfile

@@ -1,7 +0,0 @@
-# https://hub.docker.com/_/eclipse-temurin/tags
-FROM eclipse-temurin:17-jre
-COPY ./target/*.jar ./app.jar
-COPY entrypoint.sh /
-RUN chmod +x ./entrypoint.sh && \
-    ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone
-ENTRYPOINT ["./entrypoint.sh"]

+ 0 - 20
LICENSE

@@ -1,20 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2021 uncarbon97
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ 0 - 90
README.md

@@ -1,90 +0,0 @@
-# helio-boot
-
-## 项目介绍
-
-基于 Spring Boot 3.x,是一款预置SaaS、RBAC能力的单体项目脚手架,适合初学者学习 JavaWeb 开发的良好实践  
-单Maven模块,定位为快速开发脚手架  
-多模块版请移步至[helio-boot-modular](https://github.com/uncarbon97/helio-boot-modular)项目
-
-JDK compatibility: 17 - 21
-
-【[前端演示站](https://helio-demo.uncarbon.cc/)】
-【[官方文档](https://helio.uncarbon.cc/)】 
-【[主要技术栈依赖](https://helio.uncarbon.cc/#/i18n/zh-CN/helio-starters/dependencies)】
-【[快速启动步骤](https://helio.uncarbon.cc/#/i18n/zh-CN/helio-boot/quick-start)】
-【[更新记录](https://helio.uncarbon.cc/#/i18n/zh-CN/appendix/change-log)】
-【[编码良好实践](https://helio.uncarbon.cc/#/i18n/zh-CN/experience/good-practices)】
-
-需要先安装 `MySQL`、`Redis` 等必需中间件
-
-基础支撑构件 [helio-starters](https://github.com/uncarbon97/helio-starters) 已推送至Maven中央仓库,加载时会自动拉取
-
-## 配套代码生成器 & 后台管理前端模板 & 移动端模板
-| 项目名                   | 简介                                                                          | Gitee                                                       | GitHub                                                        |
-|-----------------------|-----------------------------------------------------------------------------|-------------------------------------------------------------|---------------------------------------------------------------|
-| helio-generator       | 可一键生成单体or微服务版的前、后端代码,减少无谓的重复劳动                                              | [Gitee](https://gitee.com/uncarbon97/helio-generator)       | [GitHub](https://github.com/uncarbon97/helio-generator)       |
-| helio-admin-vue-vben  | 基于[Vue vben admin](https://github.com/anncwb/vue-vben-admin) 改造适配的前端框架,开箱即用 | [Gitee](https://gitee.com/uncarbon97/helio-admin-vue-vben)  | [GitHub](https://github.com/uncarbon97/helio-admin-vue-vben)  |
-| helio-app-vue-unibest | 基于[unibest](https://github.com/feige996/unibest) 改造适配的移动端模板                 | [Gitee](https://gitee.com/uncarbon97/helio-app-vue-unibest) | [GitHub](https://github.com/uncarbon97/helio-app-vue-unibest) |
-
-## 源码包结构
-```
-├─attachments                  附件
-│  └─db                         数据库变更脚本
-│      ├─MySQL
-│      │  └─upgrade             Helio升级时MySQL变更脚本
-│      └─PostgreSQL
-│         └─upgrade             Helio升级时PostgreSQL变更脚本
-└─src
-    ├─main                      主要代码
-    │  ├─java
-    │  │  └─cc
-    │  │      └─uncarbon
-    │  │          ├─aspect       自定义切面
-    │  │          ├─config       配置类
-    │  │          ├─helper       助手类
-    │  │          ├─interceptor  Web拦截器
-    │  │          └─module       业务代码模块
-    │  │              ├─adminapi     admin-api,用于后台管理的HTTP-API
-    │  │              │  ├─constant  常量
-    │  │              │  ├─model     抽象模型
-    │  │              │  ├─util      静态工具类
-    │  │              │  └─web       即:Controller
-    │  │              │      ├─auth    登录登出接口
-    │  │              │      ├─common  常用通用接口
-    │  │              │      ├─oss     对象存储接口
-    │  │              │      └─sys     预置系统管理接口(如:后台用户、后台角色、后台菜单等)
-    │  │              ├─appapi       app-api,用于C端的HTTP-API【只是一个骨架,并没有业务实现】
-    │  │              │  ├─constant  常量
-    │  │              │  └─web       即:Controller
-    │  │              ├─bizcommon       biz-common,业务开发公共包
-    │  │              ├─oss          对象存储服务
-    │  │              │  ├─config    配置类
-    │  │              │  ├─constant  常量
-    │  │              │  ├─entity    实体
-    │  │              │  ├─enums     枚举
-    │  │              │  ├─facade    门面
-    │  │              │  │  └─impl   门面实现类
-    │  │              │  ├─mapper    Mybatis Mapper
-    │  │              │  ├─model     抽象模型
-    │  │              │  │  ├─request   用于请求的
-    │  │              │  │  └─response  用于响应的
-    │  │              │  └─service  服务类
-    │  │              └─sys          预置系统管理服务
-    │  │                  ├─annotation 自定义注解
-    │  │                  ├─constant   常量
-    │  │                  ├─entity     实体
-    │  │                  ├─enums      枚举
-    │  │                  ├─extension  自定义扩展
-    │  │                  │  └─impl    自定义扩展实现类
-    │  │                  ├─facade     门面
-    │  │                  │  └─impl    门面实现类
-    │  │                  ├─mapper     Mybatis Mapper
-    │  │                  │  └─xml     Mybatis Mapper XML
-    │  │                  ├─model      抽象模型
-    │  │                  │  ├─request  用于请求的
-    │  │                  │  └─response 用于响应的
-    │  │                  ├─service    服务类
-    │  │                  └─util       静态工具类
-    │  └─resources                资源,包含符合Spring Boot标准的YAML配置文件、Logback配置文件等
-    │      └─i18n                 国际化文案定义
-```

+ 0 - 5
attachments/README.md

@@ -1,5 +0,0 @@
-> ## [快速启动步骤](https://helio.uncarbon.cc/#/i18n/zh-CN/helio-boot/quick-start)
-
-1. 本目录存放的是 DB 预装数据表 schema,请根据自己的 DB 架构选择导入
-2. `upgrade`目录存放脚手架版本升级时的 DB 变更
-3. `helio_boot.sql`: 基础数据表,使用脚手架则必须导入

+ 0 - 511
attachments/db/MySQL/helio_boot.sql

@@ -1,511 +0,0 @@
-SET NAMES utf8mb4;
-SET
-FOREIGN_KEY_CHECKS = 0;
-
--- ----------------------------
--- Table structure for 数据表模板
--- ----------------------------
-DROP TABLE IF EXISTS `数据表模板`;
-CREATE TABLE `数据表模板`
-(
-    `id`         bigint(20) NOT NULL COMMENT '主键ID',
-    `tenant_id`  bigint(20) NULL DEFAULT NULL COMMENT '租户ID',
-    `revision`   bigint(20) NOT NULL DEFAULT 1 COMMENT '乐观锁',
-    `del_flag`   tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '逻辑删除标识',
-    `created_at` datetime NOT NULL COMMENT '创建时刻',
-    `created_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
-    `updated_at` datetime NOT NULL COMMENT '更新时刻',
-    `updated_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据表注释';
-
--- ----------------------------
--- Records of 数据表模板
--- ----------------------------
-BEGIN;
-COMMIT;
-
--- ----------------------------
--- Table structure for sys_data_dict_classified & sys_data_dict_item
--- ----------------------------
-CREATE TABLE `sys_data_dict_classified`  (
-  `id` bigint(20) NOT NULL COMMENT '主键ID',
-  `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户ID',
-  `revision` bigint(20) NOT NULL DEFAULT 1 COMMENT '乐观锁',
-  `del_flag` tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '逻辑删除标识',
-  `created_at` datetime NOT NULL COMMENT '创建时刻',
-  `created_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
-  `updated_at` datetime NOT NULL COMMENT '更新时刻',
-  `updated_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
-  `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分类编码',
-  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分类名称',
-  `status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '状态',
-  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '分类描述',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据字典分类' ROW_FORMAT = Dynamic;
-
-CREATE TABLE `sys_data_dict_item`  (
-  `id` bigint(20) NOT NULL COMMENT '主键ID',
-  `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户ID',
-  `revision` bigint(20) NOT NULL DEFAULT 1 COMMENT '乐观锁',
-  `del_flag` tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '逻辑删除标识',
-  `created_at` datetime NOT NULL COMMENT '创建时刻',
-  `created_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
-  `updated_at` datetime NOT NULL COMMENT '更新时刻',
-  `updated_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
-  `classified_id` bigint(20) NOT NULL COMMENT '所属分类ID',
-  `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典项编码',
-  `label` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典项标签',
-  `value` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典项值',
-  `status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '状态',
-  `sort` int(11) NOT NULL DEFAULT 1 COMMENT '排序',
-  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '描述',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据字典项' ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Table structure for sys_dept
--- ----------------------------
-DROP TABLE IF EXISTS `sys_dept`;
-CREATE TABLE `sys_dept`
-(
-    `id`         bigint(20) NOT NULL COMMENT '主键ID',
-    `tenant_id`  bigint(20) NULL DEFAULT NULL COMMENT '租户ID',
-    `revision`   bigint(20) NOT NULL DEFAULT 1 COMMENT '乐观锁',
-    `del_flag`   tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '逻辑删除标识',
-    `created_at` datetime                                                     NOT NULL COMMENT '创建时刻',
-    `created_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
-    `updated_at` datetime                                                     NOT NULL COMMENT '更新时刻',
-    `updated_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
-    `title`      varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称',
-    `parent_id`  bigint(20) NOT NULL DEFAULT 0 COMMENT '上级ID(根节点设置为0)',
-    `sort`       int(11) NOT NULL DEFAULT 1 COMMENT '排序',
-    `status`     int(11) NOT NULL DEFAULT 0 COMMENT '状态(0=禁用 1=启用)',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '部门';
-
--- ----------------------------
--- Records of sys_dept
--- ----------------------------
-BEGIN;
-COMMIT;
-
--- ----------------------------
--- Table structure for sys_log
--- ----------------------------
-DROP TABLE IF EXISTS `sys_log`;
-CREATE TABLE `sys_log`
-(
-    `id`         bigint(20) NOT NULL COMMENT '主键ID',
-    `tenant_id`  bigint(20) NULL DEFAULT NULL COMMENT '租户ID',
-    `revision`   bigint(20) NOT NULL DEFAULT 1 COMMENT '乐观锁',
-    `del_flag`   tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '逻辑删除标识',
-    `created_at` datetime NOT NULL COMMENT '创建时刻',
-    `created_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
-    `updated_at` datetime NOT NULL COMMENT '更新时刻',
-    `updated_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
-    `user_id`    bigint(20) NULL DEFAULT NULL COMMENT '用户ID',
-    `username`   varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户账号',
-    `operation`  varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作内容',
-    `method`     varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方法',
-    `params`     text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '请求参数',
-    `ip`         varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'IP地址',
-    `status`     int(11) NOT NULL DEFAULT 0 COMMENT '状态(参考SysLogStatusEnum)',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '后台操作日志';
-
--- ----------------------------
--- Records of sys_log
--- ----------------------------
-BEGIN;
-COMMIT;
-
--- ----------------------------
--- Table structure for sys_menu
--- ----------------------------
-DROP TABLE IF EXISTS `sys_menu`;
-CREATE TABLE `sys_menu`
-(
-    `id`            bigint(20) NOT NULL COMMENT '主键ID',
-    `tenant_id`     bigint(20) NULL DEFAULT NULL COMMENT '租户ID',
-    `revision`      bigint(20) NOT NULL DEFAULT 1 COMMENT '乐观锁',
-    `del_flag`      tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '逻辑删除标识',
-    `created_at`    datetime                                                      NOT NULL COMMENT '创建时刻',
-    `created_by`    varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
-    `updated_at`    datetime                                                      NOT NULL COMMENT '更新时刻',
-    `updated_by`    varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
-    `title`         varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci  NOT NULL COMMENT '名称',
-    `parent_id`     bigint(20) NOT NULL DEFAULT 0 COMMENT '上级菜单ID(根节点设置为0)',
-    `type`          int(11) NOT NULL DEFAULT 1 COMMENT '菜单类型(参考MenuTypeEnum)',
-    `permission`    varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '权限标识',
-    `icon`          varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图标',
-    `sort`          int(11) NULL DEFAULT 1 COMMENT '排序',
-    `status`        int(11) NOT NULL DEFAULT 0 COMMENT '状态(0=禁用 1=启用)',
-    `component`     varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件',
-    `external_link` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '外链地址',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '后台菜单';
-
--- ----------------------------
--- Records of sys_menu
--- ----------------------------
-BEGIN;
-INSERT INTO `sys_menu`
-VALUES (1, 0, 1, 0, '2021-06-01 17:16:48', NULL, '2021-06-02 17:14:16', NULL, '系统管理', 0, 0, 'Sys',
-        'ant-design:setting-outlined', 3, 1, 'LAYOUT', ''),
-       (2, 0, 1, 0, '2021-06-01 17:13:13', NULL, '2021-07-18 00:10:33', 'admin', '中控台', 0, 0, 'Dashboard',
-        'ant-design:appstore-outlined', 1, 1, 'LAYOUT', ''),
-       (3, 0, 1, 0, '2021-06-01 17:14:22', NULL, '2021-06-02 11:24:38', NULL, '分析页(后台登录后默认首页)', 2, 1,
-        'Dashboard:analysis', 'ant-design:fund-outlined', 1, 1, '/dashboard/analysis/index', ''),
-       (4, 0, 1, 0, '2021-06-01 17:14:47', NULL, '2021-06-02 11:32:23', NULL, '工作台', 2, 1, 'Dashboard:workbench',
-        'ant-design:database-outlined', 2, 1, '/dashboard/workbench/index', ''),
-       (5, 0, 1, 0, '2021-06-01 17:15:38', NULL, '2021-07-15 23:56:43', 'admin', '关于', 0, 1, 'About',
-        'ant-design:eye-outlined', 2, 1, '/sys/about/index', ''),
-       (6, 0, 1, 0, '2021-06-02 16:06:58', NULL, '2021-07-17 23:55:52', 'admin', '学(mo)习(yu)', 2, 3, '',
-        'ant-design:zhihu-outlined', 3, 1, 'https://www.zhihu.com/', 'https://www.zhihu.com/'),
-       (7, 0, 1, 0, '2021-07-17 23:32:15', NULL, '2021-07-17 23:32:15', NULL, '部门管理', 1, 1, 'SysDept',
-        'ant-design:flag-outlined', 1, 1, '/sys/SysDept/index', ''),
-       (8, 0, 1, 0, '2021-07-17 23:32:15', NULL, '2021-07-17 23:32:15', NULL, '查询', 7, 2, 'SysDept:retrieve', NULL, 1,
-        1, NULL, ''),
-       (9, 0, 1, 0, '2021-07-17 23:32:15', NULL, '2021-07-17 23:32:15', NULL, '新增', 7, 2, 'SysDept:create', NULL, 2, 1,
-        NULL, ''),
-       (10, 0, 1, 0, '2021-07-17 23:32:15', NULL, '2021-07-17 23:32:15', NULL, '删除', 7, 2, 'SysDept:delete', NULL, 3, 1,
-        NULL, ''),
-       (11, 0, 1, 0, '2021-07-17 23:32:16', NULL, '2021-07-17 23:32:16', NULL, '编辑', 7, 2, 'SysDept:update', NULL, 4, 1,
-        NULL, ''),
-       (12, 0, 1, 0, '2021-07-17 23:32:16', NULL, '2021-07-17 23:32:16', NULL, '角色管理', 1, 1, 'SysRole',
-        'ant-design:usergroup-add-outlined', 2, 1, '/sys/SysRole/index', ''),
-       (13, 0, 1, 0, '2021-07-17 23:32:16', NULL, '2021-07-17 23:32:16', NULL, '查询', 12, 2, 'SysRole:retrieve', NULL, 1,
-        1, NULL, ''),
-       (14, 0, 1, 0, '2021-07-17 23:32:16', NULL, '2021-07-17 23:32:16', NULL, '新增', 12, 2, 'SysRole:create', NULL, 2,
-        1, NULL, ''),
-       (15, 0, 1, 0, '2021-07-17 23:32:16', NULL, '2021-07-17 23:32:16', NULL, '删除', 12, 2, 'SysRole:delete', NULL, 3,
-        1, NULL, ''),
-       (16, 0, 1, 0, '2021-07-17 23:32:16', NULL, '2021-07-17 23:32:16', NULL, '编辑', 12, 2, 'SysRole:update', NULL, 4,
-        1, NULL, ''),
-       (17, 0, 1, 0, '2021-07-17 23:32:17', NULL, '2021-07-17 23:32:17', NULL, '后台用户', 1, 1, 'SysUser',
-        'ant-design:user-outlined', 3, 1, '/sys/SysUser/index', ''),
-       (18, 0, 1, 0, '2021-07-17 23:32:17', NULL, '2021-07-17 23:32:17', NULL, '查询', 17, 2, 'SysUser:retrieve', NULL, 1,
-        1, NULL, ''),
-       (19, 0, 1, 0, '2021-07-17 23:32:17', NULL, '2021-07-17 23:32:17', NULL, '新增', 17, 2, 'SysUser:create', NULL, 2,
-        1, NULL, ''),
-       (20, 0, 1, 0, '2021-07-17 23:32:17', NULL, '2021-07-17 23:32:17', NULL, '删除', 17, 2, 'SysUser:delete', NULL, 3,
-        1, NULL, ''),
-       (21, 0, 1, 0, '2021-07-17 23:32:17', NULL, '2021-07-17 23:32:17', NULL, '编辑', 17, 2, 'SysUser:update', NULL, 4,
-        1, NULL, ''),
-       (22, 0, 1, 0, '2021-07-17 23:32:18', NULL, '2021-07-17 23:32:18', NULL, '菜单管理', 1, 1, 'SysMenu',
-        'ant-design:align-left-outlined', 4, 1, '/sys/SysMenu/index', ''),
-       (23, 0, 1, 0, '2021-07-17 23:32:18', NULL, '2021-07-17 23:32:18', NULL, '查询', 22, 2, 'SysMenu:retrieve', NULL, 1,
-        1, NULL, ''),
-       (24, 0, 1, 0, '2021-07-17 23:32:18', NULL, '2021-07-17 23:32:18', NULL, '新增', 22, 2, 'SysMenu:create', NULL, 2,
-        1, NULL, ''),
-       (25, 0, 1, 0, '2021-07-17 23:32:18', NULL, '2021-07-17 23:32:18', NULL, '删除', 22, 2, 'SysMenu:delete', NULL, 3,
-        1, NULL, ''),
-       (26, 0, 1, 0, '2021-07-17 23:32:18', NULL, '2021-07-17 23:32:18', NULL, '编辑', 22, 2, 'SysMenu:update', NULL, 4,
-        1, NULL, ''),
-       (27, 0, 1, 0, '2021-07-17 23:32:18', NULL, '2021-07-17 23:32:18', NULL, '参数管理', 1, 1, 'SysParam',
-        'ant-design:ant-design-outlined', 5, 1, '/sys/SysParam/index', ''),
-       (28, 0, 1, 0, '2021-07-17 23:32:19', NULL, '2021-07-17 23:32:19', NULL, '查询', 27, 2, 'SysParam:retrieve', NULL,
-        1, 1, NULL, ''),
-       (29, 0, 1, 0, '2021-07-17 23:32:19', NULL, '2021-07-17 23:32:19', NULL, '新增', 27, 2, 'SysParam:create', NULL, 2,
-        1, NULL, ''),
-       (30, 0, 1, 0, '2021-07-17 23:32:19', NULL, '2021-07-17 23:32:19', NULL, '删除', 27, 2, 'SysParam:delete', NULL, 3,
-        1, NULL, ''),
-       (31, 0, 1, 0, '2021-07-17 23:32:19', NULL, '2021-07-17 23:32:19', NULL, '编辑', 27, 2, 'SysParam:update', NULL, 4,
-        1, NULL, ''),
-       (32, 0, 1, 0, '2021-07-17 23:32:19', NULL, '2021-07-17 23:32:19', NULL, '租户管理', 1, 1, 'SysTenant',
-        'ant-design:aliyun-outlined', 6, 1, '/sys/SysTenant/index', ''),
-       (33, 0, 1, 0, '2021-07-17 23:32:19', NULL, '2021-07-17 23:32:19', NULL, '查询', 32, 2, 'SysTenant:retrieve', NULL,
-        1, 1, NULL, ''),
-       (34, 0, 1, 0, '2021-07-17 23:32:20', NULL, '2021-07-17 23:32:20', NULL, '新增', 32, 2, 'SysTenant:create', NULL, 2,
-        1, NULL, ''),
-       (35, 0, 1, 0, '2021-07-17 23:32:20', NULL, '2021-07-17 23:32:20', NULL, '删除', 32, 2, 'SysTenant:delete', NULL, 3,
-        1, NULL, ''),
-       (36, 0, 1, 0, '2021-07-17 23:32:20', NULL, '2021-07-17 23:32:20', NULL, '编辑', 32, 2, 'SysTenant:update', NULL, 4,
-        1, NULL, ''),
-       (37, 0, 1, 0, '2021-07-17 23:32:20', NULL, '2021-07-17 23:32:20', NULL, '数据字典', 1, 1, 'SysDataDict',
-        'ant-design:field-string-outlined', 7, 1, '/sys/SysDataDict/index', ''),
-       (38, 0, 1, 0, '2021-07-17 23:32:20', NULL, '2021-07-17 23:32:20', NULL, '查询', 37, 2, 'SysDataDict:retrieve',
-        NULL, 1, 1, NULL, ''),
-       (39, 0, 1, 0, '2021-07-17 23:32:21', NULL, '2021-07-17 23:32:21', NULL, '新增', 37, 2, 'SysDataDict:create', NULL,
-        2, 1, NULL, ''),
-       (40, 0, 1, 0, '2021-07-17 23:32:21', NULL, '2021-07-17 23:32:21', NULL, '删除', 37, 2, 'SysDataDict:delete', NULL,
-        3, 1, NULL, ''),
-       (41, 0, 1, 0, '2021-07-17 23:32:21', NULL, '2021-07-17 23:32:21', NULL, '编辑', 37, 2, 'SysDataDict:update', NULL,
-        4, 1, NULL, ''),
-       (42, 0, 1, 0, '2021-07-17 23:32:21', NULL, '2021-07-17 23:32:21', NULL, '系统日志', 1, 1, 'SysLog',
-        'ant-design:edit-twotone', 8, 1, '/sys/SysLog/index', ''),
-       (43, 0, 1, 0, '2021-07-17 23:32:21', NULL, '2021-07-17 23:32:21', NULL, '查询', 42, 2, 'SysLog:retrieve', NULL, 1,
-        1, NULL, ''),
-       (44, 0, 1, 0, '2021-07-17 23:37:26', 'admin', '2021-07-17 23:38:28', 'admin', '修改当前用户密码', 1, 1, '',
-        'ant-design:compass-outlined', 9, 1, '/sys/SysUser/change-password/index', ''),
-       (45, 0, 1, 0, '2021-07-17 23:39:41', 'admin', '2021-07-17 23:39:41', 'admin', '重置某用户密码', 17, 2,
-        'SysUser:resetPassword', 'ant-design:redo-outlined', 5, 1, NULL, ''),
-       (46, 0, 1, 0, '2021-07-17 23:40:26', 'admin', '2021-07-17 23:40:26', 'admin', '绑定用户与角色关联关系', 17, 2,
-        'SysUser:bindRoles', 'ant-design:share-alt-outlined', 6, 1, NULL, ''),
-       (47, 0, 1, 0, '2021-07-17 23:40:47', 'admin', '2021-07-17 23:41:15', 'admin', '踢某用户下线', 17, 2, 'SysUser:kickOut',
-        'ant-design:disconnect-outlined', 7, 1, 'LAYOUT', ''),
-       (48, 0, 1, 0, '2022-06-29 17:35:26', 'admin', '2022-06-29 17:35:26', 'admin', '绑定角色与菜单关联关系', 12, 2, 'SysRole:bindMenus',
-        'ant-design:share-alt-outlined', 5, 1, NULL, '');
-COMMIT;
-
--- ----------------------------
--- Table structure for sys_param
--- ----------------------------
-DROP TABLE IF EXISTS `sys_param`;
-CREATE TABLE `sys_param`
-(
-    `id`          bigint(20) NOT NULL COMMENT '主键ID',
-    `tenant_id`   bigint(20) NULL DEFAULT NULL COMMENT '租户ID',
-    `revision`    bigint(20) NOT NULL DEFAULT 1 COMMENT '乐观锁',
-    `del_flag`    tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '逻辑删除标识',
-    `created_at`  datetime                                                      NOT NULL COMMENT '创建时刻',
-    `created_by`  varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
-    `updated_at`  datetime                                                      NOT NULL COMMENT '更新时刻',
-    `updated_by`  varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
-    `name`        varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci  NOT NULL COMMENT '键名',
-    `value`       varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '键值',
-    `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '描述',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统参数';
-
--- ----------------------------
--- Records of sys_param
--- ----------------------------
-BEGIN;
-COMMIT;
-
--- ----------------------------
--- Table structure for sys_role
--- ----------------------------
-DROP TABLE IF EXISTS `sys_role`;
-CREATE TABLE `sys_role`
-(
-    `id`         bigint(20) NOT NULL COMMENT '主键ID',
-    `tenant_id`  bigint(20) NULL DEFAULT NULL COMMENT '租户ID',
-    `revision`   bigint(20) NOT NULL DEFAULT 1 COMMENT '乐观锁',
-    `del_flag`   tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '逻辑删除标识',
-    `created_at` datetime                                                      NOT NULL COMMENT '创建时刻',
-    `created_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
-    `updated_at` datetime                                                      NOT NULL COMMENT '更新时刻',
-    `updated_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
-    `title`      varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci  NOT NULL COMMENT '名称',
-    `value`      varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '值',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '后台角色';
-
--- ----------------------------
--- Records of sys_role
--- ----------------------------
-BEGIN;
-INSERT INTO `sys_role`
-VALUES (1, 0, 1, 0, '2021-04-17 02:34:30', NULL, '2021-06-07 16:22:28', 'admin', '超级管理员(代码中固定拥有所有菜单的权限)', 'SuperAdmin');
-COMMIT;
-
--- ----------------------------
--- Table structure for sys_role_menu_relation
--- ----------------------------
-DROP TABLE IF EXISTS `sys_role_menu_relation`;
-CREATE TABLE `sys_role_menu_relation`
-(
-    `id`         bigint(20) NOT NULL COMMENT '主键ID',
-    `tenant_id`  bigint(20) NULL DEFAULT NULL COMMENT '租户ID',
-    `revision`   bigint(20) NOT NULL DEFAULT 1 COMMENT '乐观锁',
-    `del_flag`   tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '逻辑删除标识',
-    `created_at` datetime NOT NULL COMMENT '创建时刻',
-    `created_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
-    `updated_at` datetime NOT NULL COMMENT '更新时刻',
-    `updated_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
-    `role_id`    bigint(20) NOT NULL COMMENT '角色ID',
-    `menu_id`    bigint(20) NOT NULL COMMENT '菜单ID',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '后台角色-可见菜单关联';
-
--- ----------------------------
--- Records of sys_role_menu_relation
--- ----------------------------
-BEGIN;
-COMMIT;
-
--- ----------------------------
--- Table structure for sys_tenant
--- ----------------------------
-DROP TABLE IF EXISTS `sys_tenant`;
-CREATE TABLE `sys_tenant`
-(
-    `id`                   bigint(20) NOT NULL COMMENT '主键ID',
-    `revision`             bigint(20) NOT NULL DEFAULT 1 COMMENT '乐观锁',
-    `del_flag`             tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '逻辑删除标识',
-    `created_at`           datetime                                                     NOT NULL COMMENT '创建时刻',
-    `created_by`           varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
-    `updated_at`           datetime                                                     NOT NULL COMMENT '更新时刻',
-    `updated_by`           varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
-    `remark`               varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
-    `tenant_name`          varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '租户名',
-    `tenant_id`            bigint(20) NULL DEFAULT NULL COMMENT '租户ID',
-    `status`               int(11) NOT NULL DEFAULT 0 COMMENT '状态(0=禁用 1=启用)',
-    `tenant_admin_user_id` bigint(20) NULL DEFAULT NULL COMMENT '租户管理员用户ID',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统租户';
-
--- ----------------------------
--- Records of sys_tenant
--- ----------------------------
-BEGIN;
-INSERT INTO `sys_tenant`
-VALUES (1, 1, 0, '2021-05-11 16:06:47', '', '2021-06-10 16:29:32', 'admin', '可无视SQL拦截器', '超级租户', 0, 1, 1);
-COMMIT;
-
--- ----------------------------
--- Table structure for sys_user
--- ----------------------------
-DROP TABLE IF EXISTS `sys_user`;
-CREATE TABLE `sys_user`
-(
-    `id`            bigint(20) NOT NULL COMMENT '主键ID',
-    `tenant_id`     bigint(20) NULL DEFAULT NULL COMMENT '租户ID',
-    `revision`      bigint(20) NOT NULL DEFAULT 1 COMMENT '乐观锁',
-    `del_flag`      tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '逻辑删除标识',
-    `created_at`    datetime                                                      NOT NULL COMMENT '创建时刻',
-    `created_by`    varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
-    `updated_at`    datetime                                                      NOT NULL COMMENT '更新时刻',
-    `updated_by`    varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
-    `pin`           varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci  NOT NULL COMMENT '账号',
-    `pwd`           varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
-    `salt`          varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci  NOT NULL COMMENT '盐',
-    `nickname`      varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci  NOT NULL DEFAULT '' COMMENT '昵称',
-    `status`        int(11) NOT NULL DEFAULT 0 COMMENT '状态(0=禁用 1=启用)',
-    `gender`        int(11) NULL DEFAULT 0 COMMENT '性别',
-    `email`         varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '邮箱',
-    `phone_no`      varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号',
-    `last_login_at` datetime NULL DEFAULT NULL COMMENT '最后登录时刻',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '后台用户';
-
--- ----------------------------
--- Records of sys_user
--- ----------------------------
-BEGIN;
-INSERT INTO `sys_user`
-VALUES (1, 0, 1, 0, '2021-04-06 09:56:02', NULL, '2021-06-28 16:37:07', 'admin', 'admin',
-        'b7f6692251833658a56ff2d09e9835b91384d203721bf27a544586d3c9a379ff', '6a8e9339-dfd1-4cfe-80cb-30ca9fc3d81e',
-        '超级管理员', 1, 0, 'admin@example.com', '17874585544', '2021-07-18 00:32:08');
-COMMIT;
-
--- ----------------------------
--- Table structure for sys_user_dept_relation
--- ----------------------------
-DROP TABLE IF EXISTS `sys_user_dept_relation`;
-CREATE TABLE `sys_user_dept_relation`
-(
-    `id`         bigint(20) NOT NULL COMMENT '主键ID',
-    `tenant_id`  bigint(20) NULL DEFAULT NULL COMMENT '租户ID',
-    `revision`   bigint(20) NOT NULL DEFAULT 1 COMMENT '乐观锁',
-    `del_flag`   tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '逻辑删除标识',
-    `created_at` datetime NOT NULL COMMENT '创建时刻',
-    `created_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
-    `updated_at` datetime NOT NULL COMMENT '更新时刻',
-    `updated_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
-    `user_id`    bigint(20) NOT NULL COMMENT '用户ID',
-    `dept_id`    bigint(20) NOT NULL COMMENT '部门ID',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '后台用户-部门关联';
-
--- ----------------------------
--- Records of sys_user_dept_relation
--- ----------------------------
-BEGIN;
-COMMIT;
-
--- ----------------------------
--- Table structure for sys_user_role_relation
--- ----------------------------
-DROP TABLE IF EXISTS `sys_user_role_relation`;
-CREATE TABLE `sys_user_role_relation`
-(
-    `id`         bigint(20) NOT NULL COMMENT '主键ID',
-    `tenant_id`  bigint(20) NULL DEFAULT NULL COMMENT '租户ID',
-    `revision`   bigint(20) NOT NULL DEFAULT 1 COMMENT '乐观锁',
-    `del_flag`   tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '逻辑删除标识',
-    `created_at` datetime NOT NULL COMMENT '创建时刻',
-    `created_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
-    `updated_at` datetime NOT NULL COMMENT '更新时刻',
-    `updated_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
-    `user_id`    bigint(20) NOT NULL COMMENT '用户ID',
-    `role_id`    bigint(20) NOT NULL COMMENT '角色ID',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '后台用户-角色关联';
-
--- ----------------------------
--- Records of sys_user_role_relation
--- ----------------------------
-BEGIN;
-INSERT INTO `sys_user_role_relation`
-VALUES (1, 0, 1, 0, '2021-01-01 18:22:12', NULL, '2021-01-01 18:22:12', NULL, 1, 1);
-COMMIT;
-
-SET
-FOREIGN_KEY_CHECKS = 1;
-
-
--- v1.7.2 - Uncarbon - 默认内置文件上传功能
--- 建表 oss_file_info
-DROP TABLE IF EXISTS `oss_file_info`;
-CREATE TABLE `oss_file_info`
-(
-    `id`                bigint(20) NOT NULL COMMENT '主键ID',
-    `tenant_id`         bigint(20) NULL DEFAULT NULL COMMENT '租户ID',
-    `revision`          bigint(20) NOT NULL DEFAULT 1 COMMENT '乐观锁',
-    `del_flag`          tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '逻辑删除标识',
-    `created_at`        datetime(0) NOT NULL COMMENT '创建时刻',
-    `created_by`        varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
-    `updated_at`        datetime(0) NOT NULL COMMENT '更新时刻',
-    `updated_by`        varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
-    `storage_platform`  varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci  NOT NULL COMMENT '存储平台',
-    `storage_base_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '基础存储路径',
-    `storage_path`      varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储路径',
-    `storage_filename`  varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储文件名',
-    `original_filename` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '原始文件名',
-    `extend_name`       varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci  NOT NULL COMMENT '扩展名',
-    `file_size`         bigint(20) NOT NULL COMMENT '文件大小',
-    `md5`               varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci  NOT NULL COMMENT 'MD5',
-    `classified`        varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件类别',
-    `direct_url`        varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对象存储直链',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '上传文件信息' ROW_FORMAT = Dynamic;
-
--- v1.7.2 - Uncarbon - 新增上传文件信息后台管理菜单
-INSERT INTO `sys_menu` (`id`, `tenant_id`, `revision`, `del_flag`, `created_at`, `created_by`, `updated_at`,
-                        `updated_by`, `title`, `parent_id`, `type`, `permission`, `icon`, `sort`, `status`, `component`,
-                        `external_link`)
-VALUES (20220922152710, NULL, 1, 0, '2022-12-25 23:09:30', 'admin', '2022-12-26 22:02:31', 'admin', '文件管理', 0, 0,
-        'Oss', 'ant-design:file-outlined', 4, 1, NULL, '');
-INSERT INTO `sys_menu` (`id`, `tenant_id`, `revision`, `del_flag`, `created_at`, `created_by`, `updated_at`,
-                        `updated_by`, `title`, `parent_id`, `type`, `permission`, `icon`, `sort`, `status`, `component`,
-                        `external_link`)
-VALUES (20220922152714, NULL, 1, 0, '2022-09-22 15:27:14', 'helio-generator', '2022-12-26 22:03:14', 'admin',
-        '上传文件信息管理', 20220922152710, 1, 'OssFileInfo', 'ant-design:save-twotone', 1, 1, '/oss/OssFileInfo/index',
-        '');
-INSERT INTO `sys_menu` (`id`, `tenant_id`, `revision`, `del_flag`, `created_at`, `created_by`, `updated_at`,
-                        `updated_by`, `title`, `parent_id`, `type`, `permission`, `icon`, `sort`, `status`, `component`,
-                        `external_link`)
-VALUES (20220922152715, NULL, 1, 0, '2022-09-22 15:27:14', 'helio-generator', '2022-12-26 22:01:58', 'admin', '查询',
-        20220922152714, 2, 'OssFileInfo:retrieve', NULL, 1, 1, NULL, '');
-INSERT INTO `sys_menu` (`id`, `tenant_id`, `revision`, `del_flag`, `created_at`, `created_by`, `updated_at`,
-                        `updated_by`, `title`, `parent_id`, `type`, `permission`, `icon`, `sort`, `status`, `component`,
-                        `external_link`)
-VALUES (20220922152718, NULL, 1, 0, '2022-09-22 15:27:14', 'helio-generator', '2022-12-26 22:02:09', 'admin', '删除',
-        20220922152714, 2, 'OssFileInfo:delete', NULL, 2, 1, NULL, '');
-
--- v1.8.0 - Uncarbon - 新增错误原因堆栈、用户UA、IP属地字段;表注释更新
-ALTER TABLE sys_log
-    ADD COLUMN error_stacktrace varchar(3000) NOT NULL DEFAULT '' COMMENT '错误原因堆栈' AFTER status,
-    ADD COLUMN user_agent varchar(255) NOT NULL DEFAULT '' COMMENT '用户UA' AFTER error_stacktrace,
-    ADD COLUMN ip_location_region_name varchar(100) NOT NULL DEFAULT '' COMMENT 'IP地址属地-国家或地区名' AFTER user_agent,
-    ADD COLUMN ip_location_province_name varchar(100) NOT NULL DEFAULT '' COMMENT 'IP地址属地-省级行政区名' AFTER ip_location_region_name,
-    ADD COLUMN ip_location_city_name varchar(100) NOT NULL DEFAULT '' COMMENT 'IP地址属地-市级行政区名' AFTER ip_location_province_name,
-    ADD COLUMN ip_location_district_name varchar(100) NOT NULL DEFAULT '' COMMENT 'IP地址属地-县级行政区名' AFTER ip_location_city_name;
-ALTER TABLE sys_log COMMENT = '系统日志';
-
--- 新增'头像URL'字段
-ALTER TABLE sys_user ADD COLUMN avatar_url varchar(255) NULL COMMENT '头像URL';

+ 0 - 12
attachments/db/MySQL/upgrade/1.10.0_to_1.11.0.sql

@@ -1,12 +0,0 @@
--- v1.11.0 - 「后台角色」中,`title`字段更名为「角色名」,`value`字段更名为「角色编码」
-ALTER TABLE sys_role
-    MODIFY COLUMN title varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色名',
-    MODIFY COLUMN `value` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色编码';
-
--- v1.11.0 - 「数据字典」中,`value`字段更名为「数据值」
-ALTER TABLE sys_data_dict
-    MODIFY COLUMN `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据值';
-
--- v1.11.0 - 扩充「后台用户」数据表,「昵称」字段的长度上限为255
-ALTER TABLE sys_user
-    MODIFY COLUMN `nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '昵称';

+ 0 - 48
attachments/db/MySQL/upgrade/1.7.1_to_1.7.2.sql

@@ -1,48 +0,0 @@
--- v1.7.2 - Uncarbon - 默认内置文件上传功能
--- 建表 oss_file_info
-DROP TABLE IF EXISTS `oss_file_info`;
-CREATE TABLE `oss_file_info`
-(
-    `id`                bigint(20) NOT NULL COMMENT '主键ID',
-    `tenant_id`         bigint(20) NULL DEFAULT NULL COMMENT '租户ID',
-    `revision`          bigint(20) NOT NULL DEFAULT 1 COMMENT '乐观锁',
-    `del_flag`          tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '逻辑删除标识',
-    `created_at`        datetime(0) NOT NULL COMMENT '创建时刻',
-    `created_by`        varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
-    `updated_at`        datetime(0) NOT NULL COMMENT '更新时刻',
-    `updated_by`        varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
-    `storage_platform`  varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci  NOT NULL COMMENT '存储平台',
-    `storage_base_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '基础存储路径',
-    `storage_path`      varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储路径',
-    `storage_filename`  varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储文件名',
-    `original_filename` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '原始文件名',
-    `extend_name`       varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci  NOT NULL COMMENT '扩展名',
-    `file_size`         bigint(20) NOT NULL COMMENT '文件大小',
-    `md5`               varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci  NOT NULL COMMENT 'MD5',
-    `classified`        varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件类别',
-    `direct_url`        varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对象存储直链',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '上传文件信息' ROW_FORMAT = Dynamic;
-
--- v1.7.2 - Uncarbon - 新增上传文件信息后台管理菜单
-INSERT INTO `sys_menu` (`id`, `tenant_id`, `revision`, `del_flag`, `created_at`, `created_by`, `updated_at`,
-                        `updated_by`, `title`, `parent_id`, `type`, `permission`, `icon`, `sort`, `status`, `component`,
-                        `external_link`)
-VALUES (20220922152710, NULL, 1, 0, '2022-12-25 23:09:30', 'admin', '2022-12-26 22:02:31', 'admin', '文件管理', 0, 0,
-        'Oss', 'ant-design:file-outlined', 4, 1, NULL, '');
-INSERT INTO `sys_menu` (`id`, `tenant_id`, `revision`, `del_flag`, `created_at`, `created_by`, `updated_at`,
-                        `updated_by`, `title`, `parent_id`, `type`, `permission`, `icon`, `sort`, `status`, `component`,
-                        `external_link`)
-VALUES (20220922152714, NULL, 1, 0, '2022-09-22 15:27:14', 'helio-generator', '2022-12-26 22:03:14', 'admin',
-        '上传文件信息管理', 20220922152710, 1, 'OssFileInfo', 'ant-design:save-twotone', 1, 1, '/oss/OssFileInfo/index',
-        '');
-INSERT INTO `sys_menu` (`id`, `tenant_id`, `revision`, `del_flag`, `created_at`, `created_by`, `updated_at`,
-                        `updated_by`, `title`, `parent_id`, `type`, `permission`, `icon`, `sort`, `status`, `component`,
-                        `external_link`)
-VALUES (20220922152715, NULL, 1, 0, '2022-09-22 15:27:14', 'helio-generator', '2022-12-26 22:01:58', 'admin', '查询',
-        20220922152714, 2, 'OssFileInfo:retrieve', NULL, 1, 1, NULL, '');
-INSERT INTO `sys_menu` (`id`, `tenant_id`, `revision`, `del_flag`, `created_at`, `created_by`, `updated_at`,
-                        `updated_by`, `title`, `parent_id`, `type`, `permission`, `icon`, `sort`, `status`, `component`,
-                        `external_link`)
-VALUES (20220922152718, NULL, 1, 0, '2022-09-22 15:27:14', 'helio-generator', '2022-12-26 22:02:09', 'admin', '删除',
-        20220922152714, 2, 'OssFileInfo:delete', NULL, 2, 1, NULL, '');

+ 0 - 9
attachments/db/MySQL/upgrade/1.7.3_to_1.8.0.sql

@@ -1,9 +0,0 @@
--- v1.8.0 - Uncarbon - 新增错误原因堆栈、用户UA、IP属地字段;表注释更新
-ALTER TABLE sys_log
-    ADD COLUMN error_stacktrace varchar(3000) NOT NULL DEFAULT '' COMMENT '错误原因堆栈' AFTER status,
-    ADD COLUMN user_agent varchar(255) NOT NULL DEFAULT '' COMMENT '用户UA' AFTER error_stacktrace,
-    ADD COLUMN ip_location_region_name varchar(100) NOT NULL DEFAULT '' COMMENT 'IP地址属地-国家或地区名' AFTER user_agent,
-    ADD COLUMN ip_location_province_name varchar(100) NOT NULL DEFAULT '' COMMENT 'IP地址属地-省级行政区名' AFTER ip_location_region_name,
-    ADD COLUMN ip_location_city_name varchar(100) NOT NULL DEFAULT '' COMMENT 'IP地址属地-市级行政区名' AFTER ip_location_province_name,
-    ADD COLUMN ip_location_district_name varchar(100) NOT NULL DEFAULT '' COMMENT 'IP地址属地-县级行政区名' AFTER ip_location_city_name;
-ALTER TABLE sys_log COMMENT = '系统日志';

+ 0 - 35
attachments/db/MySQL/upgrade/2.0.0_to_2.1.0.sql

@@ -1,35 +0,0 @@
--- 重构数据字典,拆分为`sys_data_dict_classified`(数据字典分类)和`sys_data_dict_item`(数据字典项),并重新设计字段
-CREATE TABLE `sys_data_dict_classified`  (
-  `id` bigint(20) NOT NULL COMMENT '主键ID',
-  `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户ID',
-  `revision` bigint(20) NOT NULL DEFAULT 1 COMMENT '乐观锁',
-  `del_flag` tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '逻辑删除标识',
-  `created_at` datetime NOT NULL COMMENT '创建时刻',
-  `created_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
-  `updated_at` datetime NOT NULL COMMENT '更新时刻',
-  `updated_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
-  `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分类编码',
-  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分类名称',
-  `status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '状态',
-  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '分类描述',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据字典分类' ROW_FORMAT = Dynamic;
-
-CREATE TABLE `sys_data_dict_item`  (
-  `id` bigint(20) NOT NULL COMMENT '主键ID',
-  `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户ID',
-  `revision` bigint(20) NOT NULL DEFAULT 1 COMMENT '乐观锁',
-  `del_flag` tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '逻辑删除标识',
-  `created_at` datetime NOT NULL COMMENT '创建时刻',
-  `created_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
-  `updated_at` datetime NOT NULL COMMENT '更新时刻',
-  `updated_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
-  `classified_id` bigint(20) NOT NULL COMMENT '所属分类ID',
-  `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典项编码',
-  `label` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典项标签',
-  `value` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典项值',
-  `status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '状态',
-  `sort` int(11) NOT NULL DEFAULT 1 COMMENT '排序',
-  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '描述',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据字典项' ROW_FORMAT = Dynamic;

+ 0 - 2
attachments/db/MySQL/upgrade/2.4.0_to_2.4.1.sql

@@ -1,2 +0,0 @@
--- 新增'头像URL'字段
-ALTER TABLE sys_user ADD COLUMN avatar_url varchar(255) NULL COMMENT '头像URL';

+ 0 - 989
attachments/db/PostgreSQL/helio_boot.sql

@@ -1,989 +0,0 @@
--- ----------------------------
--- Table structure for sys_data_dict_classified & sys_data_dict_item
--- ----------------------------
-CREATE TABLE "sys_data_dict_classified" (
-  "id" int8 NOT NULL,
-  "tenant_id" int8,
-  "revision" int8 NOT NULL DEFAULT 1,
-  "del_flag" int2 NOT NULL DEFAULT 0,
-  "created_at" timestamp(6) NOT NULL,
-  "created_by" varchar(255) COLLATE "pg_catalog"."default",
-  "updated_at" timestamp(6) NOT NULL,
-  "updated_by" varchar(255) COLLATE "pg_catalog"."default",
-  "code" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
-  "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
-  "status" int2 NOT NULL DEFAULT 1,
-  "description" varchar(255) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying
-);
-COMMENT ON COLUMN "sys_data_dict_classified"."id" IS '主键ID';
-COMMENT ON COLUMN "sys_data_dict_classified"."tenant_id" IS '租户ID';
-COMMENT ON COLUMN "sys_data_dict_classified"."revision" IS '乐观锁';
-COMMENT ON COLUMN "sys_data_dict_classified"."del_flag" IS '逻辑删除标识';
-COMMENT ON COLUMN "sys_data_dict_classified"."created_at" IS '创建时刻';
-COMMENT ON COLUMN "sys_data_dict_classified"."created_by" IS '创建者';
-COMMENT ON COLUMN "sys_data_dict_classified"."updated_at" IS '更新时刻';
-COMMENT ON COLUMN "sys_data_dict_classified"."updated_by" IS '更新者';
-COMMENT ON COLUMN "sys_data_dict_classified"."code" IS '分类编码';
-COMMENT ON COLUMN "sys_data_dict_classified"."name" IS '分类名称';
-COMMENT ON COLUMN "sys_data_dict_classified"."status" IS '状态';
-COMMENT ON COLUMN "sys_data_dict_classified"."description" IS '分类描述';
-COMMENT ON TABLE "sys_data_dict_classified" IS '数据字典分类';
-ALTER TABLE "sys_data_dict_classified" ADD PRIMARY KEY ("id");
-
-CREATE TABLE "sys_data_dict_item" (
-  "id" int8 NOT NULL,
-  "tenant_id" int8,
-  "revision" int8 NOT NULL DEFAULT 1,
-  "del_flag" int2 NOT NULL DEFAULT 0,
-  "created_at" timestamp(6) NOT NULL,
-  "created_by" varchar(255) COLLATE "pg_catalog"."default",
-  "updated_at" timestamp(6) NOT NULL,
-  "updated_by" varchar(255) COLLATE "pg_catalog"."default",
-  "classified_id" int8 NOT NULL,
-  "code" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
-  "label" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
-  "value" varchar(4096) COLLATE "pg_catalog"."default" NOT NULL,
-  "status" int2 NOT NULL DEFAULT 1,
-  "sort" int4 NOT NULL DEFAULT 1,
-  "description" varchar(255) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying
-);
-COMMENT ON COLUMN "sys_data_dict_item"."id" IS '主键ID';
-COMMENT ON COLUMN "sys_data_dict_item"."tenant_id" IS '租户ID';
-COMMENT ON COLUMN "sys_data_dict_item"."revision" IS '乐观锁';
-COMMENT ON COLUMN "sys_data_dict_item"."del_flag" IS '逻辑删除标识';
-COMMENT ON COLUMN "sys_data_dict_item"."created_at" IS '创建时刻';
-COMMENT ON COLUMN "sys_data_dict_item"."created_by" IS '创建者';
-COMMENT ON COLUMN "sys_data_dict_item"."updated_at" IS '更新时刻';
-COMMENT ON COLUMN "sys_data_dict_item"."updated_by" IS '更新者';
-COMMENT ON COLUMN "sys_data_dict_item"."classified_id" IS '所属分类ID';
-COMMENT ON COLUMN "sys_data_dict_item"."code" IS '字典项编码';
-COMMENT ON COLUMN "sys_data_dict_item"."label" IS '字典项标签';
-COMMENT ON COLUMN "sys_data_dict_item"."value" IS '字典项值';
-COMMENT ON COLUMN "sys_data_dict_item"."status" IS '状态';
-COMMENT ON COLUMN "sys_data_dict_item"."sort" IS '排序';
-COMMENT ON COLUMN "sys_data_dict_item"."description" IS '描述';
-COMMENT ON TABLE "sys_data_dict_item" IS '数据字典项';
-ALTER TABLE "sys_data_dict_item" ADD PRIMARY KEY ("id");
-
--- ----------------------------
--- Table structure for sys_dept
--- ----------------------------
-DROP TABLE IF EXISTS "sys_dept";
-CREATE TABLE "sys_dept"
-(
-    "id"         int8         NOT NULL,
-    "tenant_id"  int8,
-    "revision"   int8         NOT NULL DEFAULT 1,
-    "del_flag"   int2         NOT NULL DEFAULT 0,
-    "created_at" timestamp(6) NOT NULL,
-    "created_by" varchar(255),
-    "updated_at" timestamp(6) NOT NULL,
-    "updated_by" varchar(255),
-    "title"      varchar(50)  NOT NULL,
-    "parent_id"  int8         NOT NULL,
-    "sort"       int4         NOT NULL,
-    "status"     int4         NOT NULL
-)
-;
-COMMENT
-ON COLUMN "sys_dept"."id" IS '主键ID';
-COMMENT
-ON COLUMN "sys_dept"."tenant_id" IS '租户ID';
-COMMENT
-ON COLUMN "sys_dept"."revision" IS '乐观锁';
-COMMENT
-ON COLUMN "sys_dept"."del_flag" IS '逻辑删除标识';
-COMMENT
-ON COLUMN "sys_dept"."created_at" IS '创建时刻';
-COMMENT
-ON COLUMN "sys_dept"."created_by" IS '创建者';
-COMMENT
-ON COLUMN "sys_dept"."updated_at" IS '更新时刻';
-COMMENT
-ON COLUMN "sys_dept"."updated_by" IS '更新者';
-COMMENT
-ON COLUMN "sys_dept"."title" IS '名称';
-COMMENT
-ON COLUMN "sys_dept"."parent_id" IS '上级ID(根节点设置为0)';
-COMMENT
-ON COLUMN "sys_dept"."sort" IS '排序';
-COMMENT
-ON COLUMN "sys_dept"."status" IS '状态(0=禁用 1=启用)';
-COMMENT
-ON TABLE "sys_dept" IS '部门';
-
--- ----------------------------
--- Records of sys_dept
--- ----------------------------
-BEGIN;
-COMMIT;
-
--- ----------------------------
--- Table structure for sys_log
--- ----------------------------
-DROP TABLE IF EXISTS "sys_log";
-CREATE TABLE "sys_log"
-(
-    "id"         int8         NOT NULL,
-    "tenant_id"  int8,
-    "revision"   int8         NOT NULL DEFAULT 1,
-    "del_flag"   int2         NOT NULL DEFAULT 0,
-    "created_at" timestamp(6) NOT NULL,
-    "created_by" varchar(255),
-    "updated_at" timestamp(6) NOT NULL,
-    "updated_by" varchar(255),
-    "user_id"    int8,
-    "username"   varchar(50),
-    "operation"  varchar(255),
-    "method"     varchar(500),
-    "params"     text,
-    "ip"         varchar(128),
-    "status"     int4         NOT NULL
-)
-;
-COMMENT
-ON COLUMN "sys_log"."id" IS '主键ID';
-COMMENT
-ON COLUMN "sys_log"."tenant_id" IS '租户ID';
-COMMENT
-ON COLUMN "sys_log"."revision" IS '乐观锁';
-COMMENT
-ON COLUMN "sys_log"."del_flag" IS '逻辑删除标识';
-COMMENT
-ON COLUMN "sys_log"."created_at" IS '创建时刻';
-COMMENT
-ON COLUMN "sys_log"."created_by" IS '创建者';
-COMMENT
-ON COLUMN "sys_log"."updated_at" IS '更新时刻';
-COMMENT
-ON COLUMN "sys_log"."updated_by" IS '更新者';
-COMMENT
-ON COLUMN "sys_log"."user_id" IS '用户ID';
-COMMENT
-ON COLUMN "sys_log"."username" IS '用户账号';
-COMMENT
-ON COLUMN "sys_log"."operation" IS '操作内容';
-COMMENT
-ON COLUMN "sys_log"."method" IS '请求方法';
-COMMENT
-ON COLUMN "sys_log"."params" IS '请求参数';
-COMMENT
-ON COLUMN "sys_log"."ip" IS 'IP地址';
-COMMENT
-ON COLUMN "sys_log"."status" IS '状态(参考SysLogStatusEnum)';
-COMMENT
-ON TABLE "sys_log" IS '后台操作日志';
-
--- ----------------------------
--- Records of sys_log
--- ----------------------------
-BEGIN;
-COMMIT;
-
--- ----------------------------
--- Table structure for sys_menu
--- ----------------------------
-DROP TABLE IF EXISTS "sys_menu";
-CREATE TABLE "sys_menu"
-(
-    "id"            int8         NOT NULL,
-    "tenant_id"     int8,
-    "revision"      int8         NOT NULL DEFAULT 1,
-    "del_flag"      int2         NOT NULL DEFAULT 0,
-    "created_at"    timestamp(6) NOT NULL,
-    "created_by"    varchar(255),
-    "updated_at"    timestamp(6) NOT NULL,
-    "updated_by"    varchar(255),
-    "title"         varchar(50)  NOT NULL,
-    "parent_id"     int8         NOT NULL,
-    "type"          int4         NOT NULL,
-    "permission"    varchar(255) NOT NULL,
-    "icon"          varchar(255),
-    "sort"          int4,
-    "status"        int4         NOT NULL,
-    "component"     varchar(255),
-    "external_link" varchar(255)
-)
-;
-COMMENT
-ON COLUMN "sys_menu"."id" IS '主键ID';
-COMMENT
-ON COLUMN "sys_menu"."tenant_id" IS '租户ID';
-COMMENT
-ON COLUMN "sys_menu"."revision" IS '乐观锁';
-COMMENT
-ON COLUMN "sys_menu"."del_flag" IS '逻辑删除标识';
-COMMENT
-ON COLUMN "sys_menu"."created_at" IS '创建时刻';
-COMMENT
-ON COLUMN "sys_menu"."created_by" IS '创建者';
-COMMENT
-ON COLUMN "sys_menu"."updated_at" IS '更新时刻';
-COMMENT
-ON COLUMN "sys_menu"."updated_by" IS '更新者';
-COMMENT
-ON COLUMN "sys_menu"."title" IS '名称';
-COMMENT
-ON COLUMN "sys_menu"."parent_id" IS '上级菜单ID(根节点设置为0)';
-COMMENT
-ON COLUMN "sys_menu"."type" IS '菜单类型(参考MenuTypeEnum)';
-COMMENT
-ON COLUMN "sys_menu"."permission" IS '权限标识';
-COMMENT
-ON COLUMN "sys_menu"."icon" IS '图标';
-COMMENT
-ON COLUMN "sys_menu"."sort" IS '排序';
-COMMENT
-ON COLUMN "sys_menu"."status" IS '状态(0=禁用 1=启用)';
-COMMENT
-ON COLUMN "sys_menu"."component" IS '组件';
-COMMENT
-ON COLUMN "sys_menu"."external_link" IS '外链地址';
-COMMENT
-ON TABLE "sys_menu" IS '后台菜单';
-
--- ----------------------------
--- Records of sys_menu
--- ----------------------------
-BEGIN;
-INSERT INTO "sys_menu"
-VALUES (1, 0, 1, 0, '2021-06-01 17:16:48', NULL, '2021-06-02 17:14:16', NULL, '系统管理', 0, 0, 'Sys',
-        'ant-design:setting-outlined', 3, 1, 'LAYOUT', '');
-INSERT INTO "sys_menu"
-VALUES (2, 0, 1, 0, '2021-06-01 17:13:13', NULL, '2021-07-18 00:10:33', 'admin', '中控台', 0, 0, 'Dashboard',
-        'ant-design:appstore-outlined', 1, 1, 'LAYOUT', '');
-INSERT INTO "sys_menu"
-VALUES (3, 0, 1, 0, '2021-06-01 17:14:22', NULL, '2021-06-02 11:24:38', NULL, '分析页(后台登录后默认首页)', 2, 1,
-        'Dashboard:analysis', 'ant-design:fund-outlined', 1, 1, '/dashboard/analysis/index', '');
-INSERT INTO "sys_menu"
-VALUES (4, 0, 1, 0, '2021-06-01 17:14:47', NULL, '2021-06-02 11:32:23', NULL, '工作台', 2, 1, 'Dashboard:workbench',
-        'ant-design:database-outlined', 2, 1, '/dashboard/workbench/index', '');
-INSERT INTO "sys_menu"
-VALUES (5, 0, 1, 0, '2021-06-01 17:15:38', NULL, '2021-07-15 23:56:43', 'admin', '关于', 0, 1, 'About',
-        'ant-design:eye-outlined', 2, 1, '/sys/about/index', '');
-INSERT INTO "sys_menu"
-VALUES (6, 0, 1, 0, '2021-06-02 16:06:58', NULL, '2021-07-17 23:55:52', 'admin', '学(mo)习(yu)', 2, 3, '',
-        'ant-design:zhihu-outlined', 3, 1, 'https://www.zhihu.com/', 'https://www.zhihu.com/');
-INSERT INTO "sys_menu"
-VALUES (7, 0, 1, 0, '2021-07-17 23:32:15', NULL, '2021-07-17 23:32:15', NULL, '部门管理', 1, 1, 'SysDept',
-        'ant-design:flag-outlined', 1, 1, '/sys/SysDept/index', '');
-INSERT INTO "sys_menu"
-VALUES (8, 0, 1, 0, '2021-07-17 23:32:15', NULL, '2021-07-17 23:32:15', NULL, '查询', 7, 2, 'SysDept:retrieve', NULL, 1,
-        1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (9, 0, 1, 0, '2021-07-17 23:32:15', NULL, '2021-07-17 23:32:15', NULL, '新增', 7, 2, 'SysDept:create', NULL, 2, 1,
-        NULL, '');
-INSERT INTO "sys_menu"
-VALUES (10, 0, 1, 0, '2021-07-17 23:32:15', NULL, '2021-07-17 23:32:15', NULL, '删除', 7, 2, 'SysDept:delete', NULL, 3, 1,
-        NULL, '');
-INSERT INTO "sys_menu"
-VALUES (11, 0, 1, 0, '2021-07-17 23:32:16', NULL, '2021-07-17 23:32:16', NULL, '编辑', 7, 2, 'SysDept:update', NULL, 4, 1,
-        NULL, '');
-INSERT INTO "sys_menu"
-VALUES (12, 0, 1, 0, '2021-07-17 23:32:16', NULL, '2021-07-17 23:32:16', NULL, '角色管理', 1, 1, 'SysRole',
-        'ant-design:usergroup-add-outlined', 2, 1, '/sys/SysRole/index', '');
-INSERT INTO "sys_menu"
-VALUES (13, 0, 1, 0, '2021-07-17 23:32:16', NULL, '2021-07-17 23:32:16', NULL, '查询', 12, 2, 'SysRole:retrieve', NULL, 1,
-        1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (14, 0, 1, 0, '2021-07-17 23:32:16', NULL, '2021-07-17 23:32:16', NULL, '新增', 12, 2, 'SysRole:create', NULL, 2,
-        1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (15, 0, 1, 0, '2021-07-17 23:32:16', NULL, '2021-07-17 23:32:16', NULL, '删除', 12, 2, 'SysRole:delete', NULL, 3,
-        1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (16, 0, 1, 0, '2021-07-17 23:32:16', NULL, '2021-07-17 23:32:16', NULL, '编辑', 12, 2, 'SysRole:update', NULL, 4,
-        1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (17, 0, 1, 0, '2021-07-17 23:32:17', NULL, '2021-07-17 23:32:17', NULL, '后台用户', 1, 1, 'SysUser',
-        'ant-design:user-outlined', 3, 1, '/sys/SysUser/index', '');
-INSERT INTO "sys_menu"
-VALUES (18, 0, 1, 0, '2021-07-17 23:32:17', NULL, '2021-07-17 23:32:17', NULL, '查询', 17, 2, 'SysUser:retrieve', NULL, 1,
-        1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (19, 0, 1, 0, '2021-07-17 23:32:17', NULL, '2021-07-17 23:32:17', NULL, '新增', 17, 2, 'SysUser:create', NULL, 2,
-        1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (20, 0, 1, 0, '2021-07-17 23:32:17', NULL, '2021-07-17 23:32:17', NULL, '删除', 17, 2, 'SysUser:delete', NULL, 3,
-        1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (21, 0, 1, 0, '2021-07-17 23:32:17', NULL, '2021-07-17 23:32:17', NULL, '编辑', 17, 2, 'SysUser:update', NULL, 4,
-        1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (22, 0, 1, 0, '2021-07-17 23:32:18', NULL, '2021-07-17 23:32:18', NULL, '菜单管理', 1, 1, 'SysMenu',
-        'ant-design:align-left-outlined', 4, 1, '/sys/SysMenu/index', '');
-INSERT INTO "sys_menu"
-VALUES (23, 0, 1, 0, '2021-07-17 23:32:18', NULL, '2021-07-17 23:32:18', NULL, '查询', 22, 2, 'SysMenu:retrieve', NULL, 1,
-        1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (24, 0, 1, 0, '2021-07-17 23:32:18', NULL, '2021-07-17 23:32:18', NULL, '新增', 22, 2, 'SysMenu:create', NULL, 2,
-        1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (25, 0, 1, 0, '2021-07-17 23:32:18', NULL, '2021-07-17 23:32:18', NULL, '删除', 22, 2, 'SysMenu:delete', NULL, 3,
-        1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (26, 0, 1, 0, '2021-07-17 23:32:18', NULL, '2021-07-17 23:32:18', NULL, '编辑', 22, 2, 'SysMenu:update', NULL, 4,
-        1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (27, 0, 1, 0, '2021-07-17 23:32:18', NULL, '2021-07-17 23:32:18', NULL, '参数管理', 1, 1, 'SysParam',
-        'ant-design:ant-design-outlined', 5, 1, '/sys/SysParam/index', '');
-INSERT INTO "sys_menu"
-VALUES (28, 0, 1, 0, '2021-07-17 23:32:19', NULL, '2021-07-17 23:32:19', NULL, '查询', 27, 2, 'SysParam:retrieve', NULL,
-        1, 1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (29, 0, 1, 0, '2021-07-17 23:32:19', NULL, '2021-07-17 23:32:19', NULL, '新增', 27, 2, 'SysParam:create', NULL, 2,
-        1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (30, 0, 1, 0, '2021-07-17 23:32:19', NULL, '2021-07-17 23:32:19', NULL, '删除', 27, 2, 'SysParam:delete', NULL, 3,
-        1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (31, 0, 1, 0, '2021-07-17 23:32:19', NULL, '2021-07-17 23:32:19', NULL, '编辑', 27, 2, 'SysParam:update', NULL, 4,
-        1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (32, 0, 1, 0, '2021-07-17 23:32:19', NULL, '2021-07-17 23:32:19', NULL, '租户管理', 1, 1, 'SysTenant',
-        'ant-design:aliyun-outlined', 6, 1, '/sys/SysTenant/index', '');
-INSERT INTO "sys_menu"
-VALUES (33, 0, 1, 0, '2021-07-17 23:32:19', NULL, '2021-07-17 23:32:19', NULL, '查询', 32, 2, 'SysTenant:retrieve', NULL,
-        1, 1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (34, 0, 1, 0, '2021-07-17 23:32:20', NULL, '2021-07-17 23:32:20', NULL, '新增', 32, 2, 'SysTenant:create', NULL, 2,
-        1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (35, 0, 1, 0, '2021-07-17 23:32:20', NULL, '2021-07-17 23:32:20', NULL, '删除', 32, 2, 'SysTenant:delete', NULL, 3,
-        1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (36, 0, 1, 0, '2021-07-17 23:32:20', NULL, '2021-07-17 23:32:20', NULL, '编辑', 32, 2, 'SysTenant:update', NULL, 4,
-        1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (37, 0, 1, 0, '2021-07-17 23:32:20', NULL, '2021-07-17 23:32:20', NULL, '数据字典', 1, 1, 'SysDataDict',
-        'ant-design:field-string-outlined', 7, 1, '/sys/SysDataDict/index', '');
-INSERT INTO "sys_menu"
-VALUES (38, 0, 1, 0, '2021-07-17 23:32:20', NULL, '2021-07-17 23:32:20', NULL, '查询', 37, 2, 'SysDataDict:retrieve',
-        NULL, 1, 1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (39, 0, 1, 0, '2021-07-17 23:32:21', NULL, '2021-07-17 23:32:21', NULL, '新增', 37, 2, 'SysDataDict:create', NULL,
-        2, 1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (40, 0, 1, 0, '2021-07-17 23:32:21', NULL, '2021-07-17 23:32:21', NULL, '删除', 37, 2, 'SysDataDict:delete', NULL,
-        3, 1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (41, 0, 1, 0, '2021-07-17 23:32:21', NULL, '2021-07-17 23:32:21', NULL, '编辑', 37, 2, 'SysDataDict:update', NULL,
-        4, 1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (42, 0, 1, 0, '2021-07-17 23:32:21', NULL, '2021-07-17 23:32:21', NULL, '系统日志', 1, 1, 'SysLog',
-        'ant-design:edit-twotone', 8, 1, '/sys/SysLog/index', '');
-INSERT INTO "sys_menu"
-VALUES (43, 0, 1, 0, '2021-07-17 23:32:21', NULL, '2021-07-17 23:32:21', NULL, '查询', 42, 2, 'SysLog:retrieve', NULL, 1,
-        1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (44, 0, 1, 0, '2021-07-17 23:37:26', 'admin', '2021-07-17 23:38:28', 'admin', '修改当前用户密码', 1, 1, '',
-        'ant-design:compass-outlined', 9, 1, '/sys/SysUser/change-password/index', '');
-INSERT INTO "sys_menu"
-VALUES (45, 0, 1, 0, '2021-07-17 23:39:41', 'admin', '2021-07-17 23:39:41', 'admin', '重置某用户密码', 17, 2,
-        'SysUser:resetPassword', 'ant-design:redo-outlined', 5, 1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (46, 0, 1, 0, '2021-07-17 23:40:26', 'admin', '2021-07-17 23:40:26', 'admin', '绑定用户与角色关联关系', 17, 2,
-        'SysUser:bindRoles', 'ant-design:share-alt-outlined', 6, 1, NULL, '');
-INSERT INTO "sys_menu"
-VALUES (47, 0, 1, 0, '2021-07-17 23:40:47', 'admin', '2021-07-17 23:41:15', 'admin', '踢某用户下线', 17, 2, 'SysUser:kickOut',
-        'ant-design:disconnect-outlined', 7, 1, 'LAYOUT', '');
-INSERT INTO "sys_menu"
-VALUES (48, 0, 1, 0, '2022-06-29 17:35:26', 'admin', '2022-06-29 17:35:26', 'admin', '绑定角色与菜单关联关系', 12, 2, 'SysRole:bindMenus',
-        'ant-design:share-alt-outlined', 5, 1, NULL, '');
-COMMIT;
-
--- ----------------------------
--- Table structure for sys_param
--- ----------------------------
-DROP TABLE IF EXISTS "sys_param";
-CREATE TABLE "sys_param"
-(
-    "id"          int8         NOT NULL,
-    "tenant_id"   int8,
-    "revision"    int8         NOT NULL DEFAULT 1,
-    "del_flag"    int2         NOT NULL DEFAULT 0,
-    "created_at"  timestamp(6) NOT NULL,
-    "created_by"  varchar(255),
-    "updated_at"  timestamp(6) NOT NULL,
-    "updated_by"  varchar(255),
-    "name"        varchar(50)  NOT NULL,
-    "value"       varchar(255) NOT NULL,
-    "description" varchar(255) NOT NULL
-)
-;
-COMMENT
-ON COLUMN "sys_param"."id" IS '主键ID';
-COMMENT
-ON COLUMN "sys_param"."tenant_id" IS '租户ID';
-COMMENT
-ON COLUMN "sys_param"."revision" IS '乐观锁';
-COMMENT
-ON COLUMN "sys_param"."del_flag" IS '逻辑删除标识';
-COMMENT
-ON COLUMN "sys_param"."created_at" IS '创建时刻';
-COMMENT
-ON COLUMN "sys_param"."created_by" IS '创建者';
-COMMENT
-ON COLUMN "sys_param"."updated_at" IS '更新时刻';
-COMMENT
-ON COLUMN "sys_param"."updated_by" IS '更新者';
-COMMENT
-ON COLUMN "sys_param"."name" IS '键名';
-COMMENT
-ON COLUMN "sys_param"."value" IS '键值';
-COMMENT
-ON COLUMN "sys_param"."description" IS '描述';
-COMMENT
-ON TABLE "sys_param" IS '系统参数';
-
--- ----------------------------
--- Records of sys_param
--- ----------------------------
-BEGIN;
-COMMIT;
-
--- ----------------------------
--- Table structure for sys_role
--- ----------------------------
-DROP TABLE IF EXISTS "sys_role";
-CREATE TABLE "sys_role"
-(
-    "id"         int8         NOT NULL,
-    "tenant_id"  int8,
-    "revision"   int8         NOT NULL DEFAULT 1,
-    "del_flag"   int2         NOT NULL DEFAULT 0,
-    "created_at" timestamp(6) NOT NULL,
-    "created_by" varchar(255),
-    "updated_at" timestamp(6) NOT NULL,
-    "updated_by" varchar(255),
-    "title"      varchar(50)  NOT NULL,
-    "value"      varchar(100) NOT NULL
-)
-;
-COMMENT
-ON COLUMN "sys_role"."id" IS '主键ID';
-COMMENT
-ON COLUMN "sys_role"."tenant_id" IS '租户ID';
-COMMENT
-ON COLUMN "sys_role"."revision" IS '乐观锁';
-COMMENT
-ON COLUMN "sys_role"."del_flag" IS '逻辑删除标识';
-COMMENT
-ON COLUMN "sys_role"."created_at" IS '创建时刻';
-COMMENT
-ON COLUMN "sys_role"."created_by" IS '创建者';
-COMMENT
-ON COLUMN "sys_role"."updated_at" IS '更新时刻';
-COMMENT
-ON COLUMN "sys_role"."updated_by" IS '更新者';
-COMMENT
-ON COLUMN "sys_role"."title" IS '角色名';
-COMMENT
-ON COLUMN "sys_role"."value" IS '角色编码';
-COMMENT
-ON TABLE "sys_role" IS '后台角色';
-
--- ----------------------------
--- Records of sys_role
--- ----------------------------
-BEGIN;
-INSERT INTO "sys_role"
-VALUES (1, 0, 1, 0, '2021-04-17 02:34:30', NULL, '2021-06-07 16:22:28', 'admin', '超级管理员(代码中固定拥有所有菜单的权限)', 'SuperAdmin');
-COMMIT;
-
--- ----------------------------
--- Table structure for sys_role_menu_relation
--- ----------------------------
-DROP TABLE IF EXISTS "sys_role_menu_relation";
-CREATE TABLE "sys_role_menu_relation"
-(
-    "id"         int8         NOT NULL,
-    "tenant_id"  int8,
-    "revision"   int8         NOT NULL DEFAULT 1,
-    "del_flag"   int2         NOT NULL DEFAULT 0,
-    "created_at" timestamp(6) NOT NULL,
-    "created_by" varchar(255),
-    "updated_at" timestamp(6) NOT NULL,
-    "updated_by" varchar(255),
-    "role_id"    int8         NOT NULL,
-    "menu_id"    int8         NOT NULL
-)
-;
-COMMENT
-ON COLUMN "sys_role_menu_relation"."id" IS '主键ID';
-COMMENT
-ON COLUMN "sys_role_menu_relation"."tenant_id" IS '租户ID';
-COMMENT
-ON COLUMN "sys_role_menu_relation"."revision" IS '乐观锁';
-COMMENT
-ON COLUMN "sys_role_menu_relation"."del_flag" IS '逻辑删除标识';
-COMMENT
-ON COLUMN "sys_role_menu_relation"."created_at" IS '创建时刻';
-COMMENT
-ON COLUMN "sys_role_menu_relation"."created_by" IS '创建者';
-COMMENT
-ON COLUMN "sys_role_menu_relation"."updated_at" IS '更新时刻';
-COMMENT
-ON COLUMN "sys_role_menu_relation"."updated_by" IS '更新者';
-COMMENT
-ON COLUMN "sys_role_menu_relation"."role_id" IS '角色ID';
-COMMENT
-ON COLUMN "sys_role_menu_relation"."menu_id" IS '菜单ID';
-COMMENT
-ON TABLE "sys_role_menu_relation" IS '后台角色-可见菜单关联';
-
--- ----------------------------
--- Records of sys_role_menu_relation
--- ----------------------------
-BEGIN;
-COMMIT;
-
--- ----------------------------
--- Table structure for sys_tenant
--- ----------------------------
-DROP TABLE IF EXISTS "sys_tenant";
-CREATE TABLE "sys_tenant"
-(
-    "id"                   int8         NOT NULL,
-    "revision"             int8         NOT NULL DEFAULT 1,
-    "del_flag"             int2         NOT NULL DEFAULT 0,
-    "created_at"           timestamp(6) NOT NULL,
-    "created_by"           varchar(255),
-    "updated_at"           timestamp(6) NOT NULL,
-    "updated_by"           varchar(255),
-    "remark"               varchar(255),
-    "tenant_name"          varchar(50)  NOT NULL,
-    "tenant_id"            int8,
-    "status"               int4         NOT NULL,
-    "tenant_admin_user_id" int8
-)
-;
-COMMENT
-ON COLUMN "sys_tenant"."id" IS '主键ID';
-COMMENT
-ON COLUMN "sys_tenant"."revision" IS '乐观锁';
-COMMENT
-ON COLUMN "sys_tenant"."del_flag" IS '逻辑删除标识';
-COMMENT
-ON COLUMN "sys_tenant"."created_at" IS '创建时刻';
-COMMENT
-ON COLUMN "sys_tenant"."created_by" IS '创建者';
-COMMENT
-ON COLUMN "sys_tenant"."updated_at" IS '更新时刻';
-COMMENT
-ON COLUMN "sys_tenant"."updated_by" IS '更新者';
-COMMENT
-ON COLUMN "sys_tenant"."remark" IS '备注';
-COMMENT
-ON COLUMN "sys_tenant"."tenant_name" IS '租户名';
-COMMENT
-ON COLUMN "sys_tenant"."tenant_id" IS '租户ID';
-COMMENT
-ON COLUMN "sys_tenant"."status" IS '状态(0=禁用 1=启用)';
-COMMENT
-ON COLUMN "sys_tenant"."tenant_admin_user_id" IS '租户管理员用户ID';
-COMMENT
-ON TABLE "sys_tenant" IS '系统租户';
-
--- ----------------------------
--- Records of sys_tenant
--- ----------------------------
-BEGIN;
-INSERT INTO "sys_tenant"
-VALUES (1, 1, 0, '2021-05-11 16:06:47', '', '2021-06-10 16:29:32', 'admin', '可无视SQL拦截器', '超级租户', 0, 1, 1);
-COMMIT;
-
--- ----------------------------
--- Table structure for sys_user
--- ----------------------------
-DROP TABLE IF EXISTS "sys_user";
-CREATE TABLE "sys_user"
-(
-    "id"            int8         NOT NULL,
-    "tenant_id"     int8,
-    "revision"      int8         NOT NULL DEFAULT 1,
-    "del_flag"      int2         NOT NULL DEFAULT 0,
-    "created_at"    timestamp(6) NOT NULL,
-    "created_by"    varchar(255),
-    "updated_at"    timestamp(6) NOT NULL,
-    "updated_by"    varchar(255),
-    "pin"           varchar(20)  NOT NULL,
-    "pwd"           varchar(255) NOT NULL,
-    "salt"          varchar(64)  NOT NULL,
-    "nickname"      varchar(20)  NOT NULL,
-    "status"        int4         NOT NULL,
-    "gender"        int4,
-    "email"         varchar(255),
-    "phone_no"      varchar(20),
-    "last_login_at" timestamp(6)
-)
-;
-COMMENT
-ON COLUMN "sys_user"."id" IS '主键ID';
-COMMENT
-ON COLUMN "sys_user"."tenant_id" IS '租户ID';
-COMMENT
-ON COLUMN "sys_user"."revision" IS '乐观锁';
-COMMENT
-ON COLUMN "sys_user"."del_flag" IS '逻辑删除标识';
-COMMENT
-ON COLUMN "sys_user"."created_at" IS '创建时刻';
-COMMENT
-ON COLUMN "sys_user"."created_by" IS '创建者';
-COMMENT
-ON COLUMN "sys_user"."updated_at" IS '更新时刻';
-COMMENT
-ON COLUMN "sys_user"."updated_by" IS '更新者';
-COMMENT
-ON COLUMN "sys_user"."pin" IS '账号';
-COMMENT
-ON COLUMN "sys_user"."pwd" IS '密码';
-COMMENT
-ON COLUMN "sys_user"."salt" IS '盐';
-COMMENT
-ON COLUMN "sys_user"."nickname" IS '昵称';
-COMMENT
-ON COLUMN "sys_user"."status" IS '状态(0=禁用 1=启用)';
-COMMENT
-ON COLUMN "sys_user"."gender" IS '性别';
-COMMENT
-ON COLUMN "sys_user"."email" IS '邮箱';
-COMMENT
-ON COLUMN "sys_user"."phone_no" IS '手机号';
-COMMENT
-ON COLUMN "sys_user"."last_login_at" IS '最后登录时刻';
-COMMENT
-ON TABLE "sys_user" IS '后台用户';
-
--- ----------------------------
--- Records of sys_user
--- ----------------------------
-BEGIN;
-INSERT INTO "sys_user"
-VALUES (1, 0, 1, 0, '2021-04-06 09:56:02', NULL, '2021-06-28 16:37:07', 'admin', 'admin',
-        'b7f6692251833658a56ff2d09e9835b91384d203721bf27a544586d3c9a379ff', '6a8e9339-dfd1-4cfe-80cb-30ca9fc3d81e',
-        '超级管理员', 1, 0, 'admin@example.com', '17874585544', '2021-07-18 00:32:08');
-COMMIT;
-
--- ----------------------------
--- Table structure for sys_user_dept_relation
--- ----------------------------
-DROP TABLE IF EXISTS "sys_user_dept_relation";
-CREATE TABLE "sys_user_dept_relation"
-(
-    "id"         int8         NOT NULL,
-    "tenant_id"  int8,
-    "revision"   int8         NOT NULL DEFAULT 1,
-    "del_flag"   int2         NOT NULL DEFAULT 0,
-    "created_at" timestamp(6) NOT NULL,
-    "created_by" varchar(255),
-    "updated_at" timestamp(6) NOT NULL,
-    "updated_by" varchar(255),
-    "user_id"    int8         NOT NULL,
-    "dept_id"    int8         NOT NULL
-)
-;
-COMMENT
-ON COLUMN "sys_user_dept_relation"."id" IS '主键ID';
-COMMENT
-ON COLUMN "sys_user_dept_relation"."tenant_id" IS '租户ID';
-COMMENT
-ON COLUMN "sys_user_dept_relation"."revision" IS '乐观锁';
-COMMENT
-ON COLUMN "sys_user_dept_relation"."del_flag" IS '逻辑删除标识';
-COMMENT
-ON COLUMN "sys_user_dept_relation"."created_at" IS '创建时刻';
-COMMENT
-ON COLUMN "sys_user_dept_relation"."created_by" IS '创建者';
-COMMENT
-ON COLUMN "sys_user_dept_relation"."updated_at" IS '更新时刻';
-COMMENT
-ON COLUMN "sys_user_dept_relation"."updated_by" IS '更新者';
-COMMENT
-ON COLUMN "sys_user_dept_relation"."user_id" IS '用户ID';
-COMMENT
-ON COLUMN "sys_user_dept_relation"."dept_id" IS '部门ID';
-COMMENT
-ON TABLE "sys_user_dept_relation" IS '后台用户-部门关联';
-
--- ----------------------------
--- Records of sys_user_dept_relation
--- ----------------------------
-BEGIN;
-COMMIT;
-
--- ----------------------------
--- Table structure for sys_user_role_relation
--- ----------------------------
-DROP TABLE IF EXISTS "sys_user_role_relation";
-CREATE TABLE "sys_user_role_relation"
-(
-    "id"         int8         NOT NULL,
-    "tenant_id"  int8,
-    "revision"   int8         NOT NULL DEFAULT 1,
-    "del_flag"   int2         NOT NULL DEFAULT 0,
-    "created_at" timestamp(6) NOT NULL,
-    "created_by" varchar(255),
-    "updated_at" timestamp(6) NOT NULL,
-    "updated_by" varchar(255),
-    "user_id"    int8         NOT NULL,
-    "role_id"    int8         NOT NULL
-)
-;
-COMMENT
-ON COLUMN "sys_user_role_relation"."id" IS '主键ID';
-COMMENT
-ON COLUMN "sys_user_role_relation"."tenant_id" IS '租户ID';
-COMMENT
-ON COLUMN "sys_user_role_relation"."revision" IS '乐观锁';
-COMMENT
-ON COLUMN "sys_user_role_relation"."del_flag" IS '逻辑删除标识';
-COMMENT
-ON COLUMN "sys_user_role_relation"."created_at" IS '创建时刻';
-COMMENT
-ON COLUMN "sys_user_role_relation"."created_by" IS '创建者';
-COMMENT
-ON COLUMN "sys_user_role_relation"."updated_at" IS '更新时刻';
-COMMENT
-ON COLUMN "sys_user_role_relation"."updated_by" IS '更新者';
-COMMENT
-ON COLUMN "sys_user_role_relation"."user_id" IS '用户ID';
-COMMENT
-ON COLUMN "sys_user_role_relation"."role_id" IS '角色ID';
-COMMENT
-ON TABLE "sys_user_role_relation" IS '后台用户-角色关联';
-
--- ----------------------------
--- Records of sys_user_role_relation
--- ----------------------------
-BEGIN;
-INSERT INTO "sys_user_role_relation"
-VALUES (1, 0, 1, 0, '2021-01-01 18:22:12', NULL, '2021-01-01 18:22:12', NULL, 1, 1);
-COMMIT;
-
--- ----------------------------
--- Table structure for 数据表模板
--- ----------------------------
-DROP TABLE IF EXISTS "数据表模板";
-CREATE TABLE "数据表模板"
-(
-    "id"         int8         NOT NULL,
-    "tenant_id"  int8,
-    "revision"   int8         NOT NULL DEFAULT 1,
-    "del_flag"   int2         NOT NULL DEFAULT 0,
-    "created_at" timestamp(6) NOT NULL,
-    "created_by" varchar(255),
-    "updated_at" timestamp(6) NOT NULL,
-    "updated_by" varchar(255)
-)
-;
-COMMENT
-ON COLUMN "数据表模板"."id" IS '主键ID';
-COMMENT
-ON COLUMN "数据表模板"."tenant_id" IS '租户ID';
-COMMENT
-ON COLUMN "数据表模板"."revision" IS '乐观锁';
-COMMENT
-ON COLUMN "数据表模板"."del_flag" IS '逻辑删除标识';
-COMMENT
-ON COLUMN "数据表模板"."created_at" IS '创建时刻';
-COMMENT
-ON COLUMN "数据表模板"."created_by" IS '创建者';
-COMMENT
-ON COLUMN "数据表模板"."updated_at" IS '更新时刻';
-COMMENT
-ON COLUMN "数据表模板"."updated_by" IS '更新者';
-COMMENT
-ON TABLE "数据表模板" IS '数据表注释';
-
--- ----------------------------
--- Records of 数据表模板
--- ----------------------------
-BEGIN;
-COMMIT;
-
--- ----------------------------
--- Primary Key structure for table sys_dept
--- ----------------------------
-ALTER TABLE "sys_dept"
-    ADD CONSTRAINT "sys_dept_pkey" PRIMARY KEY ("id");
-
--- ----------------------------
--- Primary Key structure for table sys_log
--- ----------------------------
-ALTER TABLE "sys_log"
-    ADD CONSTRAINT "sys_log_pkey" PRIMARY KEY ("id");
-
--- ----------------------------
--- Primary Key structure for table sys_menu
--- ----------------------------
-ALTER TABLE "sys_menu"
-    ADD CONSTRAINT "sys_menu_pkey" PRIMARY KEY ("id");
-
--- ----------------------------
--- Primary Key structure for table sys_param
--- ----------------------------
-ALTER TABLE "sys_param"
-    ADD CONSTRAINT "sys_param_pkey" PRIMARY KEY ("id");
-
--- ----------------------------
--- Primary Key structure for table sys_role
--- ----------------------------
-ALTER TABLE "sys_role"
-    ADD CONSTRAINT "sys_role_pkey" PRIMARY KEY ("id");
-
--- ----------------------------
--- Primary Key structure for table sys_role_menu_relation
--- ----------------------------
-ALTER TABLE "sys_role_menu_relation"
-    ADD CONSTRAINT "sys_role_menu_relation_pkey" PRIMARY KEY ("id");
-
--- ----------------------------
--- Primary Key structure for table sys_tenant
--- ----------------------------
-ALTER TABLE "sys_tenant"
-    ADD CONSTRAINT "sys_tenant_pkey" PRIMARY KEY ("id");
-
--- ----------------------------
--- Primary Key structure for table sys_user
--- ----------------------------
-ALTER TABLE "sys_user"
-    ADD CONSTRAINT "sys_user_pkey" PRIMARY KEY ("id");
-
--- ----------------------------
--- Primary Key structure for table sys_user_dept_relation
--- ----------------------------
-ALTER TABLE "sys_user_dept_relation"
-    ADD CONSTRAINT "sys_user_dept_relation_pkey" PRIMARY KEY ("id");
-
--- ----------------------------
--- Primary Key structure for table sys_user_role_relation
--- ----------------------------
-ALTER TABLE "sys_user_role_relation"
-    ADD CONSTRAINT "sys_user_role_relation_pkey" PRIMARY KEY ("id");
-
--- ----------------------------
--- Primary Key structure for table 数据表模板
--- ----------------------------
-ALTER TABLE "数据表模板"
-    ADD CONSTRAINT "数据表模板_pkey" PRIMARY KEY ("id");
-
-
--- v1.7.2 - Uncarbon - 默认内置文件上传功能
--- 建表 oss_file_info
-DROP TABLE IF EXISTS "oss_file_info";
-CREATE TABLE "oss_file_info"
-(
-    "id"                int8         NOT NULL,
-    "tenant_id"         int8,
-    "revision"          int8         NOT NULL DEFAULT 1,
-    "del_flag"          int2         NOT NULL DEFAULT 0,
-    "created_at"        timestamp(6) NOT NULL,
-    "created_by"        varchar(255),
-    "updated_at"        timestamp(6) NOT NULL,
-    "updated_by"        varchar(255),
-    "storage_platform"  varchar(50)  NOT NULL,
-    "storage_base_path" varchar(255) NOT NULL,
-    "storage_path"      varchar(512) NOT NULL,
-    "storage_filename"  varchar(255) NOT NULL,
-    "original_filename" varchar(255) NOT NULL,
-    "extend_name"       varchar(16)  NOT NULL,
-    "file_size"         int8         NOT NULL,
-    "md5"               varchar(32)  NOT NULL,
-    "classified"        varchar(50),
-    "direct_url"        varchar(512)
-)
-;
-COMMENT
-ON COLUMN "oss_file_info"."id" IS '主键ID';
-COMMENT
-ON COLUMN "oss_file_info"."tenant_id" IS '租户ID';
-COMMENT
-ON COLUMN "oss_file_info"."revision" IS '乐观锁';
-COMMENT
-ON COLUMN "oss_file_info"."del_flag" IS '逻辑删除标识';
-COMMENT
-ON COLUMN "oss_file_info"."created_at" IS '创建时刻';
-COMMENT
-ON COLUMN "oss_file_info"."created_by" IS '创建者';
-COMMENT
-ON COLUMN "oss_file_info"."updated_at" IS '更新时刻';
-COMMENT
-ON COLUMN "oss_file_info"."updated_by" IS '更新者';
-COMMENT
-ON COLUMN "oss_file_info"."storage_platform" IS '存储平台';
-COMMENT
-ON COLUMN "oss_file_info"."storage_base_path" IS '基础存储路径';
-COMMENT
-ON COLUMN "oss_file_info"."storage_path" IS '存储路径';
-COMMENT
-ON COLUMN "oss_file_info"."storage_filename" IS '存储文件名';
-COMMENT
-ON COLUMN "oss_file_info"."original_filename" IS '原始文件名';
-COMMENT
-ON COLUMN "oss_file_info"."extend_name" IS '扩展名';
-COMMENT
-ON COLUMN "oss_file_info"."file_size" IS '文件大小';
-COMMENT
-ON COLUMN "oss_file_info"."md5" IS 'MD5';
-COMMENT
-ON COLUMN "oss_file_info"."classified" IS '文件类别';
-COMMENT
-ON COLUMN "oss_file_info"."direct_url" IS '对象存储直链';
-COMMENT
-ON TABLE "oss_file_info" IS '上传文件信息';
-
--- 主键
-ALTER TABLE "oss_file_info"
-    ADD CONSTRAINT "oss_file_info_pkey" PRIMARY KEY ("id");
-
-
--- v1.7.2 - Uncarbon - 新增上传文件信息管理菜单
-INSERT INTO sys_menu (id, tenant_id, revision, del_flag, created_at, created_by, updated_at,
-                      updated_by, title, parent_id, type, permission, icon, sort, status, component,
-                      external_link)
-VALUES (20220922152710, NULL, 1, 0, '2022-12-25 23:09:30', 'admin', '2022-12-26 22:02:31', 'admin', '文件管理', 0, 0,
-        'Oss', 'ant-design:file-outlined', 4, 1, NULL, '');
-INSERT INTO sys_menu (id, tenant_id, revision, del_flag, created_at, created_by, updated_at,
-                      updated_by, title, parent_id, type, permission, icon, sort, status, component,
-                      external_link)
-VALUES (20220922152714, NULL, 1, 0, '2022-09-22 15:27:14', 'helio-generator', '2022-12-26 22:03:14', 'admin',
-        '上传文件信息管理', 20220922152710, 1, 'OssFileInfo', 'ant-design:save-twotone', 1, 1, '/oss/OssFileInfo/index',
-        '');
-INSERT INTO sys_menu (id, tenant_id, revision, del_flag, created_at, created_by, updated_at,
-                      updated_by, title, parent_id, type, permission, icon, sort, status, component,
-                      external_link)
-VALUES (20220922152715, NULL, 1, 0, '2022-09-22 15:27:14', 'helio-generator', '2022-12-26 22:01:58', 'admin', '查询',
-        20220922152714, 2, 'OssFileInfo:retrieve', NULL, 1, 1, NULL, '');
-INSERT INTO sys_menu (id, tenant_id, revision, del_flag, created_at, created_by, updated_at,
-                      updated_by, title, parent_id, type, permission, icon, sort, status, component,
-                      external_link)
-VALUES (20220922152718, NULL, 1, 0, '2022-09-22 15:27:14', 'helio-generator', '2022-12-26 22:02:09', 'admin', '删除',
-        20220922152714, 2, 'OssFileInfo:delete', NULL, 2, 1, NULL, '');
-
--- v1.8.0 - Uncarbon - 新增错误原因堆栈、用户UA、IP属地字段;表注释更新
-ALTER TABLE sys_log
-    ADD COLUMN error_stacktrace varchar(3000) NOT NULL DEFAULT '',
-    ADD COLUMN user_agent varchar(255) NOT NULL DEFAULT '',
-    ADD COLUMN ip_location_region_name varchar(100) NOT NULL DEFAULT '',
-    ADD COLUMN ip_location_province_name varchar(100) NOT NULL DEFAULT '',
-    ADD COLUMN ip_location_city_name varchar(100) NOT NULL DEFAULT '',
-    ADD COLUMN ip_location_district_name varchar(100) NOT NULL DEFAULT '';
-
-COMMENT ON COLUMN sys_log.error_stacktrace IS '错误原因堆栈';
-COMMENT ON COLUMN sys_log.user_agent IS '用户UA';
-COMMENT ON COLUMN sys_log.ip_location_region_name IS 'IP地址属地-国家或地区名';
-COMMENT ON COLUMN sys_log.ip_location_province_name IS 'IP地址属地-省级行政区名';
-COMMENT ON COLUMN sys_log.ip_location_city_name IS 'IP地址属地-市级行政区名';
-COMMENT ON COLUMN sys_log.ip_location_district_name IS 'IP地址属地-县级行政区名';
-
-COMMENT ON TABLE sys_log IS '系统日志';
-
--- v1.8.0 - Uncarbon - 订正系统菜单-权限串缺少默认值问题
-ALTER TABLE "sys_menu"
-    ALTER COLUMN "permission" SET DEFAULT '';
-
--- 新增'头像URL'字段
-ALTER TABLE sys_user ADD COLUMN avatar_url varchar(255);
-
-COMMENT ON COLUMN sys_user.avatar_url IS '头像URL';

+ 0 - 10
attachments/db/PostgreSQL/upgrade/1.10.0_to_1.11.0.sql

@@ -1,10 +0,0 @@
--- v1.11.0 - 「后台角色」中,`title`字段更名为「角色名」,`value`字段更名为「角色编码」
-COMMENT ON COLUMN "sys_role"."title" IS '角色名';
-COMMENT ON COLUMN "sys_role"."value" IS '角色编码';
-
--- v1.11.0 - 「数据字典」中,`value`字段更名为「数据值」
-COMMENT ON COLUMN "sys_data_dict"."value" IS '数据值';
-
--- v1.11.0 - 扩充「后台用户」数据表,「昵称」字段的长度上限为255
-ALTER TABLE "sys_user"
-    ALTER COLUMN "nickname" TYPE varchar(255);

+ 0 - 89
attachments/db/PostgreSQL/upgrade/1.7.1_to_1.7.2.sql

@@ -1,89 +0,0 @@
--- 建表 oss_file_info
-DROP TABLE IF EXISTS "oss_file_info";
-CREATE TABLE "oss_file_info"
-(
-    "id"                int8         NOT NULL,
-    "tenant_id"         int8,
-    "revision"          int8         NOT NULL,
-    "del_flag"          int2         NOT NULL,
-    "created_at"        timestamp(6) NOT NULL,
-    "created_by"        varchar(255),
-    "updated_at"        timestamp(6) NOT NULL,
-    "updated_by"        varchar(255),
-    "storage_platform"  varchar(50)  NOT NULL,
-    "storage_base_path" varchar(255) NOT NULL,
-    "storage_path"      varchar(512) NOT NULL,
-    "storage_filename"  varchar(255) NOT NULL,
-    "original_filename" varchar(255) NOT NULL,
-    "extend_name"       varchar(16)  NOT NULL,
-    "file_size"         int8         NOT NULL,
-    "md5"               varchar(32)  NOT NULL,
-    "classified"        varchar(50),
-    "direct_url"        varchar(512)
-)
-;
-COMMENT
-ON COLUMN "oss_file_info"."id" IS '主键ID';
-COMMENT
-ON COLUMN "oss_file_info"."tenant_id" IS '租户ID';
-COMMENT
-ON COLUMN "oss_file_info"."revision" IS '乐观锁';
-COMMENT
-ON COLUMN "oss_file_info"."del_flag" IS '逻辑删除标识';
-COMMENT
-ON COLUMN "oss_file_info"."created_at" IS '创建时刻';
-COMMENT
-ON COLUMN "oss_file_info"."created_by" IS '创建者';
-COMMENT
-ON COLUMN "oss_file_info"."updated_at" IS '更新时刻';
-COMMENT
-ON COLUMN "oss_file_info"."updated_by" IS '更新者';
-COMMENT
-ON COLUMN "oss_file_info"."storage_platform" IS '存储平台';
-COMMENT
-ON COLUMN "oss_file_info"."storage_base_path" IS '基础存储路径';
-COMMENT
-ON COLUMN "oss_file_info"."storage_path" IS '存储路径';
-COMMENT
-ON COLUMN "oss_file_info"."storage_filename" IS '存储文件名';
-COMMENT
-ON COLUMN "oss_file_info"."original_filename" IS '原始文件名';
-COMMENT
-ON COLUMN "oss_file_info"."extend_name" IS '扩展名';
-COMMENT
-ON COLUMN "oss_file_info"."file_size" IS '文件大小';
-COMMENT
-ON COLUMN "oss_file_info"."md5" IS 'MD5';
-COMMENT
-ON COLUMN "oss_file_info"."classified" IS '文件类别';
-COMMENT
-ON COLUMN "oss_file_info"."direct_url" IS '对象存储直链';
-COMMENT
-ON TABLE "oss_file_info" IS '上传文件信息';
-
--- 主键
-ALTER TABLE "oss_file_info"
-    ADD CONSTRAINT "oss_file_info_pkey" PRIMARY KEY ("id");
-
--- 增加对应后台管理菜单
-INSERT INTO sys_menu (id, tenant_id, revision, del_flag, created_at, created_by, updated_at,
-                      updated_by, title, parent_id, type, permission, icon, sort, status, component,
-                      external_link)
-VALUES (20220922152710, NULL, 1, 0, '2022-12-25 23:09:30', 'admin', '2022-12-26 22:02:31', 'admin', '文件管理', 0, 0,
-        'Oss', 'ant-design:file-outlined', 4, 1, NULL, '');
-INSERT INTO sys_menu (id, tenant_id, revision, del_flag, created_at, created_by, updated_at,
-                      updated_by, title, parent_id, type, permission, icon, sort, status, component,
-                      external_link)
-VALUES (20220922152714, NULL, 1, 0, '2022-09-22 15:27:14', 'helio-generator', '2022-12-26 22:03:14', 'admin',
-        '上传文件信息管理', 20220922152710, 1, 'OssFileInfo', 'ant-design:save-twotone', 1, 1, '/oss/OssFileInfo/index',
-        '');
-INSERT INTO sys_menu (id, tenant_id, revision, del_flag, created_at, created_by, updated_at,
-                      updated_by, title, parent_id, type, permission, icon, sort, status, component,
-                      external_link)
-VALUES (20220922152715, NULL, 1, 0, '2022-09-22 15:27:14', 'helio-generator', '2022-12-26 22:01:58', 'admin', '查询',
-        20220922152714, 2, 'OssFileInfo:retrieve', NULL, 1, 1, NULL, '');
-INSERT INTO sys_menu (id, tenant_id, revision, del_flag, created_at, created_by, updated_at,
-                      updated_by, title, parent_id, type, permission, icon, sort, status, component,
-                      external_link)
-VALUES (20220922152718, NULL, 1, 0, '2022-09-22 15:27:14', 'helio-generator', '2022-12-26 22:02:09', 'admin', '删除',
-        20220922152714, 2, 'OssFileInfo:delete', NULL, 2, 1, NULL, '');

+ 0 - 21
attachments/db/PostgreSQL/upgrade/1.7.3_to_1.8.0.sql

@@ -1,21 +0,0 @@
--- v1.8.0 - Uncarbon - 新增错误原因堆栈、用户UA、IP属地字段;表注释更新
-ALTER TABLE sys_log
-    ADD COLUMN error_stacktrace varchar(3000) NOT NULL DEFAULT '',
-    ADD COLUMN user_agent varchar(255) NOT NULL DEFAULT '',
-    ADD COLUMN ip_location_region_name varchar(100) NOT NULL DEFAULT '',
-    ADD COLUMN ip_location_province_name varchar(100) NOT NULL DEFAULT '',
-    ADD COLUMN ip_location_city_name varchar(100) NOT NULL DEFAULT '',
-    ADD COLUMN ip_location_district_name varchar(100) NOT NULL DEFAULT '';
-
-COMMENT ON COLUMN sys_log.error_stacktrace IS '错误原因堆栈';
-COMMENT ON COLUMN sys_log.user_agent IS '用户UA';
-COMMENT ON COLUMN sys_log.ip_location_region_name IS 'IP地址属地-国家或地区名';
-COMMENT ON COLUMN sys_log.ip_location_province_name IS 'IP地址属地-省级行政区名';
-COMMENT ON COLUMN sys_log.ip_location_city_name IS 'IP地址属地-市级行政区名';
-COMMENT ON COLUMN sys_log.ip_location_district_name IS 'IP地址属地-县级行政区名';
-
-COMMENT ON TABLE sys_log IS '系统日志';
-
--- v1.8.0 - Uncarbon - 订正系统菜单-权限串缺少默认值问题
-ALTER TABLE "sys_menu"
-    ALTER COLUMN "permission" SET DEFAULT '';

+ 0 - 4
attachments/db/PostgreSQL/upgrade/1.9.0_to_1.10.0.sql

@@ -1,4 +0,0 @@
--- v1.10.0 - 补充遗漏的数据表默认值
-ALTER TABLE "oss_file_info"
-    ALTER COLUMN "revision" SET DEFAULT 1,
-    ALTER COLUMN "del_flag" SET DEFAULT 0;

+ 0 - 64
attachments/db/PostgreSQL/upgrade/2.0.0_to_2.1.0.sql

@@ -1,64 +0,0 @@
--- 重构数据字典,拆分为`sys_data_dict_classified`(数据字典分类)和`sys_data_dict_item`(数据字典项),并重新设计字段
-CREATE TABLE "sys_data_dict_classified" (
-  "id" int8 NOT NULL,
-  "tenant_id" int8,
-  "revision" int8 NOT NULL DEFAULT 1,
-  "del_flag" int2 NOT NULL DEFAULT 0,
-  "created_at" timestamp(6) NOT NULL,
-  "created_by" varchar(255) COLLATE "pg_catalog"."default",
-  "updated_at" timestamp(6) NOT NULL,
-  "updated_by" varchar(255) COLLATE "pg_catalog"."default",
-  "code" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
-  "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
-  "status" int2 NOT NULL DEFAULT 1,
-  "description" varchar(255) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying
-);
-COMMENT ON COLUMN "sys_data_dict_classified"."id" IS '主键ID';
-COMMENT ON COLUMN "sys_data_dict_classified"."tenant_id" IS '租户ID';
-COMMENT ON COLUMN "sys_data_dict_classified"."revision" IS '乐观锁';
-COMMENT ON COLUMN "sys_data_dict_classified"."del_flag" IS '逻辑删除标识';
-COMMENT ON COLUMN "sys_data_dict_classified"."created_at" IS '创建时刻';
-COMMENT ON COLUMN "sys_data_dict_classified"."created_by" IS '创建者';
-COMMENT ON COLUMN "sys_data_dict_classified"."updated_at" IS '更新时刻';
-COMMENT ON COLUMN "sys_data_dict_classified"."updated_by" IS '更新者';
-COMMENT ON COLUMN "sys_data_dict_classified"."code" IS '分类编码';
-COMMENT ON COLUMN "sys_data_dict_classified"."name" IS '分类名称';
-COMMENT ON COLUMN "sys_data_dict_classified"."status" IS '状态';
-COMMENT ON COLUMN "sys_data_dict_classified"."description" IS '分类描述';
-COMMENT ON TABLE "sys_data_dict_classified" IS '数据字典分类';
-ALTER TABLE "sys_data_dict_classified" ADD PRIMARY KEY ("id");
-
-CREATE TABLE "sys_data_dict_item" (
-  "id" int8 NOT NULL,
-  "tenant_id" int8,
-  "revision" int8 NOT NULL DEFAULT 1,
-  "del_flag" int2 NOT NULL DEFAULT 0,
-  "created_at" timestamp(6) NOT NULL,
-  "created_by" varchar(255) COLLATE "pg_catalog"."default",
-  "updated_at" timestamp(6) NOT NULL,
-  "updated_by" varchar(255) COLLATE "pg_catalog"."default",
-  "classified_id" int8 NOT NULL,
-  "code" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
-  "label" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
-  "value" varchar(4096) COLLATE "pg_catalog"."default" NOT NULL,
-  "status" int2 NOT NULL DEFAULT 1,
-  "sort" int4 NOT NULL DEFAULT 1,
-  "description" varchar(255) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying
-);
-COMMENT ON COLUMN "sys_data_dict_item"."id" IS '主键ID';
-COMMENT ON COLUMN "sys_data_dict_item"."tenant_id" IS '租户ID';
-COMMENT ON COLUMN "sys_data_dict_item"."revision" IS '乐观锁';
-COMMENT ON COLUMN "sys_data_dict_item"."del_flag" IS '逻辑删除标识';
-COMMENT ON COLUMN "sys_data_dict_item"."created_at" IS '创建时刻';
-COMMENT ON COLUMN "sys_data_dict_item"."created_by" IS '创建者';
-COMMENT ON COLUMN "sys_data_dict_item"."updated_at" IS '更新时刻';
-COMMENT ON COLUMN "sys_data_dict_item"."updated_by" IS '更新者';
-COMMENT ON COLUMN "sys_data_dict_item"."classified_id" IS '所属分类ID';
-COMMENT ON COLUMN "sys_data_dict_item"."code" IS '字典项编码';
-COMMENT ON COLUMN "sys_data_dict_item"."label" IS '字典项标签';
-COMMENT ON COLUMN "sys_data_dict_item"."value" IS '字典项值';
-COMMENT ON COLUMN "sys_data_dict_item"."status" IS '状态';
-COMMENT ON COLUMN "sys_data_dict_item"."sort" IS '排序';
-COMMENT ON COLUMN "sys_data_dict_item"."description" IS '描述';
-COMMENT ON TABLE "sys_data_dict_item" IS '数据字典项';
-ALTER TABLE "sys_data_dict_item" ADD PRIMARY KEY ("id");

+ 0 - 4
attachments/db/PostgreSQL/upgrade/2.4.0_to_2.4.1.sql

@@ -1,4 +0,0 @@
--- 新增'头像URL'字段
-ALTER TABLE sys_user ADD COLUMN avatar_url varchar(255);
-
-COMMENT ON COLUMN sys_user.avatar_url IS '头像URL';

+ 0 - 3
entrypoint.sh

@@ -1,3 +0,0 @@
-#!/bin/sh
-echo "The application will start ..."
-exec java ${JAVA_OPTS} ${APP_OPTS} -noverify -XX:+AlwaysPreTouch -Djava.security.egd=file:/dev/./urandom -jar app.jar  "$@"

+ 72 - 16
pom.xml

@@ -7,19 +7,18 @@
 
     <parent>
         <groupId>cc.uncarbon.framework</groupId>
-        <artifactId>helio-starters</artifactId>
-        <version>2.5.0</version>
+        <artifactId>crm-starters</artifactId>
+        <version>2.5.0.1</version>
     </parent>
 
     <groupId>cc.uncarbon.module</groupId>
-    <artifactId>helio-boot</artifactId>
-    <description>Helio 单模块版单体脚手架</description>
+    <artifactId>jtzx-crm</artifactId>
+    <description>crm系统</description>
     <!-- 制品版本号,建议每次打包发布时都调整以作区分 -->
-    <version>2.5.0</version>
-
+    <version>2.5.0.1</version>
     <properties>
         <!-- 如果实际开发使用的是JDK 21,则下面改成'21' -->
-        <java.version>17</java.version>
+        <java.version>21</java.version>
 
         <!-- 这里管理全局第三方依赖版本,避免冲突 -->
         <!-- 文件上传 -->
@@ -49,11 +48,6 @@
             <artifactId>helio-starter-knife4j</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>cc.uncarbon.framework</groupId>
-            <artifactId>helio-starter-redis</artifactId>
-        </dependency>
-
         <dependency>
             <groupId>cc.uncarbon.framework</groupId>
             <artifactId>helio-starter-satoken</artifactId>
@@ -70,6 +64,54 @@
             <artifactId>helio-starter-web</artifactId>
         </dependency>
 
+
+        <!-- 这里写其他第三方依赖 -->
+        <!-- redis 做消息队列需要排除自带的3.33 的版本,这个版本有bug,引入3.52版本 -->
+        <dependency>
+            <groupId>cc.uncarbon.framework</groupId>
+            <artifactId>helio-starter-redis</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.redisson</groupId>
+                    <artifactId>redisson-spring-data-33</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.redisson</groupId>
+                    <artifactId>redisson-spring-boot-starter</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>org.redisson</groupId>
+            <artifactId>redisson-spring-data-33</artifactId>
+            <version>3.52.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.redisson</groupId>
+            <artifactId>redisson-spring-boot-starter</artifactId>
+            <version>3.52.0</version>
+        </dependency>
+
+        <!-- redis 消息队列 start-->
+        <dependency>
+            <groupId>io.github.zhaohaoh</groupId>
+            <artifactId>redismq-spring-boot-starter</artifactId>
+            <version>0.5.0-beta7</version>
+        </dependency>
+        <dependency>
+            <groupId>io.github.zhaohaoh</groupId>
+            <artifactId>redismq-spring-boot3-starter</artifactId>
+            <version>0.5.0-beta7</version>
+        </dependency>
+        <dependency>
+            <groupId>io.lettuce</groupId>
+            <artifactId>lettuce-core</artifactId>
+            <version>6.5.5.RELEASE</version>
+        </dependency>
+        <!-- redis 消息队列 end-->
+
         <!-- 这里写其他第三方依赖 -->
         <!-- 对象存储工具类 https://gitee.com/dromara/x-file-storage -->
         <dependency>
@@ -85,13 +127,27 @@
             </exclusions>
         </dependency>
 
-        <!-- MinIO 依赖包 -->
+        <!-- 引入 阿里云 OSS SDK,如果使用其它存储平台,就引入对应的 SDK  -->
+        <dependency>
+            <groupId>com.aliyun.oss</groupId>
+            <artifactId>aliyun-sdk-oss</artifactId>
+            <version>3.18.5</version>
+        </dependency>
+
+        <!-- 发短信 -->
         <dependency>
-            <groupId>io.minio</groupId>
-            <artifactId>minio</artifactId>
-            <version>${minio.version}</version>
+            <groupId>org.dromara.sms4j</groupId>
+            <artifactId>sms4j-spring-boot-starter</artifactId>
+            <version>3.3.5</version>
         </dependency>
 
+
+        <!-- 这里写其他第三方依赖 -->
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+            <version>3.19.0</version>
+        </dependency>
     </dependencies>
 
     <build>

+ 2 - 3
src/main/java/cc/uncarbon/HelioBootApplication.java → src/main/java/cc/uncarbon/JtzxCrmSysApplication.java

@@ -10,9 +10,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
  */
 @EnableInitHikariPoolAtStartup
 @SpringBootApplication
-public class HelioBootApplication {
+public class JtzxCrmSysApplication {
     public static void main(String[] args) {
-        SpringApplication.run(HelioBootApplication.class, args);
+        SpringApplication.run(JtzxCrmSysApplication.class, args);
     }
-
 }

+ 38 - 0
src/main/java/cc/uncarbon/config/AsyncVThreadConfiguration.java

@@ -0,0 +1,38 @@
+package cc.uncarbon.config;
+
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.task.AsyncTaskExecutor;
+import org.springframework.core.task.support.TaskExecutorAdapter;
+import org.springframework.scheduling.annotation.EnableAsync;
+
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+
+/**
+ * @author Uncarbon
+ */
+@Slf4j
+@EnableAsync
+@Configuration
+@RequiredArgsConstructor
+public class AsyncVThreadConfiguration{
+
+
+    public ExecutorService getVirtualThreadPerTaskExecutor() {
+        return Executors.newVirtualThreadPerTaskExecutor();
+    }
+
+    public AsyncTaskExecutor getAsyncExecutor() {
+        return this.asyncTaskExecutor();
+    }
+
+    @Bean(name = "vThreadExecutor")
+    public AsyncTaskExecutor asyncTaskExecutor() {
+        return new TaskExecutorAdapter(Executors.newVirtualThreadPerTaskExecutor());
+    }
+
+}

+ 24 - 0
src/main/java/cc/uncarbon/config/CustomizationBean.java

@@ -0,0 +1,24 @@
+package cc.uncarbon.config;
+
+import io.undertow.server.DefaultByteBufferPool;
+import io.undertow.websockets.jsr.WebSocketDeploymentInfo;
+import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory;
+import org.springframework.boot.web.server.WebServerFactoryCustomizer;
+import org.springframework.stereotype.Component;
+
+/**
+ * @description: 解决启动io.undertow.websockets.jsr UT026010: Buffer pool was not
+ *   set on WebSocketDeploymentInfo, the default pool will be used的警告
+ */
+@Component
+public class CustomizationBean implements WebServerFactoryCustomizer<UndertowServletWebServerFactory> {
+    @Override
+    public void customize(UndertowServletWebServerFactory factory) {
+        factory.addDeploymentInfoCustomizers(deploymentInfo -> {
+            WebSocketDeploymentInfo webSocketDeploymentInfo = new WebSocketDeploymentInfo();
+            webSocketDeploymentInfo.setBuffers(new DefaultByteBufferPool(false, 8192));
+            deploymentInfo.addServletContextAttribute("io.undertow.websockets.jsr.WebSocketDeploymentInfo", webSocketDeploymentInfo);
+        });
+    }
+}
+

+ 53 - 0
src/main/java/cc/uncarbon/config/RedisConfig.java

@@ -0,0 +1,53 @@
+package cc.uncarbon.config;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+@Configuration
+public class RedisConfig {
+
+    @Bean
+    @Primary // 加上 Primary 确保绝对优先
+    @SuppressWarnings("all") // 压制泛型警告
+    public RedisTemplate redisTemplate(RedisConnectionFactory connectionFactory) { // <-- 移除这里的 <String, Object> 泛型
+        RedisTemplate<String, Object> template = new RedisTemplate<>();
+        template.setConnectionFactory(connectionFactory);
+
+        // 使用安全的序列化器
+        ObjectMapper objectMapper = new ObjectMapper();
+        objectMapper.registerModule(new JavaTimeModule());
+        objectMapper.activateDefaultTyping(objectMapper.getPolymorphicTypeValidator(),
+                ObjectMapper.DefaultTyping.NON_FINAL,
+                JsonTypeInfo.As.PROPERTY);
+        objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
+        GenericJackson2JsonRedisSerializer serializer = new GenericJackson2JsonRedisSerializer(objectMapper);
+
+        // Key 使用字符串序列化器
+        template.setKeySerializer(new StringRedisSerializer());
+        template.setValueSerializer(serializer);
+        template.setHashKeySerializer(new StringRedisSerializer());
+        template.setHashValueSerializer(serializer);
+        // Stream 相关序列化器
+        template.setStringSerializer(new StringRedisSerializer());
+        template.afterPropertiesSet();
+        return template; // <-- 返回带有一切配置的原始 RedisTemplate Bean
+    }
+
+    @Bean
+    @Primary // 加上 Primary 确保绝对优先
+    @SuppressWarnings("all") // 压制泛型警告
+    public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory connectionFactory) {
+        return new StringRedisTemplate(connectionFactory);
+    }
+}

+ 109 - 26
src/main/resources/application-dev.yml

@@ -5,31 +5,84 @@ helio:
     # 数据库类型
     db-type: mysql
     # 数据库连接主机
-    db-host: 127.0.0.1
+    db-host: rm-2ze5rrx931p48e6ec3o.mysql.rds.aliyuncs.com
     # 数据库端口
     db-port: 3306
     # 数据库登录账号
     db-username: root
     # 数据库登录密码
-    db-password: root
+    db-password: W5wqn4rzAXN9
     # 数据库名
-    db-name: helio_boot
+    db-name: jtzx_crm
   web:
     logging:
       # 是否启用 Web 访问日志切面;开发、测试环境可以开启,生产环境不开启
-      enabled: false
+      enabled: true
 
 spring:
   data:
     redis:
       # Redis连接主机
-      host: 127.0.0.1
+      host: service.k12100.net
       # Redis连接端口
-      port: 6379
+      port: 6079
       # Redis登录密码;如果没有设置密码,请注释掉下面这行,避免向 Redis-server 发送 AUTH 鉴权请求,引发程序启动失败
-      password:
+      password: VmANNzPX8EQZ3x01oM22
       # Redis数据库序号
-      database: 1
+      database: 14
+  redismq: #消息队列
+    namespace: jtzx-crm #命名空间,同一个redis环境隔离
+    client: #redis 客户端配置
+      client-name: crmRedisMQ
+      host: ${spring.data.redis.host:192.168.1.70}
+      database: 14
+      port: ${spring.data.redis.port:6379}
+      password: ${spring.data.redis.password:VmANNzPX8EQZ3x01oM22}
+    global-config: #全局配置
+      queue-max-size: 1000000  #队列最大大小
+      delay-queue-pull-size: 100 #延时队列拉取的头部消息数量
+      virtual-lock-time: 15 #单个虚拟队列消费的锁定时间
+      virtual-lock-watch-dog-time: 8 #单个虚拟队列消费看门狗的续期时间
+      send-after-commit: false #是否全局开启事务提交后发送
+      seata-state: false #开启seata事务
+      print-consume-log: true #打印核心消费日志
+      task-timeout: 120000 #任务执行超时时间 ms
+      task-wait-time: 1000 #任务阻塞等待轮询时间 ms
+      max-worker-id-bits: 6 #最大机器数量 2的6次方-1 台 63台
+    queue-config: #队列配置 virtual=1,concurrency=1,max-concurrency=1即为顺序消费
+      virtual: 1 #虚拟队列数量 默认是1,单机redis配多了没有意义
+      concurrency: 16 #消费者数量(并发度),会被注解redis监听替换,多台部署,同时只能有一台消费
+      max-concurrency: 16 #最大消费者数量
+      consume-retry-max: 1 #消费者重试次数
+      producer-retry-max: 1 #生产者重试次数
+      producer-retry-interval: 500 #发送者重试时间间隔(毫秒)
+      retry-interval: 500 #消费者重试时间间隔(毫秒)
+      ack-mode: auto  #ack模式(字符串形式,与AckMode枚举对应) auto(自动)和maual(手动)
+
+    consumser-config: #消费者端配置
+      application-name: jtzx-crm  #应用名,通过控制台展示不同应用的集群
+      group-id: jtzx-crm #消费者组名称
+      group-offset-low-max: 1000000 #多个消费者组偏移量最大允许偏差值, 超过偏差值的消息将会被移除. 建议和queueMaxSize保持一致
+      auto-offset-consume: current #该配置标识当前group重新上线时从哪个偏移量开始消费 latest最新偏移量 current当前偏移量。
+      new-group-offset: latest #该配置标识一个新的group上线时从哪个偏移量开始消费 latest最新偏移量 new从0开始消费。 如果是current 新注册的group默认是0会从最开始的时候消费
+
+    producer-config: #生产者端配置
+      producer-retry-count: 30 # 生产者重试最多次数
+      load-balance-retry-count: 3 #生产 loadBalance 加载服务 重试
+      load-balance-retry-mills: 30  #生产 loadBalance 加载服务 重试间隔
+      producer-retry-sleep: 200 #生产者重试间隔
+      producer-max-batch-size: 200 #生产者批量发送消息限制最大数量
+      product-ack: async #生产者消息确认机制,async-异步,sync-同步
+      print-producer-log: true # 打印核心生产日志
+      ignore-rpc-error: true #忽略rpc错误请求,只有同步的时候有效,忽略消息持久化失败也要发送到队列
+      send-max-timeout: 60000 #发送消息超时60秒 rpc默认30秒(数据持久化)
+      producer-basket-size: 10000 #生产者异步发送队列大小。小了影响吞吐量,默认10000
+
+  jackson:
+    serialization:
+      write-dates-as-timestamps: false
+    date-format: yyyy-MM-dd HH:mm:ss
+
 
 knife4j:
   # 生产环境务必设为true
@@ -43,24 +96,54 @@ mybatis-plus:
 dromara:
   x-file-storage:
     # 文档:https://x-file-storage.xuyanwu.cn/
-    # 默认使用 local-plus-1 存储平台
-    default-platform: local-plus-1
+    # 默认使用 aliyun-oss-1 存储平台
+    default-platform: aliyun-oss-1
     # 缩略图后缀
     thumbnail-suffix: ".min.jpg"
-    local-plus: # 本地存储升级版,不使用的情况下可以不写
-      - platform: local-plus-1 # 存储平台标识
-        enable-storage: true  #启用存储
-        enable-access: false #启用访问(线上请使用 Nginx 配置,效率更高)
-        domain: "" # 访问域名,例如:“http://127.0.0.1:8030/”,注意后面要和 path-patterns 保持一致,“/”结尾,本地存储建议使用相对路径,方便后期更换域名
-        base-path: / # 基础路径
-        path-patterns: /** # 访问路径
-        storage-path: (实际本地存储路径,如 D:/local-plus-1) # 实际本地存储路径
-    minio: # MinIO,由于 MinIO SDK 支持 AWS S3,其它兼容 AWS S3 协议的存储平台也都可配置在这里
-      - platform: minio-1 # 存储平台标识
+    aliyun-oss:
+      - platform: aliyun-oss-1 # 存储平台标识
         enable-storage: true  # 启用存储
-        access-key: (MinIO AK)
-        secret-key: (MinIO SK)
-        end-point: http://127.0.0.1:9000
-        bucket-name: helio
-        domain: http://127.0.0.1:9000/helio/ # 访问域名,注意“/”结尾,例如:http://minio.abc.com/abc/
-        base-path: / # 基础路径
+        access-key: LTAI5t6sfxUSFPq1W3VAsd49
+        secret-key: VcDk6aOLEdWTu7yBa8tLFgo2j2FB79
+        end-point: oss-accelerate.aliyuncs.com
+        bucket-name: jtzx001
+        domain: https://jtzx001.oss-accelerate.aliyuncs.com/ # 访问域名,注意“/”结尾,例如:https://abc.oss-cn-shanghai.aliyuncs.com/
+        base-path: jtzx-crm/ # 基础路径
+
+#短信
+sms:
+  is-print: false
+  restricted: true
+  minute-max: 3 #每分钟最多发3次
+  http-log: true
+  # 标注从yml读取配置
+  config-type: yaml
+  blends:
+    # 自定义的标识,也就是configId这里可以是任意值(最好不要是中文)
+    tx1:
+      #厂商标识,标定此配置是哪个厂商,详细请看厂商标识介绍部分
+      supplier: alibaba
+      #您的accessKey
+      access-key-id: LTAI5t6sfxUSFPq1W3VAsd49
+      #您的accessKeySecret
+      access-key-secret: VcDk6aOLEdWTu7yBa8tLFgo2j2FB79
+      #您的短信签名
+      signature: 北京京投助校科技
+      template-name: 验证码短信
+      #模板ID(也叫templateCode) 非必须配置,如果使用sendMessage的快速发送需此配置
+      template-id: SMS_318655743
+      #配置标识名称 如果你使用的yml进行配置,则blends下层配置的就是这个,可为空,如果你使用的接口类配置,则需要设置值
+      #需要注意的是,不同的配置之间config-id不能重复,否则会发生配置丢失的问题
+      config-id: jtzx-crm
+      #短信自动重试间隔时间  默认五秒
+      retry-interval: 5
+      # 短信重试次数,默认0次不重试,如果你需要短信重试则根据自己的需求修改值即可
+      max-retries: 3
+
+
+
+
+logging:
+  level:
+    # 指定日志级别,开发、测试环境建议为 DEBUG,生产环境建议为 INFO
+    cc.uncarbon: DEBUG

+ 100 - 25
src/main/resources/application-prod.yml

@@ -5,31 +5,83 @@ helio:
     # 数据库类型
     db-type: mysql
     # 数据库连接主机
-    db-host: 127.0.0.1
+    db-host: 172.28.189.253
     # 数据库端口
     db-port: 3306
     # 数据库登录账号
     db-username: root
     # 数据库登录密码
-    db-password: root
+    db-password: qXRA2ygjj4GNAh8L!
     # 数据库名
-    db-name: helio_boot
+    db-name: jtzx_crm
   web:
     logging:
       # 是否启用 Web 访问日志切面;开发、测试环境可以开启,生产环境不开启
-      enabled: false
+      enabled: true
 
 spring:
   data:
     redis:
       # Redis连接主机
-      host: 127.0.0.1
+      host: 172.28.189.250
       # Redis连接端口
       port: 6379
       # Redis登录密码;如果没有设置密码,请注释掉下面这行,避免向 Redis-server 发送 AUTH 鉴权请求,引发程序启动失败
-      password:
+      password: VmANNzPX8EQZ3x01oM22
       # Redis数据库序号
-      database: 1
+      database: 14
+  redismq: #消息队列
+    namespace: jtzx-crm #命名空间,同一个redis环境隔离
+    client: #redis 客户端配置
+      client-name: crmRedisMQ
+      host: ${spring.data.redis.host:192.168.1.70}
+      database: 14
+      port: ${spring.data.redis.port:6379}
+      password: ${spring.data.redis.password:VmANNzPX8EQZ3x01oM22}
+    global-config: #全局配置
+      queue-max-size: 1000000  #队列最大大小
+      delay-queue-pull-size: 100 #延时队列拉取的头部消息数量
+      virtual-lock-time: 15 #单个虚拟队列消费的锁定时间
+      virtual-lock-watch-dog-time: 8 #单个虚拟队列消费看门狗的续期时间
+      send-after-commit: false #是否全局开启事务提交后发送
+      seata-state: false #开启seata事务
+      print-consume-log: true #打印核心消费日志
+      task-timeout: 120000 #任务执行超时时间 ms
+      task-wait-time: 1000 #任务阻塞等待轮询时间 ms
+      max-worker-id-bits: 6 #最大机器数量 2的6次方-1 台 63台
+    queue-config: #队列配置 virtual=1,concurrency=1,max-concurrency=1即为顺序消费
+      virtual: 1 #虚拟队列数量 默认是1,单机redis配多了没有意义
+      concurrency: 16 #消费者数量(并发度),会被注解redis监听替换,多台部署,同时只能有一台消费
+      max-concurrency: 16 #最大消费者数量
+      consume-retry-max: 1 #消费者重试次数
+      producer-retry-max: 1 #生产者重试次数
+      producer-retry-interval: 500 #发送者重试时间间隔(毫秒)
+      retry-interval: 500 #消费者重试时间间隔(毫秒)
+      ack-mode: auto  #ack模式(字符串形式,与AckMode枚举对应) auto(自动)和maual(手动)
+
+    consumser-config: #消费者端配置
+      application-name: jtzx-crm  #应用名,通过控制台展示不同应用的集群
+      group-id: jtzx-crm #消费者组名称
+      group-offset-low-max: 1000000 #多个消费者组偏移量最大允许偏差值, 超过偏差值的消息将会被移除. 建议和queueMaxSize保持一致
+      auto-offset-consume: current #该配置标识当前group重新上线时从哪个偏移量开始消费 latest最新偏移量 current当前偏移量。
+      new-group-offset: latest #该配置标识一个新的group上线时从哪个偏移量开始消费 latest最新偏移量 new从0开始消费。 如果是current 新注册的group默认是0会从最开始的时候消费
+
+    producer-config: #生产者端配置
+      producer-retry-count: 30 # 生产者重试最多次数
+      load-balance-retry-count: 3 #生产 loadBalance 加载服务 重试
+      load-balance-retry-mills: 30  #生产 loadBalance 加载服务 重试间隔
+      producer-retry-sleep: 200 #生产者重试间隔
+      producer-max-batch-size: 200 #生产者批量发送消息限制最大数量
+      product-ack: async #生产者消息确认机制,async-异步,sync-同步
+      print-producer-log: true # 打印核心生产日志
+      ignore-rpc-error: true #忽略rpc错误请求,只有同步的时候有效,忽略消息持久化失败也要发送到队列
+      send-max-timeout: 60000 #发送消息超时60秒 rpc默认30秒(数据持久化)
+      producer-basket-size: 10000 #生产者异步发送队列大小。小了影响吞吐量,默认10000
+
+  jackson:
+    serialization:
+      write-dates-as-timestamps: false
+    date-format: yyyy-MM-dd HH:mm:ss
 
 knife4j:
   # 生产环境务必设为true
@@ -38,27 +90,50 @@ knife4j:
 dromara:
   x-file-storage:
     # 文档:https://x-file-storage.xuyanwu.cn/
-    # 默认使用 local-plus-1 存储平台
-    default-platform: local-plus-1
+    # 默认使用 aliyun-oss-1 存储平台
+    default-platform: aliyun-oss-1
     # 缩略图后缀
     thumbnail-suffix: ".min.jpg"
-    local-plus: # 本地存储升级版,不使用的情况下可以不写
-      - platform: local-plus-1 # 存储平台标识
-        enable-storage: true  #启用存储
-        enable-access: false #启用访问(线上请使用 Nginx 配置,效率更高)
-        domain: "" # 访问域名,例如:“http://127.0.0.1:8030/”,注意后面要和 path-patterns 保持一致,“/”结尾,本地存储建议使用相对路径,方便后期更换域名
-        base-path: / # 基础路径
-        path-patterns: /** # 访问路径
-        storage-path: (实际本地存储路径,如 D:/local-plus-1) # 实际本地存储路径
-    minio: # MinIO,由于 MinIO SDK 支持 AWS S3,其它兼容 AWS S3 协议的存储平台也都可配置在这里
-      - platform: minio-1 # 存储平台标识
+    aliyun-oss:
+      - platform: aliyun-oss-1 # 存储平台标识
         enable-storage: true  # 启用存储
-        access-key: (MinIO AK)
-        secret-key: (MinIO SK)
-        end-point: http://127.0.0.1:9000
-        bucket-name: helio
-        domain: http://127.0.0.1:9000/helio/ # 访问域名,注意“/”结尾,例如:http://minio.abc.com/abc/
-        base-path: / # 基础路径
+        access-key: LTAI5t6sfxUSFPq1W3VAsd49
+        secret-key: VcDk6aOLEdWTu7yBa8tLFgo2j2FB79
+        end-point: oss-accelerate.aliyuncs.com
+        bucket-name: jtzx001
+        domain: https://jtzx001.oss-accelerate.aliyuncs.com/ # 访问域名,注意“/”结尾,例如:https://abc.oss-cn-shanghai.aliyuncs.com/
+        base-path: jtzx-crm/ # 基础路径
+
+
+#短信
+sms:
+  is-print: false
+  restricted: true
+  minute-max: 3 #每分钟最多发3次
+  http-log: false
+  # 标注从yml读取配置
+  config-type: yaml
+  blends:
+    # 自定义的标识,也就是configId这里可以是任意值(最好不要是中文)
+    tx1:
+      #厂商标识,标定此配置是哪个厂商,详细请看厂商标识介绍部分
+      supplier: alibaba
+      #您的accessKey
+      access-key-id: LTAI5t6sfxUSFPq1W3VAsd49
+      #您的accessKeySecret
+      access-key-secret: VcDk6aOLEdWTu7yBa8tLFgo2j2FB79
+      #您的短信签名
+      signature: 北京京投助校科技
+      template-name: 验证码短信
+      #模板ID(也叫templateCode) 非必须配置,如果使用sendMessage的快速发送需此配置
+      template-id: SMS_318655743
+      #配置标识名称 如果你使用的yml进行配置,则blends下层配置的就是这个,可为空,如果你使用的接口类配置,则需要设置值
+      #需要注意的是,不同的配置之间config-id不能重复,否则会发生配置丢失的问题
+      config-id: jtzx-crm
+      #短信自动重试间隔时间  默认五秒
+      retry-interval: 5
+      # 短信重试次数,默认0次不重试,如果你需要短信重试则根据自己的需求修改值即可
+      max-retries: 3
 
 logging:
   level:

+ 104 - 24
src/main/resources/application-test.yml

@@ -5,15 +5,15 @@ helio:
     # 数据库类型
     db-type: mysql
     # 数据库连接主机
-    db-host: 127.0.0.1
+    db-host: rm-2ze5rrx931p48e6ec.mysql.rds.aliyuncs.com
     # 数据库端口
     db-port: 3306
     # 数据库登录账号
     db-username: root
     # 数据库登录密码
-    db-password: root
+    db-password: W5wqn4rzAXN9
     # 数据库名
-    db-name: helio_boot
+    db-name: jtzx_crm
   web:
     logging:
       # 是否启用 Web 访问日志切面;开发、测试环境可以开启,生产环境不开启
@@ -23,13 +23,65 @@ spring:
   data:
     redis:
       # Redis连接主机
-      host: 127.0.0.1
+      host: 172.28.189.252
       # Redis连接端口
       port: 6379
       # Redis登录密码;如果没有设置密码,请注释掉下面这行,避免向 Redis-server 发送 AUTH 鉴权请求,引发程序启动失败
-      password:
+      password: VmANNzPX8EQZ3x01oM22
       # Redis数据库序号
-      database: 1
+      database: 14
+  redismq: #消息队列
+    namespace: jtzx-crm #命名空间,同一个redis环境隔离
+    client: #redis 客户端配置
+      client-name: crmRedisMQ
+      host: ${spring.data.redis.host:172.28.189.252}
+      database: 14
+      port: ${spring.data.redis.port:6379}
+      password: ${spring.data.redis.password:VmANNzPX8EQZ3x01oM22}
+    global-config: #全局配置
+      queue-max-size: 1000000  #队列最大大小
+      delay-queue-pull-size: 100 #延时队列拉取的头部消息数量
+      virtual-lock-time: 15 #单个虚拟队列消费的锁定时间
+      virtual-lock-watch-dog-time: 8 #单个虚拟队列消费看门狗的续期时间
+      send-after-commit: false #是否全局开启事务提交后发送
+      seata-state: false #开启seata事务
+      print-consume-log: true #打印核心消费日志
+      task-timeout: 120000 #任务执行超时时间 ms
+      task-wait-time: 1000 #任务阻塞等待轮询时间 ms
+      max-worker-id-bits: 6 #最大机器数量 2的6次方-1 台 63台
+    queue-config: #队列配置 virtual=1,concurrency=1,max-concurrency=1即为顺序消费
+      virtual: 1 #虚拟队列数量 默认是1,单机redis配多了没有意义
+      concurrency: 16 #消费者数量(并发度),会被注解redis监听替换,多台部署,同时只能有一台消费
+      max-concurrency: 16 #最大消费者数量
+      consume-retry-max: 1 #消费者重试次数
+      producer-retry-max: 1 #生产者重试次数
+      producer-retry-interval: 500 #发送者重试时间间隔(毫秒)
+      retry-interval: 500 #消费者重试时间间隔(毫秒)
+      ack-mode: auto  #ack模式(字符串形式,与AckMode枚举对应) auto(自动)和maual(手动)
+
+    consumser-config: #消费者端配置
+      application-name: jtzx-crm  #应用名,通过控制台展示不同应用的集群
+      group-id: jtzx-crm #消费者组名称
+      group-offset-low-max: 1000000 #多个消费者组偏移量最大允许偏差值, 超过偏差值的消息将会被移除. 建议和queueMaxSize保持一致
+      auto-offset-consume: current #该配置标识当前group重新上线时从哪个偏移量开始消费 latest最新偏移量 current当前偏移量。
+      new-group-offset: latest #该配置标识一个新的group上线时从哪个偏移量开始消费 latest最新偏移量 new从0开始消费。 如果是current 新注册的group默认是0会从最开始的时候消费
+
+    producer-config: #生产者端配置
+      producer-retry-count: 30 # 生产者重试最多次数
+      load-balance-retry-count: 3 #生产 loadBalance 加载服务 重试
+      load-balance-retry-mills: 30  #生产 loadBalance 加载服务 重试间隔
+      producer-retry-sleep: 200 #生产者重试间隔
+      producer-max-batch-size: 200 #生产者批量发送消息限制最大数量
+      product-ack: async #生产者消息确认机制,async-异步,sync-同步
+      print-producer-log: true # 打印核心生产日志
+      ignore-rpc-error: true #忽略rpc错误请求,只有同步的时候有效,忽略消息持久化失败也要发送到队列
+      send-max-timeout: 60000 #发送消息超时60秒 rpc默认30秒(数据持久化)
+      producer-basket-size: 10000 #生产者异步发送队列大小。小了影响吞吐量,默认10000
+
+  jackson:
+    serialization:
+      write-dates-as-timestamps: false
+    date-format: yyyy-MM-dd HH:mm:ss
 
 knife4j:
   # 生产环境务必设为true
@@ -43,24 +95,52 @@ mybatis-plus:
 dromara:
   x-file-storage:
     # 文档:https://x-file-storage.xuyanwu.cn/
-    # 默认使用 local-plus-1 存储平台
-    default-platform: local-plus-1
+    # 默认使用 aliyun-oss-1 存储平台
+    default-platform: aliyun-oss-1
     # 缩略图后缀
     thumbnail-suffix: ".min.jpg"
-    local-plus: # 本地存储升级版,不使用的情况下可以不写
-      - platform: local-plus-1 # 存储平台标识
-        enable-storage: true  #启用存储
-        enable-access: false #启用访问(线上请使用 Nginx 配置,效率更高)
-        domain: "" # 访问域名,例如:“http://127.0.0.1:8030/”,注意后面要和 path-patterns 保持一致,“/”结尾,本地存储建议使用相对路径,方便后期更换域名
-        base-path: / # 基础路径
-        path-patterns: /** # 访问路径
-        storage-path: (实际本地存储路径,如 D:/local-plus-1) # 实际本地存储路径
-    minio: # MinIO,由于 MinIO SDK 支持 AWS S3,其它兼容 AWS S3 协议的存储平台也都可配置在这里
-      - platform: minio-1 # 存储平台标识
+    aliyun-oss:
+      - platform: aliyun-oss-1 # 存储平台标识
         enable-storage: true  # 启用存储
-        access-key: (MinIO AK)
-        secret-key: (MinIO SK)
-        end-point: http://127.0.0.1:9000
-        bucket-name: helio
-        domain: http://127.0.0.1:9000/helio/ # 访问域名,注意“/”结尾,例如:http://minio.abc.com/abc/
-        base-path: / # 基础路径
+        access-key: LTAI5t6sfxUSFPq1W3VAsd49
+        secret-key: VcDk6aOLEdWTu7yBa8tLFgo2j2FB79
+        end-point: oss-accelerate.aliyuncs.com
+        bucket-name: jtzx001
+        domain: https://jtzx001.oss-accelerate.aliyuncs.com/ # 访问域名,注意“/”结尾,例如:https://abc.oss-cn-shanghai.aliyuncs.com/
+        base-path: jtzx-crm/ # 基础路径
+
+#短信
+sms:
+  is-print: false
+  restricted: true
+  minute-max: 3 #每分钟最多发3次
+  http-log: true
+  # 标注从yml读取配置
+  config-type: yaml
+  blends:
+    # 自定义的标识,也就是configId这里可以是任意值(最好不要是中文)
+    tx1:
+      #厂商标识,标定此配置是哪个厂商,详细请看厂商标识介绍部分
+      supplier: alibaba
+      #您的accessKey
+      access-key-id: LTAI5t6sfxUSFPq1W3VAsd49
+      #您的accessKeySecret
+      access-key-secret: VcDk6aOLEdWTu7yBa8tLFgo2j2FB79
+      #您的短信签名
+      signature: 北京京投助校科技
+      template-name: 验证码短信
+      #模板ID(也叫templateCode) 非必须配置,如果使用sendMessage的快速发送需此配置
+      template-id: SMS_318655743
+      #配置标识名称 如果你使用的yml进行配置,则blends下层配置的就是这个,可为空,如果你使用的接口类配置,则需要设置值
+      #需要注意的是,不同的配置之间config-id不能重复,否则会发生配置丢失的问题
+      config-id: jtzx-crm
+      #短信自动重试间隔时间  默认五秒
+      retry-interval: 5
+      # 短信重试次数,默认0次不重试,如果你需要短信重试则根据自己的需求修改值即可
+      max-retries: 3
+
+
+logging:
+  level:
+    # 指定日志级别,开发、测试环境建议为 DEBUG,生产环境建议为 INFO
+    cc.uncarbon: DEBUG

+ 15 - 11
src/main/resources/application.yml

@@ -1,6 +1,15 @@
 spring:
+  main:
+    allow-bean-definition-overriding: true
+    allow-circular-references: true
   application:
-    name: helio-boot
+    name: jtzx-crm
+  servlet:
+    multipart:
+      # 文件上传大小限制(两个一起配)
+      # 如果还用了 Nginx 等反向代理,需要在反向代理的配置中也放宽请求体大小限制
+      max-file-size: 1024MB
+      max-request-size: 1024MB
   profiles:
     # 可通过命令行参数实现多环境切换配置文件
     active: dev
@@ -25,12 +34,7 @@ spring:
     execution:
       pool:
         core-size: 8
-  servlet:
-    multipart:
-      # 文件上传大小限制(两个一起配)
-      # 如果还用了 Nginx 等反向代理,需要在反向代理的配置中也放宽请求体大小限制
-      max-file-size: 1024MB
-      max-request-size: 1024MB
+
   # 不为工程中的资源文件建立映射
   web:
     resources:
@@ -80,14 +84,14 @@ knife4j:
   enable: true
   basic:
     enable: true
-    username: helio
-    password: helio
+    username: admin
+    password: admin123#@!
 springdoc:
   # 平铺显示复合入参对象
   default-flat-param-object: true
 
 server:
-  port: 7003
+  port: 57003
 
 mybatis-plus:
   # XML扫描,支持统配符 * 或者 , 分割
@@ -122,4 +126,4 @@ sa-token:
   # token 有效期,单位=秒;默认30天,-1代表永不过期
   timeout: 2592000
   # token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结
-  active-timeout: -1
+  active-timeout: 28800  #8小时

+ 8 - 7
src/main/resources/banner.txt

@@ -1,11 +1,12 @@
 ${AnsiColor.BLUE}
- _   _        _  _                ______                _
-| | | |      | |(_)               | ___ \              | |
-| |_| |  ___ | | _   ___   ______ | |_/ /  ___    ___  | |_
-|  _  | / _ \| || | / _ \ |______|| ___ \ / _ \  / _ \ | __|
-| | | ||  __/| || || (_) |        | |_/ /| (_) || (_) || |_
-\_| |_/ \___||_||_| \___/         \____/  \___/  \___/  \__|
-
+    ___  _________  ________     ___    ___             ________  ________  _____ ______
+   |\  \|\___   ___\\_____  \   |\  \  /  /|           |\   ____\|\   __  \|\   _ \  _   \
+   \ \  \|___ \  \_|\|___/  /|  \ \  \/  / /___________\ \  \___|\ \  \|\  \ \  \\\__\ \  \
+ __ \ \  \   \ \  \     /  / /   \ \    / /\____________\ \  \    \ \   _  _\ \  \\|__| \  \
+|\  \\_\  \   \ \  \   /  /_/__   /     \/\|____________|\ \  \____\ \  \\  \\ \  \    \ \  \
+\ \________\   \ \__\ |\________\/  /\   \                \ \_______\ \__\\ _\\ \__\    \ \__\
+ \|________|    \|__|  \|_______/__/ /\ __\                \|_______|\|__|\|__|\|__|     \|__|
+                                |__|/ \|__|
 
 ${AnsiColor.GREEN}
 Spring Boot Version: ${spring-boot.version}

+ 2 - 2
src/test/java/cc/uncarbon/test/ExampleUnitTest.java

@@ -1,6 +1,6 @@
 package cc.uncarbon.test;
 
-import cc.uncarbon.HelioBootApplication;
+import cc.uncarbon.JtzxCrmSysApplication;
 import cc.uncarbon.framework.core.constant.HelioConstant;
 import cc.uncarbon.framework.core.context.TenantContext;
 import cc.uncarbon.framework.core.context.TenantContextHolder;
@@ -22,7 +22,7 @@ import java.util.List;
  *
  * @author Uncarbon
  */
-@SpringBootTest(classes = HelioBootApplication.class)
+@SpringBootTest(classes = JtzxCrmSysApplication.class)
 class ExampleUnitTest {
 
     @Resource

+ 0 - 0
多模块版请移步至helio-boot-modular项目.md