Эх сурвалжийг харах

Merge branch 'master' of https://gitee.com/zhijiantianya/ruoyi-vue-pro into feature/bpm-back

YunaiV 3 жил өмнө
parent
commit
741dda8d75
100 өөрчлөгдсөн 10479 нэмэгдсэн , 1150 устгасан
  1. 26 0
      .gitee/ISSUE_TEMPLATE.zh-CN.md
  2. 34 0
      .github/ISSUE_TEMPLATE/question.md
  3. 6 1
      README.md
  4. 0 65
      sql/bpm-activiti.sql
  5. 0 65
      sql/bpm-flowable.sql
  6. 3 0
      sql/db2/README.md
  7. 3 0
      sql/dm/README.md
  8. 2570 0
      sql/mysql/ruoyi-vue-pro.sql
  9. 6036 0
      sql/oracle/ruoyi-vue-pro.sql
  10. 595 0
      sql/postgresql/ruoyi-vue-pro.sql
  11. 0 288
      sql/quartz.sql
  12. 0 43
      sql/ruoyi-vue-pro.sql
  13. 335 0
      sql/sqlserver/ruoyi-vue-pro.sql
  14. 0 12
      yudao-dependencies/pom.xml
  15. 14 0
      yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/collection/CollectionUtils.java
  16. 98 0
      yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/http/HttpUtils.java
  17. 6 3
      yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/json/JsonUtils.java
  18. 17 14
      yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/string/StrUtils.java
  19. 7 0
      yudao-framework/yudao-spring-boot-starter-biz-data-permission/pom.xml
  20. 6 6
      yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/config/YudaoDeptDataPermissionAutoConfiguration.java
  21. 0 22
      yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/dept/service/DeptDataPermissionFrameworkService.java
  22. 27 11
      yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java
  23. 1 1
      yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/rule/dept/DeptDataPermissionRuleCustomizer.java
  24. 1 1
      yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/rule/dept/package-info.java
  25. 32 18
      yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/test/java/cn/iocoder/yudao/framework/datapermission/core/rule/dept/DeptDataPermissionRuleTest.java
  26. 16 5
      yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/core/db/TenantDatabaseInterceptor.java
  27. 4 4
      yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/core/web/TenantContextWebFilter.java
  28. 2 2
      yudao-framework/yudao-spring-boot-starter-config/src/main/java/cn/iocoder/yudao/framework/apollo/internals/ConfigFrameworkDAO.java
  29. 1 2
      yudao-framework/yudao-spring-boot-starter-config/src/main/java/cn/iocoder/yudao/framework/apollo/internals/DBConfigRepository.java
  30. 10 5
      yudao-framework/yudao-spring-boot-starter-file/src/main/java/cn/iocoder/yudao/framework/file/core/client/ftp/FtpFileClient.java
  31. 0 1
      yudao-framework/yudao-spring-boot-starter-job/pom.xml
  32. 16 5
      yudao-framework/yudao-spring-boot-starter-mybatis/pom.xml
  33. 108 0
      yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/config/IdTypeEnvironmentPostProcessor.java
  34. 30 0
      yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/config/YudaoMybatisAutoConfiguration.java
  35. 3 3
      yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/dataobject/BaseDO.java
  36. 12 2
      yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/enums/SqlConstants.java
  37. 26 0
      yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/query/QueryWrapperX.java
  38. 70 0
      yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/type/EncryptTypeHandler.java
  39. 1 1
      yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/type/StringListTypeHandler.java
  40. 13 0
      yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/util/JdbcUtils.java
  41. 2 0
      yudao-framework/yudao-spring-boot-starter-mybatis/src/main/resources/META-INF/spring.factories
  42. 3 0
      yudao-framework/yudao-spring-boot-starter-protection/src/main/java/cn/iocoder/yudao/framework/lock4j/config/YudaoLock4jConfiguration.java
  43. 4 11
      yudao-framework/yudao-spring-boot-starter-security/pom.xml
  44. 0 13
      yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/config/SecurityProperties.java
  45. 11 26
      yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/config/YudaoSecurityAutoConfiguration.java
  46. 5 31
      yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/config/YudaoWebSecurityConfigurerAdapter.java
  47. 6 74
      yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/LoginUser.java
  48. 0 149
      yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/authentication/MultiUserDetailsAuthenticationProvider.java
  49. 0 43
      yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/authentication/MultiUsernamePasswordAuthenticationToken.java
  50. 41 12
      yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/filter/TokenAuthenticationFilter.java
  51. 0 40
      yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/handler/LogoutSuccessHandlerImpl.java
  52. 0 45
      yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/service/SecurityAuthFrameworkService.java
  53. 17 2
      yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/service/SecurityFrameworkService.java
  54. 57 0
      yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/service/SecurityFrameworkServiceImpl.java
  55. 5 14
      yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/util/SecurityFrameworkUtils.java
  56. 8 0
      yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java
  57. 44 2
      yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/util/WebFrameworkUtils.java
  58. 1 5
      yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskApproveReqVO.java
  59. 1 1
      yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskDonePageItemRespVO.java
  60. 1 1
      yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskRejectReqVO.java
  61. 2 0
      yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/definition/BpmFormDO.java
  62. 2 0
      yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/definition/BpmProcessDefinitionExtDO.java
  63. 4 2
      yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/definition/BpmTaskAssignRuleDO.java
  64. 2 0
      yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/definition/BpmUserGroupDO.java
  65. 8 5
      yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOALeaveDO.java
  66. 2 0
      yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/task/BpmProcessInstanceExtDO.java
  67. 4 1
      yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/task/BpmTaskExtDO.java
  68. 6 6
      yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/definition/BpmFormMapper.java
  69. 3 4
      yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/definition/BpmProcessDefinitionExtMapper.java
  70. 12 12
      yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/definition/BpmTaskAssignRuleMapper.java
  71. 15 16
      yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/task/BpmProcessInstanceExtMapper.java
  72. 2 2
      yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/task/BpmTaskExtMapper.java
  73. 1 1
      yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/service/message/BpmMessageServiceImpl.java
  74. 1 1
      yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/service/message/dto/BpmMessageSendWhenProcessInstanceRejectReqDTO.java
  75. 2 2
      yudao-module-bpm/yudao-module-bpm-biz-activiti/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmProcessInstanceConvert.java
  76. 2 2
      yudao-module-bpm/yudao-module-bpm-biz-activiti/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceService.java
  77. 3 3
      yudao-module-bpm/yudao-module-bpm-biz-activiti/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java
  78. 3 3
      yudao-module-bpm/yudao-module-bpm-biz-activiti/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java
  79. 2 4
      yudao-module-bpm/yudao-module-bpm-biz-flowable/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmProcessInstanceConvert.java
  80. 2 2
      yudao-module-bpm/yudao-module-bpm-biz-flowable/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceService.java
  81. 3 3
      yudao-module-bpm/yudao-module-bpm-biz-flowable/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java
  82. 3 3
      yudao-module-bpm/yudao-module-bpm-biz-flowable/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java
  83. 3 2
      yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/enums/ErrorCodeConstants.java
  84. 3 3
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/ConfigController.java
  85. 2 2
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigBaseVO.java
  86. 3 1
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/FileController.java
  87. 4 0
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/convert/config/ConfigConvert.java
  88. 2 0
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/codegen/CodegenColumnDO.java
  89. 2 0
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/codegen/CodegenTableDO.java
  90. 10 11
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/config/ConfigDO.java
  91. 6 1
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/db/DataSourceConfigDO.java
  92. 3 1
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/file/FileConfigDO.java
  93. 3 1
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/file/FileContentDO.java
  94. 3 3
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/file/FileDO.java
  95. 2 0
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/job/JobDO.java
  96. 2 0
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/job/JobLogDO.java
  97. 2 0
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/logger/ApiAccessLogDO.java
  98. 2 0
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/logger/ApiErrorLogDO.java
  99. 2 0
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/test/TestDemoDO.java
  100. 6 4
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/mysql/codegen/CodegenColumnMapper.java

+ 26 - 0
.gitee/ISSUE_TEMPLATE.zh-CN.md

@@ -0,0 +1,26 @@
+### 基本信息
+
+- ruoyi-vue-pro 版本:
+- 操作系统:
+- 数据库:
+
+### 复现步骤
+
+第一步,
+
+第二步,
+
+第三步,
+
+### 报错信息
+
+[截图]
+
+[截图]
+
+---
+
+建议:项目不是很难,碰到问题时,建议先花 2-4 小时的时间进行自查。
+
+Issue 中如果带上自己的分析,可以被更快更高效的解决。
+

+ 34 - 0
.github/ISSUE_TEMPLATE/question.md

@@ -0,0 +1,34 @@
+---
+name: 问题反馈
+about: 请详细描述,以便更高快的获得到解决
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+### 基本信息
+
+- ruoyi-vue-pro 版本:
+- 操作系统:
+- 数据库:
+
+### 复现步骤
+
+第一步,
+
+第二步,
+
+第三步,
+
+### 报错信息
+
+[截图]
+
+[截图]
+
+---
+
+建议:项目不是很难,碰到问题时,建议先花 2-4 小时的时间进行自查。
+
+Issue 中如果带上自己的分析,可以被更快更高效的解决。

+ 6 - 1
README.md

@@ -5,6 +5,10 @@
 **「我喜欢写代码,乐此不疲」**  
 **「我喜欢写代码,乐此不疲」**  
 **「我喜欢做开源,以此为乐」**
 **「我喜欢做开源,以此为乐」**
 
 
+我 🐶 在上海艰苦奋斗,早中晚在 top3 大厂认真搬砖,夜里为开源做贡献。
+
+如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。
+
 ## 🐯 平台简介
 ## 🐯 平台简介
 
 
 **芋道**,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。
 **芋道**,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。
@@ -15,6 +19,7 @@
 
 
 * 前端采用 [vue-element-admin](https://github.com/PanJiaChen/vue-element-admin) ,正在支持 Vue 3 + ElementUI Plus 最新方案。
 * 前端采用 [vue-element-admin](https://github.com/PanJiaChen/vue-element-admin) ,正在支持 Vue 3 + ElementUI Plus 最新方案。
 * 后端采用 Spring Boot、MySQL + MyBatis Plus、Redis + Redisson。
 * 后端采用 Spring Boot、MySQL + MyBatis Plus、Redis + Redisson。
+* 数据库可使用 MySQL、Oracle、PostgreSQL、SQL Server、MariaDB、国产达梦 DM、TiDB 等
 * 权限认证使用 Spring Security & Token & Redis,支持多终端、多种用户的认证系统。
 * 权限认证使用 Spring Security & Token & Redis,支持多终端、多种用户的认证系统。
 * 支持加载动态权限菜单,按钮级别权限控制,本地缓存提升性能。
 * 支持加载动态权限菜单,按钮级别权限控制,本地缓存提升性能。
 * 支持 SaaS 多租户系统,可自定义每个租户的权限,提供透明化的多租户底层封装。
 * 支持 SaaS 多租户系统,可自定义每个租户的权限,提供透明化的多租户底层封装。
@@ -26,7 +31,7 @@
 | 项目名                | 说明                     | 传说门                                                                                                                                 |
 | 项目名                | 说明                     | 传说门                                                                                                                                 |
 |--------------------|------------------------|-------------------------------------------------------------------------------------------------------------------------------------|
 |--------------------|------------------------|-------------------------------------------------------------------------------------------------------------------------------------|
 | `ruoyi-vue-pro`    | Spring Boot 多模块        | **[Gitee](https://gitee.com/zhijiantianya/ruoyi-vue-pro)**     [Github](https://github.com/YunaiV/ruoyi-vue-pro)     |
 | `ruoyi-vue-pro`    | Spring Boot 多模块        | **[Gitee](https://gitee.com/zhijiantianya/ruoyi-vue-pro)**     [Github](https://github.com/YunaiV/ruoyi-vue-pro)     |
-| `ruoyi-vue-cloud`  | Spring Cloud 微服务       | **[Gitee](https://gitee.com/zhijiantianya/ruoyi-vue-cloud)**     [Github](https://github.com/YunaiV/onemall)         |
+| `yudao-cloud`  | Spring Cloud 微服务       | **[Gitee](https://gitee.com/zhijiantianya/yudao-cloud)**     [Github](https://github.com/YunaiV/yudao-cloud)         |
 | `Spring-Boot-Labs` | Spring Boot & Cloud 入门 | **[Gitee](https://gitee.com/zhijiantianya/SpringBoot-Labs)**     [Github](https://github.com/YunaiV/SpringBoot-Labs) |
 | `Spring-Boot-Labs` | Spring Boot & Cloud 入门 | **[Gitee](https://gitee.com/zhijiantianya/SpringBoot-Labs)**     [Github](https://github.com/YunaiV/SpringBoot-Labs) |
 
 
 ## 🐶 在线体验
 ## 🐶 在线体验

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 65
sql/bpm-activiti.sql


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 65
sql/bpm-flowable.sql


+ 3 - 0
sql/db2/README.md

@@ -0,0 +1,3 @@
+暂未适配 IBM DB2 数据库,如果你有需要,可以微信联系 wangwenbin-server 一起建设。
+
+你需要把表结构与数据导入到 DM 数据库,我来测试与适配代码。

+ 3 - 0
sql/dm/README.md

@@ -0,0 +1,3 @@
+暂未适配国产 DM 数据库,如果你有需要,可以微信联系 wangwenbin-server 一起建设。
+
+你需要把表结构与数据导入到 DM 数据库,我来测试与适配代码。

+ 2570 - 0
sql/mysql/ruoyi-vue-pro.sql

@@ -0,0 +1,2570 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 127.0.0.1 MySQL
+ Source Server Type    : MySQL
+ Source Server Version : 80026
+ Source Host           : localhost:3306
+ Source Schema         : ruoyi-vue-pro
+
+ Target Server Type    : MySQL
+ Target Server Version : 80026
+ File Encoding         : 65001
+
+ Date: 13/05/2022 00:25:55
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for QRTZ_BLOB_TRIGGERS
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_BLOB_TRIGGERS`;
+CREATE TABLE `QRTZ_BLOB_TRIGGERS`  (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `BLOB_DATA` blob NULL,
+  PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
+  INDEX `SCHED_NAME`(`SCHED_NAME` ASC, `TRIGGER_NAME` ASC, `TRIGGER_GROUP` ASC) USING BTREE,
+  CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `QRTZ_TRIGGERS` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
+
+-- ----------------------------
+-- Records of QRTZ_BLOB_TRIGGERS
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_CALENDARS
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_CALENDARS`;
+CREATE TABLE `QRTZ_CALENDARS`  (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `CALENDAR` blob NOT NULL,
+  PRIMARY KEY (`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
+
+-- ----------------------------
+-- Records of QRTZ_CALENDARS
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_CRON_TRIGGERS
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_CRON_TRIGGERS`;
+CREATE TABLE `QRTZ_CRON_TRIGGERS`  (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `CRON_EXPRESSION` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TIME_ZONE_ID` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
+  PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
+  CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `QRTZ_TRIGGERS` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
+
+-- ----------------------------
+-- Records of QRTZ_CRON_TRIGGERS
+-- ----------------------------
+BEGIN;
+INSERT INTO `QRTZ_CRON_TRIGGERS` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `CRON_EXPRESSION`, `TIME_ZONE_ID`) VALUES ('schedulerName', 'payNotifyJob', 'DEFAULT', '* * * * * ?', 'Asia/Shanghai');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_FIRED_TRIGGERS
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_FIRED_TRIGGERS`;
+CREATE TABLE `QRTZ_FIRED_TRIGGERS`  (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `ENTRY_ID` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `FIRED_TIME` bigint NOT NULL,
+  `SCHED_TIME` bigint NOT NULL,
+  `PRIORITY` int NOT NULL,
+  `STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
+  `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
+  `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
+  `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
+  PRIMARY KEY (`SCHED_NAME`, `ENTRY_ID`) USING BTREE,
+  INDEX `IDX_QRTZ_FT_TRIG_INST_NAME`(`SCHED_NAME` ASC, `INSTANCE_NAME` ASC) USING BTREE,
+  INDEX `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY`(`SCHED_NAME` ASC, `INSTANCE_NAME` ASC, `REQUESTS_RECOVERY` ASC) USING BTREE,
+  INDEX `IDX_QRTZ_FT_J_G`(`SCHED_NAME` ASC, `JOB_NAME` ASC, `JOB_GROUP` ASC) USING BTREE,
+  INDEX `IDX_QRTZ_FT_JG`(`SCHED_NAME` ASC, `JOB_GROUP` ASC) USING BTREE,
+  INDEX `IDX_QRTZ_FT_T_G`(`SCHED_NAME` ASC, `TRIGGER_NAME` ASC, `TRIGGER_GROUP` ASC) USING BTREE,
+  INDEX `IDX_QRTZ_FT_TG`(`SCHED_NAME` ASC, `TRIGGER_GROUP` ASC) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
+
+-- ----------------------------
+-- Records of QRTZ_FIRED_TRIGGERS
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_JOB_DETAILS
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_JOB_DETAILS`;
+CREATE TABLE `QRTZ_JOB_DETAILS`  (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
+  `JOB_CLASS_NAME` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `IS_DURABLE` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `IS_UPDATE_DATA` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `JOB_DATA` blob NULL,
+  PRIMARY KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,
+  INDEX `IDX_QRTZ_J_REQ_RECOVERY`(`SCHED_NAME` ASC, `REQUESTS_RECOVERY` ASC) USING BTREE,
+  INDEX `IDX_QRTZ_J_GRP`(`SCHED_NAME` ASC, `JOB_GROUP` ASC) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
+
+-- ----------------------------
+-- Records of QRTZ_JOB_DETAILS
+-- ----------------------------
+BEGIN;
+INSERT INTO `QRTZ_JOB_DETAILS` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`, `DESCRIPTION`, `JOB_CLASS_NAME`, `IS_DURABLE`, `IS_NONCONCURRENT`, `IS_UPDATE_DATA`, `REQUESTS_RECOVERY`, `JOB_DATA`) VALUES ('schedulerName', 'payNotifyJob', 'DEFAULT', NULL, 'cn.iocoder.yudao.framework.quartz.core.handler.JobHandlerInvoker', '0', '1', '1', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C770800000010000000027400064A4F425F49447372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000057400104A4F425F48414E444C45525F4E414D4574000C7061794E6F746966794A6F627800);
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_LOCKS
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_LOCKS`;
+CREATE TABLE `QRTZ_LOCKS`  (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `LOCK_NAME` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
+
+-- ----------------------------
+-- Records of QRTZ_LOCKS
+-- ----------------------------
+BEGIN;
+INSERT INTO `QRTZ_LOCKS` (`SCHED_NAME`, `LOCK_NAME`) VALUES ('schedulerName', 'STATE_ACCESS');
+INSERT INTO `QRTZ_LOCKS` (`SCHED_NAME`, `LOCK_NAME`) VALUES ('schedulerName', 'TRIGGER_ACCESS');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_PAUSED_TRIGGER_GRPS
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_PAUSED_TRIGGER_GRPS`;
+CREATE TABLE `QRTZ_PAUSED_TRIGGER_GRPS`  (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  PRIMARY KEY (`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
+
+-- ----------------------------
+-- Records of QRTZ_PAUSED_TRIGGER_GRPS
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_SCHEDULER_STATE
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_SCHEDULER_STATE`;
+CREATE TABLE `QRTZ_SCHEDULER_STATE`  (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `LAST_CHECKIN_TIME` bigint NOT NULL,
+  `CHECKIN_INTERVAL` bigint NOT NULL,
+  PRIMARY KEY (`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
+
+-- ----------------------------
+-- Records of QRTZ_SCHEDULER_STATE
+-- ----------------------------
+BEGIN;
+INSERT INTO `QRTZ_SCHEDULER_STATE` (`SCHED_NAME`, `INSTANCE_NAME`, `LAST_CHECKIN_TIME`, `CHECKIN_INTERVAL`) VALUES ('schedulerName', 'Yunai.local1635571630493', 1635572537879, 15000);
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_SIMPLE_TRIGGERS
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_SIMPLE_TRIGGERS`;
+CREATE TABLE `QRTZ_SIMPLE_TRIGGERS`  (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `REPEAT_COUNT` bigint NOT NULL,
+  `REPEAT_INTERVAL` bigint NOT NULL,
+  `TIMES_TRIGGERED` bigint NOT NULL,
+  PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
+  CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `QRTZ_TRIGGERS` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
+
+-- ----------------------------
+-- Records of QRTZ_SIMPLE_TRIGGERS
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_SIMPROP_TRIGGERS
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_SIMPROP_TRIGGERS`;
+CREATE TABLE `QRTZ_SIMPROP_TRIGGERS`  (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `STR_PROP_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
+  `STR_PROP_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
+  `STR_PROP_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
+  `INT_PROP_1` int NULL DEFAULT NULL,
+  `INT_PROP_2` int NULL DEFAULT NULL,
+  `LONG_PROP_1` bigint NULL DEFAULT NULL,
+  `LONG_PROP_2` bigint NULL DEFAULT NULL,
+  `DEC_PROP_1` decimal(13, 4) NULL DEFAULT NULL,
+  `DEC_PROP_2` decimal(13, 4) NULL DEFAULT NULL,
+  `BOOL_PROP_1` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
+  `BOOL_PROP_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
+  PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
+  CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `QRTZ_TRIGGERS` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
+
+-- ----------------------------
+-- Records of QRTZ_SIMPROP_TRIGGERS
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_TRIGGERS
+-- ----------------------------
+DROP TABLE IF EXISTS `QRTZ_TRIGGERS`;
+CREATE TABLE `QRTZ_TRIGGERS`  (
+  `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
+  `NEXT_FIRE_TIME` bigint NULL DEFAULT NULL,
+  `PREV_FIRE_TIME` bigint NULL DEFAULT NULL,
+  `PRIORITY` int NULL DEFAULT NULL,
+  `TRIGGER_STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `TRIGGER_TYPE` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+  `START_TIME` bigint NOT NULL,
+  `END_TIME` bigint NULL DEFAULT NULL,
+  `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
+  `MISFIRE_INSTR` smallint NULL DEFAULT NULL,
+  `JOB_DATA` blob NULL,
+  PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
+  INDEX `IDX_QRTZ_T_J`(`SCHED_NAME` ASC, `JOB_NAME` ASC, `JOB_GROUP` ASC) USING BTREE,
+  INDEX `IDX_QRTZ_T_JG`(`SCHED_NAME` ASC, `JOB_GROUP` ASC) USING BTREE,
+  INDEX `IDX_QRTZ_T_C`(`SCHED_NAME` ASC, `CALENDAR_NAME` ASC) USING BTREE,
+  INDEX `IDX_QRTZ_T_G`(`SCHED_NAME` ASC, `TRIGGER_GROUP` ASC) USING BTREE,
+  INDEX `IDX_QRTZ_T_STATE`(`SCHED_NAME` ASC, `TRIGGER_STATE` ASC) USING BTREE,
+  INDEX `IDX_QRTZ_T_N_STATE`(`SCHED_NAME` ASC, `TRIGGER_NAME` ASC, `TRIGGER_GROUP` ASC, `TRIGGER_STATE` ASC) USING BTREE,
+  INDEX `IDX_QRTZ_T_N_G_STATE`(`SCHED_NAME` ASC, `TRIGGER_GROUP` ASC, `TRIGGER_STATE` ASC) USING BTREE,
+  INDEX `IDX_QRTZ_T_NEXT_FIRE_TIME`(`SCHED_NAME` ASC, `NEXT_FIRE_TIME` ASC) USING BTREE,
+  INDEX `IDX_QRTZ_T_NFT_ST`(`SCHED_NAME` ASC, `TRIGGER_STATE` ASC, `NEXT_FIRE_TIME` ASC) USING BTREE,
+  INDEX `IDX_QRTZ_T_NFT_MISFIRE`(`SCHED_NAME` ASC, `MISFIRE_INSTR` ASC, `NEXT_FIRE_TIME` ASC) USING BTREE,
+  INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE`(`SCHED_NAME` ASC, `MISFIRE_INSTR` ASC, `NEXT_FIRE_TIME` ASC, `TRIGGER_STATE` ASC) USING BTREE,
+  INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP`(`SCHED_NAME` ASC, `MISFIRE_INSTR` ASC, `NEXT_FIRE_TIME` ASC, `TRIGGER_GROUP` ASC, `TRIGGER_STATE` ASC) USING BTREE,
+  CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `QRTZ_JOB_DETAILS` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
+
+-- ----------------------------
+-- Records of QRTZ_TRIGGERS
+-- ----------------------------
+BEGIN;
+INSERT INTO `QRTZ_TRIGGERS` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `JOB_NAME`, `JOB_GROUP`, `DESCRIPTION`, `NEXT_FIRE_TIME`, `PREV_FIRE_TIME`, `PRIORITY`, `TRIGGER_STATE`, `TRIGGER_TYPE`, `START_TIME`, `END_TIME`, `CALENDAR_NAME`, `MISFIRE_INSTR`, `JOB_DATA`) VALUES ('schedulerName', 'payNotifyJob', 'DEFAULT', 'payNotifyJob', 'DEFAULT', NULL, 1635572540000, 1635572539000, 5, 'WAITING', 'CRON', 1635294882000, 0, NULL, 0, 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C770800000010000000037400114A4F425F48414E444C45525F504152414D707400124A4F425F52455452595F494E54455256414C737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000074000F4A4F425F52455452595F434F554E5471007E000B7800);
+COMMIT;
+
+-- ----------------------------
+-- Table structure for bpm_form
+-- ----------------------------
+DROP TABLE IF EXISTS `bpm_form`;
+CREATE TABLE `bpm_form`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '表单名',
+  `status` tinyint NOT NULL COMMENT '开启状态',
+  `conf` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '表单的配置',
+  `fields` varchar(5000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '表单项的数组',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '工作流的表单定义';
+
+-- ----------------------------
+-- Records of bpm_form
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for bpm_oa_leave
+-- ----------------------------
+DROP TABLE IF EXISTS `bpm_oa_leave`;
+CREATE TABLE `bpm_oa_leave`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '请假表单主键',
+  `user_id` bigint NOT NULL COMMENT '申请人的用户编号',
+  `type` tinyint NOT NULL COMMENT '请假类型',
+  `reason` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '请假原因',
+  `start_time` datetime NOT NULL COMMENT '开始时间',
+  `end_time` datetime NOT NULL COMMENT '结束时间',
+  `day` tinyint NOT NULL COMMENT '请假天数',
+  `result` tinyint NOT NULL COMMENT '请假结果',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '流程实例的编号',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 26 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OA 请假申请表';
+
+-- ----------------------------
+-- Records of bpm_oa_leave
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for bpm_process_definition_ext
+-- ----------------------------
+DROP TABLE IF EXISTS `bpm_process_definition_ext`;
+CREATE TABLE `bpm_process_definition_ext`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `process_definition_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '流程定义的编号',
+  `model_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '流程模型的编号',
+  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '描述',
+  `form_type` tinyint NOT NULL COMMENT '表单类型',
+  `form_id` bigint NULL DEFAULT NULL COMMENT '表单编号',
+  `form_conf` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '表单的配置',
+  `form_fields` varchar(5000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '表单项的数组',
+  `form_custom_create_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '自定义表单的提交路径',
+  `form_custom_view_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '自定义表单的查看路径',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 98 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'Bpm 流程定义的拓展表\n';
+
+-- ----------------------------
+-- Records of bpm_process_definition_ext
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for bpm_process_instance_ext
+-- ----------------------------
+DROP TABLE IF EXISTS `bpm_process_instance_ext`;
+CREATE TABLE `bpm_process_instance_ext`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `start_user_id` bigint NOT NULL COMMENT '发起流程的用户编号',
+  `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '流程实例的名字',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '流程实例的编号',
+  `process_definition_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '流程定义的编号',
+  `category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '流程分类',
+  `status` tinyint NOT NULL COMMENT '流程实例的状态',
+  `result` tinyint NOT NULL COMMENT '流程实例的结果',
+  `end_time` datetime NULL DEFAULT NULL COMMENT '结束时间',
+  `form_variables` varchar(5000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '表单值',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 201 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '工作流的流程实例的拓展';
+
+-- ----------------------------
+-- Records of bpm_process_instance_ext
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for bpm_task_assign_rule
+-- ----------------------------
+DROP TABLE IF EXISTS `bpm_task_assign_rule`;
+CREATE TABLE `bpm_task_assign_rule`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `model_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '流程模型的编号',
+  `process_definition_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '流程定义的编号',
+  `task_definition_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '流程任务定义的 key',
+  `type` tinyint NOT NULL COMMENT '规则类型',
+  `options` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '规则值,JSON 数组',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 192 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'Bpm 任务规则表';
+
+-- ----------------------------
+-- Records of bpm_task_assign_rule
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for bpm_task_ext
+-- ----------------------------
+DROP TABLE IF EXISTS `bpm_task_ext`;
+CREATE TABLE `bpm_task_ext`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `assignee_user_id` bigint NULL DEFAULT NULL COMMENT '任务的审批人',
+  `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '任务的名字',
+  `task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '任务的编号',
+  `result` tinyint NOT NULL COMMENT '任务的结果',
+  `reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '审批建议',
+  `end_time` datetime NULL DEFAULT NULL COMMENT '任务的结束时间',
+  `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '流程实例的编号',
+  `process_definition_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '流程定义的编号',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 214 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '工作流的流程任务的拓展表';
+
+-- ----------------------------
+-- Records of bpm_task_ext
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for bpm_user_group
+-- ----------------------------
+DROP TABLE IF EXISTS `bpm_user_group`;
+CREATE TABLE `bpm_user_group`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '组名',
+  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '描述',
+  `member_user_ids` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '成员编号数组',
+  `status` tinyint NOT NULL COMMENT '状态(0正常 1停用)',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 111 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户组';
+
+-- ----------------------------
+-- Records of bpm_user_group
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for infra_api_access_log
+-- ----------------------------
+DROP TABLE IF EXISTS `infra_api_access_log`;
+CREATE TABLE `infra_api_access_log`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志主键',
+  `trace_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '链路追踪编号',
+  `user_id` bigint NOT NULL DEFAULT 0 COMMENT '用户编号',
+  `user_type` tinyint NOT NULL DEFAULT 0 COMMENT '用户类型',
+  `application_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '应用名',
+  `request_method` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '请求方法名',
+  `request_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '请求地址',
+  `request_params` varchar(8000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '请求参数',
+  `user_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户 IP',
+  `user_agent` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浏览器 UA',
+  `begin_time` datetime NOT NULL COMMENT '开始请求时间',
+  `end_time` datetime NOT NULL COMMENT '结束请求时间',
+  `duration` int NOT NULL COMMENT '执行时长',
+  `result_code` int NOT NULL DEFAULT 0 COMMENT '结果码',
+  `result_msg` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '结果提示',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 29228 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'API 访问日志表';
+
+-- ----------------------------
+-- Records of infra_api_access_log
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for infra_api_error_log
+-- ----------------------------
+DROP TABLE IF EXISTS `infra_api_error_log`;
+CREATE TABLE `infra_api_error_log`  (
+  `id` int NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `trace_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '链路追踪编号\n     *\n     * 一般来说,通过链路追踪编号,可以将访问日志,错误日志,链路追踪日志,logger 打印日志等,结合在一起,从而进行排错。',
+  `user_id` int NOT NULL DEFAULT 0 COMMENT '用户编号',
+  `user_type` tinyint NOT NULL DEFAULT 0 COMMENT '用户类型',
+  `application_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '应用名\n     *\n     * 目前读取 spring.application.name',
+  `request_method` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '请求方法名',
+  `request_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '请求地址',
+  `request_params` varchar(8000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '请求参数',
+  `user_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户 IP',
+  `user_agent` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浏览器 UA',
+  `exception_time` datetime NOT NULL COMMENT '异常发生时间',
+  `exception_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '异常名\n     *\n     * {@link Throwable#getClass()} 的类全名',
+  `exception_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '异常导致的消息\n     *\n     * {@link cn.iocoder.common.framework.util.ExceptionUtil#getMessage(Throwable)}',
+  `exception_root_cause_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '异常导致的根消息\n     *\n     * {@link cn.iocoder.common.framework.util.ExceptionUtil#getRootCauseMessage(Throwable)}',
+  `exception_stack_trace` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '异常的栈轨迹\n     *\n     * {@link cn.iocoder.common.framework.util.ExceptionUtil#getServiceException(Exception)}',
+  `exception_class_name` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '异常发生的类全名\n     *\n     * {@link StackTraceElement#getClassName()}',
+  `exception_file_name` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '异常发生的类文件\n     *\n     * {@link StackTraceElement#getFileName()}',
+  `exception_method_name` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '异常发生的方法名\n     *\n     * {@link StackTraceElement#getMethodName()}',
+  `exception_line_number` int NOT NULL COMMENT '异常发生的方法所在行\n     *\n     * {@link StackTraceElement#getLineNumber()}',
+  `process_status` tinyint NOT NULL COMMENT '处理状态',
+  `process_time` datetime NULL DEFAULT NULL COMMENT '处理时间',
+  `process_user_id` int NULL DEFAULT 0 COMMENT '处理用户编号',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 429 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '系统异常日志';
+
+-- ----------------------------
+-- Records of infra_api_error_log
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for infra_codegen_column
+-- ----------------------------
+DROP TABLE IF EXISTS `infra_codegen_column`;
+CREATE TABLE `infra_codegen_column`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `table_id` bigint NOT NULL COMMENT '表编号',
+  `column_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字段名',
+  `data_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字段类型',
+  `column_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字段描述',
+  `nullable` bit(1) NOT NULL COMMENT '是否允许为空',
+  `primary_key` bit(1) NOT NULL COMMENT '是否主键',
+  `auto_increment` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '是否自增',
+  `ordinal_position` int NOT NULL COMMENT '排序',
+  `java_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Java 属性类型',
+  `java_field` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Java 属性名',
+  `dict_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '字典类型',
+  `example` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '数据示例',
+  `create_operation` bit(1) NOT NULL COMMENT '是否为 Create 创建操作的字段',
+  `update_operation` bit(1) NOT NULL COMMENT '是否为 Update 更新操作的字段',
+  `list_operation` bit(1) NOT NULL COMMENT '是否为 List 查询操作的字段',
+  `list_operation_condition` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '=' COMMENT 'List 查询操作的条件类型',
+  `list_operation_result` bit(1) NOT NULL COMMENT '是否为 List 查询操作的返回字段',
+  `html_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '显示类型',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1114 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代码生成表字段定义';
+
+-- ----------------------------
+-- Records of infra_codegen_column
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for infra_codegen_table
+-- ----------------------------
+DROP TABLE IF EXISTS `infra_codegen_table`;
+CREATE TABLE `infra_codegen_table`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `data_source_config_id` bigint NOT NULL COMMENT '数据源配置的编号',
+  `scene` tinyint NOT NULL DEFAULT 1 COMMENT '生成场景',
+  `table_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '表名称',
+  `table_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '表描述',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
+  `module_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模块名',
+  `business_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '业务名',
+  `class_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '类名称',
+  `class_comment` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '类描述',
+  `author` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '作者',
+  `template_type` tinyint NOT NULL DEFAULT 1 COMMENT '模板类型',
+  `parent_menu_id` bigint NULL DEFAULT NULL COMMENT '父菜单编号',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 98 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代码生成表定义';
+
+-- ----------------------------
+-- Records of infra_codegen_table
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for infra_config
+-- ----------------------------
+DROP TABLE IF EXISTS `infra_config`;
+CREATE TABLE `infra_config`  (
+  `id` int NOT NULL AUTO_INCREMENT COMMENT '参数主键',
+  `category` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '参数分组',
+  `type` tinyint NOT NULL COMMENT '参数类型',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '参数名称',
+  `config_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '参数键名',
+  `value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '参数键值',
+  `visible` bit(1) NOT NULL COMMENT '是否可见',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '参数配置表';
+
+-- ----------------------------
+-- Records of infra_config
+-- ----------------------------
+BEGIN;
+INSERT INTO `infra_config` (`id`, `category`, `type`, `name`, `config_key`, `value`, `visible`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1, 'ui', 1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', b'0', '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow', 'admin', '2021-01-05 17:03:48', '1', '2022-03-26 23:10:31', b'0');
+INSERT INTO `infra_config` (`id`, `category`, `type`, `name`, `config_key`, `value`, `visible`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2, 'biz', 1, '用户管理-账号初始密码', 'sys.user.init-password', '123456', b'0', '初始化密码 123456', 'admin', '2021-01-05 17:03:48', '1', '2022-03-20 02:25:51', b'0');
+INSERT INTO `infra_config` (`id`, `category`, `type`, `name`, `config_key`, `value`, `visible`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (3, 'ui', 1, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', b'0', '深色主题theme-dark,浅色主题theme-light', 'admin', '2021-01-05 17:03:48', '', '2021-01-19 03:05:21', b'0');
+INSERT INTO `infra_config` (`id`, `category`, `type`, `name`, `config_key`, `value`, `visible`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (4, '1', 2, 'xxx', 'demo.test', '10', b'0', '5', '', '2021-01-19 03:10:26', '', '2021-01-20 09:25:55', b'0');
+INSERT INTO `infra_config` (`id`, `category`, `type`, `name`, `config_key`, `value`, `visible`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (5, 'xxx', 2, 'xxx', 'xxx', 'xxx', b'1', 'xxx', '', '2021-02-09 20:06:47', '', '2021-02-09 20:06:47', b'0');
+INSERT INTO `infra_config` (`id`, `category`, `type`, `name`, `config_key`, `value`, `visible`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (6, 'biz', 2, '登陆验证码的开关', 'yudao.captcha.enable', 'true', b'1', NULL, '1', '2022-02-17 00:03:11', '1', '2022-04-04 12:51:40', b'0');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for infra_data_source_config
+-- ----------------------------
+DROP TABLE IF EXISTS `infra_data_source_config`;
+CREATE TABLE `infra_data_source_config`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键编号',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '参数名称',
+  `url` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '数据源连接',
+  `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名',
+  `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '密码',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '数据源配置表';
+
+-- ----------------------------
+-- Records of infra_data_source_config
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for infra_file
+-- ----------------------------
+DROP TABLE IF EXISTS `infra_file`;
+CREATE TABLE `infra_file`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '文件编号',
+  `config_id` bigint NULL DEFAULT NULL COMMENT '配置编号',
+  `path` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文件路径',
+  `url` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文件 URL',
+  `type` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '文件类型',
+  `size` int NOT NULL COMMENT '文件大小',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 39 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '文件表';
+
+-- ----------------------------
+-- Records of infra_file
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for infra_file_config
+-- ----------------------------
+DROP TABLE IF EXISTS `infra_file_config`;
+CREATE TABLE `infra_file_config`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `name` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '配置名',
+  `storage` tinyint NOT NULL COMMENT '存储器',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
+  `master` bit(1) NOT NULL COMMENT '是否为主配置',
+  `config` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '存储配置',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '文件配置表';
+
+-- ----------------------------
+-- Records of infra_file_config
+-- ----------------------------
+BEGIN;
+INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (4, '数据库', 1, '我是数据库', b'0', '{\"@class\":\"cn.iocoder.yudao.framework.file.core.client.db.DBFileClientConfig\",\"domain\":\"http://127.0.0.1:48080\"}', '1', '2022-03-15 23:56:24', '1', '2022-03-26 21:39:26', b'0');
+INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (5, '本地磁盘', 10, '测试下本地存储', b'0', '{\"@class\":\"cn.iocoder.yudao.framework.file.core.client.local.LocalFileClientConfig\",\"basePath\":\"/Users/yunai/file_test\",\"domain\":\"http://127.0.0.1:48080\"}', '1', '2022-03-15 23:57:00', '1', '2022-03-26 21:39:26', b'0');
+INSERT INTO `infra_file_config` (`id`, `name`, `storage`, `remark`, `master`, `config`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (11, 'S3 - 七牛云', 20, NULL, b'1', '{\"@class\":\"cn.iocoder.yudao.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"s3-cn-south-1.qiniucs.com\",\"domain\":\"http://test.yudao.iocoder.cn\",\"bucket\":\"ruoyi-vue-pro\",\"accessKey\":\"b7yvuhBSAGjmtPhMFcn9iMOxUOY_I06cA_p0ZUx8\",\"accessSecret\":\"kXM1l5ia1RvSX3QaOEcwI3RLz3Y2rmNszWonKZtP\"}', '1', '2022-03-19 18:00:03', '1', '2022-03-26 21:39:26', b'0');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for infra_file_content
+-- ----------------------------
+DROP TABLE IF EXISTS `infra_file_content`;
+CREATE TABLE `infra_file_content`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `config_id` bigint NOT NULL COMMENT '配置编号',
+  `path` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文件路径',
+  `content` mediumblob NOT NULL COMMENT '文件内容',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '文件表';
+
+-- ----------------------------
+-- Records of infra_file_content
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for infra_job
+-- ----------------------------
+DROP TABLE IF EXISTS `infra_job`;
+CREATE TABLE `infra_job`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务编号',
+  `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '任务名称',
+  `status` tinyint NOT NULL COMMENT '任务状态',
+  `handler_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '处理器的名字',
+  `handler_param` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '处理器的参数',
+  `cron_expression` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'CRON 表达式',
+  `retry_count` int NOT NULL DEFAULT 0 COMMENT '重试次数',
+  `retry_interval` int NOT NULL DEFAULT 0 COMMENT '重试间隔',
+  `monitor_timeout` int NOT NULL DEFAULT 0 COMMENT '监控超时时间',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '定时任务表';
+
+-- ----------------------------
+-- Records of infra_job
+-- ----------------------------
+BEGIN;
+INSERT INTO `infra_job` (`id`, `name`, `status`, `handler_name`, `handler_param`, `cron_expression`, `retry_count`, `retry_interval`, `monitor_timeout`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (5, '支付通知 Job', 2, 'payNotifyJob', NULL, '* * * * * ?', 0, 0, 0, '1', '2021-10-27 08:34:42', '1', '2022-04-03 20:35:25', b'0');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for infra_job_log
+-- ----------------------------
+DROP TABLE IF EXISTS `infra_job_log`;
+CREATE TABLE `infra_job_log`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志编号',
+  `job_id` bigint NOT NULL COMMENT '任务编号',
+  `handler_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '处理器的名字',
+  `handler_param` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '处理器的参数',
+  `execute_index` tinyint NOT NULL DEFAULT 1 COMMENT '第几次执行',
+  `begin_time` datetime NOT NULL COMMENT '开始执行时间',
+  `end_time` datetime NULL DEFAULT NULL COMMENT '结束执行时间',
+  `duration` int NULL DEFAULT NULL COMMENT '执行时长',
+  `status` tinyint NOT NULL COMMENT '任务状态',
+  `result` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '结果数据',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 25295 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '定时任务日志表';
+
+-- ----------------------------
+-- Records of infra_job_log
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for infra_test_demo
+-- ----------------------------
+DROP TABLE IF EXISTS `infra_test_demo`;
+CREATE TABLE `infra_test_demo`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '名字',
+  `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态',
+  `type` tinyint NOT NULL COMMENT '类型',
+  `category` tinyint NOT NULL COMMENT '分类',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 108 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典类型表';
+
+-- ----------------------------
+-- Records of infra_test_demo
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for member_user
+-- ----------------------------
+DROP TABLE IF EXISTS `member_user`;
+CREATE TABLE `member_user`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `nickname` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '用户昵称',
+  `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '头像',
+  `status` tinyint NOT NULL COMMENT '状态',
+  `mobile` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '手机号',
+  `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '密码',
+  `register_ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '注册 IP',
+  `login_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '最后登录IP',
+  `login_date` datetime NULL DEFAULT NULL COMMENT '最后登录时间',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE INDEX `uk_mobile`(`mobile` ASC) USING BTREE COMMENT '手机号'
+) ENGINE = InnoDB AUTO_INCREMENT = 247 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户';
+
+-- ----------------------------
+-- Records of member_user
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for pay_app
+-- ----------------------------
+DROP TABLE IF EXISTS `pay_app`;
+CREATE TABLE `pay_app`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '应用编号',
+  `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '应用名',
+  `status` tinyint NOT NULL COMMENT '开启状态',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
+  `pay_notify_url` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '支付结果的回调地址',
+  `refund_notify_url` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '退款结果的回调地址',
+  `merchant_id` bigint NOT NULL COMMENT '商户编号',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '支付应用信息';
+
+-- ----------------------------
+-- Records of pay_app
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for pay_channel
+-- ----------------------------
+DROP TABLE IF EXISTS `pay_channel`;
+CREATE TABLE `pay_channel`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '商户编号',
+  `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '渠道编码',
+  `status` tinyint NOT NULL COMMENT '开启状态',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
+  `fee_rate` double NOT NULL DEFAULT 0 COMMENT '渠道费率,单位:百分比',
+  `merchant_id` bigint NOT NULL COMMENT '商户编号',
+  `app_id` bigint NOT NULL COMMENT '应用编号',
+  `config` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '支付渠道配置',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '支付渠道\n';
+
+-- ----------------------------
+-- Records of pay_channel
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for pay_merchant
+-- ----------------------------
+DROP TABLE IF EXISTS `pay_merchant`;
+CREATE TABLE `pay_merchant`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '商户编号',
+  `no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '商户号',
+  `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '商户全称',
+  `short_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '商户简称',
+  `status` tinyint NOT NULL COMMENT '开启状态',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '支付商户信息';
+
+-- ----------------------------
+-- Records of pay_merchant
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for pay_notify_log
+-- ----------------------------
+DROP TABLE IF EXISTS `pay_notify_log`;
+CREATE TABLE `pay_notify_log`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志编号',
+  `task_id` bigint NOT NULL COMMENT '通知任务编号',
+  `notify_times` tinyint NOT NULL COMMENT '第几次被通知',
+  `response` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '请求参数',
+  `status` tinyint NOT NULL COMMENT '通知状态',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 363051 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '支付通知 App 的日志';
+
+-- ----------------------------
+-- Records of pay_notify_log
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for pay_notify_task
+-- ----------------------------
+DROP TABLE IF EXISTS `pay_notify_task`;
+CREATE TABLE `pay_notify_task`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务编号',
+  `merchant_id` bigint NOT NULL COMMENT '商户编号',
+  `app_id` bigint NOT NULL COMMENT '应用编号',
+  `type` tinyint NOT NULL COMMENT '通知类型',
+  `data_id` bigint NOT NULL COMMENT '数据编号',
+  `status` tinyint NOT NULL COMMENT '通知状态',
+  `merchant_order_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '商户订单编号',
+  `next_notify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '下一次通知时间',
+  `last_execute_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后一次执行时间',
+  `notify_times` tinyint NOT NULL COMMENT '当前通知次数',
+  `max_notify_times` tinyint NOT NULL COMMENT '最大可通知次数',
+  `notify_url` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '异步通知地址',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 112 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '商户支付、退款等的通知\n';
+
+-- ----------------------------
+-- Records of pay_notify_task
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for pay_order
+-- ----------------------------
+DROP TABLE IF EXISTS `pay_order`;
+CREATE TABLE `pay_order`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '支付订单编号',
+  `merchant_id` bigint NOT NULL COMMENT '商户编号',
+  `app_id` bigint NOT NULL COMMENT '应用编号',
+  `channel_id` bigint NULL DEFAULT NULL COMMENT '渠道编号',
+  `channel_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '渠道编码',
+  `merchant_order_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '商户订单编号',
+  `subject` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '商品标题',
+  `body` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '商品描述',
+  `notify_url` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '异步通知地址',
+  `notify_status` tinyint NOT NULL COMMENT '通知商户支付结果的回调状态',
+  `amount` bigint NOT NULL COMMENT '支付金额,单位:分',
+  `channel_fee_rate` double NULL DEFAULT 0 COMMENT '渠道手续费,单位:百分比',
+  `channel_fee_amount` bigint NULL DEFAULT 0 COMMENT '渠道手续金额,单位:分',
+  `status` tinyint NOT NULL COMMENT '支付状态',
+  `user_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户 IP',
+  `expire_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '订单失效时间',
+  `success_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '订单支付成功时间',
+  `notify_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '订单支付通知时间',
+  `success_extension_id` bigint NULL DEFAULT NULL COMMENT '支付成功的订单拓展单编号',
+  `refund_status` tinyint NOT NULL COMMENT '退款状态',
+  `refund_times` tinyint NOT NULL COMMENT '退款次数',
+  `refund_amount` bigint NOT NULL COMMENT '退款总金额,单位:分',
+  `channel_user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '渠道用户编号',
+  `channel_order_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '渠道订单号',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 125 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '支付订单\n';
+
+-- ----------------------------
+-- Records of pay_order
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for pay_order_extension
+-- ----------------------------
+DROP TABLE IF EXISTS `pay_order_extension`;
+CREATE TABLE `pay_order_extension`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '支付订单编号',
+  `no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '支付订单号',
+  `order_id` bigint NOT NULL COMMENT '支付订单编号',
+  `channel_id` bigint NOT NULL COMMENT '渠道编号',
+  `channel_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '渠道编码',
+  `user_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户 IP',
+  `status` tinyint NOT NULL COMMENT '支付状态',
+  `channel_extras` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '支付渠道的额外参数',
+  `channel_notify_data` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '支付渠道异步通知的内容',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 124 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '支付订单\n';
+
+-- ----------------------------
+-- Records of pay_order_extension
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for pay_refund
+-- ----------------------------
+DROP TABLE IF EXISTS `pay_refund`;
+CREATE TABLE `pay_refund`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '支付退款编号',
+  `merchant_id` bigint NOT NULL COMMENT '商户编号',
+  `app_id` bigint NOT NULL COMMENT '应用编号',
+  `channel_id` bigint NOT NULL COMMENT '渠道编号',
+  `channel_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '渠道编码',
+  `order_id` bigint NOT NULL COMMENT '支付订单编号 pay_order 表id',
+  `trade_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '交易订单号 pay_extension 表no 字段',
+  `merchant_order_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '商户订单编号(商户系统生成)',
+  `merchant_refund_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '商户退款订单号(商户系统生成)',
+  `notify_url` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '异步通知商户地址',
+  `notify_status` tinyint NOT NULL COMMENT '通知商户退款结果的回调状态',
+  `status` tinyint NOT NULL COMMENT '退款状态',
+  `type` tinyint NOT NULL COMMENT '退款类型(部分退款,全部退款)',
+  `pay_amount` bigint NOT NULL COMMENT '支付金额,单位分',
+  `refund_amount` bigint NOT NULL COMMENT '退款金额,单位分',
+  `reason` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '退款原因',
+  `user_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '用户 IP',
+  `channel_order_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '渠道订单号,pay_order 中的channel_order_no 对应',
+  `channel_refund_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '渠道退款单号,渠道返回',
+  `channel_error_code` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '渠道调用报错时,错误码',
+  `channel_error_msg` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '渠道调用报错时,错误信息',
+  `channel_extras` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '支付渠道的额外参数',
+  `expire_time` datetime NULL DEFAULT NULL COMMENT '退款失效时间',
+  `success_time` datetime NULL DEFAULT NULL COMMENT '退款成功时间',
+  `notify_time` datetime NULL DEFAULT NULL COMMENT '退款通知时间',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '退款订单';
+
+-- ----------------------------
+-- Records of pay_refund
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_dept
+-- ----------------------------
+DROP TABLE IF EXISTS `system_dept`;
+CREATE TABLE `system_dept`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '部门id',
+  `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '部门名称',
+  `parent_id` bigint NOT NULL DEFAULT 0 COMMENT '父部门id',
+  `sort` int NOT NULL DEFAULT 0 COMMENT '显示顺序',
+  `leader_user_id` bigint NULL DEFAULT NULL COMMENT '负责人',
+  `phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '联系电话',
+  `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱',
+  `status` tinyint NOT NULL COMMENT '部门状态(0正常 1停用)',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 112 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '部门表';
+
+-- ----------------------------
+-- Records of system_dept
+-- ----------------------------
+BEGIN;
+INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, `phone`, `email`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (100, '芋道源码', 0, 0, 1, '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '103', '2022-01-14 01:04:05', b'0', 1);
+INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, `phone`, `email`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (101, '深圳总公司', 100, 1, 104, '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '1', '2022-02-22 19:47:48', b'0', 1);
+INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, `phone`, `email`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (102, '长沙分公司', 100, 2, NULL, '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '', '2021-12-15 05:01:40', b'0', 1);
+INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, `phone`, `email`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (103, '研发部门', 101, 1, 104, '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '103', '2022-01-14 01:04:14', b'0', 1);
+INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, `phone`, `email`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (104, '市场部门', 101, 2, NULL, '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '', '2021-12-15 05:01:38', b'0', 1);
+INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, `phone`, `email`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (105, '测试部门', 101, 3, NULL, '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '', '2021-12-15 05:01:37', b'0', 1);
+INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, `phone`, `email`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (106, '财务部门', 101, 4, 103, '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '103', '2022-01-15 21:32:22', b'0', 1);
+INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, `phone`, `email`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (107, '运维部门', 101, 5, NULL, '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '', '2021-12-15 05:01:33', b'0', 1);
+INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, `phone`, `email`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (108, '市场部门', 102, 1, NULL, '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '1', '2022-02-16 08:35:45', b'0', 1);
+INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, `phone`, `email`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (109, '财务部门', 102, 2, NULL, '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '', '2021-12-15 05:01:29', b'0', 1);
+INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, `phone`, `email`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (110, '新部门', 0, 1, NULL, NULL, NULL, 0, '110', '2022-02-23 20:46:30', '110', '2022-02-23 20:46:30', b'0', 121);
+INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, `phone`, `email`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (111, '顶级部门', 0, 1, NULL, NULL, NULL, 0, '113', '2022-03-07 21:44:50', '113', '2022-03-07 21:44:50', b'0', 122);
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_dict_data
+-- ----------------------------
+DROP TABLE IF EXISTS `system_dict_data`;
+CREATE TABLE `system_dict_data`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '字典编码',
+  `sort` int NOT NULL DEFAULT 0 COMMENT '字典排序',
+  `label` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '字典标签',
+  `value` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '字典键值',
+  `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '字典类型',
+  `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0正常 1停用)',
+  `color_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '颜色类型',
+  `css_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT 'css 样式',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1161 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典数据表';
+
+-- ----------------------------
+-- Records of system_dict_data
+-- ----------------------------
+BEGIN;
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1, 1, '男', '1', 'system_user_sex', 0, 'default', 'A', '性别男', 'admin', '2021-01-05 17:03:48', '1', '2022-03-29 00:14:39', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2, 2, '女', '2', 'system_user_sex', 1, 'success', '', '性别女', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 01:30:51', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (8, 1, '正常', '1', 'infra_job_status', 0, 'success', '', '正常状态', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 19:33:38', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (9, 2, '暂停', '2', 'infra_job_status', 0, 'danger', '', '停用状态', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 19:33:45', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (12, 1, '系统内置', '1', 'infra_config_type', 0, 'danger', '', '参数类型 - 系统内置', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 19:06:02', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (13, 2, '自定义', '2', 'infra_config_type', 0, 'primary', '', '参数类型 - 自定义', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 19:06:07', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (14, 1, '通知', '1', 'system_notice_type', 0, 'success', '', '通知', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 13:05:57', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (15, 2, '公告', '2', 'system_notice_type', 0, 'info', '', '公告', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 13:06:01', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (16, 0, '其它', '0', 'system_operate_type', 0, 'default', '', '其它操作', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 09:32:46', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (17, 1, '查询', '1', 'system_operate_type', 0, 'info', '', '查询操作', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 09:33:16', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (18, 2, '新增', '2', 'system_operate_type', 0, 'primary', '', '新增操作', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 09:33:13', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (19, 3, '修改', '3', 'system_operate_type', 0, 'warning', '', '修改操作', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 09:33:22', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (20, 4, '删除', '4', 'system_operate_type', 0, 'danger', '', '删除操作', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 09:33:27', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (22, 5, '导出', '5', 'system_operate_type', 0, 'default', '', '导出操作', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 09:33:32', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (23, 6, '导入', '6', 'system_operate_type', 0, 'default', '', '导入操作', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 09:33:35', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (27, 1, '开启', '0', 'common_status', 0, 'primary', '', '开启状态', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 08:00:39', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (28, 2, '关闭', '1', 'common_status', 0, 'info', '', '关闭状态', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 08:00:44', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (29, 1, '目录', '1', 'system_menu_type', 0, '', '', '目录', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:43:45', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (30, 2, '菜单', '2', 'system_menu_type', 0, '', '', '菜单', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:43:41', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (31, 3, '按钮', '3', 'system_menu_type', 0, '', '', '按钮', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:43:39', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (32, 1, '内置', '1', 'system_role_type', 0, 'danger', '', '内置角色', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 13:02:08', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (33, 2, '自定义', '2', 'system_role_type', 0, 'primary', '', '自定义角色', 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 13:02:12', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (34, 1, '全部数据权限', '1', 'system_data_scope', 0, '', '', '全部数据权限', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:47:17', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (35, 2, '指定部门数据权限', '2', 'system_data_scope', 0, '', '', '指定部门数据权限', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:47:18', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (36, 3, '本部门数据权限', '3', 'system_data_scope', 0, '', '', '本部门数据权限', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:47:16', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (37, 4, '本部门及以下数据权限', '4', 'system_data_scope', 0, '', '', '本部门及以下数据权限', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:47:21', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (38, 5, '仅本人数据权限', '5', 'system_data_scope', 0, '', '', '仅本人数据权限', 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:47:23', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (39, 0, '成功', '0', 'system_login_result', 0, 'success', '', '登陆结果 - 成功', '', '2021-01-18 06:17:36', '1', '2022-02-16 13:23:49', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (40, 10, '账号或密码不正确', '10', 'system_login_result', 0, 'primary', '', '登陆结果 - 账号或密码不正确', '', '2021-01-18 06:17:54', '1', '2022-02-16 13:24:27', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (41, 20, '用户被禁用', '20', 'system_login_result', 0, 'warning', '', '登陆结果 - 用户被禁用', '', '2021-01-18 06:17:54', '1', '2022-02-16 13:23:57', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (42, 30, '验证码不存在', '30', 'system_login_result', 0, 'info', '', '登陆结果 - 验证码不存在', '', '2021-01-18 06:17:54', '1', '2022-02-16 13:24:07', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (43, 31, '验证码不正确', '31', 'system_login_result', 0, 'info', '', '登陆结果 - 验证码不正确', '', '2021-01-18 06:17:54', '1', '2022-02-16 13:24:11', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (44, 100, '未知异常', '100', 'system_login_result', 0, 'danger', '', '登陆结果 - 未知异常', '', '2021-01-18 06:17:54', '1', '2022-02-16 13:24:23', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (45, 1, '是', 'true', 'infra_boolean_string', 0, 'danger', '', 'Boolean 是否类型 - 是', '', '2021-01-19 03:20:55', '1', '2022-03-15 23:01:45', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (46, 1, '否', 'false', 'infra_boolean_string', 0, 'info', '', 'Boolean 是否类型 - 否', '', '2021-01-19 03:20:55', '1', '2022-03-15 23:09:45', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (47, 1, '永不超时', '1', 'infra_redis_timeout_type', 0, 'primary', '', 'Redis 未设置超时的情况', '', '2021-01-26 00:53:17', '1', '2022-02-16 19:03:35', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (48, 1, '动态超时', '2', 'infra_redis_timeout_type', 0, 'info', '', '程序里动态传入超时时间,无法固定', '', '2021-01-26 00:55:00', '1', '2022-02-16 19:03:41', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (49, 3, '固定超时', '3', 'infra_redis_timeout_type', 0, 'success', '', 'Redis 设置了过期时间', '', '2021-01-26 00:55:26', '1', '2022-02-16 19:03:45', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (50, 1, '单表(增删改查)', '1', 'infra_codegen_template_type', 0, '', '', NULL, '', '2021-02-05 07:09:06', '', '2022-03-10 16:33:15', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (51, 2, '树表(增删改查)', '2', 'infra_codegen_template_type', 0, '', '', NULL, '', '2021-02-05 07:14:46', '', '2022-03-10 16:33:19', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (53, 0, '初始化中', '0', 'infra_job_status', 0, 'primary', '', NULL, '', '2021-02-07 07:46:49', '1', '2022-02-16 19:33:29', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (57, 0, '运行中', '0', 'infra_job_log_status', 0, 'primary', '', 'RUNNING', '', '2021-02-08 10:04:24', '1', '2022-02-16 19:07:48', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (58, 1, '成功', '1', 'infra_job_log_status', 0, 'success', '', NULL, '', '2021-02-08 10:06:57', '1', '2022-02-16 19:07:52', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (59, 2, '失败', '2', 'infra_job_log_status', 0, 'warning', '', '失败', '', '2021-02-08 10:07:38', '1', '2022-02-16 19:07:56', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (60, 1, '会员', '1', 'user_type', 0, 'primary', '', NULL, '', '2021-02-26 00:16:27', '1', '2022-02-16 10:22:19', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (61, 2, '管理员', '2', 'user_type', 0, 'success', '', NULL, '', '2021-02-26 00:16:34', '1', '2022-02-16 10:22:22', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (62, 0, '未处理', '0', 'infra_api_error_log_process_status', 0, 'primary', '', NULL, '', '2021-02-26 07:07:19', '1', '2022-02-16 20:14:17', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (63, 1, '已处理', '1', 'infra_api_error_log_process_status', 0, 'success', '', NULL, '', '2021-02-26 07:07:26', '1', '2022-02-16 20:14:08', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (64, 2, '已忽略', '2', 'infra_api_error_log_process_status', 0, 'danger', '', NULL, '', '2021-02-26 07:07:34', '1', '2022-02-16 20:14:14', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (65, 1, '云片', 'YUN_PIAN', 'system_sms_channel_code', 0, 'success', '', NULL, '1', '2021-04-05 01:05:14', '1', '2022-02-16 10:09:55', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (66, 2, '阿里云', 'ALIYUN', 'system_sms_channel_code', 0, 'primary', '', NULL, '1', '2021-04-05 01:05:26', '1', '2022-02-16 10:09:52', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (67, 1, '验证码', '1', 'system_sms_template_type', 0, 'warning', '', NULL, '1', '2021-04-05 21:50:57', '1', '2022-02-16 12:48:30', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (68, 2, '通知', '2', 'system_sms_template_type', 0, 'primary', '', NULL, '1', '2021-04-05 21:51:08', '1', '2022-02-16 12:48:27', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (69, 0, '营销', '3', 'system_sms_template_type', 0, 'danger', '', NULL, '1', '2021-04-05 21:51:15', '1', '2022-02-16 12:48:22', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (70, 0, '初始化', '0', 'system_sms_send_status', 0, 'primary', '', NULL, '1', '2021-04-11 20:18:33', '1', '2022-02-16 10:26:07', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (71, 1, '发送成功', '10', 'system_sms_send_status', 0, 'success', '', NULL, '1', '2021-04-11 20:18:43', '1', '2022-02-16 10:25:56', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (72, 2, '发送失败', '20', 'system_sms_send_status', 0, 'danger', '', NULL, '1', '2021-04-11 20:18:49', '1', '2022-02-16 10:26:03', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (73, 3, '不发送', '30', 'system_sms_send_status', 0, 'info', '', NULL, '1', '2021-04-11 20:19:44', '1', '2022-02-16 10:26:10', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (74, 0, '等待结果', '0', 'system_sms_receive_status', 0, 'primary', '', NULL, '1', '2021-04-11 20:27:43', '1', '2022-02-16 10:28:24', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (75, 1, '接收成功', '10', 'system_sms_receive_status', 0, 'success', '', NULL, '1', '2021-04-11 20:29:25', '1', '2022-02-16 10:28:28', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (76, 2, '接收失败', '20', 'system_sms_receive_status', 0, 'danger', '', NULL, '1', '2021-04-11 20:29:31', '1', '2022-02-16 10:28:32', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (77, 0, '调试(钉钉)', 'DEBUG_DING_TALK', 'system_sms_channel_code', 0, 'info', '', NULL, '1', '2021-04-13 00:20:37', '1', '2022-02-16 10:10:00', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (78, 1, '自动生成', '1', 'system_error_code_type', 0, 'warning', '', NULL, '1', '2021-04-21 00:06:48', '1', '2022-02-16 13:57:20', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (79, 2, '手动编辑', '2', 'system_error_code_type', 0, 'primary', '', NULL, '1', '2021-04-21 00:07:14', '1', '2022-02-16 13:57:24', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (80, 100, '账号登录', '100', 'system_login_type', 0, 'primary', '', '账号登录', '1', '2021-10-06 00:52:02', '1', '2022-02-16 13:11:34', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (81, 101, '社交登录', '101', 'system_login_type', 0, 'info', '', '社交登录', '1', '2021-10-06 00:52:17', '1', '2022-02-16 13:11:40', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (82, 102, 'Mock 登录', '102', 'system_login_type', 0, 'danger', '', 'Mock 登录', '1', '2021-10-06 00:52:32', '1', '2022-02-16 13:11:44', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (83, 200, '主动登出', '200', 'system_login_type', 0, 'primary', '', '主动登出', '1', '2021-10-06 00:52:58', '1', '2022-02-16 13:11:49', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (85, 202, '强制登出', '202', 'system_login_type', 0, 'danger', '', '强制退出', '1', '2021-10-06 00:53:41', '1', '2022-02-16 13:11:57', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (86, 0, '病假', '1', 'bpm_oa_leave_type', 0, 'primary', '', NULL, '1', '2021-09-21 22:35:28', '1', '2022-02-16 10:00:41', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (87, 1, '事假', '2', 'bpm_oa_leave_type', 0, 'info', '', NULL, '1', '2021-09-21 22:36:11', '1', '2022-02-16 10:00:49', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (88, 2, '婚假', '3', 'bpm_oa_leave_type', 0, 'warning', '', NULL, '1', '2021-09-21 22:36:38', '1', '2022-02-16 10:00:53', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (98, 1, 'v2', 'v2', 'pay_channel_wechat_version', 0, '', '', 'v2版本', '1', '2021-11-08 17:00:58', '1', '2021-11-08 17:00:58', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (99, 2, 'v3', 'v3', 'pay_channel_wechat_version', 0, '', '', 'v3版本', '1', '2021-11-08 17:01:07', '1', '2021-11-08 17:01:07', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (108, 1, 'RSA2', 'RSA2', 'pay_channel_alipay_sign_type', 0, '', '', 'RSA2', '1', '2021-11-18 15:39:29', '1', '2021-11-18 15:39:29', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (109, 1, '公钥模式', '1', 'pay_channel_alipay_mode', 0, '', '', '公钥模式:privateKey + alipayPublicKey', '1', '2021-11-18 15:45:23', '1', '2021-11-18 15:45:23', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (110, 2, '证书模式', '2', 'pay_channel_alipay_mode', 0, '', '', '证书模式:appCertContent + alipayPublicCertContent + rootCertContent', '1', '2021-11-18 15:45:40', '1', '2021-11-18 15:45:40', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (111, 1, '线上', 'https://openapi.alipay.com/gateway.do', 'pay_channel_alipay_server_type', 0, '', '', '网关地址 - 线上', '1', '2021-11-18 16:59:32', '1', '2021-11-21 17:37:29', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (112, 2, '沙箱', 'https://openapi.alipaydev.com/gateway.do', 'pay_channel_alipay_server_type', 0, '', '', '网关地址 - 沙箱', '1', '2021-11-18 16:59:48', '1', '2021-11-21 17:37:39', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (113, 1, '微信 JSAPI 支付', 'wx_pub', 'pay_channel_code_type', 0, '', '', '微信 JSAPI(公众号) 支付', '1', '2021-12-03 10:40:24', '1', '2021-12-04 16:41:00', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (114, 2, '微信小程序支付', 'wx_lite', 'pay_channel_code_type', 0, '', '', '微信小程序支付', '1', '2021-12-03 10:41:06', '1', '2021-12-03 10:41:06', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (115, 3, '微信 App 支付', 'wx_app', 'pay_channel_code_type', 0, '', '', '微信 App 支付', '1', '2021-12-03 10:41:20', '1', '2021-12-03 10:41:20', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (116, 4, '支付宝 PC 网站支付', 'alipay_pc', 'pay_channel_code_type', 0, '', '', '支付宝 PC 网站支付', '1', '2021-12-03 10:42:09', '1', '2021-12-03 10:42:09', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (117, 5, '支付宝 Wap 网站支付', 'alipay_wap', 'pay_channel_code_type', 0, '', '', '支付宝 Wap 网站支付', '1', '2021-12-03 10:42:26', '1', '2021-12-03 10:42:26', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (118, 6, '支付宝App 支付', 'alipay_app', 'pay_channel_code_type', 0, '', '', '支付宝App 支付', '1', '2021-12-03 10:42:55', '1', '2021-12-03 10:42:55', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (119, 7, '支付宝扫码支付', 'alipay_qr', 'pay_channel_code_type', 0, '', '', '支付宝扫码支付', '1', '2021-12-03 10:43:10', '1', '2021-12-03 10:43:10', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (120, 1, '通知成功', '10', 'pay_order_notify_status', 0, 'success', '', '通知成功', '1', '2021-12-03 11:02:41', '1', '2022-02-16 13:59:13', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (121, 2, '通知失败', '20', 'pay_order_notify_status', 0, 'danger', '', '通知失败', '1', '2021-12-03 11:02:59', '1', '2022-02-16 13:59:17', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (122, 3, '未通知', '0', 'pay_order_notify_status', 0, 'info', '', '未通知', '1', '2021-12-03 11:03:10', '1', '2022-02-16 13:59:23', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (123, 1, '支付成功', '10', 'pay_order_status', 0, 'success', '', '支付成功', '1', '2021-12-03 11:18:29', '1', '2022-02-16 15:24:25', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (124, 2, '支付关闭', '20', 'pay_order_status', 0, 'danger', '', '支付关闭', '1', '2021-12-03 11:18:42', '1', '2022-02-16 15:24:31', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (125, 3, '未支付', '0', 'pay_order_status', 0, 'info', '', '未支付', '1', '2021-12-03 11:18:18', '1', '2022-02-16 15:24:35', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (126, 1, '未退款', '0', 'pay_order_refund_status', 0, '', '', '未退款', '1', '2021-12-03 11:30:35', '1', '2021-12-03 11:34:05', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (127, 2, '部分退款', '10', 'pay_order_refund_status', 0, '', '', '部分退款', '1', '2021-12-03 11:30:44', '1', '2021-12-03 11:34:10', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (128, 3, '全部退款', '20', 'pay_order_refund_status', 0, '', '', '全部退款', '1', '2021-12-03 11:30:52', '1', '2021-12-03 11:34:14', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1117, 1, '退款订单生成', '0', 'pay_refund_order_status', 0, 'primary', '', '退款订单生成', '1', '2021-12-10 16:44:44', '1', '2022-02-16 14:05:24', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1118, 2, '退款成功', '1', 'pay_refund_order_status', 0, 'success', '', '退款成功', '1', '2021-12-10 16:44:59', '1', '2022-02-16 14:05:28', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1119, 3, '退款失败', '2', 'pay_refund_order_status', 0, 'danger', '', '退款失败', '1', '2021-12-10 16:45:10', '1', '2022-02-16 14:05:34', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1124, 8, '退款关闭', '99', 'pay_refund_order_status', 0, 'info', '', '退款关闭', '1', '2021-12-10 16:46:26', '1', '2022-02-16 14:05:40', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1125, 0, '默认', '1', 'bpm_model_category', 0, 'primary', '', '流程分类 - 默认', '1', '2022-01-02 08:41:11', '1', '2022-02-16 20:01:42', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1126, 0, 'OA', '2', 'bpm_model_category', 0, 'success', '', '流程分类 - OA', '1', '2022-01-02 08:41:22', '1', '2022-02-16 20:01:50', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1127, 0, '进行中', '1', 'bpm_process_instance_status', 0, 'primary', '', '流程实例的状态 - 进行中', '1', '2022-01-07 23:47:22', '1', '2022-02-16 20:07:49', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1128, 2, '已完成', '2', 'bpm_process_instance_status', 0, 'success', '', '流程实例的状态 - 已完成', '1', '2022-01-07 23:47:49', '1', '2022-02-16 20:07:54', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1129, 1, '处理中', '1', 'bpm_process_instance_result', 0, 'primary', '', '流程实例的结果 - 处理中', '1', '2022-01-07 23:48:32', '1', '2022-02-16 09:53:26', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1130, 2, '通过', '2', 'bpm_process_instance_result', 0, 'success', '', '流程实例的结果 - 通过', '1', '2022-01-07 23:48:45', '1', '2022-02-16 09:53:31', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1131, 3, '不通过', '3', 'bpm_process_instance_result', 0, 'danger', '', '流程实例的结果 - 不通过', '1', '2022-01-07 23:48:55', '1', '2022-02-16 09:53:38', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1132, 4, '已取消', '4', 'bpm_process_instance_result', 0, 'info', '', '流程实例的结果 - 撤销', '1', '2022-01-07 23:49:06', '1', '2022-02-16 09:53:42', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1133, 10, '流程表单', '10', 'bpm_model_form_type', 0, '', '', '流程的表单类型 - 流程表单', '103', '2022-01-11 23:51:30', '103', '2022-01-11 23:51:30', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1134, 20, '业务表单', '20', 'bpm_model_form_type', 0, '', '', '流程的表单类型 - 业务表单', '103', '2022-01-11 23:51:47', '103', '2022-01-11 23:51:47', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1135, 10, '角色', '10', 'bpm_task_assign_rule_type', 0, 'info', '', '任务分配规则的类型 - 角色', '103', '2022-01-12 23:21:22', '1', '2022-02-16 20:06:14', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1136, 20, '部门的成员', '20', 'bpm_task_assign_rule_type', 0, 'primary', '', '任务分配规则的类型 - 部门的成员', '103', '2022-01-12 23:21:47', '1', '2022-02-16 20:05:28', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1137, 21, '部门的负责人', '21', 'bpm_task_assign_rule_type', 0, 'primary', '', '任务分配规则的类型 - 部门的负责人', '103', '2022-01-12 23:33:36', '1', '2022-02-16 20:05:31', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1138, 30, '用户', '30', 'bpm_task_assign_rule_type', 0, 'info', '', '任务分配规则的类型 - 用户', '103', '2022-01-12 23:34:02', '1', '2022-02-16 20:05:50', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1139, 40, '用户组', '40', 'bpm_task_assign_rule_type', 0, 'warning', '', '任务分配规则的类型 - 用户组', '103', '2022-01-12 23:34:21', '1', '2022-02-16 20:05:57', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1140, 50, '自定义脚本', '50', 'bpm_task_assign_rule_type', 0, 'danger', '', '任务分配规则的类型 - 自定义脚本', '103', '2022-01-12 23:34:43', '1', '2022-02-16 20:06:01', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1141, 22, '岗位', '22', 'bpm_task_assign_rule_type', 0, 'success', '', '任务分配规则的类型 - 岗位', '103', '2022-01-14 18:41:55', '1', '2022-02-16 20:05:39', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1142, 10, '流程发起人', '10', 'bpm_task_assign_script', 0, '', '', '任务分配自定义脚本 - 流程发起人', '103', '2022-01-15 00:10:57', '103', '2022-01-15 21:24:10', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1143, 20, '流程发起人的一级领导', '20', 'bpm_task_assign_script', 0, '', '', '任务分配自定义脚本 - 流程发起人的一级领导', '103', '2022-01-15 21:24:31', '103', '2022-01-15 21:24:31', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1144, 21, '流程发起人的二级领导', '21', 'bpm_task_assign_script', 0, '', '', '任务分配自定义脚本 - 流程发起人的二级领导', '103', '2022-01-15 21:24:46', '103', '2022-01-15 21:24:57', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1145, 1, '管理后台', '1', 'infra_codegen_scene', 0, '', '', '代码生成的场景枚举 - 管理后台', '1', '2022-02-02 13:15:06', '1', '2022-03-10 16:32:59', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1146, 2, '用户 APP', '2', 'infra_codegen_scene', 0, '', '', '代码生成的场景枚举 - 用户 APP', '1', '2022-02-02 13:15:19', '1', '2022-03-10 16:33:03', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1147, 0, '未退款', '0', 'pay_refund_order_type', 0, 'info', '', '退款类型 - 未退款', '1', '2022-02-16 14:09:01', '1', '2022-02-16 14:09:01', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1148, 10, '部分退款', '10', 'pay_refund_order_type', 0, 'success', '', '退款类型 - 部分退款', '1', '2022-02-16 14:09:25', '1', '2022-02-16 14:11:38', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1149, 20, '全部退款', '20', 'pay_refund_order_type', 0, 'warning', '', '退款类型 - 全部退款', '1', '2022-02-16 14:11:33', '1', '2022-02-16 14:11:33', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1150, 1, '数据库', '1', 'infra_file_storage', 0, 'default', '', NULL, '1', '2022-03-15 00:25:28', '1', '2022-03-15 00:25:28', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1151, 10, '本地磁盘', '10', 'infra_file_storage', 0, 'default', '', NULL, '1', '2022-03-15 00:25:41', '1', '2022-03-15 00:25:56', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1152, 11, 'FTP 服务器', '11', 'infra_file_storage', 0, 'default', '', NULL, '1', '2022-03-15 00:26:06', '1', '2022-03-15 00:26:10', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1153, 12, 'SFTP 服务器', '12', 'infra_file_storage', 0, 'default', '', NULL, '1', '2022-03-15 00:26:22', '1', '2022-03-15 00:26:22', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1154, 20, 'S3 对象存储', '20', 'infra_file_storage', 0, 'default', '', NULL, '1', '2022-03-15 00:26:31', '1', '2022-03-15 00:26:45', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1155, 103, '短信登录', '103', 'system_login_type', 0, 'default', '', NULL, '1', '2022-05-09 23:57:58', '1', '2022-05-09 23:58:09', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1156, 1, 'password', 'password', 'system_oauth2_grant_type', 0, 'default', '', '密码模式', '1', '2022-05-12 00:22:05', '1', '2022-05-11 16:26:01', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1157, 2, 'authorization_code', 'authorization_code', 'system_oauth2_grant_type', 0, 'primary', '', '授权码模式', '1', '2022-05-12 00:22:59', '1', '2022-05-11 16:26:02', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1158, 3, 'implicit', 'implicit', 'system_oauth2_grant_type', 0, 'success', '', '简化模式', '1', '2022-05-12 00:23:40', '1', '2022-05-11 16:26:05', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1159, 4, 'client_credentials', 'client_credentials', 'system_oauth2_grant_type', 0, 'default', '', '客户端模式', '1', '2022-05-12 00:23:51', '1', '2022-05-11 16:26:08', b'0');
+INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1160, 5, 'refresh_token', 'refresh_token', 'system_oauth2_grant_type', 0, 'info', '', '刷新模式', '1', '2022-05-12 00:24:02', '1', '2022-05-11 16:26:11', b'0');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_dict_type
+-- ----------------------------
+DROP TABLE IF EXISTS `system_dict_type`;
+CREATE TABLE `system_dict_type`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '字典主键',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '字典名称',
+  `type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '字典类型',
+  `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0正常 1停用)',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE INDEX `dict_type`(`type` ASC) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 148 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典类型表';
+
+-- ----------------------------
+-- Records of system_dict_type
+-- ----------------------------
+BEGIN;
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1, '用户性别', 'system_user_sex', 0, NULL, 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:30:31', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (6, '参数类型', 'infra_config_type', 0, NULL, 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:36:54', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (7, '通知类型', 'system_notice_type', 0, NULL, 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:35:26', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (9, '操作类型', 'system_operate_type', 0, NULL, 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 09:32:21', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (10, '系统状态', 'common_status', 0, NULL, 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:21:28', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (11, 'Boolean 是否类型', 'infra_boolean_string', 0, 'boolean 转是否', '', '2021-01-19 03:20:08', '', '2022-02-01 16:37:10', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (104, '登陆结果', 'system_login_result', 0, '登陆结果', '', '2021-01-18 06:17:11', '', '2022-02-01 16:36:00', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (105, 'Redis 超时类型', 'infra_redis_timeout_type', 0, 'RedisKeyDefine.TimeoutTypeEnum', '', '2021-01-26 00:52:50', '', '2022-02-01 16:50:29', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (106, '代码生成模板类型', 'infra_codegen_template_type', 0, NULL, '', '2021-02-05 07:08:06', '', '2022-03-10 16:33:42', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (107, '定时任务状态', 'infra_job_status', 0, NULL, '', '2021-02-07 07:44:16', '', '2022-02-01 16:51:11', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (108, '定时任务日志状态', 'infra_job_log_status', 0, NULL, '', '2021-02-08 10:03:51', '', '2022-02-01 16:50:43', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (109, '用户类型', 'user_type', 0, NULL, '', '2021-02-26 00:15:51', '', '2021-02-26 00:15:51', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (110, 'API 异常数据的处理状态', 'infra_api_error_log_process_status', 0, NULL, '', '2021-02-26 07:07:01', '', '2022-02-01 16:50:53', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (111, '短信渠道编码', 'system_sms_channel_code', 0, NULL, '1', '2021-04-05 01:04:50', '1', '2022-02-16 02:09:08', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (112, '短信模板的类型', 'system_sms_template_type', 0, NULL, '1', '2021-04-05 21:50:43', '1', '2022-02-01 16:35:06', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (113, '短信发送状态', 'system_sms_send_status', 0, NULL, '1', '2021-04-11 20:18:03', '1', '2022-02-01 16:35:09', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (114, '短信接收状态', 'system_sms_receive_status', 0, NULL, '1', '2021-04-11 20:27:14', '1', '2022-02-01 16:35:14', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (115, '错误码的类型', 'system_error_code_type', 0, NULL, '1', '2021-04-21 00:06:30', '1', '2022-02-01 16:36:49', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (116, '登陆日志的类型', 'system_login_type', 0, '登陆日志的类型', '1', '2021-10-06 00:50:46', '1', '2022-02-01 16:35:56', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (117, 'OA 请假类型', 'bpm_oa_leave_type', 0, NULL, '1', '2021-09-21 22:34:33', '1', '2022-01-22 10:41:37', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (122, '支付渠道微信版本', 'pay_channel_wechat_version', 0, '支付渠道微信版本', '1', '2021-11-08 17:00:26', '1', '2021-11-08 17:00:26', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (127, '支付渠道支付宝算法类型', 'pay_channel_alipay_sign_type', 0, '支付渠道支付宝算法类型', '1', '2021-11-18 15:39:09', '1', '2021-11-18 15:39:09', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (128, '支付渠道支付宝公钥类型', 'pay_channel_alipay_mode', 0, '支付渠道支付宝公钥类型', '1', '2021-11-18 15:44:28', '1', '2021-11-18 15:44:28', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (129, '支付宝网关地址', 'pay_channel_alipay_server_type', 0, '支付宝网关地址', '1', '2021-11-18 16:58:55', '1', '2021-11-18 17:01:34', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (130, '支付渠道编码类型', 'pay_channel_code_type', 0, '支付渠道的编码', '1', '2021-12-03 10:35:08', '1', '2021-12-03 10:35:08', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (131, '支付订单回调状态', 'pay_order_notify_status', 0, '支付订单回调状态', '1', '2021-12-03 10:53:29', '1', '2021-12-03 10:53:29', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (132, '支付订单状态', 'pay_order_status', 0, '支付订单状态', '1', '2021-12-03 11:17:50', '1', '2021-12-03 11:17:50', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (133, '支付订单退款状态', 'pay_order_refund_status', 0, '支付订单退款状态', '1', '2021-12-03 11:27:31', '1', '2021-12-03 11:27:31', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (134, '退款订单状态', 'pay_refund_order_status', 0, '退款订单状态', '1', '2021-12-10 16:42:50', '1', '2021-12-10 16:42:50', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (135, '退款订单类别', 'pay_refund_order_type', 0, '退款订单类别', '1', '2021-12-10 17:14:53', '1', '2021-12-10 17:14:53', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (138, '流程分类', 'bpm_model_category', 0, '流程分类', '1', '2022-01-02 08:40:45', '1', '2022-01-02 08:40:45', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (139, '流程实例的状态', 'bpm_process_instance_status', 0, '流程实例的状态', '1', '2022-01-07 23:46:42', '1', '2022-01-07 23:46:42', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (140, '流程实例的结果', 'bpm_process_instance_result', 0, '流程实例的结果', '1', '2022-01-07 23:48:10', '1', '2022-01-07 23:48:10', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (141, '流程的表单类型', 'bpm_model_form_type', 0, '流程的表单类型', '103', '2022-01-11 23:50:45', '103', '2022-01-11 23:50:45', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (142, '任务分配规则的类型', 'bpm_task_assign_rule_type', 0, '任务分配规则的类型', '103', '2022-01-12 23:21:04', '103', '2022-01-12 15:46:10', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (143, '任务分配自定义脚本', 'bpm_task_assign_script', 0, '任务分配自定义脚本', '103', '2022-01-15 00:10:35', '103', '2022-01-15 00:10:35', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (144, '代码生成的场景枚举', 'infra_codegen_scene', 0, '代码生成的场景枚举', '1', '2022-02-02 13:14:45', '1', '2022-03-10 16:33:46', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (145, '角色类型', 'system_role_type', 0, '角色类型', '1', '2022-02-16 13:01:46', '1', '2022-02-16 13:01:46', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (146, '文件存储器', 'infra_file_storage', 0, '文件存储器', '1', '2022-03-15 00:24:38', '1', '2022-03-15 00:24:38', b'0');
+INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (147, 'OAuth 2.0 授权类型', 'system_oauth2_grant_type', 0, 'OAuth 2.0 授权类型(模式)', '1', '2022-05-12 00:20:52', '1', '2022-05-11 16:25:49', b'0');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_error_code
+-- ----------------------------
+DROP TABLE IF EXISTS `system_error_code`;
+CREATE TABLE `system_error_code`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '错误码编号',
+  `type` tinyint NOT NULL DEFAULT 0 COMMENT '错误码类型',
+  `application_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '应用名',
+  `code` int NOT NULL DEFAULT 0 COMMENT '错误码编码',
+  `message` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '错误码错误提示',
+  `memo` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '备注',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 5458 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '错误码表';
+
+-- ----------------------------
+-- Records of system_error_code
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_login_log
+-- ----------------------------
+DROP TABLE IF EXISTS `system_login_log`;
+CREATE TABLE `system_login_log`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '访问ID',
+  `log_type` bigint NOT NULL COMMENT '日志类型',
+  `trace_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '链路追踪编号',
+  `user_id` bigint NOT NULL DEFAULT 0 COMMENT '用户编号',
+  `user_type` tinyint NOT NULL DEFAULT 0 COMMENT '用户类型',
+  `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '用户账号',
+  `result` tinyint NOT NULL COMMENT '登陆结果',
+  `user_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户 IP',
+  `user_agent` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浏览器 UA',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1341 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '系统访问记录';
+
+-- ----------------------------
+-- Records of system_login_log
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_menu
+-- ----------------------------
+DROP TABLE IF EXISTS `system_menu`;
+CREATE TABLE `system_menu`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '菜单ID',
+  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '菜单名称',
+  `permission` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '权限标识',
+  `type` tinyint NOT NULL COMMENT '菜单类型',
+  `sort` int NOT NULL DEFAULT 0 COMMENT '显示顺序',
+  `parent_id` bigint NOT NULL DEFAULT 0 COMMENT '父菜单ID',
+  `path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '路由地址',
+  `icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '#' COMMENT '菜单图标',
+  `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '组件路径',
+  `status` tinyint NOT NULL DEFAULT 0 COMMENT '菜单状态',
+  `visible` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否可见',
+  `keep_alive` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否缓存',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1268 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '菜单权限表';
+
+-- ----------------------------
+-- Records of system_menu
+-- ----------------------------
+BEGIN;
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1, '系统管理', '', 1, 10, 0, '/system', 'system', NULL, 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2, '基础设施', '', 1, 20, 0, '/infra', 'monitor', NULL, 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (5, 'OA 示例', '', 1, 40, 1185, 'oa', 'people', NULL, 0, b'1', b'1', 'admin', '2021-09-20 16:26:19', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (100, '用户管理', 'system:user:list', 2, 1, 1, 'user', 'user', 'system/user/index', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (101, '角色管理', '', 2, 2, 1, 'role', 'peoples', 'system/role/index', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (102, '菜单管理', '', 2, 3, 1, 'menu', 'tree-table', 'system/menu/index', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (103, '部门管理', '', 2, 4, 1, 'dept', 'tree', 'system/dept/index', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (104, '岗位管理', '', 2, 5, 1, 'post', 'post', 'system/post/index', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (105, '字典管理', '', 2, 6, 1, 'dict', 'dict', 'system/dict/index', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (106, '配置管理', '', 2, 6, 2, 'config', 'edit', 'infra/config/index', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (107, '通知公告', '', 2, 8, 1, 'notice', 'message', 'system/notice/index', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (108, '审计日志', '', 1, 9, 1, 'log', 'log', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (109, '令牌管理', '', 2, 2, 1261, 'token', 'online', 'system/oauth2/token/index', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-05-11 23:31:42', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (110, '定时任务', '', 2, 12, 2, 'job', 'job', 'infra/job/index', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (111, 'MySQL 监控', '', 2, 9, 2, 'druid', 'druid', 'infra/druid/index', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (112, 'Java 监控', '', 2, 11, 2, 'admin-server', 'server', 'infra/server/index', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (113, 'Redis 监控', '', 2, 10, 2, 'redis', 'redis', 'infra/redis/index', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (114, '表单构建', 'infra:build:list', 2, 2, 2, 'build', 'build', 'infra/build/index', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (115, '代码生成', 'infra:codegen:query', 2, 1, 2, 'codegen', 'code', 'infra/codegen/index', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (116, '系统接口', 'infra:swagger:list', 2, 3, 2, 'swagger', 'swagger', 'infra/swagger/index', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (500, '操作日志', '', 2, 1, 108, 'operate-log', 'form', 'system/operatelog/index', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (501, '登录日志', '', 2, 2, 108, 'login-log', 'logininfor', 'system/loginlog/index', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1001, '用户查询', 'system:user:query', 3, 1, 100, '', '#', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1002, '用户新增', 'system:user:create', 3, 2, 100, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1003, '用户修改', 'system:user:update', 3, 3, 100, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1004, '用户删除', 'system:user:delete', 3, 4, 100, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1005, '用户导出', 'system:user:export', 3, 5, 100, '', '#', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1006, '用户导入', 'system:user:import', 3, 6, 100, '', '#', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1007, '重置密码', 'system:user:update-password', 3, 7, 100, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1008, '角色查询', 'system:role:query', 3, 1, 101, '', '#', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1009, '角色新增', 'system:role:create', 3, 2, 101, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1010, '角色修改', 'system:role:update', 3, 3, 101, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1011, '角色删除', 'system:role:delete', 3, 4, 101, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1012, '角色导出', 'system:role:export', 3, 5, 101, '', '#', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1013, '菜单查询', 'system:menu:query', 3, 1, 102, '', '#', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1014, '菜单新增', 'system:menu:create', 3, 2, 102, '', '#', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1015, '菜单修改', 'system:menu:update', 3, 3, 102, '', '#', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1016, '菜单删除', 'system:menu:delete', 3, 4, 102, '', '#', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1017, '部门查询', 'system:dept:query', 3, 1, 103, '', '#', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1018, '部门新增', 'system:dept:create', 3, 2, 103, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1019, '部门修改', 'system:dept:update', 3, 3, 103, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1020, '部门删除', 'system:dept:delete', 3, 4, 103, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1021, '岗位查询', 'system:post:query', 3, 1, 104, '', '#', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1022, '岗位新增', 'system:post:create', 3, 2, 104, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1023, '岗位修改', 'system:post:update', 3, 3, 104, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1024, '岗位删除', 'system:post:delete', 3, 4, 104, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1025, '岗位导出', 'system:post:export', 3, 5, 104, '', '#', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1026, '字典查询', 'system:dict:query', 3, 1, 105, '#', '#', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1027, '字典新增', 'system:dict:create', 3, 2, 105, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1028, '字典修改', 'system:dict:update', 3, 3, 105, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1029, '字典删除', 'system:dict:delete', 3, 4, 105, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1030, '字典导出', 'system:dict:export', 3, 5, 105, '#', '#', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1031, '配置查询', 'infra:config:query', 3, 1, 106, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1032, '配置新增', 'infra:config:create', 3, 2, 106, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1033, '配置修改', 'infra:config:update', 3, 3, 106, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1034, '配置删除', 'infra:config:delete', 3, 4, 106, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1035, '配置导出', 'infra:config:export', 3, 5, 106, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1036, '公告查询', 'system:notice:query', 3, 1, 107, '#', '#', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1037, '公告新增', 'system:notice:create', 3, 2, 107, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1038, '公告修改', 'system:notice:update', 3, 3, 107, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1039, '公告删除', 'system:notice:delete', 3, 4, 107, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1040, '操作查询', 'system:operate-log:query', 3, 1, 500, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1042, '日志导出', 'system:operate-log:export', 3, 2, 500, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1043, '登录查询', 'system:login-log:query', 3, 1, 501, '#', '#', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1045, '日志导出', 'system:login-log:export', 3, 3, 501, '#', '#', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1046, '令牌列表', 'system:oauth2-token:page', 3, 1, 109, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-05-09 23:54:42', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1048, '令牌删除', 'system:oauth2-token:delete', 3, 2, 109, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-05-09 23:54:53', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1050, '任务新增', 'infra:job:create', 3, 2, 110, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1051, '任务修改', 'infra:job:update', 3, 3, 110, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1052, '任务删除', 'infra:job:delete', 3, 4, 110, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1053, '状态修改', 'infra:job:update', 3, 5, 110, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1054, '任务导出', 'infra:job:export', 3, 7, 110, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1056, '生成修改', 'infra:codegen:update', 3, 2, 115, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1057, '生成删除', 'infra:codegen:delete', 3, 3, 115, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1058, '导入代码', 'infra:codegen:create', 3, 2, 115, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1059, '预览代码', 'infra:codegen:preview', 3, 4, 115, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1060, '生成代码', 'infra:codegen:download', 3, 5, 115, '', '', '', 0, b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1063, '设置角色菜单权限', 'system:permission:assign-role-menu', 3, 6, 101, '', '', '', 0, b'1', b'1', '', '2021-01-06 17:53:44', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1064, '设置角色数据权限', 'system:permission:assign-role-data-scope', 3, 7, 101, '', '', '', 0, b'1', b'1', '', '2021-01-06 17:56:31', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1065, '设置用户角色', 'system:permission:assign-user-role', 3, 8, 101, '', '', '', 0, b'1', b'1', '', '2021-01-07 10:23:28', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1066, '获得 Redis 监控信息', 'infra:redis:get-monitor-info', 3, 1, 113, '', '', '', 0, b'1', b'1', '', '2021-01-26 01:02:31', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1067, '获得 Redis Key 列表', 'infra:redis:get-key-list', 3, 2, 113, '', '', '', 0, b'1', b'1', '', '2021-01-26 01:02:52', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1070, '代码生成示例', 'infra:test-demo:query', 2, 1, 2, 'test-demo', 'validCode', 'infra/testDemo/index', 0, b'1', b'1', '', '2021-02-06 12:42:49', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1071, '测试示例表创建', 'infra:test-demo:create', 3, 1, 1070, '', '', '', 0, b'1', b'1', '', '2021-02-06 12:42:49', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1072, '测试示例表更新', 'infra:test-demo:update', 3, 2, 1070, '', '', '', 0, b'1', b'1', '', '2021-02-06 12:42:49', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1073, '测试示例表删除', 'infra:test-demo:delete', 3, 3, 1070, '', '', '', 0, b'1', b'1', '', '2021-02-06 12:42:49', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1074, '测试示例表导出', 'infra:test-demo:export', 3, 4, 1070, '', '', '', 0, b'1', b'1', '', '2021-02-06 12:42:49', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1075, '任务触发', 'infra:job:trigger', 3, 8, 110, '', '', '', 0, b'1', b'1', '', '2021-02-07 13:03:10', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1076, '数据库文档', '', 2, 4, 2, 'db-doc', 'table', 'infra/dbDoc/index', 0, b'1', b'1', '', '2021-02-08 01:41:47', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1077, '监控平台', '', 2, 13, 2, 'skywalking', 'eye-open', 'infra/skywalking/index', 0, b'1', b'1', '', '2021-02-08 20:41:31', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1078, '访问日志', '', 2, 1, 1083, 'api-access-log', 'log', 'infra/apiAccessLog/index', 0, b'1', b'1', '', '2021-02-26 01:32:59', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1082, '日志导出', 'infra:api-access-log:export', 3, 2, 1078, '', '', '', 0, b'1', b'1', '', '2021-02-26 01:32:59', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1083, 'API 日志', '', 2, 8, 2, 'log', 'log', NULL, 0, b'1', b'1', '', '2021-02-26 02:18:24', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1084, '错误日志', 'infra:api-error-log:query', 2, 2, 1083, 'api-error-log', 'log', 'infra/apiErrorLog/index', 0, b'1', b'1', '', '2021-02-26 07:53:20', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1085, '日志处理', 'infra:api-error-log:update-status', 3, 2, 1084, '', '', '', 0, b'1', b'1', '', '2021-02-26 07:53:20', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1086, '日志导出', 'infra:api-error-log:export', 3, 3, 1084, '', '', '', 0, b'1', b'1', '', '2021-02-26 07:53:20', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1087, '任务查询', 'infra:job:query', 3, 1, 110, '', '', '', 0, b'1', b'1', '1', '2021-03-10 01:26:19', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1088, '日志查询', 'infra:api-access-log:query', 3, 1, 1078, '', '', '', 0, b'1', b'1', '1', '2021-03-10 01:28:04', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1089, '日志查询', 'infra:api-error-log:query', 3, 1, 1084, '', '', '', 0, b'1', b'1', '1', '2021-03-10 01:29:09', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1090, '文件列表', '', 2, 5, 1243, 'file', 'upload', 'infra/file/index', 0, b'1', b'1', '', '2021-03-12 20:16:20', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1091, '文件查询', 'infra:file:query', 3, 1, 1090, '', '', '', 0, b'1', b'1', '', '2021-03-12 20:16:20', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1092, '文件删除', 'infra:file:delete', 3, 4, 1090, '', '', '', 0, b'1', b'1', '', '2021-03-12 20:16:20', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1093, '短信管理', '', 1, 11, 1, 'sms', 'validCode', NULL, 0, b'1', b'1', '1', '2021-04-05 01:10:16', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1094, '短信渠道', '', 2, 0, 1093, 'sms-channel', 'phone', 'system/sms/smsChannel', 0, b'1', b'1', '', '2021-04-01 11:07:15', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1095, '短信渠道查询', 'system:sms-channel:query', 3, 1, 1094, '', '', '', 0, b'1', b'1', '', '2021-04-01 11:07:15', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1096, '短信渠道创建', 'system:sms-channel:create', 3, 2, 1094, '', '', '', 0, b'1', b'1', '', '2021-04-01 11:07:15', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1097, '短信渠道更新', 'system:sms-channel:update', 3, 3, 1094, '', '', '', 0, b'1', b'1', '', '2021-04-01 11:07:15', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1098, '短信渠道删除', 'system:sms-channel:delete', 3, 4, 1094, '', '', '', 0, b'1', b'1', '', '2021-04-01 11:07:15', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1100, '短信模板', '', 2, 1, 1093, 'sms-template', 'phone', 'system/sms/smsTemplate', 0, b'1', b'1', '', '2021-04-01 17:35:17', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1101, '短信模板查询', 'system:sms-template:query', 3, 1, 1100, '', '', '', 0, b'1', b'1', '', '2021-04-01 17:35:17', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1102, '短信模板创建', 'system:sms-template:create', 3, 2, 1100, '', '', '', 0, b'1', b'1', '', '2021-04-01 17:35:17', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1103, '短信模板更新', 'system:sms-template:update', 3, 3, 1100, '', '', '', 0, b'1', b'1', '', '2021-04-01 17:35:17', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1104, '短信模板删除', 'system:sms-template:delete', 3, 4, 1100, '', '', '', 0, b'1', b'1', '', '2021-04-01 17:35:17', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1105, '短信模板导出', 'system:sms-template:export', 3, 5, 1100, '', '', '', 0, b'1', b'1', '', '2021-04-01 17:35:17', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1106, '发送测试短信', 'system:sms-template:send-sms', 3, 6, 1100, '', '', '', 0, b'1', b'1', '1', '2021-04-11 00:26:40', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1107, '短信日志', '', 2, 2, 1093, 'sms-log', 'phone', 'system/sms/smsLog', 0, b'1', b'1', '', '2021-04-11 08:37:05', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1108, '短信日志查询', 'system:sms-log:query', 3, 1, 1107, '', '', '', 0, b'1', b'1', '', '2021-04-11 08:37:05', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1109, '短信日志导出', 'system:sms-log:export', 3, 5, 1107, '', '', '', 0, b'1', b'1', '', '2021-04-11 08:37:05', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1110, '错误码管理', '', 2, 12, 1, 'error-code', 'code', 'system/errorCode/index', 0, b'1', b'1', '', '2021-04-13 21:46:42', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1111, '错误码查询', 'system:error-code:query', 3, 1, 1110, '', '', '', 0, b'1', b'1', '', '2021-04-13 21:46:42', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1112, '错误码创建', 'system:error-code:create', 3, 2, 1110, '', '', '', 0, b'1', b'1', '', '2021-04-13 21:46:42', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1113, '错误码更新', 'system:error-code:update', 3, 3, 1110, '', '', '', 0, b'1', b'1', '', '2021-04-13 21:46:42', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1114, '错误码删除', 'system:error-code:delete', 3, 4, 1110, '', '', '', 0, b'1', b'1', '', '2021-04-13 21:46:42', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1115, '错误码导出', 'system:error-code:export', 3, 5, 1110, '', '', '', 0, b'1', b'1', '', '2021-04-13 21:46:42', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1117, '支付管理', '', 1, 11, 0, '/pay', 'money', NULL, 0, b'1', b'1', '1', '2021-12-25 16:43:41', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1118, '请假查询', '', 2, 0, 5, 'leave', 'user', 'bpm/oa/leave/index', 0, b'1', b'1', '', '2021-09-20 08:51:03', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1119, '请假申请查询', 'bpm:oa-leave:query', 3, 1, 1118, '', '', '', 0, b'1', b'1', '', '2021-09-20 08:51:03', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1120, '请假申请创建', 'bpm:oa-leave:create', 3, 2, 1118, '', '', '', 0, b'1', b'1', '', '2021-09-20 08:51:03', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1126, '应用信息', '', 2, 1, 1117, 'app', 'table', 'pay/app/index', 0, b'1', b'1', '', '2021-11-10 01:13:30', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1127, '支付应用信息查询', 'pay:app:query', 3, 1, 1126, '', '', '', 0, b'1', b'1', '', '2021-11-10 01:13:31', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1128, '支付应用信息创建', 'pay:app:create', 3, 2, 1126, '', '', '', 0, b'1', b'1', '', '2021-11-10 01:13:31', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1129, '支付应用信息更新', 'pay:app:update', 3, 3, 1126, '', '', '', 0, b'1', b'1', '', '2021-11-10 01:13:31', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1130, '支付应用信息删除', 'pay:app:delete', 3, 4, 1126, '', '', '', 0, b'1', b'1', '', '2021-11-10 01:13:31', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1131, '支付应用信息导出', 'pay:app:export', 3, 5, 1126, '', '', '', 0, b'1', b'1', '', '2021-11-10 01:13:31', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1132, '秘钥解析', 'pay:channel:parsing', 3, 6, 1129, '', '', '', 0, b'1', b'1', '1', '2021-11-08 15:15:47', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1133, '支付商户信息查询', 'pay:merchant:query', 3, 1, 1132, '', '', '', 0, b'1', b'1', '', '2021-11-10 01:13:41', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1134, '支付商户信息创建', 'pay:merchant:create', 3, 2, 1132, '', '', '', 0, b'1', b'1', '', '2021-11-10 01:13:41', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1135, '支付商户信息更新', 'pay:merchant:update', 3, 3, 1132, '', '', '', 0, b'1', b'1', '', '2021-11-10 01:13:41', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1136, '支付商户信息删除', 'pay:merchant:delete', 3, 4, 1132, '', '', '', 0, b'1', b'1', '', '2021-11-10 01:13:41', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1137, '支付商户信息导出', 'pay:merchant:export', 3, 5, 1132, '', '', '', 0, b'1', b'1', '', '2021-11-10 01:13:41', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1138, '租户列表', '', 2, 0, 1224, 'list', 'peoples', 'system/tenant/index', 0, b'1', b'1', '', '2021-12-14 12:31:43', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1139, '租户查询', 'system:tenant:query', 3, 1, 1138, '', '', '', 0, b'1', b'1', '', '2021-12-14 12:31:44', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1140, '租户创建', 'system:tenant:create', 3, 2, 1138, '', '', '', 0, b'1', b'1', '', '2021-12-14 12:31:44', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1141, '租户更新', 'system:tenant:update', 3, 3, 1138, '', '', '', 0, b'1', b'1', '', '2021-12-14 12:31:44', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1142, '租户删除', 'system:tenant:delete', 3, 4, 1138, '', '', '', 0, b'1', b'1', '', '2021-12-14 12:31:44', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1143, '租户导出', 'system:tenant:export', 3, 5, 1138, '', '', '', 0, b'1', b'1', '', '2021-12-14 12:31:44', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1150, '秘钥解析', '', 3, 6, 1129, '', '', '', 0, b'1', b'1', '1', '2021-11-08 15:15:47', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1161, '退款订单', '', 2, 3, 1117, 'refund', 'order', 'pay/refund/index', 0, b'1', b'1', '', '2021-12-25 08:29:07', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1162, '退款订单查询', 'pay:refund:query', 3, 1, 1161, '', '', '', 0, b'1', b'1', '', '2021-12-25 08:29:07', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1163, '退款订单创建', 'pay:refund:create', 3, 2, 1161, '', '', '', 0, b'1', b'1', '', '2021-12-25 08:29:07', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1164, '退款订单更新', 'pay:refund:update', 3, 3, 1161, '', '', '', 0, b'1', b'1', '', '2021-12-25 08:29:07', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1165, '退款订单删除', 'pay:refund:delete', 3, 4, 1161, '', '', '', 0, b'1', b'1', '', '2021-12-25 08:29:07', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1166, '退款订单导出', 'pay:refund:export', 3, 5, 1161, '', '', '', 0, b'1', b'1', '', '2021-12-25 08:29:07', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1173, '支付订单', '', 2, 2, 1117, 'order', 'pay', 'pay/order/index', 0, b'1', b'1', '', '2021-12-25 08:49:43', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1174, '支付订单查询', 'pay:order:query', 3, 1, 1173, '', '', '', 0, b'1', b'1', '', '2021-12-25 08:49:43', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1175, '支付订单创建', 'pay:order:create', 3, 2, 1173, '', '', '', 0, b'1', b'1', '', '2021-12-25 08:49:43', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1176, '支付订单更新', 'pay:order:update', 3, 3, 1173, '', '', '', 0, b'1', b'1', '', '2021-12-25 08:49:43', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1177, '支付订单删除', 'pay:order:delete', 3, 4, 1173, '', '', '', 0, b'1', b'1', '', '2021-12-25 08:49:43', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1178, '支付订单导出', 'pay:order:export', 3, 5, 1173, '', '', '', 0, b'1', b'1', '', '2021-12-25 08:49:43', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1179, '商户信息', '', 2, 0, 1117, 'merchant', 'merchant', 'pay/merchant/index', 0, b'1', b'1', '', '2021-12-25 09:01:44', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1180, '支付商户信息查询', 'pay:merchant:query', 3, 1, 1179, '', '', '', 0, b'1', b'1', '', '2021-12-25 09:01:44', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1181, '支付商户信息创建', 'pay:merchant:create', 3, 2, 1179, '', '', '', 0, b'1', b'1', '', '2021-12-25 09:01:44', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1182, '支付商户信息更新', 'pay:merchant:update', 3, 3, 1179, '', '', '', 0, b'1', b'1', '', '2021-12-25 09:01:44', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1183, '支付商户信息删除', '', 3, 4, 1179, '', '', '', 0, b'1', b'1', '', '2021-12-25 09:01:44', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1184, '支付商户信息导出', 'pay:merchant:export', 3, 5, 1179, '', '', '', 0, b'1', b'1', '', '2021-12-25 09:01:44', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1185, '工作流程', '', 1, 50, 0, '/bpm', 'tool', NULL, 0, b'1', b'1', '1', '2021-12-30 20:26:36', '103', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1186, '流程管理', '', 1, 10, 1185, 'manager', 'nested', NULL, 0, b'1', b'1', '1', '2021-12-30 20:28:30', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1187, '流程表单', '', 2, 0, 1186, 'form', 'form', 'bpm/form/index', 0, b'1', b'1', '', '2021-12-30 12:38:22', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1188, '表单查询', 'bpm:form:query', 3, 1, 1187, '', '', '', 0, b'1', b'1', '', '2021-12-30 12:38:22', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1189, '表单创建', 'bpm:form:create', 3, 2, 1187, '', '', '', 0, b'1', b'1', '', '2021-12-30 12:38:22', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1190, '表单更新', 'bpm:form:update', 3, 3, 1187, '', '', '', 0, b'1', b'1', '', '2021-12-30 12:38:22', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1191, '表单删除', 'bpm:form:delete', 3, 4, 1187, '', '', '', 0, b'1', b'1', '', '2021-12-30 12:38:22', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1192, '表单导出', 'bpm:form:export', 3, 5, 1187, '', '', '', 0, b'1', b'1', '', '2021-12-30 12:38:22', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1193, '流程模型', '', 2, 5, 1186, 'model', 'guide', 'bpm/model/index', 0, b'1', b'1', '1', '2021-12-31 23:24:58', '103', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1194, '模型查询', 'bpm:model:query', 3, 1, 1193, '', '', '', 0, b'1', b'1', '1', '2022-01-03 19:01:10', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1195, '模型创建', 'bpm:model:create', 3, 2, 1193, '', '', '', 0, b'1', b'1', '1', '2022-01-03 19:01:24', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1196, '模型导入', 'bpm:model:import', 3, 3, 1193, '', '', '', 0, b'1', b'1', '1', '2022-01-03 19:01:35', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1197, '模型更新', 'bpm:model:update', 3, 4, 1193, '', '', '', 0, b'1', b'1', '1', '2022-01-03 19:02:28', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1198, '模型删除', 'bpm:model:delete', 3, 5, 1193, '', '', '', 0, b'1', b'1', '1', '2022-01-03 19:02:43', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1199, '模型发布', 'bpm:model:deploy', 3, 6, 1193, '', '', '', 0, b'1', b'1', '1', '2022-01-03 19:03:24', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1200, '任务管理', '', 1, 20, 1185, 'task', 'cascader', NULL, 0, b'1', b'1', '1', '2022-01-07 23:51:48', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1201, '我的流程', '', 2, 0, 1200, 'my', 'people', 'bpm/processInstance/index', 0, b'1', b'1', '', '2022-01-07 15:53:44', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1202, '流程实例的查询', 'bpm:process-instance:query', 3, 1, 1201, '', '', '', 0, b'1', b'1', '', '2022-01-07 15:53:44', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1207, '待办任务', '', 2, 10, 1200, 'todo', 'eye-open', 'bpm/task/todo', 0, b'1', b'1', '1', '2022-01-08 10:33:37', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1208, '已办任务', '', 2, 20, 1200, 'done', 'eye', 'bpm/task/done', 0, b'1', b'1', '1', '2022-01-08 10:34:13', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1209, '用户分组', '', 2, 2, 1186, 'user-group', 'people', 'bpm/group/index', 0, b'1', b'1', '', '2022-01-14 02:14:20', '103', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1210, '用户组查询', 'bpm:user-group:query', 3, 1, 1209, '', '', '', 0, b'1', b'1', '', '2022-01-14 02:14:20', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1211, '用户组创建', 'bpm:user-group:create', 3, 2, 1209, '', '', '', 0, b'1', b'1', '', '2022-01-14 02:14:20', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1212, '用户组更新', 'bpm:user-group:update', 3, 3, 1209, '', '', '', 0, b'1', b'1', '', '2022-01-14 02:14:20', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1213, '用户组删除', 'bpm:user-group:delete', 3, 4, 1209, '', '', '', 0, b'1', b'1', '', '2022-01-14 02:14:20', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1215, '流程定义查询', 'bpm:process-definition:query', 3, 10, 1193, '', '', '', 0, b'1', b'1', '1', '2022-01-23 00:21:43', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1216, '流程任务分配规则查询', 'bpm:task-assign-rule:query', 3, 20, 1193, '', '', '', 0, b'1', b'1', '1', '2022-01-23 00:26:53', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1217, '流程任务分配规则创建', 'bpm:task-assign-rule:create', 3, 21, 1193, '', '', '', 0, b'1', b'1', '1', '2022-01-23 00:28:15', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1218, '流程任务分配规则更新', 'bpm:task-assign-rule:update', 3, 22, 1193, '', '', '', 0, b'1', b'1', '1', '2022-01-23 00:28:41', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1219, '流程实例的创建', 'bpm:process-instance:create', 3, 2, 1201, '', '', '', 0, b'1', b'1', '1', '2022-01-23 00:36:15', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1220, '流程实例的取消', 'bpm:process-instance:cancel', 3, 3, 1201, '', '', '', 0, b'1', b'1', '1', '2022-01-23 00:36:33', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1221, '流程任务的查询', 'bpm:task:query', 3, 1, 1207, '', '', '', 0, b'1', b'1', '1', '2022-01-23 00:38:52', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1222, '流程任务的更新', 'bpm:task:update', 3, 2, 1207, '', '', '', 0, b'1', b'1', '1', '2022-01-23 00:39:24', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1224, '租户管理', '', 2, 0, 1, 'tenant', 'peoples', NULL, 0, b'1', b'1', '1', '2022-02-20 01:41:13', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1225, '租户套餐', '', 2, 0, 1224, 'package', 'eye', 'system/tenantPackage/index', 0, b'1', b'1', '', '2022-02-19 17:44:06', '1', '2022-04-21 01:21:25', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1226, '租户套餐查询', 'system:tenant-package:query', 3, 1, 1225, '', '', '', 0, b'1', b'1', '', '2022-02-19 17:44:06', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1227, '租户套餐创建', 'system:tenant-package:create', 3, 2, 1225, '', '', '', 0, b'1', b'1', '', '2022-02-19 17:44:06', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1228, '租户套餐更新', 'system:tenant-package:update', 3, 3, 1225, '', '', '', 0, b'1', b'1', '', '2022-02-19 17:44:06', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1229, '租户套餐删除', 'system:tenant-package:delete', 3, 4, 1225, '', '', '', 0, b'1', b'1', '', '2022-02-19 17:44:06', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1237, '文件配置', '', 2, 0, 1243, 'file-config', 'config', 'infra/fileConfig/index', 0, b'1', b'1', '', '2022-03-15 14:35:28', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1238, '文件配置查询', 'infra:file-config:query', 3, 1, 1237, '', '', '', 0, b'1', b'1', '', '2022-03-15 14:35:28', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1239, '文件配置创建', 'infra:file-config:create', 3, 2, 1237, '', '', '', 0, b'1', b'1', '', '2022-03-15 14:35:28', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1240, '文件配置更新', 'infra:file-config:update', 3, 3, 1237, '', '', '', 0, b'1', b'1', '', '2022-03-15 14:35:28', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1241, '文件配置删除', 'infra:file-config:delete', 3, 4, 1237, '', '', '', 0, b'1', b'1', '', '2022-03-15 14:35:28', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1242, '文件配置导出', 'infra:file-config:export', 3, 5, 1237, '', '', '', 0, b'1', b'1', '', '2022-03-15 14:35:28', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1243, '文件管理', '', 2, 5, 2, 'file', 'download', NULL, 0, b'1', b'1', '1', '2022-03-16 23:47:40', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1247, '敏感词管理', '', 2, 13, 1, 'sensitive-word', 'education', 'system/sensitiveWord/index', 0, b'1', b'1', '', '2022-04-07 16:55:03', '1', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1248, '敏感词查询', 'system:sensitive-word:query', 3, 1, 1247, '', '', '', 0, b'1', b'1', '', '2022-04-07 16:55:03', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1249, '敏感词创建', 'system:sensitive-word:create', 3, 2, 1247, '', '', '', 0, b'1', b'1', '', '2022-04-07 16:55:03', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1250, '敏感词更新', 'system:sensitive-word:update', 3, 3, 1247, '', '', '', 0, b'1', b'1', '', '2022-04-07 16:55:03', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1251, '敏感词删除', 'system:sensitive-word:delete', 3, 4, 1247, '', '', '', 0, b'1', b'1', '', '2022-04-07 16:55:03', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1252, '敏感词导出', 'system:sensitive-word:export', 3, 5, 1247, '', '', '', 0, b'1', b'1', '', '2022-04-07 16:55:03', '', '2022-04-20 17:03:10', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1254, '作者动态', '', 1, 0, 0, 'https://www.iocoder.cn', 'people', NULL, 0, b'1', b'1', '1', '2022-04-23 01:03:15', '1', '2022-04-23 01:03:15', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1255, '数据源配置', '', 2, 1, 2, 'data-source-config', 'rate', 'infra/dataSourceConfig/index', 0, b'1', b'1', '', '2022-04-27 14:37:32', '1', '2022-04-27 22:42:06', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1256, '数据源配置查询', 'infra:data-source-config:query', 3, 1, 1255, '', '', '', 0, b'1', b'1', '', '2022-04-27 14:37:32', '', '2022-04-27 14:37:32', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1257, '数据源配置创建', 'infra:data-source-config:create', 3, 2, 1255, '', '', '', 0, b'1', b'1', '', '2022-04-27 14:37:32', '', '2022-04-27 14:37:32', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1258, '数据源配置更新', 'infra:data-source-config:update', 3, 3, 1255, '', '', '', 0, b'1', b'1', '', '2022-04-27 14:37:32', '', '2022-04-27 14:37:32', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1259, '数据源配置删除', 'infra:data-source-config:delete', 3, 4, 1255, '', '', '', 0, b'1', b'1', '', '2022-04-27 14:37:32', '', '2022-04-27 14:37:32', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1260, '数据源配置导出', 'infra:data-source-config:export', 3, 5, 1255, '', '', '', 0, b'1', b'1', '', '2022-04-27 14:37:32', '', '2022-04-27 14:37:32', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1261, 'OAuth 2.0', '', 1, 10, 1, 'oauth2', 'people', NULL, 0, b'1', b'1', '1', '2022-05-09 23:38:17', '1', '2022-05-11 23:51:46', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1263, '应用管理', '', 2, 0, 1261, 'oauth2/application', 'tool', 'system/oauth2/client/index', 0, b'1', b'1', '', '2022-05-10 16:26:33', '1', '2022-05-11 23:31:36', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1264, '客户端查询', 'system:oauth2-client:query', 3, 1, 1263, '', '', '', 0, b'1', b'1', '', '2022-05-10 16:26:33', '1', '2022-05-11 00:31:06', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1265, '客户端创建', 'system:oauth2-client:create', 3, 2, 1263, '', '', '', 0, b'1', b'1', '', '2022-05-10 16:26:33', '1', '2022-05-11 00:31:23', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1266, '客户端更新', 'system:oauth2-client:update', 3, 3, 1263, '', '', '', 0, b'1', b'1', '', '2022-05-10 16:26:33', '1', '2022-05-11 00:31:28', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1267, '客户端删除', 'system:oauth2-client:delete', 3, 4, 1263, '', '', '', 0, b'1', b'1', '', '2022-05-10 16:26:33', '1', '2022-05-11 00:31:33', b'0');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_notice
+-- ----------------------------
+DROP TABLE IF EXISTS `system_notice`;
+CREATE TABLE `system_notice`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '公告ID',
+  `title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '公告标题',
+  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '公告内容',
+  `type` tinyint NOT NULL COMMENT '公告类型(1通知 2公告)',
+  `status` tinyint NOT NULL DEFAULT 0 COMMENT '公告状态(0正常 1关闭)',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '通知公告表';
+
+-- ----------------------------
+-- Records of system_notice
+-- ----------------------------
+BEGIN;
+INSERT INTO `system_notice` (`id`, `title`, `content`, `type`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, '芋道的公众', '<p>新版本内容133</p>', 1, 0, 'admin', '2021-01-05 17:03:48', '1', '2022-05-04 21:00:20', b'0', 1);
+INSERT INTO `system_notice` (`id`, `title`, `content`, `type`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2, '维护通知:2018-07-01 若依系统凌晨维护', '<p><img src=\"http://test.yudao.iocoder.cn/b7cb3cf49b4b3258bf7309a09dd2f4e5.jpg\">维护内容</p>', 2, 1, 'admin', '2021-01-05 17:03:48', '1', '2022-05-11 12:34:24', b'0', 1);
+INSERT INTO `system_notice` (`id`, `title`, `content`, `type`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (4, '我是测试标题', '<p>哈哈哈哈123</p>', 1, 0, '110', '2022-02-22 01:01:25', '110', '2022-02-22 01:01:46', b'0', 121);
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_oauth2_access_token
+-- ----------------------------
+DROP TABLE IF EXISTS `system_oauth2_access_token`;
+CREATE TABLE `system_oauth2_access_token`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `user_id` bigint NOT NULL COMMENT '用户编号',
+  `access_token` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '访问令牌',
+  `refresh_token` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '刷新令牌',
+  `user_type` tinyint NOT NULL COMMENT '用户类型',
+  `client_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '客户端编号',
+  `expires_time` datetime NOT NULL COMMENT '过期时间',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 56 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '刷新令牌';
+
+-- ----------------------------
+-- Records of system_oauth2_access_token
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_oauth2_client
+-- ----------------------------
+DROP TABLE IF EXISTS `system_oauth2_client`;
+CREATE TABLE `system_oauth2_client`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `client_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '客户端编号',
+  `secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '客户端密钥',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '应用名',
+  `logo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '应用图标',
+  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '应用描述',
+  `status` tinyint NOT NULL COMMENT '状态',
+  `access_token_validity_seconds` int NOT NULL COMMENT '访问令牌的有效期',
+  `refresh_token_validity_seconds` int NOT NULL COMMENT '刷新令牌的有效期',
+  `redirect_uris` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '可重定向的 URI 地址',
+  `auto_approve` bit(1) NOT NULL COMMENT '是否自动授权',
+  `authorized_grant_types` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '授权类型',
+  `scopes` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '授权范围',
+  `authorities` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '权限',
+  `resource_ids` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '资源',
+  `additional_information` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '附加信息',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 41 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 客户端表';
+
+-- ----------------------------
+-- Records of system_oauth2_client
+-- ----------------------------
+BEGIN;
+INSERT INTO `system_oauth2_client` (`id`, `client_id`, `secret`, `name`, `logo`, `description`, `status`, `access_token_validity_seconds`, `refresh_token_validity_seconds`, `redirect_uris`, `auto_approve`, `authorized_grant_types`, `scopes`, `authorities`, `resource_ids`, `additional_information`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1, 'default', 'admin123', '芋道源码', 'http://test.yudao.iocoder.cn/a5e2e244368878a366b516805a4aabf1.png', '我是描述', 0, 999999999, 8640, '[\"https://www.iocoder.cn\",\"https://doc.iocoder.cn\"]', b'1', '[\"password\",\"authorization_code\",\"implicit\",\"refresh_token\"]', '[\"user_info\"]', '[\"system:user:query\"]', '[]', '{}', '1', '2022-05-11 21:47:12', '1', '2022-05-12 01:00:20', b'0');
+INSERT INTO `system_oauth2_client` (`id`, `client_id`, `secret`, `name`, `logo`, `description`, `status`, `access_token_validity_seconds`, `refresh_token_validity_seconds`, `redirect_uris`, `auto_approve`, `authorized_grant_types`, `scopes`, `authorities`, `resource_ids`, `additional_information`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (40, 'test', 'test2', 'biubiu', 'http://test.yudao.iocoder.cn/277a899d573723f1fcdfb57340f00379.png', NULL, 0, 1800, 43200, '[\"https://www.iocoder.cn\"]', b'1', '[\"password\",\"authorization_code\",\"implicit\"]', '[]', '[]', '[]', '{}', '1', '2022-05-12 00:28:20', '1', '2022-05-12 00:59:53', b'0');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_oauth2_refresh_token
+-- ----------------------------
+DROP TABLE IF EXISTS `system_oauth2_refresh_token`;
+CREATE TABLE `system_oauth2_refresh_token`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `user_id` bigint NOT NULL COMMENT '用户编号',
+  `refresh_token` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '刷新令牌',
+  `user_type` tinyint NOT NULL COMMENT '用户类型',
+  `client_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '客户端编号',
+  `expires_time` datetime NOT NULL COMMENT '过期时间',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 37 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '刷新令牌';
+
+-- ----------------------------
+-- Records of system_oauth2_refresh_token
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_operate_log
+-- ----------------------------
+DROP TABLE IF EXISTS `system_operate_log`;
+CREATE TABLE `system_operate_log`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志主键',
+  `trace_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '链路追踪编号',
+  `user_id` bigint NOT NULL COMMENT '用户编号',
+  `user_type` tinyint NOT NULL DEFAULT 0 COMMENT '用户类型',
+  `module` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模块标题',
+  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '操作名',
+  `type` bigint NOT NULL DEFAULT 0 COMMENT '操作分类',
+  `content` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '操作内容',
+  `exts` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '拓展字段',
+  `request_method` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '请求方法名',
+  `request_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '请求地址',
+  `user_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '用户 IP',
+  `user_agent` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '浏览器 UA',
+  `java_method` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'Java 方法名',
+  `java_method_args` varchar(8000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT 'Java 方法的参数',
+  `start_time` datetime NOT NULL COMMENT '操作时间',
+  `duration` int NOT NULL COMMENT '执行时长',
+  `result_code` int NOT NULL DEFAULT 0 COMMENT '结果码',
+  `result_msg` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '结果提示',
+  `result_data` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '结果数据',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 2097 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '操作日志记录';
+
+-- ----------------------------
+-- Records of system_operate_log
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_post
+-- ----------------------------
+DROP TABLE IF EXISTS `system_post`;
+CREATE TABLE `system_post`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '岗位ID',
+  `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '岗位编码',
+  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '岗位名称',
+  `sort` int NOT NULL COMMENT '显示顺序',
+  `status` tinyint NOT NULL COMMENT '状态(0正常 1停用)',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '岗位信息表';
+
+-- ----------------------------
+-- Records of system_post
+-- ----------------------------
+BEGIN;
+INSERT INTO `system_post` (`id`, `code`, `name`, `sort`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, 'ceo', '董事长', 1, 0, '', 'admin', '2021-01-06 17:03:48', '1', '2022-04-19 16:53:39', b'0', 1);
+INSERT INTO `system_post` (`id`, `code`, `name`, `sort`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2, 'se', '项目经理', 2, 0, '', 'admin', '2021-01-05 17:03:48', '1', '2021-12-12 10:47:47', b'0', 1);
+INSERT INTO `system_post` (`id`, `code`, `name`, `sort`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (4, 'user', '普通员工', 4, 0, '111', 'admin', '2021-01-05 17:03:48', '1', '2022-05-04 22:46:35', b'0', 1);
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_role
+-- ----------------------------
+DROP TABLE IF EXISTS `system_role`;
+CREATE TABLE `system_role`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '角色ID',
+  `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '角色名称',
+  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '角色权限字符串',
+  `sort` int NOT NULL COMMENT '显示顺序',
+  `data_scope` tinyint NOT NULL DEFAULT 1 COMMENT '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)',
+  `data_scope_dept_ids` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '数据范围(指定部门数组)',
+  `status` tinyint NOT NULL COMMENT '角色状态(0正常 1停用)',
+  `type` tinyint NOT NULL COMMENT '角色类型',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 112 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '角色信息表';
+
+-- ----------------------------
+-- Records of system_role
+-- ----------------------------
+BEGIN;
+INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, '超级管理员', 'super_admin', 1, 1, '', 0, 1, '超级管理员', 'admin', '2021-01-05 17:03:48', '', '2022-02-22 05:08:21', b'0', 1);
+INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2, '普通角色', 'common', 2, 2, '', 0, 1, '普通角色', 'admin', '2021-01-05 17:03:48', '', '2022-02-22 05:08:20', b'0', 1);
+INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (101, '测试账号', 'test', 0, 1, '[]', 0, 2, '132', '', '2021-01-06 13:49:35', '1', '2022-04-01 21:37:13', b'0', 1);
+INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (109, '租户管理员', 'tenant_admin', 0, 1, '', 0, 1, '系统自动生成', '1', '2022-02-22 00:56:14', '1', '2022-02-22 00:56:14', b'0', 121);
+INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (110, '测试角色', 'test', 0, 1, '[]', 0, 2, '嘿嘿', '110', '2022-02-23 00:14:34', '110', '2022-02-23 13:14:58', b'0', 121);
+INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (111, '租户管理员', 'tenant_admin', 0, 1, '', 0, 1, '系统自动生成', '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_role_menu
+-- ----------------------------
+DROP TABLE IF EXISTS `system_role_menu`;
+CREATE TABLE `system_role_menu`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增编号',
+  `role_id` bigint NOT NULL COMMENT '角色ID',
+  `menu_id` bigint NOT NULL COMMENT '菜单ID',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1695 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '角色和菜单关联表';
+
+-- ----------------------------
+-- Records of system_role_menu
+-- ----------------------------
+BEGIN;
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (263, 109, 1, '1', '2022-02-22 00:56:14', '1', '2022-02-22 00:56:14', b'0', 121);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (434, 2, 1, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (454, 2, 1093, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (455, 2, 1094, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (460, 2, 1100, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (467, 2, 1107, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (470, 2, 1110, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (476, 2, 1117, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (477, 2, 100, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (478, 2, 101, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (479, 2, 102, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (480, 2, 1126, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (481, 2, 103, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (483, 2, 104, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (485, 2, 105, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (488, 2, 107, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (490, 2, 108, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (492, 2, 109, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (498, 2, 1138, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (523, 2, 1224, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (524, 2, 1225, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (541, 2, 500, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (543, 2, 501, '1', '2022-02-22 13:09:12', '1', '2022-02-22 13:09:12', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (675, 2, 2, '1', '2022-02-22 13:16:57', '1', '2022-02-22 13:16:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (689, 2, 1077, '1', '2022-02-22 13:16:57', '1', '2022-02-22 13:16:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (690, 2, 1078, '1', '2022-02-22 13:16:57', '1', '2022-02-22 13:16:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (692, 2, 1083, '1', '2022-02-22 13:16:57', '1', '2022-02-22 13:16:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (693, 2, 1084, '1', '2022-02-22 13:16:57', '1', '2022-02-22 13:16:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (699, 2, 1090, '1', '2022-02-22 13:16:57', '1', '2022-02-22 13:16:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (703, 2, 106, '1', '2022-02-22 13:16:57', '1', '2022-02-22 13:16:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (704, 2, 110, '1', '2022-02-22 13:16:57', '1', '2022-02-22 13:16:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (705, 2, 111, '1', '2022-02-22 13:16:57', '1', '2022-02-22 13:16:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (706, 2, 112, '1', '2022-02-22 13:16:57', '1', '2022-02-22 13:16:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (707, 2, 113, '1', '2022-02-22 13:16:57', '1', '2022-02-22 13:16:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1296, 110, 1, '110', '2022-02-23 00:23:55', '110', '2022-02-23 00:23:55', b'0', 121);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1486, 109, 103, '1', '2022-02-23 19:32:14', '1', '2022-02-23 19:32:14', b'0', 121);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1487, 109, 104, '1', '2022-02-23 19:32:14', '1', '2022-02-23 19:32:14', b'0', 121);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1489, 1, 1, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1490, 1, 2, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1494, 1, 1077, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1495, 1, 1078, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1496, 1, 1083, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1497, 1, 1084, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1498, 1, 1090, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1499, 1, 1093, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1500, 1, 1094, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1501, 1, 1100, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1502, 1, 1107, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1503, 1, 1110, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1505, 1, 1117, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1506, 1, 100, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1507, 1, 101, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1508, 1, 102, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1509, 1, 1126, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1510, 1, 103, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1511, 1, 104, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1512, 1, 105, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1513, 1, 106, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1514, 1, 107, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1515, 1, 108, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1516, 1, 109, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1517, 1, 110, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1518, 1, 111, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1519, 1, 112, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1520, 1, 113, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1522, 1, 1138, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1525, 1, 1224, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1526, 1, 1225, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1527, 1, 500, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1528, 1, 501, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1529, 109, 1024, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1530, 109, 1025, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1536, 109, 1017, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1537, 109, 1018, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1538, 109, 1019, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1539, 109, 1020, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1540, 109, 1021, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1541, 109, 1022, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1542, 109, 1023, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1576, 111, 1024, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1577, 111, 1025, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1578, 111, 1, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1584, 111, 103, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1585, 111, 104, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1587, 111, 1017, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1588, 111, 1018, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1589, 111, 1019, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1590, 111, 1020, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1591, 111, 1021, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1592, 111, 1022, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1593, 111, 1023, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1594, 109, 102, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 121);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1595, 109, 1013, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 121);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1596, 109, 1014, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 121);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1597, 109, 1015, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 121);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1598, 109, 1016, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 121);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1599, 111, 102, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 122);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1600, 111, 1013, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 122);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1601, 111, 1014, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 122);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1602, 111, 1015, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 122);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1603, 111, 1016, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 122);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1604, 101, 1216, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1605, 101, 1217, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1606, 101, 1218, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1607, 101, 1219, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1608, 101, 1220, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1609, 101, 1221, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1610, 101, 5, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1611, 101, 1222, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1612, 101, 1118, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1613, 101, 1119, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1614, 101, 1120, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1615, 101, 1185, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1616, 101, 1186, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1617, 101, 1187, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1618, 101, 1188, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1619, 101, 1189, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1620, 101, 1190, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1621, 101, 1191, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1622, 101, 1192, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1623, 101, 1193, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1624, 101, 1194, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1625, 101, 1195, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1626, 101, 1196, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1627, 101, 1197, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1628, 101, 1198, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1629, 101, 1199, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1630, 101, 1200, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1631, 101, 1201, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1632, 101, 1202, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1633, 101, 1207, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1634, 101, 1208, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1635, 101, 1209, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1636, 101, 1210, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1637, 101, 1211, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1638, 101, 1212, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1639, 101, 1213, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1640, 101, 1215, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1641, 101, 2, '1', '2022-04-01 22:21:24', '1', '2022-04-01 22:21:24', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1642, 101, 1031, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1643, 101, 1032, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1644, 101, 1033, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1645, 101, 1034, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1646, 101, 1035, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1647, 101, 1050, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1648, 101, 1051, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1649, 101, 1052, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1650, 101, 1053, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1651, 101, 1054, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1652, 101, 1056, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1653, 101, 1057, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1654, 101, 1058, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1655, 101, 1059, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1656, 101, 1060, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1657, 101, 1066, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1658, 101, 1067, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1659, 101, 1070, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1660, 101, 1071, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1661, 101, 1072, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1662, 101, 1073, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1663, 101, 1074, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1664, 101, 1075, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1665, 101, 1076, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1666, 101, 1077, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1667, 101, 1078, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1668, 101, 1082, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1669, 101, 1083, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1670, 101, 1084, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1671, 101, 1085, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1672, 101, 1086, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1673, 101, 1087, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1674, 101, 1088, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1675, 101, 1089, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1676, 101, 1090, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1677, 101, 1091, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1678, 101, 1092, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1679, 101, 1237, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1680, 101, 1238, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1681, 101, 1239, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1682, 101, 1240, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1683, 101, 1241, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1684, 101, 1242, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1685, 101, 1243, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1687, 101, 106, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1688, 101, 110, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1689, 101, 111, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1690, 101, 112, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1691, 101, 113, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1692, 101, 114, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1693, 101, 115, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1694, 101, 116, '1', '2022-04-01 22:21:37', '1', '2022-04-01 22:21:37', b'0', 1);
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_sensitive_word
+-- ----------------------------
+DROP TABLE IF EXISTS `system_sensitive_word`;
+CREATE TABLE `system_sensitive_word`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '敏感词',
+  `description` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '描述',
+  `tags` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '标签数组',
+  `status` tinyint NOT NULL COMMENT '状态',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '敏感词';
+
+-- ----------------------------
+-- Records of system_sensitive_word
+-- ----------------------------
+BEGIN;
+INSERT INTO `system_sensitive_word` (`id`, `name`, `description`, `tags`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (3, '土豆', '好呀', '蔬菜,短信', 0, '1', '2022-04-08 21:07:12', '1', '2022-04-09 10:28:14', b'0');
+INSERT INTO `system_sensitive_word` (`id`, `name`, `description`, `tags`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (4, 'XXX', NULL, '短信', 0, '1', '2022-04-08 21:27:49', '1', '2022-04-08 21:27:49', b'0');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_sms_channel
+-- ----------------------------
+DROP TABLE IF EXISTS `system_sms_channel`;
+CREATE TABLE `system_sms_channel`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `signature` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '短信签名',
+  `code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '渠道编码',
+  `status` tinyint NOT NULL COMMENT '开启状态',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
+  `api_key` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '短信 API 的账号',
+  `api_secret` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '短信 API 的秘钥',
+  `callback_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '短信发送回调 URL',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '短信渠道';
+
+-- ----------------------------
+-- Records of system_sms_channel
+-- ----------------------------
+BEGIN;
+INSERT INTO `system_sms_channel` (`id`, `signature`, `code`, `status`, `remark`, `api_key`, `api_secret`, `callback_url`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1, '芋道', 'YUN_PIAN', 0, '呵呵呵哒', '1555a14277cb8a608cf45a9e6a80d510', NULL, 'http://vdwapu.natappfree.cc/admin-api/system/sms/callback/yunpian', '', '2021-03-31 06:12:20', '1', '2022-02-23 16:48:44', b'0');
+INSERT INTO `system_sms_channel` (`id`, `signature`, `code`, `status`, `remark`, `api_key`, `api_secret`, `callback_url`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2, 'Ballcat', 'ALIYUN', 0, '啦啦啦', 'LTAI5tCnKso2uG3kJ5gRav88', 'fGJ5SNXL7P1NHNRmJ7DJaMJGPyE55C', NULL, '', '2021-03-31 11:53:10', '1', '2021-04-14 00:08:37', b'0');
+INSERT INTO `system_sms_channel` (`id`, `signature`, `code`, `status`, `remark`, `api_key`, `api_secret`, `callback_url`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (4, '测试渠道', 'DEBUG_DING_TALK', 0, '123', '696b5d8ead48071237e4aa5861ff08dbadb2b4ded1c688a7b7c9afc615579859', 'SEC5c4e5ff888bc8a9923ae47f59e7ccd30af1f14d93c55b4e2c9cb094e35aeed67', NULL, '1', '2021-04-13 00:23:14', '1', '2022-03-27 20:29:49', b'0');
+INSERT INTO `system_sms_channel` (`id`, `signature`, `code`, `status`, `remark`, `api_key`, `api_secret`, `callback_url`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (6, '测试演示', 'DEBUG_DING_TALK', 0, NULL, '696b5d8ead48071237e4aa5861ff08dbadb2b4ded1c688a7b7c9afc615579859', 'SEC5c4e5ff888bc8a9923ae47f59e7ccd30af1f14d93c55b4e2c9cb094e35aeed67', NULL, '1', '2022-04-10 23:07:59', '1', '2022-04-10 23:07:59', b'0');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_sms_code
+-- ----------------------------
+DROP TABLE IF EXISTS `system_sms_code`;
+CREATE TABLE `system_sms_code`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `mobile` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '手机号',
+  `code` varchar(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '验证码',
+  `create_ip` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '创建 IP',
+  `scene` tinyint NOT NULL COMMENT '发送场景',
+  `today_index` tinyint NOT NULL COMMENT '今日发送的第几条',
+  `used` tinyint NOT NULL COMMENT '是否使用',
+  `used_time` datetime NULL DEFAULT NULL COMMENT '使用时间',
+  `used_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '使用 IP',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE,
+  INDEX `idx_mobile`(`mobile` ASC) USING BTREE COMMENT '手机号'
+) ENGINE = InnoDB AUTO_INCREMENT = 467 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '手机验证码';
+
+-- ----------------------------
+-- Records of system_sms_code
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_sms_log
+-- ----------------------------
+DROP TABLE IF EXISTS `system_sms_log`;
+CREATE TABLE `system_sms_log`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `channel_id` bigint NOT NULL COMMENT '短信渠道编号',
+  `channel_code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '短信渠道编码',
+  `template_id` bigint NOT NULL COMMENT '模板编号',
+  `template_code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板编码',
+  `template_type` tinyint NOT NULL COMMENT '短信类型',
+  `template_content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '短信内容',
+  `template_params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '短信参数',
+  `api_template_id` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '短信 API 的模板编号',
+  `mobile` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '手机号',
+  `user_id` bigint NULL DEFAULT NULL COMMENT '用户编号',
+  `user_type` tinyint NULL DEFAULT NULL COMMENT '用户类型',
+  `send_status` tinyint NOT NULL DEFAULT 0 COMMENT '发送状态',
+  `send_time` datetime NULL DEFAULT NULL COMMENT '发送时间',
+  `send_code` int NULL DEFAULT NULL COMMENT '发送结果的编码',
+  `send_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '发送结果的提示',
+  `api_send_code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '短信 API 发送结果的编码',
+  `api_send_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '短信 API 发送失败的提示',
+  `api_request_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '短信 API 发送返回的唯一请求 ID',
+  `api_serial_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '短信 API 发送返回的序号',
+  `receive_status` tinyint NOT NULL DEFAULT 0 COMMENT '接收状态',
+  `receive_time` datetime NULL DEFAULT NULL COMMENT '接收时间',
+  `api_receive_code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'API 接收结果的编码',
+  `api_receive_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'API 接收结果的说明',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 140 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '短信日志';
+
+-- ----------------------------
+-- Records of system_sms_log
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_sms_template
+-- ----------------------------
+DROP TABLE IF EXISTS `system_sms_template`;
+CREATE TABLE `system_sms_template`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `type` tinyint NOT NULL COMMENT '短信签名',
+  `status` tinyint NOT NULL COMMENT '开启状态',
+  `code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板编码',
+  `name` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板名称',
+  `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板内容',
+  `params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '参数数组',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
+  `api_template_id` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '短信 API 的模板编号',
+  `channel_id` bigint NOT NULL COMMENT '短信渠道编号',
+  `channel_code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '短信渠道编码',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '短信模板';
+
+-- ----------------------------
+-- Records of system_sms_template
+-- ----------------------------
+BEGIN;
+INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2, 1, 0, 'test_01', '测试验证码短信', '正在进行登录操作{operation},您的验证码是{code}', '[\"operation\",\"code\"]', NULL, '4383920', 1, 'YUN_PIAN', '', '2021-03-31 10:49:38', '1', '2021-04-10 01:22:00', b'0');
+INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (3, 1, 0, 'test_02', '公告通知', '您的验证码{code},该验证码5分钟内有效,请勿泄漏于他人!', '[\"code\"]', NULL, 'SMS_207945135', 2, 'ALIYUN', '', '2021-03-31 11:56:30', '1', '2021-04-10 01:22:02', b'0');
+INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (6, 3, 0, 'test-01', '测试模板', '哈哈哈 {name}', '[\"name\"]', 'f哈哈哈', '4383920', 1, 'YUN_PIAN', '1', '2021-04-10 01:07:21', '1', '2021-04-10 01:22:05', b'0');
+INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (7, 3, 0, 'test-04', '测试下', '老鸡{name},牛逼{code}', '[\"name\",\"code\"]', NULL, 'suibian', 4, 'DEBUG_DING_TALK', '1', '2021-04-13 00:29:53', '1', '2021-04-14 00:30:38', b'0');
+INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (8, 1, 0, 'user-sms-login', '前台用户短信登录', '您的验证码是{code}', '[\"code\"]', NULL, '4372216', 1, 'YUN_PIAN', '1', '2021-10-11 08:10:00', '1', '2021-10-11 08:10:00', b'0');
+INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (9, 2, 0, 'bpm_task_assigned', '【工作流】任务被分配', '您收到了一条新的待办任务:{processInstanceName}-{taskName},申请人:{startUserNickname},处理链接:{detailUrl}', '[\"processInstanceName\",\"taskName\",\"startUserNickname\",\"detailUrl\"]', NULL, 'suibian', 4, 'DEBUG_DING_TALK', '1', '2022-01-21 22:31:19', '1', '2022-01-22 00:03:36', b'0');
+INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (10, 2, 0, 'bpm_process_instance_reject', '【工作流】流程被不通过', '您的流程被审批不通过:{processInstanceName},原因:{reason},查看链接:{detailUrl}', '[\"processInstanceName\",\"reason\",\"detailUrl\"]', NULL, 'suibian', 4, 'DEBUG_DING_TALK', '1', '2022-01-22 00:03:31', '1', '2022-05-01 12:33:14', b'0');
+INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (11, 2, 0, 'bpm_process_instance_approve', '【工作流】流程被通过', '您的流程被审批通过:{processInstanceName},查看链接:{detailUrl}', '[\"processInstanceName\",\"detailUrl\"]', NULL, 'suibian', 4, 'DEBUG_DING_TALK', '1', '2022-01-22 00:04:31', '1', '2022-03-27 20:32:21', b'0');
+INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (12, 2, 0, 'demo', '演示模板', '我就是测试一下下', '[]', NULL, 'biubiubiu', 6, 'DEBUG_DING_TALK', '1', '2022-04-10 23:22:49', '1', '2022-04-10 23:22:49', b'0');
+INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (13, 1, 0, 'admin-sms-login', '后台用户短信登录', '您的验证码是{code}', '[\"code\"]', '', '4372216', 1, 'YUN_PIAN', '1', '2021-10-11 08:10:00', '1', '2021-10-11 08:10:00', b'0');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_social_user
+-- ----------------------------
+DROP TABLE IF EXISTS `system_social_user`;
+CREATE TABLE `system_social_user`  (
+  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键(自增策略)',
+  `type` tinyint NOT NULL COMMENT '社交平台的类型',
+  `openid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '社交 openid',
+  `token` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '社交 token',
+  `raw_token_info` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '原始 Token 数据,一般是 JSON 格式',
+  `nickname` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户昵称',
+  `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '用户头像',
+  `raw_user_info` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '原始用户数据,一般是 JSON 格式',
+  `code` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '最后一次的认证 code',
+  `state` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '最后一次的认证 state',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '社交用户表';
+
+-- ----------------------------
+-- Records of system_social_user
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_social_user_bind
+-- ----------------------------
+DROP TABLE IF EXISTS `system_social_user_bind`;
+CREATE TABLE `system_social_user_bind`  (
+  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键(自增策略)',
+  `user_id` bigint NOT NULL COMMENT '用户编号',
+  `user_type` tinyint NOT NULL COMMENT '用户类型',
+  `social_type` tinyint NOT NULL COMMENT '社交平台的类型',
+  `social_user_id` bigint NOT NULL COMMENT '社交用户的编号',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '社交绑定表';
+
+-- ----------------------------
+-- Records of system_social_user_bind
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_tenant
+-- ----------------------------
+DROP TABLE IF EXISTS `system_tenant`;
+CREATE TABLE `system_tenant`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '租户编号',
+  `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '租户名',
+  `contact_user_id` bigint NULL DEFAULT NULL COMMENT '联系人的用户编号',
+  `contact_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '联系人',
+  `contact_mobile` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '联系手机',
+  `status` tinyint NOT NULL DEFAULT 0 COMMENT '租户状态(0正常 1停用)',
+  `domain` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '绑定域名',
+  `package_id` bigint NOT NULL COMMENT '租户套餐编号',
+  `expire_time` datetime NOT NULL COMMENT '过期时间',
+  `account_count` int NOT NULL COMMENT '账号数量',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 123 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '租户表';
+
+-- ----------------------------
+-- Records of system_tenant
+-- ----------------------------
+BEGIN;
+INSERT INTO `system_tenant` (`id`, `name`, `contact_user_id`, `contact_name`, `contact_mobile`, `status`, `domain`, `package_id`, `expire_time`, `account_count`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1, '芋道源码', NULL, '芋艿', '17321315478', 0, 'https://www.iocoder.cn', 0, '2099-02-19 17:14:16', 9999, '1', '2021-01-05 17:03:47', '1', '2022-02-23 12:15:11', b'0');
+INSERT INTO `system_tenant` (`id`, `name`, `contact_user_id`, `contact_name`, `contact_mobile`, `status`, `domain`, `package_id`, `expire_time`, `account_count`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (121, '小租户', 110, '小王2', '15601691300', 0, 'http://www.iocoder.cn', 111, '2024-03-11 00:00:00', 20, '1', '2022-02-22 00:56:14', '1', '2022-03-19 18:37:20', b'0');
+INSERT INTO `system_tenant` (`id`, `name`, `contact_user_id`, `contact_name`, `contact_mobile`, `status`, `domain`, `package_id`, `expire_time`, `account_count`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (122, '测试租户', 113, '芋道', '15601691300', 0, 'https://www.iocoder.cn', 111, '2022-04-30 00:00:00', 50, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_tenant_package
+-- ----------------------------
+DROP TABLE IF EXISTS `system_tenant_package`;
+CREATE TABLE `system_tenant_package`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '套餐编号',
+  `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '套餐名',
+  `status` tinyint NOT NULL DEFAULT 0 COMMENT '租户状态(0正常 1停用)',
+  `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '备注',
+  `menu_ids` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '关联的菜单编号',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 112 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '租户套餐表';
+
+-- ----------------------------
+-- Records of system_tenant_package
+-- ----------------------------
+BEGIN;
+INSERT INTO `system_tenant_package` (`id`, `name`, `status`, `remark`, `menu_ids`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (111, '普通套餐', 0, '小功能', '[1024,1025,1,102,103,104,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023]', '1', '2022-02-22 00:54:00', '1', '2022-03-19 18:39:13', b'0');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_user_post
+-- ----------------------------
+DROP TABLE IF EXISTS `system_user_post`;
+CREATE TABLE `system_user_post`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `user_id` bigint NOT NULL DEFAULT 0 COMMENT '用户ID',
+  `post_id` bigint NOT NULL DEFAULT 0 COMMENT '岗位ID',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 115 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户岗位表';
+
+-- ----------------------------
+-- Records of system_user_post
+-- ----------------------------
+BEGIN;
+INSERT INTO `system_user_post` (`id`, `user_id`, `post_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (112, 1, 1, 'admin', '2022-05-02 07:25:24', 'admin', '2022-05-02 07:25:24', b'0', 1);
+INSERT INTO `system_user_post` (`id`, `user_id`, `post_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (113, 100, 1, 'admin', '2022-05-02 07:25:24', 'admin', '2022-05-02 07:25:24', b'0', 1);
+INSERT INTO `system_user_post` (`id`, `user_id`, `post_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (114, 114, 3, 'admin', '2022-05-02 07:25:24', 'admin', '2022-05-02 07:25:24', b'0', 1);
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_user_role
+-- ----------------------------
+DROP TABLE IF EXISTS `system_user_role`;
+CREATE TABLE `system_user_role`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增编号',
+  `user_id` bigint NOT NULL COMMENT '用户ID',
+  `role_id` bigint NOT NULL COMMENT '角色ID',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户和角色关联表';
+
+-- ----------------------------
+-- Records of system_user_role
+-- ----------------------------
+BEGIN;
+INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, 1, 1, '', '2022-01-11 13:19:45', '', '2022-05-12 12:35:17', b'0', 1);
+INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2, 2, 2, '', '2022-01-11 13:19:45', '', '2022-05-12 12:35:13', b'0', 1);
+INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (4, 100, 101, '', '2022-01-11 13:19:45', '', '2022-05-12 12:35:13', b'0', 1);
+INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (5, 100, 1, '', '2022-01-11 13:19:45', '', '2022-05-12 12:35:12', b'0', 1);
+INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (6, 100, 2, '', '2022-01-11 13:19:45', '', '2022-05-12 12:35:11', b'0', 1);
+INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (7, 104, 101, '', '2022-01-11 13:19:45', '', '2022-05-12 12:35:11', b'0', 1);
+INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (10, 103, 1, '1', '2022-01-11 13:19:45', '1', '2022-01-11 13:19:45', b'0', 1);
+INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (11, 107, 106, '1', '2022-02-20 22:59:33', '1', '2022-02-20 22:59:33', b'0', 118);
+INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (12, 108, 107, '1', '2022-02-20 23:00:50', '1', '2022-02-20 23:00:50', b'0', 119);
+INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (13, 109, 108, '1', '2022-02-20 23:11:50', '1', '2022-02-20 23:11:50', b'0', 120);
+INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (14, 110, 109, '1', '2022-02-22 00:56:14', '1', '2022-02-22 00:56:14', b'0', 121);
+INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (15, 111, 110, '110', '2022-02-23 13:14:38', '110', '2022-02-23 13:14:38', b'0', 121);
+INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (16, 113, 111, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);
+INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (17, 114, 101, '1', '2022-03-19 21:51:13', '1', '2022-03-19 21:51:13', b'0', 1);
+INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (18, 1, 2, '1', '2022-05-12 20:39:29', '1', '2022-05-12 20:39:29', b'0', 1);
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_user_session
+-- ----------------------------
+DROP TABLE IF EXISTS `system_user_session`;
+CREATE TABLE `system_user_session`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `token` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '会话编号',
+  `user_id` bigint NOT NULL COMMENT '用户编号',
+  `user_type` tinyint NOT NULL DEFAULT 0 COMMENT '用户类型',
+  `session_timeout` datetime NOT NULL COMMENT '会话超时时间',
+  `username` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户账号',
+  `user_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户 IP',
+  `user_agent` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '浏览器 UA',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户在线 Session';
+
+-- ----------------------------
+-- Records of system_user_session
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for system_users
+-- ----------------------------
+DROP TABLE IF EXISTS `system_users`;
+CREATE TABLE `system_users`  (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
+  `username` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户账号',
+  `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '密码',
+  `nickname` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户昵称',
+  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
+  `dept_id` bigint NULL DEFAULT NULL COMMENT '部门ID',
+  `post_ids` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '岗位编号数组',
+  `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '用户邮箱',
+  `mobile` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '手机号码',
+  `sex` tinyint NULL DEFAULT 0 COMMENT '用户性别',
+  `avatar` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '头像地址',
+  `status` tinyint NOT NULL DEFAULT 0 COMMENT '帐号状态(0正常 1停用)',
+  `login_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '最后登录IP',
+  `login_date` datetime NULL DEFAULT NULL COMMENT '最后登录时间',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE INDEX `idx_username`(`username` ASC, `update_time` ASC, `tenant_id` ASC) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 116 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户信息表';
+
+-- ----------------------------
+-- Records of system_users
+-- ----------------------------
+BEGIN;
+INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, 'admin', '$2a$10$0acJOIk2D25/oC87nyclE..0lzeu9DtQ/n3geP4fkun/zIVRhHJIO', '芋道源码', '管理员', 103, '[1]', 'aoteman@126.com', '15612345678', 1, 'http://test.yudao.iocoder.cn/48934f2f-92d4-4250-b917-d10d2b262c6a', 0, '127.0.0.1', '2022-05-13 00:12:13', 'admin', '2021-01-05 17:03:47', NULL, '2022-05-13 00:12:13', b'0', 1);
+INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (100, 'yudao', '$2a$10$11U48RhyJ5pSBYWSn12AD./ld671.ycSzJHbyrtpeoMeYiw31eo8a', '芋道', '不要吓我', 104, '[1]', 'yudao@iocoder.cn', '15601691300', 1, '', 1, '', NULL, '', '2021-01-07 09:07:17', '104', '2021-12-16 09:26:10', b'0', 1);
+INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (103, 'yuanma', '$2a$10$wWoPT7sqriM2O1YXRL.je.GiL538OR6ZTN8aQZr9JAGdnpCH2tpYe', '源码', NULL, 106, NULL, 'yuanma@iocoder.cn', '15601701300', 0, '', 0, '127.0.0.1', '2022-01-18 00:33:40', '', '2021-01-13 23:50:35', NULL, '2022-01-18 00:33:40', b'0', 1);
+INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (104, 'test', '$2a$10$e5RpuDCC0GYSt0Hvd2.CjujIXwgGct4SnXi6dVGxdgFsnqgEryk5a', '测试号', NULL, 107, '[]', '111@qq.com', '15601691200', 1, '', 0, '127.0.0.1', '2022-03-19 21:46:19', '', '2021-01-21 02:13:53', NULL, '2022-03-19 21:46:19', b'0', 1);
+INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (107, 'admin107', '$2a$10$dYOOBKMO93v/.ReCqzyFg.o67Tqk.bbc2bhrpyBGkIw9aypCtr2pm', '芋艿', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '', NULL, '1', '2022-02-20 22:59:33', '1', '2022-02-27 08:26:51', b'0', 118);
+INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (108, 'admin108', '$2a$10$y6mfvKoNYL1GXWak8nYwVOH.kCWqjactkzdoIDgiKl93WN3Ejg.Lu', '芋艿', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '', NULL, '1', '2022-02-20 23:00:50', '1', '2022-02-27 08:26:53', b'0', 119);
+INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (109, 'admin109', '$2a$10$JAqvH0tEc0I7dfDVBI7zyuB4E3j.uH6daIjV53.vUS6PknFkDJkuK', '芋艿', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '', NULL, '1', '2022-02-20 23:11:50', '1', '2022-02-27 08:26:56', b'0', 120);
+INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (110, 'admin110', '$2a$10$qYxoXs0ogPHgYllyEneYde9xcCW5hZgukrxeXZ9lmLhKse8TK6IwW', '小王', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '127.0.0.1', '2022-02-23 19:36:28', '1', '2022-02-22 00:56:14', NULL, '2022-02-27 08:26:59', b'0', 121);
+INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (111, 'test', '$2a$10$mExveopHUx9Q4QiLtAzhDeH3n4/QlNLzEsM4AqgxKrU.ciUZDXZCy', '测试用户', NULL, NULL, '[]', '', '', 0, '', 0, '', NULL, '110', '2022-02-23 13:14:33', '110', '2022-02-23 13:14:33', b'0', 121);
+INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (112, 'newobject', '$2a$10$jh5MsR.ud/gKe3mVeUp5t.nEXGDSmHyv5OYjWQwHO8wlGmMSI9Twy', '新对象', NULL, NULL, '[]', '', '', 0, '', 0, '', NULL, '1', '2022-02-23 19:08:03', '1', '2022-02-23 19:08:03', b'0', 1);
+INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (113, 'aoteman', '$2a$10$0acJOIk2D25/oC87nyclE..0lzeu9DtQ/n3geP4fkun/zIVRhHJIO', '芋道', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '127.0.0.1', '2022-03-19 18:38:51', '1', '2022-03-07 21:37:58', NULL, '2022-03-19 18:38:51', b'0', 122);
+INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (114, 'hrmgr', '$2a$10$TR4eybBioGRhBmDBWkqWLO6NIh3mzYa8KBKDDB5woiGYFVlRAi.fu', 'hr 小姐姐', NULL, NULL, '[3]', '', '', 0, '', 0, '127.0.0.1', '2022-03-19 22:15:43', '1', '2022-03-19 21:50:58', NULL, '2022-03-19 22:15:43', b'0', 1);
+INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (115, 'aotemane', '$2a$10$/WCwGHu1eq0wOVDd/u8HweJ0gJCHyLS6T7ndCqI8UXZAQom1etk2e', '1', '11', 100, '[]', '', '', 0, '', 0, '', NULL, '1', '2022-04-30 02:55:43', '1', '2022-04-30 02:55:43', b'0', 1);
+COMMIT;
+
+SET FOREIGN_KEY_CHECKS = 1;

+ 6036 - 0
sql/oracle/ruoyi-vue-pro.sql

@@ -0,0 +1,6036 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 127.0.0.1 Oracle
+ Source Server Type    : Oracle
+ Source Server Version : 110200
+ Source Host           : 127.0.0.1:1521
+ Source Schema         : ROOT
+
+ Target Server Type    : Oracle
+ Target Server Version : 110200
+ File Encoding         : 65001
+
+ Date: 13/05/2022 09:43:12
+*/
+
+
+-- ----------------------------
+-- Table structure for BPM_FORM
+-- ----------------------------
+DROP TABLE "BPM_FORM";
+CREATE TABLE "BPM_FORM" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "NAME" NVARCHAR2(64),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "CONF" NVARCHAR2(1000),
+  "FIELDS" NCLOB,
+  "REMARK" NVARCHAR2(255),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "BPM_FORM"."ID" IS '编号';
+COMMENT ON COLUMN "BPM_FORM"."NAME" IS '表单名';
+COMMENT ON COLUMN "BPM_FORM"."STATUS" IS '开启状态';
+COMMENT ON COLUMN "BPM_FORM"."CONF" IS '表单的配置';
+COMMENT ON COLUMN "BPM_FORM"."FIELDS" IS '表单项的数组';
+COMMENT ON COLUMN "BPM_FORM"."REMARK" IS '备注';
+COMMENT ON COLUMN "BPM_FORM"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "BPM_FORM"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "BPM_FORM"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "BPM_FORM"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "BPM_FORM"."TENANT_ID" IS '租户编号';
+COMMENT ON COLUMN "BPM_FORM"."DELETED" IS '是否删除';
+COMMENT ON TABLE "BPM_FORM" IS '工作流的表单定义';
+
+-- ----------------------------
+-- Records of BPM_FORM
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for BPM_OA_LEAVE
+-- ----------------------------
+DROP TABLE "BPM_OA_LEAVE";
+CREATE TABLE "BPM_OA_LEAVE" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "USER_ID" NUMBER(20,0) NOT NULL,
+  "TYPE" NUMBER(4,0) NOT NULL,
+  "REASON" NVARCHAR2(200),
+  "START_TIME" DATE NOT NULL,
+  "END_TIME" DATE NOT NULL,
+  "DAY" NUMBER(4,0) NOT NULL,
+  "RESULT" NUMBER(4,0) NOT NULL,
+  "PROCESS_INSTANCE_ID" NVARCHAR2(64),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "BPM_OA_LEAVE"."ID" IS '请假表单主键';
+COMMENT ON COLUMN "BPM_OA_LEAVE"."USER_ID" IS '申请人的用户编号';
+COMMENT ON COLUMN "BPM_OA_LEAVE"."TYPE" IS '请假类型';
+COMMENT ON COLUMN "BPM_OA_LEAVE"."REASON" IS '请假原因';
+COMMENT ON COLUMN "BPM_OA_LEAVE"."START_TIME" IS '开始时间';
+COMMENT ON COLUMN "BPM_OA_LEAVE"."END_TIME" IS '结束时间';
+COMMENT ON COLUMN "BPM_OA_LEAVE"."DAY" IS '请假天数';
+COMMENT ON COLUMN "BPM_OA_LEAVE"."RESULT" IS '请假结果';
+COMMENT ON COLUMN "BPM_OA_LEAVE"."PROCESS_INSTANCE_ID" IS '流程实例的编号';
+COMMENT ON COLUMN "BPM_OA_LEAVE"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "BPM_OA_LEAVE"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "BPM_OA_LEAVE"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "BPM_OA_LEAVE"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "BPM_OA_LEAVE"."TENANT_ID" IS '租户编号';
+COMMENT ON COLUMN "BPM_OA_LEAVE"."DELETED" IS '是否删除';
+COMMENT ON TABLE "BPM_OA_LEAVE" IS 'OA 请假申请表';
+
+-- ----------------------------
+-- Records of BPM_OA_LEAVE
+-- ----------------------------
+INSERT INTO "BPM_OA_LEAVE" ("ID", "USER_ID", "TYPE", "REASON", "START_TIME", "END_TIME", "DAY", "RESULT", "PROCESS_INSTANCE_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('0', '1', '2', '123', TO_DATE('2022-05-02 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), TO_DATE('2022-05-11 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '9', '2', '64394b8d-c947-11ec-a43c-3e2374911326', '1', TO_DATE('2022-05-01 20:08:20', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-01 20:30:02', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for BPM_PROCESS_DEFINITION_EXT
+-- ----------------------------
+DROP TABLE "BPM_PROCESS_DEFINITION_EXT";
+CREATE TABLE "BPM_PROCESS_DEFINITION_EXT" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "PROCESS_DEFINITION_ID" NVARCHAR2(64),
+  "MODEL_ID" NVARCHAR2(64),
+  "DESCRIPTION" NVARCHAR2(255),
+  "FORM_TYPE" NUMBER(4,0) NOT NULL,
+  "FORM_ID" NUMBER(20,0),
+  "FORM_CONF" NVARCHAR2(1000),
+  "FORM_FIELDS" NCLOB,
+  "FORM_CUSTOM_CREATE_PATH" NVARCHAR2(255),
+  "FORM_CUSTOM_VIEW_PATH" NVARCHAR2(255),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "BPM_PROCESS_DEFINITION_EXT"."ID" IS '编号';
+COMMENT ON COLUMN "BPM_PROCESS_DEFINITION_EXT"."PROCESS_DEFINITION_ID" IS '流程定义的编号';
+COMMENT ON COLUMN "BPM_PROCESS_DEFINITION_EXT"."MODEL_ID" IS '流程模型的编号';
+COMMENT ON COLUMN "BPM_PROCESS_DEFINITION_EXT"."DESCRIPTION" IS '描述';
+COMMENT ON COLUMN "BPM_PROCESS_DEFINITION_EXT"."FORM_TYPE" IS '表单类型';
+COMMENT ON COLUMN "BPM_PROCESS_DEFINITION_EXT"."FORM_ID" IS '表单编号';
+COMMENT ON COLUMN "BPM_PROCESS_DEFINITION_EXT"."FORM_CONF" IS '表单的配置';
+COMMENT ON COLUMN "BPM_PROCESS_DEFINITION_EXT"."FORM_FIELDS" IS '表单项的数组';
+COMMENT ON COLUMN "BPM_PROCESS_DEFINITION_EXT"."FORM_CUSTOM_CREATE_PATH" IS '自定义表单的提交路径';
+COMMENT ON COLUMN "BPM_PROCESS_DEFINITION_EXT"."FORM_CUSTOM_VIEW_PATH" IS '自定义表单的查看路径';
+COMMENT ON COLUMN "BPM_PROCESS_DEFINITION_EXT"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "BPM_PROCESS_DEFINITION_EXT"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "BPM_PROCESS_DEFINITION_EXT"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "BPM_PROCESS_DEFINITION_EXT"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "BPM_PROCESS_DEFINITION_EXT"."TENANT_ID" IS '租户编号';
+COMMENT ON COLUMN "BPM_PROCESS_DEFINITION_EXT"."DELETED" IS '是否删除';
+COMMENT ON TABLE "BPM_PROCESS_DEFINITION_EXT" IS 'Bpm 流程定义的拓展表
+';
+
+-- ----------------------------
+-- Records of BPM_PROCESS_DEFINITION_EXT
+-- ----------------------------
+INSERT INTO "BPM_PROCESS_DEFINITION_EXT" ("ID", "PROCESS_DEFINITION_ID", "MODEL_ID", "DESCRIPTION", "FORM_TYPE", "FORM_ID", "FORM_CONF", "FORM_FIELDS", "FORM_CUSTOM_CREATE_PATH", "FORM_CUSTOM_VIEW_PATH", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('0', 'oa_leave:1:5b8f470c-c947-11ec-a43c-3e2374911326', 'd0d2e04c-c945-11ec-baf6-3e2374911326', NULL, '20', NULL, NULL, NULL, '/bpm/oa/leave/create', '/bpm/oa/leave/detail', '1', TO_DATE('2022-05-01 20:08:05', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-01 20:08:05', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for BPM_PROCESS_INSTANCE_EXT
+-- ----------------------------
+DROP TABLE "BPM_PROCESS_INSTANCE_EXT";
+CREATE TABLE "BPM_PROCESS_INSTANCE_EXT" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "START_USER_ID" NUMBER(20,0) NOT NULL,
+  "NAME" NVARCHAR2(64),
+  "PROCESS_INSTANCE_ID" NVARCHAR2(64),
+  "PROCESS_DEFINITION_ID" NVARCHAR2(64),
+  "CATEGORY" NVARCHAR2(64),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "RESULT" NUMBER(4,0) NOT NULL,
+  "END_TIME" DATE,
+  "FORM_VARIABLES" NCLOB,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "BPM_PROCESS_INSTANCE_EXT"."ID" IS '编号';
+COMMENT ON COLUMN "BPM_PROCESS_INSTANCE_EXT"."START_USER_ID" IS '发起流程的用户编号';
+COMMENT ON COLUMN "BPM_PROCESS_INSTANCE_EXT"."NAME" IS '流程实例的名字';
+COMMENT ON COLUMN "BPM_PROCESS_INSTANCE_EXT"."PROCESS_INSTANCE_ID" IS '流程实例的编号';
+COMMENT ON COLUMN "BPM_PROCESS_INSTANCE_EXT"."PROCESS_DEFINITION_ID" IS '流程定义的编号';
+COMMENT ON COLUMN "BPM_PROCESS_INSTANCE_EXT"."CATEGORY" IS '流程分类';
+COMMENT ON COLUMN "BPM_PROCESS_INSTANCE_EXT"."STATUS" IS '流程实例的状态';
+COMMENT ON COLUMN "BPM_PROCESS_INSTANCE_EXT"."RESULT" IS '流程实例的结果';
+COMMENT ON COLUMN "BPM_PROCESS_INSTANCE_EXT"."END_TIME" IS '结束时间';
+COMMENT ON COLUMN "BPM_PROCESS_INSTANCE_EXT"."FORM_VARIABLES" IS '表单值';
+COMMENT ON COLUMN "BPM_PROCESS_INSTANCE_EXT"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "BPM_PROCESS_INSTANCE_EXT"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "BPM_PROCESS_INSTANCE_EXT"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "BPM_PROCESS_INSTANCE_EXT"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "BPM_PROCESS_INSTANCE_EXT"."TENANT_ID" IS '租户编号';
+COMMENT ON COLUMN "BPM_PROCESS_INSTANCE_EXT"."DELETED" IS '是否删除';
+COMMENT ON TABLE "BPM_PROCESS_INSTANCE_EXT" IS '工作流的流程实例的拓展';
+
+-- ----------------------------
+-- Records of BPM_PROCESS_INSTANCE_EXT
+-- ----------------------------
+INSERT INTO "BPM_PROCESS_INSTANCE_EXT" ("ID", "START_USER_ID", "NAME", "PROCESS_INSTANCE_ID", "PROCESS_DEFINITION_ID", "CATEGORY", "STATUS", "RESULT", "END_TIME", "FORM_VARIABLES", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('0', '1', 'OA 请假', '64394b8d-c947-11ec-a43c-3e2374911326', 'oa_leave:1:5b8f470c-c947-11ec-a43c-3e2374911326', '2', '2', '2', TO_DATE('2022-05-01 20:30:02', 'SYYYY-MM-DD HH24:MI:SS'), '{"day":9}', '1', TO_DATE('2022-05-01 20:08:20', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-01 20:30:02', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for BPM_TASK_ASSIGN_RULE
+-- ----------------------------
+DROP TABLE "BPM_TASK_ASSIGN_RULE";
+CREATE TABLE "BPM_TASK_ASSIGN_RULE" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "MODEL_ID" NVARCHAR2(64),
+  "PROCESS_DEFINITION_ID" NVARCHAR2(64) DEFAULT '',
+  "TASK_DEFINITION_KEY" NVARCHAR2(64) DEFAULT '',
+  "TYPE" NUMBER(4,0) NOT NULL,
+  "OPTIONS" NCLOB,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "BPM_TASK_ASSIGN_RULE"."ID" IS '编号';
+COMMENT ON COLUMN "BPM_TASK_ASSIGN_RULE"."MODEL_ID" IS '流程模型的编号';
+COMMENT ON COLUMN "BPM_TASK_ASSIGN_RULE"."PROCESS_DEFINITION_ID" IS '流程定义的编号';
+COMMENT ON COLUMN "BPM_TASK_ASSIGN_RULE"."TASK_DEFINITION_KEY" IS '流程任务定义的 key';
+COMMENT ON COLUMN "BPM_TASK_ASSIGN_RULE"."TYPE" IS '规则类型';
+COMMENT ON COLUMN "BPM_TASK_ASSIGN_RULE"."OPTIONS" IS '规则值,JSON 数组';
+COMMENT ON COLUMN "BPM_TASK_ASSIGN_RULE"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "BPM_TASK_ASSIGN_RULE"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "BPM_TASK_ASSIGN_RULE"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "BPM_TASK_ASSIGN_RULE"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "BPM_TASK_ASSIGN_RULE"."TENANT_ID" IS '租户编号';
+COMMENT ON COLUMN "BPM_TASK_ASSIGN_RULE"."DELETED" IS '是否删除';
+COMMENT ON TABLE "BPM_TASK_ASSIGN_RULE" IS 'Bpm 任务规则表';
+
+-- ----------------------------
+-- Records of BPM_TASK_ASSIGN_RULE
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for BPM_TASK_EXT
+-- ----------------------------
+DROP TABLE "BPM_TASK_EXT";
+CREATE TABLE "BPM_TASK_EXT" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "ASSIGNEE_USER_ID" NUMBER(20,0),
+  "NAME" NVARCHAR2(64),
+  "TASK_ID" NVARCHAR2(64),
+  "RESULT" NUMBER(4,0) NOT NULL,
+  "REASON" NVARCHAR2(255),
+  "END_TIME" DATE,
+  "PROCESS_INSTANCE_ID" NVARCHAR2(64),
+  "PROCESS_DEFINITION_ID" NVARCHAR2(64),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "BPM_TASK_EXT"."ID" IS '编号';
+COMMENT ON COLUMN "BPM_TASK_EXT"."ASSIGNEE_USER_ID" IS '任务的审批人';
+COMMENT ON COLUMN "BPM_TASK_EXT"."NAME" IS '任务的名字';
+COMMENT ON COLUMN "BPM_TASK_EXT"."TASK_ID" IS '任务的编号';
+COMMENT ON COLUMN "BPM_TASK_EXT"."RESULT" IS '任务的结果';
+COMMENT ON COLUMN "BPM_TASK_EXT"."REASON" IS '审批建议';
+COMMENT ON COLUMN "BPM_TASK_EXT"."END_TIME" IS '任务的结束时间';
+COMMENT ON COLUMN "BPM_TASK_EXT"."PROCESS_INSTANCE_ID" IS '流程实例的编号';
+COMMENT ON COLUMN "BPM_TASK_EXT"."PROCESS_DEFINITION_ID" IS '流程定义的编号';
+COMMENT ON COLUMN "BPM_TASK_EXT"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "BPM_TASK_EXT"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "BPM_TASK_EXT"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "BPM_TASK_EXT"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "BPM_TASK_EXT"."TENANT_ID" IS '租户编号';
+COMMENT ON COLUMN "BPM_TASK_EXT"."DELETED" IS '是否删除';
+COMMENT ON TABLE "BPM_TASK_EXT" IS '工作流的流程任务的拓展表';
+
+-- ----------------------------
+-- Records of BPM_TASK_EXT
+-- ----------------------------
+INSERT INTO "BPM_TASK_EXT" ("ID", "ASSIGNEE_USER_ID", "NAME", "TASK_ID", "RESULT", "REASON", "END_TIME", "PROCESS_INSTANCE_ID", "PROCESS_DEFINITION_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('0', '1', 'task01', '6445a7a5-c947-11ec-a43c-3e2374911326', '2', '123', TO_DATE('2022-05-01 20:30:02', 'SYYYY-MM-DD HH24:MI:SS'), '64394b8d-c947-11ec-a43c-3e2374911326', 'oa_leave:1:5b8f470c-c947-11ec-a43c-3e2374911326', '1', TO_DATE('2022-05-01 20:08:20', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-01 20:30:03', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for BPM_USER_GROUP
+-- ----------------------------
+DROP TABLE "BPM_USER_GROUP";
+CREATE TABLE "BPM_USER_GROUP" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "NAME" NVARCHAR2(30),
+  "DESCRIPTION" NVARCHAR2(255),
+  "MEMBER_USER_IDS" NCLOB NOT NULL,
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "BPM_USER_GROUP"."ID" IS '编号';
+COMMENT ON COLUMN "BPM_USER_GROUP"."NAME" IS '组名';
+COMMENT ON COLUMN "BPM_USER_GROUP"."DESCRIPTION" IS '描述';
+COMMENT ON COLUMN "BPM_USER_GROUP"."MEMBER_USER_IDS" IS '成员编号数组';
+COMMENT ON COLUMN "BPM_USER_GROUP"."STATUS" IS '状态(0正常 1停用)';
+COMMENT ON COLUMN "BPM_USER_GROUP"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "BPM_USER_GROUP"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "BPM_USER_GROUP"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "BPM_USER_GROUP"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "BPM_USER_GROUP"."TENANT_ID" IS '租户编号';
+COMMENT ON COLUMN "BPM_USER_GROUP"."DELETED" IS '是否删除';
+COMMENT ON TABLE "BPM_USER_GROUP" IS '用户组';
+
+-- ----------------------------
+-- Records of BPM_USER_GROUP
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for INFRA_API_ACCESS_LOG
+-- ----------------------------
+DROP TABLE "INFRA_API_ACCESS_LOG";
+CREATE TABLE "INFRA_API_ACCESS_LOG" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "TRACE_ID" NVARCHAR2(64),
+  "USER_ID" NUMBER(20,0) DEFAULT 0 NOT NULL,
+  "USER_TYPE" NUMBER(4,0) DEFAULT 0 NOT NULL,
+  "APPLICATION_NAME" NVARCHAR2(50),
+  "REQUEST_METHOD" NVARCHAR2(16),
+  "REQUEST_URL" NVARCHAR2(255),
+  "REQUEST_PARAMS" NCLOB,
+  "USER_IP" NVARCHAR2(50),
+  "USER_AGENT" NVARCHAR2(512),
+  "BEGIN_TIME" DATE NOT NULL,
+  "END_TIME" DATE NOT NULL,
+  "DURATION" NUMBER(11,0) NOT NULL,
+  "RESULT_CODE" NUMBER(11,0) NOT NULL,
+  "RESULT_MSG" NVARCHAR2(512),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "INFRA_API_ACCESS_LOG"."ID" IS '日志主键';
+COMMENT ON COLUMN "INFRA_API_ACCESS_LOG"."TRACE_ID" IS '链路追踪编号';
+COMMENT ON COLUMN "INFRA_API_ACCESS_LOG"."USER_ID" IS '用户编号';
+COMMENT ON COLUMN "INFRA_API_ACCESS_LOG"."USER_TYPE" IS '用户类型';
+COMMENT ON COLUMN "INFRA_API_ACCESS_LOG"."APPLICATION_NAME" IS '应用名';
+COMMENT ON COLUMN "INFRA_API_ACCESS_LOG"."REQUEST_METHOD" IS '请求方法名';
+COMMENT ON COLUMN "INFRA_API_ACCESS_LOG"."REQUEST_URL" IS '请求地址';
+COMMENT ON COLUMN "INFRA_API_ACCESS_LOG"."REQUEST_PARAMS" IS '请求参数';
+COMMENT ON COLUMN "INFRA_API_ACCESS_LOG"."USER_IP" IS '用户 IP';
+COMMENT ON COLUMN "INFRA_API_ACCESS_LOG"."USER_AGENT" IS '浏览器 UA';
+COMMENT ON COLUMN "INFRA_API_ACCESS_LOG"."BEGIN_TIME" IS '开始请求时间';
+COMMENT ON COLUMN "INFRA_API_ACCESS_LOG"."END_TIME" IS '结束请求时间';
+COMMENT ON COLUMN "INFRA_API_ACCESS_LOG"."DURATION" IS '执行时长';
+COMMENT ON COLUMN "INFRA_API_ACCESS_LOG"."RESULT_CODE" IS '结果码';
+COMMENT ON COLUMN "INFRA_API_ACCESS_LOG"."RESULT_MSG" IS '结果提示';
+COMMENT ON COLUMN "INFRA_API_ACCESS_LOG"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "INFRA_API_ACCESS_LOG"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "INFRA_API_ACCESS_LOG"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "INFRA_API_ACCESS_LOG"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "INFRA_API_ACCESS_LOG"."TENANT_ID" IS '租户编号';
+COMMENT ON TABLE "INFRA_API_ACCESS_LOG" IS 'API 访问日志表';
+
+-- ----------------------------
+-- Records of INFRA_API_ACCESS_LOG
+-- ----------------------------
+INSERT INTO "INFRA_API_ACCESS_LOG" ("ID", "TRACE_ID", "USER_ID", "USER_TYPE", "APPLICATION_NAME", "REQUEST_METHOD", "REQUEST_URL", "REQUEST_PARAMS", "USER_IP", "USER_AGENT", "BEGIN_TIME", "END_TIME", "DURATION", "RESULT_CODE", "RESULT_MSG", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('0', NULL, '0', '2', 'yudao-server', 'GET', '/admin-api/system/dict-data/list-all-simple', '{"query":{},"body":null}', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36', TO_DATE('2022-05-13 01:26:54', 'SYYYY-MM-DD HH24:MI:SS'), TO_DATE('2022-05-13 01:26:54', 'SYYYY-MM-DD HH24:MI:SS'), '94', '0', NULL, NULL, TO_DATE('2022-05-13 01:26:54', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-05-13 01:26:54', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for INFRA_API_ERROR_LOG
+-- ----------------------------
+DROP TABLE "INFRA_API_ERROR_LOG";
+CREATE TABLE "INFRA_API_ERROR_LOG" (
+  "ID" NUMBER(11,0) NOT NULL,
+  "TRACE_ID" NVARCHAR2(64),
+  "USER_ID" NUMBER(11,0) NOT NULL,
+  "USER_TYPE" NUMBER(4,0) NOT NULL,
+  "APPLICATION_NAME" NVARCHAR2(50),
+  "REQUEST_METHOD" NVARCHAR2(16),
+  "REQUEST_URL" NVARCHAR2(255),
+  "REQUEST_PARAMS" NCLOB,
+  "USER_IP" NVARCHAR2(50),
+  "USER_AGENT" NVARCHAR2(512),
+  "EXCEPTION_TIME" DATE NOT NULL,
+  "EXCEPTION_NAME" NVARCHAR2(128),
+  "EXCEPTION_MESSAGE" NCLOB NOT NULL,
+  "EXCEPTION_ROOT_CAUSE_MESSAGE" NCLOB NOT NULL,
+  "EXCEPTION_STACK_TRACE" NCLOB NOT NULL,
+  "EXCEPTION_CLASS_NAME" NVARCHAR2(512),
+  "EXCEPTION_FILE_NAME" NVARCHAR2(512),
+  "EXCEPTION_METHOD_NAME" NVARCHAR2(512),
+  "EXCEPTION_LINE_NUMBER" NUMBER(11,0) NOT NULL,
+  "PROCESS_STATUS" NUMBER(4,0) NOT NULL,
+  "PROCESS_TIME" DATE,
+  "PROCESS_USER_ID" NUMBER(11,0),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."ID" IS '编号';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."TRACE_ID" IS '链路追踪编号
+     *
+     * 一般来说,通过链路追踪编号,可以将访问日志,错误日志,链路追踪日志,logger 打印日志等,结合在一起,从而进行排错。';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."USER_ID" IS '用户编号';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."USER_TYPE" IS '用户类型';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."APPLICATION_NAME" IS '应用名
+     *
+     * 目前读取 spring.application.name';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."REQUEST_METHOD" IS '请求方法名';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."REQUEST_URL" IS '请求地址';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."REQUEST_PARAMS" IS '请求参数';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."USER_IP" IS '用户 IP';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."USER_AGENT" IS '浏览器 UA';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."EXCEPTION_TIME" IS '异常发生时间';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."EXCEPTION_NAME" IS '异常名
+     *
+     * {@link Throwable#getClass()} 的类全名';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."EXCEPTION_MESSAGE" IS '异常导致的消息
+     *
+     * {@link cn.iocoder.common.framework.util.ExceptionUtil#getMessage(Throwable)}';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."EXCEPTION_ROOT_CAUSE_MESSAGE" IS '异常导致的根消息
+     *
+     * {@link cn.iocoder.common.framework.util.ExceptionUtil#getRootCauseMessage(Throwable)}';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."EXCEPTION_STACK_TRACE" IS '异常的栈轨迹
+     *
+     * {@link cn.iocoder.common.framework.util.ExceptionUtil#getServiceException(Exception)}';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."EXCEPTION_CLASS_NAME" IS '异常发生的类全名
+     *
+     * {@link StackTraceElement#getClassName()}';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."EXCEPTION_FILE_NAME" IS '异常发生的类文件
+     *
+     * {@link StackTraceElement#getFileName()}';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."EXCEPTION_METHOD_NAME" IS '异常发生的方法名
+     *
+     * {@link StackTraceElement#getMethodName()}';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."EXCEPTION_LINE_NUMBER" IS '异常发生的方法所在行
+     *
+     * {@link StackTraceElement#getLineNumber()}';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."PROCESS_STATUS" IS '处理状态';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."PROCESS_TIME" IS '处理时间';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."PROCESS_USER_ID" IS '处理用户编号';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "INFRA_API_ERROR_LOG"."TENANT_ID" IS '租户编号';
+COMMENT ON TABLE "INFRA_API_ERROR_LOG" IS '系统异常日志';
+
+-- ----------------------------
+-- Records of INFRA_API_ERROR_LOG
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for INFRA_CODEGEN_COLUMN
+-- ----------------------------
+DROP TABLE "INFRA_CODEGEN_COLUMN";
+CREATE TABLE "INFRA_CODEGEN_COLUMN" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "TABLE_ID" NUMBER(20,0) NOT NULL,
+  "COLUMN_NAME" NVARCHAR2(200),
+  "DATA_TYPE" NVARCHAR2(100),
+  "COLUMN_COMMENT" NVARCHAR2(500),
+  "NULLABLE" NUMBER(4,0),
+  "PRIMARY_KEY" NUMBER(4,0),
+  "AUTO_INCREMENT" NUMBER(4,0),
+  "ORDINAL_POSITION" NUMBER(11,0) NOT NULL,
+  "JAVA_TYPE" NVARCHAR2(32),
+  "JAVA_FIELD" NVARCHAR2(64),
+  "DICT_TYPE" NVARCHAR2(200),
+  "EXAMPLE" NVARCHAR2(64),
+  "CREATE_OPERATION" NUMBER(4,0),
+  "UPDATE_OPERATION" NUMBER(4,0),
+  "LIST_OPERATION" NUMBER(4,0),
+  "LIST_OPERATION_CONDITION" NVARCHAR2(32) NOT NULL,
+  "LIST_OPERATION_RESULT" NUMBER(4,0),
+  "HTML_TYPE" NVARCHAR2(32),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(4,0) DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."ID" IS '编号';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."TABLE_ID" IS '表编号';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."COLUMN_NAME" IS '字段名';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."DATA_TYPE" IS '字段类型';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."COLUMN_COMMENT" IS '字段描述';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."NULLABLE" IS '是否允许为空';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."PRIMARY_KEY" IS '是否主键';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."AUTO_INCREMENT" IS '是否自增';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."ORDINAL_POSITION" IS '排序';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."JAVA_TYPE" IS 'Java 属性类型';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."JAVA_FIELD" IS 'Java 属性名';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."DICT_TYPE" IS '字典类型';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."EXAMPLE" IS '数据示例';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."CREATE_OPERATION" IS '是否为 Create 创建操作的字段';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."UPDATE_OPERATION" IS '是否为 Update 更新操作的字段';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."LIST_OPERATION" IS '是否为 List 查询操作的字段';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."LIST_OPERATION_CONDITION" IS 'List 查询操作的条件类型';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."LIST_OPERATION_RESULT" IS '是否为 List 查询操作的返回字段';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."HTML_TYPE" IS '显示类型';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "INFRA_CODEGEN_COLUMN"."DELETED" IS '是否删除';
+COMMENT ON TABLE "INFRA_CODEGEN_COLUMN" IS '代码生成表字段定义';
+
+-- ----------------------------
+-- Records of INFRA_CODEGEN_COLUMN
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for INFRA_CODEGEN_TABLE
+-- ----------------------------
+DROP TABLE "INFRA_CODEGEN_TABLE";
+CREATE TABLE "INFRA_CODEGEN_TABLE" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "DATA_SOURCE_CONFIG_ID" NUMBER NOT NULL,
+  "SCENE" NUMBER(4,0) NOT NULL,
+  "TABLE_NAME" NVARCHAR2(200),
+  "TABLE_COMMENT" NVARCHAR2(500),
+  "REMARK" NVARCHAR2(500),
+  "MODULE_NAME" NVARCHAR2(30),
+  "BUSINESS_NAME" NVARCHAR2(30),
+  "CLASS_NAME" NVARCHAR2(100),
+  "CLASS_COMMENT" NVARCHAR2(50),
+  "AUTHOR" NVARCHAR2(50),
+  "TEMPLATE_TYPE" NUMBER(4,0) NOT NULL,
+  "PARENT_MENU_ID" NUMBER(20,0),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(4,0) DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "INFRA_CODEGEN_TABLE"."ID" IS '编号';
+COMMENT ON COLUMN "INFRA_CODEGEN_TABLE"."DATA_SOURCE_CONFIG_ID" IS '数据源配置的编号';
+COMMENT ON COLUMN "INFRA_CODEGEN_TABLE"."SCENE" IS '生成场景';
+COMMENT ON COLUMN "INFRA_CODEGEN_TABLE"."TABLE_NAME" IS '表名称';
+COMMENT ON COLUMN "INFRA_CODEGEN_TABLE"."TABLE_COMMENT" IS '表描述';
+COMMENT ON COLUMN "INFRA_CODEGEN_TABLE"."REMARK" IS '备注';
+COMMENT ON COLUMN "INFRA_CODEGEN_TABLE"."MODULE_NAME" IS '模块名';
+COMMENT ON COLUMN "INFRA_CODEGEN_TABLE"."BUSINESS_NAME" IS '业务名';
+COMMENT ON COLUMN "INFRA_CODEGEN_TABLE"."CLASS_NAME" IS '类名称';
+COMMENT ON COLUMN "INFRA_CODEGEN_TABLE"."CLASS_COMMENT" IS '类描述';
+COMMENT ON COLUMN "INFRA_CODEGEN_TABLE"."AUTHOR" IS '作者';
+COMMENT ON COLUMN "INFRA_CODEGEN_TABLE"."TEMPLATE_TYPE" IS '模板类型';
+COMMENT ON COLUMN "INFRA_CODEGEN_TABLE"."PARENT_MENU_ID" IS '父菜单编号';
+COMMENT ON COLUMN "INFRA_CODEGEN_TABLE"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "INFRA_CODEGEN_TABLE"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "INFRA_CODEGEN_TABLE"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "INFRA_CODEGEN_TABLE"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "INFRA_CODEGEN_TABLE"."DELETED" IS '是否删除';
+COMMENT ON TABLE "INFRA_CODEGEN_TABLE" IS '代码生成表定义';
+
+-- ----------------------------
+-- Records of INFRA_CODEGEN_TABLE
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for INFRA_CONFIG
+-- ----------------------------
+DROP TABLE "INFRA_CONFIG";
+CREATE TABLE "INFRA_CONFIG" (
+  "ID" NUMBER(11,0) NOT NULL,
+  "CATEGORY" NVARCHAR2(50),
+  "TYPE" NUMBER(4,0) NOT NULL,
+  "NAME" NVARCHAR2(100),
+  "CONFIG_KEY" NVARCHAR2(100),
+  "VALUE" NVARCHAR2(500),
+  "VISIBLE" NUMBER(4,0) NOT NULL,
+  "REMARK" NVARCHAR2(500),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "INFRA_CONFIG"."ID" IS '参数主键';
+COMMENT ON COLUMN "INFRA_CONFIG"."CATEGORY" IS '参数分组';
+COMMENT ON COLUMN "INFRA_CONFIG"."TYPE" IS '参数类型';
+COMMENT ON COLUMN "INFRA_CONFIG"."NAME" IS '参数名称';
+COMMENT ON COLUMN "INFRA_CONFIG"."CONFIG_KEY" IS '参数键名';
+COMMENT ON COLUMN "INFRA_CONFIG"."VALUE" IS '参数键值';
+COMMENT ON COLUMN "INFRA_CONFIG"."VISIBLE" IS '是否可见';
+COMMENT ON COLUMN "INFRA_CONFIG"."REMARK" IS '备注';
+COMMENT ON COLUMN "INFRA_CONFIG"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "INFRA_CONFIG"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "INFRA_CONFIG"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "INFRA_CONFIG"."UPDATE_TIME" IS '更新时间';
+COMMENT ON TABLE "INFRA_CONFIG" IS '参数配置表';
+
+-- ----------------------------
+-- Records of INFRA_CONFIG
+-- ----------------------------
+INSERT INTO "INFRA_CONFIG" ("ID", "CATEGORY", "TYPE", "NAME", "CONFIG_KEY", "VALUE", "VISIBLE", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1', 'ui', '1', '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', '0', '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-01 12:21:26', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "INFRA_CONFIG" ("ID", "CATEGORY", "TYPE", "NAME", "CONFIG_KEY", "VALUE", "VISIBLE", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('2', 'biz', '1', '用户管理-账号初始密码', 'sys.user.init-password', '123456', '0', '初始化密码 123456', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-20 02:25:51', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "INFRA_CONFIG" ("ID", "CATEGORY", "TYPE", "NAME", "CONFIG_KEY", "VALUE", "VISIBLE", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('3', 'ui', '1', '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', '0', '深色主题theme-dark,浅色主题theme-light', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2021-01-19 03:05:21', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "INFRA_CONFIG" ("ID", "CATEGORY", "TYPE", "NAME", "CONFIG_KEY", "VALUE", "VISIBLE", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('4', '1', '2', 'xxx', 'demo.test', '10', '0', '5', NULL, TO_DATE('2021-01-19 03:10:26', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2021-01-20 09:25:55', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "INFRA_CONFIG" ("ID", "CATEGORY", "TYPE", "NAME", "CONFIG_KEY", "VALUE", "VISIBLE", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('5', 'xxx', '2', 'xxx', 'xxx', 'xxx', '1', 'xxx', NULL, TO_DATE('2021-02-09 20:06:47', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2021-02-09 20:06:47', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "INFRA_CONFIG" ("ID", "CATEGORY", "TYPE", "NAME", "CONFIG_KEY", "VALUE", "VISIBLE", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('6', 'biz', '2', '登陆验证码的开关', 'yudao.captcha.enable', 'true', '1', NULL, '1', TO_DATE('2022-02-17 00:03:11', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-17 00:15:33', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for INFRA_DATA_SOURCE_CONFIG
+-- ----------------------------
+DROP TABLE "INFRA_DATA_SOURCE_CONFIG";
+CREATE TABLE "INFRA_DATA_SOURCE_CONFIG" (
+  "ID" NUMBER NOT NULL,
+  "NAME" NVARCHAR2(100) NOT NULL,
+  "URL" NCLOB NOT NULL,
+  "USERNAME" NVARCHAR2(255) NOT NULL,
+  "PASSWORD" NVARCHAR2(255) NOT NULL,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "INFRA_DATA_SOURCE_CONFIG"."ID" IS '主键编号';
+COMMENT ON COLUMN "INFRA_DATA_SOURCE_CONFIG"."NAME" IS '参数名称';
+COMMENT ON COLUMN "INFRA_DATA_SOURCE_CONFIG"."URL" IS '数据源连接';
+COMMENT ON COLUMN "INFRA_DATA_SOURCE_CONFIG"."USERNAME" IS '用户名';
+COMMENT ON COLUMN "INFRA_DATA_SOURCE_CONFIG"."PASSWORD" IS '密码';
+COMMENT ON COLUMN "INFRA_DATA_SOURCE_CONFIG"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "INFRA_DATA_SOURCE_CONFIG"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "INFRA_DATA_SOURCE_CONFIG"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "INFRA_DATA_SOURCE_CONFIG"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "INFRA_DATA_SOURCE_CONFIG"."DELETED" IS '是否删除';
+COMMENT ON TABLE "INFRA_DATA_SOURCE_CONFIG" IS '数据源配置表';
+
+-- ----------------------------
+-- Records of INFRA_DATA_SOURCE_CONFIG
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for INFRA_FILE
+-- ----------------------------
+DROP TABLE "INFRA_FILE";
+CREATE TABLE "INFRA_FILE" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "CONFIG_ID" NUMBER(20,0),
+  "PATH" NVARCHAR2(512),
+  "URL" NCLOB,
+  "TYPE" NVARCHAR2(63),
+  "SIZE" NUMBER(11,0) NOT NULL,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "INFRA_FILE"."ID" IS '文件编号';
+COMMENT ON COLUMN "INFRA_FILE"."CONFIG_ID" IS '配置编号';
+COMMENT ON COLUMN "INFRA_FILE"."PATH" IS '文件路径';
+COMMENT ON COLUMN "INFRA_FILE"."URL" IS '文件 URL';
+COMMENT ON COLUMN "INFRA_FILE"."TYPE" IS '文件类型';
+COMMENT ON COLUMN "INFRA_FILE"."SIZE" IS '文件大小';
+COMMENT ON COLUMN "INFRA_FILE"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "INFRA_FILE"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "INFRA_FILE"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "INFRA_FILE"."UPDATE_TIME" IS '更新时间';
+COMMENT ON TABLE "INFRA_FILE" IS '文件表';
+
+-- ----------------------------
+-- Records of INFRA_FILE
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for INFRA_FILE_CONFIG
+-- ----------------------------
+DROP TABLE "INFRA_FILE_CONFIG";
+CREATE TABLE "INFRA_FILE_CONFIG" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "NAME" NVARCHAR2(63),
+  "STORAGE" NUMBER(4,0) NOT NULL,
+  "REMARK" NVARCHAR2(255),
+  "MASTER" NUMBER(4,0),
+  "CONFIG" NCLOB,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(4,0) DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "INFRA_FILE_CONFIG"."ID" IS '编号';
+COMMENT ON COLUMN "INFRA_FILE_CONFIG"."NAME" IS '配置名';
+COMMENT ON COLUMN "INFRA_FILE_CONFIG"."STORAGE" IS '存储器';
+COMMENT ON COLUMN "INFRA_FILE_CONFIG"."REMARK" IS '备注';
+COMMENT ON COLUMN "INFRA_FILE_CONFIG"."MASTER" IS '是否为主配置';
+COMMENT ON COLUMN "INFRA_FILE_CONFIG"."CONFIG" IS '存储配置';
+COMMENT ON COLUMN "INFRA_FILE_CONFIG"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "INFRA_FILE_CONFIG"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "INFRA_FILE_CONFIG"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "INFRA_FILE_CONFIG"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "INFRA_FILE_CONFIG"."DELETED" IS '是否删除';
+COMMENT ON TABLE "INFRA_FILE_CONFIG" IS '文件配置表';
+
+-- ----------------------------
+-- Records of INFRA_FILE_CONFIG
+-- ----------------------------
+INSERT INTO "INFRA_FILE_CONFIG" ("ID", "NAME", "STORAGE", "REMARK", "MASTER", "CONFIG", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('4', '数据库', '1', '我是数据库', '0', '{"@class":"cn.iocoder.yudao.framework.file.core.client.db.DBFileClientConfig","domain":"http://127.0.0.1:48080"}', '1', TO_DATE('2022-03-15 23:56:24', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 19:10:11', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "INFRA_FILE_CONFIG" ("ID", "NAME", "STORAGE", "REMARK", "MASTER", "CONFIG", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('5', '本地磁盘', '10', '测试下本地存储', '0', '{"@class":"cn.iocoder.yudao.framework.file.core.client.local.LocalFileClientConfig","basePath":"/Users/yunai/file_test","domain":"http://127.0.0.1:48080"}', '1', TO_DATE('2022-03-15 23:57:00', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 19:10:11', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "INFRA_FILE_CONFIG" ("ID", "NAME", "STORAGE", "REMARK", "MASTER", "CONFIG", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('11', 'S3 - 七牛云', '20', NULL, '1', '{"@class":"cn.iocoder.yudao.framework.file.core.client.s3.S3FileClientConfig","endpoint":"s3-cn-south-1.qiniucs.com","domain":"http://test.yudao.iocoder.cn","bucket":"ruoyi-vue-pro","accessKey":"b7yvuhBSAGjmtPhMFcn9iMOxUOY_I06cA_p0ZUx8","accessSecret":"kXM1l5ia1RvSX3QaOEcwI3RLz3Y2rmNszWonKZtP"}', '1', TO_DATE('2022-03-19 18:00:03', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 19:10:11', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for INFRA_FILE_CONTENT
+-- ----------------------------
+DROP TABLE "INFRA_FILE_CONTENT";
+CREATE TABLE "INFRA_FILE_CONTENT" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "CONFIG_ID" NUMBER(20,0) NOT NULL,
+  "PATH" NVARCHAR2(512),
+  "CONTENT" BLOB NOT NULL,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(4,0) DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "INFRA_FILE_CONTENT"."ID" IS '编号';
+COMMENT ON COLUMN "INFRA_FILE_CONTENT"."CONFIG_ID" IS '配置编号';
+COMMENT ON COLUMN "INFRA_FILE_CONTENT"."PATH" IS '文件路径';
+COMMENT ON COLUMN "INFRA_FILE_CONTENT"."CONTENT" IS '文件内容';
+COMMENT ON COLUMN "INFRA_FILE_CONTENT"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "INFRA_FILE_CONTENT"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "INFRA_FILE_CONTENT"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "INFRA_FILE_CONTENT"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "INFRA_FILE_CONTENT"."DELETED" IS '是否删除';
+COMMENT ON TABLE "INFRA_FILE_CONTENT" IS '文件表';
+
+-- ----------------------------
+-- Records of INFRA_FILE_CONTENT
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for INFRA_JOB
+-- ----------------------------
+DROP TABLE "INFRA_JOB";
+CREATE TABLE "INFRA_JOB" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "NAME" NVARCHAR2(32),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "HANDLER_NAME" NVARCHAR2(64),
+  "HANDLER_PARAM" NVARCHAR2(255),
+  "CRON_EXPRESSION" NVARCHAR2(32),
+  "RETRY_COUNT" NUMBER(11,0) NOT NULL,
+  "RETRY_INTERVAL" NUMBER(11,0) NOT NULL,
+  "MONITOR_TIMEOUT" NUMBER(11,0) NOT NULL,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "INFRA_JOB"."ID" IS '任务编号';
+COMMENT ON COLUMN "INFRA_JOB"."NAME" IS '任务名称';
+COMMENT ON COLUMN "INFRA_JOB"."STATUS" IS '任务状态';
+COMMENT ON COLUMN "INFRA_JOB"."HANDLER_NAME" IS '处理器的名字';
+COMMENT ON COLUMN "INFRA_JOB"."HANDLER_PARAM" IS '处理器的参数';
+COMMENT ON COLUMN "INFRA_JOB"."CRON_EXPRESSION" IS 'CRON 表达式';
+COMMENT ON COLUMN "INFRA_JOB"."RETRY_COUNT" IS '重试次数';
+COMMENT ON COLUMN "INFRA_JOB"."RETRY_INTERVAL" IS '重试间隔';
+COMMENT ON COLUMN "INFRA_JOB"."MONITOR_TIMEOUT" IS '监控超时时间';
+COMMENT ON COLUMN "INFRA_JOB"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "INFRA_JOB"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "INFRA_JOB"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "INFRA_JOB"."UPDATE_TIME" IS '更新时间';
+COMMENT ON TABLE "INFRA_JOB" IS '定时任务表';
+
+-- ----------------------------
+-- Records of INFRA_JOB
+-- ----------------------------
+INSERT INTO "INFRA_JOB" ("ID", "NAME", "STATUS", "HANDLER_NAME", "HANDLER_PARAM", "CRON_EXPRESSION", "RETRY_COUNT", "RETRY_INTERVAL", "MONITOR_TIMEOUT", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('0', '用户 Session 超时 Job', '1', 'userSessionTimeoutJob', NULL, '0 * * * * ? *', '3', '2000', '0', '1', TO_DATE('2022-05-01 20:44:03', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-01 20:44:03', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for INFRA_JOB_LOG
+-- ----------------------------
+DROP TABLE "INFRA_JOB_LOG";
+CREATE TABLE "INFRA_JOB_LOG" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "JOB_ID" NUMBER(20,0) NOT NULL,
+  "HANDLER_NAME" NVARCHAR2(64),
+  "HANDLER_PARAM" NVARCHAR2(255),
+  "EXECUTE_INDEX" NUMBER(4,0) NOT NULL,
+  "BEGIN_TIME" DATE NOT NULL,
+  "END_TIME" DATE,
+  "DURATION" NUMBER(11,0),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "RESULT" NCLOB,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "INFRA_JOB_LOG"."ID" IS '日志编号';
+COMMENT ON COLUMN "INFRA_JOB_LOG"."JOB_ID" IS '任务编号';
+COMMENT ON COLUMN "INFRA_JOB_LOG"."HANDLER_NAME" IS '处理器的名字';
+COMMENT ON COLUMN "INFRA_JOB_LOG"."HANDLER_PARAM" IS '处理器的参数';
+COMMENT ON COLUMN "INFRA_JOB_LOG"."EXECUTE_INDEX" IS '第几次执行';
+COMMENT ON COLUMN "INFRA_JOB_LOG"."BEGIN_TIME" IS '开始执行时间';
+COMMENT ON COLUMN "INFRA_JOB_LOG"."END_TIME" IS '结束执行时间';
+COMMENT ON COLUMN "INFRA_JOB_LOG"."DURATION" IS '执行时长';
+COMMENT ON COLUMN "INFRA_JOB_LOG"."STATUS" IS '任务状态';
+COMMENT ON COLUMN "INFRA_JOB_LOG"."RESULT" IS '结果数据';
+COMMENT ON COLUMN "INFRA_JOB_LOG"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "INFRA_JOB_LOG"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "INFRA_JOB_LOG"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "INFRA_JOB_LOG"."UPDATE_TIME" IS '更新时间';
+COMMENT ON TABLE "INFRA_JOB_LOG" IS '定时任务日志表';
+
+-- ----------------------------
+-- Records of INFRA_JOB_LOG
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for INFRA_TEST_DEMO
+-- ----------------------------
+DROP TABLE "INFRA_TEST_DEMO";
+CREATE TABLE "INFRA_TEST_DEMO" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "NAME" NVARCHAR2(100),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "TYPE" NUMBER(4,0) NOT NULL,
+  "CATEGORY" NUMBER(4,0) NOT NULL,
+  "REMARK" NVARCHAR2(500),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "INFRA_TEST_DEMO"."ID" IS '编号';
+COMMENT ON COLUMN "INFRA_TEST_DEMO"."NAME" IS '名字';
+COMMENT ON COLUMN "INFRA_TEST_DEMO"."STATUS" IS '状态';
+COMMENT ON COLUMN "INFRA_TEST_DEMO"."TYPE" IS '类型';
+COMMENT ON COLUMN "INFRA_TEST_DEMO"."CATEGORY" IS '分类';
+COMMENT ON COLUMN "INFRA_TEST_DEMO"."REMARK" IS '备注';
+COMMENT ON COLUMN "INFRA_TEST_DEMO"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "INFRA_TEST_DEMO"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "INFRA_TEST_DEMO"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "INFRA_TEST_DEMO"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "INFRA_TEST_DEMO"."DELETED" IS '是否删除';
+COMMENT ON TABLE "INFRA_TEST_DEMO" IS '字典类型表';
+
+-- ----------------------------
+-- Records of INFRA_TEST_DEMO
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for MEMBER_USER
+-- ----------------------------
+DROP TABLE "MEMBER_USER";
+CREATE TABLE "MEMBER_USER" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "NICKNAME" NVARCHAR2(30),
+  "AVATAR" NVARCHAR2(255),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "MOBILE" NVARCHAR2(11),
+  "PASSWORD" NVARCHAR2(100),
+  "REGISTER_IP" NVARCHAR2(32),
+  "LOGIN_IP" NVARCHAR2(50),
+  "LOGIN_DATE" DATE,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "MEMBER_USER"."ID" IS '编号';
+COMMENT ON COLUMN "MEMBER_USER"."NICKNAME" IS '用户昵称';
+COMMENT ON COLUMN "MEMBER_USER"."AVATAR" IS '头像';
+COMMENT ON COLUMN "MEMBER_USER"."STATUS" IS '状态';
+COMMENT ON COLUMN "MEMBER_USER"."MOBILE" IS '手机号';
+COMMENT ON COLUMN "MEMBER_USER"."PASSWORD" IS '密码';
+COMMENT ON COLUMN "MEMBER_USER"."REGISTER_IP" IS '注册 IP';
+COMMENT ON COLUMN "MEMBER_USER"."LOGIN_IP" IS '最后登录IP';
+COMMENT ON COLUMN "MEMBER_USER"."LOGIN_DATE" IS '最后登录时间';
+COMMENT ON COLUMN "MEMBER_USER"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "MEMBER_USER"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "MEMBER_USER"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "MEMBER_USER"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "MEMBER_USER"."TENANT_ID" IS '租户编号';
+COMMENT ON TABLE "MEMBER_USER" IS '用户';
+
+-- ----------------------------
+-- Records of MEMBER_USER
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for PAY_APP
+-- ----------------------------
+DROP TABLE "PAY_APP";
+CREATE TABLE "PAY_APP" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "NAME" NVARCHAR2(64),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "REMARK" NVARCHAR2(255),
+  "PAY_NOTIFY_URL" NCLOB,
+  "REFUND_NOTIFY_URL" NCLOB,
+  "MERCHANT_ID" NUMBER(20,0) NOT NULL,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "PAY_APP"."ID" IS '应用编号';
+COMMENT ON COLUMN "PAY_APP"."NAME" IS '应用名';
+COMMENT ON COLUMN "PAY_APP"."STATUS" IS '开启状态';
+COMMENT ON COLUMN "PAY_APP"."REMARK" IS '备注';
+COMMENT ON COLUMN "PAY_APP"."PAY_NOTIFY_URL" IS '支付结果的回调地址';
+COMMENT ON COLUMN "PAY_APP"."REFUND_NOTIFY_URL" IS '退款结果的回调地址';
+COMMENT ON COLUMN "PAY_APP"."MERCHANT_ID" IS '商户编号';
+COMMENT ON COLUMN "PAY_APP"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "PAY_APP"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "PAY_APP"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "PAY_APP"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "PAY_APP"."TENANT_ID" IS '租户编号';
+COMMENT ON TABLE "PAY_APP" IS '支付应用信息';
+
+-- ----------------------------
+-- Records of PAY_APP
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for PAY_CHANNEL
+-- ----------------------------
+DROP TABLE "PAY_CHANNEL";
+CREATE TABLE "PAY_CHANNEL" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "CODE" NVARCHAR2(32),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "REMARK" NVARCHAR2(255),
+  "FEE_RATE" NUMBER NOT NULL,
+  "MERCHANT_ID" NUMBER(20,0) NOT NULL,
+  "APP_ID" NUMBER(20,0) NOT NULL,
+  "CONFIG" NCLOB,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "PAY_CHANNEL"."ID" IS '商户编号';
+COMMENT ON COLUMN "PAY_CHANNEL"."CODE" IS '渠道编码';
+COMMENT ON COLUMN "PAY_CHANNEL"."STATUS" IS '开启状态';
+COMMENT ON COLUMN "PAY_CHANNEL"."REMARK" IS '备注';
+COMMENT ON COLUMN "PAY_CHANNEL"."FEE_RATE" IS '渠道费率,单位:百分比';
+COMMENT ON COLUMN "PAY_CHANNEL"."MERCHANT_ID" IS '商户编号';
+COMMENT ON COLUMN "PAY_CHANNEL"."APP_ID" IS '应用编号';
+COMMENT ON COLUMN "PAY_CHANNEL"."CONFIG" IS '支付渠道配置';
+COMMENT ON COLUMN "PAY_CHANNEL"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "PAY_CHANNEL"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "PAY_CHANNEL"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "PAY_CHANNEL"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "PAY_CHANNEL"."TENANT_ID" IS '租户编号';
+COMMENT ON TABLE "PAY_CHANNEL" IS '支付渠道
+';
+
+-- ----------------------------
+-- Records of PAY_CHANNEL
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for PAY_MERCHANT
+-- ----------------------------
+DROP TABLE "PAY_MERCHANT";
+CREATE TABLE "PAY_MERCHANT" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "NO" NVARCHAR2(32),
+  "NAME" NVARCHAR2(64),
+  "SHORT_NAME" NVARCHAR2(64),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "REMARK" NVARCHAR2(255),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "PAY_MERCHANT"."ID" IS '商户编号';
+COMMENT ON COLUMN "PAY_MERCHANT"."NO" IS '商户号';
+COMMENT ON COLUMN "PAY_MERCHANT"."NAME" IS '商户全称';
+COMMENT ON COLUMN "PAY_MERCHANT"."SHORT_NAME" IS '商户简称';
+COMMENT ON COLUMN "PAY_MERCHANT"."STATUS" IS '开启状态';
+COMMENT ON COLUMN "PAY_MERCHANT"."REMARK" IS '备注';
+COMMENT ON COLUMN "PAY_MERCHANT"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "PAY_MERCHANT"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "PAY_MERCHANT"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "PAY_MERCHANT"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "PAY_MERCHANT"."TENANT_ID" IS '租户编号';
+COMMENT ON TABLE "PAY_MERCHANT" IS '支付商户信息';
+
+-- ----------------------------
+-- Records of PAY_MERCHANT
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for PAY_NOTIFY_LOG
+-- ----------------------------
+DROP TABLE "PAY_NOTIFY_LOG";
+CREATE TABLE "PAY_NOTIFY_LOG" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "TASK_ID" NUMBER(20,0) NOT NULL,
+  "NOTIFY_TIMES" NUMBER(4,0) NOT NULL,
+  "RESPONSE" NCLOB,
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "PAY_NOTIFY_LOG"."ID" IS '日志编号';
+COMMENT ON COLUMN "PAY_NOTIFY_LOG"."TASK_ID" IS '通知任务编号';
+COMMENT ON COLUMN "PAY_NOTIFY_LOG"."NOTIFY_TIMES" IS '第几次被通知';
+COMMENT ON COLUMN "PAY_NOTIFY_LOG"."RESPONSE" IS '请求参数';
+COMMENT ON COLUMN "PAY_NOTIFY_LOG"."STATUS" IS '通知状态';
+COMMENT ON COLUMN "PAY_NOTIFY_LOG"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "PAY_NOTIFY_LOG"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "PAY_NOTIFY_LOG"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "PAY_NOTIFY_LOG"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "PAY_NOTIFY_LOG"."TENANT_ID" IS '租户编号';
+COMMENT ON TABLE "PAY_NOTIFY_LOG" IS '支付通知 App 的日志';
+
+-- ----------------------------
+-- Records of PAY_NOTIFY_LOG
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for PAY_NOTIFY_TASK
+-- ----------------------------
+DROP TABLE "PAY_NOTIFY_TASK";
+CREATE TABLE "PAY_NOTIFY_TASK" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "MERCHANT_ID" NUMBER(20,0) NOT NULL,
+  "APP_ID" NUMBER(20,0) NOT NULL,
+  "TYPE" NUMBER(4,0) NOT NULL,
+  "DATA_ID" NUMBER(20,0) NOT NULL,
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "MERCHANT_ORDER_ID" NVARCHAR2(64),
+  "NEXT_NOTIFY_TIME" DATE NOT NULL,
+  "LAST_EXECUTE_TIME" DATE NOT NULL,
+  "NOTIFY_TIMES" NUMBER(4,0) NOT NULL,
+  "MAX_NOTIFY_TIMES" NUMBER(4,0) NOT NULL,
+  "NOTIFY_URL" NCLOB,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "PAY_NOTIFY_TASK"."ID" IS '任务编号';
+COMMENT ON COLUMN "PAY_NOTIFY_TASK"."MERCHANT_ID" IS '商户编号';
+COMMENT ON COLUMN "PAY_NOTIFY_TASK"."APP_ID" IS '应用编号';
+COMMENT ON COLUMN "PAY_NOTIFY_TASK"."TYPE" IS '通知类型';
+COMMENT ON COLUMN "PAY_NOTIFY_TASK"."DATA_ID" IS '数据编号';
+COMMENT ON COLUMN "PAY_NOTIFY_TASK"."STATUS" IS '通知状态';
+COMMENT ON COLUMN "PAY_NOTIFY_TASK"."MERCHANT_ORDER_ID" IS '商户订单编号';
+COMMENT ON COLUMN "PAY_NOTIFY_TASK"."NEXT_NOTIFY_TIME" IS '下一次通知时间';
+COMMENT ON COLUMN "PAY_NOTIFY_TASK"."LAST_EXECUTE_TIME" IS '最后一次执行时间';
+COMMENT ON COLUMN "PAY_NOTIFY_TASK"."NOTIFY_TIMES" IS '当前通知次数';
+COMMENT ON COLUMN "PAY_NOTIFY_TASK"."MAX_NOTIFY_TIMES" IS '最大可通知次数';
+COMMENT ON COLUMN "PAY_NOTIFY_TASK"."NOTIFY_URL" IS '异步通知地址';
+COMMENT ON COLUMN "PAY_NOTIFY_TASK"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "PAY_NOTIFY_TASK"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "PAY_NOTIFY_TASK"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "PAY_NOTIFY_TASK"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "PAY_NOTIFY_TASK"."TENANT_ID" IS '租户编号';
+COMMENT ON TABLE "PAY_NOTIFY_TASK" IS '商户支付、退款等的通知
+';
+
+-- ----------------------------
+-- Records of PAY_NOTIFY_TASK
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for PAY_ORDER
+-- ----------------------------
+DROP TABLE "PAY_ORDER";
+CREATE TABLE "PAY_ORDER" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "MERCHANT_ID" NUMBER(20,0) NOT NULL,
+  "APP_ID" NUMBER(20,0) NOT NULL,
+  "CHANNEL_ID" NUMBER(20,0),
+  "CHANNEL_CODE" NVARCHAR2(32),
+  "MERCHANT_ORDER_ID" NVARCHAR2(64),
+  "SUBJECT" NVARCHAR2(32),
+  "BODY" NVARCHAR2(128),
+  "NOTIFY_URL" NCLOB,
+  "NOTIFY_STATUS" NUMBER(4,0) NOT NULL,
+  "AMOUNT" NUMBER(20,0) NOT NULL,
+  "CHANNEL_FEE_RATE" NUMBER,
+  "CHANNEL_FEE_AMOUNT" NUMBER(20,0),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "USER_IP" NVARCHAR2(50),
+  "EXPIRE_TIME" DATE NOT NULL,
+  "SUCCESS_TIME" DATE,
+  "NOTIFY_TIME" DATE,
+  "SUCCESS_EXTENSION_ID" NUMBER(20,0),
+  "REFUND_STATUS" NUMBER(4,0) NOT NULL,
+  "REFUND_TIMES" NUMBER(4,0) NOT NULL,
+  "REFUND_AMOUNT" NUMBER(20,0) NOT NULL,
+  "CHANNEL_USER_ID" NVARCHAR2(255),
+  "CHANNEL_ORDER_NO" NVARCHAR2(64),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "PAY_ORDER"."ID" IS '支付订单编号';
+COMMENT ON COLUMN "PAY_ORDER"."MERCHANT_ID" IS '商户编号';
+COMMENT ON COLUMN "PAY_ORDER"."APP_ID" IS '应用编号';
+COMMENT ON COLUMN "PAY_ORDER"."CHANNEL_ID" IS '渠道编号';
+COMMENT ON COLUMN "PAY_ORDER"."CHANNEL_CODE" IS '渠道编码';
+COMMENT ON COLUMN "PAY_ORDER"."MERCHANT_ORDER_ID" IS '商户订单编号';
+COMMENT ON COLUMN "PAY_ORDER"."SUBJECT" IS '商品标题';
+COMMENT ON COLUMN "PAY_ORDER"."BODY" IS '商品描述';
+COMMENT ON COLUMN "PAY_ORDER"."NOTIFY_URL" IS '异步通知地址';
+COMMENT ON COLUMN "PAY_ORDER"."NOTIFY_STATUS" IS '通知商户支付结果的回调状态';
+COMMENT ON COLUMN "PAY_ORDER"."AMOUNT" IS '支付金额,单位:分';
+COMMENT ON COLUMN "PAY_ORDER"."CHANNEL_FEE_RATE" IS '渠道手续费,单位:百分比';
+COMMENT ON COLUMN "PAY_ORDER"."CHANNEL_FEE_AMOUNT" IS '渠道手续金额,单位:分';
+COMMENT ON COLUMN "PAY_ORDER"."STATUS" IS '支付状态';
+COMMENT ON COLUMN "PAY_ORDER"."USER_IP" IS '用户 IP';
+COMMENT ON COLUMN "PAY_ORDER"."EXPIRE_TIME" IS '订单失效时间';
+COMMENT ON COLUMN "PAY_ORDER"."SUCCESS_TIME" IS '订单支付成功时间';
+COMMENT ON COLUMN "PAY_ORDER"."NOTIFY_TIME" IS '订单支付通知时间';
+COMMENT ON COLUMN "PAY_ORDER"."SUCCESS_EXTENSION_ID" IS '支付成功的订单拓展单编号';
+COMMENT ON COLUMN "PAY_ORDER"."REFUND_STATUS" IS '退款状态';
+COMMENT ON COLUMN "PAY_ORDER"."REFUND_TIMES" IS '退款次数';
+COMMENT ON COLUMN "PAY_ORDER"."REFUND_AMOUNT" IS '退款总金额,单位:分';
+COMMENT ON COLUMN "PAY_ORDER"."CHANNEL_USER_ID" IS '渠道用户编号';
+COMMENT ON COLUMN "PAY_ORDER"."CHANNEL_ORDER_NO" IS '渠道订单号';
+COMMENT ON COLUMN "PAY_ORDER"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "PAY_ORDER"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "PAY_ORDER"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "PAY_ORDER"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "PAY_ORDER"."TENANT_ID" IS '租户编号';
+COMMENT ON TABLE "PAY_ORDER" IS '支付订单
+';
+
+-- ----------------------------
+-- Records of PAY_ORDER
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for PAY_ORDER_EXTENSION
+-- ----------------------------
+DROP TABLE "PAY_ORDER_EXTENSION";
+CREATE TABLE "PAY_ORDER_EXTENSION" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "NO" NVARCHAR2(64),
+  "ORDER_ID" NUMBER(20,0) NOT NULL,
+  "CHANNEL_ID" NUMBER(20,0) NOT NULL,
+  "CHANNEL_CODE" NVARCHAR2(32),
+  "USER_IP" NVARCHAR2(50),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "CHANNEL_EXTRAS" NVARCHAR2(256),
+  "CHANNEL_NOTIFY_DATA" NCLOB,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "PAY_ORDER_EXTENSION"."ID" IS '支付订单编号';
+COMMENT ON COLUMN "PAY_ORDER_EXTENSION"."NO" IS '支付订单号';
+COMMENT ON COLUMN "PAY_ORDER_EXTENSION"."ORDER_ID" IS '支付订单编号';
+COMMENT ON COLUMN "PAY_ORDER_EXTENSION"."CHANNEL_ID" IS '渠道编号';
+COMMENT ON COLUMN "PAY_ORDER_EXTENSION"."CHANNEL_CODE" IS '渠道编码';
+COMMENT ON COLUMN "PAY_ORDER_EXTENSION"."USER_IP" IS '用户 IP';
+COMMENT ON COLUMN "PAY_ORDER_EXTENSION"."STATUS" IS '支付状态';
+COMMENT ON COLUMN "PAY_ORDER_EXTENSION"."CHANNEL_EXTRAS" IS '支付渠道的额外参数';
+COMMENT ON COLUMN "PAY_ORDER_EXTENSION"."CHANNEL_NOTIFY_DATA" IS '支付渠道异步通知的内容';
+COMMENT ON COLUMN "PAY_ORDER_EXTENSION"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "PAY_ORDER_EXTENSION"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "PAY_ORDER_EXTENSION"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "PAY_ORDER_EXTENSION"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "PAY_ORDER_EXTENSION"."TENANT_ID" IS '租户编号';
+COMMENT ON TABLE "PAY_ORDER_EXTENSION" IS '支付订单
+';
+
+-- ----------------------------
+-- Records of PAY_ORDER_EXTENSION
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for PAY_REFUND
+-- ----------------------------
+DROP TABLE "PAY_REFUND";
+CREATE TABLE "PAY_REFUND" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "MERCHANT_ID" NUMBER(20,0) NOT NULL,
+  "APP_ID" NUMBER(20,0) NOT NULL,
+  "CHANNEL_ID" NUMBER(20,0) NOT NULL,
+  "CHANNEL_CODE" NVARCHAR2(32),
+  "ORDER_ID" NUMBER(20,0) NOT NULL,
+  "TRADE_NO" NVARCHAR2(64),
+  "MERCHANT_ORDER_ID" NVARCHAR2(64),
+  "MERCHANT_REFUND_NO" NVARCHAR2(64),
+  "NOTIFY_URL" NCLOB,
+  "NOTIFY_STATUS" NUMBER(4,0) NOT NULL,
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "TYPE" NUMBER(4,0) NOT NULL,
+  "PAY_AMOUNT" NUMBER(20,0) NOT NULL,
+  "REFUND_AMOUNT" NUMBER(20,0) NOT NULL,
+  "REASON" NVARCHAR2(256),
+  "USER_IP" NVARCHAR2(50),
+  "CHANNEL_ORDER_NO" NVARCHAR2(64),
+  "CHANNEL_REFUND_NO" NVARCHAR2(64),
+  "CHANNEL_ERROR_CODE" NVARCHAR2(128),
+  "CHANNEL_ERROR_MSG" NVARCHAR2(256),
+  "CHANNEL_EXTRAS" NCLOB,
+  "EXPIRE_TIME" DATE,
+  "SUCCESS_TIME" DATE,
+  "NOTIFY_TIME" DATE,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "PAY_REFUND"."ID" IS '支付退款编号';
+COMMENT ON COLUMN "PAY_REFUND"."MERCHANT_ID" IS '商户编号';
+COMMENT ON COLUMN "PAY_REFUND"."APP_ID" IS '应用编号';
+COMMENT ON COLUMN "PAY_REFUND"."CHANNEL_ID" IS '渠道编号';
+COMMENT ON COLUMN "PAY_REFUND"."CHANNEL_CODE" IS '渠道编码';
+COMMENT ON COLUMN "PAY_REFUND"."ORDER_ID" IS '支付订单编号 pay_order 表id';
+COMMENT ON COLUMN "PAY_REFUND"."TRADE_NO" IS '交易订单号 pay_extension 表no 字段';
+COMMENT ON COLUMN "PAY_REFUND"."MERCHANT_ORDER_ID" IS '商户订单编号(商户系统生成)';
+COMMENT ON COLUMN "PAY_REFUND"."MERCHANT_REFUND_NO" IS '商户退款订单号(商户系统生成)';
+COMMENT ON COLUMN "PAY_REFUND"."NOTIFY_URL" IS '异步通知商户地址';
+COMMENT ON COLUMN "PAY_REFUND"."NOTIFY_STATUS" IS '通知商户退款结果的回调状态';
+COMMENT ON COLUMN "PAY_REFUND"."STATUS" IS '退款状态';
+COMMENT ON COLUMN "PAY_REFUND"."TYPE" IS '退款类型(部分退款,全部退款)';
+COMMENT ON COLUMN "PAY_REFUND"."PAY_AMOUNT" IS '支付金额,单位分';
+COMMENT ON COLUMN "PAY_REFUND"."REFUND_AMOUNT" IS '退款金额,单位分';
+COMMENT ON COLUMN "PAY_REFUND"."REASON" IS '退款原因';
+COMMENT ON COLUMN "PAY_REFUND"."USER_IP" IS '用户 IP';
+COMMENT ON COLUMN "PAY_REFUND"."CHANNEL_ORDER_NO" IS '渠道订单号,pay_order 中的channel_order_no 对应';
+COMMENT ON COLUMN "PAY_REFUND"."CHANNEL_REFUND_NO" IS '渠道退款单号,渠道返回';
+COMMENT ON COLUMN "PAY_REFUND"."CHANNEL_ERROR_CODE" IS '渠道调用报错时,错误码';
+COMMENT ON COLUMN "PAY_REFUND"."CHANNEL_ERROR_MSG" IS '渠道调用报错时,错误信息';
+COMMENT ON COLUMN "PAY_REFUND"."CHANNEL_EXTRAS" IS '支付渠道的额外参数';
+COMMENT ON COLUMN "PAY_REFUND"."EXPIRE_TIME" IS '退款失效时间';
+COMMENT ON COLUMN "PAY_REFUND"."SUCCESS_TIME" IS '退款成功时间';
+COMMENT ON COLUMN "PAY_REFUND"."NOTIFY_TIME" IS '退款通知时间';
+COMMENT ON COLUMN "PAY_REFUND"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "PAY_REFUND"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "PAY_REFUND"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "PAY_REFUND"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "PAY_REFUND"."TENANT_ID" IS '租户编号';
+COMMENT ON TABLE "PAY_REFUND" IS '退款订单';
+
+-- ----------------------------
+-- Records of PAY_REFUND
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_BLOB_TRIGGERS
+-- ----------------------------
+DROP TABLE "QRTZ_BLOB_TRIGGERS";
+CREATE TABLE "QRTZ_BLOB_TRIGGERS" (
+  "SCHED_NAME" VARCHAR2(120 BYTE) NOT NULL,
+  "TRIGGER_NAME" VARCHAR2(200 BYTE) NOT NULL,
+  "TRIGGER_GROUP" VARCHAR2(200 BYTE) NOT NULL,
+  "BLOB_DATA" BLOB
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of QRTZ_BLOB_TRIGGERS
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_CALENDARS
+-- ----------------------------
+DROP TABLE "QRTZ_CALENDARS";
+CREATE TABLE "QRTZ_CALENDARS" (
+  "SCHED_NAME" VARCHAR2(120 BYTE) NOT NULL,
+  "CALENDAR_NAME" VARCHAR2(200 BYTE) NOT NULL,
+  "CALENDAR" BLOB NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of QRTZ_CALENDARS
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_CRON_TRIGGERS
+-- ----------------------------
+DROP TABLE "QRTZ_CRON_TRIGGERS";
+CREATE TABLE "QRTZ_CRON_TRIGGERS" (
+  "SCHED_NAME" VARCHAR2(120 BYTE) NOT NULL,
+  "TRIGGER_NAME" VARCHAR2(200 BYTE) NOT NULL,
+  "TRIGGER_GROUP" VARCHAR2(200 BYTE) NOT NULL,
+  "CRON_EXPRESSION" VARCHAR2(120 BYTE) NOT NULL,
+  "TIME_ZONE_ID" VARCHAR2(80 BYTE)
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of QRTZ_CRON_TRIGGERS
+-- ----------------------------
+INSERT INTO "QRTZ_CRON_TRIGGERS" ("SCHED_NAME", "TRIGGER_NAME", "TRIGGER_GROUP", "CRON_EXPRESSION", "TIME_ZONE_ID") VALUES ('schedulerName', 'userSessionTimeoutJob', 'DEFAULT', '0 * * * * ? *', 'Asia/Shanghai');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_FIRED_TRIGGERS
+-- ----------------------------
+DROP TABLE "QRTZ_FIRED_TRIGGERS";
+CREATE TABLE "QRTZ_FIRED_TRIGGERS" (
+  "SCHED_NAME" VARCHAR2(120 BYTE) NOT NULL,
+  "ENTRY_ID" VARCHAR2(95 BYTE) NOT NULL,
+  "TRIGGER_NAME" VARCHAR2(200 BYTE) NOT NULL,
+  "TRIGGER_GROUP" VARCHAR2(200 BYTE) NOT NULL,
+  "INSTANCE_NAME" VARCHAR2(200 BYTE) NOT NULL,
+  "FIRED_TIME" NUMBER(13,0) NOT NULL,
+  "SCHED_TIME" NUMBER(13,0) NOT NULL,
+  "PRIORITY" NUMBER(13,0) NOT NULL,
+  "STATE" VARCHAR2(16 BYTE) NOT NULL,
+  "JOB_NAME" VARCHAR2(200 BYTE),
+  "JOB_GROUP" VARCHAR2(200 BYTE),
+  "IS_NONCONCURRENT" VARCHAR2(1 BYTE),
+  "REQUESTS_RECOVERY" VARCHAR2(1 BYTE)
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of QRTZ_FIRED_TRIGGERS
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_JOB_DETAILS
+-- ----------------------------
+DROP TABLE "QRTZ_JOB_DETAILS";
+CREATE TABLE "QRTZ_JOB_DETAILS" (
+  "SCHED_NAME" VARCHAR2(120 BYTE) NOT NULL,
+  "JOB_NAME" VARCHAR2(200 BYTE) NOT NULL,
+  "JOB_GROUP" VARCHAR2(200 BYTE) NOT NULL,
+  "DESCRIPTION" VARCHAR2(250 BYTE),
+  "JOB_CLASS_NAME" VARCHAR2(250 BYTE) NOT NULL,
+  "IS_DURABLE" VARCHAR2(1 BYTE) NOT NULL,
+  "IS_NONCONCURRENT" VARCHAR2(1 BYTE) NOT NULL,
+  "IS_UPDATE_DATA" VARCHAR2(1 BYTE) NOT NULL,
+  "REQUESTS_RECOVERY" VARCHAR2(1 BYTE) NOT NULL,
+  "JOB_DATA" BLOB
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of QRTZ_JOB_DETAILS
+-- ----------------------------
+INSERT INTO "QRTZ_JOB_DETAILS" ("SCHED_NAME", "JOB_NAME", "JOB_GROUP", "DESCRIPTION", "JOB_CLASS_NAME", "IS_DURABLE", "IS_NONCONCURRENT", "IS_UPDATE_DATA", "REQUESTS_RECOVERY", "JOB_DATA") VALUES ('schedulerName', 'userSessionTimeoutJob', 'DEFAULT', NULL, 'cn.iocoder.yudao.framework.quartz.core.handler.JobHandlerInvoker', '0', '1', '1', '0', HEXTORAW('ACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C770800000010000000027400064A4F425F49447372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000007400104A4F425F48414E444C45525F4E414D457400157573657253657373696F6E54696D656F75744A6F627800'));
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_LOCKS
+-- ----------------------------
+DROP TABLE "QRTZ_LOCKS";
+CREATE TABLE "QRTZ_LOCKS" (
+  "SCHED_NAME" VARCHAR2(120 BYTE) NOT NULL,
+  "LOCK_NAME" VARCHAR2(40 BYTE) NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of QRTZ_LOCKS
+-- ----------------------------
+INSERT INTO "QRTZ_LOCKS" ("SCHED_NAME", "LOCK_NAME") VALUES ('schedulerName', 'STATE_ACCESS');
+INSERT INTO "QRTZ_LOCKS" ("SCHED_NAME", "LOCK_NAME") VALUES ('schedulerName', 'TRIGGER_ACCESS');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_PAUSED_TRIGGER_GRPS
+-- ----------------------------
+DROP TABLE "QRTZ_PAUSED_TRIGGER_GRPS";
+CREATE TABLE "QRTZ_PAUSED_TRIGGER_GRPS" (
+  "SCHED_NAME" VARCHAR2(120 BYTE) NOT NULL,
+  "TRIGGER_GROUP" VARCHAR2(200 BYTE) NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of QRTZ_PAUSED_TRIGGER_GRPS
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_SCHEDULER_STATE
+-- ----------------------------
+DROP TABLE "QRTZ_SCHEDULER_STATE";
+CREATE TABLE "QRTZ_SCHEDULER_STATE" (
+  "SCHED_NAME" VARCHAR2(120 BYTE) NOT NULL,
+  "INSTANCE_NAME" VARCHAR2(200 BYTE) NOT NULL,
+  "LAST_CHECKIN_TIME" NUMBER(13,0) NOT NULL,
+  "CHECKIN_INTERVAL" NUMBER(13,0) NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of QRTZ_SCHEDULER_STATE
+-- ----------------------------
+INSERT INTO "QRTZ_SCHEDULER_STATE" ("SCHED_NAME", "INSTANCE_NAME", "LAST_CHECKIN_TIME", "CHECKIN_INTERVAL") VALUES ('schedulerName', 'Yunai.local1651409076356', '1651409097967', '15000');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_SIMPLE_TRIGGERS
+-- ----------------------------
+DROP TABLE "QRTZ_SIMPLE_TRIGGERS";
+CREATE TABLE "QRTZ_SIMPLE_TRIGGERS" (
+  "SCHED_NAME" VARCHAR2(120 BYTE) NOT NULL,
+  "TRIGGER_NAME" VARCHAR2(200 BYTE) NOT NULL,
+  "TRIGGER_GROUP" VARCHAR2(200 BYTE) NOT NULL,
+  "REPEAT_COUNT" NUMBER(7,0) NOT NULL,
+  "REPEAT_INTERVAL" NUMBER(12,0) NOT NULL,
+  "TIMES_TRIGGERED" NUMBER(10,0) NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of QRTZ_SIMPLE_TRIGGERS
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_SIMPROP_TRIGGERS
+-- ----------------------------
+DROP TABLE "QRTZ_SIMPROP_TRIGGERS";
+CREATE TABLE "QRTZ_SIMPROP_TRIGGERS" (
+  "SCHED_NAME" VARCHAR2(120 BYTE) NOT NULL,
+  "TRIGGER_NAME" VARCHAR2(200 BYTE) NOT NULL,
+  "TRIGGER_GROUP" VARCHAR2(200 BYTE) NOT NULL,
+  "STR_PROP_1" VARCHAR2(512 BYTE),
+  "STR_PROP_2" VARCHAR2(512 BYTE),
+  "STR_PROP_3" VARCHAR2(512 BYTE),
+  "INT_PROP_1" NUMBER(10,0),
+  "INT_PROP_2" NUMBER(10,0),
+  "LONG_PROP_1" NUMBER(13,0),
+  "LONG_PROP_2" NUMBER(13,0),
+  "DEC_PROP_1" NUMBER(13,4),
+  "DEC_PROP_2" NUMBER(13,4),
+  "BOOL_PROP_1" VARCHAR2(1 BYTE),
+  "BOOL_PROP_2" VARCHAR2(1 BYTE)
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of QRTZ_SIMPROP_TRIGGERS
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for QRTZ_TRIGGERS
+-- ----------------------------
+DROP TABLE "QRTZ_TRIGGERS";
+CREATE TABLE "QRTZ_TRIGGERS" (
+  "SCHED_NAME" VARCHAR2(120 BYTE) NOT NULL,
+  "TRIGGER_NAME" VARCHAR2(200 BYTE) NOT NULL,
+  "TRIGGER_GROUP" VARCHAR2(200 BYTE) NOT NULL,
+  "JOB_NAME" VARCHAR2(200 BYTE) NOT NULL,
+  "JOB_GROUP" VARCHAR2(200 BYTE) NOT NULL,
+  "DESCRIPTION" VARCHAR2(250 BYTE),
+  "NEXT_FIRE_TIME" NUMBER(13,0),
+  "PREV_FIRE_TIME" NUMBER(13,0),
+  "PRIORITY" NUMBER(13,0),
+  "TRIGGER_STATE" VARCHAR2(16 BYTE) NOT NULL,
+  "TRIGGER_TYPE" VARCHAR2(8 BYTE) NOT NULL,
+  "START_TIME" NUMBER(13,0) NOT NULL,
+  "END_TIME" NUMBER(13,0),
+  "CALENDAR_NAME" VARCHAR2(200 BYTE),
+  "MISFIRE_INSTR" NUMBER(2,0),
+  "JOB_DATA" BLOB
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of QRTZ_TRIGGERS
+-- ----------------------------
+INSERT INTO "QRTZ_TRIGGERS" ("SCHED_NAME", "TRIGGER_NAME", "TRIGGER_GROUP", "JOB_NAME", "JOB_GROUP", "DESCRIPTION", "NEXT_FIRE_TIME", "PREV_FIRE_TIME", "PRIORITY", "TRIGGER_STATE", "TRIGGER_TYPE", "START_TIME", "END_TIME", "CALENDAR_NAME", "MISFIRE_INSTR", "JOB_DATA") VALUES ('schedulerName', 'userSessionTimeoutJob', 'DEFAULT', 'userSessionTimeoutJob', 'DEFAULT', NULL, '1651409160000', '1651409100000', '5', 'WAITING', 'CRON', '1651409043000', '0', NULL, '0', HEXTORAW('ACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C770800000010000000037400114A4F425F48414E444C45525F504152414D707400124A4F425F52455452595F494E54455256414C737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000007D074000F4A4F425F52455452595F434F554E547371007E0009000000037800'));
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_DEPT
+-- ----------------------------
+DROP TABLE "SYSTEM_DEPT";
+CREATE TABLE "SYSTEM_DEPT" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "NAME" NVARCHAR2(30),
+  "PARENT_ID" NUMBER(20,0) NOT NULL,
+  "SORT" NUMBER(11,0) NOT NULL,
+  "LEADER_USER_ID" NUMBER(20,0),
+  "PHONE" NVARCHAR2(11),
+  "EMAIL" NVARCHAR2(50),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_DEPT"."ID" IS '部门id';
+COMMENT ON COLUMN "SYSTEM_DEPT"."NAME" IS '部门名称';
+COMMENT ON COLUMN "SYSTEM_DEPT"."PARENT_ID" IS '父部门id';
+COMMENT ON COLUMN "SYSTEM_DEPT"."SORT" IS '显示顺序';
+COMMENT ON COLUMN "SYSTEM_DEPT"."LEADER_USER_ID" IS '负责人';
+COMMENT ON COLUMN "SYSTEM_DEPT"."PHONE" IS '联系电话';
+COMMENT ON COLUMN "SYSTEM_DEPT"."EMAIL" IS '邮箱';
+COMMENT ON COLUMN "SYSTEM_DEPT"."STATUS" IS '部门状态(0正常 1停用)';
+COMMENT ON COLUMN "SYSTEM_DEPT"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_DEPT"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_DEPT"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_DEPT"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_DEPT"."TENANT_ID" IS '租户编号';
+COMMENT ON COLUMN "SYSTEM_DEPT"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_DEPT" IS '部门表';
+
+-- ----------------------------
+-- Records of SYSTEM_DEPT
+-- ----------------------------
+INSERT INTO "SYSTEM_DEPT" ("ID", "NAME", "PARENT_ID", "SORT", "LEADER_USER_ID", "PHONE", "EMAIL", "STATUS", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('100', '芋道源码', '0', '0', '1', '15888888888', 'ry@qq.com', '0', 'admin', TO_DATE('2021-01-05 17:03:47', 'SYYYY-MM-DD HH24:MI:SS'), '103', TO_DATE('2022-01-14 01:04:05', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_DEPT" ("ID", "NAME", "PARENT_ID", "SORT", "LEADER_USER_ID", "PHONE", "EMAIL", "STATUS", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('101', '深圳总公司', '100', '1', '104', '15888888888', 'ry@qq.com', '0', 'admin', TO_DATE('2021-01-05 17:03:47', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 19:47:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_DEPT" ("ID", "NAME", "PARENT_ID", "SORT", "LEADER_USER_ID", "PHONE", "EMAIL", "STATUS", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('102', '长沙分公司', '100', '2', NULL, '15888888888', 'ry@qq.com', '0', 'admin', TO_DATE('2021-01-05 17:03:47', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2021-12-15 05:01:40', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_DEPT" ("ID", "NAME", "PARENT_ID", "SORT", "LEADER_USER_ID", "PHONE", "EMAIL", "STATUS", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('103', '研发部门', '101', '1', '104', '15888888888', 'ry@qq.com', '0', 'admin', TO_DATE('2021-01-05 17:03:47', 'SYYYY-MM-DD HH24:MI:SS'), '103', TO_DATE('2022-01-14 01:04:14', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_DEPT" ("ID", "NAME", "PARENT_ID", "SORT", "LEADER_USER_ID", "PHONE", "EMAIL", "STATUS", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('104', '市场部门', '101', '2', NULL, '15888888888', 'ry@qq.com', '0', 'admin', TO_DATE('2021-01-05 17:03:47', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2021-12-15 05:01:38', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_DEPT" ("ID", "NAME", "PARENT_ID", "SORT", "LEADER_USER_ID", "PHONE", "EMAIL", "STATUS", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('105', '测试部门', '101', '3', NULL, '15888888888', 'ry@qq.com', '0', 'admin', TO_DATE('2021-01-05 17:03:47', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2021-12-15 05:01:37', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_DEPT" ("ID", "NAME", "PARENT_ID", "SORT", "LEADER_USER_ID", "PHONE", "EMAIL", "STATUS", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('106', '财务部门', '101', '4', '103', '15888888888', 'ry@qq.com', '0', 'admin', TO_DATE('2021-01-05 17:03:47', 'SYYYY-MM-DD HH24:MI:SS'), '103', TO_DATE('2022-01-15 21:32:22', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_DEPT" ("ID", "NAME", "PARENT_ID", "SORT", "LEADER_USER_ID", "PHONE", "EMAIL", "STATUS", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('107', '运维部门', '101', '5', NULL, '15888888888', 'ry@qq.com', '0', 'admin', TO_DATE('2021-01-05 17:03:47', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2021-12-15 05:01:33', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_DEPT" ("ID", "NAME", "PARENT_ID", "SORT", "LEADER_USER_ID", "PHONE", "EMAIL", "STATUS", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('108', '市场部门', '102', '1', NULL, '15888888888', 'ry@qq.com', '0', 'admin', TO_DATE('2021-01-05 17:03:47', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 08:35:45', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_DEPT" ("ID", "NAME", "PARENT_ID", "SORT", "LEADER_USER_ID", "PHONE", "EMAIL", "STATUS", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('109', '财务部门', '102', '2', NULL, '15888888888', 'ry@qq.com', '0', 'admin', TO_DATE('2021-01-05 17:03:47', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2021-12-15 05:01:29', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_DEPT" ("ID", "NAME", "PARENT_ID", "SORT", "LEADER_USER_ID", "PHONE", "EMAIL", "STATUS", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('110', '新部门', '0', '1', NULL, NULL, NULL, '0', '110', TO_DATE('2022-02-23 20:46:30', 'SYYYY-MM-DD HH24:MI:SS'), '110', TO_DATE('2022-02-23 20:46:30', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_DEPT" ("ID", "NAME", "PARENT_ID", "SORT", "LEADER_USER_ID", "PHONE", "EMAIL", "STATUS", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('111', '顶级部门', '0', '1', NULL, NULL, NULL, '0', '113', TO_DATE('2022-03-07 21:44:50', 'SYYYY-MM-DD HH24:MI:SS'), '113', TO_DATE('2022-03-07 21:44:50', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_DICT_DATA
+-- ----------------------------
+DROP TABLE "SYSTEM_DICT_DATA";
+CREATE TABLE "SYSTEM_DICT_DATA" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "SORT" NUMBER(11,0) NOT NULL,
+  "LABEL" NVARCHAR2(100),
+  "VALUE" NVARCHAR2(100),
+  "DICT_TYPE" NVARCHAR2(100),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "COLOR_TYPE" NVARCHAR2(100),
+  "CSS_CLASS" NVARCHAR2(100),
+  "REMARK" NVARCHAR2(500),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_DICT_DATA"."ID" IS '字典编码';
+COMMENT ON COLUMN "SYSTEM_DICT_DATA"."SORT" IS '字典排序';
+COMMENT ON COLUMN "SYSTEM_DICT_DATA"."LABEL" IS '字典标签';
+COMMENT ON COLUMN "SYSTEM_DICT_DATA"."VALUE" IS '字典键值';
+COMMENT ON COLUMN "SYSTEM_DICT_DATA"."DICT_TYPE" IS '字典类型';
+COMMENT ON COLUMN "SYSTEM_DICT_DATA"."STATUS" IS '状态(0正常 1停用)';
+COMMENT ON COLUMN "SYSTEM_DICT_DATA"."COLOR_TYPE" IS '颜色类型';
+COMMENT ON COLUMN "SYSTEM_DICT_DATA"."CSS_CLASS" IS 'css 样式';
+COMMENT ON COLUMN "SYSTEM_DICT_DATA"."REMARK" IS '备注';
+COMMENT ON COLUMN "SYSTEM_DICT_DATA"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_DICT_DATA"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_DICT_DATA"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_DICT_DATA"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_DICT_DATA"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_DICT_DATA" IS '字典数据表';
+
+-- ----------------------------
+-- Records of SYSTEM_DICT_DATA
+-- ----------------------------
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1143', '20', '流程发起人的一级领导', '20', 'bpm_task_assign_script', '0', NULL, NULL, '任务分配自定义脚本 - 流程发起人的一级领导', '103', TO_DATE('2022-01-15 21:24:31', 'SYYYY-MM-DD HH24:MI:SS'), '103', TO_DATE('2022-01-15 21:24:31', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1144', '21', '流程发起人的二级领导', '21', 'bpm_task_assign_script', '0', NULL, NULL, '任务分配自定义脚本 - 流程发起人的二级领导', '103', TO_DATE('2022-01-15 21:24:46', 'SYYYY-MM-DD HH24:MI:SS'), '103', TO_DATE('2022-01-15 21:24:57', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1145', '1', '管理后台', '1', 'infra_codegen_scene', '0', NULL, NULL, '代码生成的场景枚举 - 管理后台', '1', TO_DATE('2022-02-02 13:15:06', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-10 16:32:59', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1146', '2', '用户 APP', '2', 'infra_codegen_scene', '0', NULL, NULL, '代码生成的场景枚举 - 用户 APP', '1', TO_DATE('2022-02-02 13:15:19', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-10 16:33:03', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1147', '0', '未退款', '0', 'pay_refund_order_type', '0', 'info', NULL, '退款类型 - 未退款', '1', TO_DATE('2022-02-16 14:09:01', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 14:09:01', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1148', '10', '部分退款', '10', 'pay_refund_order_type', '0', 'success', NULL, '退款类型 - 部分退款', '1', TO_DATE('2022-02-16 14:09:25', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 14:11:38', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1149', '20', '全部退款', '20', 'pay_refund_order_type', '0', 'warning', NULL, '退款类型 - 全部退款', '1', TO_DATE('2022-02-16 14:11:33', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 14:11:33', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1150', '1', '数据库', '1', 'infra_file_storage', '0', 'default', NULL, NULL, '1', TO_DATE('2022-03-15 00:25:28', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-15 00:25:28', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1151', '10', '本地磁盘', '10', 'infra_file_storage', '0', 'default', NULL, NULL, '1', TO_DATE('2022-03-15 00:25:41', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-15 00:25:56', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1152', '11', 'FTP 服务器', '11', 'infra_file_storage', '0', 'default', NULL, NULL, '1', TO_DATE('2022-03-15 00:26:06', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-15 00:26:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1153', '12', 'SFTP 服务器', '12', 'infra_file_storage', '0', 'default', NULL, NULL, '1', TO_DATE('2022-03-15 00:26:22', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-15 00:26:22', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1154', '20', 'S3 对象存储', '20', 'infra_file_storage', '0', 'default', NULL, NULL, '1', TO_DATE('2022-03-15 00:26:31', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-15 00:26:45', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1155', '103', '短信登录', '103', 'system_login_type', '0', 'default', NULL, NULL, '1', TO_DATE('2022-05-09 23:57:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-09 23:58:09', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1156', '1', 'password', 'password', 'system_oauth2_grant_type', '0', 'default', NULL, '密码模式', '1', TO_DATE('2022-05-12 00:22:05', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-11 16:26:01', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1157', '2', 'authorization_code', 'authorization_code', 'system_oauth2_grant_type', '0', 'primary', NULL, '授权码模式', '1', TO_DATE('2022-05-12 00:22:59', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-11 16:26:02', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1158', '3', 'implicit', 'implicit', 'system_oauth2_grant_type', '0', 'success', NULL, '简化模式', '1', TO_DATE('2022-05-12 00:23:40', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-11 16:26:05', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1159', '4', 'client_credentials', 'client_credentials', 'system_oauth2_grant_type', '0', 'default', NULL, '客户端模式', '1', TO_DATE('2022-05-12 00:23:51', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-11 16:26:08', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1160', '5', 'refresh_token', 'refresh_token', 'system_oauth2_grant_type', '0', 'info', NULL, '刷新模式', '1', TO_DATE('2022-05-12 00:24:02', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-11 16:26:11', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('79', '2', '手动编辑', '2', 'system_error_code_type', '0', 'primary', NULL, NULL, '1', TO_DATE('2021-04-21 00:07:14', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:57:24', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('80', '100', '账号登录', '100', 'system_login_type', '0', 'primary', NULL, '账号登录', '1', TO_DATE('2021-10-06 00:52:02', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:11:34', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('81', '101', '社交登录', '101', 'system_login_type', '0', 'info', NULL, '社交登录', '1', TO_DATE('2021-10-06 00:52:17', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:11:40', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('82', '102', 'Mock 登录', '102', 'system_login_type', '0', 'danger', NULL, 'Mock 登录', '1', TO_DATE('2021-10-06 00:52:32', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:11:44', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('83', '200', '主动登出', '200', 'system_login_type', '0', 'primary', NULL, '主动登出', '1', TO_DATE('2021-10-06 00:52:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:11:49', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('85', '202', '强制登出', '202', 'system_login_type', '0', 'danger', NULL, '强制退出', '1', TO_DATE('2021-10-06 00:53:41', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:11:57', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('86', '0', '病假', '1', 'bpm_oa_leave_type', '0', 'primary', NULL, NULL, '1', TO_DATE('2021-09-21 22:35:28', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 10:00:41', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('87', '1', '事假', '2', 'bpm_oa_leave_type', '0', 'info', NULL, NULL, '1', TO_DATE('2021-09-21 22:36:11', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 10:00:49', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('88', '2', '婚假', '3', 'bpm_oa_leave_type', '0', 'warning', NULL, NULL, '1', TO_DATE('2021-09-21 22:36:38', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 10:00:53', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('98', '1', 'v2', 'v2', 'pay_channel_wechat_version', '0', NULL, NULL, 'v2版本', '1', TO_DATE('2021-11-08 17:00:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-11-08 17:00:58', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('99', '2', 'v3', 'v3', 'pay_channel_wechat_version', '0', NULL, NULL, 'v3版本', '1', TO_DATE('2021-11-08 17:01:07', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-11-08 17:01:07', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('108', '1', 'RSA2', 'RSA2', 'pay_channel_alipay_sign_type', '0', NULL, NULL, 'RSA2', '1', TO_DATE('2021-11-18 15:39:29', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-11-18 15:39:29', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('109', '1', '公钥模式', '1', 'pay_channel_alipay_mode', '0', NULL, NULL, '公钥模式:privateKey + alipayPublicKey', '1', TO_DATE('2021-11-18 15:45:23', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-11-18 15:45:23', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('110', '2', '证书模式', '2', 'pay_channel_alipay_mode', '0', NULL, NULL, '证书模式:appCertContent + alipayPublicCertContent + rootCertContent', '1', TO_DATE('2021-11-18 15:45:40', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-11-18 15:45:40', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('111', '1', '线上', 'https://openapi.alipay.com/gateway.do', 'pay_channel_alipay_server_type', '0', NULL, NULL, '网关地址 - 线上', '1', TO_DATE('2021-11-18 16:59:32', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-11-21 17:37:29', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('112', '2', '沙箱', 'https://openapi.alipaydev.com/gateway.do', 'pay_channel_alipay_server_type', '0', NULL, NULL, '网关地址 - 沙箱', '1', TO_DATE('2021-11-18 16:59:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-11-21 17:37:39', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('113', '1', '微信 JSAPI 支付', 'wx_pub', 'pay_channel_code_type', '0', NULL, NULL, '微信 JSAPI(公众号) 支付', '1', TO_DATE('2021-12-03 10:40:24', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-12-04 16:41:00', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('114', '2', '微信小程序支付', 'wx_lite', 'pay_channel_code_type', '0', NULL, NULL, '微信小程序支付', '1', TO_DATE('2021-12-03 10:41:06', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-12-03 10:41:06', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('115', '3', '微信 App 支付', 'wx_app', 'pay_channel_code_type', '0', NULL, NULL, '微信 App 支付', '1', TO_DATE('2021-12-03 10:41:20', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-12-03 10:41:20', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('116', '4', '支付宝 PC 网站支付', 'alipay_pc', 'pay_channel_code_type', '0', NULL, NULL, '支付宝 PC 网站支付', '1', TO_DATE('2021-12-03 10:42:09', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-12-03 10:42:09', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('117', '5', '支付宝 Wap 网站支付', 'alipay_wap', 'pay_channel_code_type', '0', NULL, NULL, '支付宝 Wap 网站支付', '1', TO_DATE('2021-12-03 10:42:26', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-12-03 10:42:26', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('118', '6', '支付宝App 支付', 'alipay_app', 'pay_channel_code_type', '0', NULL, NULL, '支付宝App 支付', '1', TO_DATE('2021-12-03 10:42:55', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-12-03 10:42:55', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('119', '7', '支付宝扫码支付', 'alipay_qr', 'pay_channel_code_type', '0', NULL, NULL, '支付宝扫码支付', '1', TO_DATE('2021-12-03 10:43:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-12-03 10:43:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('120', '1', '通知成功', '10', 'pay_order_notify_status', '0', 'success', NULL, '通知成功', '1', TO_DATE('2021-12-03 11:02:41', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:59:13', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('121', '2', '通知失败', '20', 'pay_order_notify_status', '0', 'danger', NULL, '通知失败', '1', TO_DATE('2021-12-03 11:02:59', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:59:17', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('122', '3', '未通知', '0', 'pay_order_notify_status', '0', 'info', NULL, '未通知', '1', TO_DATE('2021-12-03 11:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:59:23', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('123', '1', '支付成功', '10', 'pay_order_status', '0', 'success', NULL, '支付成功', '1', TO_DATE('2021-12-03 11:18:29', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 15:24:25', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('124', '2', '支付关闭', '20', 'pay_order_status', '0', 'danger', NULL, '支付关闭', '1', TO_DATE('2021-12-03 11:18:42', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 15:24:31', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('125', '3', '未支付', '0', 'pay_order_status', '0', 'info', NULL, '未支付', '1', TO_DATE('2021-12-03 11:18:18', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 15:24:35', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('126', '1', '未退款', '0', 'pay_order_refund_status', '0', NULL, NULL, '未退款', '1', TO_DATE('2021-12-03 11:30:35', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-12-03 11:34:05', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('127', '2', '部分退款', '10', 'pay_order_refund_status', '0', NULL, NULL, '部分退款', '1', TO_DATE('2021-12-03 11:30:44', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-12-03 11:34:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('128', '3', '全部退款', '20', 'pay_order_refund_status', '0', NULL, NULL, '全部退款', '1', TO_DATE('2021-12-03 11:30:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-12-03 11:34:14', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1117', '1', '退款订单生成', '0', 'pay_refund_order_status', '0', 'primary', NULL, '退款订单生成', '1', TO_DATE('2021-12-10 16:44:44', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 14:05:24', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1118', '2', '退款成功', '1', 'pay_refund_order_status', '0', 'success', NULL, '退款成功', '1', TO_DATE('2021-12-10 16:44:59', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 14:05:28', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1119', '3', '退款失败', '2', 'pay_refund_order_status', '0', 'danger', NULL, '退款失败', '1', TO_DATE('2021-12-10 16:45:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 14:05:34', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1124', '8', '退款关闭', '99', 'pay_refund_order_status', '0', 'info', NULL, '退款关闭', '1', TO_DATE('2021-12-10 16:46:26', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 14:05:40', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1125', '0', '默认', '1', 'bpm_model_category', '0', 'primary', NULL, '流程分类 - 默认', '1', TO_DATE('2022-01-02 08:41:11', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 20:01:42', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1126', '0', 'OA', '2', 'bpm_model_category', '0', 'success', NULL, '流程分类 - OA', '1', TO_DATE('2022-01-02 08:41:22', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 20:01:50', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1127', '0', '进行中', '1', 'bpm_process_instance_status', '0', 'primary', NULL, '流程实例的状态 - 进行中', '1', TO_DATE('2022-01-07 23:47:22', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 20:07:49', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1128', '2', '已完成', '2', 'bpm_process_instance_status', '0', 'success', NULL, '流程实例的状态 - 已完成', '1', TO_DATE('2022-01-07 23:47:49', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 20:07:54', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1129', '1', '处理中', '1', 'bpm_process_instance_result', '0', 'primary', NULL, '流程实例的结果 - 处理中', '1', TO_DATE('2022-01-07 23:48:32', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 09:53:26', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1130', '2', '通过', '2', 'bpm_process_instance_result', '0', 'success', NULL, '流程实例的结果 - 通过', '1', TO_DATE('2022-01-07 23:48:45', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 09:53:31', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1131', '3', '不通过', '3', 'bpm_process_instance_result', '0', 'danger', NULL, '流程实例的结果 - 不通过', '1', TO_DATE('2022-01-07 23:48:55', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 09:53:38', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1132', '4', '已取消', '4', 'bpm_process_instance_result', '0', 'info', NULL, '流程实例的结果 - 撤销', '1', TO_DATE('2022-01-07 23:49:06', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 09:53:42', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1133', '10', '流程表单', '10', 'bpm_model_form_type', '0', NULL, NULL, '流程的表单类型 - 流程表单', '103', TO_DATE('2022-01-11 23:51:30', 'SYYYY-MM-DD HH24:MI:SS'), '103', TO_DATE('2022-01-11 23:51:30', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1134', '20', '业务表单', '20', 'bpm_model_form_type', '0', NULL, NULL, '流程的表单类型 - 业务表单', '103', TO_DATE('2022-01-11 23:51:47', 'SYYYY-MM-DD HH24:MI:SS'), '103', TO_DATE('2022-01-11 23:51:47', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1135', '10', '角色', '10', 'bpm_task_assign_rule_type', '0', 'info', NULL, '任务分配规则的类型 - 角色', '103', TO_DATE('2022-01-12 23:21:22', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 20:06:14', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1136', '20', '部门的成员', '20', 'bpm_task_assign_rule_type', '0', 'primary', NULL, '任务分配规则的类型 - 部门的成员', '103', TO_DATE('2022-01-12 23:21:47', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 20:05:28', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1137', '21', '部门的负责人', '21', 'bpm_task_assign_rule_type', '0', 'primary', NULL, '任务分配规则的类型 - 部门的负责人', '103', TO_DATE('2022-01-12 23:33:36', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 20:05:31', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1138', '30', '用户', '30', 'bpm_task_assign_rule_type', '0', 'info', NULL, '任务分配规则的类型 - 用户', '103', TO_DATE('2022-01-12 23:34:02', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 20:05:50', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1139', '40', '用户组', '40', 'bpm_task_assign_rule_type', '0', 'warning', NULL, '任务分配规则的类型 - 用户组', '103', TO_DATE('2022-01-12 23:34:21', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 20:05:57', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1140', '50', '自定义脚本', '50', 'bpm_task_assign_rule_type', '0', 'danger', NULL, '任务分配规则的类型 - 自定义脚本', '103', TO_DATE('2022-01-12 23:34:43', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 20:06:01', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1141', '22', '岗位', '22', 'bpm_task_assign_rule_type', '0', 'success', NULL, '任务分配规则的类型 - 岗位', '103', TO_DATE('2022-01-14 18:41:55', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 20:05:39', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1142', '10', '流程发起人', '10', 'bpm_task_assign_script', '0', NULL, NULL, '任务分配自定义脚本 - 流程发起人', '103', TO_DATE('2022-01-15 00:10:57', 'SYYYY-MM-DD HH24:MI:SS'), '103', TO_DATE('2022-01-15 21:24:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1', '1', '男', '1', 'system_user_sex', '0', 'default', 'A', '性别男', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-29 00:14:39', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('2', '2', '女', '2', 'system_user_sex', '1', 'success', NULL, '性别女', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 01:30:51', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('8', '1', '正常', '1', 'infra_job_status', '0', 'success', NULL, '正常状态', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 19:33:38', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('9', '2', '暂停', '2', 'infra_job_status', '0', 'danger', NULL, '停用状态', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 19:33:45', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('12', '1', '系统内置', '1', 'infra_config_type', '0', 'danger', NULL, '参数类型 - 系统内置', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 19:06:02', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('13', '2', '自定义', '2', 'infra_config_type', '0', 'primary', NULL, '参数类型 - 自定义', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 19:06:07', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('14', '1', '通知', '1', 'system_notice_type', '0', 'success', NULL, '通知', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:05:57', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('15', '2', '公告', '2', 'system_notice_type', '0', 'info', NULL, '公告', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:06:01', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('16', '0', '其它', '0', 'system_operate_type', '0', 'default', NULL, '其它操作', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 09:32:46', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('17', '1', '查询', '1', 'system_operate_type', '0', 'info', NULL, '查询操作', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 09:33:16', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('18', '2', '新增', '2', 'system_operate_type', '0', 'primary', NULL, '新增操作', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 09:33:13', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('19', '3', '修改', '3', 'system_operate_type', '0', 'warning', NULL, '修改操作', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 09:33:22', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('20', '4', '删除', '4', 'system_operate_type', '0', 'danger', NULL, '删除操作', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 09:33:27', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('22', '5', '导出', '5', 'system_operate_type', '0', 'default', NULL, '导出操作', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 09:33:32', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('23', '6', '导入', '6', 'system_operate_type', '0', 'default', NULL, '导入操作', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 09:33:35', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('27', '1', '开启', '0', 'common_status', '0', 'primary', NULL, '开启状态', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 08:00:39', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('28', '2', '关闭', '1', 'common_status', '0', 'info', NULL, '关闭状态', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 08:00:44', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('29', '1', '目录', '1', 'system_menu_type', '0', NULL, NULL, '目录', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-01 16:43:45', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('30', '2', '菜单', '2', 'system_menu_type', '0', NULL, NULL, '菜单', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-01 16:43:41', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('31', '3', '按钮', '3', 'system_menu_type', '0', NULL, NULL, '按钮', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-01 16:43:39', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('32', '1', '内置', '1', 'system_role_type', '0', 'danger', NULL, '内置角色', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:02:08', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('33', '2', '自定义', '2', 'system_role_type', '0', 'primary', NULL, '自定义角色', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:02:12', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('34', '1', '全部数据权限', '1', 'system_data_scope', '0', NULL, NULL, '全部数据权限', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-01 16:47:17', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('35', '2', '指定部门数据权限', '2', 'system_data_scope', '0', NULL, NULL, '指定部门数据权限', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-01 16:47:18', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('36', '3', '本部门数据权限', '3', 'system_data_scope', '0', NULL, NULL, '本部门数据权限', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-01 16:47:16', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('37', '4', '本部门及以下数据权限', '4', 'system_data_scope', '0', NULL, NULL, '本部门及以下数据权限', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-01 16:47:21', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('38', '5', '仅本人数据权限', '5', 'system_data_scope', '0', NULL, NULL, '仅本人数据权限', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-01 16:47:23', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('39', '0', '成功', '0', 'system_login_result', '0', 'success', NULL, '登陆结果 - 成功', NULL, TO_DATE('2021-01-18 06:17:36', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:23:49', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('40', '10', '账号或密码不正确', '10', 'system_login_result', '0', 'primary', NULL, '登陆结果 - 账号或密码不正确', NULL, TO_DATE('2021-01-18 06:17:54', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:24:27', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('41', '20', '用户被禁用', '20', 'system_login_result', '0', 'warning', NULL, '登陆结果 - 用户被禁用', NULL, TO_DATE('2021-01-18 06:17:54', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:23:57', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('42', '30', '验证码不存在', '30', 'system_login_result', '0', 'info', NULL, '登陆结果 - 验证码不存在', NULL, TO_DATE('2021-01-18 06:17:54', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:24:07', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('43', '31', '验证码不正确', '31', 'system_login_result', '0', 'info', NULL, '登陆结果 - 验证码不正确', NULL, TO_DATE('2021-01-18 06:17:54', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:24:11', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('44', '100', '未知异常', '100', 'system_login_result', '0', 'danger', NULL, '登陆结果 - 未知异常', NULL, TO_DATE('2021-01-18 06:17:54', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:24:23', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('45', '1', '是', 'true', 'infra_boolean_string', '0', 'danger', NULL, 'Boolean 是否类型 - 是', NULL, TO_DATE('2021-01-19 03:20:55', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-15 23:01:45', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('46', '1', '否', 'false', 'infra_boolean_string', '0', 'info', NULL, 'Boolean 是否类型 - 否', NULL, TO_DATE('2021-01-19 03:20:55', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-15 23:09:45', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('47', '1', '永不超时', '1', 'infra_redis_timeout_type', '0', 'primary', NULL, 'Redis 未设置超时的情况', NULL, TO_DATE('2021-01-26 00:53:17', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 19:03:35', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('48', '1', '动态超时', '2', 'infra_redis_timeout_type', '0', 'info', NULL, '程序里动态传入超时时间,无法固定', NULL, TO_DATE('2021-01-26 00:55:00', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 19:03:41', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('49', '3', '固定超时', '3', 'infra_redis_timeout_type', '0', 'success', NULL, 'Redis 设置了过期时间', NULL, TO_DATE('2021-01-26 00:55:26', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 19:03:45', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('50', '1', '单表(增删改查)', '1', 'infra_codegen_template_type', '0', NULL, NULL, NULL, NULL, TO_DATE('2021-02-05 07:09:06', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-03-10 16:33:15', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('51', '2', '树表(增删改查)', '2', 'infra_codegen_template_type', '0', NULL, NULL, NULL, NULL, TO_DATE('2021-02-05 07:14:46', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-03-10 16:33:19', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('53', '0', '初始化中', '0', 'infra_job_status', '0', 'primary', NULL, NULL, NULL, TO_DATE('2021-02-07 07:46:49', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 19:33:29', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('57', '0', '运行中', '0', 'infra_job_log_status', '0', 'primary', NULL, 'RUNNING', NULL, TO_DATE('2021-02-08 10:04:24', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 19:07:48', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('58', '1', '成功', '1', 'infra_job_log_status', '0', 'success', NULL, NULL, NULL, TO_DATE('2021-02-08 10:06:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 19:07:52', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('59', '2', '失败', '2', 'infra_job_log_status', '0', 'warning', NULL, '失败', NULL, TO_DATE('2021-02-08 10:07:38', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 19:07:56', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('60', '1', '会员', '1', 'user_type', '0', 'primary', NULL, NULL, NULL, TO_DATE('2021-02-26 00:16:27', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 10:22:19', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('61', '2', '管理员', '2', 'user_type', '0', 'success', NULL, NULL, NULL, TO_DATE('2021-02-26 00:16:34', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 10:22:22', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('62', '0', '未处理', '0', 'infra_api_error_log_process_status', '0', 'primary', NULL, NULL, NULL, TO_DATE('2021-02-26 07:07:19', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 20:14:17', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('63', '1', '已处理', '1', 'infra_api_error_log_process_status', '0', 'success', NULL, NULL, NULL, TO_DATE('2021-02-26 07:07:26', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 20:14:08', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('64', '2', '已忽略', '2', 'infra_api_error_log_process_status', '0', 'danger', NULL, NULL, NULL, TO_DATE('2021-02-26 07:07:34', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 20:14:14', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('65', '1', '云片', 'YUN_PIAN', 'system_sms_channel_code', '0', 'success', NULL, NULL, '1', TO_DATE('2021-04-05 01:05:14', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 10:09:55', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('66', '2', '阿里云', 'ALIYUN', 'system_sms_channel_code', '0', 'primary', NULL, NULL, '1', TO_DATE('2021-04-05 01:05:26', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 10:09:52', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('67', '1', '验证码', '1', 'system_sms_template_type', '0', 'warning', NULL, NULL, '1', TO_DATE('2021-04-05 21:50:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 12:48:30', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('68', '2', '通知', '2', 'system_sms_template_type', '0', 'primary', NULL, NULL, '1', TO_DATE('2021-04-05 21:51:08', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 12:48:27', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('69', '0', '营销', '3', 'system_sms_template_type', '0', 'danger', NULL, NULL, '1', TO_DATE('2021-04-05 21:51:15', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 12:48:22', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('70', '0', '初始化', '0', 'system_sms_send_status', '0', 'primary', NULL, NULL, '1', TO_DATE('2021-04-11 20:18:33', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 10:26:07', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('71', '1', '发送成功', '10', 'system_sms_send_status', '0', 'success', NULL, NULL, '1', TO_DATE('2021-04-11 20:18:43', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 10:25:56', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('72', '2', '发送失败', '20', 'system_sms_send_status', '0', 'danger', NULL, NULL, '1', TO_DATE('2021-04-11 20:18:49', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 10:26:03', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('73', '3', '不发送', '30', 'system_sms_send_status', '0', 'info', NULL, NULL, '1', TO_DATE('2021-04-11 20:19:44', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 10:26:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('74', '0', '等待结果', '0', 'system_sms_receive_status', '0', 'primary', NULL, NULL, '1', TO_DATE('2021-04-11 20:27:43', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 10:28:24', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('75', '1', '接收成功', '10', 'system_sms_receive_status', '0', 'success', NULL, NULL, '1', TO_DATE('2021-04-11 20:29:25', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 10:28:28', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('76', '2', '接收失败', '20', 'system_sms_receive_status', '0', 'danger', NULL, NULL, '1', TO_DATE('2021-04-11 20:29:31', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 10:28:32', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('77', '0', '调试(钉钉)', 'DEBUG_DING_TALK', 'system_sms_channel_code', '0', 'info', NULL, NULL, '1', TO_DATE('2021-04-13 00:20:37', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 10:10:00', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_DATA" ("ID", "SORT", "LABEL", "VALUE", "DICT_TYPE", "STATUS", "COLOR_TYPE", "CSS_CLASS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('78', '1', '自动生成', '1', 'system_error_code_type', '0', 'warning', NULL, NULL, '1', TO_DATE('2021-04-21 00:06:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:57:20', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_DICT_TYPE
+-- ----------------------------
+DROP TABLE "SYSTEM_DICT_TYPE";
+CREATE TABLE "SYSTEM_DICT_TYPE" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "NAME" NVARCHAR2(100),
+  "TYPE" NVARCHAR2(100),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "REMARK" NVARCHAR2(500),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_DICT_TYPE"."ID" IS '字典主键';
+COMMENT ON COLUMN "SYSTEM_DICT_TYPE"."NAME" IS '字典名称';
+COMMENT ON COLUMN "SYSTEM_DICT_TYPE"."TYPE" IS '字典类型';
+COMMENT ON COLUMN "SYSTEM_DICT_TYPE"."STATUS" IS '状态(0正常 1停用)';
+COMMENT ON COLUMN "SYSTEM_DICT_TYPE"."REMARK" IS '备注';
+COMMENT ON COLUMN "SYSTEM_DICT_TYPE"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_DICT_TYPE"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_DICT_TYPE"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_DICT_TYPE"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_DICT_TYPE"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_DICT_TYPE" IS '字典类型表';
+
+-- ----------------------------
+-- Records of SYSTEM_DICT_TYPE
+-- ----------------------------
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1', '用户性别', 'system_user_sex', '0', NULL, 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-01 12:55:56', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('6', '参数类型', 'infra_config_type', '0', NULL, 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-01 16:36:54', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('7', '通知类型', 'system_notice_type', '0', NULL, 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-01 16:35:26', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('9', '操作类型', 'system_operate_type', '0', NULL, 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 09:32:21', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('10', '系统状态', 'common_status', '0', NULL, 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-01 16:21:28', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('11', 'Boolean 是否类型', 'infra_boolean_string', '0', 'boolean 转是否', NULL, TO_DATE('2021-01-19 03:20:08', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-01 16:37:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('104', '登陆结果', 'system_login_result', '0', '登陆结果', NULL, TO_DATE('2021-01-18 06:17:11', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-01 16:36:00', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('105', 'Redis 超时类型', 'infra_redis_timeout_type', '0', 'RedisKeyDefine.TimeoutTypeEnum', NULL, TO_DATE('2021-01-26 00:52:50', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-01 16:50:29', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('106', '代码生成模板类型', 'infra_codegen_template_type', '0', NULL, NULL, TO_DATE('2021-02-05 07:08:06', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-03-10 16:33:42', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('107', '定时任务状态', 'infra_job_status', '0', NULL, NULL, TO_DATE('2021-02-07 07:44:16', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-01 16:51:11', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('108', '定时任务日志状态', 'infra_job_log_status', '0', NULL, NULL, TO_DATE('2021-02-08 10:03:51', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-01 16:50:43', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('109', '用户类型', 'user_type', '0', NULL, NULL, TO_DATE('2021-02-26 00:15:51', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2021-02-26 00:15:51', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('110', 'API 异常数据的处理状态', 'infra_api_error_log_process_status', '0', NULL, NULL, TO_DATE('2021-02-26 07:07:01', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-01 16:50:53', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('111', '短信渠道编码', 'system_sms_channel_code', '0', NULL, '1', TO_DATE('2021-04-05 01:04:50', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 02:09:08', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('112', '短信模板的类型', 'system_sms_template_type', '0', NULL, '1', TO_DATE('2021-04-05 21:50:43', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-01 16:35:06', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('113', '短信发送状态', 'system_sms_send_status', '0', NULL, '1', TO_DATE('2021-04-11 20:18:03', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-01 16:35:09', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('114', '短信接收状态', 'system_sms_receive_status', '0', NULL, '1', TO_DATE('2021-04-11 20:27:14', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-01 16:35:14', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('115', '错误码的类型', 'system_error_code_type', '0', NULL, '1', TO_DATE('2021-04-21 00:06:30', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-01 16:36:49', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('116', '登陆日志的类型', 'system_login_type', '0', '登陆日志的类型', '1', TO_DATE('2021-10-06 00:50:46', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-01 16:35:56', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('117', 'OA 请假类型', 'bpm_oa_leave_type', '0', NULL, '1', TO_DATE('2021-09-21 22:34:33', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-01-22 10:41:37', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('122', '支付渠道微信版本', 'pay_channel_wechat_version', '0', '支付渠道微信版本', '1', TO_DATE('2021-11-08 17:00:26', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-11-08 17:00:26', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('127', '支付渠道支付宝算法类型', 'pay_channel_alipay_sign_type', '0', '支付渠道支付宝算法类型', '1', TO_DATE('2021-11-18 15:39:09', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-11-18 15:39:09', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('128', '支付渠道支付宝公钥类型', 'pay_channel_alipay_mode', '0', '支付渠道支付宝公钥类型', '1', TO_DATE('2021-11-18 15:44:28', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-11-18 15:44:28', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('129', '支付宝网关地址', 'pay_channel_alipay_server_type', '0', '支付宝网关地址', '1', TO_DATE('2021-11-18 16:58:55', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-11-18 17:01:34', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('130', '支付渠道编码类型', 'pay_channel_code_type', '0', '支付渠道的编码', '1', TO_DATE('2021-12-03 10:35:08', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-12-03 10:35:08', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('131', '支付订单回调状态', 'pay_order_notify_status', '0', '支付订单回调状态', '1', TO_DATE('2021-12-03 10:53:29', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-12-03 10:53:29', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('132', '支付订单状态', 'pay_order_status', '0', '支付订单状态', '1', TO_DATE('2021-12-03 11:17:50', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-12-03 11:17:50', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('133', '支付订单退款状态', 'pay_order_refund_status', '0', '支付订单退款状态', '1', TO_DATE('2021-12-03 11:27:31', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-12-03 11:27:31', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('134', '退款订单状态', 'pay_refund_order_status', '0', '退款订单状态', '1', TO_DATE('2021-12-10 16:42:50', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-12-10 16:42:50', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('135', '退款订单类别', 'pay_refund_order_type', '0', '退款订单类别', '1', TO_DATE('2021-12-10 17:14:53', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-12-10 17:14:53', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('138', '流程分类', 'bpm_model_category', '0', '流程分类', '1', TO_DATE('2022-01-02 08:40:45', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-01-02 08:40:45', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('139', '流程实例的状态', 'bpm_process_instance_status', '0', '流程实例的状态', '1', TO_DATE('2022-01-07 23:46:42', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-01-07 23:46:42', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('140', '流程实例的结果', 'bpm_process_instance_result', '0', '流程实例的结果', '1', TO_DATE('2022-01-07 23:48:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-01-07 23:48:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('141', '流程的表单类型', 'bpm_model_form_type', '0', '流程的表单类型', '103', TO_DATE('2022-01-11 23:50:45', 'SYYYY-MM-DD HH24:MI:SS'), '103', TO_DATE('2022-01-11 23:50:45', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('142', '任务分配规则的类型', 'bpm_task_assign_rule_type', '0', '任务分配规则的类型', '103', TO_DATE('2022-01-12 23:21:04', 'SYYYY-MM-DD HH24:MI:SS'), '103', TO_DATE('2022-01-12 15:46:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('143', '任务分配自定义脚本', 'bpm_task_assign_script', '0', '任务分配自定义脚本', '103', TO_DATE('2022-01-15 00:10:35', 'SYYYY-MM-DD HH24:MI:SS'), '103', TO_DATE('2022-01-15 00:10:35', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('144', '代码生成的场景枚举', 'infra_codegen_scene', '0', '代码生成的场景枚举', '1', TO_DATE('2022-02-02 13:14:45', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-10 16:33:46', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('145', '角色类型', 'system_role_type', '0', '角色类型', '1', TO_DATE('2022-02-16 13:01:46', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-16 13:01:46', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_DICT_TYPE" ("ID", "NAME", "TYPE", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('146', '文件存储器', 'infra_file_storage', '0', '文件存储器', '1', TO_DATE('2022-03-15 00:24:38', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-15 00:24:38', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_ERROR_CODE
+-- ----------------------------
+DROP TABLE "SYSTEM_ERROR_CODE";
+CREATE TABLE "SYSTEM_ERROR_CODE" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "TYPE" NUMBER(4,0) NOT NULL,
+  "APPLICATION_NAME" NVARCHAR2(50),
+  "CODE" NUMBER(11,0) NOT NULL,
+  "MESSAGE" NVARCHAR2(512),
+  "MEMO" NVARCHAR2(512),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_ERROR_CODE"."ID" IS '错误码编号';
+COMMENT ON COLUMN "SYSTEM_ERROR_CODE"."TYPE" IS '错误码类型';
+COMMENT ON COLUMN "SYSTEM_ERROR_CODE"."APPLICATION_NAME" IS '应用名';
+COMMENT ON COLUMN "SYSTEM_ERROR_CODE"."CODE" IS '错误码编码';
+COMMENT ON COLUMN "SYSTEM_ERROR_CODE"."MESSAGE" IS '错误码错误提示';
+COMMENT ON COLUMN "SYSTEM_ERROR_CODE"."MEMO" IS '备注';
+COMMENT ON COLUMN "SYSTEM_ERROR_CODE"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_ERROR_CODE"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_ERROR_CODE"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_ERROR_CODE"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_ERROR_CODE"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_ERROR_CODE" IS '错误码表';
+
+-- ----------------------------
+-- Records of SYSTEM_ERROR_CODE
+-- ----------------------------
+INSERT INTO "SYSTEM_ERROR_CODE" ("ID", "TYPE", "APPLICATION_NAME", "CODE", "MESSAGE", "MEMO", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('0', '1', 'yudao-server', '1001007000', '数据源配置不存在', NULL, NULL, TO_DATE('2022-05-01 01:08:31', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-05-01 01:08:31', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_ERROR_CODE" ("ID", "TYPE", "APPLICATION_NAME", "CODE", "MESSAGE", "MEMO", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('0', '1', 'yudao-server', '1009000002', '获取高亮流程图异常', NULL, NULL, TO_DATE('2022-05-13 01:26:47', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-05-13 01:26:47', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_LOGIN_LOG
+-- ----------------------------
+DROP TABLE "SYSTEM_LOGIN_LOG";
+CREATE TABLE "SYSTEM_LOGIN_LOG" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "LOG_TYPE" NUMBER(20,0) NOT NULL,
+  "TRACE_ID" NVARCHAR2(64),
+  "USER_ID" NUMBER(20,0) NOT NULL,
+  "USER_TYPE" NUMBER(4,0) NOT NULL,
+  "USERNAME" NVARCHAR2(50),
+  "RESULT" NUMBER(4,0) NOT NULL,
+  "USER_IP" NVARCHAR2(50),
+  "USER_AGENT" NVARCHAR2(512),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_LOGIN_LOG"."ID" IS '访问ID';
+COMMENT ON COLUMN "SYSTEM_LOGIN_LOG"."LOG_TYPE" IS '日志类型';
+COMMENT ON COLUMN "SYSTEM_LOGIN_LOG"."TRACE_ID" IS '链路追踪编号';
+COMMENT ON COLUMN "SYSTEM_LOGIN_LOG"."USER_ID" IS '用户编号';
+COMMENT ON COLUMN "SYSTEM_LOGIN_LOG"."USER_TYPE" IS '用户类型';
+COMMENT ON COLUMN "SYSTEM_LOGIN_LOG"."USERNAME" IS '用户账号';
+COMMENT ON COLUMN "SYSTEM_LOGIN_LOG"."RESULT" IS '登陆结果';
+COMMENT ON COLUMN "SYSTEM_LOGIN_LOG"."USER_IP" IS '用户 IP';
+COMMENT ON COLUMN "SYSTEM_LOGIN_LOG"."USER_AGENT" IS '浏览器 UA';
+COMMENT ON COLUMN "SYSTEM_LOGIN_LOG"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_LOGIN_LOG"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_LOGIN_LOG"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_LOGIN_LOG"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_LOGIN_LOG"."TENANT_ID" IS '租户编号';
+COMMENT ON COLUMN "SYSTEM_LOGIN_LOG"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_LOGIN_LOG" IS '系统访问记录';
+
+-- ----------------------------
+-- Records of SYSTEM_LOGIN_LOG
+-- ----------------------------
+INSERT INTO "SYSTEM_LOGIN_LOG" ("ID", "LOG_TYPE", "TRACE_ID", "USER_ID", "USER_TYPE", "USERNAME", "RESULT", "USER_IP", "USER_AGENT", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('0', '100', NULL, '1', '2', 'admin', '0', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36', NULL, TO_DATE('2022-05-13 01:27:36', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-05-13 01:27:36', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_MENU
+-- ----------------------------
+DROP TABLE "SYSTEM_MENU";
+CREATE TABLE "SYSTEM_MENU" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "NAME" NVARCHAR2(50) NOT NULL,
+  "PERMISSION" NVARCHAR2(100),
+  "TYPE" NUMBER(6,0) NOT NULL,
+  "SORT" NUMBER(11,0) NOT NULL,
+  "PARENT_ID" NUMBER(20,0) NOT NULL,
+  "PATH" NVARCHAR2(200),
+  "ICON" NVARCHAR2(100),
+  "COMPONENT" NVARCHAR2(255),
+  "STATUS" NUMBER(6,0) NOT NULL,
+  "VISIBLE" NVARCHAR2(4 BYTE) NOT NULL,
+  "KEEP_ALIVE" NVARCHAR2(4 BYTE) NOT NULL,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(6,0) NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_MENU"."ID" IS '菜单ID';
+COMMENT ON COLUMN "SYSTEM_MENU"."NAME" IS '菜单名称';
+COMMENT ON COLUMN "SYSTEM_MENU"."PERMISSION" IS '权限标识';
+COMMENT ON COLUMN "SYSTEM_MENU"."TYPE" IS '菜单类型';
+COMMENT ON COLUMN "SYSTEM_MENU"."SORT" IS '显示顺序';
+COMMENT ON COLUMN "SYSTEM_MENU"."PARENT_ID" IS '父菜单ID';
+COMMENT ON COLUMN "SYSTEM_MENU"."PATH" IS '路由地址';
+COMMENT ON COLUMN "SYSTEM_MENU"."ICON" IS '菜单图标';
+COMMENT ON COLUMN "SYSTEM_MENU"."COMPONENT" IS '组件路径';
+COMMENT ON COLUMN "SYSTEM_MENU"."STATUS" IS '菜单状态';
+COMMENT ON COLUMN "SYSTEM_MENU"."VISIBLE" IS '是否可见';
+COMMENT ON COLUMN "SYSTEM_MENU"."KEEP_ALIVE" IS '是否缓存';
+COMMENT ON COLUMN "SYSTEM_MENU"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_MENU"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_MENU"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_MENU"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_MENU"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_MENU" IS '菜单权限表';
+
+-- ----------------------------
+-- Records of SYSTEM_MENU
+-- ----------------------------
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1', '系统管理', NULL, '1', '10', '0', '/system', 'system', NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-12 18:11:34', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('2', '基础设施', NULL, '1', '20', '0', '/infra', 'monitor', NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-12 18:11:34', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('5', 'OA 示例', NULL, '1', '40', '1185', 'oa', 'people', NULL, '0', '1', '1', 'admin', TO_DATE('2021-09-20 16:26:19', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-12 18:11:34', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('100', '用户管理', 'system:user:list', '2', '1', '1', 'user', 'user', 'system/user/index', '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('101', '角色管理', NULL, '2', '2', '1', 'role', 'peoples', 'system/role/index', '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('102', '菜单管理', NULL, '2', '3', '1', 'menu', 'tree-table', 'system/menu/index', '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('103', '部门管理', NULL, '2', '4', '1', 'dept', 'tree', 'system/dept/index', '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('104', '岗位管理', NULL, '2', '5', '1', 'post', 'post', 'system/post/index', '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('105', '字典管理', NULL, '2', '6', '1', 'dict', 'dict', 'system/dict/index', '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('106', '配置管理', NULL, '2', '6', '2', 'config', 'edit', 'infra/config/index', '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('107', '通知公告', NULL, '2', '8', '1', 'notice', 'message', 'system/notice/index', '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('108', '审计日志', NULL, '1', '9', '1', 'log', 'log', NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('109', '令牌管理', NULL, '2', '2', '1261', 'token', 'online', 'system/oauth2/token/index', '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-11 23:31:42', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('110', '定时任务', NULL, '2', '12', '2', 'job', 'job', 'infra/job/index', '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('111', 'MySQL 监控', NULL, '2', '9', '2', 'druid', 'druid', 'infra/druid/index', '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('112', 'Java 监控', NULL, '2', '11', '2', 'admin-server', 'server', 'infra/server/index', '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('113', 'Redis 监控', NULL, '2', '10', '2', 'redis', 'redis', 'infra/redis/index', '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('114', '表单构建', 'infra:build:list', '2', '2', '2', 'build', 'build', 'infra/build/index', '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('115', '代码生成', 'infra:codegen:query', '2', '1', '2', 'codegen', 'code', 'infra/codegen/index', '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('116', '系统接口', 'infra:swagger:list', '2', '3', '2', 'swagger', 'swagger', 'infra/swagger/index', '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('500', '操作日志', NULL, '2', '1', '108', 'operate-log', 'form', 'system/operatelog/index', '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('501', '登录日志', NULL, '2', '2', '108', 'login-log', 'logininfor', 'system/loginlog/index', '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1001', '用户查询', 'system:user:query', '3', '1', '100', NULL, '#', NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1002', '用户新增', 'system:user:create', '3', '2', '100', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1003', '用户修改', 'system:user:update', '3', '3', '100', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1004', '用户删除', 'system:user:delete', '3', '4', '100', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1005', '用户导出', 'system:user:export', '3', '5', '100', NULL, '#', NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1006', '用户导入', 'system:user:import', '3', '6', '100', NULL, '#', NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1007', '重置密码', 'system:user:update-password', '3', '7', '100', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1008', '角色查询', 'system:role:query', '3', '1', '101', NULL, '#', NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1009', '角色新增', 'system:role:create', '3', '2', '101', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1010', '角色修改', 'system:role:update', '3', '3', '101', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1011', '角色删除', 'system:role:delete', '3', '4', '101', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1012', '角色导出', 'system:role:export', '3', '5', '101', NULL, '#', NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1013', '菜单查询', 'system:menu:query', '3', '1', '102', NULL, '#', NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1014', '菜单新增', 'system:menu:create', '3', '2', '102', NULL, '#', NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1015', '菜单修改', 'system:menu:update', '3', '3', '102', NULL, '#', NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1016', '菜单删除', 'system:menu:delete', '3', '4', '102', NULL, '#', NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1017', '部门查询', 'system:dept:query', '3', '1', '103', NULL, '#', NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1018', '部门新增', 'system:dept:create', '3', '2', '103', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1019', '部门修改', 'system:dept:update', '3', '3', '103', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1020', '部门删除', 'system:dept:delete', '3', '4', '103', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1021', '岗位查询', 'system:post:query', '3', '1', '104', NULL, '#', NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1022', '岗位新增', 'system:post:create', '3', '2', '104', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1023', '岗位修改', 'system:post:update', '3', '3', '104', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1024', '岗位删除', 'system:post:delete', '3', '4', '104', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1025', '岗位导出', 'system:post:export', '3', '5', '104', NULL, '#', NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1026', '字典查询', 'system:dict:query', '3', '1', '105', '#', '#', NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1027', '字典新增', 'system:dict:create', '3', '2', '105', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1028', '字典修改', 'system:dict:update', '3', '3', '105', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1029', '字典删除', 'system:dict:delete', '3', '4', '105', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1030', '字典导出', 'system:dict:export', '3', '5', '105', '#', '#', NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1031', '配置查询', 'infra:config:query', '3', '1', '106', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1032', '配置新增', 'infra:config:create', '3', '2', '106', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1033', '配置修改', 'infra:config:update', '3', '3', '106', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1034', '配置删除', 'infra:config:delete', '3', '4', '106', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1035', '配置导出', 'infra:config:export', '3', '5', '106', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1036', '公告查询', 'system:notice:query', '3', '1', '107', '#', '#', NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1037', '公告新增', 'system:notice:create', '3', '2', '107', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1038', '公告修改', 'system:notice:update', '3', '3', '107', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1039', '公告删除', 'system:notice:delete', '3', '4', '107', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1040', '操作查询', 'system:operate-log:query', '3', '1', '500', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1042', '日志导出', 'system:operate-log:export', '3', '2', '500', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1043', '登录查询', 'system:login-log:query', '3', '1', '501', '#', '#', NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1045', '日志导出', 'system:login-log:export', '3', '3', '501', '#', '#', NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1046', '令牌列表', 'system:oauth2-token:page', '3', '1', '109', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-09 23:54:42', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1048', '令牌删除', 'system:oauth2-token:delete', '3', '2', '109', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-09 23:54:53', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1050', '任务新增', 'infra:job:create', '3', '2', '110', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1051', '任务修改', 'infra:job:update', '3', '3', '110', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1052', '任务删除', 'infra:job:delete', '3', '4', '110', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1053', '状态修改', 'infra:job:update', '3', '5', '110', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1054', '任务导出', 'infra:job:export', '3', '7', '110', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1056', '生成修改', 'infra:codegen:update', '3', '2', '115', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1057', '生成删除', 'infra:codegen:delete', '3', '3', '115', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1058', '导入代码', 'infra:codegen:create', '3', '2', '115', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1059', '预览代码', 'infra:codegen:preview', '3', '4', '115', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1060', '生成代码', 'infra:codegen:download', '3', '5', '115', NULL, NULL, NULL, '0', '1', '1', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1063', '设置角色菜单权限', 'system:permission:assign-role-menu', '3', '6', '101', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-01-06 17:53:44', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1064', '设置角色数据权限', 'system:permission:assign-role-data-scope', '3', '7', '101', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-01-06 17:56:31', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1065', '设置用户角色', 'system:permission:assign-user-role', '3', '8', '101', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-01-07 10:23:28', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1066', '获得 Redis 监控信息', 'infra:redis:get-monitor-info', '3', '1', '113', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-01-26 01:02:31', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1067', '获得 Redis Key 列表', 'infra:redis:get-key-list', '3', '2', '113', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-01-26 01:02:52', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1070', '代码生成示例', 'infra:test-demo:query', '2', '1', '2', 'test-demo', 'validCode', 'infra/testDemo/index', '0', '1', '1', NULL, TO_DATE('2021-02-06 12:42:49', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1071', '测试示例表创建', 'infra:test-demo:create', '3', '1', '1070', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-02-06 12:42:49', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1072', '测试示例表更新', 'infra:test-demo:update', '3', '2', '1070', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-02-06 12:42:49', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1073', '测试示例表删除', 'infra:test-demo:delete', '3', '3', '1070', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-02-06 12:42:49', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1074', '测试示例表导出', 'infra:test-demo:export', '3', '4', '1070', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-02-06 12:42:49', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1075', '任务触发', 'infra:job:trigger', '3', '8', '110', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-02-07 13:03:10', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1076', '数据库文档', NULL, '2', '4', '2', 'db-doc', 'table', 'infra/dbDoc/index', '0', '1', '1', NULL, TO_DATE('2021-02-08 01:41:47', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1077', '监控平台', NULL, '2', '13', '2', 'skywalking', 'eye-open', 'infra/skywalking/index', '0', '1', '1', NULL, TO_DATE('2021-02-08 20:41:31', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1078', '访问日志', NULL, '2', '1', '1083', 'api-access-log', 'log', 'infra/apiAccessLog/index', '0', '1', '1', NULL, TO_DATE('2021-02-26 01:32:59', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1082', '日志导出', 'infra:api-access-log:export', '3', '2', '1078', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-02-26 01:32:59', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1083', 'API 日志', NULL, '2', '8', '2', 'log', 'log', NULL, '0', '1', '1', NULL, TO_DATE('2021-02-26 02:18:24', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-12 18:11:34', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1084', '错误日志', 'infra:api-error-log:query', '2', '2', '1083', 'api-error-log', 'log', 'infra/apiErrorLog/index', '0', '1', '1', NULL, TO_DATE('2021-02-26 07:53:20', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1085', '日志处理', 'infra:api-error-log:update-status', '3', '2', '1084', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-02-26 07:53:20', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1086', '日志导出', 'infra:api-error-log:export', '3', '3', '1084', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-02-26 07:53:20', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1087', '任务查询', 'infra:job:query', '3', '1', '110', NULL, NULL, NULL, '0', '1', '1', '1', TO_DATE('2021-03-10 01:26:19', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1088', '日志查询', 'infra:api-access-log:query', '3', '1', '1078', NULL, NULL, NULL, '0', '1', '1', '1', TO_DATE('2021-03-10 01:28:04', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1089', '日志查询', 'infra:api-error-log:query', '3', '1', '1084', NULL, NULL, NULL, '0', '1', '1', '1', TO_DATE('2021-03-10 01:29:09', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1090', '文件列表', NULL, '2', '5', '1243', 'file', 'upload', 'infra/file/index', '0', '1', '1', NULL, TO_DATE('2021-03-12 20:16:20', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1091', '文件查询', 'infra:file:query', '3', '1', '1090', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-03-12 20:16:20', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1092', '文件删除', 'infra:file:delete', '3', '4', '1090', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-03-12 20:16:20', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1093', '短信管理', NULL, '1', '11', '1', 'sms', 'validCode', NULL, '0', '1', '1', '1', TO_DATE('2021-04-05 01:10:16', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-12 18:11:34', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1094', '短信渠道', NULL, '2', '0', '1093', 'sms-channel', 'phone', 'system/sms/smsChannel', '0', '1', '1', NULL, TO_DATE('2021-04-01 11:07:15', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1095', '短信渠道查询', 'system:sms-channel:query', '3', '1', '1094', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-04-01 11:07:15', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1096', '短信渠道创建', 'system:sms-channel:create', '3', '2', '1094', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-04-01 11:07:15', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1097', '短信渠道更新', 'system:sms-channel:update', '3', '3', '1094', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-04-01 11:07:15', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1098', '短信渠道删除', 'system:sms-channel:delete', '3', '4', '1094', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-04-01 11:07:15', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1100', '短信模板', NULL, '2', '1', '1093', 'sms-template', 'phone', 'system/sms/smsTemplate', '0', '1', '1', NULL, TO_DATE('2021-04-01 17:35:17', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1101', '短信模板查询', 'system:sms-template:query', '3', '1', '1100', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-04-01 17:35:17', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1102', '短信模板创建', 'system:sms-template:create', '3', '2', '1100', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-04-01 17:35:17', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1103', '短信模板更新', 'system:sms-template:update', '3', '3', '1100', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-04-01 17:35:17', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1104', '短信模板删除', 'system:sms-template:delete', '3', '4', '1100', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-04-01 17:35:17', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1105', '短信模板导出', 'system:sms-template:export', '3', '5', '1100', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-04-01 17:35:17', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1106', '发送测试短信', 'system:sms-template:send-sms', '3', '6', '1100', NULL, NULL, NULL, '0', '1', '1', '1', TO_DATE('2021-04-11 00:26:40', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1107', '短信日志', NULL, '2', '2', '1093', 'sms-log', 'phone', 'system/sms/smsLog', '0', '1', '1', NULL, TO_DATE('2021-04-11 08:37:05', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1108', '短信日志查询', 'system:sms-log:query', '3', '1', '1107', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-04-11 08:37:05', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1109', '短信日志导出', 'system:sms-log:export', '3', '5', '1107', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-04-11 08:37:05', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1110', '错误码管理', NULL, '2', '12', '1', 'error-code', 'code', 'system/errorCode/index', '0', '1', '1', NULL, TO_DATE('2021-04-13 21:46:42', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1111', '错误码查询', 'system:error-code:query', '3', '1', '1110', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-04-13 21:46:42', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1112', '错误码创建', 'system:error-code:create', '3', '2', '1110', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-04-13 21:46:42', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1113', '错误码更新', 'system:error-code:update', '3', '3', '1110', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-04-13 21:46:42', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1114', '错误码删除', 'system:error-code:delete', '3', '4', '1110', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-04-13 21:46:42', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1115', '错误码导出', 'system:error-code:export', '3', '5', '1110', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-04-13 21:46:42', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1117', '支付管理', NULL, '1', '11', '0', '/pay', 'money', NULL, '0', '1', '1', '1', TO_DATE('2021-12-25 16:43:41', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-12 18:11:34', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1118', '请假查询', NULL, '2', '0', '5', 'leave', 'user', 'bpm/oa/leave/index', '0', '1', '1', NULL, TO_DATE('2021-09-20 08:51:03', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1119', '请假申请查询', 'bpm:oa-leave:query', '3', '1', '1118', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-09-20 08:51:03', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1120', '请假申请创建', 'bpm:oa-leave:create', '3', '2', '1118', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-09-20 08:51:03', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1126', '应用信息', NULL, '2', '1', '1117', 'app', 'table', 'pay/app/index', '0', '1', '1', NULL, TO_DATE('2021-11-10 01:13:30', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1127', '支付应用信息查询', 'pay:app:query', '3', '1', '1126', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-11-10 01:13:31', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1128', '支付应用信息创建', 'pay:app:create', '3', '2', '1126', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-11-10 01:13:31', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1129', '支付应用信息更新', 'pay:app:update', '3', '3', '1126', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-11-10 01:13:31', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1130', '支付应用信息删除', 'pay:app:delete', '3', '4', '1126', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-11-10 01:13:31', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1131', '支付应用信息导出', 'pay:app:export', '3', '5', '1126', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-11-10 01:13:31', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1132', '秘钥解析', 'pay:channel:parsing', '3', '6', '1129', NULL, NULL, NULL, '0', '1', '1', '1', TO_DATE('2021-11-08 15:15:47', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1133', '支付商户信息查询', 'pay:merchant:query', '3', '1', '1132', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-11-10 01:13:41', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1134', '支付商户信息创建', 'pay:merchant:create', '3', '2', '1132', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-11-10 01:13:41', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1135', '支付商户信息更新', 'pay:merchant:update', '3', '3', '1132', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-11-10 01:13:41', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1136', '支付商户信息删除', 'pay:merchant:delete', '3', '4', '1132', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-11-10 01:13:41', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1137', '支付商户信息导出', 'pay:merchant:export', '3', '5', '1132', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-11-10 01:13:41', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1138', '租户列表', NULL, '2', '0', '1224', 'list', 'peoples', 'system/tenant/index', '0', '1', '1', NULL, TO_DATE('2021-12-14 12:31:43', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1139', '租户查询', 'system:tenant:query', '3', '1', '1138', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-14 12:31:44', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1140', '租户创建', 'system:tenant:create', '3', '2', '1138', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-14 12:31:44', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1141', '租户更新', 'system:tenant:update', '3', '3', '1138', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-14 12:31:44', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1142', '租户删除', 'system:tenant:delete', '3', '4', '1138', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-14 12:31:44', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1143', '租户导出', 'system:tenant:export', '3', '5', '1138', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-14 12:31:44', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1150', '秘钥解析', NULL, '3', '6', '1129', NULL, NULL, NULL, '0', '1', '1', '1', TO_DATE('2021-11-08 15:15:47', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1161', '退款订单', NULL, '2', '3', '1117', 'refund', 'order', 'pay/refund/index', '0', '1', '1', NULL, TO_DATE('2021-12-25 08:29:07', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1162', '退款订单查询', 'pay:refund:query', '3', '1', '1161', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-25 08:29:07', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1163', '退款订单创建', 'pay:refund:create', '3', '2', '1161', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-25 08:29:07', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1164', '退款订单更新', 'pay:refund:update', '3', '3', '1161', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-25 08:29:07', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1165', '退款订单删除', 'pay:refund:delete', '3', '4', '1161', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-25 08:29:07', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1166', '退款订单导出', 'pay:refund:export', '3', '5', '1161', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-25 08:29:07', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1173', '支付订单', NULL, '2', '2', '1117', 'order', 'pay', 'pay/order/index', '0', '1', '1', NULL, TO_DATE('2021-12-25 08:49:43', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1174', '支付订单查询', 'pay:order:query', '3', '1', '1173', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-25 08:49:43', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1175', '支付订单创建', 'pay:order:create', '3', '2', '1173', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-25 08:49:43', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1176', '支付订单更新', 'pay:order:update', '3', '3', '1173', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-25 08:49:43', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1177', '支付订单删除', 'pay:order:delete', '3', '4', '1173', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-25 08:49:43', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1178', '支付订单导出', 'pay:order:export', '3', '5', '1173', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-25 08:49:43', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1179', '商户信息', NULL, '2', '0', '1117', 'merchant', 'merchant', 'pay/merchant/index', '0', '1', '1', NULL, TO_DATE('2021-12-25 09:01:44', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1180', '支付商户信息查询', 'pay:merchant:query', '3', '1', '1179', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-25 09:01:44', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1181', '支付商户信息创建', 'pay:merchant:create', '3', '2', '1179', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-25 09:01:44', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1182', '支付商户信息更新', 'pay:merchant:update', '3', '3', '1179', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-25 09:01:44', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1183', '支付商户信息删除', NULL, '3', '4', '1179', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-25 09:01:44', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1184', '支付商户信息导出', 'pay:merchant:export', '3', '5', '1179', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-25 09:01:44', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1185', '工作流程', NULL, '1', '50', '0', '/bpm', 'tool', NULL, '0', '1', '1', '1', TO_DATE('2021-12-30 20:26:36', 'SYYYY-MM-DD HH24:MI:SS'), '103', TO_DATE('2022-05-12 18:11:34', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1186', '流程管理', NULL, '1', '10', '1185', 'manager', 'nested', NULL, '0', '1', '1', '1', TO_DATE('2021-12-30 20:28:30', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-12 18:11:34', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1187', '流程表单', NULL, '2', '0', '1186', 'form', 'form', 'bpm/form/index', '0', '1', '1', NULL, TO_DATE('2021-12-30 12:38:22', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1188', '表单查询', 'bpm:form:query', '3', '1', '1187', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-30 12:38:22', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1189', '表单创建', 'bpm:form:create', '3', '2', '1187', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-30 12:38:22', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1190', '表单更新', 'bpm:form:update', '3', '3', '1187', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-30 12:38:22', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1191', '表单删除', 'bpm:form:delete', '3', '4', '1187', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-30 12:38:22', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1192', '表单导出', 'bpm:form:export', '3', '5', '1187', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2021-12-30 12:38:22', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1193', '流程模型', NULL, '2', '5', '1186', 'model', 'guide', 'bpm/model/index', '0', '1', '1', '1', TO_DATE('2021-12-31 23:24:58', 'SYYYY-MM-DD HH24:MI:SS'), '103', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1194', '模型查询', 'bpm:model:query', '3', '1', '1193', NULL, NULL, NULL, '0', '1', '1', '1', TO_DATE('2022-01-03 19:01:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1195', '模型创建', 'bpm:model:create', '3', '2', '1193', NULL, NULL, NULL, '0', '1', '1', '1', TO_DATE('2022-01-03 19:01:24', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1196', '模型导入', 'bpm:model:import', '3', '3', '1193', NULL, NULL, NULL, '0', '1', '1', '1', TO_DATE('2022-01-03 19:01:35', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1197', '模型更新', 'bpm:model:update', '3', '4', '1193', NULL, NULL, NULL, '0', '1', '1', '1', TO_DATE('2022-01-03 19:02:28', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1198', '模型删除', 'bpm:model:delete', '3', '5', '1193', NULL, NULL, NULL, '0', '1', '1', '1', TO_DATE('2022-01-03 19:02:43', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1199', '模型发布', 'bpm:model:deploy', '3', '6', '1193', NULL, NULL, NULL, '0', '1', '1', '1', TO_DATE('2022-01-03 19:03:24', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1200', '任务管理', NULL, '1', '20', '1185', 'task', 'cascader', NULL, '0', '1', '1', '1', TO_DATE('2022-01-07 23:51:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-12 18:11:34', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1201', '我的流程', NULL, '2', '0', '1200', 'my', 'people', 'bpm/processInstance/index', '0', '1', '1', NULL, TO_DATE('2022-01-07 15:53:44', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1202', '流程实例的查询', 'bpm:process-instance:query', '3', '1', '1201', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-01-07 15:53:44', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1207', '待办任务', NULL, '2', '10', '1200', 'todo', 'eye-open', 'bpm/task/todo', '0', '1', '1', '1', TO_DATE('2022-01-08 10:33:37', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1208', '已办任务', NULL, '2', '20', '1200', 'done', 'eye', 'bpm/task/done', '0', '1', '1', '1', TO_DATE('2022-01-08 10:34:13', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1209', '用户分组', NULL, '2', '2', '1186', 'user-group', 'people', 'bpm/group/index', '0', '1', '1', NULL, TO_DATE('2022-01-14 02:14:20', 'SYYYY-MM-DD HH24:MI:SS'), '103', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1210', '用户组查询', 'bpm:user-group:query', '3', '1', '1209', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-01-14 02:14:20', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1211', '用户组创建', 'bpm:user-group:create', '3', '2', '1209', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-01-14 02:14:20', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1212', '用户组更新', 'bpm:user-group:update', '3', '3', '1209', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-01-14 02:14:20', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1213', '用户组删除', 'bpm:user-group:delete', '3', '4', '1209', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-01-14 02:14:20', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1215', '流程定义查询', 'bpm:process-definition:query', '3', '10', '1193', NULL, NULL, NULL, '0', '1', '1', '1', TO_DATE('2022-01-23 00:21:43', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1216', '流程任务分配规则查询', 'bpm:task-assign-rule:query', '3', '20', '1193', NULL, NULL, NULL, '0', '1', '1', '1', TO_DATE('2022-01-23 00:26:53', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1217', '流程任务分配规则创建', 'bpm:task-assign-rule:create', '3', '21', '1193', NULL, NULL, NULL, '0', '1', '1', '1', TO_DATE('2022-01-23 00:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1218', '流程任务分配规则更新', 'bpm:task-assign-rule:update', '3', '22', '1193', NULL, NULL, NULL, '0', '1', '1', '1', TO_DATE('2022-01-23 00:28:41', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1219', '流程实例的创建', 'bpm:process-instance:create', '3', '2', '1201', NULL, NULL, NULL, '0', '1', '1', '1', TO_DATE('2022-01-23 00:36:15', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1220', '流程实例的取消', 'bpm:process-instance:cancel', '3', '3', '1201', NULL, NULL, NULL, '0', '1', '1', '1', TO_DATE('2022-01-23 00:36:33', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1221', '流程任务的查询', 'bpm:task:query', '3', '1', '1207', NULL, NULL, NULL, '0', '1', '1', '1', TO_DATE('2022-01-23 00:38:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1222', '流程任务的更新', 'bpm:task:update', '3', '2', '1207', NULL, NULL, NULL, '0', '1', '1', '1', TO_DATE('2022-01-23 00:39:24', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1224', '租户管理', NULL, '2', '0', '1', 'tenant', 'peoples', NULL, '0', '1', '1', '1', TO_DATE('2022-02-20 01:41:13', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-12 18:11:34', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1225', '租户套餐', NULL, '2', '0', '1224', 'package', 'eye', 'system/tenantPackage/index', '0', '1', '1', NULL, TO_DATE('2022-02-19 17:44:06', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-21 01:21:25', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1226', '租户套餐查询', 'system:tenant-package:query', '3', '1', '1225', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-02-19 17:44:06', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1227', '租户套餐创建', 'system:tenant-package:create', '3', '2', '1225', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-02-19 17:44:06', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1228', '租户套餐更新', 'system:tenant-package:update', '3', '3', '1225', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-02-19 17:44:06', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1229', '租户套餐删除', 'system:tenant-package:delete', '3', '4', '1225', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-02-19 17:44:06', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1237', '文件配置', NULL, '2', '0', '1243', 'file-config', 'config', 'infra/fileConfig/index', '0', '1', '1', NULL, TO_DATE('2022-03-15 14:35:28', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1238', '文件配置查询', 'infra:file-config:query', '3', '1', '1237', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-03-15 14:35:28', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1239', '文件配置创建', 'infra:file-config:create', '3', '2', '1237', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-03-15 14:35:28', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1240', '文件配置更新', 'infra:file-config:update', '3', '3', '1237', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-03-15 14:35:28', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1241', '文件配置删除', 'infra:file-config:delete', '3', '4', '1237', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-03-15 14:35:28', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1242', '文件配置导出', 'infra:file-config:export', '3', '5', '1237', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-03-15 14:35:28', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1243', '文件管理', NULL, '2', '5', '2', 'file', 'download', NULL, '0', '1', '1', '1', TO_DATE('2022-03-16 23:47:40', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-12 18:11:34', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1247', '敏感词管理', NULL, '2', '13', '1', 'sensitive-word', 'education', 'system/sensitiveWord/index', '0', '1', '1', NULL, TO_DATE('2022-04-07 16:55:03', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1248', '敏感词查询', 'system:sensitive-word:query', '3', '1', '1247', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-04-07 16:55:03', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1249', '敏感词创建', 'system:sensitive-word:create', '3', '2', '1247', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-04-07 16:55:03', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1250', '敏感词更新', 'system:sensitive-word:update', '3', '3', '1247', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-04-07 16:55:03', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1251', '敏感词删除', 'system:sensitive-word:delete', '3', '4', '1247', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-04-07 16:55:03', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1252', '敏感词导出', 'system:sensitive-word:export', '3', '5', '1247', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-04-07 16:55:03', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-20 17:03:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1254', '作者动态', NULL, '1', '0', '0', 'https://www.iocoder.cn', 'people', NULL, '0', '1', '1', '1', TO_DATE('2022-04-23 01:03:15', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-12 18:11:34', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1255', '数据源配置', NULL, '2', '1', '2', 'data-source-config', 'rate', 'infra/dataSourceConfig/index', '0', '1', '1', NULL, TO_DATE('2022-04-27 14:37:32', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-27 22:42:06', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1256', '数据源配置查询', 'infra:data-source-config:query', '3', '1', '1255', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-04-27 14:37:32', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-27 14:37:32', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1257', '数据源配置创建', 'infra:data-source-config:create', '3', '2', '1255', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-04-27 14:37:32', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-27 14:37:32', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1258', '数据源配置更新', 'infra:data-source-config:update', '3', '3', '1255', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-04-27 14:37:32', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-27 14:37:32', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1259', '数据源配置删除', 'infra:data-source-config:delete', '3', '4', '1255', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-04-27 14:37:32', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-27 14:37:32', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1260', '数据源配置导出', 'infra:data-source-config:export', '3', '5', '1255', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-04-27 14:37:32', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-04-27 14:37:32', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1261', 'OAuth 2.0', NULL, '1', '10', '1', 'oauth2', 'people', NULL, '0', '1', '1', '1', TO_DATE('2022-05-09 23:38:17', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-12 18:11:34', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1263', '应用管理', NULL, '2', '0', '1261', 'oauth2/application', 'tool', 'system/oauth2/client/index', '0', '1', '1', NULL, TO_DATE('2022-05-10 16:26:33', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-11 23:31:36', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1264', '客户端查询', 'system:oauth2-client:query', '3', '1', '1263', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-05-10 16:26:33', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-11 00:31:06', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1265', '客户端创建', 'system:oauth2-client:create', '3', '2', '1263', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-05-10 16:26:33', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-11 00:31:23', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1266', '客户端更新', 'system:oauth2-client:update', '3', '3', '1263', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-05-10 16:26:33', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-11 00:31:28', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_MENU" ("ID", "NAME", "PERMISSION", "TYPE", "SORT", "PARENT_ID", "PATH", "ICON", "COMPONENT", "STATUS", "VISIBLE", "KEEP_ALIVE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1267', '客户端删除', 'system:oauth2-client:delete', '3', '4', '1263', NULL, NULL, NULL, '0', '1', '1', NULL, TO_DATE('2022-05-10 16:26:33', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-11 00:31:33', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_NOTICE
+-- ----------------------------
+DROP TABLE "SYSTEM_NOTICE";
+CREATE TABLE "SYSTEM_NOTICE" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "TITLE" NVARCHAR2(50),
+  "CONTENT" NCLOB NOT NULL,
+  "NOTICE_TYPE" NUMBER(4,0) NOT NULL,
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_NOTICE"."ID" IS '公告ID';
+COMMENT ON COLUMN "SYSTEM_NOTICE"."TITLE" IS '公告标题';
+COMMENT ON COLUMN "SYSTEM_NOTICE"."CONTENT" IS '公告内容';
+COMMENT ON COLUMN "SYSTEM_NOTICE"."NOTICE_TYPE" IS '公告类型(1通知 2公告)';
+COMMENT ON COLUMN "SYSTEM_NOTICE"."STATUS" IS '公告状态(0正常 1关闭)';
+COMMENT ON COLUMN "SYSTEM_NOTICE"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_NOTICE"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_NOTICE"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_NOTICE"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_NOTICE"."TENANT_ID" IS '租户编号';
+COMMENT ON COLUMN "SYSTEM_NOTICE"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_NOTICE" IS '通知公告表';
+
+-- ----------------------------
+-- Records of SYSTEM_NOTICE
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_OAUTH2_ACCESS_TOKEN
+-- ----------------------------
+DROP TABLE "SYSTEM_OAUTH2_ACCESS_TOKEN";
+CREATE TABLE "SYSTEM_OAUTH2_ACCESS_TOKEN" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "USER_ID" NUMBER(20,0) NOT NULL,
+  "ACCESS_TOKEN" NVARCHAR2(255) NOT NULL,
+  "REFRESH_TOKEN" NVARCHAR2(32) NOT NULL,
+  "USER_TYPE" NUMBER(4,0) NOT NULL,
+  "CLIENT_ID" NVARCHAR2(255) NOT NULL,
+  "EXPIRES_TIME" DATE NOT NULL,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(4,0) DEFAULT 0 NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_OAUTH2_ACCESS_TOKEN"."ID" IS '编号';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_ACCESS_TOKEN"."USER_ID" IS '用户编号';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_ACCESS_TOKEN"."ACCESS_TOKEN" IS '访问令牌';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_ACCESS_TOKEN"."REFRESH_TOKEN" IS '刷新令牌';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_ACCESS_TOKEN"."USER_TYPE" IS '用户类型';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_ACCESS_TOKEN"."CLIENT_ID" IS '客户端编号';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_ACCESS_TOKEN"."EXPIRES_TIME" IS '过期时间';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_ACCESS_TOKEN"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_ACCESS_TOKEN"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_ACCESS_TOKEN"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_ACCESS_TOKEN"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_ACCESS_TOKEN"."DELETED" IS '是否删除';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_ACCESS_TOKEN"."TENANT_ID" IS '租户编号';
+COMMENT ON TABLE "SYSTEM_OAUTH2_ACCESS_TOKEN" IS '刷新令牌';
+
+-- ----------------------------
+-- Records of SYSTEM_OAUTH2_ACCESS_TOKEN
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_OAUTH2_CLIENT
+-- ----------------------------
+DROP TABLE "SYSTEM_OAUTH2_CLIENT";
+CREATE TABLE "SYSTEM_OAUTH2_CLIENT" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "CLIENT_ID" NVARCHAR2(255) NOT NULL,
+  "SECRET" NVARCHAR2(255) NOT NULL,
+  "NAME" NVARCHAR2(255) NOT NULL,
+  "LOGO" NVARCHAR2(255) NOT NULL,
+  "DESCRIPTION" NVARCHAR2(255),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "ACCESS_TOKEN_VALIDITY_SECONDS" NUMBER(11,0) NOT NULL,
+  "REFRESH_TOKEN_VALIDITY_SECONDS" NUMBER(11,0) NOT NULL,
+  "REDIRECT_URIS" NVARCHAR2(255) NOT NULL,
+  "AUTO_APPROVE" VARCHAR2(1 BYTE) NOT NULL,
+  "AUTHORIZED_GRANT_TYPES" NVARCHAR2(255) NOT NULL,
+  "SCOPES" NVARCHAR2(255),
+  "AUTHORITIES" NVARCHAR2(255),
+  "RESOURCE_IDS" NVARCHAR2(255),
+  "ADDITIONAL_INFORMATION" NCLOB,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(4,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."ID" IS '编号';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."CLIENT_ID" IS '客户端编号';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."SECRET" IS '客户端密钥';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."NAME" IS '应用名';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."LOGO" IS '应用图标';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."DESCRIPTION" IS '应用描述';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."STATUS" IS '状态';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."ACCESS_TOKEN_VALIDITY_SECONDS" IS '访问令牌的有效期';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."REFRESH_TOKEN_VALIDITY_SECONDS" IS '刷新令牌的有效期';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."REDIRECT_URIS" IS '可重定向的 URI 地址';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."AUTO_APPROVE" IS '是否自动授权';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."AUTHORIZED_GRANT_TYPES" IS '授权类型';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."SCOPES" IS '授权范围';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."AUTHORITIES" IS '权限';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."RESOURCE_IDS" IS '资源';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."ADDITIONAL_INFORMATION" IS '附加信息';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_CLIENT"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_OAUTH2_CLIENT" IS 'OAuth2 客户端表';
+
+-- ----------------------------
+-- Records of SYSTEM_OAUTH2_CLIENT
+-- ----------------------------
+INSERT INTO "SYSTEM_OAUTH2_CLIENT" ("ID", "CLIENT_ID", "SECRET", "NAME", "LOGO", "DESCRIPTION", "STATUS", "ACCESS_TOKEN_VALIDITY_SECONDS", "REFRESH_TOKEN_VALIDITY_SECONDS", "REDIRECT_URIS", "AUTO_APPROVE", "AUTHORIZED_GRANT_TYPES", "SCOPES", "AUTHORITIES", "RESOURCE_IDS", "ADDITIONAL_INFORMATION", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1', 'default', 'admin123', '芋道源码', 'http://test.yudao.iocoder.cn/a5e2e244368878a366b516805a4aabf1.png', '我是描述', '0', '180', '8640', '["https://www.iocoder.cn","https://doc.iocoder.cn"]', '1', '["password","authorization_code","implicit","refresh_token"]', '["user_info"]', '["system:user:query"]', '[]', '{}', '1', TO_DATE('2022-05-11 21:47:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-12 01:00:20', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_OAUTH2_CLIENT" ("ID", "CLIENT_ID", "SECRET", "NAME", "LOGO", "DESCRIPTION", "STATUS", "ACCESS_TOKEN_VALIDITY_SECONDS", "REFRESH_TOKEN_VALIDITY_SECONDS", "REDIRECT_URIS", "AUTO_APPROVE", "AUTHORIZED_GRANT_TYPES", "SCOPES", "AUTHORITIES", "RESOURCE_IDS", "ADDITIONAL_INFORMATION", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('40', 'test', 'test2', 'biubiu', 'http://test.yudao.iocoder.cn/277a899d573723f1fcdfb57340f00379.png', NULL, '0', '999999999', '43200', '["https://www.iocoder.cn"]', '1', '["password","authorization_code","implicit"]', '[]', '[]', '[]', '{}', '1', TO_DATE('2022-05-12 00:28:20', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-13 09:41:21', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_OAUTH2_REFRESH_TOKEN
+-- ----------------------------
+DROP TABLE "SYSTEM_OAUTH2_REFRESH_TOKEN";
+CREATE TABLE "SYSTEM_OAUTH2_REFRESH_TOKEN" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "USER_ID" NUMBER(20,0) NOT NULL,
+  "REFRESH_TOKEN" NVARCHAR2(32) NOT NULL,
+  "USER_TYPE" NUMBER(4,0) NOT NULL,
+  "CLIENT_ID" NVARCHAR2(255) NOT NULL,
+  "EXPIRES_TIME" DATE NOT NULL,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(4,0) DEFAULT 0 NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_OAUTH2_REFRESH_TOKEN"."ID" IS '编号';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_REFRESH_TOKEN"."USER_ID" IS '用户编号';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_REFRESH_TOKEN"."REFRESH_TOKEN" IS '刷新令牌';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_REFRESH_TOKEN"."USER_TYPE" IS '用户类型';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_REFRESH_TOKEN"."CLIENT_ID" IS '客户端编号';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_REFRESH_TOKEN"."EXPIRES_TIME" IS '过期时间';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_REFRESH_TOKEN"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_REFRESH_TOKEN"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_REFRESH_TOKEN"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_REFRESH_TOKEN"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_REFRESH_TOKEN"."DELETED" IS '是否删除';
+COMMENT ON COLUMN "SYSTEM_OAUTH2_REFRESH_TOKEN"."TENANT_ID" IS '租户编号';
+COMMENT ON TABLE "SYSTEM_OAUTH2_REFRESH_TOKEN" IS '刷新令牌';
+
+-- ----------------------------
+-- Records of SYSTEM_OAUTH2_REFRESH_TOKEN
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_OPERATE_LOG
+-- ----------------------------
+DROP TABLE "SYSTEM_OPERATE_LOG";
+CREATE TABLE "SYSTEM_OPERATE_LOG" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "TRACE_ID" NVARCHAR2(64),
+  "USER_ID" NUMBER(20,0) NOT NULL,
+  "USER_TYPE" NUMBER(4,0) NOT NULL,
+  "MODULE" NVARCHAR2(50),
+  "NAME" NVARCHAR2(50),
+  "TYPE" NUMBER(20,0) NOT NULL,
+  "CONTENT" NCLOB,
+  "EXTS" NVARCHAR2(512),
+  "REQUEST_METHOD" NVARCHAR2(16),
+  "REQUEST_URL" NVARCHAR2(255),
+  "USER_IP" NVARCHAR2(50),
+  "USER_AGENT" NVARCHAR2(200),
+  "JAVA_METHOD" NVARCHAR2(512),
+  "JAVA_METHOD_ARGS" NCLOB,
+  "START_TIME" DATE NOT NULL,
+  "DURATION" NUMBER(11,0) NOT NULL,
+  "RESULT_CODE" NUMBER(11,0) NOT NULL,
+  "RESULT_MSG" NVARCHAR2(512),
+  "RESULT_DATA" NCLOB,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."ID" IS '日志主键';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."TRACE_ID" IS '链路追踪编号';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."USER_ID" IS '用户编号';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."USER_TYPE" IS '用户类型';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."MODULE" IS '模块标题';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."NAME" IS '操作名';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."TYPE" IS '操作分类';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."CONTENT" IS '操作内容';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."EXTS" IS '拓展字段';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."REQUEST_METHOD" IS '请求方法名';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."REQUEST_URL" IS '请求地址';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."USER_IP" IS '用户 IP';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."USER_AGENT" IS '浏览器 UA';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."JAVA_METHOD" IS 'Java 方法名';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."JAVA_METHOD_ARGS" IS 'Java 方法的参数';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."START_TIME" IS '操作时间';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."DURATION" IS '执行时长';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."RESULT_CODE" IS '结果码';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."RESULT_MSG" IS '结果提示';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."RESULT_DATA" IS '结果数据';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."TENANT_ID" IS '租户编号';
+COMMENT ON COLUMN "SYSTEM_OPERATE_LOG"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_OPERATE_LOG" IS '操作日志记录';
+
+-- ----------------------------
+-- Records of SYSTEM_OPERATE_LOG
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_POST
+-- ----------------------------
+DROP TABLE "SYSTEM_POST";
+CREATE TABLE "SYSTEM_POST" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "CODE" NVARCHAR2(64),
+  "NAME" NVARCHAR2(50),
+  "SORT" NUMBER(11,0) NOT NULL,
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "REMARK" NVARCHAR2(500),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_POST"."ID" IS '岗位ID';
+COMMENT ON COLUMN "SYSTEM_POST"."CODE" IS '岗位编码';
+COMMENT ON COLUMN "SYSTEM_POST"."NAME" IS '岗位名称';
+COMMENT ON COLUMN "SYSTEM_POST"."SORT" IS '显示顺序';
+COMMENT ON COLUMN "SYSTEM_POST"."STATUS" IS '状态(0正常 1停用)';
+COMMENT ON COLUMN "SYSTEM_POST"."REMARK" IS '备注';
+COMMENT ON COLUMN "SYSTEM_POST"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_POST"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_POST"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_POST"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_POST"."TENANT_ID" IS '租户编号';
+COMMENT ON COLUMN "SYSTEM_POST"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_POST" IS '岗位信息表';
+
+-- ----------------------------
+-- Records of SYSTEM_POST
+-- ----------------------------
+INSERT INTO "SYSTEM_POST" ("ID", "CODE", "NAME", "SORT", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1', 'ceo', '董事长', '1', '0', NULL, 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-04 17:50:40', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_POST" ("ID", "CODE", "NAME", "SORT", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('2', 'se', '项目经理', '2', '0', NULL, 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-12-12 10:47:47', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_POST" ("ID", "CODE", "NAME", "SORT", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('3', 'hr', '人力资源', '3', '0', NULL, 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2021-12-12 10:47:50', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_POST" ("ID", "CODE", "NAME", "SORT", "STATUS", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('4', 'user', '普通员工', '4', '0', NULL, 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2021-12-12 10:47:51', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_ROLE
+-- ----------------------------
+DROP TABLE "SYSTEM_ROLE";
+CREATE TABLE "SYSTEM_ROLE" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "NAME" NVARCHAR2(30),
+  "CODE" NVARCHAR2(100),
+  "SORT" NUMBER(11,0) NOT NULL,
+  "DATA_SCOPE" NUMBER(4,0) NOT NULL,
+  "DATA_SCOPE_DEPT_IDS" NVARCHAR2(500),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "TYPE" NUMBER(4,0) NOT NULL,
+  "REMARK" NVARCHAR2(500),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_ROLE"."ID" IS '角色ID';
+COMMENT ON COLUMN "SYSTEM_ROLE"."NAME" IS '角色名称';
+COMMENT ON COLUMN "SYSTEM_ROLE"."CODE" IS '角色权限字符串';
+COMMENT ON COLUMN "SYSTEM_ROLE"."SORT" IS '显示顺序';
+COMMENT ON COLUMN "SYSTEM_ROLE"."DATA_SCOPE" IS '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)';
+COMMENT ON COLUMN "SYSTEM_ROLE"."DATA_SCOPE_DEPT_IDS" IS '数据范围(指定部门数组)';
+COMMENT ON COLUMN "SYSTEM_ROLE"."STATUS" IS '角色状态(0正常 1停用)';
+COMMENT ON COLUMN "SYSTEM_ROLE"."TYPE" IS '角色类型';
+COMMENT ON COLUMN "SYSTEM_ROLE"."REMARK" IS '备注';
+COMMENT ON COLUMN "SYSTEM_ROLE"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_ROLE"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_ROLE"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_ROLE"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_ROLE"."TENANT_ID" IS '租户编号';
+COMMENT ON COLUMN "SYSTEM_ROLE"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_ROLE" IS '角色信息表';
+
+-- ----------------------------
+-- Records of SYSTEM_ROLE
+-- ----------------------------
+INSERT INTO "SYSTEM_ROLE" ("ID", "NAME", "CODE", "SORT", "DATA_SCOPE", "DATA_SCOPE_DEPT_IDS", "STATUS", "TYPE", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1', '超级管理员', 'super_admin', '1', '1', NULL, '0', '1', '超级管理员', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-22 05:08:21', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE" ("ID", "NAME", "CODE", "SORT", "DATA_SCOPE", "DATA_SCOPE_DEPT_IDS", "STATUS", "TYPE", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('2', '普通角色', 'common', '2', '2', NULL, '0', '1', '普通角色', 'admin', TO_DATE('2021-01-05 17:03:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-22 05:08:20', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE" ("ID", "NAME", "CODE", "SORT", "DATA_SCOPE", "DATA_SCOPE_DEPT_IDS", "STATUS", "TYPE", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('101', '测试账号', 'test', '0', '1', '[]', '0', '2', '132', NULL, TO_DATE('2021-01-06 13:49:35', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 22:00:41', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE" ("ID", "NAME", "CODE", "SORT", "DATA_SCOPE", "DATA_SCOPE_DEPT_IDS", "STATUS", "TYPE", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('109', '租户管理员', 'tenant_admin', '0', '1', NULL, '0', '1', '系统自动生成', '1', TO_DATE('2022-02-22 00:56:14', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 00:56:14', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_ROLE" ("ID", "NAME", "CODE", "SORT", "DATA_SCOPE", "DATA_SCOPE_DEPT_IDS", "STATUS", "TYPE", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('110', '测试角色', 'test', '0', '1', '[]', '0', '2', '嘿嘿', '110', TO_DATE('2022-02-23 00:14:34', 'SYYYY-MM-DD HH24:MI:SS'), '110', TO_DATE('2022-02-23 13:14:58', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_ROLE" ("ID", "NAME", "CODE", "SORT", "DATA_SCOPE", "DATA_SCOPE_DEPT_IDS", "STATUS", "TYPE", "REMARK", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('111', '租户管理员', 'tenant_admin', '0', '1', NULL, '0', '1', '系统自动生成', '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_ROLE_MENU
+-- ----------------------------
+DROP TABLE "SYSTEM_ROLE_MENU";
+CREATE TABLE "SYSTEM_ROLE_MENU" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "ROLE_ID" NUMBER(20,0) NOT NULL,
+  "MENU_ID" NUMBER(20,0) NOT NULL,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_ROLE_MENU"."ID" IS '自增编号';
+COMMENT ON COLUMN "SYSTEM_ROLE_MENU"."ROLE_ID" IS '角色ID';
+COMMENT ON COLUMN "SYSTEM_ROLE_MENU"."MENU_ID" IS '菜单ID';
+COMMENT ON COLUMN "SYSTEM_ROLE_MENU"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_ROLE_MENU"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_ROLE_MENU"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_ROLE_MENU"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_ROLE_MENU"."TENANT_ID" IS '租户编号';
+COMMENT ON COLUMN "SYSTEM_ROLE_MENU"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_ROLE_MENU" IS '角色和菜单关联表';
+
+-- ----------------------------
+-- Records of SYSTEM_ROLE_MENU
+-- ----------------------------
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('434', '2', '1', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('454', '2', '1093', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('455', '2', '1094', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('460', '2', '1100', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('467', '2', '1107', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('470', '2', '1110', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('476', '2', '1117', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('477', '2', '100', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('478', '2', '101', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('479', '2', '102', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('480', '2', '1126', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('481', '2', '103', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('483', '2', '104', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('485', '2', '105', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('488', '2', '107', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('490', '2', '108', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('492', '2', '109', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('498', '2', '1138', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('523', '2', '1224', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('524', '2', '1225', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('541', '2', '500', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('543', '2', '501', '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:09:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('675', '2', '2', '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('689', '2', '1077', '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('690', '2', '1078', '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('692', '2', '1083', '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('693', '2', '1084', '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('699', '2', '1090', '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('702', '2', '1116', '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('703', '2', '106', '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('704', '2', '110', '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('705', '2', '111', '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('706', '2', '112', '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('707', '2', '113', '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 13:16:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('263', '109', '1', '1', TO_DATE('2022-02-22 00:56:14', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 00:56:14', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1486', '109', '103', '1', TO_DATE('2022-02-23 19:32:14', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 19:32:14', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1487', '109', '104', '1', TO_DATE('2022-02-23 19:32:14', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 19:32:14', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1489', '1', '1', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1490', '1', '2', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1494', '1', '1077', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1495', '1', '1078', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1496', '1', '1083', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1497', '1', '1084', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1498', '1', '1090', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1499', '1', '1093', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1500', '1', '1094', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1501', '1', '1100', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1502', '1', '1107', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1503', '1', '1110', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1504', '1', '1116', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1505', '1', '1117', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1506', '1', '100', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1507', '1', '101', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1508', '1', '102', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1509', '1', '1126', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1510', '1', '103', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1511', '1', '104', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1512', '1', '105', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1513', '1', '106', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1514', '1', '107', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1515', '1', '108', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1516', '1', '109', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1517', '1', '110', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1518', '1', '111', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1519', '1', '112', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1520', '1', '113', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1522', '1', '1138', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1525', '1', '1224', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1526', '1', '1225', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1527', '1', '500', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1528', '1', '501', '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:03:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1529', '109', '1024', '1', TO_DATE('2022-02-23 20:30:14', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:30:14', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1530', '109', '1025', '1', TO_DATE('2022-02-23 20:30:14', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:30:14', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1536', '109', '1017', '1', TO_DATE('2022-02-23 20:30:14', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:30:14', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1537', '109', '1018', '1', TO_DATE('2022-02-23 20:30:14', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:30:14', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1538', '109', '1019', '1', TO_DATE('2022-02-23 20:30:14', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:30:14', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1539', '109', '1020', '1', TO_DATE('2022-02-23 20:30:14', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:30:14', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1540', '109', '1021', '1', TO_DATE('2022-02-23 20:30:14', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:30:14', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1541', '109', '1022', '1', TO_DATE('2022-02-23 20:30:14', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:30:14', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1542', '109', '1023', '1', TO_DATE('2022-02-23 20:30:14', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 20:30:14', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1576', '111', '1024', '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1577', '111', '1025', '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1578', '111', '1', '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1584', '111', '103', '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1585', '111', '104', '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1587', '111', '1017', '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1588', '111', '1018', '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1589', '111', '1019', '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1590', '111', '1020', '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1591', '111', '1021', '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1592', '111', '1022', '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1593', '111', '1023', '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1594', '109', '102', '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1595', '109', '1013', '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1596', '109', '1014', '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1597', '109', '1015', '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1598', '109', '1016', '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1599', '111', '102', '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1600', '111', '1013', '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1601', '111', '1014', '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1602', '111', '1015', '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1603', '111', '1016', '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1604', '101', '1216', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1605', '101', '1217', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1606', '101', '1218', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1607', '101', '1219', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1608', '101', '1220', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1609', '101', '1221', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1610', '101', '5', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1611', '101', '1222', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1612', '101', '1118', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1613', '101', '1119', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1614', '101', '1120', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1615', '101', '1185', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1616', '101', '1186', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1617', '101', '1187', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1618', '101', '1188', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1619', '101', '1189', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1620', '101', '1190', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1621', '101', '1191', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1622', '101', '1192', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1623', '101', '1193', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1624', '101', '1194', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1625', '101', '1195', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1626', '101', '1196', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1627', '101', '1197', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1628', '101', '1198', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1629', '101', '1199', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1630', '101', '1200', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1631', '101', '1201', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1632', '101', '1202', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1633', '101', '1207', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1634', '101', '1208', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1635', '101', '1209', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1636', '101', '1210', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1637', '101', '1211', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1638', '101', '1212', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1639', '101', '1213', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1640', '101', '1215', '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:45:52', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_ROLE_MENU" ("ID", "ROLE_ID", "MENU_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1296', '110', '1', '110', TO_DATE('2022-02-23 00:23:55', 'SYYYY-MM-DD HH24:MI:SS'), '110', TO_DATE('2022-02-23 00:23:55', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_SENSITIVE_WORD
+-- ----------------------------
+DROP TABLE "SYSTEM_SENSITIVE_WORD";
+CREATE TABLE "SYSTEM_SENSITIVE_WORD" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "NAME" NVARCHAR2(255) NOT NULL,
+  "DESCRIPTION" NVARCHAR2(512),
+  "TAGS" NVARCHAR2(255),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_SENSITIVE_WORD"."ID" IS '编号';
+COMMENT ON COLUMN "SYSTEM_SENSITIVE_WORD"."NAME" IS '敏感词';
+COMMENT ON COLUMN "SYSTEM_SENSITIVE_WORD"."DESCRIPTION" IS '描述';
+COMMENT ON COLUMN "SYSTEM_SENSITIVE_WORD"."TAGS" IS '标签数组';
+COMMENT ON COLUMN "SYSTEM_SENSITIVE_WORD"."STATUS" IS '状态';
+COMMENT ON COLUMN "SYSTEM_SENSITIVE_WORD"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_SENSITIVE_WORD"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_SENSITIVE_WORD"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_SENSITIVE_WORD"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_SENSITIVE_WORD"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_SENSITIVE_WORD" IS '敏感词';
+
+-- ----------------------------
+-- Records of SYSTEM_SENSITIVE_WORD
+-- ----------------------------
+INSERT INTO "SYSTEM_SENSITIVE_WORD" ("ID", "NAME", "DESCRIPTION", "TAGS", "STATUS", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1', '测试', '啊哈哈', '论坛,吃瓜', '0', '1', TO_DATE('2022-04-08 19:51:45', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-08 12:10:45', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_SENSITIVE_WORD" ("ID", "NAME", "DESCRIPTION", "TAGS", "STATUS", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('2', '测试', '哈哈', '论坛,吃瓜,蔬菜', '0', '1', TO_DATE('2022-04-08 20:10:27', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-04-08 13:13:52', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_SMS_CHANNEL
+-- ----------------------------
+DROP TABLE "SYSTEM_SMS_CHANNEL";
+CREATE TABLE "SYSTEM_SMS_CHANNEL" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "SIGNATURE" NVARCHAR2(10),
+  "CODE" NVARCHAR2(63),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "REMARK" NVARCHAR2(255),
+  "API_KEY" NVARCHAR2(128),
+  "API_SECRET" NVARCHAR2(128),
+  "CALLBACK_URL" NVARCHAR2(255),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_SMS_CHANNEL"."ID" IS '编号';
+COMMENT ON COLUMN "SYSTEM_SMS_CHANNEL"."SIGNATURE" IS '短信签名';
+COMMENT ON COLUMN "SYSTEM_SMS_CHANNEL"."CODE" IS '渠道编码';
+COMMENT ON COLUMN "SYSTEM_SMS_CHANNEL"."STATUS" IS '开启状态';
+COMMENT ON COLUMN "SYSTEM_SMS_CHANNEL"."REMARK" IS '备注';
+COMMENT ON COLUMN "SYSTEM_SMS_CHANNEL"."API_KEY" IS '短信 API 的账号';
+COMMENT ON COLUMN "SYSTEM_SMS_CHANNEL"."API_SECRET" IS '短信 API 的秘钥';
+COMMENT ON COLUMN "SYSTEM_SMS_CHANNEL"."CALLBACK_URL" IS '短信发送回调 URL';
+COMMENT ON COLUMN "SYSTEM_SMS_CHANNEL"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_SMS_CHANNEL"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_SMS_CHANNEL"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_SMS_CHANNEL"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_SMS_CHANNEL"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_SMS_CHANNEL" IS '短信渠道';
+
+-- ----------------------------
+-- Records of SYSTEM_SMS_CHANNEL
+-- ----------------------------
+INSERT INTO "SYSTEM_SMS_CHANNEL" ("ID", "SIGNATURE", "CODE", "STATUS", "REMARK", "API_KEY", "API_SECRET", "CALLBACK_URL", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1', '芋道', 'YUN_PIAN', '0', '呵呵呵哒', '1555a14277cb8a608cf45a9e6a80d510', NULL, 'http://vdwapu.natappfree.cc/admin-api/system/sms/callback/yunpian', NULL, TO_DATE('2021-03-31 06:12:20', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 16:48:44', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_SMS_CHANNEL" ("ID", "SIGNATURE", "CODE", "STATUS", "REMARK", "API_KEY", "API_SECRET", "CALLBACK_URL", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('2', 'Ballcat', 'ALIYUN', '0', '啦啦啦', 'LTAI5tCnKso2uG3kJ5gRav88', 'fGJ5SNXL7P1NHNRmJ7DJaMJGPyE55C', NULL, NULL, TO_DATE('2021-03-31 11:53:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-04-14 00:08:37', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_SMS_CHANNEL" ("ID", "SIGNATURE", "CODE", "STATUS", "REMARK", "API_KEY", "API_SECRET", "CALLBACK_URL", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('4', '测试渠道', 'DEBUG_DING_TALK', '0', '123', '696b5d8ead48071237e4aa5861ff08dbadb2b4ded1c688a7b7c9afc615579859', 'SEC5c4e5ff888bc8a9923ae47f59e7ccd30af1f14d93c55b4e2c9cb094e35aeed67', NULL, '1', TO_DATE('2021-04-13 00:23:14', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-04-14 00:07:10', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_SMS_CODE
+-- ----------------------------
+DROP TABLE "SYSTEM_SMS_CODE";
+CREATE TABLE "SYSTEM_SMS_CODE" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "MOBILE" NVARCHAR2(11),
+  "CODE" NVARCHAR2(6),
+  "CREATE_IP" NVARCHAR2(15),
+  "SCENE" NUMBER(4,0) NOT NULL,
+  "TODAY_INDEX" NUMBER(4,0) NOT NULL,
+  "USED" NUMBER(4,0) NOT NULL,
+  "USED_TIME" DATE,
+  "USED_IP" NVARCHAR2(255),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_SMS_CODE"."ID" IS '编号';
+COMMENT ON COLUMN "SYSTEM_SMS_CODE"."MOBILE" IS '手机号';
+COMMENT ON COLUMN "SYSTEM_SMS_CODE"."CODE" IS '验证码';
+COMMENT ON COLUMN "SYSTEM_SMS_CODE"."CREATE_IP" IS '创建 IP';
+COMMENT ON COLUMN "SYSTEM_SMS_CODE"."SCENE" IS '发送场景';
+COMMENT ON COLUMN "SYSTEM_SMS_CODE"."TODAY_INDEX" IS '今日发送的第几条';
+COMMENT ON COLUMN "SYSTEM_SMS_CODE"."USED" IS '是否使用';
+COMMENT ON COLUMN "SYSTEM_SMS_CODE"."USED_TIME" IS '使用时间';
+COMMENT ON COLUMN "SYSTEM_SMS_CODE"."USED_IP" IS '使用 IP';
+COMMENT ON COLUMN "SYSTEM_SMS_CODE"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_SMS_CODE"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_SMS_CODE"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_SMS_CODE"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_SMS_CODE"."TENANT_ID" IS '租户编号';
+COMMENT ON COLUMN "SYSTEM_SMS_CODE"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_SMS_CODE" IS '手机验证码';
+
+-- ----------------------------
+-- Records of SYSTEM_SMS_CODE
+-- ----------------------------
+INSERT INTO "SYSTEM_SMS_CODE" ("ID", "MOBILE", "CODE", "CREATE_IP", "SCENE", "TODAY_INDEX", "USED", "USED_TIME", "USED_IP", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('0', '15601691399', '9999', '127.0.0.1', '1', '1', '0', NULL, NULL, NULL, TO_DATE('2022-05-01 17:52:58', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-05-01 17:52:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_SMS_LOG
+-- ----------------------------
+DROP TABLE "SYSTEM_SMS_LOG";
+CREATE TABLE "SYSTEM_SMS_LOG" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "CHANNEL_ID" NUMBER(20,0) NOT NULL,
+  "CHANNEL_CODE" NVARCHAR2(63),
+  "TEMPLATE_ID" NUMBER(20,0) NOT NULL,
+  "TEMPLATE_CODE" NVARCHAR2(63),
+  "TEMPLATE_TYPE" NUMBER(4,0) NOT NULL,
+  "TEMPLATE_CONTENT" NVARCHAR2(255),
+  "TEMPLATE_PARAMS" NVARCHAR2(255),
+  "API_TEMPLATE_ID" NVARCHAR2(63),
+  "MOBILE" NVARCHAR2(11),
+  "USER_ID" NUMBER(20,0),
+  "USER_TYPE" NUMBER(4,0),
+  "SEND_STATUS" NUMBER(4,0) NOT NULL,
+  "SEND_TIME" DATE,
+  "SEND_CODE" NUMBER(11,0),
+  "SEND_MSG" NVARCHAR2(255),
+  "API_SEND_CODE" NVARCHAR2(63),
+  "API_SEND_MSG" NVARCHAR2(255),
+  "API_REQUEST_ID" NVARCHAR2(255),
+  "API_SERIAL_NO" NVARCHAR2(255),
+  "RECEIVE_STATUS" NUMBER(4,0) NOT NULL,
+  "RECEIVE_TIME" DATE,
+  "API_RECEIVE_CODE" NVARCHAR2(63),
+  "API_RECEIVE_MSG" NVARCHAR2(255),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."ID" IS '编号';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."CHANNEL_ID" IS '短信渠道编号';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."CHANNEL_CODE" IS '短信渠道编码';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."TEMPLATE_ID" IS '模板编号';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."TEMPLATE_CODE" IS '模板编码';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."TEMPLATE_TYPE" IS '短信类型';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."TEMPLATE_CONTENT" IS '短信内容';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."TEMPLATE_PARAMS" IS '短信参数';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."API_TEMPLATE_ID" IS '短信 API 的模板编号';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."MOBILE" IS '手机号';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."USER_ID" IS '用户编号';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."USER_TYPE" IS '用户类型';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."SEND_STATUS" IS '发送状态';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."SEND_TIME" IS '发送时间';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."SEND_CODE" IS '发送结果的编码';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."SEND_MSG" IS '发送结果的提示';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."API_SEND_CODE" IS '短信 API 发送结果的编码';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."API_SEND_MSG" IS '短信 API 发送失败的提示';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."API_REQUEST_ID" IS '短信 API 发送返回的唯一请求 ID';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."API_SERIAL_NO" IS '短信 API 发送返回的序号';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."RECEIVE_STATUS" IS '接收状态';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."RECEIVE_TIME" IS '接收时间';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."API_RECEIVE_CODE" IS 'API 接收结果的编码';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."API_RECEIVE_MSG" IS 'API 接收结果的说明';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_SMS_LOG"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_SMS_LOG" IS '短信日志';
+
+-- ----------------------------
+-- Records of SYSTEM_SMS_LOG
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_SMS_TEMPLATE
+-- ----------------------------
+DROP TABLE "SYSTEM_SMS_TEMPLATE";
+CREATE TABLE "SYSTEM_SMS_TEMPLATE" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "TYPE" NUMBER(4,0) NOT NULL,
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "CODE" NVARCHAR2(63),
+  "NAME" NVARCHAR2(63),
+  "CONTENT" NVARCHAR2(255),
+  "PARAMS" NVARCHAR2(255),
+  "REMARK" NVARCHAR2(255),
+  "API_TEMPLATE_ID" NVARCHAR2(63),
+  "CHANNEL_ID" NUMBER(20,0) NOT NULL,
+  "CHANNEL_CODE" NVARCHAR2(63),
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_SMS_TEMPLATE"."ID" IS '编号';
+COMMENT ON COLUMN "SYSTEM_SMS_TEMPLATE"."TYPE" IS '短信签名';
+COMMENT ON COLUMN "SYSTEM_SMS_TEMPLATE"."STATUS" IS '开启状态';
+COMMENT ON COLUMN "SYSTEM_SMS_TEMPLATE"."CODE" IS '模板编码';
+COMMENT ON COLUMN "SYSTEM_SMS_TEMPLATE"."NAME" IS '模板名称';
+COMMENT ON COLUMN "SYSTEM_SMS_TEMPLATE"."CONTENT" IS '模板内容';
+COMMENT ON COLUMN "SYSTEM_SMS_TEMPLATE"."PARAMS" IS '参数数组';
+COMMENT ON COLUMN "SYSTEM_SMS_TEMPLATE"."REMARK" IS '备注';
+COMMENT ON COLUMN "SYSTEM_SMS_TEMPLATE"."API_TEMPLATE_ID" IS '短信 API 的模板编号';
+COMMENT ON COLUMN "SYSTEM_SMS_TEMPLATE"."CHANNEL_ID" IS '短信渠道编号';
+COMMENT ON COLUMN "SYSTEM_SMS_TEMPLATE"."CHANNEL_CODE" IS '短信渠道编码';
+COMMENT ON COLUMN "SYSTEM_SMS_TEMPLATE"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_SMS_TEMPLATE"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_SMS_TEMPLATE"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_SMS_TEMPLATE"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_SMS_TEMPLATE"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_SMS_TEMPLATE" IS '短信模板';
+
+-- ----------------------------
+-- Records of SYSTEM_SMS_TEMPLATE
+-- ----------------------------
+INSERT INTO "SYSTEM_SMS_TEMPLATE" ("ID", "TYPE", "STATUS", "CODE", "NAME", "CONTENT", "PARAMS", "REMARK", "API_TEMPLATE_ID", "CHANNEL_ID", "CHANNEL_CODE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('2', '1', '0', 'test_01', '测试验证码短信', '正在进行登录操作{operation},您的验证码是{code}', '["operation","code"]', NULL, '4383920', '1', 'YUN_PIAN', NULL, TO_DATE('2021-03-31 10:49:38', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-04-10 01:22:00', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_SMS_TEMPLATE" ("ID", "TYPE", "STATUS", "CODE", "NAME", "CONTENT", "PARAMS", "REMARK", "API_TEMPLATE_ID", "CHANNEL_ID", "CHANNEL_CODE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('3', '1', '0', 'test_02', '公告通知', '您的验证码{code},该验证码5分钟内有效,请勿泄漏于他人!', '["code"]', NULL, 'SMS_207945135', '2', 'ALIYUN', NULL, TO_DATE('2021-03-31 11:56:30', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-04-10 01:22:02', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_SMS_TEMPLATE" ("ID", "TYPE", "STATUS", "CODE", "NAME", "CONTENT", "PARAMS", "REMARK", "API_TEMPLATE_ID", "CHANNEL_ID", "CHANNEL_CODE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('6', '3', '0', 'test-01', '测试模板', '哈哈哈 {name}', '["name"]', 'f哈哈哈', '4383920', '1', 'YUN_PIAN', '1', TO_DATE('2021-04-10 01:07:21', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-04-10 01:22:05', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_SMS_TEMPLATE" ("ID", "TYPE", "STATUS", "CODE", "NAME", "CONTENT", "PARAMS", "REMARK", "API_TEMPLATE_ID", "CHANNEL_ID", "CHANNEL_CODE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('7', '3', '0', 'test-04', '测试下', '老鸡{name},牛逼{code}', '["name","code"]', NULL, 'suibian', '4', 'DEBUG_DING_TALK', '1', TO_DATE('2021-04-13 00:29:53', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-04-14 00:30:38', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_SMS_TEMPLATE" ("ID", "TYPE", "STATUS", "CODE", "NAME", "CONTENT", "PARAMS", "REMARK", "API_TEMPLATE_ID", "CHANNEL_ID", "CHANNEL_CODE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('8', '1', '0', 'user-sms-login', '前台用户短信登录', '您的验证码是{code}', '["code"]', NULL, '4372216', '1', 'YUN_PIAN', '1', TO_DATE('2021-10-11 08:10:00', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-10-11 08:10:00', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_SMS_TEMPLATE" ("ID", "TYPE", "STATUS", "CODE", "NAME", "CONTENT", "PARAMS", "REMARK", "API_TEMPLATE_ID", "CHANNEL_ID", "CHANNEL_CODE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('9', '2', '0', 'bpm_task_assigned', '【工作流】任务被分配', '您收到了一条新的待办任务:{processInstanceName}-{taskName},申请人:{startUserNickname},处理链接:{detailUrl}', '["processInstanceName","taskName","startUserNickname","detailUrl"]', NULL, 'suibian', '4', 'DEBUG_DING_TALK', '1', TO_DATE('2022-01-21 22:31:19', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-01-22 00:03:36', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_SMS_TEMPLATE" ("ID", "TYPE", "STATUS", "CODE", "NAME", "CONTENT", "PARAMS", "REMARK", "API_TEMPLATE_ID", "CHANNEL_ID", "CHANNEL_CODE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('10', '2', '0', 'bpm_process_instance_reject', '【工作流】流程被不通过', '您的流程被审批不通过:{processInstanceName},原因:{reason},查看链接:{detailUrl}', '["processInstanceName","reason","detailUrl"]', NULL, 'suibian', '4', 'DEBUG_DING_TALK', '1', TO_DATE('2022-01-22 00:03:31', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-01-22 00:24:31', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_SMS_TEMPLATE" ("ID", "TYPE", "STATUS", "CODE", "NAME", "CONTENT", "PARAMS", "REMARK", "API_TEMPLATE_ID", "CHANNEL_ID", "CHANNEL_CODE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('11', '2', '0', 'bpm_process_instance_approve', '【工作流】流程被通过', '您的流程被审批通过:{processInstanceName},查看链接:{detailUrl}', '["processInstanceName","detailUrl"]', NULL, 'suibian', '4', 'DEBUG_DING_TALK', '1', TO_DATE('2022-01-22 00:04:31', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-01-22 00:24:23', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_SMS_TEMPLATE" ("ID", "TYPE", "STATUS", "CODE", "NAME", "CONTENT", "PARAMS", "REMARK", "API_TEMPLATE_ID", "CHANNEL_ID", "CHANNEL_CODE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('13', '1', '0', 'admin-sms-login', '后台用户短信登录', '您的验证码是{code}', '["code"]', NULL, '4372216', '1', 'YUN_PIAN', '1', TO_DATE('2021-10-11 08:10:00', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2021-10-11 08:10:00', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_SOCIAL_USER
+-- ----------------------------
+DROP TABLE "SYSTEM_SOCIAL_USER";
+CREATE TABLE "SYSTEM_SOCIAL_USER" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "USER_ID" NUMBER(20,0) NOT NULL,
+  "USER_TYPE" NUMBER(4,0) NOT NULL,
+  "TYPE" NUMBER(4,0) NOT NULL,
+  "OPENID" NVARCHAR2(32),
+  "TOKEN" NVARCHAR2(256),
+  "UNION_ID" NVARCHAR2(32),
+  "RAW_TOKEN_INFO" NCLOB,
+  "NICKNAME" NVARCHAR2(32),
+  "AVATAR" NVARCHAR2(255),
+  "RAW_USER_INFO" NCLOB,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_SOCIAL_USER"."ID" IS '主键(自增策略)';
+COMMENT ON COLUMN "SYSTEM_SOCIAL_USER"."USER_ID" IS '关联的用户编号';
+COMMENT ON COLUMN "SYSTEM_SOCIAL_USER"."USER_TYPE" IS '用户类型';
+COMMENT ON COLUMN "SYSTEM_SOCIAL_USER"."TYPE" IS '社交平台的类型';
+COMMENT ON COLUMN "SYSTEM_SOCIAL_USER"."OPENID" IS '社交 openid';
+COMMENT ON COLUMN "SYSTEM_SOCIAL_USER"."TOKEN" IS '社交 token';
+COMMENT ON COLUMN "SYSTEM_SOCIAL_USER"."UNION_ID" IS '社交的全局编号';
+COMMENT ON COLUMN "SYSTEM_SOCIAL_USER"."RAW_TOKEN_INFO" IS '原始 Token 数据,一般是 JSON 格式';
+COMMENT ON COLUMN "SYSTEM_SOCIAL_USER"."NICKNAME" IS '用户昵称';
+COMMENT ON COLUMN "SYSTEM_SOCIAL_USER"."AVATAR" IS '用户头像';
+COMMENT ON COLUMN "SYSTEM_SOCIAL_USER"."RAW_USER_INFO" IS '原始用户数据,一般是 JSON 格式';
+COMMENT ON COLUMN "SYSTEM_SOCIAL_USER"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_SOCIAL_USER"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_SOCIAL_USER"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_SOCIAL_USER"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_SOCIAL_USER"."TENANT_ID" IS '租户编号';
+COMMENT ON COLUMN "SYSTEM_SOCIAL_USER"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_SOCIAL_USER" IS '社交用户';
+
+-- ----------------------------
+-- Records of SYSTEM_SOCIAL_USER
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_TENANT
+-- ----------------------------
+DROP TABLE "SYSTEM_TENANT";
+CREATE TABLE "SYSTEM_TENANT" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "NAME" NVARCHAR2(30),
+  "CONTACT_USER_ID" NUMBER(20,0),
+  "CONTACT_NAME" NVARCHAR2(30),
+  "CONTACT_MOBILE" NVARCHAR2(500),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "DOMAIN" NVARCHAR2(256),
+  "PACKAGE_ID" NUMBER(20,0) NOT NULL,
+  "EXPIRE_TIME" DATE NOT NULL,
+  "ACCOUNT_COUNT" NUMBER(11,0) NOT NULL,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_TENANT"."ID" IS '租户编号';
+COMMENT ON COLUMN "SYSTEM_TENANT"."NAME" IS '租户名';
+COMMENT ON COLUMN "SYSTEM_TENANT"."CONTACT_USER_ID" IS '联系人的用户编号';
+COMMENT ON COLUMN "SYSTEM_TENANT"."CONTACT_NAME" IS '联系人';
+COMMENT ON COLUMN "SYSTEM_TENANT"."CONTACT_MOBILE" IS '联系手机';
+COMMENT ON COLUMN "SYSTEM_TENANT"."STATUS" IS '租户状态(0正常 1停用)';
+COMMENT ON COLUMN "SYSTEM_TENANT"."DOMAIN" IS '绑定域名';
+COMMENT ON COLUMN "SYSTEM_TENANT"."PACKAGE_ID" IS '租户套餐编号';
+COMMENT ON COLUMN "SYSTEM_TENANT"."EXPIRE_TIME" IS '过期时间';
+COMMENT ON COLUMN "SYSTEM_TENANT"."ACCOUNT_COUNT" IS '账号数量';
+COMMENT ON COLUMN "SYSTEM_TENANT"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_TENANT"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_TENANT"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_TENANT"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_TENANT"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_TENANT" IS '租户表';
+
+-- ----------------------------
+-- Records of SYSTEM_TENANT
+-- ----------------------------
+INSERT INTO "SYSTEM_TENANT" ("ID", "NAME", "CONTACT_USER_ID", "CONTACT_NAME", "CONTACT_MOBILE", "STATUS", "DOMAIN", "PACKAGE_ID", "EXPIRE_TIME", "ACCOUNT_COUNT", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('1', '芋道源码', NULL, '芋艿', '17321315478', '0', 'https://www.iocoder.cn', '0', TO_DATE('2099-02-19 17:14:16', 'SYYYY-MM-DD HH24:MI:SS'), '9999', '1', TO_DATE('2021-01-05 17:03:47', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 12:15:11', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_TENANT" ("ID", "NAME", "CONTACT_USER_ID", "CONTACT_NAME", "CONTACT_MOBILE", "STATUS", "DOMAIN", "PACKAGE_ID", "EXPIRE_TIME", "ACCOUNT_COUNT", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('121', '小租户', '110', '小王2', '15601691300', '0', 'http://www.iocoder.cn', '111', TO_DATE('2024-03-11 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '20', '1', TO_DATE('2022-02-22 00:56:14', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 18:37:20', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+INSERT INTO "SYSTEM_TENANT" ("ID", "NAME", "CONTACT_USER_ID", "CONTACT_NAME", "CONTACT_MOBILE", "STATUS", "DOMAIN", "PACKAGE_ID", "EXPIRE_TIME", "ACCOUNT_COUNT", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('122', '测试租户', '113', '芋道', '15601691300', '0', 'https://www.iocoder.cn', '111', TO_DATE('2022-04-30 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '50', '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_TENANT_PACKAGE
+-- ----------------------------
+DROP TABLE "SYSTEM_TENANT_PACKAGE";
+CREATE TABLE "SYSTEM_TENANT_PACKAGE" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "NAME" NVARCHAR2(30),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "REMARK" NVARCHAR2(256),
+  "MENU_IDS" NCLOB,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(4,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_TENANT_PACKAGE"."ID" IS '套餐编号';
+COMMENT ON COLUMN "SYSTEM_TENANT_PACKAGE"."NAME" IS '套餐名';
+COMMENT ON COLUMN "SYSTEM_TENANT_PACKAGE"."STATUS" IS '租户状态(0正常 1停用)';
+COMMENT ON COLUMN "SYSTEM_TENANT_PACKAGE"."REMARK" IS '备注';
+COMMENT ON COLUMN "SYSTEM_TENANT_PACKAGE"."MENU_IDS" IS '关联的菜单编号';
+COMMENT ON COLUMN "SYSTEM_TENANT_PACKAGE"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_TENANT_PACKAGE"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_TENANT_PACKAGE"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_TENANT_PACKAGE"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_TENANT_PACKAGE"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_TENANT_PACKAGE" IS '租户套餐表';
+
+-- ----------------------------
+-- Records of SYSTEM_TENANT_PACKAGE
+-- ----------------------------
+INSERT INTO "SYSTEM_TENANT_PACKAGE" ("ID", "NAME", "STATUS", "REMARK", "MENU_IDS", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED") VALUES ('111', '普通套餐', '0', '小功能', '[1024,1025,1,102,103,104,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023]', '1', TO_DATE('2022-02-22 00:54:00', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 18:39:13', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_USERS
+-- ----------------------------
+DROP TABLE "SYSTEM_USERS";
+CREATE TABLE "SYSTEM_USERS" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "USERNAME" NVARCHAR2(30),
+  "PASSWORD" NVARCHAR2(100),
+  "NICKNAME" NVARCHAR2(30),
+  "REMARK" NVARCHAR2(500),
+  "DEPT_ID" NUMBER(20,0),
+  "POST_IDS" NVARCHAR2(255),
+  "EMAIL" NVARCHAR2(50),
+  "MOBILE" NVARCHAR2(11),
+  "SEX" NUMBER(4,0),
+  "AVATAR" NVARCHAR2(100),
+  "STATUS" NUMBER(4,0) NOT NULL,
+  "LOGIN_IP" NVARCHAR2(50),
+  "LOGIN_DATE" DATE,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_USERS"."ID" IS '用户ID';
+COMMENT ON COLUMN "SYSTEM_USERS"."USERNAME" IS '用户账号';
+COMMENT ON COLUMN "SYSTEM_USERS"."PASSWORD" IS '密码';
+COMMENT ON COLUMN "SYSTEM_USERS"."NICKNAME" IS '用户昵称';
+COMMENT ON COLUMN "SYSTEM_USERS"."REMARK" IS '备注';
+COMMENT ON COLUMN "SYSTEM_USERS"."DEPT_ID" IS '部门ID';
+COMMENT ON COLUMN "SYSTEM_USERS"."POST_IDS" IS '岗位编号数组';
+COMMENT ON COLUMN "SYSTEM_USERS"."EMAIL" IS '用户邮箱';
+COMMENT ON COLUMN "SYSTEM_USERS"."MOBILE" IS '手机号码';
+COMMENT ON COLUMN "SYSTEM_USERS"."SEX" IS '用户性别';
+COMMENT ON COLUMN "SYSTEM_USERS"."AVATAR" IS '头像地址';
+COMMENT ON COLUMN "SYSTEM_USERS"."STATUS" IS '帐号状态(0正常 1停用)';
+COMMENT ON COLUMN "SYSTEM_USERS"."LOGIN_IP" IS '最后登录IP';
+COMMENT ON COLUMN "SYSTEM_USERS"."LOGIN_DATE" IS '最后登录时间';
+COMMENT ON COLUMN "SYSTEM_USERS"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_USERS"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_USERS"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_USERS"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_USERS"."TENANT_ID" IS '租户编号';
+COMMENT ON COLUMN "SYSTEM_USERS"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_USERS" IS '用户信息表';
+
+-- ----------------------------
+-- Records of SYSTEM_USERS
+-- ----------------------------
+INSERT INTO "SYSTEM_USERS" ("ID", "USERNAME", "PASSWORD", "NICKNAME", "REMARK", "DEPT_ID", "POST_IDS", "EMAIL", "MOBILE", "SEX", "AVATAR", "STATUS", "LOGIN_IP", "LOGIN_DATE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('115', 'anzhen', '$2a$10$Qr2lBUuwvDMb98p/o7iSPuHb7GRi4zPHSq4g01ETuY.l4O5txXfvi', 'anzhen', NULL, '100', '[]', NULL, NULL, NULL, NULL, '0', NULL, NULL, '1', TO_DATE('2022-03-24 18:50:59', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-24 18:50:59', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_USERS" ("ID", "USERNAME", "PASSWORD", "NICKNAME", "REMARK", "DEPT_ID", "POST_IDS", "EMAIL", "MOBILE", "SEX", "AVATAR", "STATUS", "LOGIN_IP", "LOGIN_DATE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1', 'admin', '$2a$10$0acJOIk2D25/oC87nyclE..0lzeu9DtQ/n3geP4fkun/zIVRhHJIO', '芋道源码', '管理员', '103', '[1,2]', 'aoteman@126.com', '15612345678', '1', 'http://test.yudao.iocoder.cn/a294ecb2-73dd-4353-bf40-296b8931d0bf', '0', '127.0.0.1', TO_DATE('2022-05-13 09:40:57', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2021-01-05 17:03:47', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-05-13 09:40:57', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_USERS" ("ID", "USERNAME", "PASSWORD", "NICKNAME", "REMARK", "DEPT_ID", "POST_IDS", "EMAIL", "MOBILE", "SEX", "AVATAR", "STATUS", "LOGIN_IP", "LOGIN_DATE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('100', 'yudao', '$2a$10$11U48RhyJ5pSBYWSn12AD./ld671.ycSzJHbyrtpeoMeYiw31eo8a', '芋道', '不要吓我', '104', '[1]', 'yudao@iocoder.cn', '15601691300', '1', NULL, '1', NULL, NULL, NULL, TO_DATE('2021-01-07 09:07:17', 'SYYYY-MM-DD HH24:MI:SS'), '104', TO_DATE('2021-12-16 09:26:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_USERS" ("ID", "USERNAME", "PASSWORD", "NICKNAME", "REMARK", "DEPT_ID", "POST_IDS", "EMAIL", "MOBILE", "SEX", "AVATAR", "STATUS", "LOGIN_IP", "LOGIN_DATE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('103', 'yuanma', '$2a$10$wWoPT7sqriM2O1YXRL.je.GiL538OR6ZTN8aQZr9JAGdnpCH2tpYe', '源码', NULL, '106', NULL, 'yuanma@iocoder.cn', '15601701300', '0', NULL, '0', '127.0.0.1', TO_DATE('2022-01-18 00:33:40', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2021-01-13 23:50:35', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-01-18 00:33:40', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_USERS" ("ID", "USERNAME", "PASSWORD", "NICKNAME", "REMARK", "DEPT_ID", "POST_IDS", "EMAIL", "MOBILE", "SEX", "AVATAR", "STATUS", "LOGIN_IP", "LOGIN_DATE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('104', 'test', '$2a$10$e5RpuDCC0GYSt0Hvd2.CjujIXwgGct4SnXi6dVGxdgFsnqgEryk5a', '测试号', NULL, '107', '[]', '111@qq.com', '15601691200', '1', NULL, '0', '127.0.0.1', TO_DATE('2022-03-19 21:46:19', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2021-01-21 02:13:53', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-03-19 21:46:19', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_USERS" ("ID", "USERNAME", "PASSWORD", "NICKNAME", "REMARK", "DEPT_ID", "POST_IDS", "EMAIL", "MOBILE", "SEX", "AVATAR", "STATUS", "LOGIN_IP", "LOGIN_DATE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('107', 'admin107', '$2a$10$dYOOBKMO93v/.ReCqzyFg.o67Tqk.bbc2bhrpyBGkIw9aypCtr2pm', '芋艿', NULL, NULL, NULL, NULL, '15601691300', '0', NULL, '0', NULL, NULL, '1', TO_DATE('2022-02-20 22:59:33', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-27 08:26:51', 'SYYYY-MM-DD HH24:MI:SS'), '118', '0');
+INSERT INTO "SYSTEM_USERS" ("ID", "USERNAME", "PASSWORD", "NICKNAME", "REMARK", "DEPT_ID", "POST_IDS", "EMAIL", "MOBILE", "SEX", "AVATAR", "STATUS", "LOGIN_IP", "LOGIN_DATE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('108', 'admin108', '$2a$10$y6mfvKoNYL1GXWak8nYwVOH.kCWqjactkzdoIDgiKl93WN3Ejg.Lu', '芋艿', NULL, NULL, NULL, NULL, '15601691300', '0', NULL, '0', NULL, NULL, '1', TO_DATE('2022-02-20 23:00:50', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-27 08:26:53', 'SYYYY-MM-DD HH24:MI:SS'), '119', '0');
+INSERT INTO "SYSTEM_USERS" ("ID", "USERNAME", "PASSWORD", "NICKNAME", "REMARK", "DEPT_ID", "POST_IDS", "EMAIL", "MOBILE", "SEX", "AVATAR", "STATUS", "LOGIN_IP", "LOGIN_DATE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('109', 'admin109', '$2a$10$JAqvH0tEc0I7dfDVBI7zyuB4E3j.uH6daIjV53.vUS6PknFkDJkuK', '芋艿', NULL, NULL, NULL, NULL, '15601691300', '0', NULL, '0', NULL, NULL, '1', TO_DATE('2022-02-20 23:11:50', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-27 08:26:56', 'SYYYY-MM-DD HH24:MI:SS'), '120', '0');
+INSERT INTO "SYSTEM_USERS" ("ID", "USERNAME", "PASSWORD", "NICKNAME", "REMARK", "DEPT_ID", "POST_IDS", "EMAIL", "MOBILE", "SEX", "AVATAR", "STATUS", "LOGIN_IP", "LOGIN_DATE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('110', 'admin110', '$2a$10$qYxoXs0ogPHgYllyEneYde9xcCW5hZgukrxeXZ9lmLhKse8TK6IwW', '小王', NULL, NULL, NULL, NULL, '15601691300', '0', NULL, '0', '127.0.0.1', TO_DATE('2022-02-23 19:36:28', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 00:56:14', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-27 08:26:59', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_USERS" ("ID", "USERNAME", "PASSWORD", "NICKNAME", "REMARK", "DEPT_ID", "POST_IDS", "EMAIL", "MOBILE", "SEX", "AVATAR", "STATUS", "LOGIN_IP", "LOGIN_DATE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('111', 'test', '$2a$10$mExveopHUx9Q4QiLtAzhDeH3n4/QlNLzEsM4AqgxKrU.ciUZDXZCy', '测试用户', NULL, NULL, '[]', NULL, NULL, '0', NULL, '0', NULL, NULL, '110', TO_DATE('2022-02-23 13:14:33', 'SYYYY-MM-DD HH24:MI:SS'), '110', TO_DATE('2022-02-23 13:14:33', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_USERS" ("ID", "USERNAME", "PASSWORD", "NICKNAME", "REMARK", "DEPT_ID", "POST_IDS", "EMAIL", "MOBILE", "SEX", "AVATAR", "STATUS", "LOGIN_IP", "LOGIN_DATE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('112', 'newobject', '$2a$10$jh5MsR.ud/gKe3mVeUp5t.nEXGDSmHyv5OYjWQwHO8wlGmMSI9Twy', '新对象', NULL, NULL, '[]', NULL, NULL, '0', NULL, '0', NULL, NULL, '1', TO_DATE('2022-02-23 19:08:03', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-23 19:08:03', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_USERS" ("ID", "USERNAME", "PASSWORD", "NICKNAME", "REMARK", "DEPT_ID", "POST_IDS", "EMAIL", "MOBILE", "SEX", "AVATAR", "STATUS", "LOGIN_IP", "LOGIN_DATE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('113', 'aoteman', '$2a$10$0acJOIk2D25/oC87nyclE..0lzeu9DtQ/n3geP4fkun/zIVRhHJIO', '芋道', NULL, NULL, NULL, NULL, '15601691300', '0', NULL, '0', '127.0.0.1', TO_DATE('2022-03-19 18:38:51', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-03-19 18:38:51', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+INSERT INTO "SYSTEM_USERS" ("ID", "USERNAME", "PASSWORD", "NICKNAME", "REMARK", "DEPT_ID", "POST_IDS", "EMAIL", "MOBILE", "SEX", "AVATAR", "STATUS", "LOGIN_IP", "LOGIN_DATE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('114', 'hrmgr', '$2a$10$TR4eybBioGRhBmDBWkqWLO6NIh3mzYa8KBKDDB5woiGYFVlRAi.fu', 'hr 小姐姐', NULL, NULL, '[3]', NULL, NULL, '0', NULL, '0', '127.0.0.1', TO_DATE('2022-03-19 22:15:43', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:50:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-01 01:08:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_USERS" ("ID", "USERNAME", "PASSWORD", "NICKNAME", "REMARK", "DEPT_ID", "POST_IDS", "EMAIL", "MOBILE", "SEX", "AVATAR", "STATUS", "LOGIN_IP", "LOGIN_DATE", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('0', 'admin2', '$2a$10$KYL8IPJPIzuZWfOgPqOuU.VeZqWistCv5pxtoaq2SwPBDgBR4uh6G', '123', NULL, NULL, '[]', NULL, NULL, NULL, NULL, '0', NULL, NULL, '1', TO_DATE('2022-05-01 01:05:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-05-01 01:05:12', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_USER_POST
+-- ----------------------------
+DROP TABLE "SYSTEM_USER_POST";
+CREATE TABLE "SYSTEM_USER_POST" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "USER_ID" NUMBER(20,0) NOT NULL,
+  "POST_ID" NUMBER(20,0) NOT NULL,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE NOT NULL,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL,
+  "TENANT_ID" NUMBER(20,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_USER_POST"."ID" IS 'id';
+COMMENT ON COLUMN "SYSTEM_USER_POST"."USER_ID" IS '用户ID';
+COMMENT ON COLUMN "SYSTEM_USER_POST"."POST_ID" IS '岗位ID';
+COMMENT ON COLUMN "SYSTEM_USER_POST"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_USER_POST"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_USER_POST"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_USER_POST"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_USER_POST"."DELETED" IS '是否删除';
+COMMENT ON COLUMN "SYSTEM_USER_POST"."TENANT_ID" IS '租户编号';
+COMMENT ON TABLE "SYSTEM_USER_POST" IS '用户岗位表';
+
+-- ----------------------------
+-- Records of SYSTEM_USER_POST
+-- ----------------------------
+INSERT INTO "SYSTEM_USER_POST" ("ID", "USER_ID", "POST_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED", "TENANT_ID") VALUES ('112', '1', '1', 'admin', TO_DATE('2022-05-02 07:25:24', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2022-05-02 07:25:24', 'SYYYY-MM-DD HH24:MI:SS'), '0', '1');
+INSERT INTO "SYSTEM_USER_POST" ("ID", "USER_ID", "POST_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED", "TENANT_ID") VALUES ('113', '100', '1', 'admin', TO_DATE('2022-05-02 07:25:24', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2022-05-02 07:25:24', 'SYYYY-MM-DD HH24:MI:SS'), '0', '1');
+INSERT INTO "SYSTEM_USER_POST" ("ID", "USER_ID", "POST_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "DELETED", "TENANT_ID") VALUES ('114', '114', '3', 'admin', TO_DATE('2022-05-02 07:25:24', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2022-05-02 07:25:24', 'SYYYY-MM-DD HH24:MI:SS'), '0', '1');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SYSTEM_USER_ROLE
+-- ----------------------------
+DROP TABLE "SYSTEM_USER_ROLE";
+CREATE TABLE "SYSTEM_USER_ROLE" (
+  "ID" NUMBER(20,0) NOT NULL,
+  "USER_ID" NUMBER(20,0) NOT NULL,
+  "ROLE_ID" NUMBER(20,0) NOT NULL,
+  "CREATOR" NVARCHAR2(64),
+  "CREATE_TIME" DATE,
+  "UPDATER" NVARCHAR2(64),
+  "UPDATE_TIME" DATE,
+  "TENANT_ID" NUMBER(20,0) NOT NULL,
+  "DELETED" NUMBER(1,0) DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "SYSTEM_USER_ROLE"."ID" IS '自增编号';
+COMMENT ON COLUMN "SYSTEM_USER_ROLE"."USER_ID" IS '用户ID';
+COMMENT ON COLUMN "SYSTEM_USER_ROLE"."ROLE_ID" IS '角色ID';
+COMMENT ON COLUMN "SYSTEM_USER_ROLE"."CREATOR" IS '创建者';
+COMMENT ON COLUMN "SYSTEM_USER_ROLE"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYSTEM_USER_ROLE"."UPDATER" IS '更新者';
+COMMENT ON COLUMN "SYSTEM_USER_ROLE"."UPDATE_TIME" IS '更新时间';
+COMMENT ON COLUMN "SYSTEM_USER_ROLE"."TENANT_ID" IS '租户编号';
+COMMENT ON COLUMN "SYSTEM_USER_ROLE"."DELETED" IS '是否删除';
+COMMENT ON TABLE "SYSTEM_USER_ROLE" IS '用户和角色关联表';
+
+-- ----------------------------
+-- Records of SYSTEM_USER_ROLE
+-- ----------------------------
+INSERT INTO "SYSTEM_USER_ROLE" ("ID", "USER_ID", "ROLE_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('1', '1', '1', NULL, TO_DATE('2022-02-20 22:59:33', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-20 22:59:33', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_USER_ROLE" ("ID", "USER_ID", "ROLE_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('2', '2', '2', NULL, TO_DATE('2022-02-20 22:59:33', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-20 22:59:33', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_USER_ROLE" ("ID", "USER_ID", "ROLE_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('4', '100', '101', NULL, TO_DATE('2022-02-20 22:59:33', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-20 22:59:33', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_USER_ROLE" ("ID", "USER_ID", "ROLE_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('5', '100', '1', NULL, TO_DATE('2022-02-20 22:59:33', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-20 22:59:33', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_USER_ROLE" ("ID", "USER_ID", "ROLE_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('6', '100', '2', NULL, TO_DATE('2022-02-20 22:59:33', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-20 22:59:33', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_USER_ROLE" ("ID", "USER_ID", "ROLE_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('7', '104', '101', NULL, TO_DATE('2022-02-20 22:59:33', 'SYYYY-MM-DD HH24:MI:SS'), NULL, TO_DATE('2022-02-20 22:59:33', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_USER_ROLE" ("ID", "USER_ID", "ROLE_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('10', '103', '1', '1', TO_DATE('2022-01-11 13:19:45', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-01-11 13:19:45', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "SYSTEM_USER_ROLE" ("ID", "USER_ID", "ROLE_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('11', '107', '106', '1', TO_DATE('2022-02-20 22:59:33', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-20 22:59:33', 'SYYYY-MM-DD HH24:MI:SS'), '118', '0');
+INSERT INTO "SYSTEM_USER_ROLE" ("ID", "USER_ID", "ROLE_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('12', '108', '107', '1', TO_DATE('2022-02-20 23:00:50', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-20 23:00:50', 'SYYYY-MM-DD HH24:MI:SS'), '119', '0');
+INSERT INTO "SYSTEM_USER_ROLE" ("ID", "USER_ID", "ROLE_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('13', '109', '108', '1', TO_DATE('2022-02-20 23:11:50', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-20 23:11:50', 'SYYYY-MM-DD HH24:MI:SS'), '120', '0');
+INSERT INTO "SYSTEM_USER_ROLE" ("ID", "USER_ID", "ROLE_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('14', '110', '109', '1', TO_DATE('2022-02-22 00:56:14', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-02-22 00:56:14', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_USER_ROLE" ("ID", "USER_ID", "ROLE_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('15', '111', '110', '110', TO_DATE('2022-02-23 13:14:38', 'SYYYY-MM-DD HH24:MI:SS'), '110', TO_DATE('2022-02-23 13:14:38', 'SYYYY-MM-DD HH24:MI:SS'), '121', '0');
+INSERT INTO "SYSTEM_USER_ROLE" ("ID", "USER_ID", "ROLE_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('16', '113', '111', '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-07 21:37:58', 'SYYYY-MM-DD HH24:MI:SS'), '122', '0');
+INSERT INTO "SYSTEM_USER_ROLE" ("ID", "USER_ID", "ROLE_ID", "CREATOR", "CREATE_TIME", "UPDATER", "UPDATE_TIME", "TENANT_ID", "DELETED") VALUES ('17', '114', '101', '1', TO_DATE('2022-03-19 21:51:13', 'SYYYY-MM-DD HH24:MI:SS'), '1', TO_DATE('2022-03-19 21:51:13', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Sequence structure for BPM_FORM_SEQ
+-- ----------------------------
+DROP SEQUENCE "BPM_FORM_SEQ";
+CREATE SEQUENCE "BPM_FORM_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for BPM_OA_LEAVE_SEQ
+-- ----------------------------
+DROP SEQUENCE "BPM_OA_LEAVE_SEQ";
+CREATE SEQUENCE "BPM_OA_LEAVE_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for BPM_PROCESS_DEFINITION_EXT_SEQ
+-- ----------------------------
+DROP SEQUENCE "BPM_PROCESS_DEFINITION_EXT_SEQ";
+CREATE SEQUENCE "BPM_PROCESS_DEFINITION_EXT_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for BPM_PROCESS_INSTANCE_EXT_SEQ
+-- ----------------------------
+DROP SEQUENCE "BPM_PROCESS_INSTANCE_EXT_SEQ";
+CREATE SEQUENCE "BPM_PROCESS_INSTANCE_EXT_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for BPM_TASK_ASSIGN_RULE_SEQ
+-- ----------------------------
+DROP SEQUENCE "BPM_TASK_ASSIGN_RULE_SEQ";
+CREATE SEQUENCE "BPM_TASK_ASSIGN_RULE_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for BPM_TASK_EXT_SEQ
+-- ----------------------------
+DROP SEQUENCE "BPM_TASK_EXT_SEQ";
+CREATE SEQUENCE "BPM_TASK_EXT_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for BPM_USER_GROUP_SEQ
+-- ----------------------------
+DROP SEQUENCE "BPM_USER_GROUP_SEQ";
+CREATE SEQUENCE "BPM_USER_GROUP_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for INFRA_API_ACCESS_LOG_SEQ
+-- ----------------------------
+DROP SEQUENCE "INFRA_API_ACCESS_LOG_SEQ";
+CREATE SEQUENCE "INFRA_API_ACCESS_LOG_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for INFRA_API_ERROR_LOG_SEQ
+-- ----------------------------
+DROP SEQUENCE "INFRA_API_ERROR_LOG_SEQ";
+CREATE SEQUENCE "INFRA_API_ERROR_LOG_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for INFRA_CODEGEN_COLUMN_SEQ
+-- ----------------------------
+DROP SEQUENCE "INFRA_CODEGEN_COLUMN_SEQ";
+CREATE SEQUENCE "INFRA_CODEGEN_COLUMN_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for INFRA_CODEGEN_TABLE_SEQ
+-- ----------------------------
+DROP SEQUENCE "INFRA_CODEGEN_TABLE_SEQ";
+CREATE SEQUENCE "INFRA_CODEGEN_TABLE_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for INFRA_CONFIG_SEQ
+-- ----------------------------
+DROP SEQUENCE "INFRA_CONFIG_SEQ";
+CREATE SEQUENCE "INFRA_CONFIG_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for INFRA_DATA_SOURCE_CONFIG_SEQ
+-- ----------------------------
+DROP SEQUENCE "INFRA_DATA_SOURCE_CONFIG_SEQ";
+CREATE SEQUENCE "INFRA_DATA_SOURCE_CONFIG_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for INFRA_FILE_CONFIG_SEQ
+-- ----------------------------
+DROP SEQUENCE "INFRA_FILE_CONFIG_SEQ";
+CREATE SEQUENCE "INFRA_FILE_CONFIG_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for INFRA_FILE_CONTENT_SEQ
+-- ----------------------------
+DROP SEQUENCE "INFRA_FILE_CONTENT_SEQ";
+CREATE SEQUENCE "INFRA_FILE_CONTENT_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for INFRA_FILE_SEQ
+-- ----------------------------
+DROP SEQUENCE "INFRA_FILE_SEQ";
+CREATE SEQUENCE "INFRA_FILE_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for INFRA_JOB_LOG_SEQ
+-- ----------------------------
+DROP SEQUENCE "INFRA_JOB_LOG_SEQ";
+CREATE SEQUENCE "INFRA_JOB_LOG_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for INFRA_JOB_SEQ
+-- ----------------------------
+DROP SEQUENCE "INFRA_JOB_SEQ";
+CREATE SEQUENCE "INFRA_JOB_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for INFRA_TEST_DEMO_SEQ
+-- ----------------------------
+DROP SEQUENCE "INFRA_TEST_DEMO_SEQ";
+CREATE SEQUENCE "INFRA_TEST_DEMO_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for MEMBER_USER_SEQ
+-- ----------------------------
+DROP SEQUENCE "MEMBER_USER_SEQ";
+CREATE SEQUENCE "MEMBER_USER_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for PAY_APP_SEQ
+-- ----------------------------
+DROP SEQUENCE "PAY_APP_SEQ";
+CREATE SEQUENCE "PAY_APP_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for PAY_CHANNEL_SEQ
+-- ----------------------------
+DROP SEQUENCE "PAY_CHANNEL_SEQ";
+CREATE SEQUENCE "PAY_CHANNEL_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for PAY_MERCHANT_SEQ
+-- ----------------------------
+DROP SEQUENCE "PAY_MERCHANT_SEQ";
+CREATE SEQUENCE "PAY_MERCHANT_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for PAY_NOTIFY_LOG_SEQ
+-- ----------------------------
+DROP SEQUENCE "PAY_NOTIFY_LOG_SEQ";
+CREATE SEQUENCE "PAY_NOTIFY_LOG_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for PAY_NOTIFY_TASK_SEQ
+-- ----------------------------
+DROP SEQUENCE "PAY_NOTIFY_TASK_SEQ";
+CREATE SEQUENCE "PAY_NOTIFY_TASK_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for PAY_ORDER_EXTENSION_SEQ
+-- ----------------------------
+DROP SEQUENCE "PAY_ORDER_EXTENSION_SEQ";
+CREATE SEQUENCE "PAY_ORDER_EXTENSION_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for PAY_ORDER_SEQ
+-- ----------------------------
+DROP SEQUENCE "PAY_ORDER_SEQ";
+CREATE SEQUENCE "PAY_ORDER_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for PAY_REFUND_SEQ
+-- ----------------------------
+DROP SEQUENCE "PAY_REFUND_SEQ";
+CREATE SEQUENCE "PAY_REFUND_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_DEPT_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_DEPT_SEQ";
+CREATE SEQUENCE "SYSTEM_DEPT_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_DICT_DATA_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_DICT_DATA_SEQ";
+CREATE SEQUENCE "SYSTEM_DICT_DATA_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_DICT_TYPE_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_DICT_TYPE_SEQ";
+CREATE SEQUENCE "SYSTEM_DICT_TYPE_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_ERROR_CODE_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_ERROR_CODE_SEQ";
+CREATE SEQUENCE "SYSTEM_ERROR_CODE_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_LOGIN_LOG_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_LOGIN_LOG_SEQ";
+CREATE SEQUENCE "SYSTEM_LOGIN_LOG_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_MENU_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_MENU_SEQ";
+CREATE SEQUENCE "SYSTEM_MENU_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_NOTICE_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_NOTICE_SEQ";
+CREATE SEQUENCE "SYSTEM_NOTICE_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_OAUTH2_ACCESS_TOKEN_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_OAUTH2_ACCESS_TOKEN_SEQ";
+CREATE SEQUENCE "SYSTEM_OAUTH2_ACCESS_TOKEN_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_OAUTH2_CLIENT_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_OAUTH2_CLIENT_SEQ";
+CREATE SEQUENCE "SYSTEM_OAUTH2_CLIENT_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_OPERATE_LOG_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_OPERATE_LOG_SEQ";
+CREATE SEQUENCE "SYSTEM_OPERATE_LOG_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_POST_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_POST_SEQ";
+CREATE SEQUENCE "SYSTEM_POST_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_ROLE_MENU_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_ROLE_MENU_SEQ";
+CREATE SEQUENCE "SYSTEM_ROLE_MENU_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_ROLE_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_ROLE_SEQ";
+CREATE SEQUENCE "SYSTEM_ROLE_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_SENSITIVE_WORD_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_SENSITIVE_WORD_SEQ";
+CREATE SEQUENCE "SYSTEM_SENSITIVE_WORD_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_SMS_CHANNEL_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_SMS_CHANNEL_SEQ";
+CREATE SEQUENCE "SYSTEM_SMS_CHANNEL_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_SMS_CODE_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_SMS_CODE_SEQ";
+CREATE SEQUENCE "SYSTEM_SMS_CODE_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_SMS_LOG_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_SMS_LOG_SEQ";
+CREATE SEQUENCE "SYSTEM_SMS_LOG_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_SMS_TEMPLATE_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_SMS_TEMPLATE_SEQ";
+CREATE SEQUENCE "SYSTEM_SMS_TEMPLATE_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_SOCIAL_USER_BIND_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_SOCIAL_USER_BIND_SEQ";
+CREATE SEQUENCE "SYSTEM_SOCIAL_USER_BIND_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_SOCIAL_USER_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_SOCIAL_USER_SEQ";
+CREATE SEQUENCE "SYSTEM_SOCIAL_USER_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_TENANT_PACKAGE_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_TENANT_PACKAGE_SEQ";
+CREATE SEQUENCE "SYSTEM_TENANT_PACKAGE_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_TENANT_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_TENANT_SEQ";
+CREATE SEQUENCE "SYSTEM_TENANT_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_USER_POST_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_USER_POST_SEQ";
+CREATE SEQUENCE "SYSTEM_USER_POST_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_USER_ROLE_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_USER_ROLE_SEQ";
+CREATE SEQUENCE "SYSTEM_USER_ROLE_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_USER_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_USER_SEQ";
+CREATE SEQUENCE "SYSTEM_USER_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SYSTEM_USER_SESSION_SEQ
+-- ----------------------------
+DROP SEQUENCE "SYSTEM_USER_SESSION_SEQ";
+CREATE SEQUENCE "SYSTEM_USER_SESSION_SEQ" MINVALUE 0 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Checks structure for table BPM_FORM
+-- ----------------------------
+ALTER TABLE "BPM_FORM" ADD CONSTRAINT "SYS_C007768" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_FORM" ADD CONSTRAINT "SYS_C007769" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_FORM" ADD CONSTRAINT "SYS_C007770" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_FORM" ADD CONSTRAINT "SYS_C007771" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_FORM" ADD CONSTRAINT "SYS_C007772" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_FORM" ADD CONSTRAINT "SYS_C008199" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_FORM" ADD CONSTRAINT "SYS_C008446" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_FORM" ADD CONSTRAINT "SYS_C008447" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_FORM" ADD CONSTRAINT "SYS_C008448" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_FORM" ADD CONSTRAINT "SYS_C008449" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_FORM" ADD CONSTRAINT "SYS_C008450" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_FORM" ADD CONSTRAINT "SYS_C008451" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table BPM_OA_LEAVE
+-- ----------------------------
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C007773" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C007774" CHECK ("USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C007775" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C007776" CHECK ("START_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C007777" CHECK ("END_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C007778" CHECK ("DAY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C007779" CHECK ("RESULT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C007780" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C007781" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C007782" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C008200" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C008452" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C008453" CHECK ("USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C008454" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C008455" CHECK ("START_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C008456" CHECK ("END_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C008457" CHECK ("DAY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C008458" CHECK ("RESULT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C008459" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C008460" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C008461" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_OA_LEAVE" ADD CONSTRAINT "SYS_C008462" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table BPM_PROCESS_DEFINITION_EXT
+-- ----------------------------
+ALTER TABLE "BPM_PROCESS_DEFINITION_EXT" ADD CONSTRAINT "SYS_C007783" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_DEFINITION_EXT" ADD CONSTRAINT "SYS_C007784" CHECK ("FORM_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_DEFINITION_EXT" ADD CONSTRAINT "SYS_C007785" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_DEFINITION_EXT" ADD CONSTRAINT "SYS_C007786" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_DEFINITION_EXT" ADD CONSTRAINT "SYS_C007787" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_DEFINITION_EXT" ADD CONSTRAINT "SYS_C008201" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_DEFINITION_EXT" ADD CONSTRAINT "SYS_C008463" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_DEFINITION_EXT" ADD CONSTRAINT "SYS_C008464" CHECK ("FORM_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_DEFINITION_EXT" ADD CONSTRAINT "SYS_C008465" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_DEFINITION_EXT" ADD CONSTRAINT "SYS_C008466" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_DEFINITION_EXT" ADD CONSTRAINT "SYS_C008467" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_DEFINITION_EXT" ADD CONSTRAINT "SYS_C008468" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table BPM_PROCESS_INSTANCE_EXT
+-- ----------------------------
+ALTER TABLE "BPM_PROCESS_INSTANCE_EXT" ADD CONSTRAINT "SYS_C007788" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_INSTANCE_EXT" ADD CONSTRAINT "SYS_C007789" CHECK ("START_USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_INSTANCE_EXT" ADD CONSTRAINT "SYS_C007790" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_INSTANCE_EXT" ADD CONSTRAINT "SYS_C007791" CHECK ("RESULT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_INSTANCE_EXT" ADD CONSTRAINT "SYS_C007792" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_INSTANCE_EXT" ADD CONSTRAINT "SYS_C007793" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_INSTANCE_EXT" ADD CONSTRAINT "SYS_C007794" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_INSTANCE_EXT" ADD CONSTRAINT "SYS_C008202" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_INSTANCE_EXT" ADD CONSTRAINT "SYS_C008469" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_INSTANCE_EXT" ADD CONSTRAINT "SYS_C008470" CHECK ("START_USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_INSTANCE_EXT" ADD CONSTRAINT "SYS_C008471" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_INSTANCE_EXT" ADD CONSTRAINT "SYS_C008472" CHECK ("RESULT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_INSTANCE_EXT" ADD CONSTRAINT "SYS_C008473" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_INSTANCE_EXT" ADD CONSTRAINT "SYS_C008474" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_INSTANCE_EXT" ADD CONSTRAINT "SYS_C008475" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_PROCESS_INSTANCE_EXT" ADD CONSTRAINT "SYS_C008476" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table BPM_TASK_ASSIGN_RULE
+-- ----------------------------
+ALTER TABLE "BPM_TASK_ASSIGN_RULE" ADD CONSTRAINT "SYS_C007795" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_ASSIGN_RULE" ADD CONSTRAINT "SYS_C007796" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_ASSIGN_RULE" ADD CONSTRAINT "SYS_C007797" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_ASSIGN_RULE" ADD CONSTRAINT "SYS_C007798" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_ASSIGN_RULE" ADD CONSTRAINT "SYS_C007799" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_ASSIGN_RULE" ADD CONSTRAINT "SYS_C008203" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_ASSIGN_RULE" ADD CONSTRAINT "SYS_C008477" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_ASSIGN_RULE" ADD CONSTRAINT "SYS_C008478" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_ASSIGN_RULE" ADD CONSTRAINT "SYS_C008479" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_ASSIGN_RULE" ADD CONSTRAINT "SYS_C008480" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_ASSIGN_RULE" ADD CONSTRAINT "SYS_C008481" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_ASSIGN_RULE" ADD CONSTRAINT "SYS_C008482" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table BPM_TASK_EXT
+-- ----------------------------
+ALTER TABLE "BPM_TASK_EXT" ADD CONSTRAINT "SYS_C007800" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_EXT" ADD CONSTRAINT "SYS_C007801" CHECK ("RESULT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_EXT" ADD CONSTRAINT "SYS_C007802" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_EXT" ADD CONSTRAINT "SYS_C007803" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_EXT" ADD CONSTRAINT "SYS_C007804" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_EXT" ADD CONSTRAINT "SYS_C008204" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_EXT" ADD CONSTRAINT "SYS_C008483" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_EXT" ADD CONSTRAINT "SYS_C008484" CHECK ("RESULT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_EXT" ADD CONSTRAINT "SYS_C008485" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_EXT" ADD CONSTRAINT "SYS_C008486" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_EXT" ADD CONSTRAINT "SYS_C008487" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_TASK_EXT" ADD CONSTRAINT "SYS_C008488" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table BPM_USER_GROUP
+-- ----------------------------
+ALTER TABLE "BPM_USER_GROUP" ADD CONSTRAINT "SYS_C007807" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_USER_GROUP" ADD CONSTRAINT "SYS_C007808" CHECK ("MEMBER_USER_IDS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_USER_GROUP" ADD CONSTRAINT "SYS_C007809" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_USER_GROUP" ADD CONSTRAINT "SYS_C007810" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_USER_GROUP" ADD CONSTRAINT "SYS_C007811" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_USER_GROUP" ADD CONSTRAINT "SYS_C007812" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_USER_GROUP" ADD CONSTRAINT "SYS_C008205" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_USER_GROUP" ADD CONSTRAINT "SYS_C008489" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_USER_GROUP" ADD CONSTRAINT "SYS_C008490" CHECK ("MEMBER_USER_IDS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_USER_GROUP" ADD CONSTRAINT "SYS_C008491" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_USER_GROUP" ADD CONSTRAINT "SYS_C008492" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_USER_GROUP" ADD CONSTRAINT "SYS_C008493" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_USER_GROUP" ADD CONSTRAINT "SYS_C008494" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "BPM_USER_GROUP" ADD CONSTRAINT "SYS_C008495" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table INFRA_API_ACCESS_LOG
+-- ----------------------------
+ALTER TABLE "INFRA_API_ACCESS_LOG" ADD CONSTRAINT "SYS_C007829" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ACCESS_LOG" ADD CONSTRAINT "SYS_C007830" CHECK ("USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ACCESS_LOG" ADD CONSTRAINT "SYS_C007831" CHECK ("USER_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ACCESS_LOG" ADD CONSTRAINT "SYS_C007832" CHECK ("BEGIN_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ACCESS_LOG" ADD CONSTRAINT "SYS_C007833" CHECK ("END_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ACCESS_LOG" ADD CONSTRAINT "SYS_C007834" CHECK ("DURATION" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ACCESS_LOG" ADD CONSTRAINT "SYS_C007835" CHECK ("RESULT_CODE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ACCESS_LOG" ADD CONSTRAINT "SYS_C007836" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ACCESS_LOG" ADD CONSTRAINT "SYS_C007837" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ACCESS_LOG" ADD CONSTRAINT "SYS_C007838" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ACCESS_LOG" ADD CONSTRAINT "SYS_C008496" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ACCESS_LOG" ADD CONSTRAINT "SYS_C008497" CHECK ("USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ACCESS_LOG" ADD CONSTRAINT "SYS_C008498" CHECK ("USER_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ACCESS_LOG" ADD CONSTRAINT "SYS_C008499" CHECK ("BEGIN_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ACCESS_LOG" ADD CONSTRAINT "SYS_C008500" CHECK ("END_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ACCESS_LOG" ADD CONSTRAINT "SYS_C008501" CHECK ("DURATION" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ACCESS_LOG" ADD CONSTRAINT "SYS_C008502" CHECK ("RESULT_CODE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ACCESS_LOG" ADD CONSTRAINT "SYS_C008503" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ACCESS_LOG" ADD CONSTRAINT "SYS_C008504" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ACCESS_LOG" ADD CONSTRAINT "SYS_C008505" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table INFRA_API_ERROR_LOG
+-- ----------------------------
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C007851" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C007852" CHECK ("USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C007853" CHECK ("USER_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C007854" CHECK ("EXCEPTION_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C007855" CHECK ("EXCEPTION_MESSAGE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C007856" CHECK ("EXCEPTION_ROOT_CAUSE_MESSAGE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C007857" CHECK ("EXCEPTION_STACK_TRACE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C007858" CHECK ("EXCEPTION_LINE_NUMBER" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C007859" CHECK ("PROCESS_STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C007860" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C007861" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C007862" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C008506" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C008507" CHECK ("USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C008508" CHECK ("USER_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C008509" CHECK ("EXCEPTION_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C008510" CHECK ("EXCEPTION_MESSAGE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C008511" CHECK ("EXCEPTION_ROOT_CAUSE_MESSAGE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C008512" CHECK ("EXCEPTION_STACK_TRACE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C008513" CHECK ("EXCEPTION_LINE_NUMBER" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C008514" CHECK ("PROCESS_STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C008515" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C008516" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_API_ERROR_LOG" ADD CONSTRAINT "SYS_C008517" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table INFRA_CODEGEN_COLUMN
+-- ----------------------------
+ALTER TABLE "INFRA_CODEGEN_COLUMN" ADD CONSTRAINT "SYS_C007839" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_COLUMN" ADD CONSTRAINT "SYS_C007840" CHECK ("TABLE_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_COLUMN" ADD CONSTRAINT "SYS_C007841" CHECK ("ORDINAL_POSITION" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_COLUMN" ADD CONSTRAINT "SYS_C007842" CHECK ("LIST_OPERATION_CONDITION" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_COLUMN" ADD CONSTRAINT "SYS_C007843" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_COLUMN" ADD CONSTRAINT "SYS_C007844" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_COLUMN" ADD CONSTRAINT "SYS_C008518" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_COLUMN" ADD CONSTRAINT "SYS_C008519" CHECK ("TABLE_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_COLUMN" ADD CONSTRAINT "SYS_C008520" CHECK ("ORDINAL_POSITION" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_COLUMN" ADD CONSTRAINT "SYS_C008521" CHECK ("LIST_OPERATION_CONDITION" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_COLUMN" ADD CONSTRAINT "SYS_C008522" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_COLUMN" ADD CONSTRAINT "SYS_C008523" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table INFRA_CODEGEN_TABLE
+-- ----------------------------
+ALTER TABLE "INFRA_CODEGEN_TABLE" ADD CONSTRAINT "SYS_C007845" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_TABLE" ADD CONSTRAINT "SYS_C007846" CHECK ("DATA_SOURCE_CONFIG_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_TABLE" ADD CONSTRAINT "SYS_C007847" CHECK ("SCENE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_TABLE" ADD CONSTRAINT "SYS_C007848" CHECK ("TEMPLATE_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_TABLE" ADD CONSTRAINT "SYS_C007849" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_TABLE" ADD CONSTRAINT "SYS_C007850" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_TABLE" ADD CONSTRAINT "SYS_C008524" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_TABLE" ADD CONSTRAINT "SYS_C008525" CHECK ("DATA_SOURCE_CONFIG_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_TABLE" ADD CONSTRAINT "SYS_C008526" CHECK ("SCENE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_TABLE" ADD CONSTRAINT "SYS_C008527" CHECK ("TEMPLATE_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_TABLE" ADD CONSTRAINT "SYS_C008528" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CODEGEN_TABLE" ADD CONSTRAINT "SYS_C008529" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table INFRA_CONFIG
+-- ----------------------------
+ALTER TABLE "INFRA_CONFIG" ADD CONSTRAINT "SYS_C007863" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CONFIG" ADD CONSTRAINT "SYS_C007864" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CONFIG" ADD CONSTRAINT "SYS_C007865" CHECK ("VISIBLE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CONFIG" ADD CONSTRAINT "SYS_C007866" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CONFIG" ADD CONSTRAINT "SYS_C007867" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CONFIG" ADD CONSTRAINT "SYS_C008530" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CONFIG" ADD CONSTRAINT "SYS_C008531" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CONFIG" ADD CONSTRAINT "SYS_C008532" CHECK ("VISIBLE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CONFIG" ADD CONSTRAINT "SYS_C008533" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_CONFIG" ADD CONSTRAINT "SYS_C008534" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table INFRA_DATA_SOURCE_CONFIG
+-- ----------------------------
+ALTER TABLE "INFRA_DATA_SOURCE_CONFIG" ADD CONSTRAINT "SYS_C008187" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_DATA_SOURCE_CONFIG" ADD CONSTRAINT "SYS_C008188" CHECK ("NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_DATA_SOURCE_CONFIG" ADD CONSTRAINT "SYS_C008189" CHECK ("URL" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_DATA_SOURCE_CONFIG" ADD CONSTRAINT "SYS_C008190" CHECK ("USERNAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_DATA_SOURCE_CONFIG" ADD CONSTRAINT "SYS_C008191" CHECK ("PASSWORD" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_DATA_SOURCE_CONFIG" ADD CONSTRAINT "SYS_C008192" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_DATA_SOURCE_CONFIG" ADD CONSTRAINT "SYS_C008193" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_DATA_SOURCE_CONFIG" ADD CONSTRAINT "SYS_C008194" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_DATA_SOURCE_CONFIG" ADD CONSTRAINT "SYS_C008535" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_DATA_SOURCE_CONFIG" ADD CONSTRAINT "SYS_C008536" CHECK ("NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_DATA_SOURCE_CONFIG" ADD CONSTRAINT "SYS_C008537" CHECK ("URL" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_DATA_SOURCE_CONFIG" ADD CONSTRAINT "SYS_C008538" CHECK ("USERNAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_DATA_SOURCE_CONFIG" ADD CONSTRAINT "SYS_C008539" CHECK ("PASSWORD" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_DATA_SOURCE_CONFIG" ADD CONSTRAINT "SYS_C008540" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_DATA_SOURCE_CONFIG" ADD CONSTRAINT "SYS_C008541" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_DATA_SOURCE_CONFIG" ADD CONSTRAINT "SYS_C008542" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table INFRA_FILE
+-- ----------------------------
+ALTER TABLE "INFRA_FILE" ADD CONSTRAINT "SYS_C007868" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE" ADD CONSTRAINT "SYS_C007869" CHECK ("SIZE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE" ADD CONSTRAINT "SYS_C007870" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE" ADD CONSTRAINT "SYS_C007871" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE" ADD CONSTRAINT "SYS_C008543" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE" ADD CONSTRAINT "SYS_C008544" CHECK ("SIZE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE" ADD CONSTRAINT "SYS_C008545" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE" ADD CONSTRAINT "SYS_C008546" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table INFRA_FILE_CONFIG
+-- ----------------------------
+ALTER TABLE "INFRA_FILE_CONFIG" ADD CONSTRAINT "SYS_C007872" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE_CONFIG" ADD CONSTRAINT "SYS_C007873" CHECK ("STORAGE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE_CONFIG" ADD CONSTRAINT "SYS_C007874" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE_CONFIG" ADD CONSTRAINT "SYS_C007875" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE_CONFIG" ADD CONSTRAINT "SYS_C008547" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE_CONFIG" ADD CONSTRAINT "SYS_C008548" CHECK ("STORAGE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE_CONFIG" ADD CONSTRAINT "SYS_C008549" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE_CONFIG" ADD CONSTRAINT "SYS_C008550" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table INFRA_FILE_CONTENT
+-- ----------------------------
+ALTER TABLE "INFRA_FILE_CONTENT" ADD CONSTRAINT "SYS_C007876" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE_CONTENT" ADD CONSTRAINT "SYS_C007877" CHECK ("CONFIG_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE_CONTENT" ADD CONSTRAINT "SYS_C007878" CHECK ("CONTENT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE_CONTENT" ADD CONSTRAINT "SYS_C007879" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE_CONTENT" ADD CONSTRAINT "SYS_C007880" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE_CONTENT" ADD CONSTRAINT "SYS_C008551" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE_CONTENT" ADD CONSTRAINT "SYS_C008552" CHECK ("CONFIG_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE_CONTENT" ADD CONSTRAINT "SYS_C008553" CHECK ("CONTENT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE_CONTENT" ADD CONSTRAINT "SYS_C008554" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_FILE_CONTENT" ADD CONSTRAINT "SYS_C008555" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table INFRA_JOB
+-- ----------------------------
+ALTER TABLE "INFRA_JOB" ADD CONSTRAINT "SYS_C007881" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB" ADD CONSTRAINT "SYS_C007882" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB" ADD CONSTRAINT "SYS_C007883" CHECK ("RETRY_COUNT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB" ADD CONSTRAINT "SYS_C007884" CHECK ("RETRY_INTERVAL" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB" ADD CONSTRAINT "SYS_C007885" CHECK ("MONITOR_TIMEOUT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB" ADD CONSTRAINT "SYS_C007886" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB" ADD CONSTRAINT "SYS_C007887" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB" ADD CONSTRAINT "SYS_C008556" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB" ADD CONSTRAINT "SYS_C008557" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB" ADD CONSTRAINT "SYS_C008558" CHECK ("RETRY_COUNT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB" ADD CONSTRAINT "SYS_C008559" CHECK ("RETRY_INTERVAL" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB" ADD CONSTRAINT "SYS_C008560" CHECK ("MONITOR_TIMEOUT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB" ADD CONSTRAINT "SYS_C008561" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB" ADD CONSTRAINT "SYS_C008562" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table INFRA_JOB_LOG
+-- ----------------------------
+ALTER TABLE "INFRA_JOB_LOG" ADD CONSTRAINT "SYS_C007894" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB_LOG" ADD CONSTRAINT "SYS_C007895" CHECK ("JOB_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB_LOG" ADD CONSTRAINT "SYS_C007896" CHECK ("EXECUTE_INDEX" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB_LOG" ADD CONSTRAINT "SYS_C007897" CHECK ("BEGIN_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB_LOG" ADD CONSTRAINT "SYS_C007898" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB_LOG" ADD CONSTRAINT "SYS_C007899" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB_LOG" ADD CONSTRAINT "SYS_C007900" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB_LOG" ADD CONSTRAINT "SYS_C008563" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB_LOG" ADD CONSTRAINT "SYS_C008564" CHECK ("JOB_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB_LOG" ADD CONSTRAINT "SYS_C008565" CHECK ("EXECUTE_INDEX" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB_LOG" ADD CONSTRAINT "SYS_C008566" CHECK ("BEGIN_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB_LOG" ADD CONSTRAINT "SYS_C008567" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB_LOG" ADD CONSTRAINT "SYS_C008568" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_JOB_LOG" ADD CONSTRAINT "SYS_C008569" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table INFRA_TEST_DEMO
+-- ----------------------------
+ALTER TABLE "INFRA_TEST_DEMO" ADD CONSTRAINT "SYS_C007888" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_TEST_DEMO" ADD CONSTRAINT "SYS_C007889" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_TEST_DEMO" ADD CONSTRAINT "SYS_C007890" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_TEST_DEMO" ADD CONSTRAINT "SYS_C007891" CHECK ("CATEGORY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_TEST_DEMO" ADD CONSTRAINT "SYS_C007892" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_TEST_DEMO" ADD CONSTRAINT "SYS_C007893" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_TEST_DEMO" ADD CONSTRAINT "SYS_C008570" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_TEST_DEMO" ADD CONSTRAINT "SYS_C008571" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_TEST_DEMO" ADD CONSTRAINT "SYS_C008572" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_TEST_DEMO" ADD CONSTRAINT "SYS_C008573" CHECK ("CATEGORY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_TEST_DEMO" ADD CONSTRAINT "SYS_C008574" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "INFRA_TEST_DEMO" ADD CONSTRAINT "SYS_C008575" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table MEMBER_USER
+-- ----------------------------
+ALTER TABLE "MEMBER_USER" ADD CONSTRAINT "SYS_C007901" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "MEMBER_USER" ADD CONSTRAINT "SYS_C007902" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "MEMBER_USER" ADD CONSTRAINT "SYS_C007903" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "MEMBER_USER" ADD CONSTRAINT "SYS_C007904" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "MEMBER_USER" ADD CONSTRAINT "SYS_C007905" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "MEMBER_USER" ADD CONSTRAINT "SYS_C008576" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "MEMBER_USER" ADD CONSTRAINT "SYS_C008577" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "MEMBER_USER" ADD CONSTRAINT "SYS_C008578" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "MEMBER_USER" ADD CONSTRAINT "SYS_C008579" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "MEMBER_USER" ADD CONSTRAINT "SYS_C008580" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table PAY_APP
+-- ----------------------------
+ALTER TABLE "PAY_APP" ADD CONSTRAINT "SYS_C007906" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_APP" ADD CONSTRAINT "SYS_C007907" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_APP" ADD CONSTRAINT "SYS_C007908" CHECK ("MERCHANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_APP" ADD CONSTRAINT "SYS_C007909" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_APP" ADD CONSTRAINT "SYS_C007910" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_APP" ADD CONSTRAINT "SYS_C007911" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_APP" ADD CONSTRAINT "SYS_C008581" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_APP" ADD CONSTRAINT "SYS_C008582" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_APP" ADD CONSTRAINT "SYS_C008583" CHECK ("MERCHANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_APP" ADD CONSTRAINT "SYS_C008584" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_APP" ADD CONSTRAINT "SYS_C008585" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_APP" ADD CONSTRAINT "SYS_C008586" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table PAY_CHANNEL
+-- ----------------------------
+ALTER TABLE "PAY_CHANNEL" ADD CONSTRAINT "SYS_C007912" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_CHANNEL" ADD CONSTRAINT "SYS_C007913" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_CHANNEL" ADD CONSTRAINT "SYS_C007914" CHECK ("FEE_RATE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_CHANNEL" ADD CONSTRAINT "SYS_C007915" CHECK ("MERCHANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_CHANNEL" ADD CONSTRAINT "SYS_C007916" CHECK ("APP_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_CHANNEL" ADD CONSTRAINT "SYS_C007917" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_CHANNEL" ADD CONSTRAINT "SYS_C007918" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_CHANNEL" ADD CONSTRAINT "SYS_C007919" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_CHANNEL" ADD CONSTRAINT "SYS_C008587" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_CHANNEL" ADD CONSTRAINT "SYS_C008588" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_CHANNEL" ADD CONSTRAINT "SYS_C008589" CHECK ("FEE_RATE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_CHANNEL" ADD CONSTRAINT "SYS_C008590" CHECK ("MERCHANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_CHANNEL" ADD CONSTRAINT "SYS_C008591" CHECK ("APP_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_CHANNEL" ADD CONSTRAINT "SYS_C008592" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_CHANNEL" ADD CONSTRAINT "SYS_C008593" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_CHANNEL" ADD CONSTRAINT "SYS_C008594" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table PAY_MERCHANT
+-- ----------------------------
+ALTER TABLE "PAY_MERCHANT" ADD CONSTRAINT "SYS_C007920" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_MERCHANT" ADD CONSTRAINT "SYS_C007921" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_MERCHANT" ADD CONSTRAINT "SYS_C007922" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_MERCHANT" ADD CONSTRAINT "SYS_C007923" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_MERCHANT" ADD CONSTRAINT "SYS_C007924" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_MERCHANT" ADD CONSTRAINT "SYS_C008595" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_MERCHANT" ADD CONSTRAINT "SYS_C008596" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_MERCHANT" ADD CONSTRAINT "SYS_C008597" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_MERCHANT" ADD CONSTRAINT "SYS_C008598" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_MERCHANT" ADD CONSTRAINT "SYS_C008599" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table PAY_NOTIFY_LOG
+-- ----------------------------
+ALTER TABLE "PAY_NOTIFY_LOG" ADD CONSTRAINT "SYS_C007925" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_LOG" ADD CONSTRAINT "SYS_C007926" CHECK ("TASK_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_LOG" ADD CONSTRAINT "SYS_C007927" CHECK ("NOTIFY_TIMES" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_LOG" ADD CONSTRAINT "SYS_C007928" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_LOG" ADD CONSTRAINT "SYS_C007929" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_LOG" ADD CONSTRAINT "SYS_C007930" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_LOG" ADD CONSTRAINT "SYS_C007931" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_LOG" ADD CONSTRAINT "SYS_C008600" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_LOG" ADD CONSTRAINT "SYS_C008601" CHECK ("TASK_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_LOG" ADD CONSTRAINT "SYS_C008602" CHECK ("NOTIFY_TIMES" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_LOG" ADD CONSTRAINT "SYS_C008603" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_LOG" ADD CONSTRAINT "SYS_C008604" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_LOG" ADD CONSTRAINT "SYS_C008605" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_LOG" ADD CONSTRAINT "SYS_C008606" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table PAY_NOTIFY_TASK
+-- ----------------------------
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C007932" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C007933" CHECK ("MERCHANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C007934" CHECK ("APP_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C007935" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C007936" CHECK ("DATA_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C007937" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C007938" CHECK ("NEXT_NOTIFY_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C007939" CHECK ("LAST_EXECUTE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C007940" CHECK ("NOTIFY_TIMES" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C007941" CHECK ("MAX_NOTIFY_TIMES" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C007942" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C007943" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C007944" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C008607" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C008608" CHECK ("MERCHANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C008609" CHECK ("APP_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C008610" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C008611" CHECK ("DATA_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C008612" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C008613" CHECK ("NEXT_NOTIFY_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C008614" CHECK ("LAST_EXECUTE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C008615" CHECK ("NOTIFY_TIMES" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C008616" CHECK ("MAX_NOTIFY_TIMES" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C008617" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C008618" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_NOTIFY_TASK" ADD CONSTRAINT "SYS_C008619" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table PAY_ORDER
+-- ----------------------------
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C007945" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C007946" CHECK ("MERCHANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C007947" CHECK ("APP_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C007948" CHECK ("NOTIFY_STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C007949" CHECK ("AMOUNT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C007950" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C007951" CHECK ("EXPIRE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C007952" CHECK ("REFUND_STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C007953" CHECK ("REFUND_TIMES" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C007954" CHECK ("REFUND_AMOUNT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C007955" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C007956" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C007957" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C008620" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C008621" CHECK ("MERCHANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C008622" CHECK ("APP_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C008623" CHECK ("NOTIFY_STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C008624" CHECK ("AMOUNT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C008625" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C008626" CHECK ("EXPIRE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C008627" CHECK ("REFUND_STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C008628" CHECK ("REFUND_TIMES" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C008629" CHECK ("REFUND_AMOUNT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C008630" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C008631" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER" ADD CONSTRAINT "SYS_C008632" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table PAY_ORDER_EXTENSION
+-- ----------------------------
+ALTER TABLE "PAY_ORDER_EXTENSION" ADD CONSTRAINT "SYS_C007958" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER_EXTENSION" ADD CONSTRAINT "SYS_C007959" CHECK ("ORDER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER_EXTENSION" ADD CONSTRAINT "SYS_C007960" CHECK ("CHANNEL_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER_EXTENSION" ADD CONSTRAINT "SYS_C007961" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER_EXTENSION" ADD CONSTRAINT "SYS_C007962" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER_EXTENSION" ADD CONSTRAINT "SYS_C007963" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER_EXTENSION" ADD CONSTRAINT "SYS_C007964" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER_EXTENSION" ADD CONSTRAINT "SYS_C008633" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER_EXTENSION" ADD CONSTRAINT "SYS_C008634" CHECK ("ORDER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER_EXTENSION" ADD CONSTRAINT "SYS_C008635" CHECK ("CHANNEL_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER_EXTENSION" ADD CONSTRAINT "SYS_C008636" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER_EXTENSION" ADD CONSTRAINT "SYS_C008637" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER_EXTENSION" ADD CONSTRAINT "SYS_C008638" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_ORDER_EXTENSION" ADD CONSTRAINT "SYS_C008639" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table PAY_REFUND
+-- ----------------------------
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C007965" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C007966" CHECK ("MERCHANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C007967" CHECK ("APP_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C007968" CHECK ("CHANNEL_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C007969" CHECK ("ORDER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C007970" CHECK ("NOTIFY_STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C007971" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C007972" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C007973" CHECK ("PAY_AMOUNT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C007974" CHECK ("REFUND_AMOUNT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C007975" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C007976" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C007977" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C008640" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C008641" CHECK ("MERCHANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C008642" CHECK ("APP_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C008643" CHECK ("CHANNEL_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C008644" CHECK ("ORDER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C008645" CHECK ("NOTIFY_STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C008646" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C008647" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C008648" CHECK ("PAY_AMOUNT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C008649" CHECK ("REFUND_AMOUNT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C008650" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C008651" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PAY_REFUND" ADD CONSTRAINT "SYS_C008652" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table QRTZ_BLOB_TRIGGERS
+-- ----------------------------
+ALTER TABLE "QRTZ_BLOB_TRIGGERS" ADD CONSTRAINT "QRTZ_BLOB_TRIG_PK" PRIMARY KEY ("SCHED_NAME", "TRIGGER_NAME", "TRIGGER_GROUP");
+
+-- ----------------------------
+-- Checks structure for table QRTZ_BLOB_TRIGGERS
+-- ----------------------------
+ALTER TABLE "QRTZ_BLOB_TRIGGERS" ADD CONSTRAINT "SYS_C008266" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_BLOB_TRIGGERS" ADD CONSTRAINT "SYS_C008267" CHECK ("TRIGGER_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_BLOB_TRIGGERS" ADD CONSTRAINT "SYS_C008268" CHECK ("TRIGGER_GROUP" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_BLOB_TRIGGERS" ADD CONSTRAINT "SYS_C008653" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_BLOB_TRIGGERS" ADD CONSTRAINT "SYS_C008654" CHECK ("TRIGGER_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_BLOB_TRIGGERS" ADD CONSTRAINT "SYS_C008655" CHECK ("TRIGGER_GROUP" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table QRTZ_CALENDARS
+-- ----------------------------
+ALTER TABLE "QRTZ_CALENDARS" ADD CONSTRAINT "QRTZ_CALENDARS_PK" PRIMARY KEY ("SCHED_NAME", "CALENDAR_NAME");
+
+-- ----------------------------
+-- Checks structure for table QRTZ_CALENDARS
+-- ----------------------------
+ALTER TABLE "QRTZ_CALENDARS" ADD CONSTRAINT "SYS_C008271" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_CALENDARS" ADD CONSTRAINT "SYS_C008272" CHECK ("CALENDAR_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_CALENDARS" ADD CONSTRAINT "SYS_C008273" CHECK ("CALENDAR" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_CALENDARS" ADD CONSTRAINT "SYS_C008656" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_CALENDARS" ADD CONSTRAINT "SYS_C008657" CHECK ("CALENDAR_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_CALENDARS" ADD CONSTRAINT "SYS_C008658" CHECK ("CALENDAR" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table QRTZ_CRON_TRIGGERS
+-- ----------------------------
+ALTER TABLE "QRTZ_CRON_TRIGGERS" ADD CONSTRAINT "QRTZ_CRON_TRIG_PK" PRIMARY KEY ("SCHED_NAME", "TRIGGER_NAME", "TRIGGER_GROUP");
+
+-- ----------------------------
+-- Checks structure for table QRTZ_CRON_TRIGGERS
+-- ----------------------------
+ALTER TABLE "QRTZ_CRON_TRIGGERS" ADD CONSTRAINT "SYS_C008255" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_CRON_TRIGGERS" ADD CONSTRAINT "SYS_C008256" CHECK ("TRIGGER_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_CRON_TRIGGERS" ADD CONSTRAINT "SYS_C008257" CHECK ("TRIGGER_GROUP" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_CRON_TRIGGERS" ADD CONSTRAINT "SYS_C008258" CHECK ("CRON_EXPRESSION" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_CRON_TRIGGERS" ADD CONSTRAINT "SYS_C008659" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_CRON_TRIGGERS" ADD CONSTRAINT "SYS_C008660" CHECK ("TRIGGER_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_CRON_TRIGGERS" ADD CONSTRAINT "SYS_C008661" CHECK ("TRIGGER_GROUP" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_CRON_TRIGGERS" ADD CONSTRAINT "SYS_C008662" CHECK ("CRON_EXPRESSION" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table QRTZ_FIRED_TRIGGERS
+-- ----------------------------
+ALTER TABLE "QRTZ_FIRED_TRIGGERS" ADD CONSTRAINT "QRTZ_FIRED_TRIGGER_PK" PRIMARY KEY ("SCHED_NAME", "ENTRY_ID");
+
+-- ----------------------------
+-- Checks structure for table QRTZ_FIRED_TRIGGERS
+-- ----------------------------
+ALTER TABLE "QRTZ_FIRED_TRIGGERS" ADD CONSTRAINT "SYS_C008278" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_FIRED_TRIGGERS" ADD CONSTRAINT "SYS_C008279" CHECK ("ENTRY_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_FIRED_TRIGGERS" ADD CONSTRAINT "SYS_C008280" CHECK ("TRIGGER_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_FIRED_TRIGGERS" ADD CONSTRAINT "SYS_C008281" CHECK ("TRIGGER_GROUP" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_FIRED_TRIGGERS" ADD CONSTRAINT "SYS_C008282" CHECK ("INSTANCE_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_FIRED_TRIGGERS" ADD CONSTRAINT "SYS_C008283" CHECK ("FIRED_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_FIRED_TRIGGERS" ADD CONSTRAINT "SYS_C008284" CHECK ("SCHED_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_FIRED_TRIGGERS" ADD CONSTRAINT "SYS_C008285" CHECK ("PRIORITY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_FIRED_TRIGGERS" ADD CONSTRAINT "SYS_C008286" CHECK ("STATE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_FIRED_TRIGGERS" ADD CONSTRAINT "SYS_C008663" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_FIRED_TRIGGERS" ADD CONSTRAINT "SYS_C008664" CHECK ("ENTRY_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_FIRED_TRIGGERS" ADD CONSTRAINT "SYS_C008665" CHECK ("TRIGGER_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_FIRED_TRIGGERS" ADD CONSTRAINT "SYS_C008666" CHECK ("TRIGGER_GROUP" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_FIRED_TRIGGERS" ADD CONSTRAINT "SYS_C008667" CHECK ("INSTANCE_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_FIRED_TRIGGERS" ADD CONSTRAINT "SYS_C008668" CHECK ("FIRED_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_FIRED_TRIGGERS" ADD CONSTRAINT "SYS_C008669" CHECK ("SCHED_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_FIRED_TRIGGERS" ADD CONSTRAINT "SYS_C008670" CHECK ("PRIORITY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_FIRED_TRIGGERS" ADD CONSTRAINT "SYS_C008671" CHECK ("STATE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Indexes structure for table QRTZ_FIRED_TRIGGERS
+-- ----------------------------
+CREATE INDEX "IDX_QRTZ_FT_INST_JOB_REQ_RCVRY"
+  ON "QRTZ_FIRED_TRIGGERS" ("SCHED_NAME" ASC, "INSTANCE_NAME" ASC, "REQUESTS_RECOVERY" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+);
+CREATE INDEX "IDX_QRTZ_FT_JG"
+  ON "QRTZ_FIRED_TRIGGERS" ("SCHED_NAME" ASC, "JOB_GROUP" ASC) LOCAL
+  LOGGING
+  ONLINE
+  NOSORT
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+);
+CREATE INDEX "IDX_QRTZ_FT_J_G"
+  ON "QRTZ_FIRED_TRIGGERS" ("SCHED_NAME" ASC, "JOB_NAME" ASC, "JOB_GROUP" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+);
+CREATE INDEX "IDX_QRTZ_FT_TG"
+  ON "QRTZ_FIRED_TRIGGERS" ("SCHED_NAME" ASC, "TRIGGER_GROUP" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+);
+
+-- ----------------------------
+-- Primary Key structure for table QRTZ_JOB_DETAILS
+-- ----------------------------
+ALTER TABLE "QRTZ_JOB_DETAILS" ADD CONSTRAINT "QRTZ_JOB_DETAILS_PK" PRIMARY KEY ("SCHED_NAME", "JOB_NAME", "JOB_GROUP");
+
+-- ----------------------------
+-- Checks structure for table QRTZ_JOB_DETAILS
+-- ----------------------------
+ALTER TABLE "QRTZ_JOB_DETAILS" ADD CONSTRAINT "SYS_C008228" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_JOB_DETAILS" ADD CONSTRAINT "SYS_C008229" CHECK ("JOB_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_JOB_DETAILS" ADD CONSTRAINT "SYS_C008230" CHECK ("JOB_GROUP" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_JOB_DETAILS" ADD CONSTRAINT "SYS_C008231" CHECK ("JOB_CLASS_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_JOB_DETAILS" ADD CONSTRAINT "SYS_C008232" CHECK ("IS_DURABLE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_JOB_DETAILS" ADD CONSTRAINT "SYS_C008233" CHECK ("IS_NONCONCURRENT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_JOB_DETAILS" ADD CONSTRAINT "SYS_C008234" CHECK ("IS_UPDATE_DATA" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_JOB_DETAILS" ADD CONSTRAINT "SYS_C008235" CHECK ("REQUESTS_RECOVERY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Indexes structure for table QRTZ_JOB_DETAILS
+-- ----------------------------
+CREATE INDEX "IDX_QRTZ_J_GRP"
+  ON "QRTZ_JOB_DETAILS" ("SCHED_NAME" ASC, "JOB_GROUP" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+);
+CREATE INDEX "IDX_QRTZ_J_REQ_RECOVERY"
+  ON "QRTZ_JOB_DETAILS" ("SCHED_NAME" ASC, "REQUESTS_RECOVERY" ASC) LOCAL
+  LOGGING
+  ONLINE
+  NOSORT
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+);
+
+-- ----------------------------
+-- Primary Key structure for table QRTZ_LOCKS
+-- ----------------------------
+ALTER TABLE "QRTZ_LOCKS" ADD CONSTRAINT "QRTZ_LOCKS_PK" PRIMARY KEY ("SCHED_NAME", "LOCK_NAME");
+
+-- ----------------------------
+-- Checks structure for table QRTZ_LOCKS
+-- ----------------------------
+ALTER TABLE "QRTZ_LOCKS" ADD CONSTRAINT "SYS_C008293" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_LOCKS" ADD CONSTRAINT "SYS_C008294" CHECK ("LOCK_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_LOCKS" ADD CONSTRAINT "SYS_C008672" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_LOCKS" ADD CONSTRAINT "SYS_C008673" CHECK ("LOCK_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table QRTZ_PAUSED_TRIGGER_GRPS
+-- ----------------------------
+ALTER TABLE "QRTZ_PAUSED_TRIGGER_GRPS" ADD CONSTRAINT "QRTZ_PAUSED_TRIG_GRPS_PK" PRIMARY KEY ("SCHED_NAME", "TRIGGER_GROUP");
+
+-- ----------------------------
+-- Checks structure for table QRTZ_PAUSED_TRIGGER_GRPS
+-- ----------------------------
+ALTER TABLE "QRTZ_PAUSED_TRIGGER_GRPS" ADD CONSTRAINT "SYS_C008275" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_PAUSED_TRIGGER_GRPS" ADD CONSTRAINT "SYS_C008276" CHECK ("TRIGGER_GROUP" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_PAUSED_TRIGGER_GRPS" ADD CONSTRAINT "SYS_C008674" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_PAUSED_TRIGGER_GRPS" ADD CONSTRAINT "SYS_C008675" CHECK ("TRIGGER_GROUP" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table QRTZ_SCHEDULER_STATE
+-- ----------------------------
+ALTER TABLE "QRTZ_SCHEDULER_STATE" ADD CONSTRAINT "QRTZ_SCHEDULER_STATE_PK" PRIMARY KEY ("SCHED_NAME", "INSTANCE_NAME");
+
+-- ----------------------------
+-- Checks structure for table QRTZ_SCHEDULER_STATE
+-- ----------------------------
+ALTER TABLE "QRTZ_SCHEDULER_STATE" ADD CONSTRAINT "SYS_C008288" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SCHEDULER_STATE" ADD CONSTRAINT "SYS_C008289" CHECK ("INSTANCE_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SCHEDULER_STATE" ADD CONSTRAINT "SYS_C008290" CHECK ("LAST_CHECKIN_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SCHEDULER_STATE" ADD CONSTRAINT "SYS_C008291" CHECK ("CHECKIN_INTERVAL" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SCHEDULER_STATE" ADD CONSTRAINT "SYS_C008676" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SCHEDULER_STATE" ADD CONSTRAINT "SYS_C008677" CHECK ("INSTANCE_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SCHEDULER_STATE" ADD CONSTRAINT "SYS_C008678" CHECK ("LAST_CHECKIN_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SCHEDULER_STATE" ADD CONSTRAINT "SYS_C008679" CHECK ("CHECKIN_INTERVAL" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table QRTZ_SIMPLE_TRIGGERS
+-- ----------------------------
+ALTER TABLE "QRTZ_SIMPLE_TRIGGERS" ADD CONSTRAINT "QRTZ_SIMPLE_TRIG_PK" PRIMARY KEY ("SCHED_NAME", "TRIGGER_NAME", "TRIGGER_GROUP");
+
+-- ----------------------------
+-- Checks structure for table QRTZ_SIMPLE_TRIGGERS
+-- ----------------------------
+ALTER TABLE "QRTZ_SIMPLE_TRIGGERS" ADD CONSTRAINT "SYS_C008247" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SIMPLE_TRIGGERS" ADD CONSTRAINT "SYS_C008248" CHECK ("TRIGGER_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SIMPLE_TRIGGERS" ADD CONSTRAINT "SYS_C008249" CHECK ("TRIGGER_GROUP" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SIMPLE_TRIGGERS" ADD CONSTRAINT "SYS_C008250" CHECK ("REPEAT_COUNT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SIMPLE_TRIGGERS" ADD CONSTRAINT "SYS_C008251" CHECK ("REPEAT_INTERVAL" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SIMPLE_TRIGGERS" ADD CONSTRAINT "SYS_C008252" CHECK ("TIMES_TRIGGERED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SIMPLE_TRIGGERS" ADD CONSTRAINT "SYS_C008680" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SIMPLE_TRIGGERS" ADD CONSTRAINT "SYS_C008681" CHECK ("TRIGGER_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SIMPLE_TRIGGERS" ADD CONSTRAINT "SYS_C008682" CHECK ("TRIGGER_GROUP" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SIMPLE_TRIGGERS" ADD CONSTRAINT "SYS_C008683" CHECK ("REPEAT_COUNT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SIMPLE_TRIGGERS" ADD CONSTRAINT "SYS_C008684" CHECK ("REPEAT_INTERVAL" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SIMPLE_TRIGGERS" ADD CONSTRAINT "SYS_C008685" CHECK ("TIMES_TRIGGERED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table QRTZ_SIMPROP_TRIGGERS
+-- ----------------------------
+ALTER TABLE "QRTZ_SIMPROP_TRIGGERS" ADD CONSTRAINT "QRTZ_SIMPROP_TRIG_PK" PRIMARY KEY ("SCHED_NAME", "TRIGGER_NAME", "TRIGGER_GROUP");
+
+-- ----------------------------
+-- Checks structure for table QRTZ_SIMPROP_TRIGGERS
+-- ----------------------------
+ALTER TABLE "QRTZ_SIMPROP_TRIGGERS" ADD CONSTRAINT "SYS_C008261" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SIMPROP_TRIGGERS" ADD CONSTRAINT "SYS_C008262" CHECK ("TRIGGER_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SIMPROP_TRIGGERS" ADD CONSTRAINT "SYS_C008263" CHECK ("TRIGGER_GROUP" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SIMPROP_TRIGGERS" ADD CONSTRAINT "SYS_C008686" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SIMPROP_TRIGGERS" ADD CONSTRAINT "SYS_C008687" CHECK ("TRIGGER_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_SIMPROP_TRIGGERS" ADD CONSTRAINT "SYS_C008688" CHECK ("TRIGGER_GROUP" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table QRTZ_TRIGGERS
+-- ----------------------------
+ALTER TABLE "QRTZ_TRIGGERS" ADD CONSTRAINT "QRTZ_TRIGGERS_PK" PRIMARY KEY ("SCHED_NAME", "TRIGGER_NAME", "TRIGGER_GROUP");
+
+-- ----------------------------
+-- Checks structure for table QRTZ_TRIGGERS
+-- ----------------------------
+ALTER TABLE "QRTZ_TRIGGERS" ADD CONSTRAINT "SYS_C008237" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_TRIGGERS" ADD CONSTRAINT "SYS_C008238" CHECK ("TRIGGER_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_TRIGGERS" ADD CONSTRAINT "SYS_C008239" CHECK ("TRIGGER_GROUP" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_TRIGGERS" ADD CONSTRAINT "SYS_C008240" CHECK ("JOB_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_TRIGGERS" ADD CONSTRAINT "SYS_C008241" CHECK ("JOB_GROUP" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_TRIGGERS" ADD CONSTRAINT "SYS_C008242" CHECK ("TRIGGER_STATE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_TRIGGERS" ADD CONSTRAINT "SYS_C008243" CHECK ("TRIGGER_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_TRIGGERS" ADD CONSTRAINT "SYS_C008244" CHECK ("START_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_TRIGGERS" ADD CONSTRAINT "SYS_C008689" CHECK ("SCHED_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_TRIGGERS" ADD CONSTRAINT "SYS_C008690" CHECK ("TRIGGER_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_TRIGGERS" ADD CONSTRAINT "SYS_C008691" CHECK ("TRIGGER_GROUP" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_TRIGGERS" ADD CONSTRAINT "SYS_C008692" CHECK ("JOB_NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_TRIGGERS" ADD CONSTRAINT "SYS_C008693" CHECK ("JOB_GROUP" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_TRIGGERS" ADD CONSTRAINT "SYS_C008694" CHECK ("TRIGGER_STATE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_TRIGGERS" ADD CONSTRAINT "SYS_C008695" CHECK ("TRIGGER_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "QRTZ_TRIGGERS" ADD CONSTRAINT "SYS_C008696" CHECK ("START_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Indexes structure for table QRTZ_TRIGGERS
+-- ----------------------------
+CREATE INDEX "IDX_QRTZ_T_C"
+  ON "QRTZ_TRIGGERS" ("SCHED_NAME" ASC, "CALENDAR_NAME" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+);
+CREATE INDEX "IDX_QRTZ_T_J"
+  ON "QRTZ_TRIGGERS" ("SCHED_NAME" ASC, "JOB_NAME" ASC, "JOB_GROUP" ASC) LOCAL
+  LOGGING
+  ONLINE
+  NOSORT
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+);
+CREATE INDEX "IDX_QRTZ_T_JG"
+  ON "QRTZ_TRIGGERS" ("SCHED_NAME" ASC, "JOB_GROUP" ASC) LOCAL
+  LOGGING
+  ONLINE
+  NOSORT
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+);
+CREATE INDEX "IDX_QRTZ_T_NEXT_FIRE_TIME"
+  ON "QRTZ_TRIGGERS" ("SCHED_NAME" ASC, "NEXT_FIRE_TIME" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+);
+CREATE INDEX "IDX_QRTZ_T_NFT_ST"
+  ON "QRTZ_TRIGGERS" ("SCHED_NAME" ASC, "TRIGGER_STATE" ASC, "NEXT_FIRE_TIME" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+);
+CREATE INDEX "IDX_QRTZ_T_NFT_ST_MISFIRE"
+  ON "QRTZ_TRIGGERS" ("SCHED_NAME" ASC, "MISFIRE_INSTR" ASC, "NEXT_FIRE_TIME" ASC, "TRIGGER_STATE" ASC) LOCAL
+  LOGGING
+  ONLINE
+  NOSORT
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+);
+CREATE INDEX "IDX_QRTZ_T_STATE"
+  ON "QRTZ_TRIGGERS" ("SCHED_NAME" ASC, "TRIGGER_STATE" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536
+  NEXT 1048576
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  FREELISTS 1
+  FREELIST GROUPS 1
+  BUFFER_POOL DEFAULT
+);
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_DEPT
+-- ----------------------------
+ALTER TABLE "SYSTEM_DEPT" ADD CONSTRAINT "SYS_C008030" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DEPT" ADD CONSTRAINT "SYS_C008031" CHECK ("PARENT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DEPT" ADD CONSTRAINT "SYS_C008032" CHECK ("SORT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DEPT" ADD CONSTRAINT "SYS_C008033" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DEPT" ADD CONSTRAINT "SYS_C008034" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DEPT" ADD CONSTRAINT "SYS_C008035" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DEPT" ADD CONSTRAINT "SYS_C008036" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DEPT" ADD CONSTRAINT "SYS_C008206" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DEPT" ADD CONSTRAINT "SYS_C008697" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DEPT" ADD CONSTRAINT "SYS_C008698" CHECK ("PARENT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DEPT" ADD CONSTRAINT "SYS_C008699" CHECK ("SORT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DEPT" ADD CONSTRAINT "SYS_C008700" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DEPT" ADD CONSTRAINT "SYS_C008701" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DEPT" ADD CONSTRAINT "SYS_C008702" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DEPT" ADD CONSTRAINT "SYS_C008703" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DEPT" ADD CONSTRAINT "SYS_C008704" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_DICT_DATA
+-- ----------------------------
+ALTER TABLE "SYSTEM_DICT_DATA" ADD CONSTRAINT "SYS_C008037" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DICT_DATA" ADD CONSTRAINT "SYS_C008038" CHECK ("SORT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DICT_DATA" ADD CONSTRAINT "SYS_C008039" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DICT_DATA" ADD CONSTRAINT "SYS_C008040" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DICT_DATA" ADD CONSTRAINT "SYS_C008041" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DICT_DATA" ADD CONSTRAINT "SYS_C008207" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DICT_DATA" ADD CONSTRAINT "SYS_C008705" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DICT_DATA" ADD CONSTRAINT "SYS_C008706" CHECK ("SORT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DICT_DATA" ADD CONSTRAINT "SYS_C008707" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DICT_DATA" ADD CONSTRAINT "SYS_C008708" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DICT_DATA" ADD CONSTRAINT "SYS_C008709" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DICT_DATA" ADD CONSTRAINT "SYS_C008710" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_DICT_TYPE
+-- ----------------------------
+ALTER TABLE "SYSTEM_DICT_TYPE" ADD CONSTRAINT "SYS_C008042" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DICT_TYPE" ADD CONSTRAINT "SYS_C008043" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DICT_TYPE" ADD CONSTRAINT "SYS_C008044" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DICT_TYPE" ADD CONSTRAINT "SYS_C008045" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DICT_TYPE" ADD CONSTRAINT "SYS_C008208" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DICT_TYPE" ADD CONSTRAINT "SYS_C008711" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DICT_TYPE" ADD CONSTRAINT "SYS_C008712" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DICT_TYPE" ADD CONSTRAINT "SYS_C008713" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DICT_TYPE" ADD CONSTRAINT "SYS_C008714" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_DICT_TYPE" ADD CONSTRAINT "SYS_C008715" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_ERROR_CODE
+-- ----------------------------
+ALTER TABLE "SYSTEM_ERROR_CODE" ADD CONSTRAINT "SYS_C008046" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ERROR_CODE" ADD CONSTRAINT "SYS_C008047" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ERROR_CODE" ADD CONSTRAINT "SYS_C008048" CHECK ("CODE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ERROR_CODE" ADD CONSTRAINT "SYS_C008049" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ERROR_CODE" ADD CONSTRAINT "SYS_C008050" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ERROR_CODE" ADD CONSTRAINT "SYS_C008209" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ERROR_CODE" ADD CONSTRAINT "SYS_C008716" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ERROR_CODE" ADD CONSTRAINT "SYS_C008717" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ERROR_CODE" ADD CONSTRAINT "SYS_C008718" CHECK ("CODE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ERROR_CODE" ADD CONSTRAINT "SYS_C008719" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ERROR_CODE" ADD CONSTRAINT "SYS_C008720" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ERROR_CODE" ADD CONSTRAINT "SYS_C008721" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_LOGIN_LOG
+-- ----------------------------
+ALTER TABLE "SYSTEM_LOGIN_LOG" ADD CONSTRAINT "SYS_C008056" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_LOGIN_LOG" ADD CONSTRAINT "SYS_C008057" CHECK ("LOG_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_LOGIN_LOG" ADD CONSTRAINT "SYS_C008058" CHECK ("USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_LOGIN_LOG" ADD CONSTRAINT "SYS_C008059" CHECK ("USER_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_LOGIN_LOG" ADD CONSTRAINT "SYS_C008060" CHECK ("RESULT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_LOGIN_LOG" ADD CONSTRAINT "SYS_C008061" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_LOGIN_LOG" ADD CONSTRAINT "SYS_C008062" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_LOGIN_LOG" ADD CONSTRAINT "SYS_C008063" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_LOGIN_LOG" ADD CONSTRAINT "SYS_C008210" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_LOGIN_LOG" ADD CONSTRAINT "SYS_C008722" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_LOGIN_LOG" ADD CONSTRAINT "SYS_C008723" CHECK ("LOG_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_LOGIN_LOG" ADD CONSTRAINT "SYS_C008724" CHECK ("USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_LOGIN_LOG" ADD CONSTRAINT "SYS_C008725" CHECK ("USER_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_LOGIN_LOG" ADD CONSTRAINT "SYS_C008726" CHECK ("RESULT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_LOGIN_LOG" ADD CONSTRAINT "SYS_C008727" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_LOGIN_LOG" ADD CONSTRAINT "SYS_C008728" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_LOGIN_LOG" ADD CONSTRAINT "SYS_C008729" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_LOGIN_LOG" ADD CONSTRAINT "SYS_C008730" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_MENU
+-- ----------------------------
+ALTER TABLE "SYSTEM_MENU" ADD CONSTRAINT "SYS_C009625" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_MENU" ADD CONSTRAINT "SYS_C009626" CHECK ("NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_MENU" ADD CONSTRAINT "SYS_C009628" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_MENU" ADD CONSTRAINT "SYS_C009629" CHECK ("SORT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_MENU" ADD CONSTRAINT "SYS_C009630" CHECK ("PARENT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_MENU" ADD CONSTRAINT "SYS_C009631" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_MENU" ADD CONSTRAINT "SYS_C009632" CHECK ("VISIBLE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_MENU" ADD CONSTRAINT "SYS_C009633" CHECK ("KEEP_ALIVE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_MENU" ADD CONSTRAINT "SYS_C009634" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_MENU" ADD CONSTRAINT "SYS_C009635" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_MENU" ADD CONSTRAINT "SYS_C009636" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_NOTICE
+-- ----------------------------
+ALTER TABLE "SYSTEM_NOTICE" ADD CONSTRAINT "SYS_C009566" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_NOTICE" ADD CONSTRAINT "SYS_C009567" CHECK ("CONTENT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_NOTICE" ADD CONSTRAINT "SYS_C009568" CHECK ("NOTICE_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_NOTICE" ADD CONSTRAINT "SYS_C009569" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_NOTICE" ADD CONSTRAINT "SYS_C009570" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_NOTICE" ADD CONSTRAINT "SYS_C009571" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_NOTICE" ADD CONSTRAINT "SYS_C009572" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_NOTICE" ADD CONSTRAINT "SYS_C009573" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table SYSTEM_OAUTH2_ACCESS_TOKEN
+-- ----------------------------
+ALTER TABLE "SYSTEM_OAUTH2_ACCESS_TOKEN" ADD CONSTRAINT "SYS_C008444" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_OAUTH2_ACCESS_TOKEN
+-- ----------------------------
+ALTER TABLE "SYSTEM_OAUTH2_ACCESS_TOKEN" ADD CONSTRAINT "SYS_C008418" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_ACCESS_TOKEN" ADD CONSTRAINT "SYS_C008419" CHECK ("USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_ACCESS_TOKEN" ADD CONSTRAINT "SYS_C008420" CHECK ("ACCESS_TOKEN" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_ACCESS_TOKEN" ADD CONSTRAINT "SYS_C008421" CHECK ("REFRESH_TOKEN" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_ACCESS_TOKEN" ADD CONSTRAINT "SYS_C008422" CHECK ("USER_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_ACCESS_TOKEN" ADD CONSTRAINT "SYS_C008423" CHECK ("CLIENT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_ACCESS_TOKEN" ADD CONSTRAINT "SYS_C008424" CHECK ("EXPIRES_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_ACCESS_TOKEN" ADD CONSTRAINT "SYS_C008425" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_ACCESS_TOKEN" ADD CONSTRAINT "SYS_C008426" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_ACCESS_TOKEN" ADD CONSTRAINT "SYS_C008427" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_ACCESS_TOKEN" ADD CONSTRAINT "SYS_C008428" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table SYSTEM_OAUTH2_CLIENT
+-- ----------------------------
+ALTER TABLE "SYSTEM_OAUTH2_CLIENT" ADD CONSTRAINT "SYS_C008445" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_OAUTH2_CLIENT
+-- ----------------------------
+ALTER TABLE "SYSTEM_OAUTH2_CLIENT" ADD CONSTRAINT "SYS_C008429" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_CLIENT" ADD CONSTRAINT "SYS_C008430" CHECK ("CLIENT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_CLIENT" ADD CONSTRAINT "SYS_C008431" CHECK ("SECRET" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_CLIENT" ADD CONSTRAINT "SYS_C008432" CHECK ("NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_CLIENT" ADD CONSTRAINT "SYS_C008433" CHECK ("LOGO" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_CLIENT" ADD CONSTRAINT "SYS_C008434" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_CLIENT" ADD CONSTRAINT "SYS_C008435" CHECK ("ACCESS_TOKEN_VALIDITY_SECONDS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_CLIENT" ADD CONSTRAINT "SYS_C008436" CHECK ("REFRESH_TOKEN_VALIDITY_SECONDS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_CLIENT" ADD CONSTRAINT "SYS_C008437" CHECK ("REDIRECT_URIS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_CLIENT" ADD CONSTRAINT "SYS_C008438" CHECK ("AUTO_APPROVE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_CLIENT" ADD CONSTRAINT "SYS_C008439" CHECK ("AUTHORIZED_GRANT_TYPES" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_CLIENT" ADD CONSTRAINT "SYS_C008440" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_CLIENT" ADD CONSTRAINT "SYS_C008441" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_CLIENT" ADD CONSTRAINT "SYS_C008442" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table SYSTEM_OAUTH2_REFRESH_TOKEN
+-- ----------------------------
+ALTER TABLE "SYSTEM_OAUTH2_REFRESH_TOKEN" ADD CONSTRAINT "SYS_C008443" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_OAUTH2_REFRESH_TOKEN
+-- ----------------------------
+ALTER TABLE "SYSTEM_OAUTH2_REFRESH_TOKEN" ADD CONSTRAINT "SYS_C008408" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_REFRESH_TOKEN" ADD CONSTRAINT "SYS_C008409" CHECK ("USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_REFRESH_TOKEN" ADD CONSTRAINT "SYS_C008410" CHECK ("REFRESH_TOKEN" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_REFRESH_TOKEN" ADD CONSTRAINT "SYS_C008411" CHECK ("USER_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_REFRESH_TOKEN" ADD CONSTRAINT "SYS_C008412" CHECK ("CLIENT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_REFRESH_TOKEN" ADD CONSTRAINT "SYS_C008413" CHECK ("EXPIRES_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_REFRESH_TOKEN" ADD CONSTRAINT "SYS_C008414" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_REFRESH_TOKEN" ADD CONSTRAINT "SYS_C008415" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_REFRESH_TOKEN" ADD CONSTRAINT "SYS_C008416" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OAUTH2_REFRESH_TOKEN" ADD CONSTRAINT "SYS_C008417" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_OPERATE_LOG
+-- ----------------------------
+ALTER TABLE "SYSTEM_OPERATE_LOG" ADD CONSTRAINT "SYS_C009574" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OPERATE_LOG" ADD CONSTRAINT "SYS_C009575" CHECK ("USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OPERATE_LOG" ADD CONSTRAINT "SYS_C009576" CHECK ("USER_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OPERATE_LOG" ADD CONSTRAINT "SYS_C009577" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OPERATE_LOG" ADD CONSTRAINT "SYS_C009578" CHECK ("START_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OPERATE_LOG" ADD CONSTRAINT "SYS_C009579" CHECK ("DURATION" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OPERATE_LOG" ADD CONSTRAINT "SYS_C009580" CHECK ("RESULT_CODE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OPERATE_LOG" ADD CONSTRAINT "SYS_C009581" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OPERATE_LOG" ADD CONSTRAINT "SYS_C009582" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OPERATE_LOG" ADD CONSTRAINT "SYS_C009583" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_OPERATE_LOG" ADD CONSTRAINT "SYS_C009584" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_POST
+-- ----------------------------
+ALTER TABLE "SYSTEM_POST" ADD CONSTRAINT "SYS_C009585" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_POST" ADD CONSTRAINT "SYS_C009586" CHECK ("SORT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_POST" ADD CONSTRAINT "SYS_C009587" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_POST" ADD CONSTRAINT "SYS_C009588" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_POST" ADD CONSTRAINT "SYS_C009589" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_POST" ADD CONSTRAINT "SYS_C009590" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_POST" ADD CONSTRAINT "SYS_C009591" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_ROLE
+-- ----------------------------
+ALTER TABLE "SYSTEM_ROLE" ADD CONSTRAINT "SYS_C009592" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE" ADD CONSTRAINT "SYS_C009593" CHECK ("SORT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE" ADD CONSTRAINT "SYS_C009594" CHECK ("DATA_SCOPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE" ADD CONSTRAINT "SYS_C009595" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE" ADD CONSTRAINT "SYS_C009596" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE" ADD CONSTRAINT "SYS_C009597" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE" ADD CONSTRAINT "SYS_C009598" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE" ADD CONSTRAINT "SYS_C009599" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE" ADD CONSTRAINT "SYS_C009600" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_ROLE_MENU
+-- ----------------------------
+ALTER TABLE "SYSTEM_ROLE_MENU" ADD CONSTRAINT "SYS_C008108" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE_MENU" ADD CONSTRAINT "SYS_C008109" CHECK ("ROLE_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE_MENU" ADD CONSTRAINT "SYS_C008110" CHECK ("MENU_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE_MENU" ADD CONSTRAINT "SYS_C008111" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE_MENU" ADD CONSTRAINT "SYS_C008112" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE_MENU" ADD CONSTRAINT "SYS_C008113" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE_MENU" ADD CONSTRAINT "SYS_C008218" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE_MENU" ADD CONSTRAINT "SYS_C008776" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE_MENU" ADD CONSTRAINT "SYS_C008777" CHECK ("ROLE_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE_MENU" ADD CONSTRAINT "SYS_C008778" CHECK ("MENU_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE_MENU" ADD CONSTRAINT "SYS_C008779" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE_MENU" ADD CONSTRAINT "SYS_C008780" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE_MENU" ADD CONSTRAINT "SYS_C008781" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_ROLE_MENU" ADD CONSTRAINT "SYS_C008782" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_SENSITIVE_WORD
+-- ----------------------------
+ALTER TABLE "SYSTEM_SENSITIVE_WORD" ADD CONSTRAINT "SYS_C008102" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SENSITIVE_WORD" ADD CONSTRAINT "SYS_C008103" CHECK ("NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SENSITIVE_WORD" ADD CONSTRAINT "SYS_C008104" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SENSITIVE_WORD" ADD CONSTRAINT "SYS_C008105" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SENSITIVE_WORD" ADD CONSTRAINT "SYS_C008106" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SENSITIVE_WORD" ADD CONSTRAINT "SYS_C008107" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SENSITIVE_WORD" ADD CONSTRAINT "SYS_C008783" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SENSITIVE_WORD" ADD CONSTRAINT "SYS_C008784" CHECK ("NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SENSITIVE_WORD" ADD CONSTRAINT "SYS_C008785" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SENSITIVE_WORD" ADD CONSTRAINT "SYS_C008786" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SENSITIVE_WORD" ADD CONSTRAINT "SYS_C008787" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SENSITIVE_WORD" ADD CONSTRAINT "SYS_C008788" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_SMS_CHANNEL
+-- ----------------------------
+ALTER TABLE "SYSTEM_SMS_CHANNEL" ADD CONSTRAINT "SYS_C008114" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CHANNEL" ADD CONSTRAINT "SYS_C008115" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CHANNEL" ADD CONSTRAINT "SYS_C008116" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CHANNEL" ADD CONSTRAINT "SYS_C008117" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CHANNEL" ADD CONSTRAINT "SYS_C008219" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CHANNEL" ADD CONSTRAINT "SYS_C008789" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CHANNEL" ADD CONSTRAINT "SYS_C008790" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CHANNEL" ADD CONSTRAINT "SYS_C008791" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CHANNEL" ADD CONSTRAINT "SYS_C008792" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CHANNEL" ADD CONSTRAINT "SYS_C008793" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_SMS_CODE
+-- ----------------------------
+ALTER TABLE "SYSTEM_SMS_CODE" ADD CONSTRAINT "SYS_C008118" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CODE" ADD CONSTRAINT "SYS_C008119" CHECK ("SCENE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CODE" ADD CONSTRAINT "SYS_C008120" CHECK ("TODAY_INDEX" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CODE" ADD CONSTRAINT "SYS_C008121" CHECK ("USED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CODE" ADD CONSTRAINT "SYS_C008122" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CODE" ADD CONSTRAINT "SYS_C008123" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CODE" ADD CONSTRAINT "SYS_C008124" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CODE" ADD CONSTRAINT "SYS_C008220" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CODE" ADD CONSTRAINT "SYS_C008794" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CODE" ADD CONSTRAINT "SYS_C008795" CHECK ("SCENE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CODE" ADD CONSTRAINT "SYS_C008796" CHECK ("TODAY_INDEX" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CODE" ADD CONSTRAINT "SYS_C008797" CHECK ("USED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CODE" ADD CONSTRAINT "SYS_C008798" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CODE" ADD CONSTRAINT "SYS_C008799" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CODE" ADD CONSTRAINT "SYS_C008800" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_CODE" ADD CONSTRAINT "SYS_C008801" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_SMS_LOG
+-- ----------------------------
+ALTER TABLE "SYSTEM_SMS_LOG" ADD CONSTRAINT "SYS_C008125" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_LOG" ADD CONSTRAINT "SYS_C008126" CHECK ("CHANNEL_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_LOG" ADD CONSTRAINT "SYS_C008127" CHECK ("TEMPLATE_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_LOG" ADD CONSTRAINT "SYS_C008128" CHECK ("TEMPLATE_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_LOG" ADD CONSTRAINT "SYS_C008129" CHECK ("SEND_STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_LOG" ADD CONSTRAINT "SYS_C008130" CHECK ("RECEIVE_STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_LOG" ADD CONSTRAINT "SYS_C008131" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_LOG" ADD CONSTRAINT "SYS_C008132" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_LOG" ADD CONSTRAINT "SYS_C008221" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_LOG" ADD CONSTRAINT "SYS_C008802" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_LOG" ADD CONSTRAINT "SYS_C008803" CHECK ("CHANNEL_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_LOG" ADD CONSTRAINT "SYS_C008804" CHECK ("TEMPLATE_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_LOG" ADD CONSTRAINT "SYS_C008805" CHECK ("TEMPLATE_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_LOG" ADD CONSTRAINT "SYS_C008806" CHECK ("SEND_STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_LOG" ADD CONSTRAINT "SYS_C008807" CHECK ("RECEIVE_STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_LOG" ADD CONSTRAINT "SYS_C008808" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_LOG" ADD CONSTRAINT "SYS_C008809" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_LOG" ADD CONSTRAINT "SYS_C008810" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_SMS_TEMPLATE
+-- ----------------------------
+ALTER TABLE "SYSTEM_SMS_TEMPLATE" ADD CONSTRAINT "SYS_C008133" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_TEMPLATE" ADD CONSTRAINT "SYS_C008134" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_TEMPLATE" ADD CONSTRAINT "SYS_C008135" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_TEMPLATE" ADD CONSTRAINT "SYS_C008136" CHECK ("CHANNEL_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_TEMPLATE" ADD CONSTRAINT "SYS_C008137" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_TEMPLATE" ADD CONSTRAINT "SYS_C008138" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_TEMPLATE" ADD CONSTRAINT "SYS_C008222" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_TEMPLATE" ADD CONSTRAINT "SYS_C008811" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_TEMPLATE" ADD CONSTRAINT "SYS_C008812" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_TEMPLATE" ADD CONSTRAINT "SYS_C008813" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_TEMPLATE" ADD CONSTRAINT "SYS_C008814" CHECK ("CHANNEL_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_TEMPLATE" ADD CONSTRAINT "SYS_C008815" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_TEMPLATE" ADD CONSTRAINT "SYS_C008816" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SMS_TEMPLATE" ADD CONSTRAINT "SYS_C008817" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_SOCIAL_USER
+-- ----------------------------
+ALTER TABLE "SYSTEM_SOCIAL_USER" ADD CONSTRAINT "SYS_C008139" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SOCIAL_USER" ADD CONSTRAINT "SYS_C008140" CHECK ("USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SOCIAL_USER" ADD CONSTRAINT "SYS_C008141" CHECK ("USER_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SOCIAL_USER" ADD CONSTRAINT "SYS_C008142" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SOCIAL_USER" ADD CONSTRAINT "SYS_C008143" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SOCIAL_USER" ADD CONSTRAINT "SYS_C008144" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SOCIAL_USER" ADD CONSTRAINT "SYS_C008145" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SOCIAL_USER" ADD CONSTRAINT "SYS_C008223" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SOCIAL_USER" ADD CONSTRAINT "SYS_C008818" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SOCIAL_USER" ADD CONSTRAINT "SYS_C008819" CHECK ("USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SOCIAL_USER" ADD CONSTRAINT "SYS_C008820" CHECK ("USER_TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SOCIAL_USER" ADD CONSTRAINT "SYS_C008821" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SOCIAL_USER" ADD CONSTRAINT "SYS_C008822" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SOCIAL_USER" ADD CONSTRAINT "SYS_C008823" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SOCIAL_USER" ADD CONSTRAINT "SYS_C008824" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_SOCIAL_USER" ADD CONSTRAINT "SYS_C008825" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_TENANT
+-- ----------------------------
+ALTER TABLE "SYSTEM_TENANT" ADD CONSTRAINT "SYS_C008146" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT" ADD CONSTRAINT "SYS_C008147" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT" ADD CONSTRAINT "SYS_C008148" CHECK ("PACKAGE_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT" ADD CONSTRAINT "SYS_C008149" CHECK ("EXPIRE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT" ADD CONSTRAINT "SYS_C008150" CHECK ("ACCOUNT_COUNT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT" ADD CONSTRAINT "SYS_C008151" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT" ADD CONSTRAINT "SYS_C008152" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT" ADD CONSTRAINT "SYS_C008224" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT" ADD CONSTRAINT "SYS_C008826" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT" ADD CONSTRAINT "SYS_C008827" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT" ADD CONSTRAINT "SYS_C008828" CHECK ("PACKAGE_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT" ADD CONSTRAINT "SYS_C008829" CHECK ("EXPIRE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT" ADD CONSTRAINT "SYS_C008830" CHECK ("ACCOUNT_COUNT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT" ADD CONSTRAINT "SYS_C008831" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT" ADD CONSTRAINT "SYS_C008832" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT" ADD CONSTRAINT "SYS_C008833" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_TENANT_PACKAGE
+-- ----------------------------
+ALTER TABLE "SYSTEM_TENANT_PACKAGE" ADD CONSTRAINT "SYS_C008153" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT_PACKAGE" ADD CONSTRAINT "SYS_C008154" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT_PACKAGE" ADD CONSTRAINT "SYS_C008155" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT_PACKAGE" ADD CONSTRAINT "SYS_C008156" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT_PACKAGE" ADD CONSTRAINT "SYS_C008197" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT_PACKAGE" ADD CONSTRAINT "SYS_C008834" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT_PACKAGE" ADD CONSTRAINT "SYS_C008835" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT_PACKAGE" ADD CONSTRAINT "SYS_C008836" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT_PACKAGE" ADD CONSTRAINT "SYS_C008837" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_TENANT_PACKAGE" ADD CONSTRAINT "SYS_C008838" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_USERS
+-- ----------------------------
+ALTER TABLE "SYSTEM_USERS" ADD CONSTRAINT "SYS_C008157" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USERS" ADD CONSTRAINT "SYS_C008158" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USERS" ADD CONSTRAINT "SYS_C008159" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USERS" ADD CONSTRAINT "SYS_C008160" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USERS" ADD CONSTRAINT "SYS_C008161" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USERS" ADD CONSTRAINT "SYS_C008227" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USERS" ADD CONSTRAINT "SYS_C008839" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USERS" ADD CONSTRAINT "SYS_C008840" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USERS" ADD CONSTRAINT "SYS_C008841" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USERS" ADD CONSTRAINT "SYS_C008842" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USERS" ADD CONSTRAINT "SYS_C008843" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USERS" ADD CONSTRAINT "SYS_C008844" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_USER_POST
+-- ----------------------------
+ALTER TABLE "SYSTEM_USER_POST" ADD CONSTRAINT "SYS_C008302" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_POST" ADD CONSTRAINT "SYS_C008303" CHECK ("USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_POST" ADD CONSTRAINT "SYS_C008304" CHECK ("POST_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_POST" ADD CONSTRAINT "SYS_C008305" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_POST" ADD CONSTRAINT "SYS_C008306" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_POST" ADD CONSTRAINT "SYS_C008307" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_POST" ADD CONSTRAINT "SYS_C008308" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_POST" ADD CONSTRAINT "SYS_C008845" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_POST" ADD CONSTRAINT "SYS_C008846" CHECK ("USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_POST" ADD CONSTRAINT "SYS_C008847" CHECK ("POST_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_POST" ADD CONSTRAINT "SYS_C008848" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_POST" ADD CONSTRAINT "SYS_C008849" CHECK ("UPDATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_POST" ADD CONSTRAINT "SYS_C008850" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_POST" ADD CONSTRAINT "SYS_C008851" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table SYSTEM_USER_ROLE
+-- ----------------------------
+ALTER TABLE "SYSTEM_USER_ROLE" ADD CONSTRAINT "SYS_C008162" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_ROLE" ADD CONSTRAINT "SYS_C008163" CHECK ("USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_ROLE" ADD CONSTRAINT "SYS_C008164" CHECK ("ROLE_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_ROLE" ADD CONSTRAINT "SYS_C008165" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_ROLE" ADD CONSTRAINT "SYS_C008226" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_ROLE" ADD CONSTRAINT "SYS_C008852" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_ROLE" ADD CONSTRAINT "SYS_C008853" CHECK ("USER_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_ROLE" ADD CONSTRAINT "SYS_C008854" CHECK ("ROLE_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_ROLE" ADD CONSTRAINT "SYS_C008855" CHECK ("TENANT_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "SYSTEM_USER_ROLE" ADD CONSTRAINT "SYS_C008856" CHECK ("DELETED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Foreign Keys structure for table QRTZ_BLOB_TRIGGERS
+-- ----------------------------
+ALTER TABLE "QRTZ_BLOB_TRIGGERS" ADD CONSTRAINT "QRTZ_BLOB_TRIG_TO_TRIG_FK" FOREIGN KEY ("SCHED_NAME", "TRIGGER_NAME", "TRIGGER_GROUP") REFERENCES "QRTZ_TRIGGERS" ("SCHED_NAME", "TRIGGER_NAME", "TRIGGER_GROUP") NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Foreign Keys structure for table QRTZ_CRON_TRIGGERS
+-- ----------------------------
+ALTER TABLE "QRTZ_CRON_TRIGGERS" ADD CONSTRAINT "QRTZ_CRON_TRIG_TO_TRIG_FK" FOREIGN KEY ("SCHED_NAME", "TRIGGER_NAME", "TRIGGER_GROUP") REFERENCES "QRTZ_TRIGGERS" ("SCHED_NAME", "TRIGGER_NAME", "TRIGGER_GROUP") NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Foreign Keys structure for table QRTZ_SIMPLE_TRIGGERS
+-- ----------------------------
+ALTER TABLE "QRTZ_SIMPLE_TRIGGERS" ADD CONSTRAINT "QRTZ_SIMPLE_TRIG_TO_TRIG_FK" FOREIGN KEY ("SCHED_NAME", "TRIGGER_NAME", "TRIGGER_GROUP") REFERENCES "QRTZ_TRIGGERS" ("SCHED_NAME", "TRIGGER_NAME", "TRIGGER_GROUP") NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Foreign Keys structure for table QRTZ_SIMPROP_TRIGGERS
+-- ----------------------------
+ALTER TABLE "QRTZ_SIMPROP_TRIGGERS" ADD CONSTRAINT "QRTZ_SIMPROP_TRIG_TO_TRIG_FK" FOREIGN KEY ("SCHED_NAME", "TRIGGER_NAME", "TRIGGER_GROUP") REFERENCES "QRTZ_TRIGGERS" ("SCHED_NAME", "TRIGGER_NAME", "TRIGGER_GROUP") NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 595 - 0
sql/postgresql/ruoyi-vue-pro.sql


+ 0 - 288
sql/quartz.sql

@@ -1,288 +0,0 @@
-/*
- Navicat Premium Data Transfer
-
- Source Server         : 127.0.0.1
- Source Server Type    : MySQL
- Source Server Version : 80026
- Source Host           : localhost:3306
- Source Schema         : ruoyi-vue-pro
-
- Target Server Type    : MySQL
- Target Server Version : 80026
- File Encoding         : 65001
-
- Date: 05/02/2022 00:50:30
-*/
-
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
--- ----------------------------
--- Table structure for QRTZ_BLOB_TRIGGERS
--- ----------------------------
-DROP TABLE IF EXISTS `QRTZ_BLOB_TRIGGERS`;
-CREATE TABLE `QRTZ_BLOB_TRIGGERS` (
-  `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `TRIGGER_NAME` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `TRIGGER_GROUP` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `BLOB_DATA` blob,
-  PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
-  KEY `SCHED_NAME` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
-  CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `QRTZ_TRIGGERS` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
--- ----------------------------
--- Records of QRTZ_BLOB_TRIGGERS
--- ----------------------------
-BEGIN;
-COMMIT;
-
--- ----------------------------
--- Table structure for QRTZ_CALENDARS
--- ----------------------------
-DROP TABLE IF EXISTS `QRTZ_CALENDARS`;
-CREATE TABLE `QRTZ_CALENDARS` (
-  `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `CALENDAR_NAME` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `CALENDAR` blob NOT NULL,
-  PRIMARY KEY (`SCHED_NAME`,`CALENDAR_NAME`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
--- ----------------------------
--- Records of QRTZ_CALENDARS
--- ----------------------------
-BEGIN;
-COMMIT;
-
--- ----------------------------
--- Table structure for QRTZ_CRON_TRIGGERS
--- ----------------------------
-DROP TABLE IF EXISTS `QRTZ_CRON_TRIGGERS`;
-CREATE TABLE `QRTZ_CRON_TRIGGERS` (
-  `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `TRIGGER_NAME` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `TRIGGER_GROUP` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `CRON_EXPRESSION` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `TIME_ZONE_ID` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
-  PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
-  CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `QRTZ_TRIGGERS` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
--- ----------------------------
--- Records of QRTZ_CRON_TRIGGERS
--- ----------------------------
-BEGIN;
-INSERT INTO `QRTZ_CRON_TRIGGERS` VALUES ('schedulerName', 'payNotifyJob', 'DEFAULT', '* * * * * ?', 'Asia/Shanghai');
-INSERT INTO `QRTZ_CRON_TRIGGERS` VALUES ('schedulerName', 'userSessionTimeoutJob', 'DEFAULT', '0 * * * * ? *', 'Asia/Shanghai');
-COMMIT;
-
--- ----------------------------
--- Table structure for QRTZ_FIRED_TRIGGERS
--- ----------------------------
-DROP TABLE IF EXISTS `QRTZ_FIRED_TRIGGERS`;
-CREATE TABLE `QRTZ_FIRED_TRIGGERS` (
-  `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `ENTRY_ID` varchar(95) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `TRIGGER_NAME` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `TRIGGER_GROUP` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `INSTANCE_NAME` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `FIRED_TIME` bigint NOT NULL,
-  `SCHED_TIME` bigint NOT NULL,
-  `PRIORITY` int NOT NULL,
-  `STATE` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `JOB_NAME` varchar(190) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
-  `JOB_GROUP` varchar(190) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
-  `IS_NONCONCURRENT` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
-  `REQUESTS_RECOVERY` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
-  PRIMARY KEY (`SCHED_NAME`,`ENTRY_ID`),
-  KEY `IDX_QRTZ_FT_TRIG_INST_NAME` (`SCHED_NAME`,`INSTANCE_NAME`),
-  KEY `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY` (`SCHED_NAME`,`INSTANCE_NAME`,`REQUESTS_RECOVERY`),
-  KEY `IDX_QRTZ_FT_J_G` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),
-  KEY `IDX_QRTZ_FT_JG` (`SCHED_NAME`,`JOB_GROUP`),
-  KEY `IDX_QRTZ_FT_T_G` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
-  KEY `IDX_QRTZ_FT_TG` (`SCHED_NAME`,`TRIGGER_GROUP`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
--- ----------------------------
--- Records of QRTZ_FIRED_TRIGGERS
--- ----------------------------
-BEGIN;
-COMMIT;
-
--- ----------------------------
--- Table structure for QRTZ_JOB_DETAILS
--- ----------------------------
-DROP TABLE IF EXISTS `QRTZ_JOB_DETAILS`;
-CREATE TABLE `QRTZ_JOB_DETAILS` (
-  `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `JOB_NAME` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `JOB_GROUP` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `DESCRIPTION` varchar(250) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
-  `JOB_CLASS_NAME` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `IS_DURABLE` varchar(1) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `IS_NONCONCURRENT` varchar(1) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `IS_UPDATE_DATA` varchar(1) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `REQUESTS_RECOVERY` varchar(1) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `JOB_DATA` blob,
-  PRIMARY KEY (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),
-  KEY `IDX_QRTZ_J_REQ_RECOVERY` (`SCHED_NAME`,`REQUESTS_RECOVERY`),
-  KEY `IDX_QRTZ_J_GRP` (`SCHED_NAME`,`JOB_GROUP`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
--- ----------------------------
--- Records of QRTZ_JOB_DETAILS
--- ----------------------------
-BEGIN;
-INSERT INTO `QRTZ_JOB_DETAILS` VALUES ('schedulerName', 'payNotifyJob', 'DEFAULT', NULL, 'cn.iocoder.yudao.framework.quartz.core.handler.JobHandlerInvoker', '0', '1', '1', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C770800000010000000027400064A4F425F49447372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000057400104A4F425F48414E444C45525F4E414D4574000C7061794E6F746966794A6F627800);
-INSERT INTO `QRTZ_JOB_DETAILS` VALUES ('schedulerName', 'userSessionTimeoutJob', 'DEFAULT', NULL, 'cn.iocoder.yudao.framework.quartz.core.handler.JobHandlerInvoker', '0', '1', '1', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C770800000010000000027400064A4F425F49447372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000D7400104A4F425F48414E444C45525F4E414D457400157573657253657373696F6E54696D656F75744A6F627800);
-COMMIT;
-
--- ----------------------------
--- Table structure for QRTZ_LOCKS
--- ----------------------------
-DROP TABLE IF EXISTS `QRTZ_LOCKS`;
-CREATE TABLE `QRTZ_LOCKS` (
-  `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `LOCK_NAME` varchar(40) COLLATE utf8mb4_unicode_ci NOT NULL,
-  PRIMARY KEY (`SCHED_NAME`,`LOCK_NAME`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
--- ----------------------------
--- Records of QRTZ_LOCKS
--- ----------------------------
-BEGIN;
-INSERT INTO `QRTZ_LOCKS` VALUES ('schedulerName', 'STATE_ACCESS');
-INSERT INTO `QRTZ_LOCKS` VALUES ('schedulerName', 'TRIGGER_ACCESS');
-COMMIT;
-
--- ----------------------------
--- Table structure for QRTZ_PAUSED_TRIGGER_GRPS
--- ----------------------------
-DROP TABLE IF EXISTS `QRTZ_PAUSED_TRIGGER_GRPS`;
-CREATE TABLE `QRTZ_PAUSED_TRIGGER_GRPS` (
-  `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `TRIGGER_GROUP` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
-  PRIMARY KEY (`SCHED_NAME`,`TRIGGER_GROUP`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
--- ----------------------------
--- Records of QRTZ_PAUSED_TRIGGER_GRPS
--- ----------------------------
-BEGIN;
-COMMIT;
-
--- ----------------------------
--- Table structure for QRTZ_SCHEDULER_STATE
--- ----------------------------
-DROP TABLE IF EXISTS `QRTZ_SCHEDULER_STATE`;
-CREATE TABLE `QRTZ_SCHEDULER_STATE` (
-  `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `INSTANCE_NAME` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `LAST_CHECKIN_TIME` bigint NOT NULL,
-  `CHECKIN_INTERVAL` bigint NOT NULL,
-  PRIMARY KEY (`SCHED_NAME`,`INSTANCE_NAME`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
--- ----------------------------
--- Records of QRTZ_SCHEDULER_STATE
--- ----------------------------
-BEGIN;
-INSERT INTO `QRTZ_SCHEDULER_STATE` VALUES ('schedulerName', 'Yunai.local1635571630493', 1635572537879, 15000);
-COMMIT;
-
--- ----------------------------
--- Table structure for QRTZ_SIMPLE_TRIGGERS
--- ----------------------------
-DROP TABLE IF EXISTS `QRTZ_SIMPLE_TRIGGERS`;
-CREATE TABLE `QRTZ_SIMPLE_TRIGGERS` (
-  `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `TRIGGER_NAME` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `TRIGGER_GROUP` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `REPEAT_COUNT` bigint NOT NULL,
-  `REPEAT_INTERVAL` bigint NOT NULL,
-  `TIMES_TRIGGERED` bigint NOT NULL,
-  PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
-  CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `QRTZ_TRIGGERS` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
--- ----------------------------
--- Records of QRTZ_SIMPLE_TRIGGERS
--- ----------------------------
-BEGIN;
-COMMIT;
-
--- ----------------------------
--- Table structure for QRTZ_SIMPROP_TRIGGERS
--- ----------------------------
-DROP TABLE IF EXISTS `QRTZ_SIMPROP_TRIGGERS`;
-CREATE TABLE `QRTZ_SIMPROP_TRIGGERS` (
-  `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `TRIGGER_NAME` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `TRIGGER_GROUP` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `STR_PROP_1` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
-  `STR_PROP_2` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
-  `STR_PROP_3` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
-  `INT_PROP_1` int DEFAULT NULL,
-  `INT_PROP_2` int DEFAULT NULL,
-  `LONG_PROP_1` bigint DEFAULT NULL,
-  `LONG_PROP_2` bigint DEFAULT NULL,
-  `DEC_PROP_1` decimal(13,4) DEFAULT NULL,
-  `DEC_PROP_2` decimal(13,4) DEFAULT NULL,
-  `BOOL_PROP_1` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
-  `BOOL_PROP_2` varchar(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
-  PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
-  CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `QRTZ_TRIGGERS` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
--- ----------------------------
--- Records of QRTZ_SIMPROP_TRIGGERS
--- ----------------------------
-BEGIN;
-COMMIT;
-
--- ----------------------------
--- Table structure for QRTZ_TRIGGERS
--- ----------------------------
-DROP TABLE IF EXISTS `QRTZ_TRIGGERS`;
-CREATE TABLE `QRTZ_TRIGGERS` (
-  `SCHED_NAME` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `TRIGGER_NAME` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `TRIGGER_GROUP` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `JOB_NAME` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `JOB_GROUP` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `DESCRIPTION` varchar(250) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
-  `NEXT_FIRE_TIME` bigint DEFAULT NULL,
-  `PREV_FIRE_TIME` bigint DEFAULT NULL,
-  `PRIORITY` int DEFAULT NULL,
-  `TRIGGER_STATE` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `TRIGGER_TYPE` varchar(8) COLLATE utf8mb4_unicode_ci NOT NULL,
-  `START_TIME` bigint NOT NULL,
-  `END_TIME` bigint DEFAULT NULL,
-  `CALENDAR_NAME` varchar(190) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
-  `MISFIRE_INSTR` smallint DEFAULT NULL,
-  `JOB_DATA` blob,
-  PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
-  KEY `IDX_QRTZ_T_J` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),
-  KEY `IDX_QRTZ_T_JG` (`SCHED_NAME`,`JOB_GROUP`),
-  KEY `IDX_QRTZ_T_C` (`SCHED_NAME`,`CALENDAR_NAME`),
-  KEY `IDX_QRTZ_T_G` (`SCHED_NAME`,`TRIGGER_GROUP`),
-  KEY `IDX_QRTZ_T_STATE` (`SCHED_NAME`,`TRIGGER_STATE`),
-  KEY `IDX_QRTZ_T_N_STATE` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),
-  KEY `IDX_QRTZ_T_N_G_STATE` (`SCHED_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),
-  KEY `IDX_QRTZ_T_NEXT_FIRE_TIME` (`SCHED_NAME`,`NEXT_FIRE_TIME`),
-  KEY `IDX_QRTZ_T_NFT_ST` (`SCHED_NAME`,`TRIGGER_STATE`,`NEXT_FIRE_TIME`),
-  KEY `IDX_QRTZ_T_NFT_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`),
-  KEY `IDX_QRTZ_T_NFT_ST_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_STATE`),
-  KEY `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),
-  CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `QRTZ_JOB_DETAILS` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-
--- ----------------------------
--- Records of QRTZ_TRIGGERS
--- ----------------------------
-BEGIN;
-INSERT INTO `QRTZ_TRIGGERS` VALUES ('schedulerName', 'payNotifyJob', 'DEFAULT', 'payNotifyJob', 'DEFAULT', NULL, 1635572540000, 1635572539000, 5, 'WAITING', 'CRON', 1635294882000, 0, NULL, 0, 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C770800000010000000037400114A4F425F48414E444C45525F504152414D707400124A4F425F52455452595F494E54455256414C737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000074000F4A4F425F52455452595F434F554E5471007E000B7800);
-INSERT INTO `QRTZ_TRIGGERS` VALUES ('schedulerName', 'userSessionTimeoutJob', 'DEFAULT', 'userSessionTimeoutJob', 'DEFAULT', NULL, 1643993400000, -1, 5, 'WAITING', 'CRON', 1643993386000, 0, NULL, 0, 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C770800000010000000037400114A4F425F48414E444C45525F504152414D707400124A4F425F52455452595F494E54455256414C737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000007D074000F4A4F425F52455452595F434F554E547371007E0009000000037800);
-COMMIT;
-
-SET FOREIGN_KEY_CHECKS = 1;

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 43
sql/ruoyi-vue-pro.sql


+ 335 - 0
sql/sqlserver/ruoyi-vue-pro.sql

@@ -0,0 +1,335 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 127.0.0.1 SQLServer
+ Source Server Type    : SQL Server
+ Source Server Version : 15004198
+ Source Host           : 127.0.0.1:1433
+ Source Catalog        : ruoyi-vue-pro
+ Source Schema         : dbo
+
+ Target Server Type    : SQL Server
+ Target Server Version : 15004198
+ File Encoding         : 65001
+
+ Date: 17/05/2022 09:46:25
+*/
+
+
+-- ----------------------------
+-- Table structure for QRTZ_BLOB_TRIGGERS
+-- ----------------------------
+IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[QRTZ_BLOB_TRIGGERS]') AND type IN ('U'))
+	DROP TABLE [dbo].[QRTZ_BLOB_TRIGGERS]
+GO
+
+CREATE TABLE [dbo].[QRTZ_BLOB_TRIGGERS] (
+  [SCHED_NAME] varchar(120) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [TRIGGER_NAME] varchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [TRIGGER_GROUP] varchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [BLOB_DATA] varbinary(max)  NULL
+)
+GO
+
+ALTER TABLE [dbo].[QRTZ_BLOB_TRIGGERS] SET (LOCK_ESCALATION = TABLE)
+GO
+
+
+-- ----------------------------
+-- Records of QRTZ_BLOB_TRIGGERS
+-- ----------------------------
+BEGIN TRANSACTION
+GO
+
+COMMIT
+GO
+
+
+-- ----------------------------
+-- Table structure for QRTZ_CALENDARS
+-- ----------------------------
+IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[QRTZ_CALENDARS]') AND type IN ('U'))
+	DROP TABLE [dbo].[QRTZ_CALENDARS]
+GO
+
+CREATE TABLE [dbo].[QRTZ_CALENDARS] (
+  [SCHED_NAME] varchar(120) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [CALENDAR_NAME] varchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [CALENDAR] varbinary(max)  NOT NULL
+)
+GO
+
+ALTER TABLE [dbo].[QRTZ_CALENDARS] SET (LOCK_ESCALATION = TABLE)
+GO
+
+
+-- ----------------------------
+-- Records of QRTZ_CALENDARS
+-- ----------------------------
+BEGIN TRANSACTION
+GO
+
+COMMIT
+GO
+
+
+-- ----------------------------
+-- Table structure for QRTZ_CRON_TRIGGERS
+-- ----------------------------
+IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[QRTZ_CRON_TRIGGERS]') AND type IN ('U'))
+	DROP TABLE [dbo].[QRTZ_CRON_TRIGGERS]
+GO
+
+CREATE TABLE [dbo].[QRTZ_CRON_TRIGGERS] (
+  [SCHED_NAME] varchar(120) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [TRIGGER_NAME] varchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [TRIGGER_GROUP] varchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [CRON_EXPRESSION] varchar(120) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [TIME_ZONE_ID] varchar(80) COLLATE SQL_Latin1_General_CP1_CI_AS  NULL
+)
+GO
+
+ALTER TABLE [dbo].[QRTZ_CRON_TRIGGERS] SET (LOCK_ESCALATION = TABLE)
+GO
+
+
+-- ----------------------------
+-- Records of QRTZ_CRON_TRIGGERS
+-- ----------------------------
+BEGIN TRANSACTION
+GO
+
+INSERT INTO [dbo].[QRTZ_CRON_TRIGGERS] ([SCHED_NAME], [TRIGGER_NAME], [TRIGGER_GROUP], [CRON_EXPRESSION], [TIME_ZONE_ID]) VALUES (N'schedulerName', N'userSessionTimeoutJob', N'DEFAULT', N'0 * * * * ? *', N'Asia/Shanghai')
+GO
+
+COMMIT
+GO
+
+
+-- ----------------------------
+-- Table structure for QRTZ_FIRED_TRIGGERS
+-- ----------------------------
+IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[QRTZ_FIRED_TRIGGERS]') AND type IN ('U'))
+	DROP TABLE [dbo].[QRTZ_FIRED_TRIGGERS]
+GO
+
+CREATE TABLE [dbo].[QRTZ_FIRED_TRIGGERS] (
+  [SCHED_NAME] varchar(120) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [ENTRY_ID] varchar(95) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [TRIGGER_NAME] varchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [TRIGGER_GROUP] varchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [INSTANCE_NAME] varchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [FIRED_TIME] bigint  NOT NULL,
+  [SCHED_TIME] bigint  NOT NULL,
+  [PRIORITY] int  NOT NULL,
+  [STATE] varchar(16) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [JOB_NAME] varchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS  NULL,
+  [JOB_GROUP] varchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS  NULL,
+  [IS_NONCONCURRENT] varchar(1) COLLATE SQL_Latin1_General_CP1_CI_AS  NULL,
+  [REQUESTS_RECOVERY] varchar(1) COLLATE SQL_Latin1_General_CP1_CI_AS  NULL
+)
+GO
+
+ALTER TABLE [dbo].[QRTZ_FIRED_TRIGGERS] SET (LOCK_ESCALATION = TABLE)
+GO
+
+
+-- ----------------------------
+-- Records of QRTZ_FIRED_TRIGGERS
+-- ----------------------------
+BEGIN TRANSACTION
+GO
+
+COMMIT
+GO
+
+
+-- ----------------------------
+-- Table structure for QRTZ_JOB_DETAILS
+-- ----------------------------
+IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[QRTZ_JOB_DETAILS]') AND type IN ('U'))
+	DROP TABLE [dbo].[QRTZ_JOB_DETAILS]
+GO
+
+CREATE TABLE [dbo].[QRTZ_JOB_DETAILS] (
+  [SCHED_NAME] varchar(120) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [JOB_NAME] varchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [JOB_GROUP] varchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [DESCRIPTION] varchar(250) COLLATE SQL_Latin1_General_CP1_CI_AS  NULL,
+  [JOB_CLASS_NAME] varchar(250) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [IS_DURABLE] varchar(1) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [IS_NONCONCURRENT] varchar(1) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [IS_UPDATE_DATA] varchar(1) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [REQUESTS_RECOVERY] varchar(1) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [JOB_DATA] varbinary(max)  NULL
+)
+GO
+
+ALTER TABLE [dbo].[QRTZ_JOB_DETAILS] SET (LOCK_ESCALATION = TABLE)
+GO
+
+
+-- ----------------------------
+-- Records of QRTZ_JOB_DETAILS
+-- ----------------------------
+BEGIN TRANSACTION
+GO
+
+INSERT INTO [dbo].[QRTZ_JOB_DETAILS] ([SCHED_NAME], [JOB_NAME], [JOB_GROUP], [DESCRIPTION], [JOB_CLASS_NAME], [IS_DURABLE], [IS_NONCONCURRENT], [IS_UPDATE_DATA], [REQUESTS_RECOVERY], [JOB_DATA]) VALUES (N'schedulerName', N'userSessionTimeoutJob', N'DEFAULT', NULL, N'cn.iocoder.yudao.framework.quartz.core.handler.JobHandlerInvoker', N'0', N'1', N'1', N'0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C770800000010000000027400064A4F425F49447372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000107400104A4F425F48414E444C45525F4E414D457400157573657253657373696F6E54696D656F75744A6F627800)
+GO
+
+COMMIT
+GO
+
+
+-- ----------------------------
+-- Table structure for QRTZ_LOCKS
+-- ----------------------------
+IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[QRTZ_LOCKS]') AND type IN ('U'))
+	DROP TABLE [dbo].[QRTZ_LOCKS]
+GO
+
+CREATE TABLE [dbo].[QRTZ_LOCKS] (
+  [SCHED_NAME] varchar(120) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [LOCK_NAME] varchar(40) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL
+)
+GO
+
+ALTER TABLE [dbo].[QRTZ_LOCKS] SET (LOCK_ESCALATION = TABLE)
+GO
+
+
+-- ----------------------------
+-- Records of QRTZ_LOCKS
+-- ----------------------------
+BEGIN TRANSACTION
+GO
+
+INSERT INTO [dbo].[QRTZ_LOCKS] ([SCHED_NAME], [LOCK_NAME]) VALUES (N'schedulerName', N'STATE_ACCESS')
+GO
+
+INSERT INTO [dbo].[QRTZ_LOCKS] ([SCHED_NAME], [LOCK_NAME]) VALUES (N'schedulerName', N'TRIGGER_ACCESS')
+GO
+
+COMMIT
+GO
+
+
+-- ----------------------------
+-- Table structure for QRTZ_PAUSED_TRIGGER_GRPS
+-- ----------------------------
+IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[QRTZ_PAUSED_TRIGGER_GRPS]') AND type IN ('U'))
+	DROP TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS]
+GO
+
+CREATE TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS] (
+  [SCHED_NAME] varchar(120) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [TRIGGER_GROUP] varchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL
+)
+GO
+
+ALTER TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS] SET (LOCK_ESCALATION = TABLE)
+GO
+
+
+-- ----------------------------
+-- Records of QRTZ_PAUSED_TRIGGER_GRPS
+-- ----------------------------
+BEGIN TRANSACTION
+GO
+
+COMMIT
+GO
+
+
+-- ----------------------------
+-- Table structure for QRTZ_SCHEDULER_STATE
+-- ----------------------------
+IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[QRTZ_SCHEDULER_STATE]') AND type IN ('U'))
+	DROP TABLE [dbo].[QRTZ_SCHEDULER_STATE]
+GO
+
+CREATE TABLE [dbo].[QRTZ_SCHEDULER_STATE] (
+  [SCHED_NAME] varchar(120) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [INSTANCE_NAME] varchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [LAST_CHECKIN_TIME] bigint  NOT NULL,
+  [CHECKIN_INTERVAL] bigint  NOT NULL
+)
+GO
+
+ALTER TABLE [dbo].[QRTZ_SCHEDULER_STATE] SET (LOCK_ESCALATION = TABLE)
+GO
+
+
+-- ----------------------------
+-- Records of QRTZ_SCHEDULER_STATE
+-- ----------------------------
+BEGIN TRANSACTION
+GO
+
+INSERT INTO [dbo].[QRTZ_SCHEDULER_STATE] ([SCHED_NAME], [INSTANCE_NAME], [LAST_CHECKIN_TIME], [CHECKIN_INTERVAL]) VALUES (N'schedulerName', N'Yunai1651483828928', N'1651484588813', N'15000')
+GO
+
+COMMIT
+GO
+
+
+-- ----------------------------
+-- Table structure for QRTZ_SIMPLE_TRIGGERS
+-- ----------------------------
+IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[QRTZ_SIMPLE_TRIGGERS]') AND type IN ('U'))
+	DROP TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS]
+GO
+
+CREATE TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] (
+  [SCHED_NAME] varchar(120) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [TRIGGER_NAME] varchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [TRIGGER_GROUP] varchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [REPEAT_COUNT] bigint  NOT NULL,
+  [REPEAT_INTERVAL] bigint  NOT NULL,
+  [TIMES_TRIGGERED] bigint  NOT NULL
+)
+GO
+
+ALTER TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] SET (LOCK_ESCALATION = TABLE)
+GO
+
+
+-- ----------------------------
+-- Records of QRTZ_SIMPLE_TRIGGERS
+-- ----------------------------
+BEGIN TRANSACTION
+GO
+
+COMMIT
+GO
+
+
+-- ----------------------------
+-- Table structure for QRTZ_SIMPROP_TRIGGERS
+-- ----------------------------
+IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[QRTZ_SIMPROP_TRIGGERS]') AND type IN ('U'))
+	DROP TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS]
+GO
+
+CREATE TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] (
+  [SCHED_NAME] varchar(120) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [TRIGGER_NAME] varchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [TRIGGER_GROUP] varchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS  NOT NULL,
+  [STR_PROP_1] varchar(512) COLLATE SQL_Latin1_General_CP1_CI_AS  NULL,
+  [STR_PROP_2] varchar(512) COLLATE SQL_Latin1_General_CP1_CI_AS  NULL,
+  [STR_PROP_3] varchar(512) COLLATE SQL_Latin1_General_CP1_CI_AS  NULL,
+  [INT_PROP_1] int  NULL,
+  [INT_PROP_2] int  NULL,
+  [LONG_PROP_1] bigint  NULL,
+  [LONG_PROP_2] bigint  NULL,
+  [DEC_PROP_1] numeric(13,4)  NULL,
+  [DEC_PROP_2] numeric(13,4)  NULL,
+  [BOOL_PROP_1] varchar(1) COLLATE SQL_Latin1_General_CP1_CI_AS  NULL,
+  [BOOL_PROP_2] varchar(1) COLLATE SQL_Latin1_General_CP1_CI_AS  NULL
+)
+GO
+
+ALTER TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] SET (LOCK_ESCALATION = TABLE)
+GO
+

+ 0 - 12
yudao-dependencies/pom.xml

@@ -22,7 +22,6 @@
         <swagger-annotations.version>1.5.22</swagger-annotations.version>
         <swagger-annotations.version>1.5.22</swagger-annotations.version>
         <servlet.versoin>2.5</servlet.versoin>
         <servlet.versoin>2.5</servlet.versoin>
         <!-- DB 相关 -->
         <!-- DB 相关 -->
-        <mysql.version>5.1.46</mysql.version>
         <druid.version>1.2.8</druid.version>
         <druid.version>1.2.8</druid.version>
         <mybatis-plus.version>3.4.3.4</mybatis-plus.version>
         <mybatis-plus.version>3.4.3.4</mybatis-plus.version>
         <mybatis-plus-generator.version>3.5.2</mybatis-plus-generator.version>
         <mybatis-plus-generator.version>3.5.2</mybatis-plus-generator.version>
@@ -76,12 +75,6 @@
                 <version>${spring.boot.version}</version>
                 <version>${spring.boot.version}</version>
                 <type>pom</type>
                 <type>pom</type>
                 <scope>import</scope>
                 <scope>import</scope>
-                <exclusions>
-                    <exclusion>
-                        <groupId>mysql</groupId>
-                        <artifactId>mysql-connector-java</artifactId>
-                    </exclusion>
-                </exclusions>
             </dependency>
             </dependency>
 
 
             <!-- 业务组件 -->
             <!-- 业务组件 -->
@@ -179,11 +172,6 @@
                 <version>${revision}</version>
                 <version>${revision}</version>
             </dependency>
             </dependency>
 
 
-            <dependency>
-                <groupId>mysql</groupId>
-                <artifactId>mysql-connector-java</artifactId>
-                <version>${mysql.version}</version>
-            </dependency>
             <dependency>
             <dependency>
                 <groupId>com.alibaba</groupId>
                 <groupId>com.alibaba</groupId>
                 <artifactId>druid-spring-boot-starter</artifactId>
                 <artifactId>druid-spring-boot-starter</artifactId>

+ 14 - 0
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/collection/CollectionUtils.java

@@ -54,6 +54,13 @@ public class CollectionUtils {
         return from.stream().map(func).filter(Objects::nonNull).collect(Collectors.toList());
         return from.stream().map(func).filter(Objects::nonNull).collect(Collectors.toList());
     }
     }
 
 
+    public static <T, U> List<U> convertList(Collection<T> from, Function<T, U> func, Predicate<T> filter) {
+        if (CollUtil.isEmpty(from)) {
+            return new ArrayList<>();
+        }
+        return from.stream().filter(filter).map(func).filter(Objects::nonNull).collect(Collectors.toList());
+    }
+
     public static <T, U> Set<U> convertSet(Collection<T> from, Function<T, U> func) {
     public static <T, U> Set<U> convertSet(Collection<T> from, Function<T, U> func) {
         if (CollUtil.isEmpty(from)) {
         if (CollUtil.isEmpty(from)) {
             return new HashSet<>();
             return new HashSet<>();
@@ -61,6 +68,13 @@ public class CollectionUtils {
         return from.stream().map(func).filter(Objects::nonNull).collect(Collectors.toSet());
         return from.stream().map(func).filter(Objects::nonNull).collect(Collectors.toSet());
     }
     }
 
 
+    public static <T, U> Set<U> convertSet(Collection<T> from, Function<T, U> func, Predicate<T> filter) {
+        if (CollUtil.isEmpty(from)) {
+            return new HashSet<>();
+        }
+        return from.stream().filter(filter).map(func).filter(Objects::nonNull).collect(Collectors.toSet());
+    }
+
     public static <T, K> Map<K, T> convertMap(Collection<T> from, Function<T, K> keyFunc) {
     public static <T, K> Map<K, T> convertMap(Collection<T> from, Function<T, K> keyFunc) {
         if (CollUtil.isEmpty(from)) {
         if (CollUtil.isEmpty(from)) {
             return new HashMap<>();
             return new HashMap<>();

+ 98 - 0
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/http/HttpUtils.java

@@ -1,10 +1,18 @@
 package cn.iocoder.yudao.framework.common.util.http;
 package cn.iocoder.yudao.framework.common.util.http;
 
 
+import cn.hutool.core.codec.Base64;
 import cn.hutool.core.map.TableMap;
 import cn.hutool.core.map.TableMap;
 import cn.hutool.core.net.url.UrlBuilder;
 import cn.hutool.core.net.url.UrlBuilder;
 import cn.hutool.core.util.ReflectUtil;
 import cn.hutool.core.util.ReflectUtil;
+import cn.hutool.core.util.StrUtil;
+import org.springframework.util.StringUtils;
+import org.springframework.web.util.UriComponents;
+import org.springframework.web.util.UriComponentsBuilder;
 
 
+import javax.servlet.http.HttpServletRequest;
+import java.net.URI;
 import java.nio.charset.Charset;
 import java.nio.charset.Charset;
+import java.util.Map;
 
 
 /**
 /**
  * HTTP 工具类
  * HTTP 工具类
@@ -25,4 +33,94 @@ public class HttpUtils {
         return builder.build();
         return builder.build();
     }
     }
 
 
+    private String append(String base, Map<String, ?> query, boolean fragment) {
+        return append(base, query, null, fragment);
+    }
+
+    /**
+     * 拼接 URL
+     *
+     * copy from Spring Security OAuth2 的 AuthorizationEndpoint 类的 append 方法
+     *
+     * @param base 基础 URL
+     * @param query 查询参数
+     * @param keys query 的 key,对应的原本的 key 的映射。例如说 query 里有个 key 是 xx,实际它的 key 是 extra_xx,则通过 keys 里添加这个映射
+     * @param fragment URL 的 fragment,即拼接到 # 中
+     * @return 拼接后的 URL
+     */
+    public static String append(String base, Map<String, ?> query, Map<String, String> keys, boolean fragment) {
+        UriComponentsBuilder template = UriComponentsBuilder.newInstance();
+        UriComponentsBuilder builder = UriComponentsBuilder.fromUriString(base);
+        URI redirectUri;
+        try {
+            // assume it's encoded to start with (if it came in over the wire)
+            redirectUri = builder.build(true).toUri();
+        } catch (Exception e) {
+            // ... but allow client registrations to contain hard-coded non-encoded values
+            redirectUri = builder.build().toUri();
+            builder = UriComponentsBuilder.fromUri(redirectUri);
+        }
+        template.scheme(redirectUri.getScheme()).port(redirectUri.getPort()).host(redirectUri.getHost())
+                .userInfo(redirectUri.getUserInfo()).path(redirectUri.getPath());
+
+        if (fragment) {
+            StringBuilder values = new StringBuilder();
+            if (redirectUri.getFragment() != null) {
+                String append = redirectUri.getFragment();
+                values.append(append);
+            }
+            for (String key : query.keySet()) {
+                if (values.length() > 0) {
+                    values.append("&");
+                }
+                String name = key;
+                if (keys != null && keys.containsKey(key)) {
+                    name = keys.get(key);
+                }
+                values.append(name).append("={").append(key).append("}");
+            }
+            if (values.length() > 0) {
+                template.fragment(values.toString());
+            }
+            UriComponents encoded = template.build().expand(query).encode();
+            builder.fragment(encoded.getFragment());
+        } else {
+            for (String key : query.keySet()) {
+                String name = key;
+                if (keys != null && keys.containsKey(key)) {
+                    name = keys.get(key);
+                }
+                template.queryParam(name, "{" + key + "}");
+            }
+            template.fragment(redirectUri.getFragment());
+            UriComponents encoded = template.build().expand(query).encode();
+            builder.query(encoded.getQuery());
+        }
+        return builder.build().toUriString();
+    }
+
+    public static String[] obtainBasicAuthorization(HttpServletRequest request) {
+        String clientId;
+        String clientSecret;
+        // 先从 Header 中获取
+        String authorization = request.getHeader("Authorization");
+        authorization = StrUtil.subAfter(authorization, "Basic ", true);
+        if (StringUtils.hasText(authorization)) {
+            authorization = Base64.decodeStr(authorization);
+            clientId = StrUtil.subBefore(authorization, ":", false);
+            clientSecret = StrUtil.subAfter(authorization, ":", false);
+        // 再从 Param 中获取
+        } else {
+            clientId = request.getParameter("client_id");
+            clientSecret = request.getParameter("client_secret");
+        }
+
+        // 如果两者非空,则返回
+        if (StrUtil.isNotEmpty(clientId) && StrUtil.isNotEmpty(clientSecret)) {
+            return new String[]{clientId, clientSecret};
+        }
+        return null;
+    }
+
+
 }
 }

+ 6 - 3
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/json/JsonUtils.java

@@ -113,8 +113,7 @@ public class JsonUtils {
         }
         }
     }
     }
 
 
-    // TODO @Li:和上面的风格保持一致哈。parseTree
-    public static JsonNode readTree(String text) {
+    public static JsonNode parseTree(String text) {
         try {
         try {
             return objectMapper.readTree(text);
             return objectMapper.readTree(text);
         } catch (IOException e) {
         } catch (IOException e) {
@@ -123,7 +122,7 @@ public class JsonUtils {
         }
         }
     }
     }
 
 
-    public static JsonNode readTree(byte[] text) {
+    public static JsonNode parseTree(byte[] text) {
         try {
         try {
             return objectMapper.readTree(text);
             return objectMapper.readTree(text);
         } catch (IOException e) {
         } catch (IOException e) {
@@ -132,4 +131,8 @@ public class JsonUtils {
         }
         }
     }
     }
 
 
+    public static boolean isJson(String text) {
+        return JSONUtil.isJson(text);
+    }
+
 }
 }

+ 17 - 14
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/string/StrUtils.java

@@ -1,9 +1,9 @@
 package cn.iocoder.yudao.framework.common.util.string;
 package cn.iocoder.yudao.framework.common.util.string;
 
 
-import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.StrUtil;
 
 
-import java.util.Map;
+import java.util.Collection;
 
 
 /**
 /**
  * 字符串工具类
  * 字符串工具类
@@ -17,21 +17,24 @@ public class StrUtils {
     }
     }
 
 
     /**
     /**
-     * 指定字符串的
-     * @param str
-     * @param replaceMap
-     * @return
+     * 给定字符串是否以任何一个字符串开始
+     * 给定字符串和数组为空都返回 false
+     *
+     * @param str      给定字符串
+     * @param prefixes 需要检测的开始字符串
+     * @since 3.0.6
      */
      */
-    public static String replace(String str, Map<String, String> replaceMap) {
-        assert StrUtil.isNotBlank(str);
-        if (ObjectUtil.isEmpty(replaceMap)) {
-            return str;
+    public static boolean startWithAny(String str, Collection<String> prefixes) {
+        if (StrUtil.isEmpty(str) || ArrayUtil.isEmpty(prefixes)) {
+            return false;
         }
         }
-        String result = null;
-        for (String key : replaceMap.keySet()) {
-            result = str.replace(key, replaceMap.get(key));
+
+        for (CharSequence suffix : prefixes) {
+            if (StrUtil.startWith(str, suffix, false)) {
+                return true;
+            }
         }
         }
-        return result;
+        return false;
     }
     }
 
 
 }
 }

+ 7 - 0
yudao-framework/yudao-spring-boot-starter-biz-data-permission/pom.xml

@@ -34,6 +34,13 @@
             <artifactId>yudao-spring-boot-starter-mybatis</artifactId>
             <artifactId>yudao-spring-boot-starter-mybatis</artifactId>
         </dependency>
         </dependency>
 
 
+        <!-- 业务组件 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-system-api</artifactId> <!-- 需要使用它,进行数据权限的获取 -->
+            <version>${revision}</version>
+        </dependency>
+
         <!-- Test 测试相关 -->
         <!-- Test 测试相关 -->
         <dependency>
         <dependency>
             <groupId>cn.iocoder.boot</groupId>
             <groupId>cn.iocoder.boot</groupId>

+ 6 - 6
yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/config/YudaoDeptDataPermissionAutoConfiguration.java

@@ -1,9 +1,9 @@
 package cn.iocoder.yudao.framework.datapermission.config;
 package cn.iocoder.yudao.framework.datapermission.config;
 
 
-import cn.iocoder.yudao.framework.datapermission.core.dept.rule.DeptDataPermissionRule;
-import cn.iocoder.yudao.framework.datapermission.core.dept.rule.DeptDataPermissionRuleCustomizer;
-import cn.iocoder.yudao.framework.datapermission.core.dept.service.DeptDataPermissionFrameworkService;
+import cn.iocoder.yudao.framework.datapermission.core.rule.dept.DeptDataPermissionRule;
+import cn.iocoder.yudao.framework.datapermission.core.rule.dept.DeptDataPermissionRuleCustomizer;
 import cn.iocoder.yudao.framework.security.core.LoginUser;
 import cn.iocoder.yudao.framework.security.core.LoginUser;
+import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Bean;
@@ -18,14 +18,14 @@ import java.util.List;
  */
  */
 @Configuration
 @Configuration
 @ConditionalOnClass(LoginUser.class)
 @ConditionalOnClass(LoginUser.class)
-@ConditionalOnBean(value = {DeptDataPermissionFrameworkService.class, DeptDataPermissionRuleCustomizer.class})
+@ConditionalOnBean(value = {PermissionApi.class, DeptDataPermissionRuleCustomizer.class})
 public class YudaoDeptDataPermissionAutoConfiguration {
 public class YudaoDeptDataPermissionAutoConfiguration {
 
 
     @Bean
     @Bean
-    public DeptDataPermissionRule deptDataPermissionRule(DeptDataPermissionFrameworkService service,
+    public DeptDataPermissionRule deptDataPermissionRule(PermissionApi permissionApi,
                                                          List<DeptDataPermissionRuleCustomizer> customizers) {
                                                          List<DeptDataPermissionRuleCustomizer> customizers) {
         // 创建 DeptDataPermissionRule 对象
         // 创建 DeptDataPermissionRule 对象
-        DeptDataPermissionRule rule = new DeptDataPermissionRule(service);
+        DeptDataPermissionRule rule = new DeptDataPermissionRule(permissionApi);
         // 补全表配置
         // 补全表配置
         customizers.forEach(customizer -> customizer.customize(rule));
         customizers.forEach(customizer -> customizer.customize(rule));
         return rule;
         return rule;

+ 0 - 22
yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/dept/service/DeptDataPermissionFrameworkService.java

@@ -1,22 +0,0 @@
-package cn.iocoder.yudao.framework.datapermission.core.dept.service;
-
-import cn.iocoder.yudao.framework.datapermission.core.dept.service.dto.DeptDataPermissionRespDTO;
-import cn.iocoder.yudao.framework.security.core.LoginUser;
-
-/**
- * 基于部门的数据权限 Framework Service 接口
- * 目前的实现类是 SysPermissionServiceImpl 类
- *
- * @author 芋道源码
- */
-public interface DeptDataPermissionFrameworkService {
-
-    /**
-     * 获得登陆用户的部门数据权限
-     *
-     * @param loginUser 登陆用户
-     * @return 部门数据权限
-     */
-    DeptDataPermissionRespDTO getDeptDataPermission(LoginUser loginUser);
-
-}

+ 27 - 11
yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/dept/rule/DeptDataPermissionRule.java → yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java

@@ -1,9 +1,9 @@
-package cn.iocoder.yudao.framework.datapermission.core.dept.rule;
+package cn.iocoder.yudao.framework.datapermission.core.rule.dept;
 
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.StrUtil;
-import cn.iocoder.yudao.framework.datapermission.core.dept.service.DeptDataPermissionFrameworkService;
-import cn.iocoder.yudao.framework.datapermission.core.dept.service.dto.DeptDataPermissionRespDTO;
+import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
 import cn.iocoder.yudao.framework.datapermission.core.rule.DataPermissionRule;
 import cn.iocoder.yudao.framework.datapermission.core.rule.DataPermissionRule;
@@ -11,9 +11,10 @@ import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
 import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
 import cn.iocoder.yudao.framework.security.core.LoginUser;
 import cn.iocoder.yudao.framework.security.core.LoginUser;
 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
+import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
 import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
-import lombok.Getter;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import net.sf.jsqlparser.expression.Alias;
 import net.sf.jsqlparser.expression.Alias;
 import net.sf.jsqlparser.expression.Expression;
 import net.sf.jsqlparser.expression.Expression;
@@ -50,12 +51,17 @@ import java.util.Set;
 @Slf4j
 @Slf4j
 public class DeptDataPermissionRule implements DataPermissionRule {
 public class DeptDataPermissionRule implements DataPermissionRule {
 
 
+    /**
+     * LoginUser 的 Context 缓存 Key
+     */
+    protected static final String CONTEXT_KEY = DeptDataPermissionRule.class.getSimpleName();
+
     private static final String DEPT_COLUMN_NAME = "dept_id";
     private static final String DEPT_COLUMN_NAME = "dept_id";
     private static final String USER_COLUMN_NAME = "user_id";
     private static final String USER_COLUMN_NAME = "user_id";
 
 
     static final Expression EXPRESSION_NULL = new NullValue();
     static final Expression EXPRESSION_NULL = new NullValue();
 
 
-    private final DeptDataPermissionFrameworkService deptDataPermissionService;
+    private final PermissionApi permissionApi;
 
 
     /**
     /**
      * 基于部门的表字段配置
      * 基于部门的表字段配置
@@ -90,13 +96,23 @@ public class DeptDataPermissionRule implements DataPermissionRule {
         if (loginUser == null) {
         if (loginUser == null) {
             return null;
             return null;
         }
         }
+        // 只有管理员类型的用户,才进行数据权限的处理
+        if (ObjectUtil.notEqual(loginUser.getUserType(), UserTypeEnum.ADMIN.getValue())) {
+            return null;
+        }
 
 
         // 获得数据权限
         // 获得数据权限
-        DeptDataPermissionRespDTO deptDataPermission = deptDataPermissionService.getDeptDataPermission(loginUser);
+        DeptDataPermissionRespDTO deptDataPermission = loginUser.getContext(CONTEXT_KEY, DeptDataPermissionRespDTO.class);
+        // 从上下文中拿不到,则调用逻辑进行获取
         if (deptDataPermission == null) {
         if (deptDataPermission == null) {
-            log.error("[getExpression][LoginUser({}) 获取数据权限为 null]", JsonUtils.toJsonString(loginUser));
-            throw new NullPointerException(String.format("LoginUser(%d) Table(%s/%s) 未返回数据权限",
-                    loginUser.getId(), tableName, tableAlias.getName()));
+            deptDataPermission = permissionApi.getDeptDataPermission(loginUser.getId());
+            if (deptDataPermission == null) {
+                log.error("[getExpression][LoginUser({}) 获取数据权限为 null]", JsonUtils.toJsonString(loginUser));
+                throw new NullPointerException(String.format("LoginUser(%d) Table(%s/%s) 未返回数据权限",
+                        loginUser.getId(), tableName, tableAlias.getName()));
+            }
+            // 添加到上下文中,避免重复计算
+            loginUser.setContext(CONTEXT_KEY, deptDataPermission);
         }
         }
 
 
         // 情况一,如果是 ALL 可查看全部,则无需拼接条件
         // 情况一,如果是 ALL 可查看全部,则无需拼接条件
@@ -111,8 +127,8 @@ public class DeptDataPermissionRule implements DataPermissionRule {
         }
         }
 
 
         // 情况三,拼接 Dept 和 User 的条件,最后组合
         // 情况三,拼接 Dept 和 User 的条件,最后组合
-        Expression deptExpression = this.buildDeptExpression(tableName,tableAlias, deptDataPermission.getDeptIds());
-        Expression userExpression = this.buildUserExpression(tableName, tableAlias, deptDataPermission.getSelf(), loginUser.getId());
+        Expression deptExpression = buildDeptExpression(tableName,tableAlias, deptDataPermission.getDeptIds());
+        Expression userExpression = buildUserExpression(tableName, tableAlias, deptDataPermission.getSelf(), loginUser.getId());
         if (deptExpression == null && userExpression == null) {
         if (deptExpression == null && userExpression == null) {
             // TODO 芋艿:获得不到条件的时候,暂时不抛出异常,而是不返回数据
             // TODO 芋艿:获得不到条件的时候,暂时不抛出异常,而是不返回数据
             log.warn("[getExpression][LoginUser({}) Table({}/{}) DeptDataPermission({}) 构建的条件为空]",
             log.warn("[getExpression][LoginUser({}) Table({}/{}) DeptDataPermission({}) 构建的条件为空]",

+ 1 - 1
yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/dept/rule/DeptDataPermissionRuleCustomizer.java → yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/rule/dept/DeptDataPermissionRuleCustomizer.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.datapermission.core.dept.rule;
+package cn.iocoder.yudao.framework.datapermission.core.rule.dept;
 
 
 /**
 /**
  * {@link DeptDataPermissionRule} 的自定义配置接口
  * {@link DeptDataPermissionRule} 的自定义配置接口

+ 1 - 1
yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/dept/package-info.java → yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/rule/dept/package-info.java

@@ -3,4 +3,4 @@
  *
  *
  * @author 芋道源码
  * @author 芋道源码
  */
  */
-package cn.iocoder.yudao.framework.datapermission.core.dept;
+package cn.iocoder.yudao.framework.datapermission.core.rule.dept;

+ 32 - 18
yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/test/java/cn/iocoder/yudao/framework/datapermission/core/dept/rule/DeptDataPermissionRuleTest.java → yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/test/java/cn/iocoder/yudao/framework/datapermission/core/rule/dept/DeptDataPermissionRuleTest.java

@@ -1,10 +1,11 @@
-package cn.iocoder.yudao.framework.datapermission.core.dept.rule;
+package cn.iocoder.yudao.framework.datapermission.core.rule.dept;
 
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ReflectUtil;
 import cn.hutool.core.util.ReflectUtil;
+import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
 import cn.iocoder.yudao.framework.common.util.collection.SetUtils;
 import cn.iocoder.yudao.framework.common.util.collection.SetUtils;
-import cn.iocoder.yudao.framework.datapermission.core.dept.service.DeptDataPermissionFrameworkService;
-import cn.iocoder.yudao.framework.datapermission.core.dept.service.dto.DeptDataPermissionRespDTO;
+import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import cn.iocoder.yudao.framework.security.core.LoginUser;
 import cn.iocoder.yudao.framework.security.core.LoginUser;
 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest;
 import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest;
@@ -18,7 +19,7 @@ import org.mockito.MockedStatic;
 
 
 import java.util.Map;
 import java.util.Map;
 
 
-import static cn.iocoder.yudao.framework.datapermission.core.dept.rule.DeptDataPermissionRule.EXPRESSION_NULL;
+import static cn.iocoder.yudao.framework.datapermission.core.rule.dept.DeptDataPermissionRule.EXPRESSION_NULL;
 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomString;
 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomString;
 import static org.junit.jupiter.api.Assertions.*;
 import static org.junit.jupiter.api.Assertions.*;
@@ -37,7 +38,7 @@ class DeptDataPermissionRuleTest extends BaseMockitoUnitTest {
     private DeptDataPermissionRule rule;
     private DeptDataPermissionRule rule;
 
 
     @Mock
     @Mock
-    private DeptDataPermissionFrameworkService deptDataPermissionFrameworkService;
+    private PermissionApi permissionApi;
 
 
     @BeforeEach
     @BeforeEach
     @SuppressWarnings("unchecked")
     @SuppressWarnings("unchecked")
@@ -69,7 +70,8 @@ class DeptDataPermissionRuleTest extends BaseMockitoUnitTest {
             String tableName = "t_user";
             String tableName = "t_user";
             Alias tableAlias = new Alias("u");
             Alias tableAlias = new Alias("u");
             // mock 方法
             // mock 方法
-            LoginUser loginUser = randomPojo(LoginUser.class, o -> o.setId(1L));
+            LoginUser loginUser = randomPojo(LoginUser.class, o -> o.setId(1L)
+                    .setUserType(UserTypeEnum.ADMIN.getValue()));
             securityFrameworkUtilsMock.when(SecurityFrameworkUtils::getLoginUser).thenReturn(loginUser);
             securityFrameworkUtilsMock.when(SecurityFrameworkUtils::getLoginUser).thenReturn(loginUser);
 
 
             // 调用
             // 调用
@@ -88,16 +90,18 @@ class DeptDataPermissionRuleTest extends BaseMockitoUnitTest {
             String tableName = "t_user";
             String tableName = "t_user";
             Alias tableAlias = new Alias("u");
             Alias tableAlias = new Alias("u");
             // mock 方法(LoginUser)
             // mock 方法(LoginUser)
-            LoginUser loginUser = randomPojo(LoginUser.class, o -> o.setId(1L));
+            LoginUser loginUser = randomPojo(LoginUser.class, o -> o.setId(1L)
+                    .setUserType(UserTypeEnum.ADMIN.getValue()));
             securityFrameworkUtilsMock.when(SecurityFrameworkUtils::getLoginUser).thenReturn(loginUser);
             securityFrameworkUtilsMock.when(SecurityFrameworkUtils::getLoginUser).thenReturn(loginUser);
             // mock 方法(DeptDataPermissionRespDTO)
             // mock 方法(DeptDataPermissionRespDTO)
             DeptDataPermissionRespDTO deptDataPermission = new DeptDataPermissionRespDTO().setAll(true);
             DeptDataPermissionRespDTO deptDataPermission = new DeptDataPermissionRespDTO().setAll(true);
-            when(deptDataPermissionFrameworkService.getDeptDataPermission(same(loginUser))).thenReturn(deptDataPermission);
+            when(permissionApi.getDeptDataPermission(same(1L))).thenReturn(deptDataPermission);
 
 
             // 调用
             // 调用
             Expression expression = rule.getExpression(tableName, tableAlias);
             Expression expression = rule.getExpression(tableName, tableAlias);
             // 断言
             // 断言
             assertNull(expression);
             assertNull(expression);
+            assertSame(deptDataPermission, loginUser.getContext(DeptDataPermissionRule.CONTEXT_KEY, DeptDataPermissionRespDTO.class));
         }
         }
     }
     }
 
 
@@ -109,16 +113,18 @@ class DeptDataPermissionRuleTest extends BaseMockitoUnitTest {
             String tableName = "t_user";
             String tableName = "t_user";
             Alias tableAlias = new Alias("u");
             Alias tableAlias = new Alias("u");
             // mock 方法(LoginUser)
             // mock 方法(LoginUser)
-            LoginUser loginUser = randomPojo(LoginUser.class, o -> o.setId(1L));
+            LoginUser loginUser = randomPojo(LoginUser.class, o -> o.setId(1L)
+                    .setUserType(UserTypeEnum.ADMIN.getValue()));
             securityFrameworkUtilsMock.when(SecurityFrameworkUtils::getLoginUser).thenReturn(loginUser);
             securityFrameworkUtilsMock.when(SecurityFrameworkUtils::getLoginUser).thenReturn(loginUser);
             // mock 方法(DeptDataPermissionRespDTO)
             // mock 方法(DeptDataPermissionRespDTO)
             DeptDataPermissionRespDTO deptDataPermission = new DeptDataPermissionRespDTO();
             DeptDataPermissionRespDTO deptDataPermission = new DeptDataPermissionRespDTO();
-            when(deptDataPermissionFrameworkService.getDeptDataPermission(same(loginUser))).thenReturn(deptDataPermission);
+            when(permissionApi.getDeptDataPermission(same(1L))).thenReturn(deptDataPermission);
 
 
             // 调用
             // 调用
             Expression expression = rule.getExpression(tableName, tableAlias);
             Expression expression = rule.getExpression(tableName, tableAlias);
             // 断言
             // 断言
             assertEquals("null = null", expression.toString());
             assertEquals("null = null", expression.toString());
+            assertSame(deptDataPermission, loginUser.getContext(DeptDataPermissionRule.CONTEXT_KEY, DeptDataPermissionRespDTO.class));
         }
         }
     }
     }
 
 
@@ -130,17 +136,19 @@ class DeptDataPermissionRuleTest extends BaseMockitoUnitTest {
             String tableName = "t_user";
             String tableName = "t_user";
             Alias tableAlias = new Alias("u");
             Alias tableAlias = new Alias("u");
             // mock 方法(LoginUser)
             // mock 方法(LoginUser)
-            LoginUser loginUser = randomPojo(LoginUser.class, o -> o.setId(1L));
+            LoginUser loginUser = randomPojo(LoginUser.class, o -> o.setId(1L)
+                    .setUserType(UserTypeEnum.ADMIN.getValue()));
             securityFrameworkUtilsMock.when(SecurityFrameworkUtils::getLoginUser).thenReturn(loginUser);
             securityFrameworkUtilsMock.when(SecurityFrameworkUtils::getLoginUser).thenReturn(loginUser);
             // mock 方法(DeptDataPermissionRespDTO)
             // mock 方法(DeptDataPermissionRespDTO)
             DeptDataPermissionRespDTO deptDataPermission = new DeptDataPermissionRespDTO()
             DeptDataPermissionRespDTO deptDataPermission = new DeptDataPermissionRespDTO()
                     .setDeptIds(SetUtils.asSet(10L, 20L)).setSelf(true);
                     .setDeptIds(SetUtils.asSet(10L, 20L)).setSelf(true);
-            when(deptDataPermissionFrameworkService.getDeptDataPermission(same(loginUser))).thenReturn(deptDataPermission);
+            when(permissionApi.getDeptDataPermission(same(1L))).thenReturn(deptDataPermission);
 
 
             // 调用
             // 调用
             Expression expression = rule.getExpression(tableName, tableAlias);
             Expression expression = rule.getExpression(tableName, tableAlias);
             // 断言
             // 断言
             assertSame(EXPRESSION_NULL, expression);
             assertSame(EXPRESSION_NULL, expression);
+            assertSame(deptDataPermission, loginUser.getContext(DeptDataPermissionRule.CONTEXT_KEY, DeptDataPermissionRespDTO.class));
         }
         }
     }
     }
 
 
@@ -152,12 +160,13 @@ class DeptDataPermissionRuleTest extends BaseMockitoUnitTest {
             String tableName = "t_user";
             String tableName = "t_user";
             Alias tableAlias = new Alias("u");
             Alias tableAlias = new Alias("u");
             // mock 方法(LoginUser)
             // mock 方法(LoginUser)
-            LoginUser loginUser = randomPojo(LoginUser.class, o -> o.setId(1L));
+            LoginUser loginUser = randomPojo(LoginUser.class, o -> o.setId(1L)
+                    .setUserType(UserTypeEnum.ADMIN.getValue()));
             securityFrameworkUtilsMock.when(SecurityFrameworkUtils::getLoginUser).thenReturn(loginUser);
             securityFrameworkUtilsMock.when(SecurityFrameworkUtils::getLoginUser).thenReturn(loginUser);
             // mock 方法(DeptDataPermissionRespDTO)
             // mock 方法(DeptDataPermissionRespDTO)
             DeptDataPermissionRespDTO deptDataPermission = new DeptDataPermissionRespDTO()
             DeptDataPermissionRespDTO deptDataPermission = new DeptDataPermissionRespDTO()
                     .setSelf(true);
                     .setSelf(true);
-            when(deptDataPermissionFrameworkService.getDeptDataPermission(same(loginUser))).thenReturn(deptDataPermission);
+            when(permissionApi.getDeptDataPermission(same(1L))).thenReturn(deptDataPermission);
             // 添加 user 字段配置
             // 添加 user 字段配置
             rule.addUserColumn("t_user", "id");
             rule.addUserColumn("t_user", "id");
 
 
@@ -165,6 +174,7 @@ class DeptDataPermissionRuleTest extends BaseMockitoUnitTest {
             Expression expression = rule.getExpression(tableName, tableAlias);
             Expression expression = rule.getExpression(tableName, tableAlias);
             // 断言
             // 断言
             assertEquals("u.id = 1", expression.toString());
             assertEquals("u.id = 1", expression.toString());
+            assertSame(deptDataPermission, loginUser.getContext(DeptDataPermissionRule.CONTEXT_KEY, DeptDataPermissionRespDTO.class));
         }
         }
     }
     }
 
 
@@ -176,12 +186,13 @@ class DeptDataPermissionRuleTest extends BaseMockitoUnitTest {
             String tableName = "t_user";
             String tableName = "t_user";
             Alias tableAlias = new Alias("u");
             Alias tableAlias = new Alias("u");
             // mock 方法(LoginUser)
             // mock 方法(LoginUser)
-            LoginUser loginUser = randomPojo(LoginUser.class, o -> o.setId(1L));
+            LoginUser loginUser = randomPojo(LoginUser.class, o -> o.setId(1L)
+                    .setUserType(UserTypeEnum.ADMIN.getValue()));
             securityFrameworkUtilsMock.when(SecurityFrameworkUtils::getLoginUser).thenReturn(loginUser);
             securityFrameworkUtilsMock.when(SecurityFrameworkUtils::getLoginUser).thenReturn(loginUser);
             // mock 方法(DeptDataPermissionRespDTO)
             // mock 方法(DeptDataPermissionRespDTO)
             DeptDataPermissionRespDTO deptDataPermission = new DeptDataPermissionRespDTO()
             DeptDataPermissionRespDTO deptDataPermission = new DeptDataPermissionRespDTO()
                     .setDeptIds(CollUtil.newLinkedHashSet(10L, 20L));
                     .setDeptIds(CollUtil.newLinkedHashSet(10L, 20L));
-            when(deptDataPermissionFrameworkService.getDeptDataPermission(same(loginUser))).thenReturn(deptDataPermission);
+            when(permissionApi.getDeptDataPermission(same(1L))).thenReturn(deptDataPermission);
             // 添加 dept 字段配置
             // 添加 dept 字段配置
             rule.addDeptColumn("t_user", "dept_id");
             rule.addDeptColumn("t_user", "dept_id");
 
 
@@ -189,6 +200,7 @@ class DeptDataPermissionRuleTest extends BaseMockitoUnitTest {
             Expression expression = rule.getExpression(tableName, tableAlias);
             Expression expression = rule.getExpression(tableName, tableAlias);
             // 断言
             // 断言
             assertEquals("u.dept_id IN (10, 20)", expression.toString());
             assertEquals("u.dept_id IN (10, 20)", expression.toString());
+            assertSame(deptDataPermission, loginUser.getContext(DeptDataPermissionRule.CONTEXT_KEY, DeptDataPermissionRespDTO.class));
         }
         }
     }
     }
 
 
@@ -200,12 +212,13 @@ class DeptDataPermissionRuleTest extends BaseMockitoUnitTest {
             String tableName = "t_user";
             String tableName = "t_user";
             Alias tableAlias = new Alias("u");
             Alias tableAlias = new Alias("u");
             // mock 方法(LoginUser)
             // mock 方法(LoginUser)
-            LoginUser loginUser = randomPojo(LoginUser.class, o -> o.setId(1L));
+            LoginUser loginUser = randomPojo(LoginUser.class, o -> o.setId(1L)
+                    .setUserType(UserTypeEnum.ADMIN.getValue()));
             securityFrameworkUtilsMock.when(SecurityFrameworkUtils::getLoginUser).thenReturn(loginUser);
             securityFrameworkUtilsMock.when(SecurityFrameworkUtils::getLoginUser).thenReturn(loginUser);
             // mock 方法(DeptDataPermissionRespDTO)
             // mock 方法(DeptDataPermissionRespDTO)
             DeptDataPermissionRespDTO deptDataPermission = new DeptDataPermissionRespDTO()
             DeptDataPermissionRespDTO deptDataPermission = new DeptDataPermissionRespDTO()
                     .setDeptIds(CollUtil.newLinkedHashSet(10L, 20L)).setSelf(true);
                     .setDeptIds(CollUtil.newLinkedHashSet(10L, 20L)).setSelf(true);
-            when(deptDataPermissionFrameworkService.getDeptDataPermission(same(loginUser))).thenReturn(deptDataPermission);
+            when(permissionApi.getDeptDataPermission(same(1L))).thenReturn(deptDataPermission);
             // 添加 user 字段配置
             // 添加 user 字段配置
             rule.addUserColumn("t_user", "id");
             rule.addUserColumn("t_user", "id");
             // 添加 dept 字段配置
             // 添加 dept 字段配置
@@ -215,6 +228,7 @@ class DeptDataPermissionRuleTest extends BaseMockitoUnitTest {
             Expression expression = rule.getExpression(tableName, tableAlias);
             Expression expression = rule.getExpression(tableName, tableAlias);
             // 断言
             // 断言
             assertEquals("u.dept_id IN (10, 20) OR u.id = 1", expression.toString());
             assertEquals("u.dept_id IN (10, 20) OR u.id = 1", expression.toString());
+            assertSame(deptDataPermission, loginUser.getContext(DeptDataPermissionRule.CONTEXT_KEY, DeptDataPermissionRespDTO.class));
         }
         }
     }
     }
 
 

+ 16 - 5
yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/core/db/TenantDatabaseInterceptor.java

@@ -4,29 +4,40 @@ import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.framework.tenant.config.TenantProperties;
 import cn.iocoder.yudao.framework.tenant.config.TenantProperties;
 import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
 import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
 import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
 import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
-import lombok.AllArgsConstructor;
 import net.sf.jsqlparser.expression.Expression;
 import net.sf.jsqlparser.expression.Expression;
 import net.sf.jsqlparser.expression.LongValue;
 import net.sf.jsqlparser.expression.LongValue;
 
 
+import java.util.HashSet;
+import java.util.Set;
+
 /**
 /**
  * 基于 MyBatis Plus 多租户的功能,实现 DB 层面的多租户的功能
  * 基于 MyBatis Plus 多租户的功能,实现 DB 层面的多租户的功能
  *
  *
  * @author 芋道源码
  * @author 芋道源码
  */
  */
-@AllArgsConstructor
 public class TenantDatabaseInterceptor implements TenantLineHandler {
 public class TenantDatabaseInterceptor implements TenantLineHandler {
 
 
-    private final TenantProperties properties;
+    private final Set<String> ignoreTables = new HashSet<>();
+
+    public TenantDatabaseInterceptor(TenantProperties properties) {
+        // 不同 DB 下,大小写的习惯不同,所以需要都添加进去
+        properties.getIgnoreTables().forEach(table -> {
+            ignoreTables.add(table.toLowerCase());
+            ignoreTables.add(table.toUpperCase());
+        });
+        // 在 OracleKeyGenerator 中,生成主键时,会查询这个表,查询这个表后,会自动拼接 TENANT_ID 导致报错
+        ignoreTables.add("DUAL");
+    }
 
 
     @Override
     @Override
     public Expression getTenantId() {
     public Expression getTenantId() {
-        return new LongValue( TenantContextHolder.getRequiredTenantId());
+        return new LongValue(TenantContextHolder.getRequiredTenantId());
     }
     }
 
 
     @Override
     @Override
     public boolean ignoreTable(String tableName) {
     public boolean ignoreTable(String tableName) {
         return TenantContextHolder.isIgnore() // 情况一,全局忽略多租户
         return TenantContextHolder.isIgnore() // 情况一,全局忽略多租户
-            || CollUtil.contains(properties.getIgnoreTables(), tableName); // 情况二,忽略多租户的表
+            || CollUtil.contains(ignoreTables, tableName); // 情况二,忽略多租户的表
     }
     }
 
 
 }
 }

+ 4 - 4
yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/core/web/TenantContextWebFilter.java

@@ -1,7 +1,7 @@
 package cn.iocoder.yudao.framework.tenant.core.web;
 package cn.iocoder.yudao.framework.tenant.core.web;
 
 
-import cn.hutool.core.util.StrUtil;
 import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
 import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
+import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
 import org.springframework.web.filter.OncePerRequestFilter;
 import org.springframework.web.filter.OncePerRequestFilter;
 
 
 import javax.servlet.FilterChain;
 import javax.servlet.FilterChain;
@@ -24,9 +24,9 @@ public class TenantContextWebFilter extends OncePerRequestFilter {
     protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
     protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
             throws ServletException, IOException {
             throws ServletException, IOException {
         // 设置
         // 设置
-        String tenantId = request.getHeader(HEADER_TENANT_ID);
-        if (StrUtil.isNotEmpty(tenantId)) {
-            TenantContextHolder.setTenantId(Long.valueOf(tenantId));
+        Long tenantId = WebFrameworkUtils.getTenantId(request);
+        if (tenantId != null) {
+            TenantContextHolder.setTenantId(tenantId);
         }
         }
         try {
         try {
             chain.doFilter(request, response);
             chain.doFilter(request, response);

+ 2 - 2
yudao-framework/yudao-spring-boot-starter-config/src/main/java/cn/iocoder/yudao/framework/apollo/internals/ConfigFrameworkDAO.java

@@ -15,12 +15,12 @@ import java.util.List;
 public interface ConfigFrameworkDAO {
 public interface ConfigFrameworkDAO {
 
 
     /**
     /**
-     * 查询是否存在比 maxUpdateTime 更新记录更晚的配置
+     * 查询是否存在比 maxUpdateTime 的更新记录数量
      *
      *
      * @param maxUpdateTime 最大更新时间
      * @param maxUpdateTime 最大更新时间
      * @return 是否存在
      * @return 是否存在
      */
      */
-    boolean selectExistsByUpdateTimeAfter(Date maxUpdateTime);
+    int selectCountByUpdateTimeGt(Date maxUpdateTime);
 
 
     /**
     /**
      * 查询配置列表
      * 查询配置列表

+ 1 - 2
yudao-framework/yudao-spring-boot-starter-config/src/main/java/cn/iocoder/yudao/framework/apollo/internals/DBConfigRepository.java

@@ -24,7 +24,6 @@ import java.util.List;
 import java.util.Properties;
 import java.util.Properties;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.ScheduledExecutorService;
-import java.util.function.Predicate;
 
 
 @Slf4j
 @Slf4j
 public class DBConfigRepository extends AbstractConfigRepository {
 public class DBConfigRepository extends AbstractConfigRepository {
@@ -172,7 +171,7 @@ public class DBConfigRepository extends AbstractConfigRepository {
         if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据
         if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据
             log.info("[loadConfigIfUpdate][首次加载全量配置]");
             log.info("[loadConfigIfUpdate][首次加载全量配置]");
         } else { // 判断数据库中是否有更新的配置
         } else { // 判断数据库中是否有更新的配置
-            if (!configFrameworkDAO.selectExistsByUpdateTimeAfter(maxUpdateTime)) {
+            if (configFrameworkDAO.selectCountByUpdateTimeGt(maxUpdateTime) == 0) {
                 return null;
                 return null;
             }
             }
             log.info("[loadConfigIfUpdate][增量加载全量配置]");
             log.info("[loadConfigIfUpdate][增量加载全量配置]");

+ 10 - 5
yudao-framework/yudao-spring-boot-starter-file/src/main/java/cn/iocoder/yudao/framework/file/core/client/ftp/FtpFileClient.java

@@ -27,9 +27,11 @@ public class FtpFileClient extends AbstractFileClient<FtpFileClientConfig> {
 
 
     @Override
     @Override
     protected void doInit() {
     protected void doInit() {
-        // 补全风格。例如说 Linux 是 /,Windows 是 \
-        if (!config.getBasePath().endsWith(File.separator)) {
-            config.setBasePath(config.getBasePath() + File.separator);
+        // 把配置的 \ 替换成 /, 如果路径配置 \a\test, 替换成 /a/test, 替换方法已经处理 null 情况
+        config.setBasePath(StrUtil.replace(config.getBasePath(), StrUtil.BACKSLASH, StrUtil.SLASH));
+        // ftp的路径是 / 结尾
+        if (!config.getBasePath().endsWith(StrUtil.SLASH)) {
+            config.setBasePath(config.getBasePath() + StrUtil.SLASH);
         }
         }
         // 初始化 Ftp 对象
         // 初始化 Ftp 对象
         this.ftp = new Ftp(config.getHost(), config.getPort(), config.getUsername(), config.getPassword(),
         this.ftp = new Ftp(config.getHost(), config.getPort(), config.getUsername(), config.getPassword(),
@@ -42,6 +44,7 @@ public class FtpFileClient extends AbstractFileClient<FtpFileClientConfig> {
         String filePath = getFilePath(path);
         String filePath = getFilePath(path);
         String fileName = FileUtil.getName(filePath);
         String fileName = FileUtil.getName(filePath);
         String dir = StrUtil.removeSuffix(filePath, fileName);
         String dir = StrUtil.removeSuffix(filePath, fileName);
+        ftp.reconnectIfTimeout();
         boolean success = ftp.upload(dir, fileName, new ByteArrayInputStream(content));
         boolean success = ftp.upload(dir, fileName, new ByteArrayInputStream(content));
         if (!success) {
         if (!success) {
             throw new FtpException(StrUtil.format("上传文件到目标目录 ({}) 失败", filePath));
             throw new FtpException(StrUtil.format("上传文件到目标目录 ({}) 失败", filePath));
@@ -53,6 +56,7 @@ public class FtpFileClient extends AbstractFileClient<FtpFileClientConfig> {
     @Override
     @Override
     public void delete(String path) {
     public void delete(String path) {
         String filePath = getFilePath(path);
         String filePath = getFilePath(path);
+        ftp.reconnectIfTimeout();
         ftp.delFile(filePath);
         ftp.delFile(filePath);
     }
     }
 
 
@@ -60,8 +64,9 @@ public class FtpFileClient extends AbstractFileClient<FtpFileClientConfig> {
     public byte[] getContent(String path) {
     public byte[] getContent(String path) {
         String filePath = getFilePath(path);
         String filePath = getFilePath(path);
         String fileName = FileUtil.getName(filePath);
         String fileName = FileUtil.getName(filePath);
-        String dir = StrUtil.removeSuffix(path, fileName);
+        String dir = StrUtil.removeSuffix(filePath, fileName);
         ByteArrayOutputStream out = new ByteArrayOutputStream();
         ByteArrayOutputStream out = new ByteArrayOutputStream();
+        ftp.reconnectIfTimeout();
         ftp.download(dir, fileName, out);
         ftp.download(dir, fileName, out);
         return out.toByteArray();
         return out.toByteArray();
     }
     }
@@ -70,4 +75,4 @@ public class FtpFileClient extends AbstractFileClient<FtpFileClientConfig> {
         return config.getBasePath() + path;
         return config.getBasePath() + path;
     }
     }
 
 
-}
+}

+ 0 - 1
yudao-framework/yudao-spring-boot-starter-job/pom.xml

@@ -36,7 +36,6 @@
             <artifactId>jakarta.validation-api</artifactId>
             <artifactId>jakarta.validation-api</artifactId>
         </dependency>
         </dependency>
 
 
-
     </dependencies>
     </dependencies>
 
 
 </project>
 </project>

+ 16 - 5
yudao-framework/yudao-spring-boot-starter-mybatis/pom.xml

@@ -15,10 +15,6 @@
     <description>数据库连接池、多数据源、事务、MyBatis 拓展</description>
     <description>数据库连接池、多数据源、事务、MyBatis 拓展</description>
     <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
     <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
 
 
-    <properties>
-        <mysql.version>5.1.46</mysql.version>
-    </properties>
-
     <dependencies>
     <dependencies>
         <dependency>
         <dependency>
             <groupId>cn.iocoder.boot</groupId>
             <groupId>cn.iocoder.boot</groupId>
@@ -36,12 +32,19 @@
         <dependency>
         <dependency>
             <groupId>mysql</groupId>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
             <artifactId>mysql-connector-java</artifactId>
-            <version>${mysql.version}</version>
         </dependency>
         </dependency>
         <dependency>
         <dependency>
             <groupId>com.oracle.database.jdbc</groupId>
             <groupId>com.oracle.database.jdbc</groupId>
             <artifactId>ojdbc8</artifactId>
             <artifactId>ojdbc8</artifactId>
         </dependency>
         </dependency>
+        <dependency>
+            <groupId>org.postgresql</groupId>
+            <artifactId>postgresql</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.microsoft.sqlserver</groupId>
+            <artifactId>mssql-jdbc</artifactId>
+        </dependency>
 
 
         <dependency>
         <dependency>
             <groupId>com.alibaba</groupId>
             <groupId>com.alibaba</groupId>
@@ -55,6 +58,14 @@
             <groupId>com.baomidou</groupId>
             <groupId>com.baomidou</groupId>
             <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <!-- 多数据源 -->
             <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <!-- 多数据源 -->
         </dependency>
         </dependency>
+
+        <!-- 工具类相关 -->
+        <dependency>
+            <groupId>com.github.ulisesbocchio</groupId>
+            <artifactId>jasypt-spring-boot-starter</artifactId> <!-- 加解密 -->
+            <optional>true</optional>
+        </dependency>
+
     </dependencies>
     </dependencies>
 
 
 </project>
 </project>

+ 108 - 0
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/config/IdTypeEnvironmentPostProcessor.java

@@ -0,0 +1,108 @@
+package cn.iocoder.yudao.framework.mybatis.config;
+
+import cn.hutool.core.util.StrUtil;
+import cn.iocoder.yudao.framework.common.util.collection.SetUtils;
+import cn.iocoder.yudao.framework.mybatis.core.enums.SqlConstants;
+import cn.iocoder.yudao.framework.mybatis.core.util.JdbcUtils;
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.annotation.IdType;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.env.EnvironmentPostProcessor;
+import org.springframework.core.env.ConfigurableEnvironment;
+
+import java.util.Set;
+
+/**
+ * 当 IdType 为 {@link IdType#NONE} 时,根据 PRIMARY 数据源所使用的数据库,自动设置
+ *
+ * @author 芋道源码
+ */
+@Slf4j
+public class IdTypeEnvironmentPostProcessor implements EnvironmentPostProcessor {
+
+    private static final String ID_TYPE_KEY = "mybatis-plus.global-config.db-config.id-type";
+
+    private static final String DATASOURCE_DYNAMIC_KEY = "spring.datasource.dynamic";
+
+    private static final String QUARTZ_JOB_STORE_DRIVER_KEY = "spring.quartz.properties.org.quartz.jobStore.driverDelegateClass";
+
+    private static final Set<DbType> INPUT_ID_TYPES = SetUtils.asSet(DbType.ORACLE, DbType.ORACLE_12C,
+            DbType.POSTGRE_SQL, DbType.KINGBASE_ES, DbType.DB2, DbType.H2);
+
+    @Override
+    public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
+        // 如果获取不到 DbType,则不进行处理
+        DbType dbType = getDbType(environment);
+        if (dbType == null) {
+            return;
+        }
+
+        // 设置 Quartz JobStore 对应的 Driver
+        // TODO 芋艿:暂时没有找到特别合适的地方,先放在这里
+        setJobStoreDriverIfPresent(environment, dbType);
+
+        // 初始化 SQL 静态变量
+        SqlConstants.init(dbType);
+
+        // 如果非 NONE,则不进行处理
+        IdType idType = getIdType(environment);
+        if (idType != IdType.NONE) {
+            return;
+        }
+        // 情况一,用户输入 ID,适合 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库
+        if (INPUT_ID_TYPES.contains(dbType)) {
+            setIdType(environment, IdType.INPUT);
+            return;
+        }
+        // 情况二,自增 ID,适合 MySQL 等直接自增的数据库
+        setIdType(environment, IdType.AUTO);
+    }
+
+    public IdType getIdType(ConfigurableEnvironment environment) {
+        return environment.getProperty(ID_TYPE_KEY, IdType.class);
+    }
+
+    public void setIdType(ConfigurableEnvironment environment, IdType idType) {
+        environment.getSystemProperties().put(ID_TYPE_KEY, idType);
+        log.info("[setIdType][修改 MyBatis Plus 的 idType 为({})]", idType);
+    }
+
+    public void setJobStoreDriverIfPresent(ConfigurableEnvironment environment, DbType dbType) {
+        String driverClass = environment.getProperty(QUARTZ_JOB_STORE_DRIVER_KEY);
+        if (StrUtil.isNotEmpty(driverClass)) {
+            return;
+        }
+        // 根据 dbType 类型,获取对应的 driverClass
+        switch (dbType) {
+            case POSTGRE_SQL:
+                driverClass = "org.quartz.impl.jdbcjobstore.PostgreSQLDelegate";
+                break;
+            case ORACLE:
+            case ORACLE_12C:
+                driverClass = "org.quartz.impl.jdbcjobstore.oracle.OracleDelegate";
+                break;
+            case SQL_SERVER:
+            case SQL_SERVER2005:
+                driverClass = "org.quartz.impl.jdbcjobstore.MSSQLDelegate";
+                break;
+        }
+        // 设置 driverClass 变量
+        if (StrUtil.isNotEmpty(driverClass)) {
+            environment.getSystemProperties().put(QUARTZ_JOB_STORE_DRIVER_KEY, driverClass);
+        }
+    }
+
+    public static DbType getDbType(ConfigurableEnvironment environment) {
+        String primary = environment.getProperty(DATASOURCE_DYNAMIC_KEY + "." + "primary");
+        if (StrUtil.isEmpty(primary)) {
+            return null;
+        }
+        String url = environment.getProperty(DATASOURCE_DYNAMIC_KEY + ".datasource." + primary + ".url");
+        if (StrUtil.isEmpty(url)) {
+            return null;
+        }
+        return JdbcUtils.getDbType(url);
+    }
+
+}

+ 30 - 0
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/config/YudaoMybatisAutoConfiguration.java

@@ -1,13 +1,22 @@
 package cn.iocoder.yudao.framework.mybatis.config;
 package cn.iocoder.yudao.framework.mybatis.config;
 
 
+import cn.hutool.core.util.StrUtil;
 import cn.iocoder.yudao.framework.mybatis.core.handler.DefaultDBFieldHandler;
 import cn.iocoder.yudao.framework.mybatis.core.handler.DefaultDBFieldHandler;
+import com.baomidou.mybatisplus.annotation.DbType;
 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.baomidou.mybatisplus.core.incrementer.IKeyGenerator;
+import com.baomidou.mybatisplus.extension.incrementer.H2KeyGenerator;
+import com.baomidou.mybatisplus.extension.incrementer.KingbaseKeyGenerator;
+import com.baomidou.mybatisplus.extension.incrementer.OracleKeyGenerator;
+import com.baomidou.mybatisplus.extension.incrementer.PostgreKeyGenerator;
 import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
 import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
 import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
 import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.mybatis.spring.annotation.MapperScan;
 import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.core.env.ConfigurableEnvironment;
 
 
 /**
 /**
  * MyBaits 配置类
  * MyBaits 配置类
@@ -31,4 +40,25 @@ public class YudaoMybatisAutoConfiguration {
         return new DefaultDBFieldHandler(); // 自动填充参数类
         return new DefaultDBFieldHandler(); // 自动填充参数类
     }
     }
 
 
+    @Bean
+    @ConditionalOnProperty(prefix = "mybatis-plus.global-config.db-config", name = "id-type", havingValue = "INPUT")
+    public IKeyGenerator keyGenerator(ConfigurableEnvironment environment) {
+        DbType dbType = IdTypeEnvironmentPostProcessor.getDbType(environment);
+        if (dbType != null) {
+            switch (dbType) {
+                case POSTGRE_SQL:
+                    return new PostgreKeyGenerator();
+                case ORACLE:
+                case ORACLE_12C:
+                    return new OracleKeyGenerator();
+                case H2:
+                    return new H2KeyGenerator();
+                case KINGBASE_ES:
+                    return new KingbaseKeyGenerator();
+            }
+        }
+        // 找不到合适的 IKeyGenerator 实现类
+        throw new IllegalArgumentException(StrUtil.format("DbType{} 找不到合适的 IKeyGenerator 实现类", dbType));
+    }
+
 }
 }

+ 3 - 3
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/dataobject/BaseDO.java

@@ -3,8 +3,8 @@ package cn.iocoder.yudao.framework.mybatis.core.dataobject;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableLogic;
-import lombok.Builder;
 import lombok.Data;
 import lombok.Data;
+import org.apache.ibatis.type.JdbcType;
 
 
 import java.io.Serializable;
 import java.io.Serializable;
 import java.util.Date;
 import java.util.Date;
@@ -32,14 +32,14 @@ public abstract class BaseDO implements Serializable {
      *
      *
      * 使用 String 类型的原因是,未来可能会存在非数值的情况,留好拓展性。
      * 使用 String 类型的原因是,未来可能会存在非数值的情况,留好拓展性。
      */
      */
-    @TableField(fill = FieldFill.INSERT)
+    @TableField(fill = FieldFill.INSERT, jdbcType = JdbcType.VARCHAR)
     private String creator;
     private String creator;
     /**
     /**
      * 更新者,目前使用 SysUser 的 id 编号
      * 更新者,目前使用 SysUser 的 id 编号
      *
      *
      * 使用 String 类型的原因是,未来可能会存在非数值的情况,留好拓展性。
      * 使用 String 类型的原因是,未来可能会存在非数值的情况,留好拓展性。
      */
      */
-    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @TableField(fill = FieldFill.INSERT_UPDATE, jdbcType = JdbcType.VARCHAR)
     private String updater;
     private String updater;
     /**
     /**
      * 是否删除
      * 是否删除

+ 12 - 2
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/enums/SqlConstants.java

@@ -1,11 +1,21 @@
 package cn.iocoder.yudao.framework.mybatis.core.enums;
 package cn.iocoder.yudao.framework.mybatis.core.enums;
 
 
+import com.baomidou.mybatisplus.annotation.DbType;
+
 /**
 /**
  * SQL相关常量类
  * SQL相关常量类
+ *
+ * @author 芋道源码
  */
  */
-public interface SqlConstants {
+public class SqlConstants {
 
 
+    /**
+     * 数据库的类型
+     */
+    public static DbType DB_TYPE;
 
 
-    String LIMIT1 = "LIMIT 1";
+    public static void init(DbType dbType) {
+        DB_TYPE = dbType;
+    }
 
 
 }
 }

+ 26 - 0
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/query/QueryWrapperX.java

@@ -1,5 +1,7 @@
 package cn.iocoder.yudao.framework.mybatis.core.query;
 package cn.iocoder.yudao.framework.mybatis.core.query;
 
 
+import cn.hutool.core.lang.Assert;
+import cn.iocoder.yudao.framework.mybatis.core.enums.SqlConstants;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ArrayUtils;
 import com.baomidou.mybatisplus.core.toolkit.ArrayUtils;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
@@ -124,4 +126,28 @@ public class QueryWrapperX<T> extends QueryWrapper<T> {
         return this;
         return this;
     }
     }
 
 
+    /**
+     * 设置只返回最后一条
+     *
+     * TODO 芋艿:不是完美解,需要在思考下。如果使用多数据源,并且数据源是多种类型时,可能会存在问题:实现之返回一条的语法不同
+     *
+     * @return this
+     */
+    public QueryWrapperX<T> limit1() {
+        Assert.notNull(SqlConstants.DB_TYPE, "获取不到数据库的类型");
+        switch (SqlConstants.DB_TYPE) {
+            case ORACLE:
+            case ORACLE_12C:
+                super.eq("ROWNUM", 1);
+                break;
+            case SQL_SERVER:
+            case SQL_SERVER2005:
+                super.select("TOP 1 *"); // 由于 SQL Server 是通过 SELECT TOP 1 实现限制一条,所以只好使用 * 查询剩余字段
+                break;
+            default:
+                super.last("LIMIT 1");
+        }
+        return this;
+    }
+
 }
 }

+ 70 - 0
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/type/EncryptTypeHandler.java

@@ -0,0 +1,70 @@
+package cn.iocoder.yudao.framework.mybatis.core.type;
+
+import cn.hutool.core.lang.Assert;
+import cn.hutool.extra.spring.SpringUtil;
+import org.apache.ibatis.type.BaseTypeHandler;
+import org.apache.ibatis.type.JdbcType;
+import org.jasypt.encryption.StringEncryptor;
+
+import java.sql.CallableStatement;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+/**
+ * 字段字段的 TypeHandler 实现类,基于 {@link StringEncryptor} 实现
+ * 可通过 jasypt.encryptor.password 配置项,设置密钥
+ *
+ * @author 芋道源码
+ */
+public class EncryptTypeHandler extends BaseTypeHandler<String> {
+
+    private static StringEncryptor encryptor;
+
+    @Override
+    public void setNonNullParameter(PreparedStatement ps, int i, String parameter, JdbcType jdbcType) throws SQLException {
+        ps.setString(i, getEncryptor().encrypt(parameter));
+    }
+
+    @Override
+    public String getNullableResult(ResultSet rs, String columnName) throws SQLException {
+        String value = rs.getString(columnName);
+        return decrypt(value);
+    }
+
+    @Override
+    public String getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
+        String value = rs.getString(columnIndex);
+        return decrypt(value);
+    }
+
+    @Override
+    public String getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
+        String value = cs.getString(columnIndex);
+        return decrypt(value);
+    }
+
+    private static String decrypt(String value) {
+        if (value == null) {
+            return null;
+        }
+        return getEncryptor().decrypt(value);
+    }
+
+    public static String encrypt(String rawValue) {
+        if (rawValue == null) {
+            return null;
+        }
+        return getEncryptor().encrypt(rawValue);
+    }
+
+    private static StringEncryptor getEncryptor() {
+        if (encryptor != null) {
+            return encryptor;
+        }
+        encryptor = SpringUtil.getBean(StringEncryptor.class);
+        Assert.notNull(encryptor, "StringEncryptor 不能为空");
+        return encryptor;
+    }
+
+}

+ 1 - 1
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/type/StringLiSTTypeHandler.java → yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/type/StringListTypeHandler.java

@@ -21,7 +21,7 @@ import java.util.List;
  */
  */
 @MappedJdbcTypes(JdbcType.VARCHAR)
 @MappedJdbcTypes(JdbcType.VARCHAR)
 @MappedTypes(List.class)
 @MappedTypes(List.class)
-public class StringLiSTTypeHandler implements TypeHandler<List<String>> {
+public class StringListTypeHandler implements TypeHandler<List<String>> {
 
 
     private static final String COMMA = ",";
     private static final String COMMA = ",";
 
 

+ 13 - 0
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/util/JdbcUtils.java

@@ -1,5 +1,7 @@
 package cn.iocoder.yudao.framework.mybatis.core.util;
 package cn.iocoder.yudao.framework.mybatis.core.util;
 
 
+import com.baomidou.mybatisplus.annotation.DbType;
+
 import java.sql.Connection;
 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.DriverManager;
 
 
@@ -26,4 +28,15 @@ public class JdbcUtils {
         }
         }
     }
     }
 
 
+    /**
+     * 获得 URL 对应的 DB 类型
+     *
+     * @param url URL
+     * @return DB 类型
+     */
+    public static DbType getDbType(String url) {
+        String name = com.alibaba.druid.util.JdbcUtils.getDbType(url, null);
+        return DbType.getDbType(name);
+    }
+
 }
 }

+ 2 - 0
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/resources/META-INF/spring.factories

@@ -1,3 +1,5 @@
 org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
 org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
   cn.iocoder.yudao.framework.datasource.config.YudaoDataSourceAutoConfiguration,\
   cn.iocoder.yudao.framework.datasource.config.YudaoDataSourceAutoConfiguration,\
   cn.iocoder.yudao.framework.mybatis.config.YudaoMybatisAutoConfiguration
   cn.iocoder.yudao.framework.mybatis.config.YudaoMybatisAutoConfiguration
+org.springframework.boot.env.EnvironmentPostProcessor=\
+  cn.iocoder.yudao.framework.mybatis.config.IdTypeEnvironmentPostProcessor

+ 3 - 0
yudao-framework/yudao-spring-boot-starter-protection/src/main/java/cn/iocoder/yudao/framework/lock4j/config/YudaoLock4jConfiguration.java

@@ -1,12 +1,15 @@
 package cn.iocoder.yudao.framework.lock4j.config;
 package cn.iocoder.yudao.framework.lock4j.config;
 
 
 import cn.hutool.core.util.ClassUtil;
 import cn.hutool.core.util.ClassUtil;
+import com.baomidou.lock.spring.boot.autoconfigure.LockAutoConfiguration;
 import cn.iocoder.yudao.framework.lock4j.core.DefaultLockFailureStrategy;
 import cn.iocoder.yudao.framework.lock4j.core.DefaultLockFailureStrategy;
 import cn.iocoder.yudao.framework.lock4j.core.Lock4jRedisKeyConstants;
 import cn.iocoder.yudao.framework.lock4j.core.Lock4jRedisKeyConstants;
+import org.springframework.boot.autoconfigure.AutoConfigureBefore;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Configuration;
 
 
 @Configuration
 @Configuration
+@AutoConfigureBefore(LockAutoConfiguration.class)
 public class YudaoLock4jConfiguration {
 public class YudaoLock4jConfiguration {
 
 
     static {
     static {

+ 4 - 11
yudao-framework/yudao-spring-boot-starter-security/pom.xml

@@ -44,18 +44,11 @@
             <artifactId>spring-boot-starter-security</artifactId>
             <artifactId>spring-boot-starter-security</artifactId>
         </dependency>
         </dependency>
 
 
-        <!-- TODO 芋艿: -->
+        <!-- 业务组件 -->
         <dependency>
         <dependency>
-            <groupId>org.activiti</groupId>
-            <artifactId>activiti-engine</artifactId>
-            <version>7.1.0.M6</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-            <optional>true</optional>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-system-api</artifactId> <!-- 需要使用它,进行 Token 的校验 -->
+            <version>${revision}</version>
         </dependency>
         </dependency>
     </dependencies>
     </dependencies>
 
 

+ 0 - 13
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/config/SecurityProperties.java

@@ -6,7 +6,6 @@ import org.springframework.validation.annotation.Validated;
 
 
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.NotNull;
-import java.time.Duration;
 
 
 @ConfigurationProperties(prefix = "yudao.security")
 @ConfigurationProperties(prefix = "yudao.security")
 @Validated
 @Validated
@@ -18,18 +17,6 @@ public class SecurityProperties {
      */
      */
     @NotEmpty(message = "Token Header 不能为空")
     @NotEmpty(message = "Token Header 不能为空")
     private String tokenHeader;
     private String tokenHeader;
-    /**
-     * Token 过期时间
-     */
-    @NotNull(message = "Token 过期时间不能为空")
-    private Duration tokenTimeout;
-    /**
-     * Session 过期时间
-     *
-     * 当 User 用户超过当前时间未操作,则 Session 会过期
-     */
-    @NotNull(message = "Session 过期时间不能为空")
-    private Duration sessionTimeout;
 
 
     /**
     /**
      * mock 模式的开关
      * mock 模式的开关

+ 11 - 26
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/config/YudaoSecurityAutoConfiguration.java

@@ -1,15 +1,15 @@
 package cn.iocoder.yudao.framework.security.config;
 package cn.iocoder.yudao.framework.security.config;
 
 
 import cn.iocoder.yudao.framework.security.core.aop.PreAuthenticatedAspect;
 import cn.iocoder.yudao.framework.security.core.aop.PreAuthenticatedAspect;
-import cn.iocoder.yudao.framework.security.core.authentication.MultiUserDetailsAuthenticationProvider;
 import cn.iocoder.yudao.framework.security.core.context.TransmittableThreadLocalSecurityContextHolderStrategy;
 import cn.iocoder.yudao.framework.security.core.context.TransmittableThreadLocalSecurityContextHolderStrategy;
-import cn.iocoder.yudao.framework.security.core.filter.JWTAuthenticationTokenFilter;
+import cn.iocoder.yudao.framework.security.core.filter.TokenAuthenticationFilter;
 import cn.iocoder.yudao.framework.security.core.handler.AccessDeniedHandlerImpl;
 import cn.iocoder.yudao.framework.security.core.handler.AccessDeniedHandlerImpl;
 import cn.iocoder.yudao.framework.security.core.handler.AuthenticationEntryPointImpl;
 import cn.iocoder.yudao.framework.security.core.handler.AuthenticationEntryPointImpl;
-import cn.iocoder.yudao.framework.security.core.handler.LogoutSuccessHandlerImpl;
-import cn.iocoder.yudao.framework.security.core.service.SecurityAuthFrameworkService;
-import cn.iocoder.yudao.framework.web.config.WebProperties;
+import cn.iocoder.yudao.framework.security.core.service.SecurityFrameworkService;
+import cn.iocoder.yudao.framework.security.core.service.SecurityFrameworkServiceImpl;
 import cn.iocoder.yudao.framework.web.core.handler.GlobalExceptionHandler;
 import cn.iocoder.yudao.framework.web.core.handler.GlobalExceptionHandler;
+import cn.iocoder.yudao.module.system.api.auth.OAuth2TokenApi;
+import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
 import org.springframework.beans.factory.config.MethodInvokingFactoryBean;
 import org.springframework.beans.factory.config.MethodInvokingFactoryBean;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Bean;
@@ -19,10 +19,8 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.security.web.AuthenticationEntryPoint;
 import org.springframework.security.web.AuthenticationEntryPoint;
 import org.springframework.security.web.access.AccessDeniedHandler;
 import org.springframework.security.web.access.AccessDeniedHandler;
-import org.springframework.security.web.authentication.logout.LogoutSuccessHandler;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
-import java.util.List;
 
 
 /**
 /**
  * Spring Security 自动配置类,主要用于相关组件的配置
  * Spring Security 自动配置类,主要用于相关组件的配置
@@ -63,14 +61,6 @@ public class YudaoSecurityAutoConfiguration {
         return new AccessDeniedHandlerImpl();
         return new AccessDeniedHandlerImpl();
     }
     }
 
 
-    /**
-     * 退出处理类 Bean
-     */
-    @Bean
-    public LogoutSuccessHandler logoutSuccessHandler(MultiUserDetailsAuthenticationProvider authenticationProvider) {
-        return new LogoutSuccessHandlerImpl(securityProperties, authenticationProvider);
-    }
-
     /**
     /**
      * Spring Security 加密器
      * Spring Security 加密器
      * 考虑到安全性,这里采用 BCryptPasswordEncoder 加密器
      * 考虑到安全性,这里采用 BCryptPasswordEncoder 加密器
@@ -86,19 +76,14 @@ public class YudaoSecurityAutoConfiguration {
      * Token 认证过滤器 Bean
      * Token 认证过滤器 Bean
      */
      */
     @Bean
     @Bean
-    public JWTAuthenticationTokenFilter authenticationTokenFilter(MultiUserDetailsAuthenticationProvider authenticationProvider,
-                                                                  GlobalExceptionHandler globalExceptionHandler) {
-        return new JWTAuthenticationTokenFilter(securityProperties, authenticationProvider, globalExceptionHandler);
+    public TokenAuthenticationFilter authenticationTokenFilter(GlobalExceptionHandler globalExceptionHandler,
+                                                               OAuth2TokenApi oauth2TokenApi) {
+        return new TokenAuthenticationFilter(securityProperties, globalExceptionHandler, oauth2TokenApi);
     }
     }
 
 
-    /**
-     * 身份验证的 Provider Bean,通过它实现账号 + 密码的认证
-     */
-    @Bean
-    public MultiUserDetailsAuthenticationProvider authenticationProvider(
-            List<SecurityAuthFrameworkService> securityFrameworkServices,
-            WebProperties webProperties, PasswordEncoder passwordEncoder) {
-        return new MultiUserDetailsAuthenticationProvider(securityFrameworkServices, webProperties, passwordEncoder);
+    @Bean("ss") // 使用 Spring Security 的缩写,方便食用
+    public SecurityFrameworkService securityFrameworkService(PermissionApi permissionApi) {
+        return new SecurityFrameworkServiceImpl(permissionApi);
     }
     }
 
 
     /**
     /**

+ 5 - 31
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/config/YudaoWebSecurityConfigurerAdapter.java

@@ -1,15 +1,12 @@
 package cn.iocoder.yudao.framework.security.config;
 package cn.iocoder.yudao.framework.security.config;
 
 
-import cn.hutool.core.util.StrUtil;
-import cn.iocoder.yudao.framework.security.core.authentication.MultiUserDetailsAuthenticationProvider;
-import cn.iocoder.yudao.framework.security.core.filter.JWTAuthenticationTokenFilter;
+import cn.iocoder.yudao.framework.security.core.filter.TokenAuthenticationFilter;
 import cn.iocoder.yudao.framework.web.config.WebProperties;
 import cn.iocoder.yudao.framework.web.config.WebProperties;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.HttpMethod;
 import org.springframework.security.authentication.AuthenticationManager;
 import org.springframework.security.authentication.AuthenticationManager;
-import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
 import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
 import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
 import org.springframework.security.config.annotation.web.builders.HttpSecurity;
 import org.springframework.security.config.annotation.web.builders.HttpSecurity;
 import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
 import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@@ -17,7 +14,6 @@ import org.springframework.security.config.http.SessionCreationPolicy;
 import org.springframework.security.web.AuthenticationEntryPoint;
 import org.springframework.security.web.AuthenticationEntryPoint;
 import org.springframework.security.web.access.AccessDeniedHandler;
 import org.springframework.security.web.access.AccessDeniedHandler;
 import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
 import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
-import org.springframework.security.web.authentication.logout.LogoutSuccessHandler;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import java.util.List;
 import java.util.List;
@@ -34,8 +30,6 @@ public class YudaoWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdap
     @Resource
     @Resource
     private WebProperties webProperties;
     private WebProperties webProperties;
 
 
-    @Resource
-    private MultiUserDetailsAuthenticationProvider authenticationProvider;
     /**
     /**
      * 认证失败处理类 Bean
      * 认证失败处理类 Bean
      */
      */
@@ -46,16 +40,11 @@ public class YudaoWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdap
      */
      */
     @Resource
     @Resource
     private AccessDeniedHandler accessDeniedHandler;
     private AccessDeniedHandler accessDeniedHandler;
-    /**
-     * 退出处理类 Bean
-     */
-    @Resource
-    private LogoutSuccessHandler logoutSuccessHandler;
     /**
     /**
      * Token 认证过滤器 Bean
      * Token 认证过滤器 Bean
      */
      */
     @Resource
     @Resource
-    private JWTAuthenticationTokenFilter authenticationTokenFilter;
+    private TokenAuthenticationFilter authenticationTokenFilter;
 
 
     /**
     /**
      * 自定义的权限映射 Bean 们
      * 自定义的权限映射 Bean 们
@@ -76,14 +65,6 @@ public class YudaoWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdap
         return super.authenticationManagerBean();
         return super.authenticationManagerBean();
     }
     }
 
 
-    /**
-     * 身份认证接口
-     */
-    @Override
-    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
-        auth.authenticationProvider(authenticationProvider);
-    }
-
     /**
     /**
      * 配置 URL 的安全配置
      * 配置 URL 的安全配置
      *
      *
@@ -114,11 +95,8 @@ public class YudaoWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdap
                 .headers().frameOptions().disable().and()
                 .headers().frameOptions().disable().and()
                 // 一堆自定义的 Spring Security 处理器
                 // 一堆自定义的 Spring Security 处理器
                 .exceptionHandling().authenticationEntryPoint(authenticationEntryPoint)
                 .exceptionHandling().authenticationEntryPoint(authenticationEntryPoint)
-                    .accessDeniedHandler(accessDeniedHandler).and()
-                // 登出地址的配置
-                .logout().logoutSuccessHandler(logoutSuccessHandler).logoutRequestMatcher(request -> // 匹配多种用户类型的登出
-                        StrUtil.equalsAny(request.getRequestURI(), buildAdminApi("/system/logout"),
-                                                                   buildAppApi("/member/logout")));
+                    .accessDeniedHandler(accessDeniedHandler);
+                // 登录、登录暂时不使用 Spring Security 的拓展点,主要考虑一方面拓展多用户、多种登录方式相对复杂,一方面用户的学习成本较高
 
 
         // 设置每个请求的权限
         // 设置每个请求的权限
         httpSecurity
         httpSecurity
@@ -140,11 +118,7 @@ public class YudaoWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdap
         // 添加 JWT Filter
         // 添加 JWT Filter
         httpSecurity.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class);
         httpSecurity.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class);
     }
     }
-
-    private String buildAdminApi(String url) {
-        return webProperties.getAdminApi().getPrefix() + url;
-    }
-
+    
     private String buildAppApi(String url) {
     private String buildAppApi(String url) {
         return webProperties.getAppApi().getPrefix() + url;
         return webProperties.getAppApi().getPrefix() + url;
     }
     }

+ 6 - 74
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/LoginUser.java

@@ -1,14 +1,13 @@
 package cn.iocoder.yudao.framework.security.core;
 package cn.iocoder.yudao.framework.security.core;
 
 
 import cn.hutool.core.map.MapUtil;
 import cn.hutool.core.map.MapUtil;
-import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.Data;
 import lombok.Data;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.userdetails.UserDetails;
 
 
-import java.util.*;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * 登录用户信息
  * 登录用户信息
@@ -16,7 +15,7 @@ import java.util.*;
  * @author 芋道源码
  * @author 芋道源码
  */
  */
 @Data
 @Data
-public class LoginUser implements UserDetails {
+public class LoginUser {
 
 
     /**
     /**
      * 用户编号
      * 用户编号
@@ -28,38 +27,14 @@ public class LoginUser implements UserDetails {
      * 关联 {@link UserTypeEnum}
      * 关联 {@link UserTypeEnum}
      */
      */
     private Integer userType;
     private Integer userType;
-    /**
-     * 最后更新时间
-     */
-    private Date updateTime;
-
-    /**
-     * 用户名
-     */
-    private String username;
-    /**
-     * 密码
-     */
-    private String password;
-    /**
-     * 状态
-     */
-    private Integer status;
     /**
     /**
      * 租户编号
      * 租户编号
      */
      */
     private Long tenantId;
     private Long tenantId;
-
-    // ========== UserTypeEnum.ADMIN 独有字段 ==========
-    // TODO 芋艿:可以通过定义一个 Map<String, String> exts 的方式,去除管理员的字段。不过这样会导致系统比较复杂,所以暂时不去掉先;
     /**
     /**
-     * 角色编号数组
+     * 授权范围
      */
      */
-    private Set<Long> roleIds;
-    /**
-     * 部门编号
-     */
-    private Long deptId;
+    private List<String> scopes;
 
 
     // ========== 上下文 ==========
     // ========== 上下文 ==========
     /**
     /**
@@ -70,49 +45,6 @@ public class LoginUser implements UserDetails {
     @JsonIgnore
     @JsonIgnore
     private Map<String, Object> context;
     private Map<String, Object> context;
 
 
-    @Override
-    @JsonIgnore// 避免序列化
-    public String getPassword() {
-        return password;
-    }
-
-    @Override
-    public String getUsername() {
-        return username;
-    }
-
-    @Override
-    @JsonIgnore// 避免序列化
-    public boolean isEnabled() {
-        return CommonStatusEnum.ENABLE.getStatus().equals(status);
-    }
-
-    @Override
-    @JsonIgnore// 避免序列化
-    public Collection<? extends GrantedAuthority> getAuthorities() {
-        return new HashSet<>();
-    }
-
-    @Override
-    @JsonIgnore// 避免序列化
-    public boolean isAccountNonExpired() {
-        return true; // 返回 true,不依赖 Spring Security 判断
-    }
-
-    @Override
-    @JsonIgnore// 避免序列化
-    public boolean isAccountNonLocked() {
-        return true; // 返回 true,不依赖 Spring Security 判断
-    }
-
-    @Override
-    @JsonIgnore// 避免序列化
-    public boolean isCredentialsNonExpired() {
-        return true;  // 返回 true,不依赖 Spring Security 判断
-    }
-
-    // ========== 上下文 ==========
-
     public void setContext(String key, Object value) {
     public void setContext(String key, Object value) {
         if (context == null) {
         if (context == null) {
             context = new HashMap<>();
             context = new HashMap<>();

+ 0 - 149
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/authentication/MultiUserDetailsAuthenticationProvider.java

@@ -1,149 +0,0 @@
-package cn.iocoder.yudao.framework.security.core.authentication;
-
-import cn.hutool.core.lang.Assert;
-import cn.hutool.core.util.StrUtil;
-import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
-import cn.iocoder.yudao.framework.security.core.LoginUser;
-import cn.iocoder.yudao.framework.security.core.service.SecurityAuthFrameworkService;
-import cn.iocoder.yudao.framework.web.config.WebProperties;
-import org.springframework.security.authentication.AuthenticationProvider;
-import org.springframework.security.authentication.BadCredentialsException;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider;
-import org.springframework.security.core.AuthenticationException;
-import org.springframework.security.core.userdetails.UserDetails;
-import org.springframework.security.crypto.password.PasswordEncoder;
-
-import javax.servlet.http.HttpServletRequest;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * 支持多用户类型的 AuthenticationProvider 实现类
- *
- * 为什么不用 {@link org.springframework.security.authentication.ProviderManager} 呢?
- * 原因是,需要每个用户类型实现对应的 {@link AuthenticationProvider} + authentication,略显麻烦。实际,也是可以实现的。
- *
- * 另外,额外支持 verifyTokenAndRefresh 校验令牌、logout 登出、mockLogin 模拟登陆等操作。
- * 实际上,它就是 {@link SecurityAuthFrameworkService} 定义的三个接口。
- * 因为需要支持多种类型,所以需要根据请求的 URL,判断出对应的用户类型,从而使用对应的 SecurityAuthFrameworkService 是吸纳
- *
- * @see cn.iocoder.yudao.framework.common.enums.UserTypeEnum
- * @author 芋道源码
- */
-public class MultiUserDetailsAuthenticationProvider extends AbstractUserDetailsAuthenticationProvider {
-
-    private final Map<UserTypeEnum, SecurityAuthFrameworkService> services = new HashMap<>();
-
-    private final WebProperties properties;
-
-    private final PasswordEncoder passwordEncoder;
-
-    public MultiUserDetailsAuthenticationProvider(List<SecurityAuthFrameworkService> serviceList,
-                                                  WebProperties properties, PasswordEncoder passwordEncoder) {
-        serviceList.forEach(service -> services.put(service.getUserType(), service));
-        this.properties = properties;
-        this.passwordEncoder = passwordEncoder;
-    }
-
-    // ========== AuthenticationProvider 相关 ==========
-
-    @Override
-    protected UserDetails retrieveUser(String username, UsernamePasswordAuthenticationToken authentication)
-            throws AuthenticationException {
-        // 执行用户的加载
-        return selectService(authentication).loadUserByUsername(username);
-    }
-
-    private SecurityAuthFrameworkService selectService(UsernamePasswordAuthenticationToken authentication) {
-        // 第一步,获得用户类型
-        UserTypeEnum userType = getUserType(authentication);
-        // 第二步,获得 SecurityAuthFrameworkService
-        SecurityAuthFrameworkService service = services.get(userType);
-        Assert.notNull(service, "用户类型({}) 找不到 SecurityAuthFrameworkService 实现类", userType);
-        return service;
-    }
-
-    private UserTypeEnum getUserType(UsernamePasswordAuthenticationToken authentication) {
-        Assert.isInstanceOf(MultiUsernamePasswordAuthenticationToken.class, authentication);
-        MultiUsernamePasswordAuthenticationToken multiAuthentication = (MultiUsernamePasswordAuthenticationToken) authentication;
-        UserTypeEnum userType = multiAuthentication.getUserType();
-        Assert.notNull(userType, "用户类型不能为空");
-        return userType;
-    }
-
-    @Override // copy 自 DaoAuthenticationProvider 的 additionalAuthenticationChecks 方法
-    protected void additionalAuthenticationChecks(UserDetails userDetails, UsernamePasswordAuthenticationToken authentication)
-            throws AuthenticationException {
-        // 校验 credentials
-        if (authentication.getCredentials() == null) {
-            this.logger.debug("Failed to authenticate since no credentials provided");
-            throw new BadCredentialsException(this.messages.getMessage(
-                    "AbstractUserDetailsAuthenticationProvider.badCredentials", "Bad credentials"));
-        }
-        // 校验 password
-        String presentedPassword = authentication.getCredentials().toString();
-        if (!this.passwordEncoder.matches(presentedPassword, userDetails.getPassword())) {
-            this.logger.debug("Failed to authenticate since password does not match stored value");
-            throw new BadCredentialsException(this.messages.getMessage(
-                    "AbstractUserDetailsAuthenticationProvider.badCredentials", "Bad credentials"));
-        }
-    }
-
-    // ========== SecurityAuthFrameworkService 相关 ==========
-
-    /**
-     * 校验 token 的有效性,并获取用户信息
-     * 通过后,刷新 token 的过期时间
-     *
-     * @param request 请求
-     * @param token token
-     * @return 用户信息
-     */
-    public LoginUser verifyTokenAndRefresh(HttpServletRequest request, String token) {
-        return selectService(request).verifyTokenAndRefresh(token);
-    }
-
-    /**
-     * 模拟指定用户编号的 LoginUser
-     *
-     * @param request 请求
-     * @param userId 用户编号
-     * @return 登录用户
-     */
-    public LoginUser mockLogin(HttpServletRequest request, Long userId) {
-        return selectService(request).mockLogin(userId);
-    }
-
-    /**
-     * 基于 token 退出登录
-     *
-     * @param request 请求
-     * @param token token
-     */
-    public void logout(HttpServletRequest request, String token) {
-        selectService(request).logout(token);
-    }
-
-    private SecurityAuthFrameworkService selectService(HttpServletRequest request) {
-        // 第一步,获得用户类型
-        UserTypeEnum userType = getUserType(request);
-        // 第二步,获得 SecurityAuthFrameworkService
-        SecurityAuthFrameworkService service = services.get(userType);
-        Assert.notNull(service, "URI({}) 用户类型({}) 找不到 SecurityAuthFrameworkService 实现类",
-                request.getRequestURI(), userType);
-        return service;
-    }
-
-    private UserTypeEnum getUserType(HttpServletRequest request) {
-        if (request.getRequestURI().startsWith(properties.getAdminApi().getPrefix())) {
-            return UserTypeEnum.ADMIN;
-        }
-        if (request.getRequestURI().startsWith(properties.getAppApi().getPrefix())) {
-            return UserTypeEnum.MEMBER;
-        }
-        throw new IllegalArgumentException(StrUtil.format("URI({}) 找不到匹配的用户类型", request.getRequestURI()));
-    }
-
-}

+ 0 - 43
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/authentication/MultiUsernamePasswordAuthenticationToken.java

@@ -1,43 +0,0 @@
-package cn.iocoder.yudao.framework.security.core.authentication;
-
-import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
-import lombok.Getter;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.GrantedAuthority;
-
-import java.util.Collection;
-
-/**
- * 支持多用户的 UsernamePasswordAuthenticationToken 实现类
- *
- * @author 芋道源码
- */
-@Getter
-public class MultiUsernamePasswordAuthenticationToken extends UsernamePasswordAuthenticationToken {
-
-    /**
-     * 用户类型
-     */
-    private UserTypeEnum userType;
-
-    public MultiUsernamePasswordAuthenticationToken(Object principal, Object credentials) {
-        super(principal, credentials);
-    }
-
-    public MultiUsernamePasswordAuthenticationToken(Object principal, Object credentials,
-                                                    Collection<? extends GrantedAuthority> authorities) {
-        super(principal, credentials, authorities);
-    }
-
-    public MultiUsernamePasswordAuthenticationToken(Object principal, Object credentials, UserTypeEnum userType) {
-        super(principal, credentials);
-        this.userType = userType;
-    }
-
-    public MultiUsernamePasswordAuthenticationToken(Object principal, Object credentials,
-                                                    Collection<? extends GrantedAuthority> authorities, UserTypeEnum userType) {
-        super(principal, credentials, authorities);
-        this.userType = userType;
-    }
-
-}

+ 41 - 12
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/filter/JWTAuthenticationTokenFilter.java → yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/filter/TokenAuthenticationFilter.java

@@ -1,14 +1,19 @@
 package cn.iocoder.yudao.framework.security.core.filter;
 package cn.iocoder.yudao.framework.security.core.filter;
 
 
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.iocoder.yudao.framework.common.exception.ServiceException;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
 import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
 import cn.iocoder.yudao.framework.security.config.SecurityProperties;
 import cn.iocoder.yudao.framework.security.config.SecurityProperties;
 import cn.iocoder.yudao.framework.security.core.LoginUser;
 import cn.iocoder.yudao.framework.security.core.LoginUser;
-import cn.iocoder.yudao.framework.security.core.authentication.MultiUserDetailsAuthenticationProvider;
 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 import cn.iocoder.yudao.framework.web.core.handler.GlobalExceptionHandler;
 import cn.iocoder.yudao.framework.web.core.handler.GlobalExceptionHandler;
+import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
+import cn.iocoder.yudao.module.system.api.auth.OAuth2TokenApi;
+import cn.iocoder.yudao.module.system.api.auth.dto.OAuth2AccessTokenCheckRespDTO;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.AccessDeniedException;
 import org.springframework.web.filter.OncePerRequestFilter;
 import org.springframework.web.filter.OncePerRequestFilter;
 
 
 import javax.servlet.FilterChain;
 import javax.servlet.FilterChain;
@@ -18,34 +23,36 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.IOException;
 
 
 /**
 /**
- * JWT 过滤器,验证 token 的有效性
+ * Token 过滤器,验证 token 的有效性
  * 验证通过后,获得 {@link LoginUser} 信息,并加入到 Spring Security 上下文
  * 验证通过后,获得 {@link LoginUser} 信息,并加入到 Spring Security 上下文
  *
  *
  * @author 芋道源码
  * @author 芋道源码
  */
  */
 @RequiredArgsConstructor
 @RequiredArgsConstructor
-public class JWTAuthenticationTokenFilter extends OncePerRequestFilter {
+public class TokenAuthenticationFilter extends OncePerRequestFilter {
 
 
     private final SecurityProperties securityProperties;
     private final SecurityProperties securityProperties;
 
 
-    private final MultiUserDetailsAuthenticationProvider authenticationProvider;
-
     private final GlobalExceptionHandler globalExceptionHandler;
     private final GlobalExceptionHandler globalExceptionHandler;
 
 
+    private final OAuth2TokenApi oauth2TokenApi;
+
     @Override
     @Override
     @SuppressWarnings("NullableProblems")
     @SuppressWarnings("NullableProblems")
     protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
     protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
             throws ServletException, IOException {
             throws ServletException, IOException {
         String token = SecurityFrameworkUtils.obtainAuthorization(request, securityProperties.getTokenHeader());
         String token = SecurityFrameworkUtils.obtainAuthorization(request, securityProperties.getTokenHeader());
         if (StrUtil.isNotEmpty(token)) {
         if (StrUtil.isNotEmpty(token)) {
+            Integer userType = WebFrameworkUtils.getLoginUserType(request);
             try {
             try {
-                // 验证 token 有效性
-                LoginUser loginUser = authenticationProvider.verifyTokenAndRefresh(request, token);
-                // 模拟 Login 功能,方便日常开发调试
+                // 1.1 基于 token 构建登录用户
+                LoginUser loginUser = buildLoginUserByToken(token, userType);
+                // 1.2 模拟 Login 功能,方便日常开发调试
                 if (loginUser == null) {
                 if (loginUser == null) {
-                    loginUser = this.mockLoginUser(request, token);
+                    loginUser = mockLoginUser(request, token, userType);
                 }
                 }
-                // 设置当前用户
+
+                // 2. 设置当前用户
                 if (loginUser != null) {
                 if (loginUser != null) {
                     SecurityFrameworkUtils.setLoginUser(loginUser, request);
                     SecurityFrameworkUtils.setLoginUser(loginUser, request);
                 }
                 }
@@ -60,6 +67,25 @@ public class JWTAuthenticationTokenFilter extends OncePerRequestFilter {
         chain.doFilter(request, response);
         chain.doFilter(request, response);
     }
     }
 
 
+    private LoginUser buildLoginUserByToken(String token, Integer userType) {
+        try {
+            OAuth2AccessTokenCheckRespDTO accessToken = oauth2TokenApi.checkAccessToken(token);
+            if (accessToken == null) {
+                return null;
+            }
+            // 用户类型不匹配,无权限
+            if (ObjectUtil.notEqual(accessToken.getUserType(), userType)) {
+                throw new AccessDeniedException("错误的用户类型");
+            }
+            // 构建登录用户
+            return new LoginUser().setId(accessToken.getUserId()).setUserType(accessToken.getUserType())
+                    .setTenantId(accessToken.getTenantId()).setScopes(accessToken.getScopes());
+        } catch (ServiceException serviceException) {
+            // 校验 Token 不通过时,考虑到一些接口是无需登录的,所以直接返回 null 即可
+            return null;
+        }
+    }
+
     /**
     /**
      * 模拟登录用户,方便日常开发调试
      * 模拟登录用户,方便日常开发调试
      *
      *
@@ -67,9 +93,10 @@ public class JWTAuthenticationTokenFilter extends OncePerRequestFilter {
      *
      *
      * @param request 请求
      * @param request 请求
      * @param token 模拟的 token,格式为 {@link SecurityProperties#getMockSecret()} + 用户编号
      * @param token 模拟的 token,格式为 {@link SecurityProperties#getMockSecret()} + 用户编号
+     * @param userType 用户类型
      * @return 模拟的 LoginUser
      * @return 模拟的 LoginUser
      */
      */
-    private LoginUser mockLoginUser(HttpServletRequest request, String token) {
+    private LoginUser mockLoginUser(HttpServletRequest request, String token, Integer userType) {
         if (!securityProperties.getMockEnable()) {
         if (!securityProperties.getMockEnable()) {
             return null;
             return null;
         }
         }
@@ -77,8 +104,10 @@ public class JWTAuthenticationTokenFilter extends OncePerRequestFilter {
         if (!token.startsWith(securityProperties.getMockSecret())) {
         if (!token.startsWith(securityProperties.getMockSecret())) {
             return null;
             return null;
         }
         }
+        // 构建模拟用户
         Long userId = Long.valueOf(token.substring(securityProperties.getMockSecret().length()));
         Long userId = Long.valueOf(token.substring(securityProperties.getMockSecret().length()));
-        return authenticationProvider.mockLogin(request, userId);
+        return new LoginUser().setId(userId).setUserType(userType)
+                .setTenantId(WebFrameworkUtils.getTenantId(request));
     }
     }
 
 
 }
 }

+ 0 - 40
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/handler/LogoutSuccessHandlerImpl.java

@@ -1,40 +0,0 @@
-package cn.iocoder.yudao.framework.security.core.handler;
-
-import cn.hutool.core.util.StrUtil;
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
-import cn.iocoder.yudao.framework.security.config.SecurityProperties;
-import cn.iocoder.yudao.framework.security.core.authentication.MultiUserDetailsAuthenticationProvider;
-import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
-import lombok.AllArgsConstructor;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.web.authentication.logout.LogoutSuccessHandler;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-
-/**
- * 自定义退出处理器
- *
- * @author ruoyi
- */
-@AllArgsConstructor
-public class LogoutSuccessHandlerImpl implements LogoutSuccessHandler {
-
-    private final SecurityProperties securityProperties;
-
-    private final MultiUserDetailsAuthenticationProvider authenticationProvider;
-
-    @Override
-    public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) {
-        // 执行退出
-        String token = SecurityFrameworkUtils.obtainAuthorization(request, securityProperties.getTokenHeader());
-        if (StrUtil.isNotBlank(token)) {
-            authenticationProvider.logout(request, token);
-        }
-        // 返回成功
-        ServletUtils.writeJSON(response, CommonResult.success(null));
-    }
-
-}

+ 0 - 45
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/service/SecurityAuthFrameworkService.java

@@ -1,45 +0,0 @@
-package cn.iocoder.yudao.framework.security.core.service;
-
-import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
-import cn.iocoder.yudao.framework.security.core.LoginUser;
-import org.springframework.security.core.userdetails.UserDetailsService;
-
-/**
- * Security 框架 Auth Service 接口,定义不同用户类型的 {@link UserTypeEnum} 需要实现的方法
- *
- * @author 芋道源码
- */
-public interface SecurityAuthFrameworkService extends UserDetailsService {
-
-    /**
-     * 校验 token 的有效性,并获取用户信息
-     * 通过后,刷新 token 的过期时间
-     *
-     * @param token token
-     * @return 用户信息
-     */
-    LoginUser verifyTokenAndRefresh(String token);
-
-    /**
-     * 模拟指定用户编号的 LoginUser
-     *
-     * @param userId 用户编号
-     * @return 登录用户
-     */
-    LoginUser mockLogin(Long userId);
-
-    /**
-     * 基于 token 退出登录
-     *
-     * @param token token
-     */
-    void logout(String token);
-
-    /**
-     * 获得用户类型。每个用户类型,对应一个 SecurityAuthFrameworkService 实现类。
-     *
-     * @return 用户类型
-     */
-    UserTypeEnum getUserType();
-
-}

+ 17 - 2
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/service/SecurityPermissionFrameworkService.java → yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/service/SecurityFrameworkService.java

@@ -1,11 +1,11 @@
 package cn.iocoder.yudao.framework.security.core.service;
 package cn.iocoder.yudao.framework.security.core.service;
 
 
 /**
 /**
- * Security 框架 Permission Service 接口,定义 security 组件需要的功能
+ * Security 框架 Service 接口,定义权限相关的校验操作
  *
  *
  * @author 芋道源码
  * @author 芋道源码
  */
  */
-public interface SecurityPermissionFrameworkService {
+public interface SecurityFrameworkService {
 
 
     /**
     /**
      * 判断是否有权限
      * 判断是否有权限
@@ -41,4 +41,19 @@ public interface SecurityPermissionFrameworkService {
      */
      */
     boolean hasAnyRoles(String... roles);
     boolean hasAnyRoles(String... roles);
 
 
+    /**
+     * 判断是否有授权
+     *
+     * @param scope 授权
+     * @return 是否
+     */
+    boolean hasScope(String scope);
+
+    /**
+     * 判断是否有授权范围,任一一个即可
+     *
+     * @param scope 授权范围数组
+     * @return 是否
+     */
+    boolean hasAnyScopes(String... scope);
 }
 }

+ 57 - 0
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/service/SecurityFrameworkServiceImpl.java

@@ -0,0 +1,57 @@
+package cn.iocoder.yudao.framework.security.core.service;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.iocoder.yudao.framework.security.core.LoginUser;
+import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
+import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
+import lombok.AllArgsConstructor;
+
+import java.util.Arrays;
+
+import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
+
+/**
+ * 默认的 {@link SecurityFrameworkService} 实现类
+ *
+ * @author 芋道源码
+ */
+@AllArgsConstructor
+public class SecurityFrameworkServiceImpl implements SecurityFrameworkService {
+
+    private final PermissionApi permissionApi;
+
+    @Override
+    public boolean hasPermission(String permission) {
+        return hasAnyPermissions(permission);
+    }
+
+    @Override
+    public boolean hasAnyPermissions(String... permissions) {
+        return permissionApi.hasAnyPermissions(getLoginUserId(), permissions);
+    }
+
+    @Override
+    public boolean hasRole(String role) {
+        return hasAnyRoles(role);
+    }
+
+    @Override
+    public boolean hasAnyRoles(String... roles) {
+        return permissionApi.hasAnyRoles(getLoginUserId(), roles);
+    }
+
+    @Override
+    public boolean hasScope(String scope) {
+        return hasAnyScopes(scope);
+    }
+
+    @Override
+    public boolean hasAnyScopes(String... scope) {
+        LoginUser user = SecurityFrameworkUtils.getLoginUser();
+        if (user == null) {
+            return false;
+        }
+        return CollUtil.containsAny(user.getScopes(), Arrays.asList(scope));
+    }
+
+}

+ 5 - 14
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/util/SecurityFrameworkUtils.java

@@ -11,7 +11,7 @@ import org.springframework.security.web.authentication.WebAuthenticationDetailsS
 import org.springframework.util.StringUtils;
 import org.springframework.util.StringUtils;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
-import java.util.Set;
+import java.util.Collections;
 
 
 /**
 /**
  * 安全服务工具类
  * 安全服务工具类
@@ -20,6 +20,8 @@ import java.util.Set;
  */
  */
 public class SecurityFrameworkUtils {
 public class SecurityFrameworkUtils {
 
 
+    public static final String AUTHORIZATION_BEARER = "Bearer";
+
     private SecurityFrameworkUtils() {}
     private SecurityFrameworkUtils() {}
 
 
     /**
     /**
@@ -34,7 +36,7 @@ public class SecurityFrameworkUtils {
         if (!StringUtils.hasText(authorization)) {
         if (!StringUtils.hasText(authorization)) {
             return null;
             return null;
         }
         }
-        int index = authorization.indexOf("Bearer ");
+        int index = authorization.indexOf(AUTHORIZATION_BEARER + " ");
         if (index == -1) { // 未找到
         if (index == -1) { // 未找到
             return null;
             return null;
         }
         }
@@ -79,17 +81,6 @@ public class SecurityFrameworkUtils {
         return loginUser != null ? loginUser.getId() : null;
         return loginUser != null ? loginUser.getId() : null;
     }
     }
 
 
-    /**
-     * 获得当前用户的角色编号数组
-     *
-     * @return 角色编号数组
-     */
-    @Nullable
-    public static Set<Long> getLoginUserRoleIds() {
-        LoginUser loginUser = getLoginUser();
-        return loginUser != null ? loginUser.getRoleIds() : null;
-    }
-
     /**
     /**
      * 设置当前用户
      * 设置当前用户
      *
      *
@@ -110,7 +101,7 @@ public class SecurityFrameworkUtils {
     private static Authentication buildAuthentication(LoginUser loginUser, HttpServletRequest request) {
     private static Authentication buildAuthentication(LoginUser loginUser, HttpServletRequest request) {
         // 创建 UsernamePasswordAuthenticationToken 对象
         // 创建 UsernamePasswordAuthenticationToken 对象
         UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(
         UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(
-                loginUser, null, loginUser.getAuthorities());
+                loginUser, null, Collections.emptyList());
         authenticationToken.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
         authenticationToken.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
         return authenticationToken;
         return authenticationToken;
     }
     }

+ 8 - 0
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java

@@ -7,6 +7,7 @@ import cn.iocoder.yudao.framework.web.core.filter.DemoFilter;
 import cn.iocoder.yudao.framework.web.core.filter.XssFilter;
 import cn.iocoder.yudao.framework.web.core.filter.XssFilter;
 import cn.iocoder.yudao.framework.web.core.handler.GlobalExceptionHandler;
 import cn.iocoder.yudao.framework.web.core.handler.GlobalExceptionHandler;
 import cn.iocoder.yudao.framework.web.core.handler.GlobalResponseBodyHandler;
 import cn.iocoder.yudao.framework.web.core.handler.GlobalResponseBodyHandler;
+import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
@@ -65,6 +66,13 @@ public class YudaoWebAutoConfiguration implements WebMvcConfigurer {
         return new GlobalResponseBodyHandler();
         return new GlobalResponseBodyHandler();
     }
     }
 
 
+    @Bean
+    @SuppressWarnings("InstantiationOfUtilityClass")
+    public WebFrameworkUtils webFrameworkUtils(WebProperties webProperties) {
+        // 由于 WebFrameworkUtils 需要使用到 webProperties 属性,所以注册为一个 Bean
+        return new WebFrameworkUtils(webProperties);
+    }
+
     // ========== Filter 相关 ==========
     // ========== Filter 相关 ==========
 
 
     /**
     /**

+ 44 - 2
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/util/WebFrameworkUtils.java

@@ -1,7 +1,9 @@
 package cn.iocoder.yudao.framework.web.core.util;
 package cn.iocoder.yudao.framework.web.core.util;
 
 
+import cn.hutool.core.util.StrUtil;
 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.web.config.WebProperties;
 import org.springframework.web.context.request.RequestAttributes;
 import org.springframework.web.context.request.RequestAttributes;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 import org.springframework.web.context.request.ServletRequestAttributes;
@@ -21,16 +23,43 @@ public class WebFrameworkUtils {
 
 
     private static final String REQUEST_ATTRIBUTE_COMMON_RESULT = "common_result";
     private static final String REQUEST_ATTRIBUTE_COMMON_RESULT = "common_result";
 
 
+    private static final String HEADER_TENANT_ID = "tenant-id";
+
+    private static WebProperties properties;
+
+    public WebFrameworkUtils(WebProperties webProperties) {
+        WebFrameworkUtils.properties = webProperties;
+    }
+
+    /**
+     * 获得租户编号,从 header 中
+     * 考虑到其它 framework 组件也会使用到租户编号,所以不得不放在 WebFrameworkUtils 统一提供
+     *
+     * @param request 请求
+     * @return 租户编号
+     */
+    public static Long getTenantId(HttpServletRequest request) {
+        String tenantId = request.getHeader(HEADER_TENANT_ID);
+        return StrUtil.isNotEmpty(tenantId) ? Long.valueOf(tenantId) : null;
+    }
+
     public static void setLoginUserId(ServletRequest request, Long userId) {
     public static void setLoginUserId(ServletRequest request, Long userId) {
         request.setAttribute(REQUEST_ATTRIBUTE_LOGIN_USER_ID, userId);
         request.setAttribute(REQUEST_ATTRIBUTE_LOGIN_USER_ID, userId);
     }
     }
 
 
+    /**
+     * 设置用户类型
+     *
+     * @param request 请求
+     * @param userType 用户类型
+     */
     public static void setLoginUserType(ServletRequest request, Integer userType) {
     public static void setLoginUserType(ServletRequest request, Integer userType) {
         request.setAttribute(REQUEST_ATTRIBUTE_LOGIN_USER_TYPE, userType);
         request.setAttribute(REQUEST_ATTRIBUTE_LOGIN_USER_TYPE, userType);
     }
     }
 
 
     /**
     /**
      * 获得当前用户的编号,从请求中
      * 获得当前用户的编号,从请求中
+     * 注意:该方法仅限于 framework 框架使用!!!
      *
      *
      * @param request 请求
      * @param request 请求
      * @return 用户编号
      * @return 用户编号
@@ -43,7 +72,8 @@ public class WebFrameworkUtils {
     }
     }
 
 
     /**
     /**
-     * 获得当前用户的类型,从请求中
+     * 获得当前用户的类型
+     * 注意:该方法仅限于 web 相关的 framework 组件使用!!!
      *
      *
      * @param request 请求
      * @param request 请求
      * @return 用户编号
      * @return 用户编号
@@ -52,7 +82,19 @@ public class WebFrameworkUtils {
         if (request == null) {
         if (request == null) {
             return null;
             return null;
         }
         }
-        return (Integer) request.getAttribute(REQUEST_ATTRIBUTE_LOGIN_USER_TYPE);
+        // 1. 优先,从 Attribute 中获取
+        Integer userType = (Integer) request.getAttribute(REQUEST_ATTRIBUTE_LOGIN_USER_TYPE);
+        if (userType != null) {
+            return userType;
+        }
+        // 2. 其次,基于 URL 前缀的约定
+        if (request.getRequestURI().startsWith(properties.getAdminApi().getPrefix())) {
+            return UserTypeEnum.ADMIN.getValue();
+        }
+        if (request.getRequestURI().startsWith(properties.getAppApi().getPrefix())) {
+            return UserTypeEnum.MEMBER.getValue();
+        }
+        return null;
     }
     }
 
 
     public static Integer getLoginUserType() {
     public static Integer getLoginUserType() {

+ 1 - 5
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskApproveReqVO.java

@@ -3,12 +3,8 @@ package cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
 
 
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-import java.util.Map;
 
 
 @ApiModel("管理后台 - 通过流程任务的 Request VO")
 @ApiModel("管理后台 - 通过流程任务的 Request VO")
 @Data
 @Data
@@ -20,6 +16,6 @@ public class BpmTaskApproveReqVO {
 
 
     @ApiModelProperty(value = "审批意见", required = true, example = "不错不错!")
     @ApiModelProperty(value = "审批意见", required = true, example = "不错不错!")
     @NotEmpty(message = "审批意见不能为空")
     @NotEmpty(message = "审批意见不能为空")
-    private String comment;
+    private String reason;
 
 
 }
 }

+ 1 - 1
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskDonePageItemRespVO.java

@@ -22,6 +22,6 @@ public class BpmTaskDonePageItemRespVO extends BpmTaskTodoPageItemRespVO {
     @ApiModelProperty(value = "任务结果", required = true, notes = "参见 bpm_process_instance_result", example = "2")
     @ApiModelProperty(value = "任务结果", required = true, notes = "参见 bpm_process_instance_result", example = "2")
     private Integer result;
     private Integer result;
     @ApiModelProperty(value = "审批建议", required = true, example = "不请假了!")
     @ApiModelProperty(value = "审批建议", required = true, example = "不请假了!")
-    private String comment;
+    private String reason;
 
 
 }
 }

+ 1 - 1
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskRejectReqVO.java

@@ -16,6 +16,6 @@ public class BpmTaskRejectReqVO {
 
 
     @ApiModelProperty(value = "审批意见", required = true, example = "不错不错!")
     @ApiModelProperty(value = "审批意见", required = true, example = "不错不错!")
     @NotEmpty(message = "审批意见不能为空")
     @NotEmpty(message = "审批意见不能为空")
-    private String comment;
+    private String reason;
 
 
 }
 }

+ 2 - 0
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/definition/BpmFormDO.java

@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.bpm.dal.dataobject.definition;
 package cn.iocoder.yudao.module.bpm.dal.dataobject.definition;
 
 
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -16,6 +17,7 @@ import java.util.List;
  * @author 芋道源码
  * @author 芋道源码
  */
  */
 @TableName(value = "bpm_form", autoResultMap = true)
 @TableName(value = "bpm_form", autoResultMap = true)
+@KeySequence("bpm_form_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
 @Data
 @Data
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
 @ToString(callSuper = true)

+ 2 - 0
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/definition/BpmProcessDefinitionExtDO.java

@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.bpm.dal.dataobject.definition;
 
 
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.module.bpm.enums.definition.BpmModelFormTypeEnum;
 import cn.iocoder.yudao.module.bpm.enums.definition.BpmModelFormTypeEnum;
+import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -17,6 +18,7 @@ import java.util.List;
  * @author 芋道源码
  * @author 芋道源码
  */
  */
 @TableName(value = "bpm_process_definition_ext", autoResultMap = true)
 @TableName(value = "bpm_process_definition_ext", autoResultMap = true)
+@KeySequence("bpm_process_definition_ext_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
 @Data
 @Data
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
 @ToString(callSuper = true)

+ 4 - 2
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/definition/BpmTaskAssignRuleDO.java

@@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.framework.mybatis.core.type.JsonLongSetTypeHandler;
 import cn.iocoder.yudao.framework.mybatis.core.type.JsonLongSetTypeHandler;
 import cn.iocoder.yudao.module.bpm.enums.definition.BpmTaskAssignRuleTypeEnum;
 import cn.iocoder.yudao.module.bpm.enums.definition.BpmTaskAssignRuleTypeEnum;
 import cn.iocoder.yudao.module.bpm.enums.definition.BpmTaskRuleScriptEnum;
 import cn.iocoder.yudao.module.bpm.enums.definition.BpmTaskRuleScriptEnum;
+import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -21,6 +22,7 @@ import java.util.Set;
  * @author 芋道源码
  * @author 芋道源码
  */
  */
 @TableName(value = "bpm_task_assign_rule", autoResultMap = true)
 @TableName(value = "bpm_task_assign_rule", autoResultMap = true)
+@KeySequence("bpm_task_assign_rule_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
 @Data
 @Data
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
 @ToString(callSuper = true)
@@ -31,8 +33,9 @@ public class BpmTaskAssignRuleDO extends BaseDO {
 
 
     /**
     /**
      * {@link #processDefinitionId} 空串,用于标识属于流程模型,而不属于流程定义
      * {@link #processDefinitionId} 空串,用于标识属于流程模型,而不属于流程定义
+     * 不使用空串的原因,Oracle 针对空串,会处理成 null,进而导致无法检索
      */
      */
-    public static final String PROCESS_DEFINITION_ID_NULL = "";
+    public static final String PROCESS_DEFINITION_ID_NULL = "DEFAULT";
 
 
     /**
     /**
      * 编号
      * 编号
@@ -64,7 +67,6 @@ public class BpmTaskAssignRuleDO extends BaseDO {
      *
      *
      * 枚举 {@link BpmTaskAssignRuleTypeEnum}
      * 枚举 {@link BpmTaskAssignRuleTypeEnum}
      */
      */
-    @TableField("`type`")
     private Integer type;
     private Integer type;
     /**
     /**
      * 规则值数组,一般关联指定表的编号
      * 规则值数组,一般关联指定表的编号

+ 2 - 0
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/definition/BpmUserGroupDO.java

@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.bpm.dal.dataobject.definition;
 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.framework.mybatis.core.type.JsonLongSetTypeHandler;
 import cn.iocoder.yudao.framework.mybatis.core.type.JsonLongSetTypeHandler;
+import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -16,6 +17,7 @@ import java.util.Set;
  * @author 芋道源码
  * @author 芋道源码
  */
  */
 @TableName(value = "bpm_user_group", autoResultMap = true)
 @TableName(value = "bpm_user_group", autoResultMap = true)
+@KeySequence("bpm_user_group_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
 @Data
 @Data
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
 @ToString(callSuper = true)

+ 8 - 5
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOALeaveDO.java

@@ -1,10 +1,13 @@
 package cn.iocoder.yudao.module.bpm.dal.dataobject.oa;
 package cn.iocoder.yudao.module.bpm.dal.dataobject.oa;
 
 
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.*;
 import lombok.*;
-import java.util.*;
-import com.baomidou.mybatisplus.annotation.*;
-import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+
+import java.util.Date;
 
 
 /**
 /**
  * OA 请假申请 DO
  * OA 请假申请 DO
@@ -15,6 +18,7 @@ import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  * @author 芋道源码
  * @author 芋道源码
  */
  */
 @TableName("bpm_oa_leave")
 @TableName("bpm_oa_leave")
+@KeySequence("bpm_oa_leave_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
 @Data
 @Data
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
 @ToString(callSuper = true)
@@ -37,8 +41,7 @@ public class BpmOALeaveDO extends BaseDO {
     /**
     /**
      * 请假类型
      * 请假类型
      */
      */
-    @TableField("`type`")
-    private String type;
+    private Integer type;
     /**
     /**
      * 原因
      * 原因
      */
      */

+ 2 - 0
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/task/BpmProcessInstanceExtDO.java

@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.bpm.dal.dataobject.task;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceStatusEnum;
 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceStatusEnum;
+import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -21,6 +22,7 @@ import java.util.Map;
  * @author 芋道源码
  * @author 芋道源码
  */
  */
 @TableName(value = "bpm_process_instance_ext", autoResultMap = true)
 @TableName(value = "bpm_process_instance_ext", autoResultMap = true)
+@KeySequence("bpm_process_instance_ext_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
 @Data
 @Data
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
 @ToString(callSuper = true)

+ 4 - 1
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/task/BpmTaskExtDO.java

@@ -2,6 +2,8 @@ package cn.iocoder.yudao.module.bpm.dal.dataobject.task;
 
 
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.Data;
@@ -17,6 +19,7 @@ import java.util.Date;
  * @author 芋道源码
  * @author 芋道源码
  */
  */
 @TableName(value = "bpm_task_ext", autoResultMap = true)
 @TableName(value = "bpm_task_ext", autoResultMap = true)
+@KeySequence("bpm_task_ext_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
 @Data
 @Data
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
 @ToString(callSuper = true)
@@ -60,7 +63,7 @@ public class BpmTaskExtDO extends BaseDO {
     /**
     /**
      * 审批建议
      * 审批建议
      */
      */
-    private String comment;
+    private String reason;
     /**
     /**
      * 任务的结束时间
      * 任务的结束时间
      *
      *

+ 6 - 6
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/definition/BpmFormMapper.java

@@ -1,11 +1,11 @@
 package cn.iocoder.yudao.module.bpm.dal.mysql.definition;
 package cn.iocoder.yudao.module.bpm.dal.mysql.definition;
 
 
 
 
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.form.BpmFormPageReqVO;
-import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
-import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.form.BpmFormPageReqVO;
+import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 /**
 /**
@@ -17,9 +17,9 @@ import org.apache.ibatis.annotations.Mapper;
 public interface BpmFormMapper extends BaseMapperX<BpmFormDO> {
 public interface BpmFormMapper extends BaseMapperX<BpmFormDO> {
 
 
     default PageResult<BpmFormDO> selectPage(BpmFormPageReqVO reqVO) {
     default PageResult<BpmFormDO> selectPage(BpmFormPageReqVO reqVO) {
-        return selectPage(reqVO, new QueryWrapperX<BpmFormDO>()
-                .likeIfPresent("name", reqVO.getName())
-                .orderByDesc("id"));
+        return selectPage(reqVO, new LambdaQueryWrapperX<BpmFormDO>()
+                .likeIfPresent(BpmFormDO::getName, reqVO.getName())
+                .orderByDesc(BpmFormDO::getId));
     }
     }
 
 
 }
 }

+ 3 - 4
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/definition/BpmProcessDefinitionExtMapper.java

@@ -1,8 +1,7 @@
 package cn.iocoder.yudao.module.bpm.dal.mysql.definition;
 package cn.iocoder.yudao.module.bpm.dal.mysql.definition;
 
 
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
-import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 import java.util.Collection;
 import java.util.Collection;
@@ -12,11 +11,11 @@ import java.util.List;
 public interface BpmProcessDefinitionExtMapper extends BaseMapperX<BpmProcessDefinitionExtDO> {
 public interface BpmProcessDefinitionExtMapper extends BaseMapperX<BpmProcessDefinitionExtDO> {
 
 
     default List<BpmProcessDefinitionExtDO> selectListByProcessDefinitionIds(Collection<String> processDefinitionIds) {
     default List<BpmProcessDefinitionExtDO> selectListByProcessDefinitionIds(Collection<String> processDefinitionIds) {
-        return selectList("process_definition_id", processDefinitionIds);
+        return selectList(BpmProcessDefinitionExtDO::getProcessDefinitionId, processDefinitionIds);
     }
     }
 
 
     default BpmProcessDefinitionExtDO selectByProcessDefinitionId(String processDefinitionId) {
     default BpmProcessDefinitionExtDO selectByProcessDefinitionId(String processDefinitionId) {
-        return selectOne("process_definition_id", processDefinitionId);
+        return selectOne(BpmProcessDefinitionExtDO::getProcessDefinitionId, processDefinitionId);
     }
     }
 
 
 }
 }

+ 12 - 12
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/definition/BpmTaskAssignRuleMapper.java

@@ -1,8 +1,8 @@
 package cn.iocoder.yudao.module.bpm.dal.mysql.definition;
 package cn.iocoder.yudao.module.bpm.dal.mysql.definition;
 
 
-import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
-import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.springframework.lang.Nullable;
 import org.springframework.lang.Nullable;
 
 
@@ -13,23 +13,23 @@ public interface BpmTaskAssignRuleMapper extends BaseMapperX<BpmTaskAssignRuleDO
 
 
     default List<BpmTaskAssignRuleDO> selectListByProcessDefinitionId(String processDefinitionId,
     default List<BpmTaskAssignRuleDO> selectListByProcessDefinitionId(String processDefinitionId,
                                                                       @Nullable String taskDefinitionKey) {
                                                                       @Nullable String taskDefinitionKey) {
-        return selectList(new QueryWrapperX<BpmTaskAssignRuleDO>()
-                .eq("process_definition_id", processDefinitionId)
-                .eqIfPresent("task_definition_key", taskDefinitionKey));
+        return selectList(new LambdaQueryWrapperX<BpmTaskAssignRuleDO>()
+                .eq(BpmTaskAssignRuleDO::getProcessDefinitionId, processDefinitionId)
+                .eqIfPresent(BpmTaskAssignRuleDO::getTaskDefinitionKey, taskDefinitionKey));
     }
     }
 
 
     default List<BpmTaskAssignRuleDO> selectListByModelId(String modelId) {
     default List<BpmTaskAssignRuleDO> selectListByModelId(String modelId) {
-        return selectList(new QueryWrapperX<BpmTaskAssignRuleDO>()
-                .eq("model_id", modelId)
-                .eq("process_definition_id", BpmTaskAssignRuleDO.PROCESS_DEFINITION_ID_NULL));
+        return selectList(new LambdaQueryWrapperX<BpmTaskAssignRuleDO>()
+                .eq(BpmTaskAssignRuleDO::getModelId, modelId)
+                .eq(BpmTaskAssignRuleDO::getProcessDefinitionId, BpmTaskAssignRuleDO.PROCESS_DEFINITION_ID_NULL));
     }
     }
 
 
     default BpmTaskAssignRuleDO selectListByModelIdAndTaskDefinitionKey(String modelId,
     default BpmTaskAssignRuleDO selectListByModelIdAndTaskDefinitionKey(String modelId,
                                                                         String taskDefinitionKey) {
                                                                         String taskDefinitionKey) {
-        return selectOne(new QueryWrapperX<BpmTaskAssignRuleDO>()
-                .eq("model_id", modelId)
-                .eq("process_definition_id", BpmTaskAssignRuleDO.PROCESS_DEFINITION_ID_NULL)
-                .eq("task_definition_key", taskDefinitionKey));
+        return selectOne(new LambdaQueryWrapperX<BpmTaskAssignRuleDO>()
+                .eq(BpmTaskAssignRuleDO::getModelId, modelId)
+                .eq(BpmTaskAssignRuleDO::getProcessDefinitionId, BpmTaskAssignRuleDO.PROCESS_DEFINITION_ID_NULL)
+                .eq(BpmTaskAssignRuleDO::getTaskDefinitionKey, taskDefinitionKey));
     }
     }
 
 
 }
 }

+ 15 - 16
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/task/BpmProcessInstanceExtMapper.java

@@ -1,35 +1,34 @@
 package cn.iocoder.yudao.module.bpm.dal.mysql.task;
 package cn.iocoder.yudao.module.bpm.dal.mysql.task;
 
 
-import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.BpmProcessInstanceMyPageReqVO;
-import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
-import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.BpmProcessInstanceMyPageReqVO;
+import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
 public interface BpmProcessInstanceExtMapper extends BaseMapperX<BpmProcessInstanceExtDO> {
 public interface BpmProcessInstanceExtMapper extends BaseMapperX<BpmProcessInstanceExtDO> {
 
 
     default PageResult<BpmProcessInstanceExtDO> selectPage(Long userId, BpmProcessInstanceMyPageReqVO reqVO) {
     default PageResult<BpmProcessInstanceExtDO> selectPage(Long userId, BpmProcessInstanceMyPageReqVO reqVO) {
-        return selectPage(reqVO, new QueryWrapperX<BpmProcessInstanceExtDO>()
-                .eqIfPresent("start_user_id", userId)
-                .likeIfPresent("name", reqVO.getName())
-                .eqIfPresent("process_definition_id", reqVO.getProcessDefinitionId())
-                .eqIfPresent("category", reqVO.getCategory())
-                .eqIfPresent("status", reqVO.getStatus())
-                .eqIfPresent("result", reqVO.getResult())
-                .betweenIfPresent("create_time", reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
-                .orderByDesc("id"));
+        return selectPage(reqVO, new LambdaQueryWrapperX<BpmProcessInstanceExtDO>()
+                .eqIfPresent(BpmProcessInstanceExtDO::getStartUserId, userId)
+                .likeIfPresent(BpmProcessInstanceExtDO::getName, reqVO.getName())
+                .eqIfPresent(BpmProcessInstanceExtDO::getProcessDefinitionId, reqVO.getProcessDefinitionId())
+                .eqIfPresent(BpmProcessInstanceExtDO::getCategory, reqVO.getCategory())
+                .eqIfPresent(BpmProcessInstanceExtDO::getStatus, reqVO.getStatus())
+                .eqIfPresent(BpmProcessInstanceExtDO::getResult, reqVO.getResult())
+                .betweenIfPresent(BpmProcessInstanceExtDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
+                .orderByDesc(BpmProcessInstanceExtDO::getId));
     }
     }
 
 
     default BpmProcessInstanceExtDO selectByProcessInstanceId(String processDefinitionId) {
     default BpmProcessInstanceExtDO selectByProcessInstanceId(String processDefinitionId) {
-        return selectOne("process_instance_id", processDefinitionId);
+        return selectOne(BpmProcessInstanceExtDO::getProcessInstanceId, processDefinitionId);
     }
     }
 
 
     default void updateByProcessInstanceId(BpmProcessInstanceExtDO updateObj) {
     default void updateByProcessInstanceId(BpmProcessInstanceExtDO updateObj) {
-        update(updateObj, new QueryWrapper<BpmProcessInstanceExtDO>()
-                .eq("process_instance_id", updateObj.getProcessInstanceId()));
+        update(updateObj, new LambdaQueryWrapperX<BpmProcessInstanceExtDO>()
+                .eq(BpmProcessInstanceExtDO::getProcessInstanceId, updateObj.getProcessInstanceId()));
     }
     }
 
 
 }
 }

+ 2 - 2
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/task/BpmTaskExtMapper.java

@@ -1,7 +1,7 @@
 package cn.iocoder.yudao.module.bpm.dal.mysql.task;
 package cn.iocoder.yudao.module.bpm.dal.mysql.task;
 
 
-import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
@@ -20,6 +20,6 @@ public interface BpmTaskExtMapper extends BaseMapperX<BpmTaskExtDO> {
     }
     }
 
 
     default List<BpmTaskExtDO> selectListByProcessInstanceId(String processInstanceId) {
     default List<BpmTaskExtDO> selectListByProcessInstanceId(String processInstanceId) {
-        return selectList("process_instance_id", processInstanceId);
+        return selectList(BpmTaskExtDO::getProcessInstanceId, processInstanceId);
     }
     }
 }
 }

+ 1 - 1
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/service/message/BpmMessageServiceImpl.java

@@ -44,7 +44,7 @@ public class BpmMessageServiceImpl implements BpmMessageService {
     public void sendMessageWhenProcessInstanceReject(BpmMessageSendWhenProcessInstanceRejectReqDTO reqDTO) {
     public void sendMessageWhenProcessInstanceReject(BpmMessageSendWhenProcessInstanceRejectReqDTO reqDTO) {
         Map<String, Object> templateParams = new HashMap<>();
         Map<String, Object> templateParams = new HashMap<>();
         templateParams.put("processInstanceName", reqDTO.getProcessInstanceName());
         templateParams.put("processInstanceName", reqDTO.getProcessInstanceName());
-        templateParams.put("comment", reqDTO.getComment());
+        templateParams.put("reason", reqDTO.getReason());
         templateParams.put("detailUrl", getProcessInstanceDetailUrl(reqDTO.getProcessInstanceId()));
         templateParams.put("detailUrl", getProcessInstanceDetailUrl(reqDTO.getProcessInstanceId()));
         smsSendApi.sendSingleSmsToAdmin(BpmMessageConvert.INSTANCE.convert(reqDTO.getStartUserId(),
         smsSendApi.sendSingleSmsToAdmin(BpmMessageConvert.INSTANCE.convert(reqDTO.getStartUserId(),
                 BpmMessageEnum.PROCESS_INSTANCE_REJECT.getSmsTemplateCode(), templateParams));
                 BpmMessageEnum.PROCESS_INSTANCE_REJECT.getSmsTemplateCode(), templateParams));

+ 1 - 1
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/service/message/dto/BpmMessageSendWhenProcessInstanceRejectReqDTO.java

@@ -28,6 +28,6 @@ public class BpmMessageSendWhenProcessInstanceRejectReqDTO {
      * 不通过理由
      * 不通过理由
      */
      */
     @NotEmpty(message = "不通过理由不能为空")
     @NotEmpty(message = "不通过理由不能为空")
-    private String comment;
+    private String reason;
 
 
 }
 }

+ 2 - 2
yudao-module-bpm/yudao-module-bpm-biz-activiti/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmProcessInstanceConvert.java

@@ -116,10 +116,10 @@ public interface BpmProcessInstanceConvert {
         return event;
         return event;
     }
     }
 
 
-    default BpmMessageSendWhenProcessInstanceRejectReqDTO convert(ProcessInstance processInstance, String comment) {
+    default BpmMessageSendWhenProcessInstanceRejectReqDTO convert(ProcessInstance processInstance, String reason) {
         BpmMessageSendWhenProcessInstanceRejectReqDTO reqDTO = new BpmMessageSendWhenProcessInstanceRejectReqDTO();
         BpmMessageSendWhenProcessInstanceRejectReqDTO reqDTO = new BpmMessageSendWhenProcessInstanceRejectReqDTO();
         copyTo(processInstance, reqDTO);
         copyTo(processInstance, reqDTO);
-        reqDTO.setComment(comment);
+        reqDTO.setReason(reason);
         return reqDTO;
         return reqDTO;
     }
     }
     @Mapping(source = "name", target = "processInstanceName")
     @Mapping(source = "name", target = "processInstanceName")

+ 2 - 2
yudao-module-bpm/yudao-module-bpm-biz-activiti/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceService.java

@@ -158,8 +158,8 @@ public interface BpmProcessInstanceService {
      * 更新 ProcessInstance 拓展记录为不通过
      * 更新 ProcessInstance 拓展记录为不通过
      *
      *
      * @param id 流程编号
      * @param id 流程编号
-     * @param comment 理由。例如说,审批不通过时,需要传递该值
+     * @param reason 理由。例如说,审批不通过时,需要传递该值
      */
      */
-    void updateProcessInstanceExtReject(String id, String comment);
+    void updateProcessInstanceExtReject(String id, String reason);
 
 
 }
 }

+ 3 - 3
yudao-module-bpm/yudao-module-bpm-biz-activiti/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java

@@ -285,11 +285,11 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
     }
     }
 
 
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
-    public void updateProcessInstanceExtReject(String id, String comment) {
+    public void updateProcessInstanceExtReject(String id, String reason) {
         // 需要主动查询,因为 instance 只有 id 属性
         // 需要主动查询,因为 instance 只有 id 属性
         ProcessInstance processInstance = getProcessInstance(id);
         ProcessInstance processInstance = getProcessInstance(id);
         // 删除流程实例,以实现驳回任务时,取消整个审批流程
         // 删除流程实例,以实现驳回任务时,取消整个审批流程
-        deleteProcessInstance(id, StrUtil.format(BpmProcessInstanceDeleteReasonEnum.REJECT_TASK.format(comment)));
+        deleteProcessInstance(id, StrUtil.format(BpmProcessInstanceDeleteReasonEnum.REJECT_TASK.format(reason)));
 
 
         // 更新 status + result
         // 更新 status + result
         // 注意,不能和上面的逻辑更换位置。因为 deleteProcessInstance 会触发流程的取消,进而调用 updateProcessInstanceExtCancel 方法,
         // 注意,不能和上面的逻辑更换位置。因为 deleteProcessInstance 会触发流程的取消,进而调用 updateProcessInstanceExtCancel 方法,
@@ -300,7 +300,7 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
         processInstanceExtMapper.updateByProcessInstanceId(instanceExtDO);
         processInstanceExtMapper.updateByProcessInstanceId(instanceExtDO);
 
 
         // 发送流程被不通过的消息
         // 发送流程被不通过的消息
-        messageService.sendMessageWhenProcessInstanceReject(BpmProcessInstanceConvert.INSTANCE.convert(processInstance, comment));
+        messageService.sendMessageWhenProcessInstanceReject(BpmProcessInstanceConvert.INSTANCE.convert(processInstance, reason));
 
 
         // 发送流程实例的状态事件
         // 发送流程实例的状态事件
         processInstanceResultEventPublisher.sendProcessInstanceResultEvent(
         processInstanceResultEventPublisher.sendProcessInstanceResultEvent(

+ 3 - 3
yudao-module-bpm/yudao-module-bpm-biz-activiti/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java

@@ -226,7 +226,7 @@ public class BpmTaskServiceImpl implements BpmTaskService {
         taskService.complete(task.getId(), instance.getProcessVariables()); // TODO 芋艿:variables 的选择
         taskService.complete(task.getId(), instance.getProcessVariables()); // TODO 芋艿:variables 的选择
         // 更新任务拓展表为通过
         // 更新任务拓展表为通过
         taskExtMapper.updateByTaskId(new BpmTaskExtDO().setTaskId(task.getId())
         taskExtMapper.updateByTaskId(new BpmTaskExtDO().setTaskId(task.getId())
-                .setResult(BpmProcessInstanceResultEnum.APPROVE.getResult()).setComment(reqVO.getComment()));
+                .setResult(BpmProcessInstanceResultEnum.APPROVE.getResult()).setReason(reqVO.getReason()));
 
 
         // TODO 芋艿:添加评论
         // TODO 芋艿:添加评论
 //        taskService.addComment(task.getId(), task.getProcessInstanceId(), reqVO.getComment());
 //        taskService.addComment(task.getId(), task.getProcessInstanceId(), reqVO.getComment());
@@ -250,11 +250,11 @@ public class BpmTaskServiceImpl implements BpmTaskService {
         }
         }
 
 
         // 更新流程实例为不通过
         // 更新流程实例为不通过
-        processInstanceService.updateProcessInstanceExtReject(instance.getProcessInstanceId(), reqVO.getComment());
+        processInstanceService.updateProcessInstanceExtReject(instance.getProcessInstanceId(), reqVO.getReason());
 
 
         // 更新任务拓展表为不通过
         // 更新任务拓展表为不通过
         taskExtMapper.updateByTaskId(new BpmTaskExtDO().setTaskId(task.getId())
         taskExtMapper.updateByTaskId(new BpmTaskExtDO().setTaskId(task.getId())
-                .setResult(BpmProcessInstanceResultEnum.REJECT.getResult()).setComment(reqVO.getComment()));
+                .setResult(BpmProcessInstanceResultEnum.REJECT.getResult()).setReason(reqVO.getReason()));
 
 
         // TODO 芋艿:添加评论
         // TODO 芋艿:添加评论
 //        taskService.addComment(task.getId(), task.getProcessInstanceId(), reqVO.getComment());
 //        taskService.addComment(task.getId(), task.getProcessInstanceId(), reqVO.getComment());

+ 2 - 4
yudao-module-bpm/yudao-module-bpm-biz-flowable/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmProcessInstanceConvert.java

@@ -18,12 +18,10 @@ import org.flowable.task.api.Task;
 import org.mapstruct.Mapper;
 import org.mapstruct.Mapper;
 import org.mapstruct.Mapping;
 import org.mapstruct.Mapping;
 import org.mapstruct.MappingTarget;
 import org.mapstruct.MappingTarget;
-import org.mapstruct.Mappings;
 import org.mapstruct.factory.Mappers;
 import org.mapstruct.factory.Mappers;
 
 
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
-import java.util.Optional;
 
 
 /**
 /**
  * 流程实例 Convert
  * 流程实例 Convert
@@ -105,11 +103,11 @@ public interface BpmProcessInstanceConvert {
                 .setProcessInstanceName(instance.getName());
                 .setProcessInstanceName(instance.getName());
     }
     }
 
 
-    default BpmMessageSendWhenProcessInstanceRejectReqDTO convert2RejectReq(ProcessInstance instance, String comment) {
+    default BpmMessageSendWhenProcessInstanceRejectReqDTO convert2RejectReq(ProcessInstance instance, String reason) {
         return new BpmMessageSendWhenProcessInstanceRejectReqDTO()
         return new BpmMessageSendWhenProcessInstanceRejectReqDTO()
             .setProcessInstanceName(instance.getName())
             .setProcessInstanceName(instance.getName())
             .setProcessInstanceId(instance.getId())
             .setProcessInstanceId(instance.getId())
-            .setComment(comment)
+            .setReason(reason)
             .setStartUserId(NumberUtils.parseLong(instance.getStartUserId()));
             .setStartUserId(NumberUtils.parseLong(instance.getStartUserId()));
     }
     }
 
 

+ 2 - 2
yudao-module-bpm/yudao-module-bpm-biz-flowable/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceService.java

@@ -141,9 +141,9 @@ public interface BpmProcessInstanceService {
      * 更新 ProcessInstance 拓展记录为不通过
      * 更新 ProcessInstance 拓展记录为不通过
      *
      *
      * @param id 流程编号
      * @param id 流程编号
-     * @param comment 理由。例如说,审批不通过时,需要传递该值
+     * @param reason 理由。例如说,审批不通过时,需要传递该值
      */
      */
-    void updateProcessInstanceExtReject(String id, String comment);
+    void updateProcessInstanceExtReject(String id, String reason);
 
 
 
 
 }
 }

+ 3 - 3
yudao-module-bpm/yudao-module-bpm-biz-flowable/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java

@@ -251,11 +251,11 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
     }
     }
 
 
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
-    public void updateProcessInstanceExtReject(String id, String comment) {
+    public void updateProcessInstanceExtReject(String id, String reason) {
         // 需要主动查询,因为 instance 只有 id 属性
         // 需要主动查询,因为 instance 只有 id 属性
         ProcessInstance processInstance = getProcessInstance(id);
         ProcessInstance processInstance = getProcessInstance(id);
         // 删除流程实例,以实现驳回任务时,取消整个审批流程
         // 删除流程实例,以实现驳回任务时,取消整个审批流程
-        deleteProcessInstance(id, StrUtil.format(BpmProcessInstanceDeleteReasonEnum.REJECT_TASK.format(comment)));
+        deleteProcessInstance(id, StrUtil.format(BpmProcessInstanceDeleteReasonEnum.REJECT_TASK.format(reason)));
 
 
         // 更新 status + result
         // 更新 status + result
         // 注意,不能和上面的逻辑更换位置。因为 deleteProcessInstance 会触发流程的取消,进而调用 updateProcessInstanceExtCancel 方法,
         // 注意,不能和上面的逻辑更换位置。因为 deleteProcessInstance 会触发流程的取消,进而调用 updateProcessInstanceExtCancel 方法,
@@ -266,7 +266,7 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
         processInstanceExtMapper.updateByProcessInstanceId(instanceExtDO);
         processInstanceExtMapper.updateByProcessInstanceId(instanceExtDO);
 
 
         // 发送流程被不通过的消息
         // 发送流程被不通过的消息
-        messageService.sendMessageWhenProcessInstanceReject(BpmProcessInstanceConvert.INSTANCE.convert2RejectReq(processInstance, comment));
+        messageService.sendMessageWhenProcessInstanceReject(BpmProcessInstanceConvert.INSTANCE.convert2RejectReq(processInstance, reason));
 
 
         // 发送流程实例的状态事件
         // 发送流程实例的状态事件
         processInstanceResultEventPublisher.sendProcessInstanceResultEvent(
         processInstanceResultEventPublisher.sendProcessInstanceResultEvent(

+ 3 - 3
yudao-module-bpm/yudao-module-bpm-biz-flowable/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java

@@ -185,7 +185,7 @@ public class BpmTaskServiceImpl implements BpmTaskService{
         taskService.complete(task.getId(), instance.getProcessVariables());
         taskService.complete(task.getId(), instance.getProcessVariables());
         // 更新任务拓展表为通过
         // 更新任务拓展表为通过
         taskExtMapper.updateByTaskId(new BpmTaskExtDO().setTaskId(task.getId())
         taskExtMapper.updateByTaskId(new BpmTaskExtDO().setTaskId(task.getId())
-                .setResult(BpmProcessInstanceResultEnum.APPROVE.getResult()).setComment(reqVO.getComment()));
+                .setResult(BpmProcessInstanceResultEnum.APPROVE.getResult()).setReason(reqVO.getReason()));
     }
     }
 
 
     @Override
     @Override
@@ -199,11 +199,11 @@ public class BpmTaskServiceImpl implements BpmTaskService{
         }
         }
 
 
         // 更新流程实例为不通过
         // 更新流程实例为不通过
-        processInstanceService.updateProcessInstanceExtReject(instance.getProcessInstanceId(), reqVO.getComment());
+        processInstanceService.updateProcessInstanceExtReject(instance.getProcessInstanceId(), reqVO.getReason());
 
 
         // 更新任务拓展表为不通过
         // 更新任务拓展表为不通过
         taskExtMapper.updateByTaskId(new BpmTaskExtDO().setTaskId(task.getId())
         taskExtMapper.updateByTaskId(new BpmTaskExtDO().setTaskId(task.getId())
-                .setResult(BpmProcessInstanceResultEnum.REJECT.getResult()).setComment(reqVO.getComment()));
+                .setResult(BpmProcessInstanceResultEnum.REJECT.getResult()).setReason(reqVO.getReason()));
     }
     }
 
 
     @Override
     @Override

+ 3 - 2
yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/enums/ErrorCodeConstants.java

@@ -13,7 +13,7 @@ public interface ErrorCodeConstants {
     ErrorCode CONFIG_NOT_EXISTS = new ErrorCode(1001000001, "参数配置不存在");
     ErrorCode CONFIG_NOT_EXISTS = new ErrorCode(1001000001, "参数配置不存在");
     ErrorCode CONFIG_KEY_DUPLICATE = new ErrorCode(1001000002, "参数配置 key 重复");
     ErrorCode CONFIG_KEY_DUPLICATE = new ErrorCode(1001000002, "参数配置 key 重复");
     ErrorCode CONFIG_CAN_NOT_DELETE_SYSTEM_TYPE = new ErrorCode(1001000003, "不能删除类型为系统内置的参数配置");
     ErrorCode CONFIG_CAN_NOT_DELETE_SYSTEM_TYPE = new ErrorCode(1001000003, "不能删除类型为系统内置的参数配置");
-    ErrorCode CONFIG_GET_VALUE_ERROR_IF_SENSITIVE = new ErrorCode(1001000004, "不允许获取敏感配置到前端");
+    ErrorCode CONFIG_GET_VALUE_ERROR_IF_VISIBLE = new ErrorCode(1001000004, "获取参数配置失败,原因:不允许获取不可见配置");
 
 
     // ========== 定时任务 1001001000 ==========
     // ========== 定时任务 1001001000 ==========
     ErrorCode JOB_NOT_EXISTS = new ErrorCode(1001001000, "定时任务不存在");
     ErrorCode JOB_NOT_EXISTS = new ErrorCode(1001001000, "定时任务不存在");
@@ -36,11 +36,12 @@ public interface ErrorCodeConstants {
     ErrorCode CODEGEN_TABLE_EXISTS = new ErrorCode(1003001000, "表定义已经存在");
     ErrorCode CODEGEN_TABLE_EXISTS = new ErrorCode(1003001000, "表定义已经存在");
     ErrorCode CODEGEN_IMPORT_TABLE_NULL = new ErrorCode(1003001001, "导入的表不存在");
     ErrorCode CODEGEN_IMPORT_TABLE_NULL = new ErrorCode(1003001001, "导入的表不存在");
     ErrorCode CODEGEN_IMPORT_COLUMNS_NULL = new ErrorCode(1003001002, "导入的字段不存在");
     ErrorCode CODEGEN_IMPORT_COLUMNS_NULL = new ErrorCode(1003001002, "导入的字段不存在");
-    ErrorCode CODEGEN_PARSE_SQL_ERROR = new ErrorCode(1003001003, "解析 SQL 失败,请检查");
     ErrorCode CODEGEN_TABLE_NOT_EXISTS = new ErrorCode(1003001004, "表定义不存在");
     ErrorCode CODEGEN_TABLE_NOT_EXISTS = new ErrorCode(1003001004, "表定义不存在");
     ErrorCode CODEGEN_COLUMN_NOT_EXISTS = new ErrorCode(1003001005, "字段义不存在");
     ErrorCode CODEGEN_COLUMN_NOT_EXISTS = new ErrorCode(1003001005, "字段义不存在");
     ErrorCode CODEGEN_SYNC_COLUMNS_NULL = new ErrorCode(1003001006, "同步的字段不存在");
     ErrorCode CODEGEN_SYNC_COLUMNS_NULL = new ErrorCode(1003001006, "同步的字段不存在");
     ErrorCode CODEGEN_SYNC_NONE_CHANGE = new ErrorCode(1003001007, "同步失败,不存在改变");
     ErrorCode CODEGEN_SYNC_NONE_CHANGE = new ErrorCode(1003001007, "同步失败,不存在改变");
+    ErrorCode CODEGEN_TABLE_INFO_TABLE_COMMENT_IS_NULL = new ErrorCode(1003001008, "数据库的表注释未填写");
+    ErrorCode CODEGEN_TABLE_INFO_COLUMN_COMMENT_IS_NULL = new ErrorCode(1003001009, "数据库的表字段({})注释未填写");
 
 
     // ========== 字典类型(测试)1001005000 ==========
     // ========== 字典类型(测试)1001005000 ==========
     ErrorCode TEST_DEMO_NOT_EXISTS = new ErrorCode(1001005000, "测试示例不存在");
     ErrorCode TEST_DEMO_NOT_EXISTS = new ErrorCode(1001005000, "测试示例不存在");

+ 3 - 3
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/ConfigController.java

@@ -68,15 +68,15 @@ public class ConfigController {
     }
     }
 
 
     @GetMapping(value = "/get-value-by-key")
     @GetMapping(value = "/get-value-by-key")
-    @ApiOperation(value = "根据参数键名查询参数值", notes = "敏感配置,不允许返回给前端")
+    @ApiOperation(value = "根据参数键名查询参数值", notes = "不可见的配置,不允许返回给前端")
     @ApiImplicitParam(name = "key", value = "参数键", required = true, example = "yunai.biz.username", dataTypeClass = String.class)
     @ApiImplicitParam(name = "key", value = "参数键", required = true, example = "yunai.biz.username", dataTypeClass = String.class)
     public CommonResult<String> getConfigKey(@RequestParam("key") String key) {
     public CommonResult<String> getConfigKey(@RequestParam("key") String key) {
         ConfigDO config = configService.getConfigByKey(key);
         ConfigDO config = configService.getConfigByKey(key);
         if (config == null) {
         if (config == null) {
             return null;
             return null;
         }
         }
-        if (config.getSensitive()) {
-            throw ServiceExceptionUtil.exception(ErrorCodeConstants.CONFIG_GET_VALUE_ERROR_IF_SENSITIVE);
+        if (config.getVisible()) {
+            throw ServiceExceptionUtil.exception(ErrorCodeConstants.CONFIG_GET_VALUE_ERROR_IF_VISIBLE);
         }
         }
         return success(config.getValue());
         return success(config.getValue());
     }
     }

+ 2 - 2
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigBaseVO.java

@@ -18,7 +18,7 @@ public class ConfigBaseVO {
     @ApiModelProperty(value = "参数分组", required = true, example = "biz")
     @ApiModelProperty(value = "参数分组", required = true, example = "biz")
     @NotEmpty(message = "参数分组不能为空")
     @NotEmpty(message = "参数分组不能为空")
     @Size(max = 50, message = "参数名称不能超过50个字符")
     @Size(max = 50, message = "参数名称不能超过50个字符")
-    private String group;
+    private String category;
 
 
     @ApiModelProperty(value = "参数名称", required = true, example = "数据库名")
     @ApiModelProperty(value = "参数名称", required = true, example = "数据库名")
     @NotBlank(message = "参数名称不能为空")
     @NotBlank(message = "参数名称不能为空")
@@ -32,7 +32,7 @@ public class ConfigBaseVO {
 
 
     @ApiModelProperty(value = "是否敏感", required = true, example = "true")
     @ApiModelProperty(value = "是否敏感", required = true, example = "true")
     @NotNull(message = "是否敏感不能为空")
     @NotNull(message = "是否敏感不能为空")
-    private Boolean sensitive;
+    private Boolean visible;
 
 
     @ApiModelProperty(value = "备注", example = "备注一下很帅气!")
     @ApiModelProperty(value = "备注", example = "备注一下很帅气!")
     private String remark;
     private String remark;

+ 3 - 1
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/FileController.java

@@ -4,6 +4,7 @@ import cn.hutool.core.io.IoUtil;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
 import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
+import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
 import cn.iocoder.yudao.module.infra.controller.admin.file.vo.file.FilePageReqVO;
 import cn.iocoder.yudao.module.infra.controller.admin.file.vo.file.FilePageReqVO;
 import cn.iocoder.yudao.module.infra.controller.admin.file.vo.file.FileRespVO;
 import cn.iocoder.yudao.module.infra.controller.admin.file.vo.file.FileRespVO;
 import cn.iocoder.yudao.module.infra.convert.file.FileConvert;
 import cn.iocoder.yudao.module.infra.convert.file.FileConvert;
@@ -42,8 +43,9 @@ public class FileController {
             @ApiImplicitParam(name = "file", value = "文件附件", required = true, dataTypeClass = MultipartFile.class),
             @ApiImplicitParam(name = "file", value = "文件附件", required = true, dataTypeClass = MultipartFile.class),
             @ApiImplicitParam(name = "path", value = "文件路径", example = "yudaoyuanma.png", dataTypeClass = String.class)
             @ApiImplicitParam(name = "path", value = "文件路径", example = "yudaoyuanma.png", dataTypeClass = String.class)
     })
     })
+    @OperateLog(logArgs = false) // 上传文件,没有记录操作日志的必要
     public CommonResult<String> uploadFile(@RequestParam("file") MultipartFile file,
     public CommonResult<String> uploadFile(@RequestParam("file") MultipartFile file,
-                                           @RequestParam("path") String path) throws Exception {
+                                           @RequestParam(value = "path", required = false) String path) throws Exception {
         return success(fileService.createFile(path, IoUtil.readBytes(file.getInputStream())));
         return success(fileService.createFile(path, IoUtil.readBytes(file.getInputStream())));
     }
     }
 
 

+ 4 - 0
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/convert/config/ConfigConvert.java

@@ -7,6 +7,7 @@ import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigRespVO;
 import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigUpdateReqVO;
 import cn.iocoder.yudao.module.infra.controller.admin.config.vo.ConfigUpdateReqVO;
 import cn.iocoder.yudao.module.infra.dal.dataobject.config.ConfigDO;
 import cn.iocoder.yudao.module.infra.dal.dataobject.config.ConfigDO;
 import org.mapstruct.Mapper;
 import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
 import org.mapstruct.factory.Mappers;
 import org.mapstruct.factory.Mappers;
 
 
 import java.util.List;
 import java.util.List;
@@ -18,12 +19,15 @@ public interface ConfigConvert {
 
 
     PageResult<ConfigRespVO> convertPage(PageResult<ConfigDO> page);
     PageResult<ConfigRespVO> convertPage(PageResult<ConfigDO> page);
 
 
+    @Mapping(source = "configKey", target = "key")
     ConfigRespVO convert(ConfigDO bean);
     ConfigRespVO convert(ConfigDO bean);
 
 
+    @Mapping(source = "key", target = "configKey")
     ConfigDO convert(ConfigCreateReqVO bean);
     ConfigDO convert(ConfigCreateReqVO bean);
 
 
     ConfigDO convert(ConfigUpdateReqVO bean);
     ConfigDO convert(ConfigUpdateReqVO bean);
 
 
+    @Mapping(source = "configKey", target = "key")
     List<ConfigExcelVO> convertList(List<ConfigDO> list);
     List<ConfigExcelVO> convertList(List<ConfigDO> list);
 
 
 }
 }

+ 2 - 0
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/codegen/CodegenColumnDO.java

@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.infra.dal.dataobject.codegen;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.module.infra.enums.codegen.CodegenColumnHtmlTypeEnum;
 import cn.iocoder.yudao.module.infra.enums.codegen.CodegenColumnHtmlTypeEnum;
 import cn.iocoder.yudao.module.infra.enums.codegen.CodegenColumnListConditionEnum;
 import cn.iocoder.yudao.module.infra.enums.codegen.CodegenColumnListConditionEnum;
+import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.Data;
@@ -15,6 +16,7 @@ import lombok.experimental.Accessors;
  * @author 芋道源码
  * @author 芋道源码
  */
  */
 @TableName(value = "infra_codegen_column", autoResultMap = true)
 @TableName(value = "infra_codegen_column", autoResultMap = true)
+@KeySequence("infra_codegen_column_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
 @Data
 @Data
 @Accessors(chain = true)
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)

+ 2 - 0
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/codegen/CodegenTableDO.java

@@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.module.infra.dal.dataobject.db.DataSourceConfigDO;
 import cn.iocoder.yudao.module.infra.dal.dataobject.db.DataSourceConfigDO;
 import cn.iocoder.yudao.module.infra.enums.codegen.CodegenSceneEnum;
 import cn.iocoder.yudao.module.infra.enums.codegen.CodegenSceneEnum;
 import cn.iocoder.yudao.module.infra.enums.codegen.CodegenTemplateTypeEnum;
 import cn.iocoder.yudao.module.infra.enums.codegen.CodegenTemplateTypeEnum;
+import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
@@ -15,6 +16,7 @@ import lombok.experimental.Accessors;
  * @author 芋道源码
  * @author 芋道源码
  */
  */
 @TableName(value = "infra_codegen_table", autoResultMap = true)
 @TableName(value = "infra_codegen_table", autoResultMap = true)
+@KeySequence("infra_codegen_table_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
 @Data
 @Data
 @Accessors(chain = true)
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)

+ 10 - 11
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/config/ConfigDO.java

@@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.infra.dal.dataobject.config;
 
 
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.module.infra.enums.config.ConfigTypeEnum;
 import cn.iocoder.yudao.module.infra.enums.config.ConfigTypeEnum;
-import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.Data;
@@ -15,6 +15,7 @@ import lombok.ToString;
  * @author 芋道源码
  * @author 芋道源码
  */
  */
 @TableName("infra_config")
 @TableName("infra_config")
+@KeySequence("infra_config_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
 @Data
 @Data
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
 @ToString(callSuper = true)
@@ -26,19 +27,19 @@ public class ConfigDO extends BaseDO {
     @TableId
     @TableId
     private Long id;
     private Long id;
     /**
     /**
-     * 参数分
+     * 参数分
      */
      */
-    @TableField("`group`")
-    private String group;
+    private String category;
     /**
     /**
      * 参数名称
      * 参数名称
      */
      */
     private String name;
     private String name;
     /**
     /**
      * 参数键名
      * 参数键名
+     *
+     * 支持多 DB 类型时,无法直接使用 key + @TableField("config_key") 来实现转换,原因是 "config_key" AS key 而存在报错
      */
      */
-    @TableField("`key`")
-    private String key;
+    private String configKey;
     /**
     /**
      * 参数键值
      * 参数键值
      */
      */
@@ -48,15 +49,13 @@ public class ConfigDO extends BaseDO {
      *
      *
      * 枚举 {@link ConfigTypeEnum}
      * 枚举 {@link ConfigTypeEnum}
      */
      */
-    @TableField("`type`")
     private Integer type;
     private Integer type;
     /**
     /**
-     * 是否敏感
+     * 是否可见
      *
      *
-     * 对于敏感配置,需要管理权限才能查看
+     * 不可见的参数,一般是敏感参数,前端不可获取
      */
      */
-    @TableField("`sensitive`")
-    private Boolean sensitive;
+    private Boolean visible;
     /**
     /**
      * 备注
      * 备注
      */
      */

+ 6 - 1
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/db/DataSourceConfigDO.java

@@ -1,6 +1,9 @@
 package cn.iocoder.yudao.module.infra.dal.dataobject.db;
 package cn.iocoder.yudao.module.infra.dal.dataobject.db;
 
 
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import cn.iocoder.yudao.framework.mybatis.core.type.EncryptTypeHandler;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.Data;
 
 
@@ -9,7 +12,8 @@ import lombok.Data;
  *
  *
  * @author 芋道源码
  * @author 芋道源码
  */
  */
-@TableName("infra_data_source_config")
+@TableName(value = "infra_data_source_config", autoResultMap = true)
+@KeySequence("infra_data_source_config_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
 @Data
 @Data
 public class DataSourceConfigDO extends BaseDO {
 public class DataSourceConfigDO extends BaseDO {
 
 
@@ -38,6 +42,7 @@ public class DataSourceConfigDO extends BaseDO {
     /**
     /**
      * 密码
      * 密码
      */
      */
+    @TableField(typeHandler = EncryptTypeHandler.class)
     private String password;
     private String password;
 
 
 }
 }

+ 3 - 1
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/file/FileConfigDO.java

@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.infra.dal.dataobject.file;
 import cn.iocoder.yudao.framework.file.core.client.FileClientConfig;
 import cn.iocoder.yudao.framework.file.core.client.FileClientConfig;
 import cn.iocoder.yudao.framework.file.core.enums.FileStorageEnum;
 import cn.iocoder.yudao.framework.file.core.enums.FileStorageEnum;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
 import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
@@ -13,8 +14,9 @@ import lombok.*;
  *
  *
  * @author 芋道源码
  * @author 芋道源码
  */
  */
-@Data
 @TableName(value = "infra_file_config", autoResultMap = true)
 @TableName(value = "infra_file_config", autoResultMap = true)
+@KeySequence("infra_file_config_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
 @ToString(callSuper = true)
 @Builder
 @Builder

+ 3 - 1
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/file/FileContentDO.java

@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.infra.dal.dataobject.file;
 
 
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.*;
 import lombok.*;
@@ -13,8 +14,9 @@ import lombok.*;
  *
  *
  * @author 芋道源码
  * @author 芋道源码
  */
  */
-@Data
 @TableName("infra_file_content")
 @TableName("infra_file_content")
+@KeySequence("infra_file_content_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
 @ToString(callSuper = true)
 @Builder
 @Builder

+ 3 - 3
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/file/FileDO.java

@@ -1,7 +1,7 @@
 package cn.iocoder.yudao.module.infra.dal.dataobject.file;
 package cn.iocoder.yudao.module.infra.dal.dataobject.file;
 
 
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
-import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.*;
 import lombok.*;
 
 
@@ -13,8 +13,9 @@ import java.io.InputStream;
  *
  *
  * @author 芋道源码
  * @author 芋道源码
  */
  */
-@Data
 @TableName("infra_file")
 @TableName("infra_file")
+@KeySequence("infra_file_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
 @ToString(callSuper = true)
 @Builder
 @Builder
@@ -45,7 +46,6 @@ public class FileDO extends BaseDO {
      *
      *
      * 通过 {@link cn.hutool.core.io.FileTypeUtil#getType(InputStream)} 获取
      * 通过 {@link cn.hutool.core.io.FileTypeUtil#getType(InputStream)} 获取
      */
      */
-    @TableField(value = "`type`")
     private String type;
     private String type;
     /**
     /**
      * 文件大小
      * 文件大小

+ 2 - 0
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/job/JobDO.java

@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.infra.dal.dataobject.job;
 
 
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.module.infra.enums.job.JobStatusEnum;
 import cn.iocoder.yudao.module.infra.enums.job.JobStatusEnum;
+import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.*;
 import lombok.*;
@@ -12,6 +13,7 @@ import lombok.*;
  * @author 芋道源码
  * @author 芋道源码
  */
  */
 @TableName("infra_job")
 @TableName("infra_job")
+@KeySequence("infra_job_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
 @Data
 @Data
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
 @ToString(callSuper = true)

+ 2 - 0
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/job/JobLogDO.java

@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.infra.dal.dataobject.job;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.framework.quartz.core.handler.JobHandler;
 import cn.iocoder.yudao.framework.quartz.core.handler.JobHandler;
 import cn.iocoder.yudao.module.infra.enums.job.JobLogStatusEnum;
 import cn.iocoder.yudao.module.infra.enums.job.JobLogStatusEnum;
+import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.*;
 import lombok.*;
 
 
@@ -14,6 +15,7 @@ import java.util.Date;
  * @author 芋道源码
  * @author 芋道源码
  */
  */
 @TableName("infra_job_log")
 @TableName("infra_job_log")
+@KeySequence("infra_job_log_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
 @Data
 @Data
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
 @ToString(callSuper = true)

+ 2 - 0
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/logger/ApiAccessLogDO.java

@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.infra.dal.dataobject.logger;
 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.*;
 import lombok.*;
@@ -15,6 +16,7 @@ import java.util.Date;
  * @author 芋道源码
  * @author 芋道源码
  */
  */
 @TableName("infra_api_access_log")
 @TableName("infra_api_access_log")
+@KeySequence(value = "infra_api_access_log_seq")
 @Data
 @Data
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
 @ToString(callSuper = true)

+ 2 - 0
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/logger/ApiErrorLogDO.java

@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.infra.dal.dataobject.logger;
 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.module.infra.enums.logger.ApiErrorLogProcessStatusEnum;
 import cn.iocoder.yudao.module.infra.enums.logger.ApiErrorLogProcessStatusEnum;
+import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.*;
 import lombok.*;
@@ -21,6 +22,7 @@ import java.util.Date;
 @Builder
 @Builder
 @NoArgsConstructor
 @NoArgsConstructor
 @AllArgsConstructor
 @AllArgsConstructor
+@KeySequence(value = "infra_api_error_log_seq")
 public class ApiErrorLogDO extends BaseDO {
 public class ApiErrorLogDO extends BaseDO {
 
 
     /**
     /**

+ 2 - 0
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/test/TestDemoDO.java

@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.infra.dal.dataobject.test;
 package cn.iocoder.yudao.module.infra.dal.dataobject.test;
 
 
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.*;
 import lombok.*;
@@ -11,6 +12,7 @@ import lombok.*;
  * @author 芋道源码
  * @author 芋道源码
  */
  */
 @TableName("infra_test_demo")
 @TableName("infra_test_demo")
+@KeySequence("infra_test_demo_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
 @Data
 @Data
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
 @ToString(callSuper = true)

+ 6 - 4
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/mysql/codegen/CodegenColumnMapper.java

@@ -1,8 +1,8 @@
 package cn.iocoder.yudao.module.infra.dal.mysql.codegen;
 package cn.iocoder.yudao.module.infra.dal.mysql.codegen;
 
 
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenColumnDO;
 import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenColumnDO;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 import java.util.List;
 import java.util.List;
@@ -11,12 +11,14 @@ import java.util.List;
 public interface CodegenColumnMapper extends BaseMapperX<CodegenColumnDO> {
 public interface CodegenColumnMapper extends BaseMapperX<CodegenColumnDO> {
 
 
     default List<CodegenColumnDO> selectListByTableId(Long tableId) {
     default List<CodegenColumnDO> selectListByTableId(Long tableId) {
-        return selectList(new QueryWrapper<CodegenColumnDO>().eq("table_id", tableId)
-                .orderByAsc("ordinal_position"));
+        return selectList(new LambdaQueryWrapperX<CodegenColumnDO>()
+                .eq(CodegenColumnDO::getTableId, tableId)
+                .orderByAsc(CodegenColumnDO::getId));
     }
     }
 
 
     default void deleteListByTableId(Long tableId) {
     default void deleteListByTableId(Long tableId) {
-        delete(new QueryWrapper<CodegenColumnDO>().eq("table_id", tableId));
+        delete(new LambdaQueryWrapperX<CodegenColumnDO>()
+                .eq(CodegenColumnDO::getTableId, tableId));
     }
     }
 
 
 }
 }

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно