From 3cd28abdd7f723e406cc857fd44730d0207b3ae9 Mon Sep 17 00:00:00 2001 From: xxm1995 Date: Sun, 27 Aug 2023 16:14:48 +0800 Subject: [PATCH 01/26] =?UTF-8?q?doc=20=E4=BB=BB=E5=8A=A1=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/_doc/Task.md b/_doc/Task.md index ccb86be2..f521dbf1 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -1,17 +1,8 @@ -## 1.3.4 -- x 通用导入组件 - - x 支持自定义模板下载 - - x 模板管理 - - x 支持自定义上传到的地址 - - x 导入数据支持选择: 跳过, 覆盖, 报错 -- x 小程序用户反馈功能 -- x 敏感字功能 -- x 用户批量重置密码 -- x 代码生成模板添加批量操作相关 -- x 支持IpV6地址的记录 -- 参数配置支持只允许后端访问 -- 键值对管理增加可视化界面管理 ## 1.3.5 +- Sql查询功能 +- Knife4j移植官方basic认证功能 +- 记录密码输入次数 +- 记录密码更改记录 - 审计日志增加定时删除和一键清除超期日志功能 - 文件管理支持配置所属上传类型、是否被使用过、是否登陆后才可以访问 ## 1.3.x、1.4.x @@ -23,7 +14,6 @@ - 优化参数校验, 将各种入参进行校验 - 代码生成模板支持配置 - 代码生成支持预览 -- Sql查询功能 - SQL查询片段升级为数据集 - 支持预览编辑完成的富文本 - 添加配置备份功能(菜单/系统参数/字典), csv方式 -- Gitee From 3c075c1986ac274fba6fffe7fabbff1d3a5183d8 Mon Sep 17 00:00:00 2001 From: xxm1995 Date: Mon, 28 Aug 2023 20:07:52 +0800 Subject: [PATCH 02/26] =?UTF-8?q?feat=20=E6=95=B4=E5=90=88knife4j,=20?= =?UTF-8?q?=E5=A4=84=E7=90=86=20JacksonAutoConfiguration=20=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E7=B1=BB=E5=85=88=E5=90=8E=E9=A1=BA=E5=BA=8F=E4=B8=8D?= =?UTF-8?q?=E7=94=9F=E6=95=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/jackson/JacksonAutoConfiguration.java | 16 ---------------- .../configuration/JacksonConfiguration.java | 5 +++-- ....boot.autoconfigure.AutoConfiguration.imports | 2 +- bootx-commons/common-swagger/pom.xml | 10 +++++----- bootx-services/pom.xml | 11 ++++++----- .../src/main/resources/application-dev.yml | 4 ++++ pom.xml | 2 +- 7 files changed, 20 insertions(+), 30 deletions(-) delete mode 100644 bootx-commons/common-jackson/src/main/java/cn/bootx/platform/common/jackson/JacksonAutoConfiguration.java diff --git a/bootx-commons/common-jackson/src/main/java/cn/bootx/platform/common/jackson/JacksonAutoConfiguration.java b/bootx-commons/common-jackson/src/main/java/cn/bootx/platform/common/jackson/JacksonAutoConfiguration.java deleted file mode 100644 index 0c69ecfb..00000000 --- a/bootx-commons/common-jackson/src/main/java/cn/bootx/platform/common/jackson/JacksonAutoConfiguration.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.bootx.platform.common.jackson; - -import org.springframework.boot.autoconfigure.AutoConfiguration; -import org.springframework.context.annotation.ComponentScan; - -/** - * Jackson模块 - * - * @author xxm - * @since 2021/12/2 - */ -@ComponentScan -@AutoConfiguration -public class JacksonAutoConfiguration { - -} diff --git a/bootx-commons/common-jackson/src/main/java/cn/bootx/platform/common/jackson/configuration/JacksonConfiguration.java b/bootx-commons/common-jackson/src/main/java/cn/bootx/platform/common/jackson/configuration/JacksonConfiguration.java index 866396bd..9f9f4d32 100644 --- a/bootx-commons/common-jackson/src/main/java/cn/bootx/platform/common/jackson/configuration/JacksonConfiguration.java +++ b/bootx-commons/common-jackson/src/main/java/cn/bootx/platform/common/jackson/configuration/JacksonConfiguration.java @@ -20,8 +20,9 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; /** - * jackson 序列化 - * + * jackson 序列化自动配置 + * 要先于 JacksonAutoConfiguration 中 注入 ObjectMapper + * 注意: @AutoConfigureBefore 只可以用在自动配置上, 普通配置类不生效 * @author xxm * @since 2020/4/23 22:28 */ diff --git a/bootx-commons/common-jackson/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/bootx-commons/common-jackson/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 0f826f86..f830b454 100644 --- a/bootx-commons/common-jackson/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/bootx-commons/common-jackson/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1 +1 @@ -cn.bootx.platform.common.jackson.JacksonAutoConfiguration +cn.bootx.platform.common.jackson.configuration.JacksonConfiguration diff --git a/bootx-commons/common-swagger/pom.xml b/bootx-commons/common-swagger/pom.xml index 96efbf55..251f905a 100644 --- a/bootx-commons/common-swagger/pom.xml +++ b/bootx-commons/common-swagger/pom.xml @@ -29,11 +29,11 @@ - - - - - + + com.github.xiaoymin + knife4j-openapi3-spring-boot-starter + ${knife4j.version} + diff --git a/bootx-services/pom.xml b/bootx-services/pom.xml index fe2025a7..cbb442a1 100644 --- a/bootx-services/pom.xml +++ b/bootx-services/pom.xml @@ -128,11 +128,12 @@ - - com.github.xiaoymin - knife4j-openapi3-ui - ${knife4j.version} - + + + + + + diff --git a/bootx-start/src/main/resources/application-dev.yml b/bootx-start/src/main/resources/application-dev.yml index c010075a..f10cea1a 100644 --- a/bootx-start/src/main/resources/application-dev.yml +++ b/bootx-start/src/main/resources/application-dev.yml @@ -86,6 +86,10 @@ logging: mybatis-table: update-type: update scan-package: cn.bootx.platform + +# Swagger 增强版 +knife4j: + enable: true # 项目配置 bootx: common: diff --git a/pom.xml b/pom.xml index fb28fecb..5daedc5c 100644 --- a/pom.xml +++ b/pom.xml @@ -103,7 +103,7 @@ 8.5.4 3.5.3.2 3.6.1 - 1.6.15 + 1.7.0 3.23.0 4.2.0 1.5.5.Final -- Gitee From 9b9d08274c4bdec085198dc2df734fc5ecc5012e Mon Sep 17 00:00:00 2001 From: xxm1995 Date: Tue, 29 Aug 2023 17:42:08 +0800 Subject: [PATCH 03/26] =?UTF-8?q?feat=20=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 5 ++-- .../controller/QuerySqlController.java | 2 +- .../convert/QuerySqlConvert.java | 6 ++--- .../dao/QuerySqlManager.java | 4 +-- .../dao/QuerySqlMapper.java | 4 +-- .../core/dataresult/dao/SqlQueryMapper.java | 18 +++++++++++++ .../{sql => dataresult}/entity/QuerySql.java | 6 ++--- .../{sql => dataresult}/entity/SqlField.java | 2 +- .../{sql => dataresult}/entity/SqlParam.java | 2 +- .../service/QuerySqlService.java | 9 +++---- .../dataresult/service/SqlQueryService.java | 21 +++++++++++++++ .../dto/{sql => dataresult}/QuerySqlDto.java | 6 ++--- .../dto/dataresult/SqlQueryResult.java | 26 +++++++++++++++++++ .../baseapi/param/sql/QuerySqlParam.java | 4 +-- 14 files changed, 89 insertions(+), 26 deletions(-) rename bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/{sql => dataresult}/convert/QuerySqlConvert.java (66%) rename bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/{sql => dataresult}/dao/QuerySqlManager.java (70%) rename bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/{sql => dataresult}/dao/QuerySqlMapper.java (64%) create mode 100644 bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/SqlQueryMapper.java rename bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/{sql => dataresult}/entity/QuerySql.java (87%) rename bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/{sql => dataresult}/entity/SqlField.java (81%) rename bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/{sql => dataresult}/entity/SqlParam.java (84%) rename bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/{sql => dataresult}/service/QuerySqlService.java (95%) create mode 100644 bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/service/SqlQueryService.java rename bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/{sql => dataresult}/QuerySqlDto.java (83%) create mode 100644 bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/dataresult/SqlQueryResult.java diff --git a/_doc/Task.md b/_doc/Task.md index f521dbf1..a53a0b2b 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -1,6 +1,7 @@ ## 1.3.5 -- Sql查询功能 -- Knife4j移植官方basic认证功能 +- SQL查询功能 +- 完整集成Knife4j, 支持增强功能 +- 数据集功能 - 记录密码输入次数 - 记录密码更改记录 - 审计日志增加定时删除和一键清除超期日志功能 diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/QuerySqlController.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/QuerySqlController.java index 768306c2..3aeeb03b 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/QuerySqlController.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/QuerySqlController.java @@ -1,6 +1,6 @@ package cn.bootx.platform.baseapi.controller; -import cn.bootx.platform.baseapi.core.sql.service.QuerySqlService; +import cn.bootx.platform.baseapi.core.dataresult.service.QuerySqlService; import cn.bootx.platform.baseapi.param.sql.QueryFieldParam; import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.Res; diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/convert/QuerySqlConvert.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/convert/QuerySqlConvert.java similarity index 66% rename from bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/convert/QuerySqlConvert.java rename to bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/convert/QuerySqlConvert.java index c29ab9c3..3278c016 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/convert/QuerySqlConvert.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/convert/QuerySqlConvert.java @@ -1,7 +1,7 @@ -package cn.bootx.platform.baseapi.core.sql.convert; +package cn.bootx.platform.baseapi.core.dataresult.convert; -import cn.bootx.platform.baseapi.core.sql.entity.QuerySql; -import cn.bootx.platform.baseapi.dto.sql.QuerySqlDto; +import cn.bootx.platform.baseapi.core.dataresult.entity.QuerySql; +import cn.bootx.platform.baseapi.dto.dataresult.QuerySqlDto; import cn.bootx.platform.baseapi.param.sql.QuerySqlParam; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/dao/QuerySqlManager.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/QuerySqlManager.java similarity index 70% rename from bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/dao/QuerySqlManager.java rename to bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/QuerySqlManager.java index 7b726ae3..fe157e05 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/dao/QuerySqlManager.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/QuerySqlManager.java @@ -1,6 +1,6 @@ -package cn.bootx.platform.baseapi.core.sql.dao; +package cn.bootx.platform.baseapi.core.dataresult.dao; -import cn.bootx.platform.baseapi.core.sql.entity.QuerySql; +import cn.bootx.platform.baseapi.core.dataresult.entity.QuerySql; import cn.bootx.platform.common.mybatisplus.impl.BaseManager; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Repository; diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/dao/QuerySqlMapper.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/QuerySqlMapper.java similarity index 64% rename from bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/dao/QuerySqlMapper.java rename to bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/QuerySqlMapper.java index 6dc01155..d4a5d785 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/dao/QuerySqlMapper.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/QuerySqlMapper.java @@ -1,6 +1,6 @@ -package cn.bootx.platform.baseapi.core.sql.dao; +package cn.bootx.platform.baseapi.core.dataresult.dao; -import cn.bootx.platform.baseapi.core.sql.entity.QuerySql; +import cn.bootx.platform.baseapi.core.dataresult.entity.QuerySql; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/SqlQueryMapper.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/SqlQueryMapper.java new file mode 100644 index 00000000..01c0cf3a --- /dev/null +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/SqlQueryMapper.java @@ -0,0 +1,18 @@ +package cn.bootx.platform.baseapi.core.dataresult.dao; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 查询语句 + * @author xxm + * @since 2023/8/29 + */ +@Mapper +public interface SqlQueryMapper { + + List> query(@Param("sql") String sql); +} diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/entity/QuerySql.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/QuerySql.java similarity index 87% rename from bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/entity/QuerySql.java rename to bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/QuerySql.java index 55ca5930..f86f8d9e 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/entity/QuerySql.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/QuerySql.java @@ -1,7 +1,7 @@ -package cn.bootx.platform.baseapi.core.sql.entity; +package cn.bootx.platform.baseapi.core.dataresult.entity; -import cn.bootx.platform.baseapi.core.sql.convert.QuerySqlConvert; -import cn.bootx.platform.baseapi.dto.sql.QuerySqlDto; +import cn.bootx.platform.baseapi.core.dataresult.convert.QuerySqlConvert; +import cn.bootx.platform.baseapi.dto.dataresult.QuerySqlDto; import cn.bootx.platform.common.core.annotation.BigField; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/entity/SqlField.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/SqlField.java similarity index 81% rename from bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/entity/SqlField.java rename to bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/SqlField.java index 4a8a757e..02d153d2 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/entity/SqlField.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/SqlField.java @@ -1,4 +1,4 @@ -package cn.bootx.platform.baseapi.core.sql.entity; +package cn.bootx.platform.baseapi.core.dataresult.entity; import lombok.Getter; import lombok.Setter; diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/entity/SqlParam.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/SqlParam.java similarity index 84% rename from bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/entity/SqlParam.java rename to bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/SqlParam.java index acead8da..06dd526e 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/entity/SqlParam.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/SqlParam.java @@ -1,4 +1,4 @@ -package cn.bootx.platform.baseapi.core.sql.entity; +package cn.bootx.platform.baseapi.core.dataresult.entity; import cn.bootx.platform.baseapi.code.QuerySqlCode; import lombok.Getter; diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/service/QuerySqlService.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/service/QuerySqlService.java similarity index 95% rename from bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/service/QuerySqlService.java rename to bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/service/QuerySqlService.java index 8766c897..a644fba2 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/sql/service/QuerySqlService.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/service/QuerySqlService.java @@ -1,12 +1,11 @@ -package cn.bootx.platform.baseapi.core.sql.service; +package cn.bootx.platform.baseapi.core.dataresult.service; import cn.bootx.platform.baseapi.code.QuerySqlCode; +import cn.bootx.platform.baseapi.core.dataresult.entity.QuerySql; +import cn.bootx.platform.baseapi.core.dataresult.entity.SqlParam; import cn.bootx.platform.baseapi.core.dynamicsource.dao.DynamicDataSourceManager; import cn.bootx.platform.baseapi.core.dynamicsource.entity.DynamicDataSource; import cn.bootx.platform.baseapi.core.dynamicsource.service.DynamicDataSourceService; -import cn.bootx.platform.baseapi.core.sql.dao.QuerySqlManager; -import cn.bootx.platform.baseapi.core.sql.entity.QuerySql; -import cn.bootx.platform.baseapi.core.sql.entity.SqlParam; import cn.bootx.platform.baseapi.param.sql.QueryFieldParam; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.function.CollectorsFunction; @@ -45,8 +44,6 @@ public class QuerySqlService { private final DynamicDataSourceManager dynamicDataSourceManager; - private final QuerySqlManager querySqlManager; - private final DynamicDataSourceService dynamicDataSourceService; /** diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/service/SqlQueryService.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/service/SqlQueryService.java new file mode 100644 index 00000000..ab8ce20a --- /dev/null +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/service/SqlQueryService.java @@ -0,0 +1,21 @@ +package cn.bootx.platform.baseapi.core.dataresult.service; + +import cn.bootx.platform.baseapi.dto.dataresult.SqlQueryResult; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * SQL查询 + * @author xxm + * @since 2023/8/29 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class SqlQueryService { + + public SqlQueryResult query(String sql){ +return null; + } +} diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/sql/QuerySqlDto.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/dataresult/QuerySqlDto.java similarity index 83% rename from bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/sql/QuerySqlDto.java rename to bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/dataresult/QuerySqlDto.java index 97f2a164..5d6bda0e 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/sql/QuerySqlDto.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/dataresult/QuerySqlDto.java @@ -1,7 +1,7 @@ -package cn.bootx.platform.baseapi.dto.sql; +package cn.bootx.platform.baseapi.dto.dataresult; -import cn.bootx.platform.baseapi.core.sql.entity.SqlField; -import cn.bootx.platform.baseapi.core.sql.entity.SqlParam; +import cn.bootx.platform.baseapi.core.dataresult.entity.SqlField; +import cn.bootx.platform.baseapi.core.dataresult.entity.SqlParam; import cn.bootx.platform.common.core.rest.dto.BaseDto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/dataresult/SqlQueryResult.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/dataresult/SqlQueryResult.java new file mode 100644 index 00000000..68f234e0 --- /dev/null +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/dataresult/SqlQueryResult.java @@ -0,0 +1,26 @@ +package cn.bootx.platform.baseapi.dto.dataresult; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * SQL查询结果 + * @author xxm + * @date 2023/4/11 + */ +@Data +@Accessors(chain = true) +@Schema(title = "SQL查询结果") +public class SqlQueryResult { + + @Schema(description = "字段列表") + private List fields = new ArrayList<>(); + + @Schema(description = "查询内容") + private List> data = new ArrayList<>();; +} diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/sql/QuerySqlParam.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/sql/QuerySqlParam.java index b0d620d3..deded961 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/sql/QuerySqlParam.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/sql/QuerySqlParam.java @@ -1,7 +1,7 @@ package cn.bootx.platform.baseapi.param.sql; -import cn.bootx.platform.baseapi.core.sql.entity.SqlField; -import cn.bootx.platform.baseapi.core.sql.entity.SqlParam; +import cn.bootx.platform.baseapi.core.dataresult.entity.SqlField; +import cn.bootx.platform.baseapi.core.dataresult.entity.SqlParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; -- Gitee From 2946fb3f1c2d08aaa6deb1a0653325af084c2a1c Mon Sep 17 00:00:00 2001 From: xxm1995 Date: Sat, 2 Sep 2023 16:07:11 +0800 Subject: [PATCH 04/26] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E8=AF=AD=E5=8F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/dataresult/dao/SqlQueryMapper.java | 11 ++++++-- .../dataresult/service/SqlQueryService.java | 27 ++++++++++++++++++- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/SqlQueryMapper.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/SqlQueryMapper.java index 01c0cf3a..72305208 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/SqlQueryMapper.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/SqlQueryMapper.java @@ -1,9 +1,10 @@ package cn.bootx.platform.baseapi.core.dataresult.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; -import java.util.List; import java.util.Map; /** @@ -14,5 +15,11 @@ import java.util.Map; @Mapper public interface SqlQueryMapper { - List> query(@Param("sql") String sql); + /** + * 查询 + * @param page 分页 + * @param sql 查询语句 + */ + @Select("${sql}") + Page> query(Page page, @Param("sql") String sql); } diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/service/SqlQueryService.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/service/SqlQueryService.java index ab8ce20a..cac5d76b 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/service/SqlQueryService.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/service/SqlQueryService.java @@ -1,10 +1,17 @@ package cn.bootx.platform.baseapi.core.dataresult.service; +import cn.bootx.platform.baseapi.core.dataresult.dao.SqlQueryMapper; import cn.bootx.platform.baseapi.dto.dataresult.SqlQueryResult; +import cn.bootx.platform.common.core.util.CollUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + /** * SQL查询 * @author xxm @@ -15,7 +22,25 @@ import org.springframework.stereotype.Service; @RequiredArgsConstructor public class SqlQueryService { + private final SqlQueryMapper SqlQueryMapper; + + /** + * 查询 + * @param sql + * @return + */ public SqlQueryResult query(String sql){ -return null; + Page page = new Page<>(); + page.setSearchCount(false) + .setSize(500); + List> records = SqlQueryMapper.query(page, sql) + .getRecords(); + SqlQueryResult sqlQueryResult = new SqlQueryResult(); + if (CollUtil.isNotEmpty(records)){ + Map objectMap = records.get(0); + sqlQueryResult.setData(records) + .setFields(new ArrayList<>(objectMap.keySet())); + } + return sqlQueryResult; } } -- Gitee From 6366e6da92ec3569ddfb47d6989f859ca81cb301 Mon Sep 17 00:00:00 2001 From: xxm1995 Date: Wed, 6 Sep 2023 16:37:16 +0800 Subject: [PATCH 05/26] =?UTF-8?q?build=20sql=E8=AF=AD=E5=8F=A5=E7=BC=BA?= =?UTF-8?q?=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...release.sql => V1.3.4_230906__release.sql} | 108 +++++++++++++----- 1 file changed, 78 insertions(+), 30 deletions(-) rename bootx-start/src/main/resources/db/migration/{V1.3.3_230808__release.sql => V1.3.4_230906__release.sql} (98%) diff --git a/bootx-start/src/main/resources/db/migration/V1.3.3_230808__release.sql b/bootx-start/src/main/resources/db/migration/V1.3.4_230906__release.sql similarity index 98% rename from bootx-start/src/main/resources/db/migration/V1.3.3_230808__release.sql rename to bootx-start/src/main/resources/db/migration/V1.3.4_230906__release.sql index 73508a3a..a165f540 100644 --- a/bootx-start/src/main/resources/db/migration/V1.3.3_230808__release.sql +++ b/bootx-start/src/main/resources/db/migration/V1.3.4_230906__release.sql @@ -6,7 +6,7 @@ Target Server Type : MySQL File Encoding : 65001 - Date: 08/08/2023 15:09:13 + Date: 27/08/2023 13:46:57 */ SET NAMES utf8mb4; @@ -3012,6 +3012,29 @@ INSERT INTO `base_area` VALUES ('659009', '昆玉市', '6590'); INSERT INTO `base_area` VALUES ('659010', '胡杨河市', '6590'); INSERT INTO `base_area` VALUES ('659011', '新星市', '6590'); +-- ---------------------------- +-- Table structure for base_china_word +-- ---------------------------- +DROP TABLE IF EXISTS `base_china_word`; +CREATE TABLE `base_china_word` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `word` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '敏感词', + `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '分类', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '描述', + `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `white` bit(1) NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '敏感词' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of base_china_word +-- ---------------------------- + -- ---------------------------- -- Table structure for base_city -- ---------------------------- @@ -3407,7 +3430,9 @@ INSERT INTO `base_dict` VALUES (1561003021674987520, 'SiteMessageReceive', '消 INSERT INTO `base_dict` VALUES (1561003189111603200, 'SiteMessageState', '消息发布状态', b'1', '站内信', '站内信消息发布状态', 1399985191002447872, '2022-08-20 22:52:17', 1399985191002447872, '2022-08-20 22:52:17', 0, 0); INSERT INTO `base_dict` VALUES (1589527951317389312, 'DataScopePerm', '数据范围权限', b'1', '系统属性', '数据范围权限', 1414143554414059520, '2022-11-07 15:59:30', 1399985191002447872, '2022-12-09 22:09:25', 0, 3); INSERT INTO `base_dict` VALUES (1633393287952257024, 'DatabaseType', '数据库类型', b'1', '开发', '数据库类型', 1414143554414059520, '2023-03-08 17:04:41', 1414143554414059520, '2023-03-08 17:04:41', 0, 0); -INSERT INTO `base_dict` VALUES (1688742690398617600, 'smsChannel', '短信渠道商', b'1', '消息服务', '短信渠道商', 1414143554414059520, '2023-08-08 10:43:27', 1414143554414059520, '2023-08-08 10:43:27', 0, 0); +INSERT INTO `base_dict` VALUES (1688742690398617600, 'SmsChannel', '短信渠道商', b'1', '消息服务', '短信渠道商', 1414143554414059520, '2023-08-08 10:43:27', 1414143554414059520, '2023-08-12 20:24:03', 0, 1); +INSERT INTO `base_dict` VALUES (1690338321769918464, 'GeneralTemplateUseType', '通用模板类型', b'1', '系统属性', '通用模板类型', 1414143554414059520, '2023-08-12 20:23:56', 1414143554414059520, '2023-08-12 20:24:22', 0, 1); +INSERT INTO `base_dict` VALUES (1690338545284378624, 'GeneralTemplateState', '通用模板状态', b'1', '系统属性', '通用模板状态', 1414143554414059520, '2023-08-12 20:24:49', 1414143554414059520, '2023-08-12 20:24:49', 0, 0); -- ---------------------------- -- Table structure for base_dict_item @@ -3495,16 +3520,20 @@ INSERT INTO `base_dict_item` VALUES (1589528423956729856, 1589527951317389312, ' INSERT INTO `base_dict_item` VALUES (1633403429028536320, 1633393287952257024, 'DatabaseType', 'mysql', 'MySQL', b'1', 1.00, '', 1414143554414059520, '2023-03-08 17:44:59', 1414143554414059520, '2023-03-08 17:44:59', 0, 0); INSERT INTO `base_dict_item` VALUES (1633403459470794752, 1633393287952257024, 'DatabaseType', 'oracle', 'Oracle', b'1', 2.00, '', 1414143554414059520, '2023-03-08 17:45:07', 1414143554414059520, '2023-03-08 17:45:07', 0, 0); INSERT INTO `base_dict_item` VALUES (1633403498695925760, 1633393287952257024, 'DatabaseType', 'mssql', 'SQLServer', b'1', 3.00, '', 1414143554414059520, '2023-03-08 17:45:16', 1414143554414059520, '2023-03-08 17:45:16', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742732891111424, 1688742690398617600, 'smsChannel', 'alibaba', '阿里云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:43:38', 1414143554414059520, '2023-08-08 10:43:38', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742768479780864, 1688742690398617600, 'smsChannel', 'huawei', '华为云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:43:46', 1414143554414059520, '2023-08-08 10:43:46', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742808027873280, 1688742690398617600, 'smsChannel', 'yunpian', '云片', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:43:55', 1414143554414059520, '2023-08-08 10:43:56', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742840626003968, 1688742690398617600, 'smsChannel', 'tencent', '腾讯云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:03', 1414143554414059520, '2023-08-08 10:44:03', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742872506908672, 1688742690398617600, 'smsChannel', 'uni_sms', '合一短信', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:11', 1414143554414059520, '2023-08-08 10:44:11', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742905553829888, 1688742690398617600, 'smsChannel', 'jd_cloud', '京东云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:19', 1414143554414059520, '2023-08-08 10:44:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742954715267072, 1688742690398617600, 'smsChannel', 'cloopen', '容联云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:30', 1414143554414059520, '2023-08-08 10:44:30', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742990446542848, 1688742690398617600, 'smsChannel', 'emay', '亿美软通', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:39', 1414143554414059520, '2023-08-08 10:44:39', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688743032297308160, 1688742690398617600, 'smsChannel', 'ctyun', '天翼云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:49', 1414143554414059520, '2023-08-08 10:44:49', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688743065205817344, 1688742690398617600, 'smsChannel', 'netease', '网易云信', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:57', 1414143554414059520, '2023-08-08 10:44:57', 0, 0); +INSERT INTO `base_dict_item` VALUES (1688742732891111424, 1688742690398617600, 'SmsChannel', 'alibaba', '阿里云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:43:38', 1414143554414059520, '2023-08-08 10:43:38', 0, 0); +INSERT INTO `base_dict_item` VALUES (1688742768479780864, 1688742690398617600, 'SmsChannel', 'huawei', '华为云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:43:46', 1414143554414059520, '2023-08-08 10:43:46', 0, 0); +INSERT INTO `base_dict_item` VALUES (1688742808027873280, 1688742690398617600, 'SmsChannel', 'yunpian', '云片', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:43:55', 1414143554414059520, '2023-08-08 10:43:56', 0, 0); +INSERT INTO `base_dict_item` VALUES (1688742840626003968, 1688742690398617600, 'SmsChannel', 'tencent', '腾讯云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:03', 1414143554414059520, '2023-08-08 10:44:03', 0, 0); +INSERT INTO `base_dict_item` VALUES (1688742872506908672, 1688742690398617600, 'SmsChannel', 'uni_sms', '合一短信', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:11', 1414143554414059520, '2023-08-08 10:44:11', 0, 0); +INSERT INTO `base_dict_item` VALUES (1688742905553829888, 1688742690398617600, 'SmsChannel', 'jd_cloud', '京东云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:19', 1414143554414059520, '2023-08-08 10:44:19', 0, 0); +INSERT INTO `base_dict_item` VALUES (1688742954715267072, 1688742690398617600, 'SmsChannel', 'cloopen', '容联云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:30', 1414143554414059520, '2023-08-08 10:44:30', 0, 0); +INSERT INTO `base_dict_item` VALUES (1688742990446542848, 1688742690398617600, 'SmsChannel', 'emay', '亿美软通', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:39', 1414143554414059520, '2023-08-08 10:44:39', 0, 0); +INSERT INTO `base_dict_item` VALUES (1688743032297308160, 1688742690398617600, 'SmsChannel', 'ctyun', '天翼云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:49', 1414143554414059520, '2023-08-08 10:44:49', 0, 0); +INSERT INTO `base_dict_item` VALUES (1688743065205817344, 1688742690398617600, 'SmsChannel', 'netease', '网易云信', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:57', 1414143554414059520, '2023-08-08 10:44:57', 0, 0); +INSERT INTO `base_dict_item` VALUES (1690338619024437248, 1690338321769918464, 'GeneralTemplateUseType', 'import', '导入', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:06', 1414143554414059520, '2023-08-12 20:25:06', 0, 0); +INSERT INTO `base_dict_item` VALUES (1690338653442895872, 1690338321769918464, 'GeneralTemplateUseType', 'export', '导出', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:15', 1414143554414059520, '2023-08-12 20:25:15', 0, 0); +INSERT INTO `base_dict_item` VALUES (1690338707129987072, 1690338545284378624, 'GeneralTemplateState', 'enable', '启用', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:27', 1414143554414059520, '2023-08-12 20:25:27', 0, 0); +INSERT INTO `base_dict_item` VALUES (1690338748032839680, 1690338545284378624, 'GeneralTemplateState', 'disable', '停用', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:37', 1414143554414059520, '2023-08-12 20:25:37', 0, 0); -- ---------------------------- -- Table structure for base_dynamic_data_source @@ -3560,6 +3589,33 @@ CREATE TABLE `base_dynamic_form` ( INSERT INTO `base_dynamic_form` VALUES (1552656018381422592, '测试表单', 'test', '{\"list\":[{\"type\":\"input\",\"label\":\"输入框\",\"options\":{\"type\":\"text\",\"width\":\"100%\",\"defaultValue\":\"\",\"placeholder\":\"请输入\",\"clearable\":true,\"maxLength\":null,\"addonBefore\":\"\",\"addonAfter\":\"\",\"hidden\":false,\"disabled\":false},\"model\":\"aa\",\"key\":\"input_1659059676533\",\"help\":\"测试\",\"rules\":[{\"required\":true,\"message\":\"必填项\"}]},{\"type\":\"textarea\",\"label\":\"文本框\",\"options\":{\"width\":\"100%\",\"minRows\":4,\"maxRows\":6,\"maxLength\":null,\"defaultValue\":\"\",\"clearable\":true,\"hidden\":false,\"disabled\":false,\"placeholder\":\"请输入\"},\"model\":\"bb\",\"key\":\"textarea_1659020414125\",\"help\":\"\",\"rules\":[{\"required\":true,\"message\":\"必填项\"}]},{\"type\":\"slider\",\"label\":\"滑动输入条\",\"options\":{\"width\":\"100%\",\"defaultValue\":34,\"disabled\":false,\"hidden\":false,\"min\":0,\"max\":100,\"step\":1,\"showInput\":false},\"model\":\"cc\",\"key\":\"slider_1659020433092\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]}],\"config\":{\"layout\":\"horizontal\",\"labelCol\":{\"xs\":4,\"sm\":4,\"md\":4,\"lg\":4,\"xl\":4,\"xxl\":4},\"labelWidth\":100,\"labelLayout\":\"flex\",\"wrapperCol\":{\"xs\":18,\"sm\":18,\"md\":18,\"lg\":18,\"xl\":18,\"xxl\":18},\"hideRequiredMark\":false,\"customStyle\":\"\"}}', '测试动态表单', 1399985191002447872, '2022-07-28 22:03:36', 1399985191002447872, '2022-07-29 09:55:22', 0, 7); INSERT INTO `base_dynamic_form` VALUES (1552656018381422593, '测试表单1', 'test1', '{\"list\":[{\"type\":\"input\",\"label\":\"申请人\",\"options\":{\"type\":\"text\",\"width\":\"100%\",\"defaultValue\":\"\",\"placeholder\":\"请输入\",\"clearable\":true,\"maxLength\":null,\"addonBefore\":\"\",\"addonAfter\":\"\",\"hidden\":false,\"disabled\":false},\"model\":\"apply_by\",\"key\":\"input_1659059676533\",\"help\":\"测试\",\"rules\":[{\"required\":true,\"message\":\"必填项\"}]},{\"type\":\"input\",\"label\":\"请假天数\",\"options\":{\"type\":\"text\",\"width\":\"100%\",\"defaultValue\":\"\",\"placeholder\":\"请输入\",\"clearable\":false,\"maxLength\":null,\"addonBefore\":\"\",\"addonAfter\":\"\",\"hidden\":false,\"disabled\":false},\"model\":\"leave_days\",\"key\":\"input_1662106166142\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]},{\"type\":\"textarea\",\"label\":\"备注\",\"options\":{\"width\":\"100%\",\"minRows\":4,\"maxRows\":6,\"maxLength\":null,\"defaultValue\":\"\",\"clearable\":true,\"hidden\":false,\"disabled\":false,\"placeholder\":\"请输入\"},\"model\":\"remark\",\"key\":\"textarea_1659020414125\",\"help\":\"\",\"rules\":[{\"required\":true,\"message\":\"必填项\"}]},{\"type\":\"switch\",\"label\":\"开关\",\"options\":{\"defaultValue\":false,\"hidden\":false,\"disabled\":false},\"model\":\"switch_1662108221389\",\"key\":\"switch_1662108221389\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]},{\"type\":\"slider\",\"label\":\"滑动输入条\",\"options\":{\"width\":\"100%\",\"defaultValue\":34,\"disabled\":false,\"hidden\":false,\"min\":0,\"max\":100,\"step\":1,\"showInput\":false},\"model\":\"cc\",\"key\":\"slider_1659020433092\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]},{\"type\":\"table\",\"label\":\"表格布局\",\"trs\":[{\"tds\":[{\"colspan\":1,\"rowspan\":1,\"list\":[]},{\"colspan\":1,\"rowspan\":1,\"list\":[]}]},{\"tds\":[{\"colspan\":1,\"rowspan\":1,\"list\":[{\"type\":\"editor\",\"label\":\"富文本\",\"icon\":\"icon-LC_icon_edit_line_1\",\"list\":[],\"options\":{\"height\":300,\"placeholder\":\"请输入\",\"defaultValue\":\"\",\"chinesization\":true,\"hidden\":false,\"disabled\":false,\"showLabel\":false,\"width\":\"100%\"},\"model\":\"editor_1662106288134\",\"key\":\"editor_1662106288134\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]}]},{\"colspan\":1,\"rowspan\":1,\"list\":[]}]}],\"options\":{\"width\":\"100%\",\"bordered\":true,\"bright\":false,\"small\":true,\"customStyle\":\"\"},\"key\":\"table_1662106283652\"}],\"config\":{\"layout\":\"vertical\",\"labelCol\":{\"xs\":6,\"sm\":6,\"md\":6,\"lg\":6,\"xl\":6,\"xxl\":6},\"labelWidth\":100,\"labelLayout\":\"Grid\",\"wrapperCol\":{\"xs\":18,\"sm\":18,\"md\":18,\"lg\":18,\"xl\":18,\"xxl\":18},\"hideRequiredMark\":false,\"customStyle\":\"\"}}', '测试动态表单', 1399985191002447872, '2022-07-28 22:03:36', 1414143554414059520, '2022-09-02 16:44:01', 0, 12); +-- ---------------------------- +-- Table structure for base_general_template +-- ---------------------------- +DROP TABLE IF EXISTS `base_general_template`; +CREATE TABLE `base_general_template` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板名称', + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板代码', + `use_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '使用类型(导入/导出)', + `file_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板类型', + `file_suffix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板后缀名', + `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '状态', + `file_id` bigint(20) NULL DEFAULT NULL COMMENT '文件ID', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '通用模板管理' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of base_general_template +-- ---------------------------- + -- ---------------------------- -- Table structure for base_key_value -- ---------------------------- @@ -3607,11 +3663,10 @@ CREATE TABLE `base_param` ( -- Records of base_param -- ---------------------------- INSERT INTO `base_param` VALUES (1452842684284891136, '测试', 'test.v1', '123', 1, b'1', b'0', NULL, 1399985191002447872, '2021-10-26 11:41:03', 1399985191002447872, '2021-10-26 11:41:03', 0, 0); -INSERT INTO `base_param` VALUES (1500338438182789120, '结算台聚合支付请求地址', 'CashierAggregateUrl', 'http://127.0.0.1/api/', 1, b'1', b'1', '', 1399985191002447872, '2022-03-06 13:12:13', 1399985191002447872, '2022-05-01 15:03:03', 0, 3); INSERT INTO `base_param` VALUES (1520668030248361984, '文件服务器地址', 'FileServerUrl', 'http://127.0.0.1:9999', 1, b'1', b'1', '', 1399985191002447872, '2022-05-01 15:34:46', 1399985191002447872, '2022-05-19 12:53:21', 0, 5); INSERT INTO `base_param` VALUES (1529281530059161600, 'websocket服务器地址', 'WebsocketServerUrl', 'ws://127.0.0.1:9999', 1, b'1', b'1', '', 1399985191002447872, '2022-05-25 10:01:44', 1399985191002447872, '2022-05-25 10:01:44', 0, 0); INSERT INTO `base_param` VALUES (1545765299880448000, '服务器地址', 'ServerUrl', 'http://127.0.0.1:9999', 1, b'1', b'1', '优先级高于配置文件内进行的配置', 1399985191002447872, '2022-07-09 21:42:21', 1414143554414059520, '2023-08-05 16:40:05', 0, 1); -INSERT INTO `base_param` VALUES (1547511252795912192, '微信jsapi支付回调服务地址', 'JsapiRedirectUrl', 'http://127.0.0.1/api/', 1, b'1', b'1', '', 1414143554414059520, '2022-07-14 17:20:09', 1414143554414059520, '2022-07-14 17:20:09', 0, 0); +INSERT INTO `base_param` VALUES (1547511252795912192, '微信jsapi支付回调服务地址', 'JsapiRedirectUrl', 'http://127.0.0.1/api/', 1, b'1', b'1', '用于微信扫码登录使用', 1414143554414059520, '2022-07-14 17:20:09', 1414143554414059520, '2023-08-18 15:49:21', 0, 1); -- ---------------------------- -- Table structure for base_province @@ -3863,7 +3918,7 @@ CREATE TABLE `iam_client` ( `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL DEFAULT 0 COMMENT '删除标志', + `deleted` bit(1) NOT NULL COMMENT '删除标志', `default_endow` bit(1) NULL DEFAULT NULL COMMENT '新注册的用户是否默认赋予该终端', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '认证终端' ROW_FORMAT = DYNAMIC; @@ -4145,7 +4200,7 @@ INSERT INTO `iam_perm_menu` VALUES (1582302180999917568, 'adminv3', 158224992460 INSERT INTO `iam_perm_menu` VALUES (1582302542955769856, 'adminv3', 1582253011803262976, '用户管理', 'UserList', NULL, b'0', '', b'0', b'0', '/modules/system/user/UserList.vue', NULL, '/system/user/info', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:28:19', 1414143554414059520, '2022-10-18 17:28:19', 0, 0); INSERT INTO `iam_perm_menu` VALUES (1582302764129808384, 'adminv3', 1582253011803262976, '部门管理', 'DeptList', NULL, b'0', '', b'0', b'0', '/modules/system/dept/DeptList.vue', NULL, '/system/user/dept', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:29:11', 1414143554414059520, '2022-10-18 17:32:26', 1, 0); INSERT INTO `iam_perm_menu` VALUES (1582303143110340608, 'adminv3', 1582253152903843840, '数据字典', 'DictList', NULL, b'0', '', b'0', b'0', '/modules/system/dict/DictList.vue', NULL, '/system/config/dict', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:30:42', 1414143554414059520, '2022-10-18 17:30:42', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582303290070364160, 'adminv3', 1582253152903843840, '定时任务', 'QuartzJobList', NULL, b'0', '', b'0', b'0', '/modules/system/quartz/QuartzJobList.vue', NULL, '/system/config/quartz', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:17', 1414143554414059520, '2022-10-18 17:32:12', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582303290070364160, 'adminv3', 1582253152903843840, '定时任务', 'QuartzJobList', NULL, b'0', '', b'0', b'0', '/modules/baseapi/quartz/QuartzJobList.vue', NULL, '/system/config/quartz', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:17', 1414143554414059520, '2023-08-09 15:50:46', 2, 0); INSERT INTO `iam_perm_menu` VALUES (1582303447428067328, 'adminv3', 1582253152903843840, '系统参数', 'SystemParamList', NULL, b'0', '', b'0', b'0', '/modules/system/param/SystemParamList.vue', NULL, '/system/config/param', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:54', 1414143554414059520, '2022-10-19 23:14:16', 1, 0); INSERT INTO `iam_perm_menu` VALUES (1582632873244172288, 'adminv3', 1582276341792985088, '文件管理', 'FileUploadList', NULL, b'0', '', b'0', b'0', '/modules/develop/file/FileUploadList.vue', NULL, '/develop/file', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:20:56', 1414143554414059520, '2022-10-19 15:20:56', 0, 0); INSERT INTO `iam_perm_menu` VALUES (1582633196587261952, 'adminv3', 1582276341792985088, '代码生成', 'CodeGenList', NULL, b'0', '', b'0', b'0', '/modules/develop/codegen/CodeGenList.vue', NULL, '/develop/codegen', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:13', 1414143554414059520, '2022-10-19 15:23:17', 1, 0); @@ -4156,7 +4211,7 @@ INSERT INTO `iam_perm_menu` VALUES (1583075229563068416, 'adminv3', 158227587542 INSERT INTO `iam_perm_menu` VALUES (1583076217481043968, 'adminv3', 1583075229563068416, '登录日志', 'LoginLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/login/LoginLogList.vue', NULL, '/monitor/log/login', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:42:37', 1414143554414059520, '2022-10-20 20:43:36', 1, 0); INSERT INTO `iam_perm_menu` VALUES (1583076424935514112, 'adminv3', 1583075229563068416, '操作日志', 'OperateLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/operate/OperateLogList.vue', NULL, '/monitor/log/operate', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:43:26', 1414143554414059520, '2022-10-20 20:43:26', 0, 0); INSERT INTO `iam_perm_menu` VALUES (1583076670881112064, 'adminv3', 1583075229563068416, '数据版本日志', 'DataVersionLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/data/DataVersionLogList.vue', NULL, '/monitor/log/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:44:25', 1414143554414059520, '2022-10-20 20:44:25', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076878956339200, 'adminv3', 1582275875424129024, 'ELK日志', 'ELK', NULL, b'0', '', b'0', b'0', '', NULL, 'http://elk.dev.bootx.cn:5601/app/discover', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:15', 1414143554414059520, '2022-11-21 15:04:13', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1583076878956339200, 'adminv3', 1582275875424129024, 'ELK日志', 'ELK', NULL, b'0', '', b'1', b'0', '', NULL, 'http://elk.dev.bootx.cn:5601/app/discover', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:15', 1414143554414059520, '2023-08-12 19:26:12', 3, 0); INSERT INTO `iam_perm_menu` VALUES (1583077015434797056, 'adminv3', 1582275875424129024, 'PlumeLog日志', 'PlumeLog', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/plumelog/#/', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:47', 1414143554414059520, '2022-10-20 20:45:47', 0, 0); INSERT INTO `iam_perm_menu` VALUES (1583077198772019200, 'adminv3', 1582275875424129024, '系统信息', 'SystemInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/system/SystemInfoMonitor.vue', NULL, '/monitor/sysinfo', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:46:31', 1414143554414059520, '2022-10-20 20:46:31', 0, 0); INSERT INTO `iam_perm_menu` VALUES (1583077360827342848, 'adminv3', 1582275875424129024, 'Redis监控', 'RedisInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/redis/RedisInfoMonitor.vue', NULL, '/monitor/redis', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:47:10', 1414143554414059520, '2022-10-20 20:47:10', 0, 0); @@ -4193,6 +4248,8 @@ INSERT INTO `iam_perm_menu` VALUES (1635274568758435840, 'adminv3', 158227634179 INSERT INTO `iam_perm_menu` VALUES (1687369862646558720, 'adminv3', 1582275984849326080, '短信管理', 'Sms', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/notice/sms', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:48:20', 1414143554414059520, '2023-08-04 15:48:32', 1, 0); INSERT INTO `iam_perm_menu` VALUES (1687370142234669056, 'adminv3', 1687369862646558720, '短信配置', 'SmsChannelConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/config/SmsChannelConfigList', NULL, '/notice/sms/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:26', 1414143554414059520, '2023-08-04 15:49:26', 0, 0); INSERT INTO `iam_perm_menu` VALUES (1687370277496778752, 'adminv3', 1687369862646558720, '短信模板', 'SmsTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/template/SmsTemplateList', NULL, '/notice/sms/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:59', 1414143554414059520, '2023-08-04 15:50:38', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1689181991598997504, 'adminv3', 1582253152903843840, '敏感词管理', 'ChinaWord', NULL, b'0', '', b'0', b'0', '/modules/baseapi/chianword/ChinaWordList.vue', NULL, '/system/config/chinaword', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-09 15:49:05', 1414143554414059520, '2023-08-09 15:49:05', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1690324070514782208, 'adminv3', 1582276341792985088, '通用模板', 'GeneralTemplateList', NULL, b'0', '', b'0', b'0', '/modules/develop/template/GeneralTemplateList', NULL, '/develop/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-12 19:27:18', 1414143554414059520, '2023-08-12 19:31:26', 3, 0); -- ---------------------------- -- Table structure for iam_perm_path @@ -4345,8 +4402,8 @@ CREATE TABLE `iam_user_expand_info` ( -- ---------------------------- -- Records of iam_user_expand_info -- ---------------------------- -INSERT INTO `iam_user_expand_info` VALUES (1399985191002447872, 1, '1996-12-01', '1495331905770315776', '2022-10-29 08:44:52', '2022-11-02 09:59:06', b'0', '2022-06-19 21:25:00', 1, '2021-06-02 15:04:15', 0, '2022-11-02 09:59:06', 367, 0); -INSERT INTO `iam_user_expand_info` VALUES (1414143554414059520, 1, '2022-10-31', '1586953599627546624', '2022-11-02 21:32:23', '2022-11-02 21:33:21', b'0', NULL, 1, '2021-07-11 16:44:32', 0, '2022-11-02 21:33:21', 62, 0); +INSERT INTO `iam_user_expand_info` VALUES (1399985191002447872, 1, '1996-12-01', '1495331905770315776', '2022-11-02 09:59:06', '2023-08-21 13:24:32', b'0', '2022-06-19 21:25:00', 1, '2021-06-02 15:04:15', 0, '2023-08-21 13:24:32', 368, 0); +INSERT INTO `iam_user_expand_info` VALUES (1414143554414059520, 1, '2022-10-31', '1586953599627546624', '2023-08-21 13:06:47', '2023-08-21 13:23:26', b'0', NULL, 1, '2021-07-11 16:44:32', 0, '2023-08-21 13:23:26', 66, 0); INSERT INTO `iam_user_expand_info` VALUES (1435894470432456704, 1, NULL, NULL, '2022-09-16 16:48:16', '2022-09-17 17:20:58', b'0', '2022-06-29 00:39:23', 1399985191002447872, '2021-09-09 17:14:54', 0, '2022-09-17 17:20:58', 5, 0); INSERT INTO `iam_user_expand_info` VALUES (1435967884114194432, 1, NULL, NULL, NULL, '2022-05-31 15:59:42', b'0', NULL, 1414143554414059520, '2021-09-09 22:06:37', 0, '2022-05-31 15:59:42', 1, 0); INSERT INTO `iam_user_expand_info` VALUES (1477990832987361280, 1, NULL, NULL, NULL, NULL, b'0', NULL, 1399985191002447872, '2022-01-03 21:10:49', 1399985191002447872, '2022-01-03 21:10:49', 0, 0); @@ -4433,6 +4490,7 @@ CREATE TABLE `iam_user_third` ( -- ---------------------------- -- Records of iam_user_third -- ---------------------------- +INSERT INTO `iam_user_third` VALUES (1693285779222376448, 1414143554414059520, 'oAAyF68eYHdvi3lc_XGGDpzE7EWM', NULL, NULL, NULL, NULL, NULL, NULL, 1414143554414059520, '2023-08-20 23:36:04', 1414143554414059520, '2023-08-20 23:46:17', 1, 0); -- ---------------------------- -- Table structure for iam_user_third_info @@ -4455,10 +4513,6 @@ CREATE TABLE `iam_user_third_info` ( INDEX `pk_user_client`(`user_id`, `client_code`) USING BTREE COMMENT '用户id和终端code' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '用户三方登录绑定详情' ROW_FORMAT = DYNAMIC; --- ---------------------------- --- Records of iam_user_third_info --- ---------------------------- - -- ---------------------------- -- Table structure for notice_mail_config -- ---------------------------- @@ -4797,9 +4851,6 @@ CREATE TABLE `qrtz_locks` ( PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; --- ---------------------------- --- Records of qrtz_locks --- ---------------------------- -- ---------------------------- -- Table structure for qrtz_paused_trigger_grps @@ -5006,9 +5057,6 @@ CREATE TABLE `starter_audit_login_log` ( PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '登陆日志' ROW_FORMAT = DYNAMIC; --- ---------------------------- --- Records of starter_audit_login_log --- ---------------------------- -- ---------------------------- -- Table structure for starter_audit_operate_log @@ -5086,7 +5134,7 @@ DROP TABLE IF EXISTS `starter_file_data`; CREATE TABLE `starter_file_data` ( `id` bigint(20) NOT NULL COMMENT '主键', `base64` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT 'base64方式存储', - `data` longblob NULL COMMENT 'base64方式存储', + `data` longblob NULL COMMENT '数据方式存储', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '上传文件数据' ROW_FORMAT = DYNAMIC; -- Gitee From 8b4b69f46ca955e14024019697cb3d7ff9a0c6fa Mon Sep 17 00:00:00 2001 From: xxm Date: Wed, 13 Sep 2023 21:20:44 +0800 Subject: [PATCH 06/26] =?UTF-8?q?build=20=E9=9B=86=E6=88=90=E6=96=B0?= =?UTF-8?q?=E7=89=88Mybatis-table-modify?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bootx-common-starters/common-starter-file/pom.xml | 2 +- .../bootx/platform/starter/file/entity/JdbcFileData.java | 8 ++++---- bootx-commons/common-mybatis-plus/pom.xml | 2 +- .../platform/common/mybatisplus/base/MpBaseEntity.java | 2 +- .../platform/common/mybatisplus/base/MpCreateEntity.java | 2 +- .../platform/common/mybatisplus/base/MpDelEntity.java | 2 +- .../platform/common/mybatisplus/base/MpIdEntity.java | 2 +- bootx-demo/pom.xml | 8 +------- .../platform/demo/core/mtm/entity/MtmTableEntity.java | 4 ++-- bootx-services/pom.xml | 9 +-------- .../baseapi/core/chinaword/entity/ChinaWord.java | 4 ++-- .../baseapi/core/template/entity/GeneralTemplate.java | 4 ++-- .../cn/bootx/platform/iam/core/client/entity/Client.java | 2 +- .../core/security/login/entity/LoginSecurityConfig.java | 4 ++-- .../core/security/password/entity/PasswordHistory.java | 4 ++-- .../password/entity/PasswordLoginFailRecord.java | 2 +- .../security/password/entity/PasswordSecurityConfig.java | 2 +- .../core/security/platform/PlatformSecurityConfig.java | 2 +- .../miniapp/core/feedback/entity/FeedbackInfo.java | 4 ++-- .../miniapp/core/protocol/entity/UserProtocol.java | 6 +++--- .../notice/core/sms/entity/SmsChannelConfig.java | 8 ++++---- bootx-start/src/main/resources/application-dev.yml | 3 ++- pom.xml | 6 +++--- 23 files changed, 40 insertions(+), 52 deletions(-) diff --git a/bootx-common-starters/common-starter-file/pom.xml b/bootx-common-starters/common-starter-file/pom.xml index a914aabd..54999baa 100644 --- a/bootx-common-starters/common-starter-file/pom.xml +++ b/bootx-common-starters/common-starter-file/pom.xml @@ -27,7 +27,7 @@ cn.bootx - mybatis-table-modify-mysql-boot-starter + table-modify-mysql-boot-starter provided diff --git a/bootx-common-starters/common-starter-file/src/main/java/cn/bootx/platform/starter/file/entity/JdbcFileData.java b/bootx-common-starters/common-starter-file/src/main/java/cn/bootx/platform/starter/file/entity/JdbcFileData.java index 9959008f..3c0acd7d 100644 --- a/bootx-common-starters/common-starter-file/src/main/java/cn/bootx/platform/starter/file/entity/JdbcFileData.java +++ b/bootx-common-starters/common-starter-file/src/main/java/cn/bootx/platform/starter/file/entity/JdbcFileData.java @@ -1,9 +1,9 @@ package cn.bootx.platform.starter.file.entity; -import cn.bootx.mybatis.table.modify.annotation.DbColumn; -import cn.bootx.mybatis.table.modify.annotation.DbTable; -import cn.bootx.mybatis.table.modify.mybatis.mysq.annotation.DbMySqlFieldType; -import cn.bootx.mybatis.table.modify.mybatis.mysq.constants.MySqlFieldTypeEnum; +import cn.bootx.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.annotation.DbTable; +import cn.bootx.table.modify.mybatis.mysq.annotation.DbMySqlFieldType; +import cn.bootx.table.modify.mybatis.mysq.constants.MySqlFieldTypeEnum; import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; diff --git a/bootx-commons/common-mybatis-plus/pom.xml b/bootx-commons/common-mybatis-plus/pom.xml index 36fa6338..58ff0b87 100644 --- a/bootx-commons/common-mybatis-plus/pom.xml +++ b/bootx-commons/common-mybatis-plus/pom.xml @@ -32,7 +32,7 @@ cn.bootx - mybatis-table-modify-mysql-boot-starter + table-modify-mysql-boot-starter provided diff --git a/bootx-commons/common-mybatis-plus/src/main/java/cn/bootx/platform/common/mybatisplus/base/MpBaseEntity.java b/bootx-commons/common-mybatis-plus/src/main/java/cn/bootx/platform/common/mybatisplus/base/MpBaseEntity.java index 46708cbd..d5ce8061 100644 --- a/bootx-commons/common-mybatis-plus/src/main/java/cn/bootx/platform/common/mybatisplus/base/MpBaseEntity.java +++ b/bootx-commons/common-mybatis-plus/src/main/java/cn/bootx/platform/common/mybatisplus/base/MpBaseEntity.java @@ -1,6 +1,6 @@ package cn.bootx.platform.common.mybatisplus.base; -import cn.bootx.mybatis.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.annotation.DbColumn; import com.baomidou.mybatisplus.annotation.TableLogic; import lombok.Getter; import lombok.Setter; diff --git a/bootx-commons/common-mybatis-plus/src/main/java/cn/bootx/platform/common/mybatisplus/base/MpCreateEntity.java b/bootx-commons/common-mybatis-plus/src/main/java/cn/bootx/platform/common/mybatisplus/base/MpCreateEntity.java index fa9a8935..44dba6ea 100644 --- a/bootx-commons/common-mybatis-plus/src/main/java/cn/bootx/platform/common/mybatisplus/base/MpCreateEntity.java +++ b/bootx-commons/common-mybatis-plus/src/main/java/cn/bootx/platform/common/mybatisplus/base/MpCreateEntity.java @@ -1,6 +1,6 @@ package cn.bootx.platform.common.mybatisplus.base; -import cn.bootx.mybatis.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.annotation.DbColumn; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import lombok.Getter; diff --git a/bootx-commons/common-mybatis-plus/src/main/java/cn/bootx/platform/common/mybatisplus/base/MpDelEntity.java b/bootx-commons/common-mybatis-plus/src/main/java/cn/bootx/platform/common/mybatisplus/base/MpDelEntity.java index 3f8f7d1d..acb44fe9 100644 --- a/bootx-commons/common-mybatis-plus/src/main/java/cn/bootx/platform/common/mybatisplus/base/MpDelEntity.java +++ b/bootx-commons/common-mybatis-plus/src/main/java/cn/bootx/platform/common/mybatisplus/base/MpDelEntity.java @@ -1,6 +1,6 @@ package cn.bootx.platform.common.mybatisplus.base; -import cn.bootx.mybatis.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.annotation.DbColumn; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.Version; diff --git a/bootx-commons/common-mybatis-plus/src/main/java/cn/bootx/platform/common/mybatisplus/base/MpIdEntity.java b/bootx-commons/common-mybatis-plus/src/main/java/cn/bootx/platform/common/mybatisplus/base/MpIdEntity.java index c8889509..01855950 100644 --- a/bootx-commons/common-mybatis-plus/src/main/java/cn/bootx/platform/common/mybatisplus/base/MpIdEntity.java +++ b/bootx-commons/common-mybatis-plus/src/main/java/cn/bootx/platform/common/mybatisplus/base/MpIdEntity.java @@ -1,6 +1,6 @@ package cn.bootx.platform.common.mybatisplus.base; -import cn.bootx.mybatis.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.annotation.DbColumn; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import lombok.Getter; diff --git a/bootx-demo/pom.xml b/bootx-demo/pom.xml index 9b7c1ea5..c2866bab 100644 --- a/bootx-demo/pom.xml +++ b/bootx-demo/pom.xml @@ -24,13 +24,7 @@ cn.bootx - mybatis-table-modify-mysql-boot-starter - - - com.baomidou - mybatis-plus-annotation - - + table-modify-mysql-boot-starter org.springframework.boot diff --git a/bootx-demo/src/main/java/cn/bootx/platform/demo/core/mtm/entity/MtmTableEntity.java b/bootx-demo/src/main/java/cn/bootx/platform/demo/core/mtm/entity/MtmTableEntity.java index 63c3df1e..c7ae0123 100644 --- a/bootx-demo/src/main/java/cn/bootx/platform/demo/core/mtm/entity/MtmTableEntity.java +++ b/bootx-demo/src/main/java/cn/bootx/platform/demo/core/mtm/entity/MtmTableEntity.java @@ -1,8 +1,8 @@ package cn.bootx.platform.demo.core.mtm.entity; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.mybatis.table.modify.annotation.DbColumn; -import cn.bootx.mybatis.table.modify.annotation.DbTable; +import cn.bootx.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.annotation.DbTable; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/bootx-services/pom.xml b/bootx-services/pom.xml index cbb442a1..d5293761 100644 --- a/bootx-services/pom.xml +++ b/bootx-services/pom.xml @@ -127,18 +127,11 @@ ${fastjson.version} - - - - - - - cn.bootx - mybatis-table-modify-mysql-boot-starter + table-modify-mysql-boot-starter provided diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/chinaword/entity/ChinaWord.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/chinaword/entity/ChinaWord.java index 5f939c9a..4a354637 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/chinaword/entity/ChinaWord.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/chinaword/entity/ChinaWord.java @@ -1,7 +1,7 @@ package cn.bootx.platform.baseapi.core.chinaword.entity; -import cn.bootx.mybatis.table.modify.annotation.DbColumn; -import cn.bootx.mybatis.table.modify.annotation.DbTable; +import cn.bootx.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.platform.baseapi.core.chinaword.convert.ChinaWordConvert; import cn.bootx.platform.baseapi.dto.chinaword.ChinaWordDto; import cn.bootx.platform.baseapi.param.chinaword.ChinaWordParam; diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/template/entity/GeneralTemplate.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/template/entity/GeneralTemplate.java index 96754c0c..b4a28ee4 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/template/entity/GeneralTemplate.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/template/entity/GeneralTemplate.java @@ -1,7 +1,7 @@ package cn.bootx.platform.baseapi.core.template.entity; -import cn.bootx.mybatis.table.modify.annotation.DbComment; -import cn.bootx.mybatis.table.modify.annotation.DbTable; +import cn.bootx.table.modify.annotation.DbComment; +import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.platform.baseapi.core.template.convert.GeneralTemplateConvert; import cn.bootx.platform.baseapi.dto.template.GeneralTemplateDto; import cn.bootx.platform.baseapi.param.template.GeneralTemplateParam; diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/client/entity/Client.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/client/entity/Client.java index 3f3ba7a7..d45c5291 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/client/entity/Client.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/client/entity/Client.java @@ -1,6 +1,6 @@ package cn.bootx.platform.iam.core.client.entity; -import cn.bootx.mybatis.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.platform.iam.core.client.convert.ClientConvert; diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/entity/LoginSecurityConfig.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/entity/LoginSecurityConfig.java index 46133e35..d6ef5a6c 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/entity/LoginSecurityConfig.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/entity/LoginSecurityConfig.java @@ -1,7 +1,7 @@ package cn.bootx.platform.iam.core.security.login.entity; -import cn.bootx.mybatis.table.modify.annotation.DbColumn; -import cn.bootx.mybatis.table.modify.annotation.DbComment; +import cn.bootx.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.annotation.DbComment; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordHistory.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordHistory.java index 6a85fb65..7c462935 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordHistory.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordHistory.java @@ -1,7 +1,7 @@ package cn.bootx.platform.iam.core.security.password.entity; -import cn.bootx.mybatis.table.modify.annotation.DbComment; -import cn.bootx.mybatis.table.modify.annotation.DbTable; +import cn.bootx.table.modify.annotation.DbComment; +import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordLoginFailRecord.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordLoginFailRecord.java index c2daca58..fdf11f1d 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordLoginFailRecord.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordLoginFailRecord.java @@ -1,6 +1,6 @@ package cn.bootx.platform.iam.core.security.password.entity; -import cn.bootx.mybatis.table.modify.annotation.DbComment; +import cn.bootx.table.modify.annotation.DbComment; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java index f3013833..e2466d15 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java @@ -1,6 +1,6 @@ package cn.bootx.platform.iam.core.security.password.entity; -import cn.bootx.mybatis.table.modify.annotation.DbComment; +import cn.bootx.table.modify.annotation.DbComment; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/platform/PlatformSecurityConfig.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/platform/PlatformSecurityConfig.java index c143bf7f..cd2d6fff 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/platform/PlatformSecurityConfig.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/platform/PlatformSecurityConfig.java @@ -1,6 +1,6 @@ package cn.bootx.platform.iam.core.security.platform; -import cn.bootx.mybatis.table.modify.annotation.DbComment; +import cn.bootx.table.modify.annotation.DbComment; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; diff --git a/bootx-services/service-miniapp/src/main/java/cn/bootx/platform/miniapp/core/feedback/entity/FeedbackInfo.java b/bootx-services/service-miniapp/src/main/java/cn/bootx/platform/miniapp/core/feedback/entity/FeedbackInfo.java index 7d7d2e35..0b4eca60 100644 --- a/bootx-services/service-miniapp/src/main/java/cn/bootx/platform/miniapp/core/feedback/entity/FeedbackInfo.java +++ b/bootx-services/service-miniapp/src/main/java/cn/bootx/platform/miniapp/core/feedback/entity/FeedbackInfo.java @@ -1,7 +1,7 @@ package cn.bootx.platform.miniapp.core.feedback.entity; -import cn.bootx.mybatis.table.modify.annotation.DbComment; -import cn.bootx.mybatis.table.modify.annotation.DbTable; +import cn.bootx.table.modify.annotation.DbComment; +import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.platform.miniapp.core.feedback.convert.FeedbackInfoConvert; diff --git a/bootx-services/service-miniapp/src/main/java/cn/bootx/platform/miniapp/core/protocol/entity/UserProtocol.java b/bootx-services/service-miniapp/src/main/java/cn/bootx/platform/miniapp/core/protocol/entity/UserProtocol.java index 1c502eba..6b542fc4 100644 --- a/bootx-services/service-miniapp/src/main/java/cn/bootx/platform/miniapp/core/protocol/entity/UserProtocol.java +++ b/bootx-services/service-miniapp/src/main/java/cn/bootx/platform/miniapp/core/protocol/entity/UserProtocol.java @@ -1,8 +1,8 @@ package cn.bootx.platform.miniapp.core.protocol.entity; -import cn.bootx.mybatis.table.modify.annotation.DbColumn; -import cn.bootx.mybatis.table.modify.mybatis.mysq.annotation.DbMySqlFieldType; -import cn.bootx.mybatis.table.modify.mybatis.mysq.constants.MySqlFieldTypeEnum; +import cn.bootx.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.mybatis.mysq.annotation.DbMySqlFieldType; +import cn.bootx.table.modify.mybatis.mysq.constants.MySqlFieldTypeEnum; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.platform.miniapp.core.protocol.convert.UserProtocolConvert; diff --git a/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsChannelConfig.java b/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsChannelConfig.java index c6a792e7..30c5297b 100644 --- a/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsChannelConfig.java +++ b/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsChannelConfig.java @@ -1,9 +1,9 @@ package cn.bootx.platform.notice.core.sms.entity; -import cn.bootx.mybatis.table.modify.annotation.DbColumn; -import cn.bootx.mybatis.table.modify.annotation.DbTable; -import cn.bootx.mybatis.table.modify.mybatis.mysq.annotation.DbMySqlFieldType; -import cn.bootx.mybatis.table.modify.mybatis.mysq.constants.MySqlFieldTypeEnum; +import cn.bootx.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.annotation.DbTable; +import cn.bootx.table.modify.mybatis.mysq.annotation.DbMySqlFieldType; +import cn.bootx.table.modify.mybatis.mysq.constants.MySqlFieldTypeEnum; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.platform.notice.core.sms.convert.SmsChannelConfigConvert; diff --git a/bootx-start/src/main/resources/application-dev.yml b/bootx-start/src/main/resources/application-dev.yml index f10cea1a..c5c0127a 100644 --- a/bootx-start/src/main/resources/application-dev.yml +++ b/bootx-start/src/main/resources/application-dev.yml @@ -83,9 +83,10 @@ logging: cn.bootx.**: debug org.springframework.data.mongodb.core: debug # 自动建表配置 -mybatis-table: +table-modify: update-type: update scan-package: cn.bootx.platform + database-type: mysql # Swagger 增强版 knife4j: diff --git a/pom.xml b/pom.xml index 5daedc5c..f044009e 100644 --- a/pom.xml +++ b/pom.xml @@ -119,7 +119,7 @@ 2.2.5 2.7.0 2.2.0 - 1.5.3 + 1.5.4.beta1 @@ -287,8 +287,8 @@ cn.bootx - mybatis-table-modify-mysql-boot-starter - ${mybatis-table-modify.version} + table-modify-mysql-boot-starter + ${table-modify.version} -- Gitee From bca84962910f2e7f4bb7954dcb5de00ecb3a7b54 Mon Sep 17 00:00:00 2001 From: xxm Date: Wed, 13 Sep 2023 21:21:48 +0800 Subject: [PATCH 07/26] =?UTF-8?q?build=20=E9=9B=86=E6=88=90=E6=96=B0?= =?UTF-8?q?=E7=89=88Mybatis-table-modify?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bootx-demo/pom.xml | 1 + pom.xml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/bootx-demo/pom.xml b/bootx-demo/pom.xml index c2866bab..22dbb5c6 100644 --- a/bootx-demo/pom.xml +++ b/bootx-demo/pom.xml @@ -25,6 +25,7 @@ cn.bootx table-modify-mysql-boot-starter + provided org.springframework.boot diff --git a/pom.xml b/pom.xml index f044009e..8b214973 100644 --- a/pom.xml +++ b/pom.xml @@ -284,7 +284,7 @@ common-rabbitmq ${bootx-platform.version} - + cn.bootx table-modify-mysql-boot-starter -- Gitee From 19fb05a40ecc63987f4e34f193569236c7cd17a7 Mon Sep 17 00:00:00 2001 From: xxm1995 Date: Fri, 15 Sep 2023 17:05:07 +0800 Subject: [PATCH 08/26] =?UTF-8?q?style=20=E5=BE=AE=E8=B0=83=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 2 +- .../bootx/platform/starter/file/entity/JdbcFileData.java | 8 +------- .../{PasswordHistory.java => PasswordChangeHistory.java} | 5 ++--- .../miniapp/core/protocol/entity/UserProtocol.java | 6 +++--- .../platform/notice/core/sms/entity/SmsChannelConfig.java | 7 +++---- pom.xml | 2 +- 6 files changed, 11 insertions(+), 19 deletions(-) rename bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/{PasswordHistory.java => PasswordChangeHistory.java} (86%) diff --git a/_doc/Task.md b/_doc/Task.md index a53a0b2b..1020bcbe 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -6,7 +6,7 @@ - 记录密码更改记录 - 审计日志增加定时删除和一键清除超期日志功能 - 文件管理支持配置所属上传类型、是否被使用过、是否登陆后才可以访问 -## 1.3.x、1.4.x +## 1.3.x、1.4.x - 小程序工单功能 - 小程序日报功能 - PostgreSQL 数据库适配 diff --git a/bootx-common-starters/common-starter-file/src/main/java/cn/bootx/platform/starter/file/entity/JdbcFileData.java b/bootx-common-starters/common-starter-file/src/main/java/cn/bootx/platform/starter/file/entity/JdbcFileData.java index 3c0acd7d..7d8daf1e 100644 --- a/bootx-common-starters/common-starter-file/src/main/java/cn/bootx/platform/starter/file/entity/JdbcFileData.java +++ b/bootx-common-starters/common-starter-file/src/main/java/cn/bootx/platform/starter/file/entity/JdbcFileData.java @@ -1,10 +1,7 @@ package cn.bootx.platform.starter.file.entity; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbTable; -import cn.bootx.table.modify.mybatis.mysq.annotation.DbMySqlFieldType; -import cn.bootx.table.modify.mybatis.mysq.constants.MySqlFieldTypeEnum; import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; +import cn.bootx.table.modify.annotation.DbColumn; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -18,17 +15,14 @@ import lombok.experimental.Accessors; @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) -//@DbTable(comment = "上传文件数据") @TableName("starter_file_data") public class JdbcFileData extends MpIdEntity { /** base64方式存储 */ @DbColumn(comment = "base64方式存储") - @DbMySqlFieldType(MySqlFieldTypeEnum.LONGTEXT) private String base64; /** 数据方式存储 */ @DbColumn(comment = "数据方式存储") - @DbMySqlFieldType(MySqlFieldTypeEnum.LONGBLOB) private byte[] data; } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordHistory.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordChangeHistory.java similarity index 86% rename from bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordHistory.java rename to bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordChangeHistory.java index 7c462935..9f4c2257 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordHistory.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordChangeHistory.java @@ -1,8 +1,7 @@ package cn.bootx.platform.iam.core.security.password.entity; -import cn.bootx.table.modify.annotation.DbComment; -import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; +import cn.bootx.table.modify.annotation.DbComment; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -18,7 +17,7 @@ import lombok.experimental.Accessors; //@DbTable(comment = "密码历史") @Accessors(chain = true) @TableName("iam_password_history") -public class PasswordHistory extends MpCreateEntity { +public class PasswordChangeHistory extends MpCreateEntity { /** 用户Id */ @DbComment("用户Id") private Long userId; diff --git a/bootx-services/service-miniapp/src/main/java/cn/bootx/platform/miniapp/core/protocol/entity/UserProtocol.java b/bootx-services/service-miniapp/src/main/java/cn/bootx/platform/miniapp/core/protocol/entity/UserProtocol.java index 6b542fc4..9c2064a7 100644 --- a/bootx-services/service-miniapp/src/main/java/cn/bootx/platform/miniapp/core/protocol/entity/UserProtocol.java +++ b/bootx-services/service-miniapp/src/main/java/cn/bootx/platform/miniapp/core/protocol/entity/UserProtocol.java @@ -1,13 +1,13 @@ package cn.bootx.platform.miniapp.core.protocol.entity; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.mybatis.mysq.annotation.DbMySqlFieldType; -import cn.bootx.table.modify.mybatis.mysq.constants.MySqlFieldTypeEnum; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.platform.miniapp.core.protocol.convert.UserProtocolConvert; import cn.bootx.platform.miniapp.dto.protocol.UserProtocolDto; import cn.bootx.platform.miniapp.param.protocol.UserProtocolParam; +import cn.bootx.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; +import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsChannelConfig.java b/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsChannelConfig.java index 30c5297b..d9c4577d 100644 --- a/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsChannelConfig.java +++ b/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsChannelConfig.java @@ -1,14 +1,13 @@ package cn.bootx.platform.notice.core.sms.entity; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbTable; -import cn.bootx.table.modify.mybatis.mysq.annotation.DbMySqlFieldType; -import cn.bootx.table.modify.mybatis.mysq.constants.MySqlFieldTypeEnum; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.platform.notice.core.sms.convert.SmsChannelConfigConvert; import cn.bootx.platform.notice.dto.sms.SmsChannelConfigDto; import cn.bootx.platform.notice.param.sms.SmsChannelConfigParam; +import cn.bootx.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; +import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/pom.xml b/pom.xml index 8b214973..8b4c8b87 100644 --- a/pom.xml +++ b/pom.xml @@ -119,7 +119,7 @@ 2.2.5 2.7.0 2.2.0 - 1.5.4.beta1 + 1.5.4.beta2 -- Gitee From 1b3de5e1fab9cdb37e075b04aa64f518b4623391 Mon Sep 17 00:00:00 2001 From: xxm1995 Date: Tue, 19 Sep 2023 11:22:44 +0800 Subject: [PATCH 09/26] =?UTF-8?q?feat=20=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E5=90=88SQL=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 9 ++-- ...troller.java => DataResultController.java} | 42 ++++++++++------- ...Convert.java => DataResultSqlConvert.java} | 12 ++--- ...Manager.java => DataResultSqlManager.java} | 4 +- ...qlMapper.java => DataResultSqlMapper.java} | 4 +- .../core/dataresult/dao/SqlQueryMapper.java | 12 ++++- .../{QuerySql.java => DataResultSql.java} | 12 +++-- ...Service.java => DataResultSqlService.java} | 45 +++++++++--------- .../dataresult/service/SqlQueryService.java | 46 +++++++++++++------ .../baseapi/dto/dataresult/QuerySqlDto.java | 2 - .../entity => dto/dataresult}/SqlField.java | 2 +- .../entity => dto/dataresult}/SqlParam.java | 2 +- .../DataResultSqlParam.java} | 10 ++-- .../SqlQueryParam.java} | 11 +++-- pom.xml | 2 +- 15 files changed, 127 insertions(+), 88 deletions(-) rename bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/{QuerySqlController.java => DataResultController.java} (42%) rename bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/convert/{QuerySqlConvert.java => DataResultSqlConvert.java} (40%) rename bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/{QuerySqlManager.java => DataResultSqlManager.java} (62%) rename bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/{QuerySqlMapper.java => DataResultSqlMapper.java} (59%) rename bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/{QuerySql.java => DataResultSql.java} (74%) rename bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/service/{QuerySqlService.java => DataResultSqlService.java} (77%) rename bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/{core/dataresult/entity => dto/dataresult}/SqlField.java (81%) rename bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/{core/dataresult/entity => dto/dataresult}/SqlParam.java (84%) rename bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/{sql/QuerySqlParam.java => dataresult/DataResultSqlParam.java} (74%) rename bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/{sql/QueryFieldParam.java => dataresult/SqlQueryParam.java} (56%) diff --git a/_doc/Task.md b/_doc/Task.md index 1020bcbe..47bd7dad 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -1,6 +1,7 @@ ## 1.3.5 -- SQL查询功能 -- 完整集成Knife4j, 支持增强功能 +- x SQL查询功能 +- SQL查询功能支持导出 +- x 完整集成Knife4j, 支持增强功能 - 数据集功能 - 记录密码输入次数 - 记录密码更改记录 @@ -14,17 +15,15 @@ - 优化异常类,将各种异常类进行拆分出来 - 优化参数校验, 将各种入参进行校验 - 代码生成模板支持配置 -- 代码生成支持预览 -- SQL查询片段升级为数据集 - 支持预览编辑完成的富文本 - 添加配置备份功能(菜单/系统参数/字典), csv方式 - 添加各种批量操作功能 - 一键缓存同步和更新操作(字典/参数) - 加密模块支持主键加密 -- Knife4j移植官方basic认证功能 - 多次输错密码自动锁定功能 - 密码多少天必须更改,且不能与前N次相同功能 - 对上传的文件管理还需要完善, 例如改文件是否还被使用, 上传场景是什么样的一类 - 前端首页分析页面需要重做,接入真实数据 - 可视化大屏端支持一键登录 - 可视化大屏支持快速对接数据集 +- Websocket管理页 diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/QuerySqlController.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/DataResultController.java similarity index 42% rename from bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/QuerySqlController.java rename to bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/DataResultController.java index 3aeeb03b..fe22404d 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/QuerySqlController.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/DataResultController.java @@ -1,16 +1,19 @@ package cn.bootx.platform.baseapi.controller; -import cn.bootx.platform.baseapi.core.dataresult.service.QuerySqlService; -import cn.bootx.platform.baseapi.param.sql.QueryFieldParam; -import cn.bootx.platform.common.core.rest.PageResult; +import cn.bootx.platform.baseapi.core.dataresult.entity.DataResultSql; +import cn.bootx.platform.baseapi.core.dataresult.service.DataResultSqlService; +import cn.bootx.platform.baseapi.core.dataresult.service.SqlQueryService; +import cn.bootx.platform.baseapi.dto.dataresult.SqlQueryResult; +import cn.bootx.platform.baseapi.param.dataresult.SqlQueryParam; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; +import cn.bootx.platform.common.core.rest.param.PageParam; +import cn.hutool.db.PageResult; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; -import java.util.List; import java.util.Map; /** @@ -21,44 +24,51 @@ import java.util.Map; */ @Tag(name = "SQL查询") @RestController -@RequestMapping("/query/sql") +@RequestMapping("/data/result") @RequiredArgsConstructor -public class QuerySqlController { +public class DataResultController { - private final QuerySqlService querySqlService; + private final DataResultSqlService dataResultSqlService; + private final SqlQueryService sqlQueryService; @Operation(summary = "分页查询") @GetMapping("/page") - public ResResult> page(){ - return Res.ok(); + public ResResult> page(){ + return Res.ok(dataResultSqlService.page()); } @Operation(summary = "新建") @PostMapping("/add") public ResResult add(){ - querySqlService.add(); + dataResultSqlService.add(); return Res.ok(); } @Operation(summary = "修改") @PostMapping("/update") public ResResult update(){ - querySqlService.update(); + dataResultSqlService.update(); return Res.ok(); } @Operation(summary = "测试SQL解析和执行") @PostMapping("/test") public ResResult test(@RequestBody Map map) { - querySqlService.querySql(map); + dataResultSqlService.querySql(map); return Res.ok(); } - @Operation(summary = "通过SQL查出结果字段") - @PostMapping("/queryFieldBySql") - public ResResult> queryFieldBySql(@RequestBody QueryFieldParam param) { - return Res.ok(querySqlService.queryFieldBySql(param)); +// @Operation(summary = "通过SQL查出结果字段") +// @PostMapping("/queryFieldBySql") +// public ResResult> queryFieldBySql(@RequestBody SqlQueryParam param) { +// return Res.ok(dataResultService.queryFieldBySql(param)); +// } + + @Operation(summary = "执行SQL查询语句") + @PostMapping("/querySql") + public ResResult querySql(@RequestBody SqlQueryParam param, PageParam pageParam){ + return Res.ok(sqlQueryService.query(param,pageParam)); } } diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/convert/QuerySqlConvert.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/convert/DataResultSqlConvert.java similarity index 40% rename from bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/convert/QuerySqlConvert.java rename to bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/convert/DataResultSqlConvert.java index 3278c016..4004633d 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/convert/QuerySqlConvert.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/convert/DataResultSqlConvert.java @@ -1,8 +1,8 @@ package cn.bootx.platform.baseapi.core.dataresult.convert; -import cn.bootx.platform.baseapi.core.dataresult.entity.QuerySql; +import cn.bootx.platform.baseapi.core.dataresult.entity.DataResultSql; import cn.bootx.platform.baseapi.dto.dataresult.QuerySqlDto; -import cn.bootx.platform.baseapi.param.sql.QuerySqlParam; +import cn.bootx.platform.baseapi.param.dataresult.DataResultSqlParam; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -11,12 +11,12 @@ import org.mapstruct.factory.Mappers; * @since 2023/3/13 */ @Mapper -public interface QuerySqlConvert { +public interface DataResultSqlConvert { - QuerySqlConvert CONVERT = Mappers.getMapper(QuerySqlConvert.class); + DataResultSqlConvert CONVERT = Mappers.getMapper(DataResultSqlConvert.class); - QuerySqlDto convert(QuerySql in); + QuerySqlDto convert(DataResultSql in); - QuerySql convert(QuerySqlParam in); + DataResultSql convert(DataResultSqlParam in); } diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/QuerySqlManager.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/DataResultSqlManager.java similarity index 62% rename from bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/QuerySqlManager.java rename to bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/DataResultSqlManager.java index fe157e05..b3927804 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/QuerySqlManager.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/DataResultSqlManager.java @@ -1,6 +1,6 @@ package cn.bootx.platform.baseapi.core.dataresult.dao; -import cn.bootx.platform.baseapi.core.dataresult.entity.QuerySql; +import cn.bootx.platform.baseapi.core.dataresult.entity.DataResultSql; import cn.bootx.platform.common.mybatisplus.impl.BaseManager; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Repository; @@ -11,6 +11,6 @@ import org.springframework.stereotype.Repository; */ @Slf4j @Repository -public class QuerySqlManager extends BaseManager { +public class DataResultSqlManager extends BaseManager { } diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/QuerySqlMapper.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/DataResultSqlMapper.java similarity index 59% rename from bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/QuerySqlMapper.java rename to bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/DataResultSqlMapper.java index d4a5d785..c3f6ae89 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/QuerySqlMapper.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/DataResultSqlMapper.java @@ -1,6 +1,6 @@ package cn.bootx.platform.baseapi.core.dataresult.dao; -import cn.bootx.platform.baseapi.core.dataresult.entity.QuerySql; +import cn.bootx.platform.baseapi.core.dataresult.entity.DataResultSql; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; @@ -9,6 +9,6 @@ import org.apache.ibatis.annotations.Mapper; * @since 2023/3/9 */ @Mapper -public interface QuerySqlMapper extends BaseMapper { +public interface DataResultSqlMapper extends BaseMapper { } diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/SqlQueryMapper.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/SqlQueryMapper.java index 72305208..2657f2b7 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/SqlQueryMapper.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/SqlQueryMapper.java @@ -5,6 +5,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; import java.util.Map; /** @@ -16,10 +17,17 @@ import java.util.Map; public interface SqlQueryMapper { /** - * 查询 + * 查询带分页 * @param page 分页 * @param sql 查询语句 */ @Select("${sql}") - Page> query(Page page, @Param("sql") String sql); + Page> queryByPage(Page page, @Param("sql") String sql); + + /** + * 查询 + * @param sql 查询语句 + */ + @Select("${sql}") + List> query(@Param("sql") String sql); } diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/QuerySql.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/DataResultSql.java similarity index 74% rename from bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/QuerySql.java rename to bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/DataResultSql.java index f86f8d9e..52a9eccf 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/QuerySql.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/DataResultSql.java @@ -1,11 +1,14 @@ package cn.bootx.platform.baseapi.core.dataresult.entity; -import cn.bootx.platform.baseapi.core.dataresult.convert.QuerySqlConvert; +import cn.bootx.platform.baseapi.core.dataresult.convert.DataResultSqlConvert; import cn.bootx.platform.baseapi.dto.dataresult.QuerySqlDto; +import cn.bootx.platform.baseapi.dto.dataresult.SqlField; +import cn.bootx.platform.baseapi.dto.dataresult.SqlParam; import cn.bootx.platform.common.core.annotation.BigField; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.platform.common.mybatisplus.handler.JacksonRawTypeHandler; +import cn.bootx.table.modify.annotation.DbTable; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -15,16 +18,17 @@ import lombok.experimental.Accessors; import java.util.List; /** - * SQL查询语句 + * 数据集SQL语句 * * @author xxm * @since 2023/3/9 */ @EqualsAndHashCode(callSuper = true) @Data +@DbTable(comment = "数据集SQL语句") @Accessors(chain = true) @TableName(value = "base_query_sql", autoResultMap = true) -public class QuerySql extends MpBaseEntity implements EntityBaseFunction { +public class DataResultSql extends MpBaseEntity implements EntityBaseFunction { /** 数据源ID */ private Long databaseId; @@ -54,7 +58,7 @@ public class QuerySql extends MpBaseEntity implements EntityBaseFunction page(){ + public PageResult page(){ return new PageResult<>(); } @@ -74,13 +75,13 @@ public class QuerySqlService { public Object querySql(Map map) { // 获取SQL语句, 将 #{} 和 ${} 元素进行解析和替换 String sql = "select * from iam_client where system=#{system}"; - QuerySql querySql = new QuerySql().setDatabaseId(1633376006887067648L).setIsList(true).setSql(sql); - SqlAndParam sqlAndParam = this.sqlParamParser(querySql, map); + DataResultSql dataResultSql = new DataResultSql().setDatabaseId(1633376006887067648L).setIsList(true).setSql(sql); + SqlAndParam sqlAndParam = this.sqlParamParser(dataResultSql, map); // 对SQL语句进行解析 - DataSource dataSource = this.getDataSource(querySql.getDatabaseId()); + DataSource dataSource = this.getDataSource(dataResultSql.getDatabaseId()); Connection connection = dataSource.getConnection(); - if (Objects.equals(querySql.getIsList(), true)) { + if (Objects.equals(dataResultSql.getIsList(), true)) { return SqlExecutor.query(connection, sqlAndParam.sql, new EntityListHandler(), ArrayUtil.toArray(sqlAndParam.param, Object.class)); } @@ -93,9 +94,9 @@ public class QuerySqlService { /** * 解析SQL */ - private SqlAndParam sqlParamParser(QuerySql querySql, Map map) { - String sql = querySql.getSql(); - Map sqlParamMap = Optional.ofNullable(querySql.getParams()) + private SqlAndParam sqlParamParser(DataResultSql dataResultSql, Map map) { + String sql = dataResultSql.getSql(); + Map sqlParamMap = Optional.ofNullable(dataResultSql.getParams()) .orElse(new ArrayList<>(0)) .stream() .collect(Collectors.toMap(SqlParam::getName, Function.identity(), CollectorsFunction::retainLatest)); @@ -124,15 +125,15 @@ public class QuerySqlService { /** * 通过SQL查出结果字段 */ - @SneakyThrows - public List queryFieldBySql(QueryFieldParam param) { - String sql = "select * from iam_client"; - DataSource dataSource = this.getDataSource(param.getDatabaseId()); - Connection connection = dataSource.getConnection(); - Entity query = SqlExecutor.query(connection, sql, new EntityHandler()); - System.out.println(query); - return new ArrayList<>(query.keySet()); - } +// @SneakyThrows +// public List queryFieldBySql(SqlQueryParam param) { +// String sql = "select * from iam_client"; +// DataSource dataSource = this.getDataSource(param.getDatabaseId()); +// Connection connection = dataSource.getConnection(); +// Entity query = SqlExecutor.query(connection, sql, new EntityHandler()); +// System.out.println(query); +// return new ArrayList<>(query.keySet()); +// } /** * 获取数据源 diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/service/SqlQueryService.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/service/SqlQueryService.java index cac5d76b..96498438 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/service/SqlQueryService.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/service/SqlQueryService.java @@ -2,7 +2,12 @@ package cn.bootx.platform.baseapi.core.dataresult.service; import cn.bootx.platform.baseapi.core.dataresult.dao.SqlQueryMapper; import cn.bootx.platform.baseapi.dto.dataresult.SqlQueryResult; +import cn.bootx.platform.baseapi.param.dataresult.SqlQueryParam; +import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.core.util.CollUtil; +import cn.bootx.platform.common.mybatisplus.util.MpUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -25,22 +30,33 @@ public class SqlQueryService { private final SqlQueryMapper SqlQueryMapper; /** - * 查询 - * @param sql - * @return + * SQL查询语句 */ - public SqlQueryResult query(String sql){ - Page page = new Page<>(); - page.setSearchCount(false) - .setSize(500); - List> records = SqlQueryMapper.query(page, sql) - .getRecords(); - SqlQueryResult sqlQueryResult = new SqlQueryResult(); - if (CollUtil.isNotEmpty(records)){ - Map objectMap = records.get(0); - sqlQueryResult.setData(records) - .setFields(new ArrayList<>(objectMap.keySet())); + public SqlQueryResult query(SqlQueryParam param, PageParam pageParam){ + try { + Page page = MpUtil.getMpPage(pageParam, Object.class); + page.setSearchCount(false); + if (StrUtil.isNotBlank(param.getDatabaseKey())){ + DynamicDataSourceContextHolder.push(param.getDatabaseKey()); + } + List> records; + if (param.isEnablePage()){ + records = SqlQueryMapper.queryByPage(page, param.getSql()).getRecords(); + } else { + records = SqlQueryMapper.query(param.getSql()); + } + SqlQueryResult sqlQueryResult = new SqlQueryResult(); + // 构造出表头 + if (CollUtil.isNotEmpty(records)){ + Map objectMap = records.get(0); + sqlQueryResult.setData(records) + .setFields(new ArrayList<>(objectMap.keySet())); + } + return sqlQueryResult; + } finally { + if (StrUtil.isNotBlank(param.getDatabaseKey())) { + DynamicDataSourceContextHolder.poll(); + } } - return sqlQueryResult; } } diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/dataresult/QuerySqlDto.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/dataresult/QuerySqlDto.java index 5d6bda0e..e927da24 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/dataresult/QuerySqlDto.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/dataresult/QuerySqlDto.java @@ -1,7 +1,5 @@ package cn.bootx.platform.baseapi.dto.dataresult; -import cn.bootx.platform.baseapi.core.dataresult.entity.SqlField; -import cn.bootx.platform.baseapi.core.dataresult.entity.SqlParam; import cn.bootx.platform.common.core.rest.dto.BaseDto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/SqlField.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/dataresult/SqlField.java similarity index 81% rename from bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/SqlField.java rename to bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/dataresult/SqlField.java index 02d153d2..fc7942f7 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/SqlField.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/dataresult/SqlField.java @@ -1,4 +1,4 @@ -package cn.bootx.platform.baseapi.core.dataresult.entity; +package cn.bootx.platform.baseapi.dto.dataresult; import lombok.Getter; import lombok.Setter; diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/SqlParam.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/dataresult/SqlParam.java similarity index 84% rename from bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/SqlParam.java rename to bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/dataresult/SqlParam.java index 06dd526e..5adcd84a 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/SqlParam.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/dataresult/SqlParam.java @@ -1,4 +1,4 @@ -package cn.bootx.platform.baseapi.core.dataresult.entity; +package cn.bootx.platform.baseapi.dto.dataresult; import cn.bootx.platform.baseapi.code.QuerySqlCode; import lombok.Getter; diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/sql/QuerySqlParam.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/dataresult/DataResultSqlParam.java similarity index 74% rename from bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/sql/QuerySqlParam.java rename to bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/dataresult/DataResultSqlParam.java index deded961..0f0b1490 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/sql/QuerySqlParam.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/dataresult/DataResultSqlParam.java @@ -1,7 +1,7 @@ -package cn.bootx.platform.baseapi.param.sql; +package cn.bootx.platform.baseapi.param.dataresult; -import cn.bootx.platform.baseapi.core.dataresult.entity.SqlField; -import cn.bootx.platform.baseapi.core.dataresult.entity.SqlParam; +import cn.bootx.platform.baseapi.dto.dataresult.SqlField; +import cn.bootx.platform.baseapi.dto.dataresult.SqlParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; @@ -16,8 +16,8 @@ import java.util.List; */ @Data @Accessors(chain = true) -@Schema(title = "查询语句参数类") -public class QuerySqlParam { +@Schema(title = "数据集SQL语句参数") +public class DataResultSqlParam { @Schema(description = "主键") private Long id; diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/sql/QueryFieldParam.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/dataresult/SqlQueryParam.java similarity index 56% rename from bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/sql/QueryFieldParam.java rename to bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/dataresult/SqlQueryParam.java index 78150d81..08df146a 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/sql/QueryFieldParam.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/dataresult/SqlQueryParam.java @@ -1,4 +1,4 @@ -package cn.bootx.platform.baseapi.param.sql; +package cn.bootx.platform.baseapi.param.dataresult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -11,12 +11,15 @@ import lombok.experimental.Accessors; @Data @Accessors(chain = true) @Schema(title = "通过SQL查询结果字段请求参数") -public class QueryFieldParam { +public class SqlQueryParam { - @Schema(description = "数据源Id") - private Long databaseId; + @Schema(description = "数据源Key") + private String databaseKey; @Schema(description = "SQL语句") private String sql; + @Schema(description = "是否启用分页") + private boolean enablePage; + } diff --git a/pom.xml b/pom.xml index 8b4c8b87..91520822 100644 --- a/pom.xml +++ b/pom.xml @@ -77,7 +77,7 @@ 1.3.4 - 5.8.20 + 5.8.22 6.4.4 2.12.3 3.11 -- Gitee From afe33b7f34cf2e859a3d57e78f007ef943350ab9 Mon Sep 17 00:00:00 2001 From: xxm1995 Date: Tue, 19 Sep 2023 20:24:39 +0800 Subject: [PATCH 10/26] =?UTF-8?q?feat=20=E7=B3=BB=E7=BB=9F=E5=AE=89?= =?UTF-8?q?=E5=85=A8=E7=9B=B8=E5=85=B3=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 7 +- .../log/controller/LoginLogController.java | 10 ++- .../log/controller/OperateLogController.java | 8 ++ .../core/db/service/LoginLogDbService.java | 4 +- .../core/db/service/OperateLogDbService.java | 3 +- .../mongo/service/LoginLogMongoService.java | 4 +- .../mongo/service/OperateLogMongoService.java | 4 +- .../audit/log/service/LoginLogService.java | 2 +- .../audit/log/service/OperateLogService.java | 2 +- .../starter/auth/entity/AuthLoginType.java | 1 + bootx-demo/pom.xml | 1 - .../core/dataresult/entity/DataResultSql.java | 6 +- .../core/auth/login/PasswordLoginHandler.java | 19 ++--- .../convert/LoginSecurityConfigConvert.java | 22 +++++ .../login/dao/LoginSecurityConfigManager.java | 33 ++++++++ .../login/dao/LoginSecurityConfigMapper.java | 14 ++++ .../login/entity/LoginSecurityConfig.java | 22 ++++- .../service/LoginSecurityConfigService.java | 84 +++++++++++++++++++ .../dao/PasswordChangeHistoryManager.java | 17 ++++ .../dao/PasswordChangeHistoryMapper.java | 14 ++++ .../dao/PasswordLoginFailRecordManager.java | 18 ++++ .../dao/PasswordLoginFailRecordMapper.java | 14 ++++ .../entity/PasswordChangeHistory.java | 12 +-- .../entity/PasswordLoginFailRecord.java | 2 + .../entity/PasswordSecurityConfig.java | 13 ++- .../service/PasswordChangeHistoryService.java | 54 ++++++++++++ .../PasswordLoginFailRecordService.java | 63 ++++++++++++++ .../core/user/service/UserAdminService.java | 9 +- .../core/user/service/UserInfoService.java | 12 ++- .../dto/security/LoginSecurityConfigDto.java | 39 +++++++++ .../security/LoginSecurityConfigParam.java | 41 +++++++++ .../src/main/resources/application-dev.yml | 5 +- 32 files changed, 509 insertions(+), 50 deletions(-) create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/convert/LoginSecurityConfigConvert.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/dao/LoginSecurityConfigManager.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/dao/LoginSecurityConfigMapper.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/service/LoginSecurityConfigService.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordChangeHistoryManager.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordChangeHistoryMapper.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordLoginFailRecordManager.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordLoginFailRecordMapper.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordChangeHistoryService.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/LoginSecurityConfigDto.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/param/security/LoginSecurityConfigParam.java diff --git a/_doc/Task.md b/_doc/Task.md index 47bd7dad..ff4bd7a3 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -3,8 +3,11 @@ - SQL查询功能支持导出 - x 完整集成Knife4j, 支持增强功能 - 数据集功能 -- 记录密码输入次数 +- 默认密码强制修改功能 +- 记录密码输入错误次数 +- 多次输错密码自动锁定功能 - 记录密码更改记录 +- 密码多少天必须更改,且不能与前N次相同功能 - 审计日志增加定时删除和一键清除超期日志功能 - 文件管理支持配置所属上传类型、是否被使用过、是否登陆后才可以访问 ## 1.3.x、1.4.x @@ -20,8 +23,6 @@ - 添加各种批量操作功能 - 一键缓存同步和更新操作(字典/参数) - 加密模块支持主键加密 -- 多次输错密码自动锁定功能 -- 密码多少天必须更改,且不能与前N次相同功能 - 对上传的文件管理还需要完善, 例如改文件是否还被使用, 上传场景是什么样的一类 - 前端首页分析页面需要重做,接入真实数据 - 可视化大屏端支持一键登录 diff --git a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/controller/LoginLogController.java b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/controller/LoginLogController.java index 9c9e1892..a6d9570c 100644 --- a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/controller/LoginLogController.java +++ b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/controller/LoginLogController.java @@ -11,6 +11,7 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springdoc.api.annotations.ParameterObject; +import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -29,8 +30,7 @@ public class LoginLogController { @Operation(summary = "分页") @GetMapping("/page") - public ResResult> page(@ParameterObject PageParam pageParam, - @ParameterObject LoginLogParam loginLogParam) { + public ResResult> page(@ParameterObject PageParam pageParam, @ParameterObject LoginLogParam loginLogParam) { return Res.ok(loginLogService.page(pageParam, loginLogParam)); } @@ -40,4 +40,10 @@ public class LoginLogController { return Res.ok(loginLogService.findById(id)); } + @Operation(summary = "清除指定天数之前的日志") + @DeleteMapping("/deleteByDay") + public ResResult deleteByDay(Integer deleteDay){ + loginLogService.deleteByDay(deleteDay); + return Res.ok(); + } } diff --git a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/controller/OperateLogController.java b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/controller/OperateLogController.java index b34df2ce..d0538f1a 100644 --- a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/controller/OperateLogController.java +++ b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/controller/OperateLogController.java @@ -11,6 +11,7 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springdoc.api.annotations.ParameterObject; +import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -42,4 +43,11 @@ public class OperateLogController { return Res.ok(operateLogService.findById(id)); } + + @Operation(summary = "清除指定天数的日志") + @DeleteMapping("/deleteByDay") + public ResResult deleteByDay(Integer type){ + operateLogService.deleteByDay(type); + return Res.ok(); + } } diff --git a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/db/service/LoginLogDbService.java b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/db/service/LoginLogDbService.java index 7741d070..b0699f5b 100644 --- a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/db/service/LoginLogDbService.java +++ b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/db/service/LoginLogDbService.java @@ -57,8 +57,8 @@ public class LoginLogDbService implements LoginLogService { * 删除 */ @Override - public void delete(Long id) { - loginLogManager.deleteById(id); + public void deleteByDay(Integer deleteDay) { + } } diff --git a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/db/service/OperateLogDbService.java b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/db/service/OperateLogDbService.java index 8d1ac8bb..35898918 100644 --- a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/db/service/OperateLogDbService.java +++ b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/db/service/OperateLogDbService.java @@ -59,8 +59,7 @@ public class OperateLogDbService implements OperateLogService { * 删除 */ @Override - public void delete(Long id) { - operateLogManager.deleteById(id); + public void deleteByDay(Integer deleteDay) { } } diff --git a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/mongo/service/LoginLogMongoService.java b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/mongo/service/LoginLogMongoService.java index c1d092f5..f1335116 100644 --- a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/mongo/service/LoginLogMongoService.java +++ b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/mongo/service/LoginLogMongoService.java @@ -65,8 +65,8 @@ public class LoginLogMongoService implements LoginLogService { } @Override - public void delete(Long id) { - repository.deleteById(id); + public void deleteByDay(Integer deleteDay) { + } } diff --git a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/mongo/service/OperateLogMongoService.java b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/mongo/service/OperateLogMongoService.java index 63b65f5c..b5bfa64c 100644 --- a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/mongo/service/OperateLogMongoService.java +++ b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/mongo/service/OperateLogMongoService.java @@ -69,9 +69,7 @@ public class OperateLogMongoService implements OperateLogService { .setTotal(page.getTotalElements()); } - @Override - public void delete(Long id) { - repository.deleteById(id); + public void deleteByDay(Integer deleteDay) { } } diff --git a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/service/LoginLogService.java b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/service/LoginLogService.java index 0ac167da..bded5ee2 100644 --- a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/service/LoginLogService.java +++ b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/service/LoginLogService.java @@ -33,6 +33,6 @@ public interface LoginLogService { /** * 删除 */ - void delete(Long id); + void deleteByDay(Integer deleteDay); } diff --git a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/service/OperateLogService.java b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/service/OperateLogService.java index e1844dad..edfa4695 100644 --- a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/service/OperateLogService.java +++ b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/service/OperateLogService.java @@ -33,6 +33,6 @@ public interface OperateLogService { /** * 删除 */ - void delete(Long id); + void deleteByDay(Integer deleteDay); } diff --git a/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/entity/AuthLoginType.java b/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/entity/AuthLoginType.java index 415dd6af..5f422f9e 100644 --- a/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/entity/AuthLoginType.java +++ b/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/entity/AuthLoginType.java @@ -29,6 +29,7 @@ public class AuthLoginType { private boolean enable; /** 密码错误几次冻结 */ + @Deprecated private int pwdErrNum; /** 是否需要验证码 */ diff --git a/bootx-demo/pom.xml b/bootx-demo/pom.xml index 22dbb5c6..c2866bab 100644 --- a/bootx-demo/pom.xml +++ b/bootx-demo/pom.xml @@ -25,7 +25,6 @@ cn.bootx table-modify-mysql-boot-starter - provided org.springframework.boot diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/DataResultSql.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/DataResultSql.java index 52a9eccf..e090dcd8 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/DataResultSql.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/DataResultSql.java @@ -9,6 +9,8 @@ import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.platform.common.mybatisplus.handler.JacksonRawTypeHandler; import cn.bootx.table.modify.annotation.DbTable; +import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; +import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -27,7 +29,7 @@ import java.util.List; @Data @DbTable(comment = "数据集SQL语句") @Accessors(chain = true) -@TableName(value = "base_query_sql", autoResultMap = true) +@TableName(value = "base_data_result_sql", autoResultMap = true) public class DataResultSql extends MpBaseEntity implements EntityBaseFunction { /** 数据源ID */ @@ -46,11 +48,13 @@ public class DataResultSql extends MpBaseEntity implements EntityBaseFunction params; /** SQL查询结果字段 */ @BigField @TableField(typeHandler = JacksonRawTypeHandler.class) + @DbMySqlFieldType(MySqlFieldTypeEnum.LONGTEXT) private List fields; /** diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/PasswordLoginHandler.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/PasswordLoginHandler.java index 45a00ae6..9bee7c09 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/PasswordLoginHandler.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/PasswordLoginHandler.java @@ -5,7 +5,7 @@ import cn.bootx.platform.common.core.entity.UserDetail; import cn.bootx.platform.common.core.exception.BizException; import cn.bootx.platform.common.core.util.RegexUtil; import cn.bootx.platform.iam.code.UserStatusCode; -import cn.bootx.platform.iam.core.user.service.UserAdminService; +import cn.bootx.platform.iam.core.security.password.service.PasswordLoginFailRecordService; import cn.bootx.platform.iam.core.user.service.UserQueryService; import cn.bootx.platform.iam.dto.user.UserInfoDto; import cn.bootx.platform.starter.auth.authentication.UsernamePasswordAuthentication; @@ -47,9 +47,9 @@ public class PasswordLoginHandler implements UsernamePasswordAuthentication { // 前端传入的验证码的key private final String CAPTCHA_KEY_PARAMETER = "captchaKey"; - private final PasswordEncoder passwordEncoder; + private final PasswordLoginFailRecordService passwordLoginFailRecordService; - private final UserAdminService userAdminService; + private final PasswordEncoder passwordEncoder; private final UserQueryService userQueryService; @@ -87,7 +87,7 @@ public class PasswordLoginHandler implements UsernamePasswordAuthentication { String saltPassword = passwordEncoder.encode(password); // 比对密码未通过 if (!Objects.equals(saltPassword, userDetail.getPassword())) { - this.passwordError(userDetail, context); + this.passwordError(userDetail); } // 管理员跳过各种校验 if (!userDetail.isAdmin()) { @@ -138,15 +138,8 @@ public class PasswordLoginHandler implements UsernamePasswordAuthentication { /** * 密码输入错误处理 */ - public void passwordError(UserDetail userDetail, LoginAuthContext context) { - AuthLoginType authLoginType = context.getAuthLoginType(); - int errCount = 0; - // 密码错误限制 - if (authLoginType.getPwdErrNum() > -1) { - - } - // String errMsg = StrUtil.format("密码不正确, 还有{}次机会",errCount); - String errMsg = StrUtil.format("密码不正确"); + public void passwordError(UserDetail userDetail) { + String errMsg = passwordLoginFailRecordService.passwordError(userDetail.getId()); throw new LoginFailureException(userDetail.getUsername(), errMsg); } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/convert/LoginSecurityConfigConvert.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/convert/LoginSecurityConfigConvert.java new file mode 100644 index 00000000..e30ed9d1 --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/convert/LoginSecurityConfigConvert.java @@ -0,0 +1,22 @@ +package cn.bootx.platform.iam.core.security.login.convert; + +import cn.bootx.platform.iam.core.security.login.entity.LoginSecurityConfig; +import cn.bootx.platform.iam.dto.security.LoginSecurityConfigDto; +import cn.bootx.platform.iam.param.security.LoginSecurityConfigParam; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +/** + * 登录安全策略 + * @author xxm + * @since 2023-09-19 + */ +@Mapper +public interface LoginSecurityConfigConvert { + LoginSecurityConfigConvert CONVERT = Mappers.getMapper(LoginSecurityConfigConvert.class); + + LoginSecurityConfig convert(LoginSecurityConfigParam in); + + LoginSecurityConfigDto convert(LoginSecurityConfig in); + +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/dao/LoginSecurityConfigManager.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/dao/LoginSecurityConfigManager.java new file mode 100644 index 00000000..463052cf --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/dao/LoginSecurityConfigManager.java @@ -0,0 +1,33 @@ +package cn.bootx.platform.iam.core.security.login.dao; + +import cn.bootx.platform.common.core.rest.param.PageParam; +import cn.bootx.platform.common.mybatisplus.impl.BaseManager; +import cn.bootx.platform.common.mybatisplus.util.MpUtil; +import cn.bootx.platform.common.query.generator.QueryGenerator; +import cn.bootx.platform.iam.core.security.login.entity.LoginSecurityConfig; +import cn.bootx.platform.iam.param.security.LoginSecurityConfigParam; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Repository; + +/** + * 登录安全策略 + * @author xxm + * @since 2023-09-19 + */ +@Repository +@RequiredArgsConstructor +public class LoginSecurityConfigManager extends BaseManager { + + /** + * 分页 + */ + public Page page(PageParam pageParam, LoginSecurityConfigParam param) { + Page mpPage = MpUtil.getMpPage(pageParam, LoginSecurityConfig.class); + QueryWrapper wrapper = QueryGenerator.generator(param, this.getEntityClass()); + wrapper.select(this.getEntityClass(),MpUtil::excludeBigField) + .orderByDesc(MpUtil.getColumnName(LoginSecurityConfig::getId)); + return this.page(mpPage,wrapper); + } +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/dao/LoginSecurityConfigMapper.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/dao/LoginSecurityConfigMapper.java new file mode 100644 index 00000000..2956b8cc --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/dao/LoginSecurityConfigMapper.java @@ -0,0 +1,14 @@ +package cn.bootx.platform.iam.core.security.login.dao; + +import cn.bootx.platform.iam.core.security.login.entity.LoginSecurityConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 登录安全策略 + * @author xxm + * @since 2023-09-19 + */ +@Mapper +public interface LoginSecurityConfigMapper extends BaseMapper { +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/entity/LoginSecurityConfig.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/entity/LoginSecurityConfig.java index d6ef5a6c..6e2c2c3e 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/entity/LoginSecurityConfig.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/entity/LoginSecurityConfig.java @@ -1,8 +1,13 @@ package cn.bootx.platform.iam.core.security.login.entity; +import cn.bootx.platform.common.core.function.EntityBaseFunction; +import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; +import cn.bootx.platform.iam.core.security.login.convert.LoginSecurityConfigConvert; +import cn.bootx.platform.iam.dto.security.LoginSecurityConfigDto; +import cn.bootx.platform.iam.param.security.LoginSecurityConfigParam; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbComment; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; +import cn.bootx.table.modify.annotation.DbTable; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -13,12 +18,12 @@ import lombok.experimental.Accessors; * @author xxm * @since 2023/8/17 */ -//@DbTable(comment = "登录安全策略") +@DbTable(comment = "登录安全策略") @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) @TableName("iam_login_security_config") -public class LoginSecurityConfig extends MpBaseEntity { +public class LoginSecurityConfig extends MpBaseEntity implements EntityBaseFunction { /** 关联终端ID */ @DbComment("关联终端ID") @@ -44,4 +49,15 @@ public class LoginSecurityConfig extends MpBaseEntity { @DbComment("多终端是否允许同时登录") private Boolean allowMultiTerminalLogin; + + /** 创建对象 */ + public static LoginSecurityConfig init(LoginSecurityConfigParam in) { + return LoginSecurityConfigConvert.CONVERT.convert(in); + } + + /** 转换成dto */ + @Override + public LoginSecurityConfigDto toDto() { + return LoginSecurityConfigConvert.CONVERT.convert(this); + } } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/service/LoginSecurityConfigService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/service/LoginSecurityConfigService.java new file mode 100644 index 00000000..84f1d305 --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/login/service/LoginSecurityConfigService.java @@ -0,0 +1,84 @@ +package cn.bootx.platform.iam.core.security.login.service; + +import cn.bootx.platform.common.core.exception.DataNotExistException; +import cn.bootx.platform.common.core.rest.PageResult; +import cn.bootx.platform.common.core.rest.param.PageParam; +import cn.bootx.platform.common.core.util.ResultConvertUtil; +import cn.bootx.platform.common.mybatisplus.util.MpUtil; +import cn.bootx.platform.iam.core.security.login.dao.LoginSecurityConfigManager; +import cn.bootx.platform.iam.core.security.login.entity.LoginSecurityConfig; +import cn.bootx.platform.iam.dto.security.LoginSecurityConfigDto; +import cn.bootx.platform.iam.param.security.LoginSecurityConfigParam; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.bean.copier.CopyOptions; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 登录安全策略 + * @author xxm + * @since 2023-09-19 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class LoginSecurityConfigService { + private final LoginSecurityConfigManager loginSecurityConfigManager; + + /** + * 添加 + */ + public void add(LoginSecurityConfigParam param){ + LoginSecurityConfig loginSecurityConfig = LoginSecurityConfig.init(param); + loginSecurityConfigManager.save(loginSecurityConfig); + } + + /** + * 修改 + */ + public void update(LoginSecurityConfigParam param){ + LoginSecurityConfig loginSecurityConfig = loginSecurityConfigManager.findById(param.getId()).orElseThrow(DataNotExistException::new); + + BeanUtil.copyProperties(param,loginSecurityConfig, CopyOptions.create().ignoreNullValue()); + loginSecurityConfigManager.updateById(loginSecurityConfig); + } + + /** + * 分页 + */ + public PageResult page(PageParam pageParam,LoginSecurityConfigParam query){ + return MpUtil.convert2DtoPageResult(loginSecurityConfigManager.page(pageParam,query)); + } + + /** + * 获取单条 + */ + public LoginSecurityConfigDto findById(Long id){ + return loginSecurityConfigManager.findById(id).map(LoginSecurityConfig::toDto).orElseThrow(DataNotExistException::new); + } + + /** + * 获取全部 + */ + public List findAll(){ + return ResultConvertUtil.dtoListConvert(loginSecurityConfigManager.findAll()); + } + + /** + * 删除 + */ + public void delete(Long id){ + loginSecurityConfigManager.deleteById(id); + } + + + /** + * 批量删除 + */ + public void deleteBatch(List ids){ + loginSecurityConfigManager.deleteByIds(ids); + } +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordChangeHistoryManager.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordChangeHistoryManager.java new file mode 100644 index 00000000..c53114a2 --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordChangeHistoryManager.java @@ -0,0 +1,17 @@ +package cn.bootx.platform.iam.core.security.password.dao; + +import cn.bootx.platform.common.mybatisplus.impl.BaseManager; +import cn.bootx.platform.iam.core.security.password.entity.PasswordChangeHistory; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Repository; + +/** + * 密码历史 + * @author xxm + * @since 2023-09-19 + */ +@Repository +@RequiredArgsConstructor +public class PasswordChangeHistoryManager extends BaseManager { + +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordChangeHistoryMapper.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordChangeHistoryMapper.java new file mode 100644 index 00000000..3aa295d2 --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordChangeHistoryMapper.java @@ -0,0 +1,14 @@ +package cn.bootx.platform.iam.core.security.password.dao; + +import cn.bootx.platform.iam.core.security.password.entity.PasswordChangeHistory; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 密码历史 + * @author xxm + * @since 2023-09-19 + */ +@Mapper +public interface PasswordChangeHistoryMapper extends BaseMapper { +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordLoginFailRecordManager.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordLoginFailRecordManager.java new file mode 100644 index 00000000..38ba7c70 --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordLoginFailRecordManager.java @@ -0,0 +1,18 @@ +package cn.bootx.platform.iam.core.security.password.dao; + +import cn.bootx.platform.common.mybatisplus.impl.BaseManager; +import cn.bootx.platform.iam.core.security.password.entity.PasswordLoginFailRecord; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Repository; + +/** + * 密码登录失败记录 + * @author xxm + * @since 2023/9/19 + */ +@Slf4j +@Repository +public class PasswordLoginFailRecordManager extends BaseManager { + + +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordLoginFailRecordMapper.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordLoginFailRecordMapper.java new file mode 100644 index 00000000..79a3393a --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordLoginFailRecordMapper.java @@ -0,0 +1,14 @@ +package cn.bootx.platform.iam.core.security.password.dao; + +import cn.bootx.platform.iam.core.security.password.entity.PasswordLoginFailRecord; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 密码登录失败记录 + * @author xxm + * @since 2023/9/19 + */ +@Mapper +public interface PasswordLoginFailRecordMapper extends BaseMapper { +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordChangeHistory.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordChangeHistory.java index 9f4c2257..3d42d81e 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordChangeHistory.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordChangeHistory.java @@ -1,23 +1,24 @@ package cn.bootx.platform.iam.core.security.password.entity; -import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; +import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.table.modify.annotation.DbComment; +import cn.bootx.table.modify.annotation.DbTable; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - * 密码历史 + * 密码更改历史 * @author xxm * @since 2023/8/17 */ @EqualsAndHashCode(callSuper = true) @Data -//@DbTable(comment = "密码历史") +@DbTable(comment = "密码更改历史") @Accessors(chain = true) -@TableName("iam_password_history") -public class PasswordChangeHistory extends MpCreateEntity { +@TableName("iam_password_change_history") +public class PasswordChangeHistory extends MpBaseEntity { /** 用户Id */ @DbComment("用户Id") private Long userId; @@ -25,5 +26,4 @@ public class PasswordChangeHistory extends MpCreateEntity { /** 密码 */ @DbComment("密码") private String password; - } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordLoginFailRecord.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordLoginFailRecord.java index fdf11f1d..3406b422 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordLoginFailRecord.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordLoginFailRecord.java @@ -2,6 +2,7 @@ package cn.bootx.platform.iam.core.security.password.entity; import cn.bootx.table.modify.annotation.DbComment; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; +import cn.bootx.table.modify.annotation.DbTable; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -16,6 +17,7 @@ import java.time.LocalDateTime; */ @EqualsAndHashCode(callSuper = true) @Data +@DbTable(comment = "密码登录失败记录") @Accessors(chain = true) @TableName("iam_password_login_fail_record") public class PasswordLoginFailRecord extends MpBaseEntity { diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java index e2466d15..d22279d2 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java @@ -1,7 +1,7 @@ package cn.bootx.platform.iam.core.security.password.entity; -import cn.bootx.table.modify.annotation.DbComment; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; +import cn.bootx.table.modify.annotation.DbComment; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -17,7 +17,7 @@ import lombok.experimental.Accessors; @DbComment("密码安全策略") @Accessors(chain = true) @TableName("iam_password_security_config") -public class PasswordSecurityConfig extends MpBaseEntity { +public class PasswordSecurityConfig extends MpBaseEntity{ /** 最大密码错误数 */ @DbComment("最大密码错误数") @@ -28,22 +28,27 @@ public class PasswordSecurityConfig extends MpBaseEntity { private Integer errorLockTime; /** 强制修改初始密码 */ + @DbComment("强制修改初始密码") private Boolean requireChangePwd; /** 用户默认密码 */ + @DbComment("强制修改初始密码") private String defaultPassword; - /** 更新频率 */ + /** 更新频率(天数) */ + @DbComment("更新频率") private Integer updateFrequency; /** 到期提醒(天数) */ + @DbComment("到期提醒(天数)") private Integer expireRemind; /** 与登录名相同 */ + @DbComment("与登录名相同") private Boolean sameAsLoginName; /** 不能与近期多少次密码相同 */ + @DbComment("不能与近期多少次密码相同") private Integer recentPassword; - /** */ } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordChangeHistoryService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordChangeHistoryService.java new file mode 100644 index 00000000..08ab04bd --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordChangeHistoryService.java @@ -0,0 +1,54 @@ +package cn.bootx.platform.iam.core.security.password.service; + +import cn.bootx.platform.iam.core.security.password.dao.PasswordChangeHistoryManager; +import cn.bootx.platform.iam.core.security.password.entity.PasswordChangeHistory; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 密码更改历史 + * @author xxm + * @since 2023-09-19 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class PasswordChangeHistoryService { + private final PasswordChangeHistoryManager passwordChangeHistoryManager; + + /** + * 保存密码更改历史 + */ + public void saveChangeHistory(Long userId,String password){ + PasswordChangeHistory passwordChangeHistory = new PasswordChangeHistory() + .setUserId(userId) + .setPassword(password); + passwordChangeHistoryManager.save(passwordChangeHistory); + } + + /** + * 批量保存密码更改历史 + */ + public void saveBatchChangeHistory(List userIds, String password){ + List changeHistories = userIds.stream() + .map(userId -> new PasswordChangeHistory() + .setPassword(password) + .setUserId(userId)) + .collect(Collectors.toList()); + + passwordChangeHistoryManager.saveAll(changeHistories); + } + + /** + * 查看要修改的密码是否重复 + */ + public boolean isRecentlyUsed(Long userId,String password){ + // TODO 需要读取最近5条密码记录,判断是否重复, 后期更换为系统配置 + + return false; + } +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java new file mode 100644 index 00000000..c2e5c23a --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java @@ -0,0 +1,63 @@ +package cn.bootx.platform.iam.core.security.password.service; + +import cn.bootx.platform.iam.core.security.password.dao.PasswordLoginFailRecordManager; +import cn.bootx.platform.iam.core.security.password.entity.PasswordLoginFailRecord; +import cn.bootx.platform.iam.core.security.password.entity.PasswordSecurityConfig; +import cn.hutool.core.util.StrUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; + +/** + * 密码登录失败记录 + * @author xxm + * @since 2023/9/19 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class PasswordLoginFailRecordService { + private final PasswordLoginFailRecordManager passwordLoginFailRecordManager; + + private final static int maxErrCount = 5; + + /** + * 登录失败的错误处理 + */ + public String passwordError(Long userId){ + + PasswordSecurityConfig passwordSecurityConfig = new PasswordSecurityConfig() + .set; + + // 更新错误次数 + PasswordLoginFailRecord loginFailRecord = passwordLoginFailRecordManager.findById(userId) + .orElse(new PasswordLoginFailRecord() + .setFailCount(0) + .setUserId(userId)); + loginFailRecord.setFailCount(loginFailRecord.getFailCount()+1) + .setFailTime(LocalDateTime.now()); + + int errCount = 5 - loginFailRecord.getFailCount(); + // 判断是否超过最大错误次数, 进行锁定用户 + if (errCount <= 0){ + // 锁定用户 + return "密码错误次数超过最大次数, 账号已锁定, 请15分钟后重试"; + } + + return StrUtil.format("密码不正确, 还有{}次机会", errCount); + + } + + + + /** + * 清除登录失败的次数 + */ + @Async("taskExecutor") + public void clearFailCount(Long userId){ + + } +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/service/UserAdminService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/service/UserAdminService.java index 9ee82d17..8f253906 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/service/UserAdminService.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/service/UserAdminService.java @@ -8,6 +8,7 @@ import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; import cn.bootx.platform.common.mybatisplus.util.MpUtil; import cn.bootx.platform.iam.code.UserStatusCode; import cn.bootx.platform.iam.core.client.dao.ClientManager; +import cn.bootx.platform.iam.core.security.password.service.PasswordChangeHistoryService; import cn.bootx.platform.iam.core.upms.service.UserRoleService; import cn.bootx.platform.iam.core.user.dao.UserExpandInfoManager; import cn.bootx.platform.iam.core.user.dao.UserInfoManager; @@ -62,6 +63,8 @@ public class UserAdminService { private final ClientManager clientManager; + private final PasswordChangeHistoryService passwordChangeHistoryService; + private final ApplicationEventPublisher eventPublisher; /** @@ -148,7 +151,8 @@ public class UserAdminService { userInfoManager.save(userInfo); // 扩展信息 UserExpandInfo userExpandInfo = new UserExpandInfo(); - userExpandInfo.setInitialPassword(true).setId(userInfo.getId()); + userExpandInfo.setId(userInfo.getId()); + passwordChangeHistoryService.saveChangeHistory(userInfo.getId(), userInfo.getPassword()); userExpandInfoManager.save(userExpandInfo); eventPublisher.publishEvent(new UserCreateEvent(this, userInfo.toDto())); } @@ -162,6 +166,7 @@ public class UserAdminService { // 新密码进行加密 newPassword = passwordEncoder.encode(newPassword); userInfo.setPassword(newPassword); + passwordChangeHistoryService.saveChangeHistory(userInfo.getId(), userInfo.getPassword()); userInfoManager.updateById(userInfo); eventPublisher.publishEvent(new UserRestartPasswordEvent(this, userInfo.getId())); } @@ -169,11 +174,13 @@ public class UserAdminService { /** * 批量重置密码 */ + @Transactional(rollbackFor = Exception.class) public void restartPasswordBatch(List userIds, String newPassword){ // 新密码进行加密 String password = passwordEncoder.encode(newPassword); // 批量重置密码 userInfoManager.restartPasswordBatch(userIds,password); + passwordChangeHistoryService.saveBatchChangeHistory(userIds, password); eventPublisher.publishEvent(new UserRestartPasswordEvent(this, userIds)); } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/service/UserInfoService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/service/UserInfoService.java index 7e6b51b6..663e3c69 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/service/UserInfoService.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/service/UserInfoService.java @@ -1,6 +1,7 @@ package cn.bootx.platform.iam.core.user.service; import cn.bootx.platform.common.core.exception.BizException; +import cn.bootx.platform.iam.core.security.password.service.PasswordChangeHistoryService; import cn.bootx.platform.iam.core.user.dao.UserExpandInfoManager; import cn.bootx.platform.iam.core.user.dao.UserInfoManager; import cn.bootx.platform.iam.core.user.entity.UserExpandInfo; @@ -35,6 +36,8 @@ public class UserInfoService { private final UserInfoManager userInfoManager; + private final PasswordChangeHistoryService passwordChangeHistoryService; + private final UserQueryService userQueryService; private final UserAssistService userAssistService; @@ -111,16 +114,23 @@ public class UserInfoService { .orElseThrow(UserInfoNotExistsException::new); UserExpandInfo userExpandInfo = userExpandInfoManager.findById(SecurityUtil.getUserId()) .orElseThrow(UserInfoNotExistsException::new); + // 新密码进行加密 newPassword = passwordEncoder.encode(newPassword); - // 判断原有密码是否相同 + // 判断原密码是否正确 if (!passwordEncoder.matches(password, userInfo.getPassword())) { throw new BizException("旧密码错误"); } + // 判断新密码是否在最近几次使用过 + if (passwordChangeHistoryService.isRecentlyUsed(userInfo.getId(), newPassword)){ + throw new BizException("新密码不能与最近使用过的密码相同"); + } + userInfo.setPassword(newPassword); userInfoManager.updateById(userInfo); userExpandInfo.setLastChangePasswordTime(LocalDateTime.now()); + passwordChangeHistoryService.saveChangeHistory(userInfo.getId(), userInfo.getPassword()); userExpandInfoManager.updateById(userExpandInfo); eventPublisher.publishEvent(new UserChangePasswordEvent(this,userInfo.getId())); } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/LoginSecurityConfigDto.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/LoginSecurityConfigDto.java new file mode 100644 index 00000000..15c3e727 --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/LoginSecurityConfigDto.java @@ -0,0 +1,39 @@ +package cn.bootx.platform.iam.dto.security; + +import cn.bootx.platform.common.core.rest.dto.BaseDto; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 登录安全策略 + * @author xxm + * @since 2023-09-19 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Schema(title = "登录安全策略") +@Accessors(chain = true) +public class LoginSecurityConfigDto extends BaseDto { + + @Schema(description = "关联终端ID") + private Long clientId; + @Schema(description = "最大密码错误数") + private Integer maxPwdErrorCount; + @Schema(description = "密码错误锁定时间(秒)") + private Integer errorLockTime; + @Schema(description = "") + private Boolean requireChangePwd; + @Schema(description = "修改密码是否需要重新登录") + private Boolean requireLoginChangePwd; + @Schema(description = "默认启用验证码") + private Boolean captchaEnable; + @Schema(description = "出现验证码的错误次数") + private Integer maxCaptchaErrorCount; + @Schema(description = "同端是否允许同时登录") + private Boolean allowMultiLogin; + @Schema(description = "多终端是否允许同时登录") + private Boolean allowMultiTerminalLogin; + +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/param/security/LoginSecurityConfigParam.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/param/security/LoginSecurityConfigParam.java new file mode 100644 index 00000000..68316a4a --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/param/security/LoginSecurityConfigParam.java @@ -0,0 +1,41 @@ +package cn.bootx.platform.iam.param.security; + +import cn.bootx.platform.common.core.annotation.QueryParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 登录安全策略 + * @author xxm + * @since 2023-09-19 + */ +@QueryParam(type = QueryParam.CompareTypeEnum.LIKE) +@Data +@Schema(title = "登录安全策略") +@Accessors(chain = true) +public class LoginSecurityConfigParam { + + @Schema(description= "主键") + private Long id; + + @Schema(description = "关联终端ID") + private Long clientId; + @Schema(description = "最大密码错误数") + private Integer maxPwdErrorCount; + @Schema(description = "密码错误锁定时间(秒)") + private Integer errorLockTime; + @Schema(description = "") + private Boolean requireChangePwd; + @Schema(description = "修改密码是否需要重新登录") + private Boolean requireLoginChangePwd; + @Schema(description = "默认启用验证码") + private Boolean captchaEnable; + @Schema(description = "出现验证码的错误次数") + private Integer maxCaptchaErrorCount; + @Schema(description = "同端是否允许同时登录") + private Boolean allowMultiLogin; + @Schema(description = "多终端是否允许同时登录") + private Boolean allowMultiTerminalLogin; + +} diff --git a/bootx-start/src/main/resources/application-dev.yml b/bootx-start/src/main/resources/application-dev.yml index c5c0127a..3f40e44f 100644 --- a/bootx-start/src/main/resources/application-dev.yml +++ b/bootx-start/src/main/resources/application-dev.yml @@ -1,9 +1,6 @@ server: port: 9999 spring: -# profiles: -# include: -# - bootx-dev datasource: dynamic: primary: master @@ -26,7 +23,7 @@ spring: # 如果不使用MQ的话, 可以将项目中 @EnableRabbit 给注释掉, 就不会一直报错了 rabbitmq: # 虚拟主机 -# virtual-host: bootx-platform + virtual-host: bootx-platform host: 127.0.0.1 port: 5672 username: guest -- Gitee From e80fbfdd987893e9fbab73d14563de96b79e576b Mon Sep 17 00:00:00 2001 From: xxm1995 Date: Wed, 20 Sep 2023 16:41:00 +0800 Subject: [PATCH 11/26] =?UTF-8?q?feat=20=E5=AF=86=E7=A0=81=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E6=AC=A1=E6=95=B0=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/auth/login/PasswordLoginHandler.java | 35 ++++++++++++------- .../dao/PasswordLoginFailRecordManager.java | 11 ++++++ .../entity/PasswordSecurityConfig.java | 4 +-- .../service/PasswordChangeHistoryService.java | 3 ++ .../PasswordLoginFailRecordService.java | 32 +++++++++++------ .../core/user/service/UserAdminService.java | 10 +++++- .../login/GoViewLoginAuthentication.java | 9 ++--- 7 files changed, 72 insertions(+), 32 deletions(-) diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/PasswordLoginHandler.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/PasswordLoginHandler.java index 9bee7c09..bf157c74 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/PasswordLoginHandler.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/PasswordLoginHandler.java @@ -16,11 +16,13 @@ import cn.bootx.platform.starter.auth.exception.LoginFailureException; import cn.bootx.platform.starter.auth.exception.UserNotFoundException; import cn.bootx.platform.starter.auth.util.PasswordEncoder; import cn.hutool.core.util.StrUtil; +import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.lang.Nullable; import org.springframework.stereotype.Component; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.validation.constraints.NotNull; import java.util.Objects; @@ -47,13 +49,21 @@ public class PasswordLoginHandler implements UsernamePasswordAuthentication { // 前端传入的验证码的key private final String CAPTCHA_KEY_PARAMETER = "captchaKey"; - private final PasswordLoginFailRecordService passwordLoginFailRecordService; + @Resource + @Getter + private PasswordLoginFailRecordService passwordLoginFailRecordService; - private final PasswordEncoder passwordEncoder; + @Resource + @Getter + private PasswordEncoder passwordEncoder; - private final UserQueryService userQueryService; + @Resource + @Getter + private UserQueryService userQueryService; - private final CaptchaService captchaService; + @Resource + @Getter + private CaptchaService captchaService; /** * 认证前置操作, 默认处理验证码 @@ -87,7 +97,11 @@ public class PasswordLoginHandler implements UsernamePasswordAuthentication { String saltPassword = passwordEncoder.encode(password); // 比对密码未通过 if (!Objects.equals(saltPassword, userDetail.getPassword())) { - this.passwordError(userDetail); + // 非系统管理员进行错误处理, 包括记录错误次数和账号锁定等操作 + if (!userDetail.isAdmin()){ + String errMsg = passwordLoginFailRecordService.passwordError(userDetail.getId()); + throw new LoginFailureException(userDetail.getUsername(), errMsg); + } } // 管理员跳过各种校验 if (!userDetail.isAdmin()) { @@ -99,6 +113,10 @@ public class PasswordLoginHandler implements UsernamePasswordAuthentication { throw new LoginFailureException(username, "账号不是正常状态,无法登陆"); } } + // 非管理员登录成功后清除错误次数等信息 + if (!userDetail.isAdmin()){ + passwordLoginFailRecordService.clearFailCount(userDetail.getId()); + } return new AuthInfoResult().setId(userDetail.getId()).setUserDetail(userDetail); } @@ -135,13 +153,6 @@ public class PasswordLoginHandler implements UsernamePasswordAuthentication { return userInfoDto.toUserDetail(); } - /** - * 密码输入错误处理 - */ - public void passwordError(UserDetail userDetail) { - String errMsg = passwordLoginFailRecordService.passwordError(userDetail.getId()); - throw new LoginFailureException(userDetail.getUsername(), errMsg); - } @Nullable protected String obtainPassword(HttpServletRequest request) { diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordLoginFailRecordManager.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordLoginFailRecordManager.java index 38ba7c70..dc95cdb6 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordLoginFailRecordManager.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordLoginFailRecordManager.java @@ -5,6 +5,8 @@ import cn.bootx.platform.iam.core.security.password.entity.PasswordLoginFailReco import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Repository; +import java.util.List; + /** * 密码登录失败记录 * @author xxm @@ -15,4 +17,13 @@ import org.springframework.stereotype.Repository; public class PasswordLoginFailRecordManager extends BaseManager { + /** + * 批量清除登录失败次数 + */ + public void clearBatchFailCount(List userIds) { + this.lambdaUpdate() + .in(PasswordLoginFailRecord::getUserId,userIds) + .set(PasswordLoginFailRecord::getFailCount,0) + .update(); + } } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java index d22279d2..60431d83 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java @@ -23,8 +23,8 @@ public class PasswordSecurityConfig extends MpBaseEntity{ @DbComment("最大密码错误数") private Integer maxPwdErrorCount; - /** 密码错误锁定时间(秒) */ - @DbComment("密码错误锁定时间(秒)") + /** 密码错误锁定时间(分钟) */ + @DbComment("密码错误锁定时间(分钟)") private Integer errorLockTime; /** 强制修改初始密码 */ diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordChangeHistoryService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordChangeHistoryService.java index 08ab04bd..b1513d40 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordChangeHistoryService.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordChangeHistoryService.java @@ -4,6 +4,7 @@ import cn.bootx.platform.iam.core.security.password.dao.PasswordChangeHistoryMan import cn.bootx.platform.iam.core.security.password.entity.PasswordChangeHistory; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import java.util.List; @@ -23,6 +24,7 @@ public class PasswordChangeHistoryService { /** * 保存密码更改历史 */ + @Async("asyncExecutor") public void saveChangeHistory(Long userId,String password){ PasswordChangeHistory passwordChangeHistory = new PasswordChangeHistory() .setUserId(userId) @@ -33,6 +35,7 @@ public class PasswordChangeHistoryService { /** * 批量保存密码更改历史 */ + @Async("asyncExecutor") public void saveBatchChangeHistory(List userIds, String password){ List changeHistories = userIds.stream() .map(userId -> new PasswordChangeHistory() diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java index c2e5c23a..5571bd8a 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java @@ -10,6 +10,7 @@ import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import java.time.LocalDateTime; +import java.util.List; /** * 密码登录失败记录 @@ -22,15 +23,14 @@ import java.time.LocalDateTime; public class PasswordLoginFailRecordService { private final PasswordLoginFailRecordManager passwordLoginFailRecordManager; - private final static int maxErrCount = 5; - /** * 登录失败的错误处理 */ public String passwordError(Long userId){ - + // 密码安全配置 PasswordSecurityConfig passwordSecurityConfig = new PasswordSecurityConfig() - .set; + .setMaxPwdErrorCount(5) + .setErrorLockTime(10*60); // 更新错误次数 PasswordLoginFailRecord loginFailRecord = passwordLoginFailRecordManager.findById(userId) @@ -39,25 +39,37 @@ public class PasswordLoginFailRecordService { .setUserId(userId)); loginFailRecord.setFailCount(loginFailRecord.getFailCount()+1) .setFailTime(LocalDateTime.now()); + passwordLoginFailRecordManager.saveOrUpdate(loginFailRecord); - int errCount = 5 - loginFailRecord.getFailCount(); // 判断是否超过最大错误次数, 进行锁定用户 + int errCount = passwordSecurityConfig.getMaxPwdErrorCount() - loginFailRecord.getFailCount(); if (errCount <= 0){ // 锁定用户 - return "密码错误次数超过最大次数, 账号已锁定, 请15分钟后重试"; + return StrUtil.format("密码错误次数超过{}次, 请{}分钟后再试", + loginFailRecord.getFailCount()-1,passwordSecurityConfig.getMaxPwdErrorCount()); } - return StrUtil.format("密码不正确, 还有{}次机会", errCount); - } - - /** * 清除登录失败的次数 */ @Async("taskExecutor") public void clearFailCount(Long userId){ + passwordLoginFailRecordManager.findById(userId) + .ifPresent(r -> { + if (r.getFailCount() > 0){ + r.setFailCount(0); + passwordLoginFailRecordManager.updateById(r); + } + }); + } + /** + * 批量清除登录失败的次数 + */ + @Async("taskExecutor") + public void clearBatchFailCount(List userIds){ + passwordLoginFailRecordManager.clearBatchFailCount(userIds); } } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/service/UserAdminService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/service/UserAdminService.java index 8f253906..cf92b9bb 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/service/UserAdminService.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/service/UserAdminService.java @@ -9,6 +9,7 @@ import cn.bootx.platform.common.mybatisplus.util.MpUtil; import cn.bootx.platform.iam.code.UserStatusCode; import cn.bootx.platform.iam.core.client.dao.ClientManager; import cn.bootx.platform.iam.core.security.password.service.PasswordChangeHistoryService; +import cn.bootx.platform.iam.core.security.password.service.PasswordLoginFailRecordService; import cn.bootx.platform.iam.core.upms.service.UserRoleService; import cn.bootx.platform.iam.core.user.dao.UserExpandInfoManager; import cn.bootx.platform.iam.core.user.dao.UserInfoManager; @@ -59,6 +60,8 @@ public class UserAdminService { private final UserQueryService userQueryService; + private final PasswordLoginFailRecordService passwordLoginFailRecordService; + private final CaptchaService captchaService; private final ClientManager clientManager; @@ -87,6 +90,7 @@ public class UserAdminService { */ public void lockBatch(List userIds) { userInfoManager.setUpStatusBatch(userIds, UserStatusCode.BAN); + eventPublisher.publishEvent(new UserLockEvent(this, userIds)); } @@ -95,6 +99,7 @@ public class UserAdminService { */ public void unlock(Long userId) { userInfoManager.setUpStatus(userId, UserStatusCode.NORMAL); + passwordLoginFailRecordService.clearFailCount(userId); eventPublisher.publishEvent(new UserUnlockEvent(this, userId)); } @@ -103,6 +108,7 @@ public class UserAdminService { */ public void unlockBatch(List userIds) { userInfoManager.setUpStatusBatch(userIds, UserStatusCode.NORMAL); + passwordLoginFailRecordService.clearBatchFailCount(userIds); eventPublisher.publishEvent(new UserUnlockEvent(this, userIds)); } @@ -160,6 +166,7 @@ public class UserAdminService { /** * 重置密码 */ + @Transactional(rollbackFor = Exception.class) public void restartPassword(Long userId, String newPassword) { UserInfo userInfo = userInfoManager.findById(userId).orElseThrow(UserInfoNotExistsException::new); @@ -167,6 +174,7 @@ public class UserAdminService { newPassword = passwordEncoder.encode(newPassword); userInfo.setPassword(newPassword); passwordChangeHistoryService.saveChangeHistory(userInfo.getId(), userInfo.getPassword()); + passwordLoginFailRecordService.clearFailCount(userId); userInfoManager.updateById(userInfo); eventPublisher.publishEvent(new UserRestartPasswordEvent(this, userInfo.getId())); } @@ -178,8 +186,8 @@ public class UserAdminService { public void restartPasswordBatch(List userIds, String newPassword){ // 新密码进行加密 String password = passwordEncoder.encode(newPassword); - // 批量重置密码 userInfoManager.restartPasswordBatch(userIds,password); + passwordLoginFailRecordService.clearBatchFailCount(userIds); passwordChangeHistoryService.saveBatchChangeHistory(userIds, password); eventPublisher.publishEvent(new UserRestartPasswordEvent(this, userIds)); } diff --git a/bootx-services/service-visualization/src/main/java/cn/bootx/platform/visualization/login/GoViewLoginAuthentication.java b/bootx-services/service-visualization/src/main/java/cn/bootx/platform/visualization/login/GoViewLoginAuthentication.java index 1a53e7e2..90533aea 100644 --- a/bootx-services/service-visualization/src/main/java/cn/bootx/platform/visualization/login/GoViewLoginAuthentication.java +++ b/bootx-services/service-visualization/src/main/java/cn/bootx/platform/visualization/login/GoViewLoginAuthentication.java @@ -1,12 +1,8 @@ package cn.bootx.platform.visualization.login; -import cn.bootx.platform.baseapi.core.captcha.service.CaptchaService; import cn.bootx.platform.iam.core.auth.login.PasswordLoginHandler; -import cn.bootx.platform.iam.core.user.service.UserAdminService; -import cn.bootx.platform.iam.core.user.service.UserQueryService; import cn.bootx.platform.starter.auth.code.AuthLoginTypeCode; import cn.bootx.platform.starter.auth.entity.LoginAuthContext; -import cn.bootx.platform.starter.auth.util.PasswordEncoder; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -18,9 +14,8 @@ import org.springframework.stereotype.Component; @Component public class GoViewLoginAuthentication extends PasswordLoginHandler { - public GoViewLoginAuthentication(PasswordEncoder passwordEncoder, UserAdminService userAdminService, - UserQueryService userQueryService, CaptchaService captchaService) { - super(passwordEncoder, userAdminService, userQueryService, captchaService); + public GoViewLoginAuthentication() { + super(); } /** -- Gitee From 26704cfb540d4d2763ae205d5a30f6d4bb6d7686 Mon Sep 17 00:00:00 2001 From: xxm Date: Wed, 20 Sep 2023 22:57:56 +0800 Subject: [PATCH 12/26] =?UTF-8?q?feat=20=E5=A2=9E=E5=8A=A0=E5=AE=89?= =?UTF-8?q?=E5=85=A8=E7=AD=96=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AbstractAuthentication.java | 17 ++++- .../authentication/UserInfoStatusCheck.java | 13 ++++ .../core/chinaword/entity/ChinaWord.java | 1 - .../core/template/entity/GeneralTemplate.java | 1 - .../PasswordSecurityConfigController.java | 44 +++++++++++++ .../iam/core/client/entity/Client.java | 1 - .../PasswordSecurityConfigConvert.java | 22 +++++++ .../dao/PasswordChangeHistoryManager.java | 14 ++++ .../dao/PasswordSecurityConfigManager.java | 39 +++++++++++ .../dao/PasswordSecurityConfigMapper.java | 14 ++++ .../entity/PasswordChangeHistory.java | 3 +- .../entity/PasswordLoginFailRecord.java | 5 +- .../entity/PasswordSecurityConfig.java | 25 +++++-- .../service/PasswordChangeHistoryService.java | 11 +++- .../PasswordLoginFailRecordService.java | 22 ++++--- .../PasswordSecurityConfigService.java | 65 +++++++++++++++++++ .../core/user/service/UserInfoService.java | 10 +++ .../security/PasswordSecurityConfigDto.java | 48 ++++++++++++++ .../security/PasswordSecurityConfigParam.java | 37 +++++++++++ .../core/feedback/entity/FeedbackInfo.java | 1 - .../core/sms/entity/SmsChannelConfig.java | 1 - .../src/main/resources/application-dev.yml | 2 +- 22 files changed, 366 insertions(+), 30 deletions(-) create mode 100644 bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/authentication/UserInfoStatusCheck.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/PasswordSecurityConfigController.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/convert/PasswordSecurityConfigConvert.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordSecurityConfigManager.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordSecurityConfigMapper.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordSecurityConfigService.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/PasswordSecurityConfigDto.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/param/security/PasswordSecurityConfigParam.java diff --git a/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/authentication/AbstractAuthentication.java b/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/authentication/AbstractAuthentication.java index 72b49f0b..5f3ec4b2 100644 --- a/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/authentication/AbstractAuthentication.java +++ b/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/authentication/AbstractAuthentication.java @@ -6,6 +6,7 @@ import cn.bootx.platform.starter.auth.entity.AuthClient; import cn.bootx.platform.starter.auth.entity.AuthInfoResult; import cn.bootx.platform.starter.auth.entity.LoginAuthContext; import cn.bootx.platform.starter.auth.exception.LoginFailureException; +import cn.hutool.extra.spring.SpringUtil; import javax.validation.constraints.NotNull; import java.util.Objects; @@ -22,6 +23,12 @@ public interface AbstractAuthentication { * 获取终端编码 */ String getLoginType(); + /** + * 获取终端编码 + */ + default UserInfoStatusCheck getUserInfoStatusCheck() { + return SpringUtil.getBean(UserInfoStatusCheck.class); + } /** * 登录类型是否匹配 @@ -43,6 +50,13 @@ public interface AbstractAuthentication { @NotNull AuthInfoResult attemptAuthentication(LoginAuthContext context); + /** + * 对用户信息状态进行校验 + */ + default void userInfoStatusCheck(AuthInfoResult authInfoResult, LoginAuthContext context){ +// getUserInfoStatusCheck().check(authInfoResult, context); + } + /** * 认证后处理 */ @@ -61,7 +75,6 @@ public interface AbstractAuthentication { // 添加用户信息到上下文中 UserDetail userDetail = authInfoResult.getUserDetail(); context.setUserDetail(userDetail); - // 判断是否开启了超级管理员 AuthProperties authProperties = context.getAuthProperties(); if (!authProperties.isEnableAdmin() && userDetail.isAdmin()) { @@ -73,6 +86,8 @@ public interface AbstractAuthentication { if (!userDetail.getAppIds().contains(authClient.getId())) { throw new LoginFailureException("该用户不拥有该终端的权限"); } + // 用户信息和状态检查 + this.userInfoStatusCheck(authInfoResult, context); } authenticationAfter(authInfoResult, context); return authInfoResult; diff --git a/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/authentication/UserInfoStatusCheck.java b/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/authentication/UserInfoStatusCheck.java new file mode 100644 index 00000000..95a7933d --- /dev/null +++ b/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/authentication/UserInfoStatusCheck.java @@ -0,0 +1,13 @@ +package cn.bootx.platform.starter.auth.authentication; + +import cn.bootx.platform.starter.auth.entity.AuthInfoResult; +import cn.bootx.platform.starter.auth.entity.LoginAuthContext; + +/** + * 用户状态检查 + * @author xxm + * @since 2023/9/20 + */ +public interface UserInfoStatusCheck { + void check(AuthInfoResult authInfoResult, LoginAuthContext context); +} diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/chinaword/entity/ChinaWord.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/chinaword/entity/ChinaWord.java index 4a354637..6f3eecc7 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/chinaword/entity/ChinaWord.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/chinaword/entity/ChinaWord.java @@ -20,7 +20,6 @@ import lombok.experimental.Accessors; */ @EqualsAndHashCode(callSuper = true) @Data -//@DbTable(comment = "敏感词") @Accessors(chain = true) @TableName(value = "base_china_word",autoResultMap = true) public class ChinaWord extends MpDelEntity implements EntityBaseFunction { diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/template/entity/GeneralTemplate.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/template/entity/GeneralTemplate.java index b4a28ee4..7f524072 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/template/entity/GeneralTemplate.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/template/entity/GeneralTemplate.java @@ -21,7 +21,6 @@ import lombok.experimental.Accessors; */ @EqualsAndHashCode(callSuper = true) @Data -//@DbTable(comment = "通用模板管理") @Accessors(chain = true) @TableName("base_general_template") public class GeneralTemplate extends MpBaseEntity implements EntityBaseFunction { diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/PasswordSecurityConfigController.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/PasswordSecurityConfigController.java new file mode 100644 index 00000000..c4bf5ead --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/PasswordSecurityConfigController.java @@ -0,0 +1,44 @@ +package cn.bootx.platform.iam.controller; + +import cn.bootx.platform.common.core.rest.Res; +import cn.bootx.platform.common.core.rest.ResResult; +import cn.bootx.platform.iam.core.security.password.service.PasswordSecurityConfigService; +import cn.bootx.platform.iam.dto.security.PasswordSecurityConfigDto; +import cn.bootx.platform.iam.param.security.PasswordSecurityConfigParam; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + * 密码安全策略 + * @author xxm + * @since 2023-09-20 + */ +@Tag(name ="密码安全策略") +@RestController +@RequestMapping("/security/password") +@RequiredArgsConstructor +public class PasswordSecurityConfigController { + private final PasswordSecurityConfigService passwordSecurityConfigService; + + @Operation( summary = "添加") + @PostMapping(value = "/add") + public ResResult add(@RequestBody PasswordSecurityConfigParam param){ + passwordSecurityConfigService.add(param); + return Res.ok(); + } + + @Operation( summary = "修改") + @PostMapping(value = "/update") + public ResResult update(@RequestBody PasswordSecurityConfigParam param){ + passwordSecurityConfigService.update(param); + return Res.ok(); + } + + @Operation( summary = "获取配置项") + @GetMapping(value = "/findByDefault") + public ResResult findByDefault(){ + return Res.ok(passwordSecurityConfigService.findByDefault()); + } +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/client/entity/Client.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/client/entity/Client.java index d45c5291..013cb5d9 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/client/entity/Client.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/client/entity/Client.java @@ -26,7 +26,6 @@ import java.util.stream.Collectors; */ @EqualsAndHashCode(callSuper = true) @Data -//@DbTable(comment = "认证终端",isAppend = true) @TableName("iam_client") @Accessors(chain = true) public class Client extends MpBaseEntity implements EntityBaseFunction { diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/convert/PasswordSecurityConfigConvert.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/convert/PasswordSecurityConfigConvert.java new file mode 100644 index 00000000..8aa2044c --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/convert/PasswordSecurityConfigConvert.java @@ -0,0 +1,22 @@ +package cn.bootx.platform.iam.core.security.password.convert; + +import cn.bootx.platform.iam.core.security.password.entity.PasswordSecurityConfig; +import cn.bootx.platform.iam.dto.security.PasswordSecurityConfigDto; +import cn.bootx.platform.iam.param.security.PasswordSecurityConfigParam; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +/** + * 密码安全策略 + * @author xxm + * @since 2023-09-20 + */ +@Mapper +public interface PasswordSecurityConfigConvert { + PasswordSecurityConfigConvert CONVERT = Mappers.getMapper(PasswordSecurityConfigConvert.class); + + PasswordSecurityConfig convert(PasswordSecurityConfigParam in); + + PasswordSecurityConfigDto convert(PasswordSecurityConfig in); + +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordChangeHistoryManager.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordChangeHistoryManager.java index c53114a2..b6a8f4df 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordChangeHistoryManager.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordChangeHistoryManager.java @@ -2,9 +2,12 @@ package cn.bootx.platform.iam.core.security.password.dao; import cn.bootx.platform.common.mybatisplus.impl.BaseManager; import cn.bootx.platform.iam.core.security.password.entity.PasswordChangeHistory; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; +import java.util.List; + /** * 密码历史 * @author xxm @@ -14,4 +17,15 @@ import org.springframework.stereotype.Repository; @RequiredArgsConstructor public class PasswordChangeHistoryManager extends BaseManager { + /** + * 查询指定用户最近N条历史 + */ + public List findCountAllByUser(Long userId, int count){ + Page page = new Page<>(1,count); + page.setSearchCount(false); + return lambdaQuery() + .eq(PasswordChangeHistory::getUserId,userId) + .page(page) + .getRecords(); + } } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordSecurityConfigManager.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordSecurityConfigManager.java new file mode 100644 index 00000000..b259d1ab --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordSecurityConfigManager.java @@ -0,0 +1,39 @@ +package cn.bootx.platform.iam.core.security.password.dao; + +import cn.bootx.platform.common.mybatisplus.impl.BaseManager; +import cn.bootx.platform.iam.core.security.password.entity.PasswordSecurityConfig; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 密码安全策略 + * @author xxm + * @since 2023-09-20 + */ +@Repository +@RequiredArgsConstructor +public class PasswordSecurityConfigManager extends BaseManager { + + @Override + public List findAll() { + return lambdaQuery() + .orderByDesc(PasswordSecurityConfig::getId) + .list(); + } + + /** + * 表中是否有数据 + */ + public boolean existsAll(){ + return lambdaQuery().exists(); + } + + /** + * 删除除指定的id外的所有密码安全策略 + */ + public void deleteAllNotId(Long id){ + this.lambdaUpdate().ne(PasswordSecurityConfig::getId,id).remove(); + } +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordSecurityConfigMapper.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordSecurityConfigMapper.java new file mode 100644 index 00000000..83af786c --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordSecurityConfigMapper.java @@ -0,0 +1,14 @@ +package cn.bootx.platform.iam.core.security.password.dao; + +import cn.bootx.platform.iam.core.security.password.entity.PasswordSecurityConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 密码安全策略 + * @author xxm + * @since 2023-09-20 + */ +@Mapper +public interface PasswordSecurityConfigMapper extends BaseMapper { +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordChangeHistory.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordChangeHistory.java index 3d42d81e..c16ee38c 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordChangeHistory.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordChangeHistory.java @@ -2,7 +2,6 @@ package cn.bootx.platform.iam.core.security.password.entity; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.table.modify.annotation.DbComment; -import cn.bootx.table.modify.annotation.DbTable; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -15,7 +14,7 @@ import lombok.experimental.Accessors; */ @EqualsAndHashCode(callSuper = true) @Data -@DbTable(comment = "密码更改历史") +//@DbTable(comment = "密码更改历史") @Accessors(chain = true) @TableName("iam_password_change_history") public class PasswordChangeHistory extends MpBaseEntity { diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordLoginFailRecord.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordLoginFailRecord.java index 3406b422..85184542 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordLoginFailRecord.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordLoginFailRecord.java @@ -1,8 +1,7 @@ package cn.bootx.platform.iam.core.security.password.entity; -import cn.bootx.table.modify.annotation.DbComment; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.table.modify.annotation.DbTable; +import cn.bootx.table.modify.annotation.DbComment; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -17,7 +16,7 @@ import java.time.LocalDateTime; */ @EqualsAndHashCode(callSuper = true) @Data -@DbTable(comment = "密码登录失败记录") +//@DbTable(comment = "密码登录失败记录") @Accessors(chain = true) @TableName("iam_password_login_fail_record") public class PasswordLoginFailRecord extends MpBaseEntity { diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java index 60431d83..41841333 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java @@ -1,7 +1,12 @@ package cn.bootx.platform.iam.core.security.password.entity; +import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; +import cn.bootx.platform.iam.core.security.password.convert.PasswordSecurityConfigConvert; +import cn.bootx.platform.iam.dto.security.PasswordSecurityConfigDto; +import cn.bootx.platform.iam.param.security.PasswordSecurityConfigParam; import cn.bootx.table.modify.annotation.DbComment; +import cn.bootx.table.modify.annotation.DbTable; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -14,10 +19,10 @@ import lombok.experimental.Accessors; */ @EqualsAndHashCode(callSuper = true) @Data -@DbComment("密码安全策略") +@DbTable(comment = "密码安全策略") @Accessors(chain = true) @TableName("iam_password_security_config") -public class PasswordSecurityConfig extends MpBaseEntity{ +public class PasswordSecurityConfig extends MpBaseEntity implements EntityBaseFunction { /** 最大密码错误数 */ @DbComment("最大密码错误数") @@ -31,10 +36,6 @@ public class PasswordSecurityConfig extends MpBaseEntity{ @DbComment("强制修改初始密码") private Boolean requireChangePwd; - /** 用户默认密码 */ - @DbComment("强制修改初始密码") - private String defaultPassword; - /** 更新频率(天数) */ @DbComment("更新频率") private Integer updateFrequency; @@ -51,4 +52,16 @@ public class PasswordSecurityConfig extends MpBaseEntity{ @DbComment("不能与近期多少次密码相同") private Integer recentPassword; + /** 创建对象 */ + public static PasswordSecurityConfig init(PasswordSecurityConfigParam in) { + return PasswordSecurityConfigConvert.CONVERT.convert(in); + } + + /** 转换成dto */ + @Override + public PasswordSecurityConfigDto toDto() { + return PasswordSecurityConfigConvert.CONVERT.convert(this); + } + + } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordChangeHistoryService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordChangeHistoryService.java index b1513d40..2b0b22eb 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordChangeHistoryService.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordChangeHistoryService.java @@ -2,12 +2,14 @@ package cn.bootx.platform.iam.core.security.password.service; import cn.bootx.platform.iam.core.security.password.dao.PasswordChangeHistoryManager; import cn.bootx.platform.iam.core.security.password.entity.PasswordChangeHistory; +import cn.bootx.platform.iam.dto.security.PasswordSecurityConfigDto; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -20,6 +22,7 @@ import java.util.stream.Collectors; @RequiredArgsConstructor public class PasswordChangeHistoryService { private final PasswordChangeHistoryManager passwordChangeHistoryManager; + private final PasswordSecurityConfigService passwordSecurityConfigService; /** * 保存密码更改历史 @@ -50,8 +53,10 @@ public class PasswordChangeHistoryService { * 查看要修改的密码是否重复 */ public boolean isRecentlyUsed(Long userId,String password){ - // TODO 需要读取最近5条密码记录,判断是否重复, 后期更换为系统配置 - - return false; + PasswordSecurityConfigDto securityConfig = passwordSecurityConfigService.findByDefault(); + Integer recentPassword = securityConfig.getRecentPassword(); + List changeHistories = passwordChangeHistoryManager.findCountAllByUser(userId, recentPassword); + return changeHistories.stream() + .anyMatch(o-> Objects.equals(o.getPassword(), password)); } } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java index 5571bd8a..6cdd0c10 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java @@ -2,7 +2,7 @@ package cn.bootx.platform.iam.core.security.password.service; import cn.bootx.platform.iam.core.security.password.dao.PasswordLoginFailRecordManager; import cn.bootx.platform.iam.core.security.password.entity.PasswordLoginFailRecord; -import cn.bootx.platform.iam.core.security.password.entity.PasswordSecurityConfig; +import cn.bootx.platform.iam.dto.security.PasswordSecurityConfigDto; import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -23,14 +23,14 @@ import java.util.List; public class PasswordLoginFailRecordService { private final PasswordLoginFailRecordManager passwordLoginFailRecordManager; + private final PasswordSecurityConfigService passwordSecurityConfigService; + /** * 登录失败的错误处理 */ public String passwordError(Long userId){ // 密码安全配置 - PasswordSecurityConfig passwordSecurityConfig = new PasswordSecurityConfig() - .setMaxPwdErrorCount(5) - .setErrorLockTime(10*60); + PasswordSecurityConfigDto securityConfig = passwordSecurityConfigService.findByDefault(); // 更新错误次数 PasswordLoginFailRecord loginFailRecord = passwordLoginFailRecordManager.findById(userId) @@ -39,15 +39,19 @@ public class PasswordLoginFailRecordService { .setUserId(userId)); loginFailRecord.setFailCount(loginFailRecord.getFailCount()+1) .setFailTime(LocalDateTime.now()); - passwordLoginFailRecordManager.saveOrUpdate(loginFailRecord); // 判断是否超过最大错误次数, 进行锁定用户 - int errCount = passwordSecurityConfig.getMaxPwdErrorCount() - loginFailRecord.getFailCount(); - if (errCount <= 0){ - // 锁定用户 + int errCount = securityConfig.getMaxPwdErrorCount() - loginFailRecord.getFailCount(); + if (errCount == 0){ + // 进行用户锁定 return StrUtil.format("密码错误次数超过{}次, 请{}分钟后再试", - loginFailRecord.getFailCount()-1,passwordSecurityConfig.getMaxPwdErrorCount()); + loginFailRecord.getFailCount()-1, securityConfig.getMaxPwdErrorCount()); + } else if (errCount < 0) { + // 继续尝试密码, 不再更新错误次数, 直接返回 + return StrUtil.format("账号已被锁定, 请稍后再试"); + } + passwordLoginFailRecordManager.saveOrUpdate(loginFailRecord); return StrUtil.format("密码不正确, 还有{}次机会", errCount); } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordSecurityConfigService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordSecurityConfigService.java new file mode 100644 index 00000000..9c949867 --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordSecurityConfigService.java @@ -0,0 +1,65 @@ +package cn.bootx.platform.iam.core.security.password.service; + +import cn.bootx.platform.common.core.exception.BizException; +import cn.bootx.platform.common.core.exception.DataNotExistException; +import cn.bootx.platform.iam.core.security.password.dao.PasswordSecurityConfigManager; +import cn.bootx.platform.iam.core.security.password.entity.PasswordSecurityConfig; +import cn.bootx.platform.iam.dto.security.PasswordSecurityConfigDto; +import cn.bootx.platform.iam.param.security.PasswordSecurityConfigParam; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.bean.copier.CopyOptions; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 密码安全策略 + * @author xxm + * @since 2023-09-20 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class PasswordSecurityConfigService { + private final PasswordSecurityConfigManager passwordSecurityConfigManager; + + /** + * 添加 + */ + public void add(PasswordSecurityConfigParam param){ + // 判断库里是否有数据 + if (passwordSecurityConfigManager.existsAll()){ + throw new BizException("密码安全策略已存在"); + } + PasswordSecurityConfig passwordSecurityConfig = PasswordSecurityConfig.init(param); + passwordSecurityConfigManager.save(passwordSecurityConfig); + } + + /** + * 修改 + */ + public void update(PasswordSecurityConfigParam param){ + PasswordSecurityConfig passwordSecurityConfig = passwordSecurityConfigManager.findById(param.getId()) + .orElseThrow(() -> new DataNotExistException("密码安全策略不存在")); + BeanUtil.copyProperties(param, passwordSecurityConfig, CopyOptions.create().ignoreNullValue()); + passwordSecurityConfigManager.updateById(passwordSecurityConfig); + } + + /** + * 获取配置项, 如有多个, 则取第一个并删除旧的数据, 如果未配置, 则取系统默认配置 + */ + public PasswordSecurityConfigDto findByDefault(){ + List configs = passwordSecurityConfigManager.findAll(); + if (configs.size()==1){ + return configs.get(0).toDto(); + } else if (configs.size()>1){ + PasswordSecurityConfig securityConfig = configs.get(0); + passwordSecurityConfigManager.deleteAllNotId(securityConfig.getId()); + return securityConfig.toDto(); + } else { + return PasswordSecurityConfigDto.defaultObject(); + } + } +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/service/UserInfoService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/service/UserInfoService.java index 663e3c69..c589e7be 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/service/UserInfoService.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/service/UserInfoService.java @@ -202,9 +202,14 @@ public class UserInfoService { UserExpandInfo userExpandInfo = userExpandInfoManager.findById(userInfo.getId()) .orElseThrow(UserInfoNotExistsException::new); userInfo.setPassword(passwordEncoder.encode(password)); + // 判断新密码是否在最近几次使用过 + if (passwordChangeHistoryService.isRecentlyUsed(userInfo.getId(), userInfo.getPassword())){ + throw new BizException("新密码不能与最近使用过的密码相同"); + } userExpandInfo.setLastChangePasswordTime(LocalDateTime.now()).setInitialPassword(false); userInfoManager.updateById(userInfo); userExpandInfoManager.updateById(userExpandInfo); + passwordChangeHistoryService.saveChangeHistory(userInfo.getId(), userInfo.getPassword()); userAssistService.deletePhoneForgetCaptcha(phone); eventPublisher.publishEvent(new UserUpdateEvent(this, userInfo.toDto())); } @@ -220,9 +225,14 @@ public class UserInfoService { UserExpandInfo userExpandInfo = userExpandInfoManager.findById(userInfo.getId()) .orElseThrow(UserInfoNotExistsException::new); userInfo.setPassword(passwordEncoder.encode(password)); + // 判断新密码是否在最近几次使用过 + if (passwordChangeHistoryService.isRecentlyUsed(userInfo.getId(), userInfo.getPassword())){ + throw new BizException("新密码不能与最近使用过的密码相同"); + } userExpandInfo.setLastChangePasswordTime(LocalDateTime.now()).setInitialPassword(false); userInfoManager.updateById(userInfo); userExpandInfoManager.updateById(userExpandInfo); + passwordChangeHistoryService.saveChangeHistory(userInfo.getId(), userInfo.getPassword()); userAssistService.deleteEmailForgetCaptcha(email); eventPublisher.publishEvent(new UserUpdateEvent(this, userInfo.toDto())); } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/PasswordSecurityConfigDto.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/PasswordSecurityConfigDto.java new file mode 100644 index 00000000..826269ce --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/PasswordSecurityConfigDto.java @@ -0,0 +1,48 @@ +package cn.bootx.platform.iam.dto.security; + +import cn.bootx.platform.common.core.rest.dto.BaseDto; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 密码安全策略 + * @author xxm + * @since 2023-09-20 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Schema(title = "密码安全策略") +@Accessors(chain = true) +public class PasswordSecurityConfigDto extends BaseDto { + + @Schema(description = "最大密码错误数") + private Integer maxPwdErrorCount; + @Schema(description = "密码错误锁定时间(分钟)") + private Integer errorLockTime; + @Schema(description = "强制修改初始密码") + private Boolean requireChangePwd; + @Schema(description = "更新频率") + private Integer updateFrequency; + @Schema(description = "到期提醒(天数)") + private Integer expireRemind; + @Schema(description = "与登录名相同") + private Boolean sameAsLoginName; + @Schema(description = "不能与近期多少次密码相同") + private Integer recentPassword; + + /** + * 默认配置 + */ + public static PasswordSecurityConfigDto defaultObject() { + return new PasswordSecurityConfigDto() + .setMaxPwdErrorCount(5) + .setErrorLockTime(10) + .setRequireChangePwd(true) + .setUpdateFrequency(90) + .setExpireRemind(15) + .setSameAsLoginName(false) + .setRecentPassword(5); + } +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/param/security/PasswordSecurityConfigParam.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/param/security/PasswordSecurityConfigParam.java new file mode 100644 index 00000000..c5d0a23b --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/param/security/PasswordSecurityConfigParam.java @@ -0,0 +1,37 @@ +package cn.bootx.platform.iam.param.security; + +import cn.bootx.platform.common.core.annotation.QueryParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 密码安全策略 + * @author xxm + * @since 2023-09-20 + */ +@QueryParam(type = QueryParam.CompareTypeEnum.LIKE) +@Data +@Schema(title = "密码安全策略") +@Accessors(chain = true) +public class PasswordSecurityConfigParam { + + @Schema(description= "主键") + private Long id; + + @Schema(description = "最大密码错误数") + private Integer maxPwdErrorCount; + @Schema(description = "密码错误锁定时间(分钟)") + private Integer errorLockTime; + @Schema(description = "强制修改初始密码") + private Boolean requireChangePwd; + @Schema(description = "更新频率") + private Integer updateFrequency; + @Schema(description = "到期提醒(天数)") + private Integer expireRemind; + @Schema(description = "与登录名相同") + private Boolean sameAsLoginName; + @Schema(description = "不能与近期多少次密码相同") + private Integer recentPassword; + +} diff --git a/bootx-services/service-miniapp/src/main/java/cn/bootx/platform/miniapp/core/feedback/entity/FeedbackInfo.java b/bootx-services/service-miniapp/src/main/java/cn/bootx/platform/miniapp/core/feedback/entity/FeedbackInfo.java index 0b4eca60..b1ed92f9 100644 --- a/bootx-services/service-miniapp/src/main/java/cn/bootx/platform/miniapp/core/feedback/entity/FeedbackInfo.java +++ b/bootx-services/service-miniapp/src/main/java/cn/bootx/platform/miniapp/core/feedback/entity/FeedbackInfo.java @@ -22,7 +22,6 @@ import java.time.LocalDateTime; @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) -//@DbTable(comment = "用户反馈信息") @TableName("miniapp_feedback_info") public class FeedbackInfo extends MpBaseEntity implements EntityBaseFunction { diff --git a/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsChannelConfig.java b/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsChannelConfig.java index d9c4577d..ebc10ac6 100644 --- a/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsChannelConfig.java +++ b/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsChannelConfig.java @@ -25,7 +25,6 @@ import static com.baomidou.mybatisplus.annotation.FieldStrategy.IGNORED; */ @EqualsAndHashCode(callSuper = true) @Data -//@DbTable(comment = "短信渠道配置") @Accessors(chain = true) @TableName("notice_sms_channel_config") public class SmsChannelConfig extends MpBaseEntity implements EntityBaseFunction { diff --git a/bootx-start/src/main/resources/application-dev.yml b/bootx-start/src/main/resources/application-dev.yml index 3f40e44f..f8e77ecf 100644 --- a/bootx-start/src/main/resources/application-dev.yml +++ b/bootx-start/src/main/resources/application-dev.yml @@ -79,12 +79,12 @@ logging: level: cn.bootx.**: debug org.springframework.data.mongodb.core: debug + org.springframework.jdbc.core: debug # 自动建表配置 table-modify: update-type: update scan-package: cn.bootx.platform database-type: mysql - # Swagger 增强版 knife4j: enable: true -- Gitee From 64e909a525a6aee4ff787674d806570a036fb6ce Mon Sep 17 00:00:00 2001 From: xxm1995 Date: Thu, 21 Sep 2023 19:52:32 +0800 Subject: [PATCH 13/26] =?UTF-8?q?feat=20=E5=AE=89=E5=85=A8=E7=AD=96?= =?UTF-8?q?=E7=95=A5=E6=94=AF=E6=8C=81=E5=AF=86=E7=A0=81=E8=BF=87=E6=9C=9F?= =?UTF-8?q?,=20=E5=88=9D=E5=A7=8B=E5=AF=86=E7=A0=81=E5=BC=BA=E5=88=B6?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=AD=89=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 9 +- .../AbstractAuthentication.java | 36 ++------ .../authentication/UserInfoStatusCheck.java | 6 ++ .../platform/iam/code/UserStatusCode.java | 2 +- .../PasswordSecurityConfigController.java | 15 +++- .../iam/controller/UserAdminController.java | 8 +- .../core/auth/login/PasswordLoginHandler.java | 23 ++--- .../auth/login/WeChatAppletLoginHandler.java | 14 --- .../dao/PasswordChangeHistoryManager.java | 2 +- .../dao/PasswordLoginFailRecordManager.java | 8 ++ .../entity/PasswordSecurityConfig.java | 14 +-- .../service/PasswordChangeHistoryService.java | 82 ++++++++++++++++- .../PasswordLoginFailRecordService.java | 11 ++- .../PasswordSecurityConfigService.java | 2 +- .../iam/core/user/entity/UserExpandInfo.java | 3 + .../iam/core/user/entity/UserInfo.java | 8 +- .../core/user/service/UserAdminService.java | 10 +-- .../security/PasswordSecurityConfigDto.java | 20 ++--- .../dto/security/UserVerifyStateResult.java | 30 +++++++ .../iam/handler/UserInfoStatusCheckImpl.java | 87 +++++++++++++++++++ .../security/PasswordSecurityConfigParam.java | 14 +-- pom.xml | 2 +- 22 files changed, 291 insertions(+), 115 deletions(-) create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/UserVerifyStateResult.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/handler/UserInfoStatusCheckImpl.java diff --git a/_doc/Task.md b/_doc/Task.md index ff4bd7a3..59bb794f 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -4,10 +4,11 @@ - x 完整集成Knife4j, 支持增强功能 - 数据集功能 - 默认密码强制修改功能 -- 记录密码输入错误次数 -- 多次输错密码自动锁定功能 -- 记录密码更改记录 -- 密码多少天必须更改,且不能与前N次相同功能 +- x 记录密码输入错误次数 +- x 多次输错密码自动锁定功能 +- x 超过锁定时间后,再登录时解除锁定清空 +- x 记录密码更改记录,不能与前N次相同功能 +- 控制密码多少天必须更改 - 审计日志增加定时删除和一键清除超期日志功能 - 文件管理支持配置所属上传类型、是否被使用过、是否登陆后才可以访问 ## 1.3.x、1.4.x diff --git a/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/authentication/AbstractAuthentication.java b/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/authentication/AbstractAuthentication.java index 5f3ec4b2..d2b75fdb 100644 --- a/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/authentication/AbstractAuthentication.java +++ b/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/authentication/AbstractAuthentication.java @@ -1,11 +1,7 @@ package cn.bootx.platform.starter.auth.authentication; -import cn.bootx.platform.common.core.entity.UserDetail; -import cn.bootx.platform.starter.auth.configuration.AuthProperties; -import cn.bootx.platform.starter.auth.entity.AuthClient; import cn.bootx.platform.starter.auth.entity.AuthInfoResult; import cn.bootx.platform.starter.auth.entity.LoginAuthContext; -import cn.bootx.platform.starter.auth.exception.LoginFailureException; import cn.hutool.extra.spring.SpringUtil; import javax.validation.constraints.NotNull; @@ -24,7 +20,7 @@ public interface AbstractAuthentication { */ String getLoginType(); /** - * 获取终端编码 + * 获取用户状态检查接口的实现类 */ default UserInfoStatusCheck getUserInfoStatusCheck() { return SpringUtil.getBean(UserInfoStatusCheck.class); @@ -50,13 +46,6 @@ public interface AbstractAuthentication { @NotNull AuthInfoResult attemptAuthentication(LoginAuthContext context); - /** - * 对用户信息状态进行校验 - */ - default void userInfoStatusCheck(AuthInfoResult authInfoResult, LoginAuthContext context){ -// getUserInfoStatusCheck().check(authInfoResult, context); - } - /** * 认证后处理 */ @@ -71,25 +60,12 @@ public interface AbstractAuthentication { this.authenticationBefore(context); // 认证逻辑 AuthInfoResult authInfoResult = this.attemptAuthentication(context); - AuthClient authClient = context.getAuthClient(); // 添加用户信息到上下文中 - UserDetail userDetail = authInfoResult.getUserDetail(); - context.setUserDetail(userDetail); - // 判断是否开启了超级管理员 - AuthProperties authProperties = context.getAuthProperties(); - if (!authProperties.isEnableAdmin() && userDetail.isAdmin()) { - throw new LoginFailureException("未开启超级管理员权限"); - } - // 管理员跳过各种限制 - if (!userDetail.isAdmin()) { - // 判断用户是否拥有认证应用的权限 - if (!userDetail.getAppIds().contains(authClient.getId())) { - throw new LoginFailureException("该用户不拥有该终端的权限"); - } - // 用户信息和状态检查 - this.userInfoStatusCheck(authInfoResult, context); - } - authenticationAfter(authInfoResult, context); + context.setUserDetail(authInfoResult.getUserDetail()); + // 检查用户信息和状态 + this.getUserInfoStatusCheck().check(authInfoResult, context); + // 认证后处理 + this.authenticationAfter(authInfoResult, context); return authInfoResult; } diff --git a/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/authentication/UserInfoStatusCheck.java b/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/authentication/UserInfoStatusCheck.java index 95a7933d..130678ea 100644 --- a/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/authentication/UserInfoStatusCheck.java +++ b/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/authentication/UserInfoStatusCheck.java @@ -9,5 +9,11 @@ import cn.bootx.platform.starter.auth.entity.LoginAuthContext; * @since 2023/9/20 */ public interface UserInfoStatusCheck { + + /** + * + * @param authInfoResult 认证返回结果 + * @param context 登录认证上下文 + */ void check(AuthInfoResult authInfoResult, LoginAuthContext context); } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/code/UserStatusCode.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/code/UserStatusCode.java index 07f9d17d..2d3e801c 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/code/UserStatusCode.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/code/UserStatusCode.java @@ -11,7 +11,7 @@ public interface UserStatusCode { /** 正常 */ int NORMAL = 1; - /** 多次登录失败被锁定 */ + /** 锁定 多次登录失败 */ int LOCK = 2; /** 封禁 */ diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/PasswordSecurityConfigController.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/PasswordSecurityConfigController.java index c4bf5ead..2d6ad1c7 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/PasswordSecurityConfigController.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/PasswordSecurityConfigController.java @@ -2,9 +2,11 @@ package cn.bootx.platform.iam.controller; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; +import cn.bootx.platform.iam.core.security.password.service.PasswordChangeHistoryService; import cn.bootx.platform.iam.core.security.password.service.PasswordSecurityConfigService; import cn.bootx.platform.iam.dto.security.PasswordSecurityConfigDto; import cn.bootx.platform.iam.param.security.PasswordSecurityConfigParam; +import cn.bootx.platform.starter.auth.util.SecurityUtil; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -21,6 +23,7 @@ import org.springframework.web.bind.annotation.*; @RequiredArgsConstructor public class PasswordSecurityConfigController { private final PasswordSecurityConfigService passwordSecurityConfigService; + private final PasswordChangeHistoryService passwordChangeHistoryService; @Operation( summary = "添加") @PostMapping(value = "/add") @@ -37,8 +40,14 @@ public class PasswordSecurityConfigController { } @Operation( summary = "获取配置项") - @GetMapping(value = "/findByDefault") - public ResResult findByDefault(){ - return Res.ok(passwordSecurityConfigService.findByDefault()); + @GetMapping(value = "/getDefault") + public ResResult getDefault(){ + return Res.ok(passwordSecurityConfigService.getDefault()); + } + + @Operation(summary = "查看要修改的密码是否重复") + @GetMapping("/isRecentlyUsed") + public ResResult isRecentlyUsed(String password) { + return Res.ok(passwordChangeHistoryService.isRecentlyUsed(SecurityUtil.getUserId(),password)); } } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/UserAdminController.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/UserAdminController.java index 53250294..173a4114 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/UserAdminController.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/UserAdminController.java @@ -92,16 +92,16 @@ public class UserAdminController { return Res.ok(); } - @OperateLog(title = "锁定用户", businessType = OperateLog.BusinessType.UPDATE, saveParam = true) - @Operation(summary = "锁定用户") + @OperateLog(title = "封禁用户", businessType = OperateLog.BusinessType.UPDATE, saveParam = true) + @Operation(summary = "封禁用户") @PostMapping("/lock") public ResResult lock(Long userId) { userAdminService.lock(userId); return Res.ok(); } - @OperateLog(title = "批量锁定用户", businessType = OperateLog.BusinessType.UPDATE, saveParam = true) - @Operation(summary = "批量锁定用户") + @OperateLog(title = "批量封禁用户", businessType = OperateLog.BusinessType.UPDATE, saveParam = true) + @Operation(summary = "批量封禁用户") @PostMapping("/lockBatch") public ResResult lockBatch(@RequestBody @NotEmpty(message = "用户集合不可为空") List userIds) { userAdminService.lockBatch(userIds); diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/PasswordLoginHandler.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/PasswordLoginHandler.java index bf157c74..e5284ae6 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/PasswordLoginHandler.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/PasswordLoginHandler.java @@ -4,7 +4,6 @@ import cn.bootx.platform.baseapi.core.captcha.service.CaptchaService; import cn.bootx.platform.common.core.entity.UserDetail; import cn.bootx.platform.common.core.exception.BizException; import cn.bootx.platform.common.core.util.RegexUtil; -import cn.bootx.platform.iam.code.UserStatusCode; import cn.bootx.platform.iam.core.security.password.service.PasswordLoginFailRecordService; import cn.bootx.platform.iam.core.user.service.UserQueryService; import cn.bootx.platform.iam.dto.user.UserInfoDto; @@ -103,28 +102,20 @@ public class PasswordLoginHandler implements UsernamePasswordAuthentication { throw new LoginFailureException(userDetail.getUsername(), errMsg); } } - // 管理员跳过各种校验 - if (!userDetail.isAdmin()) { - // 账号状态 - if (Objects.equals(userDetail.getStatus(), UserStatusCode.LOCK)) { - throw new LoginFailureException(username, "密码多次输入错误,已被冻结"); - } - if (!Objects.equals(userDetail.getStatus(), UserStatusCode.NORMAL)) { - throw new LoginFailureException(username, "账号不是正常状态,无法登陆"); - } - } - // 非管理员登录成功后清除错误次数等信息 - if (!userDetail.isAdmin()){ - passwordLoginFailRecordService.clearFailCount(userDetail.getId()); - } return new AuthInfoResult().setId(userDetail.getId()).setUserDetail(userDetail); } /** - * 认证后操作 + * 认证后操作 将验证码设置为失效 */ @Override public void authenticationAfter(AuthInfoResult authInfoResult, LoginAuthContext context) { + UserDetail userDetail = authInfoResult.getUserDetail(); + // 非管理员登录成功后清除错误次数等信息 + if (!userDetail.isAdmin()){ + passwordLoginFailRecordService.clearFailCount(userDetail.getId()); + } + // 清除验证码 String captchaKey = this.obtainCaptchaKey(context.getRequest()); captchaService.deleteImgCaptcha(captchaKey); } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatAppletLoginHandler.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatAppletLoginHandler.java index 448fe580..dac59325 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatAppletLoginHandler.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatAppletLoginHandler.java @@ -2,7 +2,6 @@ package cn.bootx.platform.iam.core.auth.login; import cn.binarywang.wx.miniapp.api.WxMaService; import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; -import cn.bootx.platform.common.core.exception.BizException; import cn.bootx.platform.common.jackson.util.JacksonUtil; import cn.bootx.platform.iam.core.third.dao.UserThirdManager; import cn.bootx.platform.iam.core.third.entity.UserThird; @@ -12,27 +11,19 @@ import cn.bootx.platform.iam.core.user.dao.UserInfoManager; import cn.bootx.platform.iam.core.user.entity.UserInfo; import cn.bootx.platform.starter.auth.authentication.OpenIdAuthentication; import cn.bootx.platform.starter.auth.code.AuthLoginTypeCode; -import cn.bootx.platform.starter.auth.configuration.AuthProperties; import cn.bootx.platform.starter.auth.entity.AuthInfoResult; import cn.bootx.platform.starter.auth.entity.LoginAuthContext; import cn.bootx.platform.starter.auth.entity.ThirdAuthCode; import cn.bootx.platform.starter.auth.exception.LoginFailureException; import cn.bootx.platform.starter.auth.util.SecurityUtil; import cn.bootx.platform.starter.wechat.core.user.service.WeChatUserService; -import cn.hutool.http.HttpUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import me.chanjar.weixin.common.error.WxErrorException; -import me.chanjar.weixin.mp.bean.result.WxMpMassUploadResult; import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthUser; -import org.checkerframework.checker.units.qual.A; import org.springframework.stereotype.Component; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; - @Slf4j @Component @RequiredArgsConstructor @@ -82,11 +73,6 @@ public class WeChatAppletLoginHandler implements OpenIdAuthentication { return new AuthInfoResult().setUserDetail(userInfo.toUserDetail()).setId(userInfo.getId()); } - @Override - public void authenticationAfter(AuthInfoResult authInfoResult, LoginAuthContext context) { - OpenIdAuthentication.super.authenticationAfter(authInfoResult, context); - } - @Override public AuthInfoResult authentication(LoginAuthContext context) { return OpenIdAuthentication.super.authentication(context); diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordChangeHistoryManager.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordChangeHistoryManager.java index b6a8f4df..eb0ddb52 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordChangeHistoryManager.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordChangeHistoryManager.java @@ -20,7 +20,7 @@ public class PasswordChangeHistoryManager extends BaseManager findCountAllByUser(Long userId, int count){ + public List findAllByUserAndCount(Long userId, int count){ Page page = new Page<>(1,count); page.setSearchCount(false); return lambdaQuery() diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordLoginFailRecordManager.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordLoginFailRecordManager.java index dc95cdb6..fbfaaf57 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordLoginFailRecordManager.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/dao/PasswordLoginFailRecordManager.java @@ -6,6 +6,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Repository; import java.util.List; +import java.util.Optional; /** * 密码登录失败记录 @@ -17,6 +18,13 @@ import java.util.List; public class PasswordLoginFailRecordManager extends BaseManager { + /** + * 根据用户id查询 + */ + public Optional findByUserId(Long userId){ + return findByField(PasswordLoginFailRecord::getUserId,userId); + } + /** * 批量清除登录失败次数 */ diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java index 41841333..2c055eee 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java @@ -26,31 +26,31 @@ public class PasswordSecurityConfig extends MpBaseEntity implements EntityBaseFu /** 最大密码错误数 */ @DbComment("最大密码错误数") - private Integer maxPwdErrorCount; + private int maxPwdErrorCount; /** 密码错误锁定时间(分钟) */ @DbComment("密码错误锁定时间(分钟)") - private Integer errorLockTime; + private int errorLockTime; /** 强制修改初始密码 */ @DbComment("强制修改初始密码") - private Boolean requireChangePwd; + private boolean requireChangePwd; /** 更新频率(天数) */ @DbComment("更新频率") - private Integer updateFrequency; + private int updateFrequency; /** 到期提醒(天数) */ @DbComment("到期提醒(天数)") - private Integer expireRemind; + private int expireRemind; /** 与登录名相同 */ @DbComment("与登录名相同") - private Boolean sameAsLoginName; + private boolean sameAsLoginName; /** 不能与近期多少次密码相同 */ @DbComment("不能与近期多少次密码相同") - private Integer recentPassword; + private int recentPassword; /** 创建对象 */ public static PasswordSecurityConfig init(PasswordSecurityConfigParam in) { diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordChangeHistoryService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordChangeHistoryService.java index 2b0b22eb..8882b516 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordChangeHistoryService.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordChangeHistoryService.java @@ -1,13 +1,21 @@ package cn.bootx.platform.iam.core.security.password.service; +import cn.bootx.platform.common.core.util.CollUtil; +import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.bootx.platform.iam.core.security.password.dao.PasswordChangeHistoryManager; import cn.bootx.platform.iam.core.security.password.entity.PasswordChangeHistory; +import cn.bootx.platform.iam.core.user.dao.UserExpandInfoManager; +import cn.bootx.platform.iam.core.user.entity.UserExpandInfo; import cn.bootx.platform.iam.dto.security.PasswordSecurityConfigDto; +import cn.bootx.platform.iam.dto.security.UserVerifyStateResult; +import cn.bootx.platform.iam.exception.user.UserInfoNotExistsException; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; +import java.time.temporal.ChronoUnit; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -23,6 +31,7 @@ import java.util.stream.Collectors; public class PasswordChangeHistoryService { private final PasswordChangeHistoryManager passwordChangeHistoryManager; private final PasswordSecurityConfigService passwordSecurityConfigService; + private final UserExpandInfoManager userExpandInfoManager; /** * 保存密码更改历史 @@ -53,10 +62,77 @@ public class PasswordChangeHistoryService { * 查看要修改的密码是否重复 */ public boolean isRecentlyUsed(Long userId,String password){ - PasswordSecurityConfigDto securityConfig = passwordSecurityConfigService.findByDefault(); - Integer recentPassword = securityConfig.getRecentPassword(); - List changeHistories = passwordChangeHistoryManager.findCountAllByUser(userId, recentPassword); + PasswordSecurityConfigDto securityConfig = passwordSecurityConfigService.getDefault(); + Integer recentPasswordCount = securityConfig.getRecentPassword(); + List changeHistories = passwordChangeHistoryManager.findAllByUserAndCount(userId, recentPasswordCount); return changeHistories.stream() .anyMatch(o-> Objects.equals(o.getPassword(), password)); } + + /** + * 判断用户密码是否需要强制进行更改 + */ + public boolean isPasswordExpire(Long userId){ + PasswordSecurityConfigDto securityConfig = passwordSecurityConfigService.getDefault(); + List changeHistoryList = passwordChangeHistoryManager.findAllByUserAndCount(userId, 1); + if (CollUtil.isNotEmpty(changeHistoryList)){ + PasswordChangeHistory passwordChangeHistory = changeHistoryList.get(0); + LocalDateTime createTime = passwordChangeHistory.getCreateTime(); + // 判断距今的时间是否超过密码过期时间 + long day = LocalDateTimeUtil.between(createTime, LocalDateTime.now(), ChronoUnit.DAYS); + return day > securityConfig.getUpdateFrequency(); + } + return false; + } + + /** + * 是否进行提醒密码修改倒计时 + */ + public int getPasswordExpire(Long userId){ + PasswordSecurityConfigDto securityConfig = passwordSecurityConfigService.getDefault(); + List changeHistoryList = passwordChangeHistoryManager.findAllByUserAndCount(userId, 1); + if (CollUtil.isNotEmpty(changeHistoryList)){ + PasswordChangeHistory passwordChangeHistory = changeHistoryList.get(0); + LocalDateTime createTime = passwordChangeHistory.getCreateTime(); + // 判断距今的时间是否超过密码过期时间 + int day = (int) LocalDateTimeUtil.between(createTime, LocalDateTime.now(), ChronoUnit.DAYS); + // 是否满足提醒修改密码的时间 + if(day < securityConfig.getExpireRemind()){ + return securityConfig.getUpdateFrequency() - day; + } + } + return 0; + } + + /** + * 验证状态 + */ + public UserVerifyStateResult verifyUserPassword(Long userId){ + + PasswordSecurityConfigDto securityConfig = passwordSecurityConfigService.getDefault(); + // 判断用户初始化密码是否需要修改 + UserExpandInfo userInfo = userExpandInfoManager.findById(userId) + .orElseThrow(UserInfoNotExistsException::new); + if (userInfo.isInitialPassword() && securityConfig.isRequireChangePwd()){ + return UserVerifyStateResult.fail("用户初始密码需要修改"); + } + // 判断用户密码是否需要强制进行更改 + List changeHistoryList = passwordChangeHistoryManager.findAllByUserAndCount(userId, 1); + if (CollUtil.isNotEmpty(changeHistoryList)){ + PasswordChangeHistory passwordChangeHistory = changeHistoryList.get(0); + LocalDateTime createTime = passwordChangeHistory.getCreateTime(); + // 判断距今的时间是否超过密码过期时间 + int keepPswdDay = (int) LocalDateTimeUtil.between(createTime, LocalDateTime.now(), ChronoUnit.DAYS); + int dealDay = securityConfig.getUpdateFrequency() - keepPswdDay; + // 判断密码是否已经过期 + if( dealDay <= 0 ){ + return UserVerifyStateResult.fail("密码已过期,需要进行修改后才可以使用"); + } + // 判断是否满足密码修改的倒计时提醒 + if (keepPswdDay < securityConfig.getExpireRemind()){ + return UserVerifyStateResult.fail("密码已过期,需要进行修改后才可以使用"); + } + } + return UserVerifyStateResult.success(); + } } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java index 6cdd0c10..c267acbb 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java @@ -25,15 +25,22 @@ public class PasswordLoginFailRecordService { private final PasswordSecurityConfigService passwordSecurityConfigService; + + /** + * 获取 密码登录失败记录 + */ + public void get(){ + + } /** * 登录失败的错误处理 */ public String passwordError(Long userId){ // 密码安全配置 - PasswordSecurityConfigDto securityConfig = passwordSecurityConfigService.findByDefault(); + PasswordSecurityConfigDto securityConfig = passwordSecurityConfigService.getDefault(); // 更新错误次数 - PasswordLoginFailRecord loginFailRecord = passwordLoginFailRecordManager.findById(userId) + PasswordLoginFailRecord loginFailRecord = passwordLoginFailRecordManager.findByUserId(userId) .orElse(new PasswordLoginFailRecord() .setFailCount(0) .setUserId(userId)); diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordSecurityConfigService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordSecurityConfigService.java index 9c949867..3e4acc28 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordSecurityConfigService.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordSecurityConfigService.java @@ -50,7 +50,7 @@ public class PasswordSecurityConfigService { /** * 获取配置项, 如有多个, 则取第一个并删除旧的数据, 如果未配置, 则取系统默认配置 */ - public PasswordSecurityConfigDto findByDefault(){ + public PasswordSecurityConfigDto getDefault(){ List configs = passwordSecurityConfigManager.findAll(); if (configs.size()==1){ return configs.get(0).toDto(); diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/entity/UserExpandInfo.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/entity/UserExpandInfo.java index d567b083..dcbff2e0 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/entity/UserExpandInfo.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/entity/UserExpandInfo.java @@ -36,6 +36,9 @@ public class UserExpandInfo extends MpBaseEntity implements EntityBaseFunction userIds) { userInfoManager.setUpStatusBatch(userIds, UserStatusCode.BAN); @@ -152,11 +152,11 @@ public class UserAdminService { UserInfo userInfo = UserInfo.init(userInfoParam); userInfo.setAdmin(false) .setStatus(UserStatusCode.NORMAL) - .setPassword(passwordEncoder.encode(userInfo.getPassword())) - .setRegisterTime(LocalDateTime.now()); + .setPassword(passwordEncoder.encode(userInfo.getPassword())); userInfoManager.save(userInfo); // 扩展信息 - UserExpandInfo userExpandInfo = new UserExpandInfo(); + UserExpandInfo userExpandInfo = new UserExpandInfo() + .setRegisterTime(LocalDateTime.now()); userExpandInfo.setId(userInfo.getId()); passwordChangeHistoryService.saveChangeHistory(userInfo.getId(), userInfo.getPassword()); userExpandInfoManager.save(userExpandInfo); diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/PasswordSecurityConfigDto.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/PasswordSecurityConfigDto.java index 826269ce..95e515db 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/PasswordSecurityConfigDto.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/PasswordSecurityConfigDto.java @@ -18,19 +18,19 @@ import lombok.experimental.Accessors; public class PasswordSecurityConfigDto extends BaseDto { @Schema(description = "最大密码错误数") - private Integer maxPwdErrorCount; + private int maxPwdErrorCount; @Schema(description = "密码错误锁定时间(分钟)") - private Integer errorLockTime; + private int errorLockTime; @Schema(description = "强制修改初始密码") - private Boolean requireChangePwd; - @Schema(description = "更新频率") - private Integer updateFrequency; - @Schema(description = "到期提醒(天数)") - private Integer expireRemind; - @Schema(description = "与登录名相同") - private Boolean sameAsLoginName; + private boolean requireChangePwd; + @Schema(description = "密码更新频率(天)") + private int updateFrequency; + @Schema(description = "到期提醒(天)") + private int expireRemind; + @Schema(description = "允许与登录名相同") + private boolean sameAsLoginName; @Schema(description = "不能与近期多少次密码相同") - private Integer recentPassword; + private int recentPassword; /** * 默认配置 diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/UserVerifyStateResult.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/UserVerifyStateResult.java new file mode 100644 index 00000000..3215ee01 --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/UserVerifyStateResult.java @@ -0,0 +1,30 @@ +package cn.bootx.platform.iam.dto.security; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 用户认证状态结果 + * @author xxm + * @since 2023/9/21 + */ +@Data +@Accessors(chain = true) +@Schema(title = "用户认证状态结果") +public class UserVerifyStateResult { + + /** 验证是否通过 */ + private boolean verify; + /** 认证失败原因 */ + private String reason; + + public static UserVerifyStateResult success(){ + return new UserVerifyStateResult().setVerify(true); + } + + public static UserVerifyStateResult fail(String reason) { + return new UserVerifyStateResult().setVerify(false).setReason(reason); + } + +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/handler/UserInfoStatusCheckImpl.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/handler/UserInfoStatusCheckImpl.java new file mode 100644 index 00000000..87fecb82 --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/handler/UserInfoStatusCheckImpl.java @@ -0,0 +1,87 @@ +package cn.bootx.platform.iam.handler; + +import cn.bootx.platform.common.core.entity.UserDetail; +import cn.bootx.platform.common.core.util.LocalDateTimeUtil; +import cn.bootx.platform.iam.code.UserStatusCode; +import cn.bootx.platform.iam.core.security.password.dao.PasswordLoginFailRecordManager; +import cn.bootx.platform.iam.core.security.password.entity.PasswordLoginFailRecord; +import cn.bootx.platform.iam.core.security.password.service.PasswordLoginFailRecordService; +import cn.bootx.platform.iam.core.security.password.service.PasswordSecurityConfigService; +import cn.bootx.platform.iam.core.user.service.UserAdminService; +import cn.bootx.platform.iam.dto.security.PasswordSecurityConfigDto; +import cn.bootx.platform.starter.auth.authentication.UserInfoStatusCheck; +import cn.bootx.platform.starter.auth.configuration.AuthProperties; +import cn.bootx.platform.starter.auth.entity.AuthClient; +import cn.bootx.platform.starter.auth.entity.AuthInfoResult; +import cn.bootx.platform.starter.auth.entity.LoginAuthContext; +import cn.bootx.platform.starter.auth.exception.LoginFailureException; +import cn.hutool.core.util.StrUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.time.LocalDateTime; +import java.time.temporal.ChronoUnit; +import java.util.Objects; + +/** + * 用户状态检查实现类 + * @author xxm + * @since 2023/9/21 + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class UserInfoStatusCheckImpl implements UserInfoStatusCheck { + private final PasswordLoginFailRecordManager loginFailRecordManager; + private final PasswordLoginFailRecordService loginFailRecordService; + private final PasswordSecurityConfigService securityConfigService; + private final UserAdminService userAdminService; + + /** + * 检查用户状态 + * @param authInfoResult 认证返回结果 + * @param context 登录认证上下文 + */ + @Override + public void check(AuthInfoResult authInfoResult, LoginAuthContext context) { + UserDetail userDetail = authInfoResult.getUserDetail(); + AuthClient authClient = context.getAuthClient(); + AuthProperties authProperties = context.getAuthProperties(); + // 判断是否开启了超级管理员 + if (!authProperties.isEnableAdmin() && userDetail.isAdmin()) { + throw new LoginFailureException("未开启超级管理员权限"); + } + // 管理员跳过各种限制 + if (userDetail.isAdmin()) { + return; + } + // 判断用户是否拥有认证应用的权限 + if (!userDetail.getAppIds().contains(authClient.getId())) { + throw new LoginFailureException("该用户不拥有该终端的权限"); + } + // 判断用户是否被禁用 + if (Objects.equals(userDetail.getStatus(), UserStatusCode.BAN)){ + throw new LoginFailureException("该用户已被禁用"); + } + + // 是否密码错误被锁定 + if (Objects.equals(userDetail.getStatus(), UserStatusCode.LOCK)){ + PasswordSecurityConfigDto securityConfig = securityConfigService.getDefault(); + PasswordLoginFailRecord loginFailRecord = loginFailRecordManager.findByUserId(userDetail.getId()) + .orElse(null); + if (Objects.isNull(loginFailRecord)){ + throw new LoginFailureException("该用户已被锁定,请联系管理员进行解锁"); + } + // 判断锁定时间是否已经结束, 结束了就清空错误次数, 并对用户进行解锁 + LocalDateTime failOverTime = LocalDateTimeUtil.offset(loginFailRecord.getFailTime(), securityConfig.getErrorLockTime(), ChronoUnit.MINUTES); + long seconds = LocalDateTimeUtil.between(LocalDateTime.now(), failOverTime, ChronoUnit.SECONDS); + if (seconds>0){ + loginFailRecordService.clearFailCount(userDetail.getId()); + userAdminService.unlock(seconds); + } else { + throw new LoginFailureException(StrUtil.format("该用户已被锁定,请 {} 秒后再试",seconds)); + } + } + } +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/param/security/PasswordSecurityConfigParam.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/param/security/PasswordSecurityConfigParam.java index c5d0a23b..cc398363 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/param/security/PasswordSecurityConfigParam.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/param/security/PasswordSecurityConfigParam.java @@ -20,18 +20,18 @@ public class PasswordSecurityConfigParam { private Long id; @Schema(description = "最大密码错误数") - private Integer maxPwdErrorCount; + private int maxPwdErrorCount; @Schema(description = "密码错误锁定时间(分钟)") - private Integer errorLockTime; + private int errorLockTime; @Schema(description = "强制修改初始密码") - private Boolean requireChangePwd; + private boolean requireChangePwd; @Schema(description = "更新频率") - private Integer updateFrequency; + private int updateFrequency; @Schema(description = "到期提醒(天数)") - private Integer expireRemind; + private int expireRemind; @Schema(description = "与登录名相同") - private Boolean sameAsLoginName; + private boolean sameAsLoginName; @Schema(description = "不能与近期多少次密码相同") - private Integer recentPassword; + private int recentPassword; } diff --git a/pom.xml b/pom.xml index 91520822..9ee74013 100644 --- a/pom.xml +++ b/pom.xml @@ -119,7 +119,7 @@ 2.2.5 2.7.0 2.2.0 - 1.5.4.beta2 + 1.5.4.beta3 -- Gitee From c1349677a0501fcfe979fcc7ca4ca42fcef18cc9 Mon Sep 17 00:00:00 2001 From: xxm1995 Date: Mon, 25 Sep 2023 17:21:20 +0800 Subject: [PATCH 14/26] =?UTF-8?q?feat=20=E5=AE=89=E5=85=A8=E7=AD=96?= =?UTF-8?q?=E7=95=A5=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bootx-services/pom.xml | 1 - .../platform/iam/code/CaptchaTypeCode.java | 9 ++++ .../PasswordSecurityConfigController.java | 2 +- .../UserSecurityConfigController.java | 18 ++++++++ .../iam/core/client/entity/LonginType.java | 5 +++ .../service/PasswordChangeHistoryService.java | 6 +-- .../{ => entity}/PlatformSecurityConfig.java | 5 ++- .../convert/LoginSecurityConfigConvert.java | 4 +- .../dao/LoginSecurityConfigManager.java | 4 +- .../dao/LoginSecurityConfigMapper.java | 4 +- .../entity/LoginSecurityConfig.java | 5 ++- .../service/LoginSecurityConfigService.java | 6 +-- .../service/UserSecurityConfigService.java | 24 +++++++++++ .../iam/core/user/entity/UserExpandInfo.java | 4 ++ .../iam/core/user/entity/UserInfo.java | 3 -- .../core/user/service/UserAdminService.java | 1 - .../dto/security/UserCheckSecurityResult.java | 26 ++++++++++++ .../platform/iam/dto/user/UserInfoDto.java | 3 -- bootx-services/service-platform/pom.xml | 42 ------------------- pom.xml | 4 +- 20 files changed, 108 insertions(+), 68 deletions(-) create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/code/CaptchaTypeCode.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/UserSecurityConfigController.java rename bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/platform/{ => entity}/PlatformSecurityConfig.java (82%) rename bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/{login => user}/convert/LoginSecurityConfigConvert.java (80%) rename bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/{login => user}/dao/LoginSecurityConfigManager.java (90%) rename bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/{login => user}/dao/LoginSecurityConfigMapper.java (66%) rename bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/{login => user}/entity/LoginSecurityConfig.java (93%) rename bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/{login => user}/service/LoginSecurityConfigService.java (91%) create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/user/service/UserSecurityConfigService.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/UserCheckSecurityResult.java delete mode 100644 bootx-services/service-platform/pom.xml diff --git a/bootx-services/pom.xml b/bootx-services/pom.xml index d5293761..65c230bf 100644 --- a/bootx-services/pom.xml +++ b/bootx-services/pom.xml @@ -18,7 +18,6 @@ service-baseapi service-iam service-notice - service-platform diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/code/CaptchaTypeCode.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/code/CaptchaTypeCode.java new file mode 100644 index 00000000..81d95043 --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/code/CaptchaTypeCode.java @@ -0,0 +1,9 @@ +package cn.bootx.platform.iam.code; + +/** + * 验证码类型 + * @author xxm + * @since 2023/9/25 + */ +public interface CaptchaTypeCode { +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/PasswordSecurityConfigController.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/PasswordSecurityConfigController.java index 2d6ad1c7..4c102633 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/PasswordSecurityConfigController.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/PasswordSecurityConfigController.java @@ -39,7 +39,7 @@ public class PasswordSecurityConfigController { return Res.ok(); } - @Operation( summary = "获取配置项") + @Operation( summary = "获取配置") @GetMapping(value = "/getDefault") public ResResult getDefault(){ return Res.ok(passwordSecurityConfigService.getDefault()); diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/UserSecurityConfigController.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/UserSecurityConfigController.java new file mode 100644 index 00000000..affd6419 --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/UserSecurityConfigController.java @@ -0,0 +1,18 @@ +package cn.bootx.platform.iam.controller; + +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 用户安全配置管理 + * @author xxm + * @since 2023/9/25 + */ +@Tag(name = "用户安全配置管理") +@RestController +@RequestMapping("/user/security") +@RequiredArgsConstructor +public class UserSecurityConfigController { +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/client/entity/LonginType.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/client/entity/LonginType.java index f7d76f2f..f6847785 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/client/entity/LonginType.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/client/entity/LonginType.java @@ -5,6 +5,7 @@ import cn.bootx.platform.iam.core.client.convert.LoginTypeConvert; import cn.bootx.platform.iam.param.client.LoginTypeParam; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.platform.iam.dto.client.LoginTypeDto; +import cn.bootx.table.modify.annotation.DbTable; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -19,6 +20,7 @@ import lombok.experimental.Accessors; */ @EqualsAndHashCode(callSuper = true) @Data +@DbTable(isAppend = true) @TableName("iam_login_type") @Accessors(chain = true) public class LonginType extends MpBaseEntity implements EntityBaseFunction { @@ -37,6 +39,9 @@ public class LonginType extends MpBaseEntity implements EntityBaseFunction { @@ -37,6 +40,7 @@ public class UserExpandInfo extends MpBaseEntity implements EntityBaseFunction userIds) { userInfoManager.setUpStatusBatch(userIds, UserStatusCode.BAN); - eventPublisher.publishEvent(new UserLockEvent(this, userIds)); } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/UserCheckSecurityResult.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/UserCheckSecurityResult.java new file mode 100644 index 00000000..7aec3226 --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/UserCheckSecurityResult.java @@ -0,0 +1,26 @@ +package cn.bootx.platform.iam.dto.security; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 用户将进行哪些安全状态的检查 + * @author xxm + * @since 2023/9/25 + */ +@Data +@Accessors(chain = true) +@Schema(title = "用户将进行哪些状态的检查") +public class UserCheckSecurityResult { + + @Schema(description = "是否进行安全检查") + private Boolean requireChangePwd; + + @Schema(description = "是否进行密码修改倒计时提醒") + private Boolean expireRemindPwd; + + @Schema(description = "是否进行密码修改验证") + private Boolean expireChangePwd; + +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/user/UserInfoDto.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/user/UserInfoDto.java index 68dba601..678c9da9 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/user/UserInfoDto.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/user/UserInfoDto.java @@ -52,9 +52,6 @@ public class UserInfoDto extends BaseDto implements Serializable { @Schema(description = "终端id列表") private List clientIdList = new ArrayList<>(); - @Schema(description = "注册来源") - private String source; - @Schema(description = "是否管理员") private boolean admin; diff --git a/bootx-services/service-platform/pom.xml b/bootx-services/service-platform/pom.xml deleted file mode 100644 index b758429a..00000000 --- a/bootx-services/service-platform/pom.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - 4.0.0 - - cn.bootx.platform - bootx-services - 1.3.4 - - - service-platform - jar - - - - - com.mysql - mysql-connector-j - runtime - - - - - com.baomidou - mybatis-plus-boot-starter - - - - - cn.bootx.platform - service-baseapi - ${bootx-platform.version} - - - - cn.bootx.platform - common-starter-audit-log - - - - diff --git a/pom.xml b/pom.xml index 9ee74013..6c5804d2 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.springframework.boot spring-boot-starter-parent - 2.7.13 + 2.7.16 @@ -98,7 +98,7 @@ 3.3.2 2.4.0 2.9.7 - 1.34.0 + 1.36.0 1.16.5 8.5.4 3.5.3.2 -- Gitee From bf9aa85665f14197f34cfe2c9d3154994e4adc9a Mon Sep 17 00:00:00 2001 From: xxm Date: Fri, 29 Sep 2023 20:17:12 +0800 Subject: [PATCH 15/26] =?UTF-8?q?doc=20=E5=A2=9E=E5=8A=A0=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bootx-commons/common-spring/pom.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bootx-commons/common-spring/pom.xml b/bootx-commons/common-spring/pom.xml index 96e96c51..6ce19bd4 100644 --- a/bootx-commons/common-spring/pom.xml +++ b/bootx-commons/common-spring/pom.xml @@ -13,10 +13,12 @@ jar + org.springframework.boot spring-boot-starter-web + org.springframework.boot spring-boot-starter-aop -- Gitee From d8b149858cf7d339ddacaef6b557b254159a0115 Mon Sep 17 00:00:00 2001 From: nws <3239709711@qq.com> Date: Wed, 11 Oct 2023 23:24:17 +0800 Subject: [PATCH 16/26] =?UTF-8?q?feat=20=E6=97=A5=E5=BF=97=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E4=B9=8B=E5=89=8D=E5=A4=A9=E6=95=B0=E4=B9=8B=E5=89=8D?= =?UTF-8?q?=E5=8A=9F=E8=83=BD,=20=E6=9B=B4=E6=94=B9=E7=BB=88=E7=AB=AF?= =?UTF-8?q?=E5=92=8C=E7=99=BB=E5=BD=95=E6=96=B9=E5=BC=8F=E7=9A=84=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 2 +- .../audit/log/controller/LoginLogController.java | 2 +- .../audit/log/core/db/dao/LoginLogDbManager.java | 9 ++++++++- .../audit/log/core/db/dao/OperateLogDbManager.java | 11 +++++++++++ .../audit/log/core/db/service/LoginLogDbService.java | 9 +++++++-- .../log/core/db/service/OperateLogDbService.java | 9 ++++++++- .../log/core/mongo/dao/LoginLogMongoRepository.java | 4 ++++ .../log/core/mongo/dao/OperateLogMongoRepository.java | 4 +++- .../log/core/mongo/service/LoginLogMongoService.java | 8 ++++++-- .../core/mongo/service/OperateLogMongoService.java | 8 +++++++- .../starter/audit/log/service/LoginLogService.java | 2 +- .../starter/audit/log/service/OperateLogService.java | 2 +- .../bootx/platform/iam/core/client/entity/Client.java | 6 ++---- .../platform/iam/core/client/entity/LonginType.java | 8 +++----- .../iam/core/client/service/LoginTypeService.java | 6 +++--- .../cn/bootx/platform/iam/dto/client/ClientDto.java | 2 +- .../bootx/platform/iam/dto/client/LoginTypeDto.java | 2 +- 17 files changed, 68 insertions(+), 26 deletions(-) diff --git a/_doc/Task.md b/_doc/Task.md index 59bb794f..d6f7a66b 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -28,4 +28,4 @@ - 前端首页分析页面需要重做,接入真实数据 - 可视化大屏端支持一键登录 - 可视化大屏支持快速对接数据集 -- Websocket管理页 +- Websocket连接管理页 diff --git a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/controller/LoginLogController.java b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/controller/LoginLogController.java index a6d9570c..3e67ae2c 100644 --- a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/controller/LoginLogController.java +++ b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/controller/LoginLogController.java @@ -42,7 +42,7 @@ public class LoginLogController { @Operation(summary = "清除指定天数之前的日志") @DeleteMapping("/deleteByDay") - public ResResult deleteByDay(Integer deleteDay){ + public ResResult deleteByDay(int deleteDay){ loginLogService.deleteByDay(deleteDay); return Res.ok(); } diff --git a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/db/dao/LoginLogDbManager.java b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/db/dao/LoginLogDbManager.java index e6999a21..24964e10 100644 --- a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/db/dao/LoginLogDbManager.java +++ b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/db/dao/LoginLogDbManager.java @@ -1,16 +1,18 @@ package cn.bootx.platform.starter.audit.log.core.db.dao; import cn.bootx.platform.common.core.rest.param.PageParam; +import cn.bootx.platform.common.mybatisplus.impl.BaseManager; import cn.bootx.platform.common.mybatisplus.util.MpUtil; import cn.bootx.platform.starter.audit.log.core.db.entity.LoginLogDb; import cn.bootx.platform.starter.audit.log.param.LoginLogParam; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Repository; +import java.time.LocalDateTime; + /** * 登录日志 * @@ -32,4 +34,9 @@ public class LoginLogDbManager extends BaseManager .page(mpPage); } + public void deleteByOffset(LocalDateTime offset) { + lambdaUpdate() + .le(LoginLogDb::getLoginTime, offset) + .remove(); + } } diff --git a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/db/dao/OperateLogDbManager.java b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/db/dao/OperateLogDbManager.java index 3e9f5c03..269e161d 100644 --- a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/db/dao/OperateLogDbManager.java +++ b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/db/dao/OperateLogDbManager.java @@ -11,6 +11,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; import java.util.Objects; /** @@ -36,4 +37,14 @@ public class OperateLogDbManager extends BaseManager { + int deleteByLoginTimeBefore(LocalDateTime offset); + } diff --git a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/mongo/dao/OperateLogMongoRepository.java b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/mongo/dao/OperateLogMongoRepository.java index 14b8d1aa..fea30ae7 100644 --- a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/mongo/dao/OperateLogMongoRepository.java +++ b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/mongo/dao/OperateLogMongoRepository.java @@ -3,6 +3,8 @@ package cn.bootx.platform.starter.audit.log.core.mongo.dao; import cn.bootx.platform.starter.audit.log.core.mongo.entity.OperateLogMongo; import org.springframework.data.mongodb.repository.MongoRepository; +import java.time.LocalDateTime; + /** * mongo持久化方式 * @@ -10,5 +12,5 @@ import org.springframework.data.mongodb.repository.MongoRepository; * @since 2021/12/2 */ public interface OperateLogMongoRepository extends MongoRepository { - + int deleteByOperateTimeBefore(LocalDateTime offset); } diff --git a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/mongo/service/LoginLogMongoService.java b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/mongo/service/LoginLogMongoService.java index f1335116..4969c31d 100644 --- a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/mongo/service/LoginLogMongoService.java +++ b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/mongo/service/LoginLogMongoService.java @@ -1,5 +1,6 @@ package cn.bootx.platform.starter.audit.log.core.mongo.service; +import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.bootx.platform.starter.audit.log.param.LoginLogParam; import cn.bootx.platform.starter.audit.log.service.LoginLogService; import cn.bootx.platform.common.core.code.CommonCode; @@ -17,6 +18,8 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.data.domain.*; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; +import java.time.temporal.ChronoUnit; import java.util.List; import java.util.stream.Collectors; @@ -65,8 +68,9 @@ public class LoginLogMongoService implements LoginLogService { } @Override - public void deleteByDay(Integer deleteDay) { - + public void deleteByDay(int deleteDay) { + LocalDateTime offset = LocalDateTimeUtil.offset(LocalDateTime.now(), -deleteDay, ChronoUnit.DAYS); + repository.deleteByLoginTimeBefore(offset); } } diff --git a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/mongo/service/OperateLogMongoService.java b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/mongo/service/OperateLogMongoService.java index b5bfa64c..68ce5c13 100644 --- a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/mongo/service/OperateLogMongoService.java +++ b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/core/mongo/service/OperateLogMongoService.java @@ -1,5 +1,6 @@ package cn.bootx.platform.starter.audit.log.core.mongo.service; +import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.bootx.platform.starter.audit.log.param.OperateLogParam; import cn.bootx.platform.starter.audit.log.service.OperateLogService; import cn.bootx.platform.common.core.code.CommonCode; @@ -17,6 +18,8 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.data.domain.*; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; +import java.time.temporal.ChronoUnit; import java.util.List; import java.util.stream.Collectors; @@ -69,7 +72,10 @@ public class OperateLogMongoService implements OperateLogService { .setTotal(page.getTotalElements()); } - public void deleteByDay(Integer deleteDay) { + @Override + public void deleteByDay(int deleteDay) { + LocalDateTime offset = LocalDateTimeUtil.offset(LocalDateTime.now(), -deleteDay, ChronoUnit.DAYS); + repository.deleteByOperateTimeBefore(offset); } } diff --git a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/service/LoginLogService.java b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/service/LoginLogService.java index bded5ee2..e8f081da 100644 --- a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/service/LoginLogService.java +++ b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/service/LoginLogService.java @@ -33,6 +33,6 @@ public interface LoginLogService { /** * 删除 */ - void deleteByDay(Integer deleteDay); + void deleteByDay(int deleteDay); } diff --git a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/service/OperateLogService.java b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/service/OperateLogService.java index edfa4695..574a07e7 100644 --- a/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/service/OperateLogService.java +++ b/bootx-common-starters/common-starter-audit-log/src/main/java/cn/bootx/platform/starter/audit/log/service/OperateLogService.java @@ -33,6 +33,6 @@ public interface OperateLogService { /** * 删除 */ - void deleteByDay(Integer deleteDay); + void deleteByDay(int deleteDay); } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/client/entity/Client.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/client/entity/Client.java index 013cb5d9..63c0da74 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/client/entity/Client.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/client/entity/Client.java @@ -1,14 +1,13 @@ package cn.bootx.platform.iam.core.client.entity; -import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.platform.iam.core.client.convert.ClientConvert; import cn.bootx.platform.iam.dto.client.ClientDto; import cn.bootx.platform.iam.param.client.ClientParam; +import cn.bootx.table.modify.annotation.DbColumn; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -37,8 +36,7 @@ public class Client extends MpBaseEntity implements EntityBaseFunction Date: Thu, 12 Oct 2023 23:44:45 +0800 Subject: [PATCH 17/26] =?UTF-8?q?feat=20=E5=AF=BC=E5=87=BA=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ChinaWordController.java | 2 +- .../controller/DataResultController.java | 16 +++++++ .../core/dataresult/dao/SqlQueryMapper.java | 2 + .../dataresult/service/SqlQueryService.java | 44 +++++++++++++++++++ 4 files changed, 63 insertions(+), 1 deletion(-) diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/ChinaWordController.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/ChinaWordController.java index 913fa896..87390d54 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/ChinaWordController.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/ChinaWordController.java @@ -98,7 +98,7 @@ public class ChinaWordController { @Operation(summary = "获取模板") @GetMapping("/getTemplate") public ResponseEntity getTemplate() throws IOException { - InputStream is = Files.newInputStream(new File("D:/data/洛阳工作量报价.xlsx").toPath()); + InputStream is = Files.newInputStream(new File("D:/data/xxxx.xlsx").toPath()); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); return new ResponseEntity<>(IoUtil.readBytes(is), headers, HttpStatus.OK); diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/DataResultController.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/DataResultController.java index fe22404d..da9993b2 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/DataResultController.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/DataResultController.java @@ -12,6 +12,12 @@ import cn.hutool.db.PageResult; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; +import org.springdoc.api.annotations.ParameterObject; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.util.Map; @@ -71,4 +77,14 @@ public class DataResultController { return Res.ok(sqlQueryService.query(param,pageParam)); } + @SneakyThrows + @Operation(summary = "导出SQL查询的结果") + @PostMapping("/exportQueryResult") + public ResponseEntity exportQueryResult(@RequestBody SqlQueryParam param, @ParameterObject PageParam pageParam){ + byte[] bytes = sqlQueryService.exportQueryResult(param,pageParam); + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); + return new ResponseEntity<>(bytes, headers, HttpStatus.OK); + } + } diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/SqlQueryMapper.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/SqlQueryMapper.java index 2657f2b7..35be5366 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/SqlQueryMapper.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/dao/SqlQueryMapper.java @@ -3,8 +3,10 @@ package cn.bootx.platform.baseapi.core.dataresult.dao; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.ResultType; import org.apache.ibatis.annotations.Select; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/service/SqlQueryService.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/service/SqlQueryService.java index 96498438..cb52f680 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/service/SqlQueryService.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/service/SqlQueryService.java @@ -7,15 +7,20 @@ import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.core.util.CollUtil; import cn.bootx.platform.common.mybatisplus.util.MpUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.io.ByteArrayOutputStream; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * SQL查询 @@ -31,6 +36,7 @@ public class SqlQueryService { /** * SQL查询语句 + * TODO 返回结果是无序的, 后期优化成有序的 */ public SqlQueryResult query(SqlQueryParam param, PageParam pageParam){ try { @@ -59,4 +65,42 @@ public class SqlQueryService { } } } + + /** + * 导出查询结果 + */ + public byte[] exportQueryResult(SqlQueryParam param, PageParam pageParam){ + SqlQueryResult queryResult = this.query(param, pageParam); + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + EasyExcel.write(byteArrayOutputStream) + .head(this.head(queryResult)) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) + .sheet("result") + .doWrite(this.dataList(queryResult)); + return byteArrayOutputStream.toByteArray(); + } + + /** + * 单头 + */ + private List> head(SqlQueryResult queryResult) { + return queryResult.getFields() + .stream() + .map(Collections::singletonList) + .collect(Collectors.toList()); + } + + /** + * 内容 + */ + private List> dataList(SqlQueryResult queryResult) { + List> data = queryResult.getData(); + List fields = queryResult.getFields(); + return data.stream() + .map(map->{ + ArrayList objects = new ArrayList<>(fields.size()); + fields.forEach(key->objects.add(StrUtil.toString(map.get(key)))); + return objects; + }).collect(Collectors.toList()); + } } -- Gitee From dc0ff17ae97e441a0ff56375ba56508d0d6f2c04 Mon Sep 17 00:00:00 2001 From: nws <3239709711@qq.com> Date: Sat, 14 Oct 2023 23:50:28 +0800 Subject: [PATCH 18/26] =?UTF-8?q?=20feat=20=E4=BC=98=E5=8C=96IgnoreAuth?= =?UTF-8?q?=E6=B3=A8=E8=A7=A3,=20=E5=A2=9E=E5=8A=A0=E5=AF=86=E7=A0=81?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E9=9C=80=E8=A6=81=E8=BF=9B=E8=A1=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E7=9A=84=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 7 +- .../common/core/annotation/IgnoreAuth.java | 2 +- .../impl/IgnoreAnnotationRouterCheck.java | 8 +- .../configuration/WebSocketConfig.java | 2 +- .../baseapi/controller/BaseApiController.java | 37 +++++++ .../PasswordSecurityConfigController.java | 10 ++ .../service/PasswordSecurityCheckService.java | 98 +++++++++++++++++++ ....java => passwordSecurityCheckResult.java} | 21 ++-- 8 files changed, 168 insertions(+), 17 deletions(-) create mode 100644 bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/BaseApiController.java create mode 100644 bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordSecurityCheckService.java rename bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/{UserCheckSecurityResult.java => passwordSecurityCheckResult.java} (33%) diff --git a/_doc/Task.md b/_doc/Task.md index d6f7a66b..f7ca65c2 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -1,7 +1,9 @@ ## 1.3.5 - x SQL查询功能 -- SQL查询功能支持导出 +- x SQL查询功能支持导出 - x 完整集成Knife4j, 支持增强功能 +- x 前端登录时检测密码是否需要进行修改 +- x 前端websocket连接前先检测是否已经登录 - 数据集功能 - 默认密码强制修改功能 - x 记录密码输入错误次数 @@ -9,7 +11,7 @@ - x 超过锁定时间后,再登录时解除锁定清空 - x 记录密码更改记录,不能与前N次相同功能 - 控制密码多少天必须更改 -- 审计日志增加定时删除和一键清除超期日志功能 +- x 审计日志增加定时删除和一键清除超期日志功能 - 文件管理支持配置所属上传类型、是否被使用过、是否登陆后才可以访问 ## 1.3.x、1.4.x - 小程序工单功能 @@ -29,3 +31,4 @@ - 可视化大屏端支持一键登录 - 可视化大屏支持快速对接数据集 - Websocket连接管理页 +- 支持多种验证码方式 diff --git a/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/IgnoreAuth.java b/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/IgnoreAuth.java index 604e6003..9a504ed6 100644 --- a/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/IgnoreAuth.java +++ b/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/IgnoreAuth.java @@ -19,7 +19,7 @@ public @interface IgnoreAuth { boolean ignore() default true; /** - * 只要登录就忽略权限校验, 在ignore为false时生效 + * 只要登录就忽略权限校验, login值为true是ignore将不生效 */ boolean login() default false; diff --git a/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/impl/IgnoreAnnotationRouterCheck.java b/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/impl/IgnoreAnnotationRouterCheck.java index 1b83eb09..acc4934f 100644 --- a/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/impl/IgnoreAnnotationRouterCheck.java +++ b/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/impl/IgnoreAnnotationRouterCheck.java @@ -51,14 +51,14 @@ public class IgnoreAnnotationRouterCheck implements RouterCheck { if (Objects.isNull(ignoreAuth)) { return false; } - // 忽略鉴权 - if (ignoreAuth.ignore()) { - return true; - } // 只校验登录状态 if (ignoreAuth.login()) { return SecurityUtil.getCurrentUser().isPresent(); } + // 忽略鉴权 + if (ignoreAuth.ignore()) { + return true; + } return false; } diff --git a/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/configuration/WebSocketConfig.java b/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/configuration/WebSocketConfig.java index 62d23f98..bdac5d2e 100644 --- a/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/configuration/WebSocketConfig.java +++ b/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/configuration/WebSocketConfig.java @@ -13,7 +13,7 @@ import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry import org.springframework.web.socket.server.standard.ServerEndpointExporter; /** - * Websocket配置 + * 用户Websocket配置 * * @author xxm * @since 2022/3/27 diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/BaseApiController.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/BaseApiController.java new file mode 100644 index 00000000..b5cf00be --- /dev/null +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/BaseApiController.java @@ -0,0 +1,37 @@ +package cn.bootx.platform.baseapi.controller; + +import cn.bootx.platform.common.core.annotation.IgnoreAuth; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 系统基础接口 + * @author xxm + * @since 2023/10/14 + */ +@Tag(name = "系统基础接口") +@RestController +@RequiredArgsConstructor +public class BaseApiController { + + @IgnoreAuth + @Operation(summary = "回声测试") + @GetMapping("/echo") + public String echo(String msg){ + return msg; + } + + @IgnoreAuth(login = true) + @Operation(summary = "回声测试(必须要进行登录)") + @GetMapping("/auth/echo") + public String authEcho(String msg){ + return msg; + } + + + + +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/PasswordSecurityConfigController.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/PasswordSecurityConfigController.java index 4c102633..1cd62bae 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/PasswordSecurityConfigController.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/PasswordSecurityConfigController.java @@ -3,8 +3,10 @@ package cn.bootx.platform.iam.controller; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; import cn.bootx.platform.iam.core.security.password.service.PasswordChangeHistoryService; +import cn.bootx.platform.iam.core.security.password.service.PasswordSecurityCheckService; import cn.bootx.platform.iam.core.security.password.service.PasswordSecurityConfigService; import cn.bootx.platform.iam.dto.security.PasswordSecurityConfigDto; +import cn.bootx.platform.iam.dto.security.passwordSecurityCheckResult; import cn.bootx.platform.iam.param.security.PasswordSecurityConfigParam; import cn.bootx.platform.starter.auth.util.SecurityUtil; import io.swagger.v3.oas.annotations.Operation; @@ -24,6 +26,7 @@ import org.springframework.web.bind.annotation.*; public class PasswordSecurityConfigController { private final PasswordSecurityConfigService passwordSecurityConfigService; private final PasswordChangeHistoryService passwordChangeHistoryService; + private final PasswordSecurityCheckService passwordSecurityCheckService; @Operation( summary = "添加") @PostMapping(value = "/add") @@ -50,4 +53,11 @@ public class PasswordSecurityConfigController { public ResResult isRecentlyUsed(String password) { return Res.ok(passwordChangeHistoryService.isRecentlyUsed(SecurityUtil.getUserId(),password)); } + + @Operation(summary = "登录后检查密码相关的情况") + @GetMapping("/checkPasswordSecurity") + public ResResult checkPasswordSecurity(){ + Long userId = SecurityUtil.getUserId(); + return Res.ok(passwordSecurityCheckService.checkPasswordSecurity(userId)); + } } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordSecurityCheckService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordSecurityCheckService.java new file mode 100644 index 00000000..e7880602 --- /dev/null +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordSecurityCheckService.java @@ -0,0 +1,98 @@ +package cn.bootx.platform.iam.core.security.password.service; + +import cn.bootx.platform.common.core.util.CollUtil; +import cn.bootx.platform.common.core.util.LocalDateTimeUtil; +import cn.bootx.platform.iam.core.security.password.dao.PasswordChangeHistoryManager; +import cn.bootx.platform.iam.core.security.password.entity.PasswordChangeHistory; +import cn.bootx.platform.iam.core.user.dao.UserExpandInfoManager; +import cn.bootx.platform.iam.core.user.entity.UserExpandInfo; +import cn.bootx.platform.iam.dto.security.PasswordSecurityConfigDto; +import cn.bootx.platform.iam.dto.security.passwordSecurityCheckResult; +import cn.bootx.platform.iam.exception.user.UserInfoNotExistsException; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.time.temporal.ChronoUnit; +import java.util.List; + +/** + * 密码安全校验服务 + * @author xxm + * @since 2023/10/14 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class PasswordSecurityCheckService { + + private final PasswordSecurityConfigService configService; + private final PasswordChangeHistoryManager historyManager; + + private final UserExpandInfoManager userExpandInfoManager; + + + /** + * 登录后检查密码相关的情况 + */ + public passwordSecurityCheckResult checkPasswordSecurity(Long userId){ + passwordSecurityCheckResult result = new passwordSecurityCheckResult(); + PasswordSecurityConfigDto securityConfig = configService.getDefault(); + // 检查是否是默认密码未进行修改 + if (this.isDefaultPassword(userId,securityConfig)){ + return result.setDefaultPwd(true); + } + int state = this.verifyPasswordExpire(userId, securityConfig); + // 检查密码是否已经过期 + if (state == 0){ + return result.setExpirePwd(true); + } + // 检查密码是否到了提示过期的时候 + if (state < 0){ + return result.setExpireRemind(true) + .setExpireRemindNum(Math.abs(state)); + } + return result; + } + + + /** + * 判断用户初始化密码是否需要修改 + */ + public boolean isDefaultPassword(Long userId, PasswordSecurityConfigDto securityConfig){ + UserExpandInfo userInfo = userExpandInfoManager.findById(userId) + .orElseThrow(UserInfoNotExistsException::new); + return userInfo.isInitialPassword() && securityConfig.isRequireChangePwd(); + } + + + /** + * 验证密码过期和提醒状态 + * 1. 未过期也不需要提醒 + * 0. 密码已经过期 + * -N. 密码还有几天过期, 需要进行提醒 + */ + public int verifyPasswordExpire(Long userId,PasswordSecurityConfigDto securityConfig){ + + // 判断用户密码是否需要强制进行更改 + List changeHistoryList = historyManager.findAllByUserAndCount(userId, 1); + if (CollUtil.isNotEmpty(changeHistoryList)){ + PasswordChangeHistory passwordChangeHistory = changeHistoryList.get(0); + LocalDateTime createTime = passwordChangeHistory.getCreateTime(); + // 判断距今的时间是否超过密码过期时间 + int keepPwdDay = (int) LocalDateTimeUtil.between(createTime, LocalDateTime.now(), ChronoUnit.DAYS); + int dealDay = securityConfig.getUpdateFrequency() - keepPwdDay; + // 判断密码是否已经过期 + if( dealDay <= 0 ){ + return 1; + } + // 判断是否满足密码修改的倒计时提醒 + if (keepPwdDay < securityConfig.getExpireRemind()){ + return -keepPwdDay; + } + } + return 0; + } + +} diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/UserCheckSecurityResult.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/passwordSecurityCheckResult.java similarity index 33% rename from bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/UserCheckSecurityResult.java rename to bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/passwordSecurityCheckResult.java index 7aec3226..af783936 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/UserCheckSecurityResult.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/passwordSecurityCheckResult.java @@ -5,22 +5,25 @@ import lombok.Data; import lombok.experimental.Accessors; /** - * 用户将进行哪些安全状态的检查 + * 用户密码各种状态的检查 * @author xxm * @since 2023/9/25 */ @Data @Accessors(chain = true) -@Schema(title = "用户将进行哪些状态的检查") -public class UserCheckSecurityResult { +@Schema(title = "用户密码各种状态的检查") +public class passwordSecurityCheckResult { - @Schema(description = "是否进行安全检查") - private Boolean requireChangePwd; + @Schema(description = "默认密码修改提示") + private boolean defaultPwd; - @Schema(description = "是否进行密码修改倒计时提醒") - private Boolean expireRemindPwd; + @Schema(description = "密码过期") + private boolean expirePwd; - @Schema(description = "是否进行密码修改验证") - private Boolean expireChangePwd; + @Schema(description = "密码过期倒计时") + private boolean expireRemind; + + @Schema(description = "距离过期天数") + private int expireRemindNum; } -- Gitee From bc8a877e5f8f4b6718e8548a306c0bfa3e30b81e Mon Sep 17 00:00:00 2001 From: xxm1995 Date: Sun, 15 Oct 2023 18:58:16 +0800 Subject: [PATCH 19/26] =?UTF-8?q?feat=20websocket=E4=BC=9A=E8=AF=9D?= =?UTF-8?q?=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 3 ++- .../websocket/WebsocketAdminController.java | 20 +++++++++++++++++++ .../service/WebSocketAdminService.java | 16 +++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/WebsocketAdminController.java create mode 100644 bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/service/WebSocketAdminService.java diff --git a/_doc/Task.md b/_doc/Task.md index f7ca65c2..bfc9a397 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -5,12 +5,13 @@ - x 前端登录时检测密码是否需要进行修改 - x 前端websocket连接前先检测是否已经登录 - 数据集功能 -- 默认密码强制修改功能 +- x 默认密码强制修改功能 - x 记录密码输入错误次数 - x 多次输错密码自动锁定功能 - x 超过锁定时间后,再登录时解除锁定清空 - x 记录密码更改记录,不能与前N次相同功能 - 控制密码多少天必须更改 +- 密码安全策略配置 - x 审计日志增加定时删除和一键清除超期日志功能 - 文件管理支持配置所属上传类型、是否被使用过、是否登陆后才可以访问 ## 1.3.x、1.4.x diff --git a/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/WebsocketAdminController.java b/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/WebsocketAdminController.java new file mode 100644 index 00000000..c3fff048 --- /dev/null +++ b/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/WebsocketAdminController.java @@ -0,0 +1,20 @@ +package cn.bootx.platform.common.websocket; + +import cn.bootx.platform.common.websocket.service.WebSocketAdminService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * + * @author xxm + * @since 2023/10/15 + */ +@Tag(name = "websocket会话管理") +@RestController +@RequestMapping("/websocket/admin") +@RequiredArgsConstructor +public class WebsocketAdminController { + private final WebSocketAdminService webSocketAdminService; +} diff --git a/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/service/WebSocketAdminService.java b/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/service/WebSocketAdminService.java new file mode 100644 index 00000000..c771ed8f --- /dev/null +++ b/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/service/WebSocketAdminService.java @@ -0,0 +1,16 @@ +package cn.bootx.platform.common.websocket.service; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * websocket会话管理 + * @author xxm + * @since 2023/10/15 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class WebSocketAdminService { +} -- Gitee From aabe50c2027aa71900a98226d96f60d528ea0165 Mon Sep 17 00:00:00 2001 From: xxm1995 Date: Mon, 16 Oct 2023 17:38:47 +0800 Subject: [PATCH 20/26] =?UTF-8?q?feat=20websocket=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WebsocketAdminController.java | 2 +- .../SpringWebSocketSessionManager.java | 19 +++++++---- .../notice/UserNoticeWebSocketHandler.java | 2 ++ .../service/WebSocketAdminService.java | 33 +++++++++++++++++++ pom.xml | 2 +- 5 files changed, 50 insertions(+), 8 deletions(-) rename bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/{ => controller}/WebsocketAdminController.java (90%) diff --git a/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/WebsocketAdminController.java b/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/controller/WebsocketAdminController.java similarity index 90% rename from bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/WebsocketAdminController.java rename to bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/controller/WebsocketAdminController.java index c3fff048..816b2f52 100644 --- a/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/WebsocketAdminController.java +++ b/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/controller/WebsocketAdminController.java @@ -1,4 +1,4 @@ -package cn.bootx.platform.common.websocket; +package cn.bootx.platform.common.websocket.controller; import cn.bootx.platform.common.websocket.service.WebSocketAdminService; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/manager/SpringWebSocketSessionManager.java b/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/manager/SpringWebSocketSessionManager.java index e3f7aff5..57c902d9 100644 --- a/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/manager/SpringWebSocketSessionManager.java +++ b/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/manager/SpringWebSocketSessionManager.java @@ -2,15 +2,19 @@ package cn.bootx.platform.common.websocket.manager; import cn.hutool.core.collection.ListUtil; import com.google.common.collect.Lists; +import lombok.Getter; import org.springframework.web.socket.WebSocketSession; -import java.util.*; -import java.util.concurrent.ConcurrentHashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.concurrent.ConcurrentSkipListMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.stream.Collectors; /** - * websocket管理器 (Spring封装的socket) + * websocket管理器 (Spring封装的socket) 用于管理用户链接 * * @author xxm * @since 2022/5/27 @@ -18,13 +22,16 @@ import java.util.stream.Collectors; public class SpringWebSocketSessionManager { // session缓存 - protected static final Map sessionPool = new ConcurrentHashMap<>(); + @Getter + private static final Map sessionPool = new ConcurrentSkipListMap<>(); // sessionId 与 用户标识id 的映射关系 n:1 - protected static final Map sid2uid = new ConcurrentHashMap<>(); + @Getter + private static final Map sid2uid = new ConcurrentSkipListMap<>(); // 用户标识id 与 sessionId 的映射关系 1:n - protected static final Map> uid2sid = new ConcurrentHashMap<>(); + @Getter + private static final Map> uid2sid = new ConcurrentSkipListMap<>(); /** * 添加会话session关联 diff --git a/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/notice/UserNoticeWebSocketHandler.java b/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/notice/UserNoticeWebSocketHandler.java index c1898d91..c24dbd8e 100644 --- a/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/notice/UserNoticeWebSocketHandler.java +++ b/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/notice/UserNoticeWebSocketHandler.java @@ -1,6 +1,7 @@ package cn.bootx.platform.common.websocket.notice; import cn.bootx.platform.common.websocket.manager.SpringWebSocketSessionManager; +import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -26,6 +27,7 @@ import static cn.bootx.platform.common.core.code.CommonCode.USER_ID; public class UserNoticeWebSocketHandler extends TextWebSocketHandler { /** websocket连接管理器 */ + @Getter private static final SpringWebSocketSessionManager wsManager = new SpringWebSocketSessionManager(); /** 记录当前在线连接数 */ diff --git a/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/service/WebSocketAdminService.java b/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/service/WebSocketAdminService.java index c771ed8f..74fb8191 100644 --- a/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/service/WebSocketAdminService.java +++ b/bootx-commons/common-websocket/src/main/java/cn/bootx/platform/common/websocket/service/WebSocketAdminService.java @@ -1,8 +1,15 @@ package cn.bootx.platform.common.websocket.service; +import cn.bootx.platform.common.websocket.manager.SpringWebSocketSessionManager; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import lombok.val; import org.springframework.stereotype.Service; +import org.springframework.web.socket.WebSocketSession; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * websocket会话管理 @@ -13,4 +20,30 @@ import org.springframework.stereotype.Service; @Service @RequiredArgsConstructor public class WebSocketAdminService { + + + /** + * 分页 + */ + public void page(){ + Map> uid2sid = SpringWebSocketSessionManager.getUid2sid(); + } + + /** + * 获取用户链接数 + */ + public void getByUserId(String userId){ + List sessionIds = SpringWebSocketSessionManager.getUid2sid() + .get(userId); + Map sessionPool = SpringWebSocketSessionManager.getSessionPool(); + // 组装用户信息 + val userSession = sessionIds.stream() + .map(sessionPool::get) + .map(session->{ + System.out.println(session.getRemoteAddress()); + return session; + }) + .collect(Collectors.toList()); + } + } diff --git a/pom.xml b/pom.xml index 6c5804d2..2dc3e775 100644 --- a/pom.xml +++ b/pom.xml @@ -442,7 +442,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.5.0 + 3.6.0 false none -- Gitee From 3f7660457e3c9300b54b3844612f5f945999ff2f Mon Sep 17 00:00:00 2001 From: nws <3239709711@qq.com> Date: Mon, 16 Oct 2023 23:45:13 +0800 Subject: [PATCH 21/26] =?UTF-8?q?style=20=E5=9B=9E=E5=A3=B0=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=90=B9=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bootx/platform/baseapi/controller/BaseApiController.java | 4 ++-- .../iam/core/security/user/entity/LoginSecurityConfig.java | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/BaseApiController.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/BaseApiController.java index b5cf00be..2e79ec49 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/BaseApiController.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/controller/BaseApiController.java @@ -21,14 +21,14 @@ public class BaseApiController { @Operation(summary = "回声测试") @GetMapping("/echo") public String echo(String msg){ - return msg; + return "echo: "+msg; } @IgnoreAuth(login = true) @Operation(summary = "回声测试(必须要进行登录)") @GetMapping("/auth/echo") public String authEcho(String msg){ - return msg; + return "echo: "+msg; } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/user/entity/LoginSecurityConfig.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/user/entity/LoginSecurityConfig.java index e82b7fdc..3c243215 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/user/entity/LoginSecurityConfig.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/user/entity/LoginSecurityConfig.java @@ -49,8 +49,6 @@ public class LoginSecurityConfig extends MpBaseEntity implements EntityBaseFunct @DbComment("多终端是否允许同时登录") private Boolean allowMultiTerminalLogin; - - /** 创建对象 */ public static LoginSecurityConfig init(LoginSecurityConfigParam in) { return LoginSecurityConfigConvert.CONVERT.convert(in); -- Gitee From 131f7d29e8fe74a92dd82a4e8718dda69aea0910 Mon Sep 17 00:00:00 2001 From: xxm1995 Date: Thu, 19 Oct 2023 16:14:35 +0800 Subject: [PATCH 22/26] =?UTF-8?q?feat=20=E5=AE=8C=E5=96=84=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E9=94=81=E5=AE=9A=E9=97=AE=E9=A2=98=E5=92=8C=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=91=98=E4=BB=BB=E6=84=8F=E5=AF=86=E7=A0=81=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 13 ++++--- .../PasswordSecurityConfigController.java | 15 +++----- .../core/auth/login/PasswordLoginHandler.java | 1 + .../PasswordLoginFailRecordService.java | 36 +++++++++++++++---- .../service/PasswordSecurityCheckService.java | 9 ++--- .../PasswordSecurityConfigService.java | 17 ++++++--- .../core/user/service/UserAdminService.java | 7 ---- .../iam/handler/UserInfoStatusCheckImpl.java | 2 +- 8 files changed, 61 insertions(+), 39 deletions(-) diff --git a/_doc/Task.md b/_doc/Task.md index bfc9a397..4a94564c 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -4,17 +4,21 @@ - x 完整集成Knife4j, 支持增强功能 - x 前端登录时检测密码是否需要进行修改 - x 前端websocket连接前先检测是否已经登录 -- 数据集功能 - x 默认密码强制修改功能 - x 记录密码输入错误次数 - x 多次输错密码自动锁定功能 - x 超过锁定时间后,再登录时解除锁定清空 - x 记录密码更改记录,不能与前N次相同功能 -- 控制密码多少天必须更改 -- 密码安全策略配置 +- x 控制密码多少天必须更改 +- x 密码安全策略配置 - x 审计日志增加定时删除和一键清除超期日志功能 -- 文件管理支持配置所属上传类型、是否被使用过、是否登陆后才可以访问 +## 1.3.6 +- 文件上传替换为基于`x-file-storage`定制 +- 添加配置备份功能(菜单/系统参数/字典), csv或者表格方式 +- Websocket连接管理页 +- 可视化大屏端支持一键登录 ## 1.3.x、1.4.x +- 数据集功能 - 小程序工单功能 - 小程序日报功能 - PostgreSQL 数据库适配 @@ -31,5 +35,4 @@ - 前端首页分析页面需要重做,接入真实数据 - 可视化大屏端支持一键登录 - 可视化大屏支持快速对接数据集 -- Websocket连接管理页 - 支持多种验证码方式 diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/PasswordSecurityConfigController.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/PasswordSecurityConfigController.java index 1cd62bae..04b97f6f 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/PasswordSecurityConfigController.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/PasswordSecurityConfigController.java @@ -28,17 +28,10 @@ public class PasswordSecurityConfigController { private final PasswordChangeHistoryService passwordChangeHistoryService; private final PasswordSecurityCheckService passwordSecurityCheckService; - @Operation( summary = "添加") - @PostMapping(value = "/add") - public ResResult add(@RequestBody PasswordSecurityConfigParam param){ - passwordSecurityConfigService.add(param); - return Res.ok(); - } - - @Operation( summary = "修改") - @PostMapping(value = "/update") - public ResResult update(@RequestBody PasswordSecurityConfigParam param){ - passwordSecurityConfigService.update(param); + @Operation( summary = "新增或添加密码安全配置") + @PostMapping(value = "/addOrUpdate") + public ResResult addOrUpdate(@RequestBody PasswordSecurityConfigParam param){ + passwordSecurityConfigService.addOrUpdate(param); return Res.ok(); } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/PasswordLoginHandler.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/PasswordLoginHandler.java index e5284ae6..7706301b 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/PasswordLoginHandler.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/PasswordLoginHandler.java @@ -101,6 +101,7 @@ public class PasswordLoginHandler implements UsernamePasswordAuthentication { String errMsg = passwordLoginFailRecordService.passwordError(userDetail.getId()); throw new LoginFailureException(userDetail.getUsername(), errMsg); } + throw new LoginFailureException(userDetail.getUsername(), "账号或密码不正确"); } return new AuthInfoResult().setId(userDetail.getId()).setUserDetail(userDetail); } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java index c267acbb..7ef5e9eb 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java @@ -2,10 +2,14 @@ package cn.bootx.platform.iam.core.security.password.service; import cn.bootx.platform.iam.core.security.password.dao.PasswordLoginFailRecordManager; import cn.bootx.platform.iam.core.security.password.entity.PasswordLoginFailRecord; +import cn.bootx.platform.iam.core.user.service.UserAdminService; import cn.bootx.platform.iam.dto.security.PasswordSecurityConfigDto; +import cn.bootx.platform.iam.event.user.UserRestartPasswordEvent; +import cn.bootx.platform.iam.event.user.UserUnlockEvent; import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -25,6 +29,7 @@ public class PasswordLoginFailRecordService { private final PasswordSecurityConfigService passwordSecurityConfigService; + private final UserAdminService userAdminService; /** * 获取 密码登录失败记录 @@ -50,13 +55,13 @@ public class PasswordLoginFailRecordService { // 判断是否超过最大错误次数, 进行锁定用户 int errCount = securityConfig.getMaxPwdErrorCount() - loginFailRecord.getFailCount(); if (errCount == 0){ - // 进行用户锁定 - return StrUtil.format("密码错误次数超过{}次, 请{}分钟后再试", - loginFailRecord.getFailCount()-1, securityConfig.getMaxPwdErrorCount()); + userAdminService.lock(userId); + // 需要将错误次数更新到数据库 + passwordLoginFailRecordManager.saveOrUpdate(loginFailRecord); + return StrUtil.format("账号已被锁定, 请{}分钟后再试", securityConfig.getMaxPwdErrorCount()); } else if (errCount < 0) { - // 继续尝试密码, 不再更新错误次数, 直接返回 - return StrUtil.format("账号已被锁定, 请稍后再试"); - + // 继续尝试密码, 不再更新错误次数, 直接返回 + return StrUtil.format("账号已被锁定, 请{}分钟后再试", securityConfig.getMaxPwdErrorCount()); } passwordLoginFailRecordManager.saveOrUpdate(loginFailRecord); return StrUtil.format("密码不正确, 还有{}次机会", errCount); @@ -76,6 +81,25 @@ public class PasswordLoginFailRecordService { }); } + /** + * 解锁用户,清除登录失败的次数 + */ + @EventListener(UserUnlockEvent.class) + @Async("taskExecutor") + public void clearBatchFailCount(UserUnlockEvent event){ + this.clearBatchFailCount(event.getUserIds()); + } + + /** + * 重置用户密码, 清除登录失败的次数 + */ + @EventListener(UserRestartPasswordEvent.class) + @Async("taskExecutor") + public void clearBatchFailCount(UserRestartPasswordEvent event){ + this.clearBatchFailCount(event.getUserIds()); + } + + /** * 批量清除登录失败的次数 */ diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordSecurityCheckService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordSecurityCheckService.java index e7880602..73776faa 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordSecurityCheckService.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordSecurityCheckService.java @@ -28,6 +28,7 @@ import java.util.List; public class PasswordSecurityCheckService { private final PasswordSecurityConfigService configService; + private final PasswordChangeHistoryManager historyManager; private final UserExpandInfoManager userExpandInfoManager; @@ -80,16 +81,16 @@ public class PasswordSecurityCheckService { if (CollUtil.isNotEmpty(changeHistoryList)){ PasswordChangeHistory passwordChangeHistory = changeHistoryList.get(0); LocalDateTime createTime = passwordChangeHistory.getCreateTime(); - // 判断距今的时间是否超过密码过期时间 + // 判断距今的时间是否超过密码过期时间是多少 int keepPwdDay = (int) LocalDateTimeUtil.between(createTime, LocalDateTime.now(), ChronoUnit.DAYS); int dealDay = securityConfig.getUpdateFrequency() - keepPwdDay; // 判断密码是否已经过期 - if( dealDay <= 0 ){ + if( dealDay >= 0 ){ return 1; } // 判断是否满足密码修改的倒计时提醒 - if (keepPwdDay < securityConfig.getExpireRemind()){ - return -keepPwdDay; + if (dealDay < securityConfig.getExpireRemind()){ + return -dealDay; } } return 0; diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordSecurityConfigService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordSecurityConfigService.java index 3e4acc28..9b269915 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordSecurityConfigService.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordSecurityConfigService.java @@ -1,6 +1,5 @@ package cn.bootx.platform.iam.core.security.password.service; -import cn.bootx.platform.common.core.exception.BizException; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.iam.core.security.password.dao.PasswordSecurityConfigManager; import cn.bootx.platform.iam.core.security.password.entity.PasswordSecurityConfig; @@ -26,13 +25,21 @@ public class PasswordSecurityConfigService { private final PasswordSecurityConfigManager passwordSecurityConfigManager; /** - * 添加 + * 添加or修改 */ - public void add(PasswordSecurityConfigParam param){ + public void addOrUpdate(PasswordSecurityConfigParam param){ // 判断库里是否有数据 if (passwordSecurityConfigManager.existsAll()){ - throw new BizException("密码安全策略已存在"); + this.update(param); + } else { + this.add(param); } + } + + /** + * 添加 + */ + public void add(PasswordSecurityConfigParam param){ PasswordSecurityConfig passwordSecurityConfig = PasswordSecurityConfig.init(param); passwordSecurityConfigManager.save(passwordSecurityConfig); } @@ -40,7 +47,7 @@ public class PasswordSecurityConfigService { /** * 修改 */ - public void update(PasswordSecurityConfigParam param){ + private void update(PasswordSecurityConfigParam param){ PasswordSecurityConfig passwordSecurityConfig = passwordSecurityConfigManager.findById(param.getId()) .orElseThrow(() -> new DataNotExistException("密码安全策略不存在")); BeanUtil.copyProperties(param, passwordSecurityConfig, CopyOptions.create().ignoreNullValue()); diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/service/UserAdminService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/service/UserAdminService.java index 8ef4ab40..37edeffb 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/service/UserAdminService.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/service/UserAdminService.java @@ -9,7 +9,6 @@ import cn.bootx.platform.common.mybatisplus.util.MpUtil; import cn.bootx.platform.iam.code.UserStatusCode; import cn.bootx.platform.iam.core.client.dao.ClientManager; import cn.bootx.platform.iam.core.security.password.service.PasswordChangeHistoryService; -import cn.bootx.platform.iam.core.security.password.service.PasswordLoginFailRecordService; import cn.bootx.platform.iam.core.upms.service.UserRoleService; import cn.bootx.platform.iam.core.user.dao.UserExpandInfoManager; import cn.bootx.platform.iam.core.user.dao.UserInfoManager; @@ -60,8 +59,6 @@ public class UserAdminService { private final UserQueryService userQueryService; - private final PasswordLoginFailRecordService passwordLoginFailRecordService; - private final CaptchaService captchaService; private final ClientManager clientManager; @@ -98,7 +95,6 @@ public class UserAdminService { */ public void unlock(Long userId) { userInfoManager.setUpStatus(userId, UserStatusCode.NORMAL); - passwordLoginFailRecordService.clearFailCount(userId); eventPublisher.publishEvent(new UserUnlockEvent(this, userId)); } @@ -107,7 +103,6 @@ public class UserAdminService { */ public void unlockBatch(List userIds) { userInfoManager.setUpStatusBatch(userIds, UserStatusCode.NORMAL); - passwordLoginFailRecordService.clearBatchFailCount(userIds); eventPublisher.publishEvent(new UserUnlockEvent(this, userIds)); } @@ -173,7 +168,6 @@ public class UserAdminService { newPassword = passwordEncoder.encode(newPassword); userInfo.setPassword(newPassword); passwordChangeHistoryService.saveChangeHistory(userInfo.getId(), userInfo.getPassword()); - passwordLoginFailRecordService.clearFailCount(userId); userInfoManager.updateById(userInfo); eventPublisher.publishEvent(new UserRestartPasswordEvent(this, userInfo.getId())); } @@ -186,7 +180,6 @@ public class UserAdminService { // 新密码进行加密 String password = passwordEncoder.encode(newPassword); userInfoManager.restartPasswordBatch(userIds,password); - passwordLoginFailRecordService.clearBatchFailCount(userIds); passwordChangeHistoryService.saveBatchChangeHistory(userIds, password); eventPublisher.publishEvent(new UserRestartPasswordEvent(this, userIds)); } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/handler/UserInfoStatusCheckImpl.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/handler/UserInfoStatusCheckImpl.java index 87fecb82..860a513e 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/handler/UserInfoStatusCheckImpl.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/handler/UserInfoStatusCheckImpl.java @@ -58,7 +58,7 @@ public class UserInfoStatusCheckImpl implements UserInfoStatusCheck { } // 判断用户是否拥有认证应用的权限 if (!userDetail.getAppIds().contains(authClient.getId())) { - throw new LoginFailureException("该用户不拥有该终端的权限"); +// throw new LoginFailureException("该用户不拥有该终端的权限"); } // 判断用户是否被禁用 if (Objects.equals(userDetail.getStatus(), UserStatusCode.BAN)){ -- Gitee From 1e8c894a5fb82606650ad6adae41e0068d96fc0e Mon Sep 17 00:00:00 2001 From: xxm1995 Date: Thu, 19 Oct 2023 20:27:36 +0800 Subject: [PATCH 23/26] =?UTF-8?q?ref=20=E8=B0=83=E6=95=B4=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=B1=BB=E5=9E=8B=E7=BB=93=E6=9E=84,=20=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E9=94=99=E8=AF=AF=E9=94=81=E5=AE=9A=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/entity/UserDetail.java | 6 +- .../AbstractAuthentication.java | 2 - .../platform/iam/code/UserStatusCode.java | 6 +- .../iam/controller/UserAdminController.java | 12 ++-- .../auth/login/WeChatAppletLoginHandler.java | 27 --------- .../PasswordLoginFailRecordService.java | 1 + .../core/upms/service/RolePathService.java | 2 +- .../iam/core/user/dao/UserInfoManager.java | 4 +- .../iam/core/user/entity/UserInfo.java | 31 +++------- .../core/user/service/UserAdminService.java | 59 +++++++++++-------- .../security/PasswordSecurityConfigDto.java | 2 + .../platform/iam/dto/user/UserInfoDto.java | 17 ++---- ...ockEvent.java => UserDeactivateEvent.java} | 16 +++-- .../iam/handler/UserInfoStatusCheckImpl.java | 43 ++++++++------ .../iam/param/user/UserInfoParam.java | 2 +- 15 files changed, 104 insertions(+), 126 deletions(-) rename bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/event/user/{UserLockEvent.java => UserDeactivateEvent.java} (55%) diff --git a/bootx-common-core/src/main/java/cn/bootx/platform/common/core/entity/UserDetail.java b/bootx-common-core/src/main/java/cn/bootx/platform/common/core/entity/UserDetail.java index afad5241..a31f4cd4 100644 --- a/bootx-common-core/src/main/java/cn/bootx/platform/common/core/entity/UserDetail.java +++ b/bootx-common-core/src/main/java/cn/bootx/platform/common/core/entity/UserDetail.java @@ -34,8 +34,8 @@ public class UserDetail { @JsonIgnore private transient String password; - /** 拥有权限的应用列表 */ - private List appIds; + /** 拥有权限的终端列表 */ + private List clientIds; /** 是否管理员 */ private boolean admin; @@ -44,6 +44,6 @@ public class UserDetail { * 账号状态 * @see cn.bootx.iam.code.UserStatusCode */ - private Integer status; + private String status; } diff --git a/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/authentication/AbstractAuthentication.java b/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/authentication/AbstractAuthentication.java index d2b75fdb..f0b36559 100644 --- a/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/authentication/AbstractAuthentication.java +++ b/bootx-common-starters/common-starter-auth/src/main/java/cn/bootx/platform/starter/auth/authentication/AbstractAuthentication.java @@ -50,7 +50,6 @@ public interface AbstractAuthentication { * 认证后处理 */ default void authenticationAfter(AuthInfoResult authInfoResult, LoginAuthContext context) { - } /** @@ -68,5 +67,4 @@ public interface AbstractAuthentication { this.authenticationAfter(authInfoResult, context); return authInfoResult; } - } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/code/UserStatusCode.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/code/UserStatusCode.java index 2d3e801c..ca8eeafb 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/code/UserStatusCode.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/code/UserStatusCode.java @@ -9,12 +9,12 @@ package cn.bootx.platform.iam.code; public interface UserStatusCode { /** 正常 */ - int NORMAL = 1; + String NORMAL = "normal"; /** 锁定 多次登录失败 */ - int LOCK = 2; + String LOCK = "lock"; /** 封禁 */ - int BAN = 3; + String BAN = "ban"; } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/UserAdminController.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/UserAdminController.java index 173a4114..1792e39e 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/UserAdminController.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/controller/UserAdminController.java @@ -94,17 +94,17 @@ public class UserAdminController { @OperateLog(title = "封禁用户", businessType = OperateLog.BusinessType.UPDATE, saveParam = true) @Operation(summary = "封禁用户") - @PostMapping("/lock") - public ResResult lock(Long userId) { - userAdminService.lock(userId); + @PostMapping("/ban") + public ResResult ban(Long userId) { + userAdminService.ban(userId); return Res.ok(); } @OperateLog(title = "批量封禁用户", businessType = OperateLog.BusinessType.UPDATE, saveParam = true) @Operation(summary = "批量封禁用户") - @PostMapping("/lockBatch") - public ResResult lockBatch(@RequestBody @NotEmpty(message = "用户集合不可为空") List userIds) { - userAdminService.lockBatch(userIds); + @PostMapping("/banBatch") + public ResResult banBatch(@RequestBody @NotEmpty(message = "用户集合不可为空") List userIds) { + userAdminService.banBatch(userIds); return Res.ok(); } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatAppletLoginHandler.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatAppletLoginHandler.java index dac59325..ebd68be0 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatAppletLoginHandler.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatAppletLoginHandler.java @@ -13,14 +13,12 @@ import cn.bootx.platform.starter.auth.authentication.OpenIdAuthentication; import cn.bootx.platform.starter.auth.code.AuthLoginTypeCode; import cn.bootx.platform.starter.auth.entity.AuthInfoResult; import cn.bootx.platform.starter.auth.entity.LoginAuthContext; -import cn.bootx.platform.starter.auth.entity.ThirdAuthCode; import cn.bootx.platform.starter.auth.exception.LoginFailureException; import cn.bootx.platform.starter.auth.util.SecurityUtil; import cn.bootx.platform.starter.wechat.core.user.service.WeChatUserService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import me.chanjar.weixin.common.error.WxErrorException; -import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthUser; import org.springframework.stereotype.Component; @@ -45,16 +43,6 @@ public class WeChatAppletLoginHandler implements OpenIdAuthentication { return AuthLoginTypeCode.WE_CHAT_APPLET; } - @Override - public boolean adaptation(String loginType) { - return OpenIdAuthentication.super.adaptation(loginType); - } - - @Override - public void authenticationBefore(LoginAuthContext context) { - OpenIdAuthentication.super.authenticationBefore(context); - } - @Override public AuthInfoResult attemptAuthentication(LoginAuthContext context) { @@ -73,21 +61,6 @@ public class WeChatAppletLoginHandler implements OpenIdAuthentication { return new AuthInfoResult().setUserDetail(userInfo.toUserDetail()).setId(userInfo.getId()); } - @Override - public AuthInfoResult authentication(LoginAuthContext context) { - return OpenIdAuthentication.super.authentication(context); - } - - @Override - public String getLoginUrl() { - return OpenIdAuthentication.super.getLoginUrl(); - } - - @Override - public ThirdAuthCode getAuthCode(AuthCallback callback) { - return OpenIdAuthentication.super.getAuthCode(callback); - } - @Override public AuthUser getAuthUser(String authCode, String state) { try { diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java index 7ef5e9eb..5074b0ef 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordLoginFailRecordService.java @@ -37,6 +37,7 @@ public class PasswordLoginFailRecordService { public void get(){ } + /** * 登录失败的错误处理 */ diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/upms/service/RolePathService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/upms/service/RolePathService.java index 920ed563..48d984b0 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/upms/service/RolePathService.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/upms/service/RolePathService.java @@ -105,7 +105,7 @@ public class RolePathService { UserInfo userInfo = userInfoManager.findById(userId).orElseThrow(UserInfoNotExistsException::new); List paths; - if (userInfo.isAdmin()) { + if (userInfo.isAdministrator()) { paths = pathService.findAll(); } else { diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/dao/UserInfoManager.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/dao/UserInfoManager.java index f49ddaa1..72c4367d 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/dao/UserInfoManager.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/dao/UserInfoManager.java @@ -72,14 +72,14 @@ public class UserInfoManager extends BaseManager { return mpPage; } - public void setUpStatus(Long userId, int status) { + public void setUpStatus(Long userId, String status) { lambdaUpdate().eq(MpIdEntity::getId, userId).set(UserInfo::getStatus, status).update(); } /** * 批量更新用户状态 */ - public void setUpStatusBatch(List userIds, int status) { + public void setUpStatusBatch(List userIds, String status) { lambdaUpdate() .in(MpIdEntity::getId, userIds) .set(UserInfo::getStatus, status) diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/entity/UserInfo.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/entity/UserInfo.java index a377c5af..96794d97 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/entity/UserInfo.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/entity/UserInfo.java @@ -3,21 +3,18 @@ package cn.bootx.platform.iam.core.user.entity; import cn.bootx.platform.common.core.entity.UserDetail; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; +import cn.bootx.platform.common.mybatisplus.handler.LongListTypeHandler; import cn.bootx.platform.iam.code.UserStatusCode; import cn.bootx.platform.iam.core.user.convert.UserConvert; import cn.bootx.platform.iam.dto.user.UserInfoDto; import cn.bootx.platform.iam.param.user.UserInfoParam; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import java.util.Arrays; import java.util.List; -import java.util.stream.Collectors; /** * 用户的核心信息 @@ -28,7 +25,7 @@ import java.util.stream.Collectors; @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) -@TableName("iam_user_info") +@TableName(value = "iam_user_info",autoResultMap = true) public class UserInfo extends MpBaseEntity implements EntityBaseFunction { /** 名称 */ @@ -47,35 +44,25 @@ public class UserInfo extends MpBaseEntity implements EntityBaseFunction clientIds; /** 是否管理员 */ - @TableField("`admin`") - private boolean admin; + private boolean administrator; /** * 账号状态 * @see UserStatusCode */ - private Integer status; + private String status; @Override public UserInfoDto toDto() { - UserInfoDto userInfoDto = UserConvert.CONVERT.convert(this); - if (StrUtil.isNotBlank(this.getClientIds())) { - List collect = Arrays.stream(this.getClientIds().split(",")).collect(Collectors.toList()); - userInfoDto.setClientIdList(collect); - } - return userInfoDto; + return UserConvert.CONVERT.convert(this); } public static UserInfo init(UserInfoParam param) { - UserInfo userInfo = UserConvert.CONVERT.convert(param); - if (CollUtil.isNotEmpty(param.getClientIdList())) { - String appIds = String.join(",", param.getClientIdList()); - userInfo.setClientIds(appIds); - } - return userInfo; + return UserConvert.CONVERT.convert(param); } public UserDetail toUserDetail() { @@ -83,7 +70,7 @@ public class UserInfo extends MpBaseEntity implements EntityBaseFunction userIds) { + public void banBatch(List userIds) { userInfoManager.setUpStatusBatch(userIds, UserStatusCode.BAN); - eventPublisher.publishEvent(new UserLockEvent(this, userIds)); + eventPublisher.publishEvent(new UserDeactivateEvent(this, UserStatusCode.BAN, userIds)); + } + + /** + * 锁定用户 + */ + public void lock(Long userId) { + userInfoManager.setUpStatus(userId, UserStatusCode.LOCK); + eventPublisher.publishEvent(new UserDeactivateEvent(this, UserStatusCode.LOCK, userId)); + } + + /** + * 批量锁定用户 + */ + public void lockBatch(List userIds) { + userInfoManager.setUpStatusBatch(userIds, UserStatusCode.LOCK); + eventPublisher.publishEvent(new UserDeactivateEvent(this, UserStatusCode.LOCK, userIds)); } /** @@ -119,12 +134,11 @@ public class UserAdminService { BeanUtil.copyProperties(param, userInfoParam); userInfoParam.setName(param.getUsername()); // 添加默认注册就有权限的终端 - List clientIds = clientManager.findAllByDefaultEndow(true) - .stream() - .map(MpIdEntity::getId) - .map(String::valueOf) - .collect(Collectors.toList()); - userInfoParam.setClientIdList(clientIds); + List clientIds = clientManager.findAllByDefaultEndow(true) + .stream() + .map(MpIdEntity::getId) + .collect(Collectors.toList()); + userInfoParam.setClientIds(clientIds); this.add(userInfoParam); } @@ -144,9 +158,9 @@ public class UserAdminService { } // 注册时间 UserInfo userInfo = UserInfo.init(userInfoParam); - userInfo.setAdmin(false) - .setStatus(UserStatusCode.NORMAL) - .setPassword(passwordEncoder.encode(userInfo.getPassword())); + userInfo.setAdministrator(false) + .setStatus(UserStatusCode.NORMAL) + .setPassword(passwordEncoder.encode(userInfo.getPassword())); userInfoManager.save(userInfo); // 扩展信息 UserExpandInfo userExpandInfo = new UserExpandInfo() @@ -189,15 +203,10 @@ public class UserAdminService { */ public void update(UserInfoParam userInfoParam) { UserInfo userInfo = userInfoManager.findById(userInfoParam.getId()) - .orElseThrow(UserInfoNotExistsException::new); + .orElseThrow(UserInfoNotExistsException::new); userInfoParam.setPassword(null); BeanUtil.copyProperties(userInfoParam, userInfo, CopyOptions.create().ignoreNullValue()); - if (CollUtil.isNotEmpty(userInfoParam.getClientIdList())) { - userInfo.setClientIds(String.join(",", userInfoParam.getClientIdList())); - } - else { - userInfo.setClientIds(""); - } + userInfo.setClientIds(userInfoParam.getClientIds()); UserInfoDto userInfoDto = userInfoManager.updateById(userInfo).toDto(); eventPublisher.publishEvent(new UserUpdateEvent(this, userInfoDto)); } @@ -209,15 +218,15 @@ public class UserAdminService { // 用户信息 UserInfo userInfo = userInfoManager.findById(userId).orElseThrow(UserInfoNotExistsException::new); UserExpandInfo userExpandInfo = userExpandInfoManager.findById(userId) - .orElseThrow(UserInfoNotExistsException::new); + .orElseThrow(UserInfoNotExistsException::new); // 角色信息 List rolesByUser = userRoleService.findRolesByUser(userId); // 部门组织 List deptListByUser = userDeptService.findDeptListByUser(userId); return new UserInfoWhole().setUserInfo(userInfo.toDto()) - .setUserExpandInfo(userExpandInfo.toDto()) - .setRoles(rolesByUser) - .setDeptList(deptListByUser); + .setUserExpandInfo(userExpandInfo.toDto()) + .setRoles(rolesByUser) + .setDeptList(deptListByUser); } } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/PasswordSecurityConfigDto.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/PasswordSecurityConfigDto.java index 95e515db..d9e335b3 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/PasswordSecurityConfigDto.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/security/PasswordSecurityConfigDto.java @@ -21,6 +21,8 @@ public class PasswordSecurityConfigDto extends BaseDto { private int maxPwdErrorCount; @Schema(description = "密码错误锁定时间(分钟)") private int errorLockTime; + @Schema(description = "密码安全级别") + private String securityLevel; @Schema(description = "强制修改初始密码") private boolean requireChangePwd; @Schema(description = "密码更新频率(天)") diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/user/UserInfoDto.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/user/UserInfoDto.java index 678c9da9..96c36bc8 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/user/UserInfoDto.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/dto/user/UserInfoDto.java @@ -4,7 +4,6 @@ import cn.bootx.platform.common.core.entity.UserDetail; import cn.bootx.platform.common.core.rest.dto.BaseDto; import cn.bootx.platform.iam.code.UserStatusCode; import cn.bootx.platform.starter.data.perm.sensitive.SensitiveInfo; -import cn.hutool.core.collection.CollUtil; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -12,9 +11,7 @@ import lombok.experimental.Accessors; import java.io.Serializable; import java.time.LocalDateTime; -import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; /** * @author xxm @@ -50,31 +47,27 @@ public class UserInfoDto extends BaseDto implements Serializable { private String email; @Schema(description = "终端id列表") - private List clientIdList = new ArrayList<>(); + private List clientIds; @Schema(description = "是否管理员") - private boolean admin; + private boolean administrator; /** * @see UserStatusCode */ @Schema(description = "账号状态") - private Integer status; + private String status; @Schema(description = "注册时间") private LocalDateTime registerTime; public UserDetail toUserDetail() { - List clientIds = new ArrayList<>(); - if (CollUtil.isNotEmpty(this.getClientIdList())) { - clientIds = this.getClientIdList().stream().map(Long::valueOf).collect(Collectors.toList()); - } return new UserDetail().setId(this.getId()) .setPassword(this.password) .setUsername(this.getUsername()) .setName(this.name) - .setAdmin(this.admin) - .setAppIds(clientIds) + .setAdmin(this.administrator) + .setClientIds(this.clientIds) .setStatus(this.status); } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/event/user/UserLockEvent.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/event/user/UserDeactivateEvent.java similarity index 55% rename from bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/event/user/UserLockEvent.java rename to bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/event/user/UserDeactivateEvent.java index 98107d5d..79b8a1c2 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/event/user/UserLockEvent.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/event/user/UserDeactivateEvent.java @@ -8,25 +8,33 @@ import java.util.List; import java.util.Objects; /** - * 锁定用户 + * 停用用户, 类型可以是封禁/锁定 * @author xxm * @since 2023/7/29 */ @Getter -public class UserLockEvent extends ApplicationEvent { +public class UserDeactivateEvent extends ApplicationEvent { private final List userIds; - public UserLockEvent(Object source, Long ...userIds) { + /** + * @see cn.bootx.platform.iam.code.UserStatusCode + */ + private final String type; + + + public UserDeactivateEvent(Object source, String type, Long ...userIds) { super(source); + this.type = type; if (Objects.nonNull(userIds)){ this.userIds = Arrays.asList(userIds); } else { this.userIds = null; } } - public UserLockEvent(Object source, List userIds) { + public UserDeactivateEvent(Object source, String type, List userIds) { super(source); this.userIds = userIds; + this.type = type; } } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/handler/UserInfoStatusCheckImpl.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/handler/UserInfoStatusCheckImpl.java index 860a513e..03075eb6 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/handler/UserInfoStatusCheckImpl.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/handler/UserInfoStatusCheckImpl.java @@ -57,31 +57,38 @@ public class UserInfoStatusCheckImpl implements UserInfoStatusCheck { return; } // 判断用户是否拥有认证应用的权限 - if (!userDetail.getAppIds().contains(authClient.getId())) { -// throw new LoginFailureException("该用户不拥有该终端的权限"); + if (!userDetail.getClientIds().contains(authClient.getId())) { + throw new LoginFailureException("该用户不拥有该终端的权限"); } // 判断用户是否被禁用 if (Objects.equals(userDetail.getStatus(), UserStatusCode.BAN)){ throw new LoginFailureException("该用户已被禁用"); } - // 是否密码错误被锁定 + // 密码是否因为错误被锁定 if (Objects.equals(userDetail.getStatus(), UserStatusCode.LOCK)){ - PasswordSecurityConfigDto securityConfig = securityConfigService.getDefault(); - PasswordLoginFailRecord loginFailRecord = loginFailRecordManager.findByUserId(userDetail.getId()) - .orElse(null); - if (Objects.isNull(loginFailRecord)){ - throw new LoginFailureException("该用户已被锁定,请联系管理员进行解锁"); - } - // 判断锁定时间是否已经结束, 结束了就清空错误次数, 并对用户进行解锁 - LocalDateTime failOverTime = LocalDateTimeUtil.offset(loginFailRecord.getFailTime(), securityConfig.getErrorLockTime(), ChronoUnit.MINUTES); - long seconds = LocalDateTimeUtil.between(LocalDateTime.now(), failOverTime, ChronoUnit.SECONDS); - if (seconds>0){ - loginFailRecordService.clearFailCount(userDetail.getId()); - userAdminService.unlock(seconds); - } else { - throw new LoginFailureException(StrUtil.format("该用户已被锁定,请 {} 秒后再试",seconds)); - } + this.checkLock(userDetail); + } + } + + /** + * 密码是否因为错误被锁定, 同时处理锁定结束, 解锁用户 + */ + private void checkLock(UserDetail userDetail){ + PasswordSecurityConfigDto securityConfig = securityConfigService.getDefault(); + PasswordLoginFailRecord loginFailRecord = loginFailRecordManager.findByUserId(userDetail.getId()) + .orElse(null); + if (Objects.isNull(loginFailRecord)){ + throw new LoginFailureException("该用户已被锁定,请联系管理员进行解锁"); + } + // 判断锁定时间是否已经结束, 结束了就清空错误次数, 并对用户进行解锁 + LocalDateTime failOverTime = LocalDateTimeUtil.offset(loginFailRecord.getFailTime(), securityConfig.getErrorLockTime(), ChronoUnit.MINUTES); + long seconds = LocalDateTimeUtil.between(LocalDateTime.now(), failOverTime, ChronoUnit.SECONDS); + if (seconds>0){ + loginFailRecordService.clearFailCount(userDetail.getId()); + userAdminService.unlock(seconds); + } else { + throw new LoginFailureException(StrUtil.format("该用户已被锁定,请 {} 秒后再试",seconds)); } } } diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/param/user/UserInfoParam.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/param/user/UserInfoParam.java index e0dda289..24ce2d3e 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/param/user/UserInfoParam.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/param/user/UserInfoParam.java @@ -34,7 +34,7 @@ public class UserInfoParam implements Serializable { private String email; @Schema(description = "终端id列表") - private List clientIdList; + private List clientIds; @Schema(description = "头像") private String avatar; -- Gitee From 3424bdc4c65ec4834274ea1579e8c06b44efcf91 Mon Sep 17 00:00:00 2001 From: xxm1995 Date: Fri, 20 Oct 2023 17:12:39 +0800 Subject: [PATCH 24/26] =?UTF-8?q?perf=20=E5=AF=86=E7=A0=81=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/PasswordChangeHistoryService.java | 82 ++----------------- 1 file changed, 5 insertions(+), 77 deletions(-) diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordChangeHistoryService.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordChangeHistoryService.java index bc43a74c..1ba78eeb 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordChangeHistoryService.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/service/PasswordChangeHistoryService.java @@ -1,21 +1,14 @@ package cn.bootx.platform.iam.core.security.password.service; -import cn.bootx.platform.common.core.util.CollUtil; -import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.bootx.platform.iam.core.security.password.dao.PasswordChangeHistoryManager; import cn.bootx.platform.iam.core.security.password.entity.PasswordChangeHistory; -import cn.bootx.platform.iam.core.user.dao.UserExpandInfoManager; -import cn.bootx.platform.iam.core.user.entity.UserExpandInfo; import cn.bootx.platform.iam.dto.security.PasswordSecurityConfigDto; -import cn.bootx.platform.iam.dto.security.UserVerifyStateResult; -import cn.bootx.platform.iam.exception.user.UserInfoNotExistsException; +import cn.bootx.platform.starter.auth.util.PasswordEncoder; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; -import java.time.LocalDateTime; -import java.time.temporal.ChronoUnit; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -31,7 +24,7 @@ import java.util.stream.Collectors; public class PasswordChangeHistoryService { private final PasswordChangeHistoryManager passwordChangeHistoryManager; private final PasswordSecurityConfigService passwordSecurityConfigService; - private final UserExpandInfoManager userExpandInfoManager; + private final PasswordEncoder passwordEncoder; /** * 保存密码更改历史 @@ -63,76 +56,11 @@ public class PasswordChangeHistoryService { */ public boolean isRecentlyUsed(Long userId,String password){ PasswordSecurityConfigDto securityConfig = passwordSecurityConfigService.getDefault(); - Integer recentPasswordCount = securityConfig.getRecentPassword(); + int recentPasswordCount = securityConfig.getRecentPassword(); + String pwd = passwordEncoder.encode(password); List changeHistories = passwordChangeHistoryManager.findAllByUserAndCount(userId, recentPasswordCount); return changeHistories.stream() - .anyMatch(o-> Objects.equals(o.getPassword(), password)); + .anyMatch(o-> Objects.equals(o.getPassword(), pwd)); } - /** - * 判断用户密码是否需要强制进行更改 - */ - public boolean isPasswordExpire(Long userId){ - PasswordSecurityConfigDto securityConfig = passwordSecurityConfigService.getDefault(); - List changeHistoryList = passwordChangeHistoryManager.findAllByUserAndCount(userId, 1); - if (CollUtil.isNotEmpty(changeHistoryList)){ - PasswordChangeHistory passwordChangeHistory = changeHistoryList.get(0); - LocalDateTime createTime = passwordChangeHistory.getCreateTime(); - // 判断距今的时间是否超过密码过期时间 - long day = LocalDateTimeUtil.between(createTime, LocalDateTime.now(), ChronoUnit.DAYS); - return day > securityConfig.getUpdateFrequency(); - } - return false; - } - - /** - * 是否进行提醒密码修改倒计时 - */ - public int getPasswordExpire(Long userId){ - PasswordSecurityConfigDto securityConfig = passwordSecurityConfigService.getDefault(); - List changeHistoryList = passwordChangeHistoryManager.findAllByUserAndCount(userId, 1); - if (CollUtil.isNotEmpty(changeHistoryList)){ - PasswordChangeHistory passwordChangeHistory = changeHistoryList.get(0); - LocalDateTime createTime = passwordChangeHistory.getCreateTime(); - // 判断距今的时间是否超过密码过期时间 - int day = (int) LocalDateTimeUtil.between(createTime, LocalDateTime.now(), ChronoUnit.DAYS); - // 是否满足提醒修改密码的时间 - if(day < securityConfig.getExpireRemind()){ - return securityConfig.getUpdateFrequency() - day; - } - } - return 0; - } - - /** - * 验证状态 - */ - public UserVerifyStateResult verifyUserPassword(Long userId){ - - PasswordSecurityConfigDto securityConfig = passwordSecurityConfigService.getDefault(); - // 判断用户初始化密码是否需要修改 - UserExpandInfo userInfo = userExpandInfoManager.findById(userId) - .orElseThrow(UserInfoNotExistsException::new); - if (userInfo.isInitialPassword() && securityConfig.isRequireChangePwd()){ - return UserVerifyStateResult.fail("用户初始密码需要修改"); - } - // 判断用户密码是否需要强制进行更改 - List changeHistoryList = passwordChangeHistoryManager.findAllByUserAndCount(userId, 1); - if (CollUtil.isNotEmpty(changeHistoryList)){ - PasswordChangeHistory passwordChangeHistory = changeHistoryList.get(0); - LocalDateTime createTime = passwordChangeHistory.getCreateTime(); - // 判断距今的时间是否超过密码过期时间 - int keepPwdDay = (int) LocalDateTimeUtil.between(createTime, LocalDateTime.now(), ChronoUnit.DAYS); - int dealDay = securityConfig.getUpdateFrequency() - keepPwdDay; - // 判断密码是否已经过期 - if( dealDay <= 0 ){ - return UserVerifyStateResult.fail("密码已过期,需要进行修改后才可以使用"); - } - // 判断是否满足密码修改的倒计时提醒 - if (keepPwdDay < securityConfig.getExpireRemind()){ - return UserVerifyStateResult.fail("密码已过期,需要进行修改后才可以使用"); - } - } - return UserVerifyStateResult.success(); - } } -- Gitee From 038877b5ddd4180ff6543aea36bffb2241580674 Mon Sep 17 00:00:00 2001 From: nws <3239709711@qq.com> Date: Sat, 21 Oct 2023 20:49:30 +0800 Subject: [PATCH 25/26] =?UTF-8?q?build=20=E7=89=88=E6=9C=AC=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +- _config/sql/bootx-platform.sql | 2744 +++++++++-------- _doc/ChangeLog.md | 2 +- bootx-common-core/pom.xml | 2 +- .../common-starter-audit-log/pom.xml | 2 +- .../common-starter-auth/pom.xml | 2 +- .../common-starter-code-gen/pom.xml | 2 +- .../common-starter-data-perm/pom.xml | 2 +- .../common-starter-dingtalk/pom.xml | 2 +- .../common-starter-file/pom.xml | 2 +- .../common-starter-monitor/pom.xml | 2 +- .../common-starter-quartz/pom.xml | 2 +- .../common-starter-wechat/pom.xml | 2 +- .../common-starter-wecom/pom.xml | 2 +- bootx-common-starters/pom.xml | 2 +- bootx-commons/common-cache/pom.xml | 2 +- bootx-commons/common-data-translate/pom.xml | 2 +- bootx-commons/common-eventer/pom.xml | 2 +- .../common-exception-handler/pom.xml | 2 +- bootx-commons/common-header-holder/pom.xml | 2 +- bootx-commons/common-idempotency/pom.xml | 2 +- bootx-commons/common-jackson/pom.xml | 2 +- bootx-commons/common-log/pom.xml | 2 +- bootx-commons/common-mongo/pom.xml | 2 +- bootx-commons/common-mybatis-plus/pom.xml | 2 +- bootx-commons/common-rabbitmq/pom.xml | 2 +- bootx-commons/common-redis-client/pom.xml | 2 +- bootx-commons/common-sequence/pom.xml | 2 +- bootx-commons/common-spring/pom.xml | 2 +- bootx-commons/common-super-query/pom.xml | 2 +- bootx-commons/common-swagger/pom.xml | 2 +- bootx-commons/common-websocket/pom.xml | 2 +- bootx-commons/common-xxl-job/pom.xml | 2 +- bootx-commons/pom.xml | 2 +- bootx-demo/pom.xml | 2 +- bootx-services/pom.xml | 2 +- bootx-services/service-baseapi/pom.xml | 2 +- .../core/dataresult/entity/DataResultSql.java | 2 +- bootx-services/service-iam/pom.xml | 8 +- .../iam/core/client/entity/LonginType.java | 2 +- .../entity/PasswordSecurityConfig.java | 2 +- .../user/entity/LoginSecurityConfig.java | 3 +- .../iam/core/user/entity/UserExpandInfo.java | 2 +- bootx-services/service-miniapp/pom.xml | 2 +- bootx-services/service-notice/pom.xml | 2 +- bootx-services/service-visualization/pom.xml | 2 +- bootx-start/pom.xml | 2 +- .../src/main/resources/application-dev.yml | 2 +- ...lication-demo.yml => application-prod.yml} | 1 + ...release.sql => V1.3.5_231021__release.sql} | 2744 +++++++++-------- .../src/main/resources/logback-spring.xml | 1 - pom.xml | 6 +- 52 files changed, 2884 insertions(+), 2715 deletions(-) rename bootx-start/src/main/resources/{application-demo.yml => application-prod.yml} (99%) rename bootx-start/src/main/resources/db/migration/{V1.3.4_230906__release.sql => V1.3.5_231021__release.sql} (95%) diff --git a/README.md b/README.md index ceede72a..b1f67ead 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -# Bootx-Platform (v1.3.4-园博园) +# Bootx-Platform (v1.3.5-园博园)

star - Build Status + Build Status Build Status Downloads diff --git a/_config/sql/bootx-platform.sql b/_config/sql/bootx-platform.sql index a165f540..8100f512 100644 --- a/_config/sql/bootx-platform.sql +++ b/_config/sql/bootx-platform.sql @@ -6,7 +6,7 @@ Target Server Type : MySQL File Encoding : 65001 - Date: 27/08/2023 13:46:57 + Date: 21/10/2023 18:53:38 */ SET NAMES utf8mb4; @@ -3012,29 +3012,6 @@ INSERT INTO `base_area` VALUES ('659009', '昆玉市', '6590'); INSERT INTO `base_area` VALUES ('659010', '胡杨河市', '6590'); INSERT INTO `base_area` VALUES ('659011', '新星市', '6590'); --- ---------------------------- --- Table structure for base_china_word --- ---------------------------- -DROP TABLE IF EXISTS `base_china_word`; -CREATE TABLE `base_china_word` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `word` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '敏感词', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '分类', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '描述', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `white` bit(1) NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '敏感词' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of base_china_word --- ---------------------------- - -- ---------------------------- -- Table structure for base_city -- ---------------------------- @@ -3393,46 +3370,181 @@ INSERT INTO `base_city` VALUES ('6543', '阿勒泰地区', '65'); INSERT INTO `base_city` VALUES ('6590', '自治区直辖县级行政区划', '65'); -- ---------------------------- --- Table structure for base_dict +-- Table structure for iam_perm_menu -- ---------------------------- -DROP TABLE IF EXISTS `base_dict`; -CREATE TABLE `base_dict` ( +DROP TABLE IF EXISTS `iam_perm_menu`; +CREATE TABLE `iam_perm_menu` ( `id` bigint(20) NOT NULL, - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '编码', - `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称', - `enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '启用状态', - `group_tag` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '分类标签', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', + `client_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '终端code', + `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父id', + `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单名称', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路由名称', + `perm_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单权限编码', + `effect` bit(1) NULL DEFAULT NULL COMMENT '是否有效', + `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单图标', + `hidden` bit(1) NOT NULL COMMENT '是否隐藏', + `hide_children_in_menu` bit(1) NOT NULL COMMENT '是否隐藏子菜单', + `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件', + `component_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件名字', + `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路径', + `redirect` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单跳转地址(重定向)', + `sort_no` double NOT NULL COMMENT '菜单排序', + `menu_type` int(5) NOT NULL COMMENT '类型(0:一级菜单;1:子菜单 ;2:按钮权限)', + `leaf` bit(1) NULL DEFAULT NULL COMMENT '是否叶子节点', + `keep_alive` bit(1) NULL DEFAULT NULL COMMENT '是否缓存页面', + `target_outside` bit(1) NULL DEFAULT NULL COMMENT '是否外部打开方式', + `hidden_header_content` bit(1) NULL DEFAULT NULL COMMENT '隐藏的标题内容', + `admin` bit(1) NOT NULL COMMENT '系统菜单', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NULL DEFAULT NULL COMMENT '版本', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '权限_菜单' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of base_dict +-- Records of iam_perm_menu -- ---------------------------- -INSERT INTO `base_dict` VALUES (1422929378374828033, 'Sex', '性别', b'1', '基础属性', '性别', 0, '2021-08-04 22:36:15', 1399985191002447872, '2022-05-11 19:48:40', 0, 6); -INSERT INTO `base_dict` VALUES (1425744045414772737, 'MenuType', '菜单类型', b'1', '系统属性', '菜单类型', 0, '2021-08-12 17:00:44', 1399985191002447872, '2022-05-11 19:48:44', 0, 4); -INSERT INTO `base_dict` VALUES (1430063572491411456, 'loginType', '字典类型', b'1', '基础属性', '字典类型', 1399985191002447872, '2021-08-24 15:05:00', 1399985191002447872, '2021-08-24 15:05:00', 1, 2); -INSERT INTO `base_dict` VALUES (1435829999592759296, 'UserStatusCode', '用户状态码', b'1', '系统属性', '用户状态码', 1399985191002447872, '2021-09-09 12:58:43', 1399985191002447872, '2022-05-11 19:48:56', 0, 2); -INSERT INTO `base_dict` VALUES (1435838066191458304, 'LogBusinessType', '业务操作类型', b'1', '系统属性', '操作日志记录的业务操作类型', 1399985191002447872, '2021-09-09 13:30:46', 1399985191002447872, '2022-05-11 19:49:00', 0, 2); -INSERT INTO `base_dict` VALUES (1438078864509317120, 'MailSecurityCode', '邮箱安全方式编码', b'1', '消息服务', '邮箱安全方式编码', 1399985191002447872, '2021-09-15 17:54:54', 1399985191002447872, '2022-05-11 19:49:06', 0, 2); -INSERT INTO `base_dict` VALUES (1439961232651034624, 'MessageTemplateCode', '消息模板类型', b'1', '消息服务', '消息模板类型', 1399985191002447872, '2021-09-20 22:34:46', 1399985191002447872, '2022-05-11 19:48:34', 0, 1); -INSERT INTO `base_dict` VALUES (1452836604783845376, 'SocialType', '三方系统类型', b'1', '系统属性', '三方系统类型', 1399985191002447872, '2021-10-26 11:16:54', 1399985191002447872, '2022-05-11 19:48:28', 0, 3); -INSERT INTO `base_dict` VALUES (1452843488735621120, 'ParamType', '参数类型', b'1', '系统属性', '参数类型', 1399985191002447872, '2021-10-26 11:44:15', 1399985191002447872, '2022-05-11 19:48:21', 0, 2); -INSERT INTO `base_dict` VALUES (1496024933900169216, 'Political', '政治面貌', b'1', '基础数据', '政治面貌', 1399985191002447872, '2022-02-22 15:31:54', 1399985191002447872, '2022-05-11 19:48:04', 0, 1); -INSERT INTO `base_dict` VALUES (1556996322223968256, 'WeChatMediaType', '微信媒体类型', b'1', '微信', '微信媒体类型', 1399985191002447872, '2022-08-09 21:30:25', 1399985191002447872, '2022-08-09 21:30:26', 0, 0); -INSERT INTO `base_dict` VALUES (1561003021674987520, 'SiteMessageReceive', '消息接收类型', b'1', '站内信', '站内信接收类型', 1399985191002447872, '2022-08-20 22:51:37', 1399985191002447872, '2022-08-20 22:51:37', 0, 0); -INSERT INTO `base_dict` VALUES (1561003189111603200, 'SiteMessageState', '消息发布状态', b'1', '站内信', '站内信消息发布状态', 1399985191002447872, '2022-08-20 22:52:17', 1399985191002447872, '2022-08-20 22:52:17', 0, 0); -INSERT INTO `base_dict` VALUES (1589527951317389312, 'DataScopePerm', '数据范围权限', b'1', '系统属性', '数据范围权限', 1414143554414059520, '2022-11-07 15:59:30', 1399985191002447872, '2022-12-09 22:09:25', 0, 3); -INSERT INTO `base_dict` VALUES (1633393287952257024, 'DatabaseType', '数据库类型', b'1', '开发', '数据库类型', 1414143554414059520, '2023-03-08 17:04:41', 1414143554414059520, '2023-03-08 17:04:41', 0, 0); -INSERT INTO `base_dict` VALUES (1688742690398617600, 'SmsChannel', '短信渠道商', b'1', '消息服务', '短信渠道商', 1414143554414059520, '2023-08-08 10:43:27', 1414143554414059520, '2023-08-12 20:24:03', 0, 1); -INSERT INTO `base_dict` VALUES (1690338321769918464, 'GeneralTemplateUseType', '通用模板类型', b'1', '系统属性', '通用模板类型', 1414143554414059520, '2023-08-12 20:23:56', 1414143554414059520, '2023-08-12 20:24:22', 0, 1); -INSERT INTO `base_dict` VALUES (1690338545284378624, 'GeneralTemplateState', '通用模板状态', b'1', '系统属性', '通用模板状态', 1414143554414059520, '2023-08-12 20:24:49', 1414143554414059520, '2023-08-12 20:24:49', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1414596052497092608, 'admin', NULL, '系统管理', 'system', '', NULL, 'desktop', b'0', b'0', 'RouteView', '', '/system', '/system/user', -99999, 0, b'0', b'1', b'0', b'0', b'1', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-27 10:02:16', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1414596647509446656, 'admin', 1452569691537256448, '用户管理', 'User', '', NULL, '', b'0', b'0', 'system/user/UserList', '', '/system/userAuth/user', '', 0, 1, b'0', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-27 10:17:40', 4, 0); +INSERT INTO `iam_perm_menu` VALUES (1414596773275652096, 'admin', 1414596052497092608, '菜单管理', 'Menu', '', NULL, '', b'0', b'0', 'system/menu/MenuList', '', '/system/permission/menu', '', 0, 1, b'0', b'1', b'0', b'0', b'1', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-26 23:56:16', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1414596805538238464, 'admin', 1452569339987472384, '角色管理', 'Role', '', NULL, '', b'0', b'0', 'system/role/RoleList', '', '/system/permission/role', '', 0, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-26 23:56:04', 4, 0); +INSERT INTO `iam_perm_menu` VALUES (1414596842322284544, 'admin', 1452569691537256448, '部门管理', 'Dept', '', NULL, '', b'0', b'0', 'system/dept/DeptList', '', '/system/userAuth/dept', '', 0, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-26 23:56:31', 7, 0); +INSERT INTO `iam_perm_menu` VALUES (1414596877617352704, 'admin', 1452571269199540224, '数据字典', 'Dict', '', b'0', '', b'0', b'0', 'system/dict/DictList', '', '/system/config/dict', '', 0, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2022-05-19 09:04:55', 11, 0); +INSERT INTO `iam_perm_menu` VALUES (1431082258161434624, 'admin', 1452569691537256448, '在线用户管理', 'OnlineUser', '', NULL, '', b'0', b'0', 'system/online/OnlineUserList', NULL, '/system/userAuth/online', '', 0, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-27 10:32:53', 6, 0); +INSERT INTO `iam_perm_menu` VALUES (1431083330909208576, 'admin', 1541427353886859264, '登录方式', 'LoginType', '', b'0', '', b'0', b'0', 'system/client/LoginTypeList', NULL, '/system/config/loginType', '', 9, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:37:09', 1399985191002447872, '2022-07-05 21:18:12', 11, 0); +INSERT INTO `iam_perm_menu` VALUES (1431089129232498688, 'admin', 1452569339987472384, '请求权限管理', 'Path', '', NULL, '', b'0', b'0', 'system/path/PathList', NULL, '/system/permission/path', '', 0, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 11:00:11', 1399985191002447872, '2021-08-27 11:00:11', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1431152689832525824, 'admin', NULL, '系统监控', 'monitor', '', b'0', 'radar-chart', b'0', b'0', 'RouteView', NULL, '/monitor', '', 0, 0, b'1', b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2021-08-27 15:12:45', 1399985191002447872, '2022-06-17 17:57:30', 21, 0); +INSERT INTO `iam_perm_menu` VALUES (1431153358157348864, 'admin', 1431152689832525824, '接口文档', 'ApiSwagger', '', b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/doc.html', '', 0, 1, b'1', b'1', b'1', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 15:15:25', 1399985191002447872, '2022-10-14 17:47:12', 18, 0); +INSERT INTO `iam_perm_menu` VALUES (1435143678721236992, 'admin', 1452567897717321728, '登录日志', 'LoginLog', '', b'0', '', b'0', b'0', 'starter/log/LoginLogList', NULL, '/monitor/log/loginLog', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-07 15:31:31', 1399985191002447872, '2022-10-20 20:38:06', 6, 0); +INSERT INTO `iam_perm_menu` VALUES (1435476255797624832, 'admin', 1452567897717321728, '操作日志', 'OperateLog', '', b'0', '', b'0', b'0', 'starter/log/OperateLogList', NULL, '/monitor/log/OperateLog', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-08 13:33:04', 1399985191002447872, '2022-10-20 20:38:12', 8, 0); +INSERT INTO `iam_perm_menu` VALUES (1438061887002759168, 'admin', NULL, '通知管理', 'notice', '', NULL, 'message', b'0', b'0', 'RouteView', NULL, '/notice', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-15 16:47:26', 1399985191002447872, '2021-09-15 16:47:26', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1438072357281542144, 'admin', 1438061887002759168, '邮件配置', 'MailConfig', '', NULL, '', b'0', b'0', 'notice/mail/MailConfigList', NULL, '/notice/mailConfig', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-15 17:29:03', 1399985191002447872, '2021-09-15 17:29:03', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1439196893514031104, 'admin', 1438061887002759168, '消息模板', 'MessageTemplate', '', NULL, '', b'0', b'0', 'notice/template/TemplateList', NULL, '/notice/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-18 19:57:33', 1399985191002447872, '2021-09-18 19:57:33', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1440216178722050048, 'admin', 1438061887002759168, '钉钉', 'DingTalk', '', NULL, '', b'0', b'0', 'RouteView', NULL, '/notice/dingTalk', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-21 15:27:50', 1399985191002447872, '2021-09-21 15:27:50', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1440216612211757056, 'admin', 1450822511087271936, '钉钉机器人', 'DingTalkRobot', '', b'0', '', b'0', b'0', 'third/dingtalk/robot/DingRobotConfigList', NULL, '/third/dingTalk/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-21 15:29:33', 1399985191002447872, '2022-07-26 13:34:35', 5, 0); +INSERT INTO `iam_perm_menu` VALUES (1450473063320526848, 'admin', 1452569691537256448, '第三方登录', 'Social', '', b'0', '', b'1', b'0', 'system/social/SocialList', NULL, '/system/userAuth/social', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-19 22:45:01', 1399985191002447872, '2022-07-26 13:35:47', 5, 0); +INSERT INTO `iam_perm_menu` VALUES (1450803906215886848, 'admin', 1452571269199540224, '定时任务', 'QuartzJobList', '', NULL, '', b'0', b'0', 'starter/quartz/QuartzJobList', NULL, '/system/config/quartz', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 20:39:41', 1399985191002447872, '2021-10-20 20:39:41', 5, 0); +INSERT INTO `iam_perm_menu` VALUES (1450819607680991232, 'admin', NULL, '第三方对接', 'third', '', b'0', 'branches', b'0', b'0', 'RouteView', NULL, '/third', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 21:42:04', 1399985191002447872, '2022-07-26 13:34:02', 4, 0); +INSERT INTO `iam_perm_menu` VALUES (1450821723027881984, 'admin', 1450819607680991232, '微信', 'WeChat', '', b'0', '', b'0', b'0', 'RouteView', NULL, '/third/wechat', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 21:50:28', 1399985191002447872, '2022-08-03 23:23:10', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1450821877831254016, 'admin', 1450819607680991232, '企业微信', 'WeCom', '', b'0', '', b'0', b'0', 'RouteView', NULL, '/third/wecom', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 21:51:05', 1399985191002447872, '2022-08-03 23:22:58', 4, 0); +INSERT INTO `iam_perm_menu` VALUES (1450822511087271936, 'admin', 1450819607680991232, '钉钉', 'DingTalk', '', b'0', '', b'0', b'0', 'RouteView', NULL, '/third/dingtalk', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 21:53:36', 1399985191002447872, '2022-08-03 23:23:29', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1450827660459458560, 'admin', 1438061887002759168, '微信', 'NoticeWeChat', '', b'0', '', b'0', b'0', 'Dev', NULL, '/notice/wechat', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 22:14:04', 1399985191002447872, '2022-06-21 20:53:04', 1, 1); +INSERT INTO `iam_perm_menu` VALUES (1452567897717321728, 'admin', 1431152689832525824, '审计日志', 'auditLog', '', b'0', '', b'0', b'0', 'RouteView', NULL, '/monitor/log', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-25 17:29:09', 1399985191002447872, '2022-10-20 20:37:46', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1452569339987472384, 'admin', 1414596052497092608, '权限管理', 'permission', '', NULL, '', b'0', b'0', 'RouteView', NULL, '/system/permission', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-25 17:34:53', 1399985191002447872, '2021-10-25 17:34:53', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1452569691537256448, 'admin', 1414596052497092608, '用户信息', 'userAuth', '', NULL, '', b'0', b'0', 'RouteView', NULL, '/system/userAuth', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-25 17:36:17', 1399985191002447872, '2021-10-25 17:36:17', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1452571269199540224, 'admin', 1414596052497092608, '系统配置', 'systemConfig', '', NULL, '', b'0', b'0', 'RouteView', NULL, '/system/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-25 17:42:33', 1399985191002447872, '2021-10-25 17:42:33', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1452638905302966272, 'admin', 1452571269199540224, '系统参数', 'SystemParam', '', NULL, '', b'0', b'0', 'system/param/SystemParamList', NULL, '/system/config/param', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-25 22:11:18', 1399985191002447872, '2021-10-25 22:11:18', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1474694545336676352, 'admin', 1452569339987472384, '数据范围权限', 'DataScope', '', NULL, '', b'0', b'0', 'system/scope/DataScopeList', NULL, '/system/permission/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-12-25 18:52:33', 1399985191002447872, '2021-12-25 18:52:33', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1480839877352476672, 'admin', 1452567897717321728, '数据版本日志', 'DataVersionLog', NULL, b'0', '', b'0', b'0', 'starter/log/DataVersionLogList', NULL, '/monitor/log/DataVersionLog', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-01-11 17:51:54', 1399985191002447872, '2022-10-20 20:38:18', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1490984296616263680, 'admin', 1552207982510706688, '文件管理', 'FIleUpLoad', NULL, b'0', '', b'0', b'0', 'develop/file/FileUploadList', NULL, '/develop/file', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-02-08 17:42:12', 1399985191002447872, '2022-07-28 09:16:56', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1495013564652429312, 'admin', 1552207982510706688, '代码生成', 'CodeGen', NULL, b'0', '', b'0', b'0', 'develop/codegen/CodeGenList', NULL, '/develop/codegen', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-02-19 20:33:04', 1399985191002447872, '2022-07-27 16:25:05', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1495968302034210816, 'admin', NULL, '功能演示', 'Demo', NULL, b'0', 'block', b'0', b'0', 'RouteView', NULL, '/demo', '', 99, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-02-22 11:46:52', 1399985191002447872, '2022-05-10 11:02:05', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1495969099987963904, 'admin', 1495968302034210816, '数据相关', 'DemoData', NULL, b'0', '', b'0', b'0', 'RouteView', NULL, '/demo/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-02-22 11:50:02', 1399985191002447872, '2022-03-24 16:27:46', 4, 0); +INSERT INTO `iam_perm_menu` VALUES (1496020308992143360, 'admin', 1495968302034210816, '超级查询', 'SuperQueryDemo', NULL, b'0', '', b'0', b'0', 'demo/query/SuperQueryDemoList', NULL, '/demo/query/super', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-02-22 15:13:31', 1399985191002447872, '2022-05-27 17:34:41', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1506910599819165696, 'admin', 1495969099987963904, '数据权限', 'DataPermDemoList', NULL, b'0', '', b'0', b'0', 'demo/data/perm/DataPermDemoList', NULL, '/demo/data/perm', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-03-24 16:27:39', 1399985191002447872, '2022-03-24 16:28:56', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1506910885463851008, 'admin', 1495969099987963904, '加密解密', 'DataEncryptDemo', NULL, b'0', '', b'0', b'0', 'demo/data/encrypt/DataEncryptDemoList', NULL, '/demo/data/encrypt', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-03-24 16:28:47', 1399985191002447872, '2022-03-24 16:28:47', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1506911113394913280, 'admin', 1495969099987963904, '数据脱敏', 'DataSensitiveDemo', NULL, b'0', '', b'0', b'0', 'demo/data/sensitive/DataSensitiveDemoList', NULL, '/demo/data/sensitive', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-03-24 16:29:41', 1399985191002447872, '2022-03-24 17:16:03', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1507998458886197248, 'admin', 1495968302034210816, 'WS演示', 'WebsocketDemo', NULL, b'0', '', b'0', b'0', 'demo/ws/WebsocketDemo', NULL, '/demo/ws', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-03-27 16:30:25', 1399985191002447872, '2022-03-27 16:30:25', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1509488473583562752, 'admin', 1495968302034210816, '幂等请求演示', 'IdempotentDemo', NULL, b'0', '', b'0', b'0', 'demo/idempotent/Idempotent', NULL, '/demo/idempotent', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-03-31 19:11:12', 1399985191002447872, '2022-05-27 17:35:00', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1511266086400524288, 'admin', 1450822511087271936, '钉钉配置', 'DingTalkConfig', NULL, b'0', '', b'1', b'0', 'third/dingtalk/config/DingTalkConfigList', NULL, '/third/dingtalk/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-04-05 16:54:48', 1399985191002447872, '2022-07-26 13:34:44', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1530120084482084864, 'admin', 1495968302034210816, '消息中间件演示', 'MQDemo', NULL, b'0', '', b'0', b'0', 'demo/mq/MqDemo', NULL, '/demo/mq', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-05-27 17:33:51', 1399985191002447872, '2022-05-31 15:12:15', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1530120684645044224, 'admin', 1530120084482084864, 'MQTT消息', 'MqttDemo', NULL, b'0', '', b'0', b'0', '', NULL, '/demo/mq/mqtt', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-05-27 17:36:14', 1399985191002447872, '2022-05-27 17:36:14', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1530120821144473600, 'admin', 1530120084482084864, 'RabbitMQ', 'RabbitDemo', NULL, b'0', '', b'0', b'0', '', NULL, '/demo/mq/rabbit', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-05-27 17:36:47', 1399985191002447872, '2022-05-27 17:36:47', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1534000136370204672, 'admin', 1431152689832525824, 'ELK日志', 'ELK', '', b'0', '', b'1', b'0', '', NULL, 'http://elk.dev.bootx.cn:5601/app/discover', '', 0, 1, NULL, b'1', b'1', b'0', b'0', NULL, 1399985191002447872, '2022-06-07 10:31:48', 1399985191002447872, '2022-06-07 10:31:48', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1534008203006652416, 'admin', 1431152689832525824, 'PlumeLog日志', 'PlumeLog', '', b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/plumelog/#/', '', 0, 1, NULL, b'1', b'1', b'0', b'0', NULL, 1399985191002447872, '2022-06-07 11:03:51', 1399985191002447872, '2022-06-07 11:06:13', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1535451167008436224, 'admin', 1431152689832525824, '系统信息', 'SysInfo', NULL, b'0', '', b'0', b'0', 'starter/monitor/SystemInfoMonitor', NULL, '/monitor/sysinfo', '', 0, 1, NULL, b'0', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-06-11 10:37:40', 1399985191002447872, '2022-06-13 13:07:46', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1535965936371085312, 'admin', 1431152689832525824, 'Redis监控', 'RedisInfoMonitor', NULL, b'0', '', b'0', b'0', 'starter/monitor/RedisInfoMonitor', NULL, '/monitor/redis', '', 0, 1, NULL, b'0', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-06-12 20:43:11', 1399985191002447872, '2022-06-13 13:07:38', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1537730140522348544, 'admin', 1438061887002759168, '站内信', 'SiteMessageSender', '', b'0', '', b'0', b'0', 'notice/site/sender/SiteMessageList', NULL, '/notice/siteMessage', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-06-17 17:33:30', 1399985191002447872, '2022-08-20 21:12:30', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1538160478872625152, 'admin', 1495968302034210816, '富文本编辑', 'WangEditorDemo', NULL, b'0', '', b'0', b'0', 'demo/wangeditor/WangEditorDemo', NULL, '/demo/wangEditor', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-06-18 22:03:30', 1399985191002447872, '2022-06-18 22:03:31', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1541355214204030976, 'admin', 1541427353886859264, '认证终端', 'Client', '', b'0', '', b'0', b'0', 'system/client/ClientList', NULL, '/system/config/client', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:37:08', 1399985191002447872, '2022-07-05 21:17:45', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1541427353886859264, 'admin', 1414596052497092608, '认证管理', 'Auth', '', b'0', '', b'0', b'0', 'RouteView', NULL, '/system/auth', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-06-27 22:24:54', 1399985191002447872, '2022-06-27 22:24:54', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1551803592828932096, 'admin', 1450821877831254016, '企微机器人', 'WeComRobot', '', b'0', '', b'0', b'0', 'third/wecom/robot/WeComRobotConfigList', NULL, '/third/wecom/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-07-26 13:36:22', 1399985191002447872, '2022-10-24 11:07:27', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1552207982510706688, 'admin', NULL, '开发管理', 'develop', NULL, b'0', 'gold', b'0', b'0', 'RouteView', NULL, '/develop', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-07-27 16:23:16', 1399985191002447872, '2022-07-27 16:39:09', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1552208167664062464, 'admin', 1552207982510706688, '动态表单', 'DynamicForm', NULL, b'0', '', b'0', b'0', 'develop/dynamicform/DynamicFormList', NULL, '/develop/form', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-07-27 16:24:00', 1399985191002447872, '2022-07-27 16:38:05', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1554720980865380352, 'admin', 1495968302034210816, '消息通知', 'NoticeDemo', NULL, b'0', '', b'0', b'0', 'RouteView', NULL, '/demo/notice', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-08-03 14:49:02', 1399985191002447872, '2022-08-03 14:49:02', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1554721654336385024, 'admin', 1554720980865380352, '邮件发送', 'EmailDemo', NULL, b'0', '', b'0', b'0', 'demo/notice/email/EmailSender', NULL, '/demo/notice/email', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-08-03 14:51:42', 1399985191002447872, '2022-08-03 14:51:42', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1554850179754975232, 'admin', 1450821723027881984, '消息模板', 'WeChatTemplate', NULL, b'0', '', b'0', b'0', 'third/wechat/template/WeChatTemplateList', NULL, '/third/wechat/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-08-03 23:22:25', 1399985191002447872, '2022-08-03 23:23:18', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1555835229426368512, 'admin', 1450821723027881984, '自定义菜单', 'WeChatMenu', NULL, b'0', '', b'0', b'0', 'third/wechat/menu/WeChatMenuList', NULL, '/third/wechat/menu', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-08-06 16:36:39', 1399985191002447872, '2022-08-08 12:14:14', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1556997405528805376, 'admin', 1450821723027881984, '素材管理', 'WeChatMedia', NULL, b'0', '', b'0', b'0', 'third/wechat/media/WeChatMediaList', NULL, '/third/wechat/media', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-08-09 21:34:44', 1399985191002447872, '2022-08-09 21:34:44', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1573669546890297344, 'admin', 1552207982510706688, '动态数据源', 'DynamicSource', NULL, b'0', '', b'0', b'0', 'develop/dynamicsource/DynamicDataSourceList', NULL, '/develop/source', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-09-24 21:43:52', 1399985191002447872, '2022-09-24 21:43:52', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1580740450633101312, 'adminv3', NULL, '系统管理', 'System', NULL, b'0', 'ant-design:setting-outlined', b'0', b'0', 'Layout', NULL, '/system', '/system1/client', -99999, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:01:07', 1414143554414059520, '2022-10-18 15:32:09', 4, 0); +INSERT INTO `iam_perm_menu` VALUES (1580740637841666048, 'adminv3', 1582253306356649984, '终端管理', 'ClientList', NULL, b'0', '', b'0', b'0', '/modules/system/client/ClientList.vue', NULL, '/system/client', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:01:51', 1414143554414059520, '2022-10-18 14:13:27', 5, 0); +INSERT INTO `iam_perm_menu` VALUES (1580740758629232640, 'adminv3', 1582253306356649984, '登录方式', 'LoginTypeList', NULL, b'0', '', b'0', b'0', '/modules/system/loginType/LoginTypeList.vue', NULL, '/system/loginType', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:02:20', 1414143554414059520, '2022-10-18 14:13:40', 5, 0); +INSERT INTO `iam_perm_menu` VALUES (1580858583654051840, 'adminv3', 1580740450633101312, '测试Iframe', 'Iframe', NULL, b'0', '', b'0', b'0', 'Iframe', NULL, '/system/Iframe', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 17:50:32', 1414143554414059520, '2022-10-17 17:46:19', 5, 1); +INSERT INTO `iam_perm_menu` VALUES (1580917438227075072, 'adminv3', 1580740450633101312, '三极目录', 'hello', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system1/a', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 21:44:24', 1399985191002447872, '2022-10-14 23:38:16', 2, 1); +INSERT INTO `iam_perm_menu` VALUES (1580917571069071360, 'adminv3', 1580917438227075072, '百度', 'baidu', NULL, b'0', '', b'0', b'0', '', NULL, 'https://www.baidu.com/', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 21:44:56', 1399985191002447872, '2022-10-14 23:37:44', 3, 1); +INSERT INTO `iam_perm_menu` VALUES (1580928436300337152, 'adminv3', 1580740450633101312, '菜单管理', 'MenuList', NULL, b'0', '', b'0', b'0', '/modules/system/menu/MenuList.vue', NULL, '/system/menu', '', -99, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 22:28:06', 1399985191002447872, '2022-10-14 22:28:32', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582249924602580992, 'adminv3', 1580740450633101312, '权限管理', 'Permission', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/permission', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 13:59:13', 1414143554414059520, '2022-10-18 13:59:13', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1582253011803262976, 'adminv3', 1580740450633101312, '用户信息', 'UserAuth', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/user', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:11:30', 1414143554414059520, '2022-10-18 14:11:30', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1582253152903843840, 'adminv3', 1580740450633101312, '系统配置', 'SystemConfig', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:12:03', 1414143554414059520, '2022-10-18 14:12:03', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1582253306356649984, 'adminv3', 1580740450633101312, '认证管理', 'Auth', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/auth', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:12:40', 1414143554414059520, '2022-10-18 14:13:13', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582275875424129024, 'adminv3', NULL, '系统监控', 'Monitor', NULL, b'0', 'ant-design:monitor-outlined', b'0', b'0', 'Layout', NULL, '/monitor', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:21', 1414143554414059520, '2022-10-19 17:29:29', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582275984849326080, 'adminv3', NULL, '通知管理', 'Notice', NULL, b'0', 'ant-design:message-outlined', b'0', b'0', 'Layout', NULL, '/notice', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:47', 1414143554414059520, '2022-10-19 17:30:06', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582276092038959104, 'adminv3', NULL, '第三方对接', 'Third', NULL, b'0', 'ant-design:api-twotone', b'0', b'0', 'Layout', NULL, '/third', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:43:12', 1414143554414059520, '2022-10-19 17:32:04', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582276341792985088, 'adminv3', NULL, '开发管理', 'Develop', NULL, b'0', 'ant-design:apartment-outlined', b'0', b'0', 'Layout', NULL, '/develop', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:44:12', 1414143554414059520, '2022-10-19 15:24:22', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582276516905177088, 'adminv3', NULL, '功能演示', 'Demo', NULL, b'0', 'ant-design:appstore-twotone', b'0', b'0', 'Layout', NULL, '/demo', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:44:54', 1414143554414059520, '2022-10-19 17:34:26', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582277076421136384, 'adminv3', 1582249924602580992, '角色管理', 'RoleList', NULL, b'0', '', b'0', b'0', '/modules/system/role/RoleList.vue', NULL, '/system/permission/role', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:47:07', 1414143554414059520, '2022-10-18 15:59:37', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582301940364308480, 'adminv3', 1582249924602580992, '请求权限管理', 'PermPathList', NULL, b'0', '', b'0', b'0', '/modules/system/path/PermPathList.vue', NULL, '/system/permission/path', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:25:55', 1414143554414059520, '2022-10-18 20:41:22', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582302180999917568, 'adminv3', 1582249924602580992, '数据范围权限', 'DataScopeList', NULL, b'0', '', b'0', b'0', '/modules/system/scope/DataScopeList.vue', NULL, '/system/permission/scope', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:26:52', 1414143554414059520, '2022-10-18 17:26:52', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1582302542955769856, 'adminv3', 1582253011803262976, '用户管理', 'UserList', NULL, b'0', '', b'0', b'0', '/modules/system/user/UserList.vue', NULL, '/system/user/info', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:28:19', 1414143554414059520, '2022-10-18 17:28:19', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1582302764129808384, 'adminv3', 1582253011803262976, '部门管理', 'DeptList', NULL, b'0', '', b'0', b'0', '/modules/system/dept/DeptList.vue', NULL, '/system/user/dept', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:29:11', 1414143554414059520, '2022-10-18 17:32:26', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582303143110340608, 'adminv3', 1582253152903843840, '数据字典', 'DictList', NULL, b'0', '', b'0', b'0', '/modules/system/dict/DictList.vue', NULL, '/system/config/dict', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:30:42', 1414143554414059520, '2022-10-18 17:30:42', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1582303290070364160, 'adminv3', 1582253152903843840, '定时任务', 'QuartzJobList', NULL, b'0', '', b'0', b'0', '/modules/baseapi/quartz/QuartzJobList.vue', NULL, '/system/config/quartz', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:17', 1414143554414059520, '2023-08-09 15:50:46', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1582303447428067328, 'adminv3', 1582253152903843840, '系统参数', 'SystemParamList', NULL, b'0', '', b'0', b'0', '/modules/system/param/SystemParamList.vue', NULL, '/system/config/param', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:54', 1414143554414059520, '2022-10-19 23:14:16', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582632873244172288, 'adminv3', 1582276341792985088, '文件管理', 'FileUploadList', NULL, b'0', '', b'0', b'0', '/modules/develop/file/FileUploadList.vue', NULL, '/develop/file', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:20:56', 1414143554414059520, '2022-10-19 15:20:56', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1582633196587261952, 'adminv3', 1582276341792985088, '代码生成', 'CodeGenList', NULL, b'0', '', b'0', b'0', '/modules/develop/codegen/CodeGenList.vue', NULL, '/develop/codegen', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:13', 1414143554414059520, '2022-10-19 15:23:17', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582633307786649600, 'adminv3', 1582276341792985088, '动态表单', 'DynamicFormList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicform/DynamicFormList.vue', NULL, '/develop/form', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:39', 1414143554414059520, '2022-10-19 15:22:39', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1582633620321017856, 'adminv3', 1582276341792985088, '动态数据源', 'DynamicDataSourceList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicsource/DynamicDataSourceList.vue', NULL, '/develop/source', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:23:54', 1414143554414059520, '2022-10-19 15:23:54', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1583074308040925184, 'adminv3', 1582275875424129024, '接口文档', 'ApiSwagger', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/doc.html', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:35:02', 1414143554414059520, '2022-11-23 13:59:09', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1583075229563068416, 'adminv3', 1582275875424129024, '审计日志', 'AuditLog', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/monitor/log', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:38:42', 1414143554414059520, '2022-10-20 20:41:38', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1583076217481043968, 'adminv3', 1583075229563068416, '登录日志', 'LoginLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/login/LoginLogList.vue', NULL, '/monitor/log/login', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:42:37', 1414143554414059520, '2022-10-20 20:43:36', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1583076424935514112, 'adminv3', 1583075229563068416, '操作日志', 'OperateLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/operate/OperateLogList.vue', NULL, '/monitor/log/operate', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:43:26', 1414143554414059520, '2022-10-20 20:43:26', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1583076670881112064, 'adminv3', 1583075229563068416, '数据版本日志', 'DataVersionLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/data/DataVersionLogList.vue', NULL, '/monitor/log/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:44:25', 1414143554414059520, '2022-10-20 20:44:25', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1583076878956339200, 'adminv3', 1582275875424129024, 'ELK日志', 'ELK', NULL, b'0', '', b'1', b'0', '', NULL, 'http://elk.dev.bootx.cn:5601/app/discover', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:15', 1414143554414059520, '2023-08-12 19:26:12', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1583077015434797056, 'adminv3', 1582275875424129024, 'PlumeLog日志', 'PlumeLog', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/plumelog/#/', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:47', 1414143554414059520, '2022-10-20 20:45:47', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1583077198772019200, 'adminv3', 1582275875424129024, '系统信息', 'SystemInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/system/SystemInfoMonitor.vue', NULL, '/monitor/sysinfo', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:46:31', 1414143554414059520, '2022-10-20 20:46:31', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1583077360827342848, 'adminv3', 1582275875424129024, 'Redis监控', 'RedisInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/redis/RedisInfoMonitor.vue', NULL, '/monitor/redis', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:47:10', 1414143554414059520, '2022-10-20 20:47:10', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1584378294652051456, 'adminv3', 1582275984849326080, '邮件配置', 'MailConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/mail/MailConfigList.vue', NULL, '/notice/notice', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:56:36', 1414143554414059520, '2022-10-24 16:14:34', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1584378497824137216, 'adminv3', 1582275984849326080, '消息模板', 'MessageTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/template/MessageTemplateList.vue', NULL, '/notice/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:57:25', 1414143554414059520, '2022-10-25 22:14:14', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1584378671266996224, 'adminv3', 1582275984849326080, '站内信', 'SiteMessageList', NULL, b'0', '', b'0', b'0', '/modules/notice/site/sender/SiteMessageList.vue', NULL, '/notice/siteMessage', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:58:06', 1414143554414059520, '2022-10-24 10:58:06', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1584379602188574720, 'adminv3', 1582276092038959104, '微信', 'WeChat', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wechat', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:01:48', 1414143554414059520, '2022-10-24 11:01:48', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1584379704122744832, 'adminv3', 1582276092038959104, '企业微信', 'WeCom', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wecom', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:02:12', 1414143554414059520, '2022-10-24 11:02:12', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1584380087805091840, 'adminv3', 1582276092038959104, '钉钉', 'DingTalk', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/dingtalk', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:03:44', 1414143554414059520, '2022-10-24 11:03:44', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1584380527829524480, 'adminv3', 1584379602188574720, '消息模板', 'WechatTemplateList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/template/WechatTemplateList.vue', NULL, '/third/wechat/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:05:29', 1414143554414059520, '2022-10-26 15:58:56', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1584380679478779904, 'adminv3', 1584379602188574720, '自定义菜单', 'WechatMenuList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/menu/WechatMenuList.vue', NULL, '/third/wechat/menu', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:05', 1414143554414059520, '2022-10-27 10:15:24', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1584380824308097024, 'adminv3', 1584379602188574720, '素材管理', 'WechatMediaList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/media/WechatMediaList.vue', NULL, '/third/wechat/media', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:40', 1414143554414059520, '2022-10-27 16:38:47', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1584381134950834176, 'adminv3', 1584379704122744832, '企微机器人', 'WeComRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/wecom/robot/WecomRobotConfigList.vue', NULL, '/third/wecom/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:07:54', 1414143554414059520, '2022-11-12 20:58:25', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1584381322184564736, 'adminv3', 1584380087805091840, '钉钉机器人', 'DingRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/dingtalk/robot/DingRobotConfigList.vue', NULL, '/third/dingTalk/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:08:38', 1414143554414059520, '2022-11-12 20:58:37', 6, 0); +INSERT INTO `iam_perm_menu` VALUES (1584381477986181120, 'adminv3', 1584380087805091840, '钉钉配置', 'DingRobotConfigList', NULL, b'0', '', b'1', b'0', '/modules/third/dingtalk/config/DingTalkConfigList.vue', NULL, '/third/dingtalk/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:09:15', 1414143554414059520, '2022-11-11 16:04:47', 1, 1); +INSERT INTO `iam_perm_menu` VALUES (1597044371008516096, 'adminv3', NULL, '功能演示', 'Demo', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/demo', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-11-28 09:47:04', 1414143554414059520, '2022-11-28 09:47:04', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1597102799370317824, 'adminv3', 1582276516905177088, '数据相关', 'DemoData', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/demo/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-11-28 13:39:15', 1414143554414059520, '2022-11-28 13:39:15', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1597210969883275264, 'adminv3', 1582276516905177088, '超级查询', 'SuperQueryDemoList', NULL, b'0', '', b'0', b'0', '/modules/demo/query/SuperQueryDemoList.vue', NULL, '/demo/query/super', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-11-28 20:49:05', 1414143554414059520, '2022-11-28 21:00:14', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1599337250200440832, 'adminv3', NULL, '关于', '', NULL, b'0', 'simple-icons:about-dot-me', b'0', b'0', '', NULL, '/about/index', '', 99, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 17:38:09', 1414143554414059520, '2022-12-04 17:43:32', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1599378494880436224, 'adminv3', 1582276516905177088, 'WS演示', 'WebsocketDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/ws/WebsocketDemo', NULL, '/demo/ws', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 20:22:03', 1414143554414059520, '2023-02-08 12:17:58', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1599378579513102336, 'adminv3', 1582276516905177088, '幂等请求演示', 'IdempotentDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/idempotent/IdempotentDemo', NULL, '/demo/idempotent', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 20:22:23', 1414143554414059520, '2023-02-08 11:46:00', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1599378728490586112, 'adminv3', 1582276516905177088, '消息中间件演示', 'MqDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/mq/MqDemo', NULL, '/demo/mq', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 20:22:59', 1414143554414059520, '2023-02-08 22:09:04', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1599378838519762944, 'adminv3', 1582276516905177088, '富文本编辑', 'WangEditorDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/wangeditor/WangEditorDemo.vue', NULL, '/demo/wangEditor', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 20:23:25', 1414143554414059520, '2023-02-10 09:05:16', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1617847577158324224, 'adminv3', 1597102799370317824, '数据权限', 'DataPermDemoList', NULL, b'0', '', b'0', b'0', '/modules/demo/data/perm/DataPermDemoList.vue', NULL, '/demo/data/perm', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-01-24 19:31:35', 1414143554414059520, '2023-01-24 20:06:04', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1617847653746315264, 'adminv3', 1597102799370317824, '加密解密', 'DataEncryptDemoList', NULL, b'0', '', b'0', b'0', '/modules/demo/data/encrypt/DataEncryptDemoList.vue', NULL, '/demo/data/encrypt', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-01-24 19:31:53', 1414143554414059520, '2023-01-24 20:05:45', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1617847747375763456, 'adminv3', 1597102799370317824, '数据脱敏', 'DataSensitiveDemoList', NULL, b'0', '', b'0', b'0', '/modules/demo/data/sensitive/DataSensitiveDemoList.vue', NULL, '/demo/data/sensitive', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-01-24 19:32:16', 1414143554414059520, '2023-01-24 20:06:58', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1621150743447965696, 'admin', 1495968302034210816, '省市区联动', 'ChinaRegionDemo', NULL, b'0', '', b'0', b'0', 'demo/chinaregion/ChinaRegionDemo', NULL, '/demo/chinaregion', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-02-02 22:17:11', 1399985191002447872, '2023-02-08 09:43:39', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1623156857846034432, 'adminv3', 1582276516905177088, '省市区联动', 'ChinaRegionDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/chinaregion/ChinaRegionDemo', NULL, '/demo/chinaregion', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-02-08 11:08:46', 1414143554414059520, '2023-02-08 11:08:46', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1623325795944439808, 'adminv3', 1599378992811429888, '邮件通知', 'EmailSenderDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/notice/email/EmailSenderDemo.vue', NULL, '/demo/notice/email', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-02-08 22:20:04', 1414143554414059520, '2023-02-20 10:38:55', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1623494586215579648, 'admin', 1552207982510706688, '行政区划', 'ChinaRegion', NULL, b'0', '', b'1', b'0', 'develop/region/ChinaRegionList', NULL, '/develop/region', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-02-09 09:30:47', 1399985191002447872, '2023-02-09 17:50:05', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1629039360928075776, 'adminv3', 1582276341792985088, '可视化大屏', 'ProjectInfoList', NULL, b'0', '', b'0', b'0', '/modules/develop/report/ProjectInfoList', NULL, '/develop/report', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-02-24 16:43:44', 1414143554414059520, '2023-02-24 16:44:17', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1631946120891707392, 'admin', 1552207982510706688, '可视化大屏', 'ProjectInfoList', NULL, b'0', '', b'0', b'0', 'develop/report/ProjectInfoList', NULL, '/develop/report', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-03-04 17:14:10', 1399985191002447872, '2023-03-04 17:14:10', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1635274568758435840, 'adminv3', 1582276341792985088, '数据集管理', 'DataResultSqlList', NULL, b'0', '', b'0', b'0', '/modules/develop/dataresult/DataResultSqlList', NULL, '/develop/dataresult', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-03-13 21:40:14', 1414143554414059520, '2023-09-18 14:26:51', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1687369862646558720, 'adminv3', 1582275984849326080, '短信管理', 'Sms', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/notice/sms', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:48:20', 1414143554414059520, '2023-08-04 15:48:32', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1687370142234669056, 'adminv3', 1687369862646558720, '短信配置', 'SmsChannelConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/config/SmsChannelConfigList', NULL, '/notice/sms/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:26', 1414143554414059520, '2023-08-04 15:49:26', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1687370277496778752, 'adminv3', 1687369862646558720, '短信模板', 'SmsTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/template/SmsTemplateList', NULL, '/notice/sms/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:59', 1414143554414059520, '2023-08-04 15:50:38', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1689181991598997504, 'adminv3', 1582253152903843840, '敏感词管理', 'ChinaWord', NULL, b'0', '', b'0', b'0', '/modules/baseapi/chianword/ChinaWordList.vue', NULL, '/system/config/chinaword', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-09 15:49:05', 1414143554414059520, '2023-08-09 15:49:05', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1690324070514782208, 'adminv3', 1582276341792985088, '通用模板', 'GeneralTemplateList', NULL, b'0', '', b'0', b'0', '/modules/develop/template/GeneralTemplateList', NULL, '/develop/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-12 19:27:18', 1414143554414059520, '2023-08-12 19:31:26', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1703665090038800384, 'adminv3', 1582276341792985088, '在线SQL', 'SqlQueryInfo', NULL, b'0', '', b'0', b'0', '/modules/develop/query/SqlQueryInfo', NULL, '/develop/sqlquery', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-09-18 14:59:45', 1414143554414059520, '2023-09-18 14:59:45', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1713931084759293952, 'adminv3', 1582253306356649984, '密码安全', 'PassowrdSecurity', NULL, b'0', '', b'0', b'0', '/modules/system/security/password/PasswordSecurityConfig.vue', NULL, '/system/config/passowrd', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-10-16 22:53:09', 1399985191002447872, '2023-10-16 22:58:59', 2, 0); -- ---------------------------- -- Table structure for base_dict_item @@ -3448,9 +3560,9 @@ CREATE TABLE `base_dict_item` ( `sort_no` double(8, 2) NOT NULL COMMENT '排序', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', `version` int(8) NOT NULL COMMENT '版本', PRIMARY KEY (`id`) USING BTREE, @@ -3536,150 +3648,17 @@ INSERT INTO `base_dict_item` VALUES (1690338707129987072, 1690338545284378624, ' INSERT INTO `base_dict_item` VALUES (1690338748032839680, 1690338545284378624, 'GeneralTemplateState', 'disable', '停用', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:37', 1414143554414059520, '2023-08-12 20:25:37', 0, 0); -- ---------------------------- --- Table structure for base_dynamic_data_source --- ---------------------------- -DROP TABLE IF EXISTS `base_dynamic_data_source`; -CREATE TABLE `base_dynamic_data_source` ( - `id` bigint(20) NOT NULL, - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据源编码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据源名称', - `database_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库类型', - `auto_load` bit(1) NULL DEFAULT NULL COMMENT '是否启动自动加载', - `db_driver` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '驱动类', - `db_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库地址', - `db_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库名称', - `db_username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户名', - `db_password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '密码', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '动态数据源管理' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_dynamic_data_source +-- Table structure for base_province -- ---------------------------- +DROP TABLE IF EXISTS `base_province`; +CREATE TABLE `base_province` ( + `code` char(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '省份编码', + `name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '省份名称', + PRIMARY KEY (`code`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '省份表' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for base_dynamic_form --- ---------------------------- -DROP TABLE IF EXISTS `base_dynamic_form`; -CREATE TABLE `base_dynamic_form` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表单名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表单键名', - `value` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '表单内容', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '动态表单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_dynamic_form --- ---------------------------- -INSERT INTO `base_dynamic_form` VALUES (1552656018381422592, '测试表单', 'test', '{\"list\":[{\"type\":\"input\",\"label\":\"输入框\",\"options\":{\"type\":\"text\",\"width\":\"100%\",\"defaultValue\":\"\",\"placeholder\":\"请输入\",\"clearable\":true,\"maxLength\":null,\"addonBefore\":\"\",\"addonAfter\":\"\",\"hidden\":false,\"disabled\":false},\"model\":\"aa\",\"key\":\"input_1659059676533\",\"help\":\"测试\",\"rules\":[{\"required\":true,\"message\":\"必填项\"}]},{\"type\":\"textarea\",\"label\":\"文本框\",\"options\":{\"width\":\"100%\",\"minRows\":4,\"maxRows\":6,\"maxLength\":null,\"defaultValue\":\"\",\"clearable\":true,\"hidden\":false,\"disabled\":false,\"placeholder\":\"请输入\"},\"model\":\"bb\",\"key\":\"textarea_1659020414125\",\"help\":\"\",\"rules\":[{\"required\":true,\"message\":\"必填项\"}]},{\"type\":\"slider\",\"label\":\"滑动输入条\",\"options\":{\"width\":\"100%\",\"defaultValue\":34,\"disabled\":false,\"hidden\":false,\"min\":0,\"max\":100,\"step\":1,\"showInput\":false},\"model\":\"cc\",\"key\":\"slider_1659020433092\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]}],\"config\":{\"layout\":\"horizontal\",\"labelCol\":{\"xs\":4,\"sm\":4,\"md\":4,\"lg\":4,\"xl\":4,\"xxl\":4},\"labelWidth\":100,\"labelLayout\":\"flex\",\"wrapperCol\":{\"xs\":18,\"sm\":18,\"md\":18,\"lg\":18,\"xl\":18,\"xxl\":18},\"hideRequiredMark\":false,\"customStyle\":\"\"}}', '测试动态表单', 1399985191002447872, '2022-07-28 22:03:36', 1399985191002447872, '2022-07-29 09:55:22', 0, 7); -INSERT INTO `base_dynamic_form` VALUES (1552656018381422593, '测试表单1', 'test1', '{\"list\":[{\"type\":\"input\",\"label\":\"申请人\",\"options\":{\"type\":\"text\",\"width\":\"100%\",\"defaultValue\":\"\",\"placeholder\":\"请输入\",\"clearable\":true,\"maxLength\":null,\"addonBefore\":\"\",\"addonAfter\":\"\",\"hidden\":false,\"disabled\":false},\"model\":\"apply_by\",\"key\":\"input_1659059676533\",\"help\":\"测试\",\"rules\":[{\"required\":true,\"message\":\"必填项\"}]},{\"type\":\"input\",\"label\":\"请假天数\",\"options\":{\"type\":\"text\",\"width\":\"100%\",\"defaultValue\":\"\",\"placeholder\":\"请输入\",\"clearable\":false,\"maxLength\":null,\"addonBefore\":\"\",\"addonAfter\":\"\",\"hidden\":false,\"disabled\":false},\"model\":\"leave_days\",\"key\":\"input_1662106166142\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]},{\"type\":\"textarea\",\"label\":\"备注\",\"options\":{\"width\":\"100%\",\"minRows\":4,\"maxRows\":6,\"maxLength\":null,\"defaultValue\":\"\",\"clearable\":true,\"hidden\":false,\"disabled\":false,\"placeholder\":\"请输入\"},\"model\":\"remark\",\"key\":\"textarea_1659020414125\",\"help\":\"\",\"rules\":[{\"required\":true,\"message\":\"必填项\"}]},{\"type\":\"switch\",\"label\":\"开关\",\"options\":{\"defaultValue\":false,\"hidden\":false,\"disabled\":false},\"model\":\"switch_1662108221389\",\"key\":\"switch_1662108221389\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]},{\"type\":\"slider\",\"label\":\"滑动输入条\",\"options\":{\"width\":\"100%\",\"defaultValue\":34,\"disabled\":false,\"hidden\":false,\"min\":0,\"max\":100,\"step\":1,\"showInput\":false},\"model\":\"cc\",\"key\":\"slider_1659020433092\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]},{\"type\":\"table\",\"label\":\"表格布局\",\"trs\":[{\"tds\":[{\"colspan\":1,\"rowspan\":1,\"list\":[]},{\"colspan\":1,\"rowspan\":1,\"list\":[]}]},{\"tds\":[{\"colspan\":1,\"rowspan\":1,\"list\":[{\"type\":\"editor\",\"label\":\"富文本\",\"icon\":\"icon-LC_icon_edit_line_1\",\"list\":[],\"options\":{\"height\":300,\"placeholder\":\"请输入\",\"defaultValue\":\"\",\"chinesization\":true,\"hidden\":false,\"disabled\":false,\"showLabel\":false,\"width\":\"100%\"},\"model\":\"editor_1662106288134\",\"key\":\"editor_1662106288134\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]}]},{\"colspan\":1,\"rowspan\":1,\"list\":[]}]}],\"options\":{\"width\":\"100%\",\"bordered\":true,\"bright\":false,\"small\":true,\"customStyle\":\"\"},\"key\":\"table_1662106283652\"}],\"config\":{\"layout\":\"vertical\",\"labelCol\":{\"xs\":6,\"sm\":6,\"md\":6,\"lg\":6,\"xl\":6,\"xxl\":6},\"labelWidth\":100,\"labelLayout\":\"Grid\",\"wrapperCol\":{\"xs\":18,\"sm\":18,\"md\":18,\"lg\":18,\"xl\":18,\"xxl\":18},\"hideRequiredMark\":false,\"customStyle\":\"\"}}', '测试动态表单', 1399985191002447872, '2022-07-28 22:03:36', 1414143554414059520, '2022-09-02 16:44:01', 0, 12); - --- ---------------------------- --- Table structure for base_general_template --- ---------------------------- -DROP TABLE IF EXISTS `base_general_template`; -CREATE TABLE `base_general_template` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板名称', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板代码', - `use_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '使用类型(导入/导出)', - `file_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板类型', - `file_suffix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板后缀名', - `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '状态', - `file_id` bigint(20) NULL DEFAULT NULL COMMENT '文件ID', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '通用模板管理' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of base_general_template --- ---------------------------- - --- ---------------------------- --- Table structure for base_key_value --- ---------------------------- -DROP TABLE IF EXISTS `base_key_value`; -CREATE TABLE `base_key_value` ( - `id` bigint(20) NOT NULL, - `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数键名', - `value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数值', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'kv存储' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_key_value --- ---------------------------- - --- ---------------------------- --- Table structure for base_param --- ---------------------------- -DROP TABLE IF EXISTS `base_param`; -CREATE TABLE `base_param` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数名称', - `param_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数键名', - `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数值', - `type` int(4) NULL DEFAULT NULL COMMENT '参数类型', - `enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '启用状态', - `internal` bit(1) NOT NULL COMMENT '内置参数', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统参数配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_param --- ---------------------------- -INSERT INTO `base_param` VALUES (1452842684284891136, '测试', 'test.v1', '123', 1, b'1', b'0', NULL, 1399985191002447872, '2021-10-26 11:41:03', 1399985191002447872, '2021-10-26 11:41:03', 0, 0); -INSERT INTO `base_param` VALUES (1520668030248361984, '文件服务器地址', 'FileServerUrl', 'http://127.0.0.1:9999', 1, b'1', b'1', '', 1399985191002447872, '2022-05-01 15:34:46', 1399985191002447872, '2022-05-19 12:53:21', 0, 5); -INSERT INTO `base_param` VALUES (1529281530059161600, 'websocket服务器地址', 'WebsocketServerUrl', 'ws://127.0.0.1:9999', 1, b'1', b'1', '', 1399985191002447872, '2022-05-25 10:01:44', 1399985191002447872, '2022-05-25 10:01:44', 0, 0); -INSERT INTO `base_param` VALUES (1545765299880448000, '服务器地址', 'ServerUrl', 'http://127.0.0.1:9999', 1, b'1', b'1', '优先级高于配置文件内进行的配置', 1399985191002447872, '2022-07-09 21:42:21', 1414143554414059520, '2023-08-05 16:40:05', 0, 1); -INSERT INTO `base_param` VALUES (1547511252795912192, '微信jsapi支付回调服务地址', 'JsapiRedirectUrl', 'http://127.0.0.1/api/', 1, b'1', b'1', '用于微信扫码登录使用', 1414143554414059520, '2022-07-14 17:20:09', 1414143554414059520, '2023-08-18 15:49:21', 0, 1); - --- ---------------------------- --- Table structure for base_province --- ---------------------------- -DROP TABLE IF EXISTS `base_province`; -CREATE TABLE `base_province` ( - `code` char(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '省份编码', - `name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '省份名称', - PRIMARY KEY (`code`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '省份表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_province +-- Records of base_province -- ---------------------------- INSERT INTO `base_province` VALUES ('11', '北京市'); INSERT INTO `base_province` VALUES ('12', '天津市'); @@ -3714,160 +3693,169 @@ INSERT INTO `base_province` VALUES ('64', '宁夏回族自治区'); INSERT INTO `base_province` VALUES ('65', '新疆维吾尔自治区'); -- ---------------------------- --- Table structure for base_query_sql +-- Table structure for base_dict -- ---------------------------- -DROP TABLE IF EXISTS `base_query_sql`; -CREATE TABLE `base_query_sql` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `database_id` bigint(20) NULL DEFAULT NULL COMMENT '数据源ID', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '名称', - `is_list` bit(1) NULL DEFAULT NULL COMMENT '是否集合', - `sql` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT 'sql语句', - `params` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'SQL查询参数', - `fields` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'SQL查询结果字段', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', +DROP TABLE IF EXISTS `base_dict`; +CREATE TABLE `base_dict` ( + `id` bigint(20) NOT NULL, + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '编码', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称', + `enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '启用状态', + `group_tag` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '分类标签', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + `version` int(8) NULL DEFAULT NULL COMMENT '版本', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'SQL查询语句' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_query_sql --- ---------------------------- - --- ---------------------------- --- Table structure for base_street --- ---------------------------- -DROP TABLE IF EXISTS `base_street`; -CREATE TABLE `base_street` ( - `code` char(9) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '编码', - `name` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '街道名称', - `area_code` char(6) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '县区编码', - PRIMARY KEY (`code`) USING BTREE, - INDEX `inx_area_code`(`area_code`) USING BTREE COMMENT '县区' -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '街道表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of base_street +-- Records of base_dict -- ---------------------------- +INSERT INTO `base_dict` VALUES (1422929378374828033, 'Sex', '性别', b'1', '基础属性', '性别', 0, '2021-08-04 22:36:15', 1399985191002447872, '2022-05-11 19:48:40', 0, 6); +INSERT INTO `base_dict` VALUES (1425744045414772737, 'MenuType', '菜单类型', b'1', '系统属性', '菜单类型', 0, '2021-08-12 17:00:44', 1399985191002447872, '2022-05-11 19:48:44', 0, 4); +INSERT INTO `base_dict` VALUES (1430063572491411456, 'loginType', '字典类型', b'1', '基础属性', '字典类型', 1399985191002447872, '2021-08-24 15:05:00', 1399985191002447872, '2021-08-24 15:05:00', 1, 2); +INSERT INTO `base_dict` VALUES (1435829999592759296, 'UserStatusCode', '用户状态码', b'1', '系统属性', '用户状态码', 1399985191002447872, '2021-09-09 12:58:43', 1399985191002447872, '2022-05-11 19:48:56', 0, 2); +INSERT INTO `base_dict` VALUES (1435838066191458304, 'LogBusinessType', '业务操作类型', b'1', '系统属性', '操作日志记录的业务操作类型', 1399985191002447872, '2021-09-09 13:30:46', 1399985191002447872, '2022-05-11 19:49:00', 0, 2); +INSERT INTO `base_dict` VALUES (1438078864509317120, 'MailSecurityCode', '邮箱安全方式编码', b'1', '消息服务', '邮箱安全方式编码', 1399985191002447872, '2021-09-15 17:54:54', 1399985191002447872, '2022-05-11 19:49:06', 0, 2); +INSERT INTO `base_dict` VALUES (1439961232651034624, 'MessageTemplateCode', '消息模板类型', b'1', '消息服务', '消息模板类型', 1399985191002447872, '2021-09-20 22:34:46', 1399985191002447872, '2022-05-11 19:48:34', 0, 1); +INSERT INTO `base_dict` VALUES (1452836604783845376, 'SocialType', '三方系统类型', b'1', '系统属性', '三方系统类型', 1399985191002447872, '2021-10-26 11:16:54', 1399985191002447872, '2022-05-11 19:48:28', 0, 3); +INSERT INTO `base_dict` VALUES (1452843488735621120, 'ParamType', '参数类型', b'1', '系统属性', '参数类型', 1399985191002447872, '2021-10-26 11:44:15', 1399985191002447872, '2022-05-11 19:48:21', 0, 2); +INSERT INTO `base_dict` VALUES (1496024933900169216, 'Political', '政治面貌', b'1', '基础数据', '政治面貌', 1399985191002447872, '2022-02-22 15:31:54', 1399985191002447872, '2022-05-11 19:48:04', 0, 1); +INSERT INTO `base_dict` VALUES (1556996322223968256, 'WeChatMediaType', '微信媒体类型', b'1', '微信', '微信媒体类型', 1399985191002447872, '2022-08-09 21:30:25', 1399985191002447872, '2022-08-09 21:30:26', 0, 0); +INSERT INTO `base_dict` VALUES (1561003021674987520, 'SiteMessageReceive', '消息接收类型', b'1', '站内信', '站内信接收类型', 1399985191002447872, '2022-08-20 22:51:37', 1399985191002447872, '2022-08-20 22:51:37', 0, 0); +INSERT INTO `base_dict` VALUES (1561003189111603200, 'SiteMessageState', '消息发布状态', b'1', '站内信', '站内信消息发布状态', 1399985191002447872, '2022-08-20 22:52:17', 1399985191002447872, '2022-08-20 22:52:17', 0, 0); +INSERT INTO `base_dict` VALUES (1589527951317389312, 'DataScopePerm', '数据范围权限', b'1', '系统属性', '数据范围权限', 1414143554414059520, '2022-11-07 15:59:30', 1399985191002447872, '2022-12-09 22:09:25', 0, 3); +INSERT INTO `base_dict` VALUES (1633393287952257024, 'DatabaseType', '数据库类型', b'1', '开发', '数据库类型', 1414143554414059520, '2023-03-08 17:04:41', 1414143554414059520, '2023-03-08 17:04:41', 0, 0); +INSERT INTO `base_dict` VALUES (1688742690398617600, 'SmsChannel', '短信渠道商', b'1', '消息服务', '短信渠道商', 1414143554414059520, '2023-08-08 10:43:27', 1414143554414059520, '2023-08-12 20:24:03', 0, 1); +INSERT INTO `base_dict` VALUES (1690338321769918464, 'GeneralTemplateUseType', '通用模板类型', b'1', '系统属性', '通用模板类型', 1414143554414059520, '2023-08-12 20:23:56', 1414143554414059520, '2023-08-12 20:24:22', 0, 1); +INSERT INTO `base_dict` VALUES (1690338545284378624, 'GeneralTemplateState', '通用模板状态', b'1', '系统属性', '通用模板状态', 1414143554414059520, '2023-08-12 20:24:49', 1414143554414059520, '2023-08-12 20:24:49', 0, 0); -- ---------------------------- --- Table structure for base_village +-- Table structure for iam_dept -- ---------------------------- -DROP TABLE IF EXISTS `base_village`; -CREATE TABLE `base_village` ( - `code` char(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '编码', - `name` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '名称', - `street_code` char(9) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '社区/乡镇编码', - PRIMARY KEY (`code`) USING BTREE, - INDEX `inx_street_code`(`street_code`) USING BTREE COMMENT '所属街道索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '村庄/社区' ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `iam_dept`; +CREATE TABLE `iam_dept` ( + `id` bigint(20) NOT NULL COMMENT 'ID', + `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父机构ID', + `dept_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '机构/部门名称', + `sort_no` int(11) NOT NULL DEFAULT 0 COMMENT '排序', + `org_category` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '1' COMMENT '机构类别 1公司 2部门 3岗位', + `org_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '机构编码', + `mobile` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手机号', + `fax` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '传真', + `address` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '地址', + `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门组织机构表' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of base_village +-- Records of iam_dept -- ---------------------------- +INSERT INTO `iam_dept` VALUES (1259382878857957377, NULL, 'Bootx Platform总公司', 0, '1', '1', '', NULL, '济南市高新区齐鲁软件园', NULL, -1, '2020-05-10 15:20:51', -1, '2020-05-10 17:52:15', 4, 0); +INSERT INTO `iam_dept` VALUES (1477976804995026944, NULL, 'Bootx Cloud公司', 0, '1', '1', '', NULL, '济南市高新区汉峪金谷', '', 1399985191002447872, '2022-01-03 20:15:04', 1399985191002447872, '2022-01-03 20:15:05', 0, 1); +INSERT INTO `iam_dept` VALUES (1477977184768282624, NULL, 'Bootx Cloud公司', 0, '1', '1', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:16:35', 1399985191002447872, '2022-01-03 20:16:35', 0, 1); +INSERT INTO `iam_dept` VALUES (1477977301365739520, NULL, 'Bootx Cloud总公司', 0, '1', '2', '', NULL, '济南市高新区汉峪金谷', '', 1399985191002447872, '2022-01-03 20:17:03', 1399985191002447872, '2022-01-03 20:17:03', 1, 0); +INSERT INTO `iam_dept` VALUES (1477977592291053568, 1259382878857957377, 'bp济南分公司', 0, '1', '1_1', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:18:12', 1399985191002447872, '2022-01-03 20:18:12', 1, 0); +INSERT INTO `iam_dept` VALUES (1477977690928500736, 1259382878857957377, '历城分公司', 0, '1', '1_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:18:36', 1399985191002447872, '2022-01-03 20:18:36', 0, 1); +INSERT INTO `iam_dept` VALUES (1477977827897692160, 1259382878857957377, 'bp潍坊分公司', 0, '1', '1_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:19:08', 1399985191002447872, '2022-01-03 20:19:08', 0, 0); +INSERT INTO `iam_dept` VALUES (1477977880947249152, 1477977301365739520, 'bc菏泽分公司', 0, '1', '2_1', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:19:21', 1399985191002447872, '2022-01-03 20:19:21', 0, 0); +INSERT INTO `iam_dept` VALUES (1477977930175795200, 1477977301365739520, 'bc日照分公司', 0, '1', '2_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:19:33', 1399985191002447872, '2022-01-03 20:19:33', 0, 0); +INSERT INTO `iam_dept` VALUES (1477978464559484928, 1477977592291053568, '历城办事部', 0, '2', '1_1_1', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:21:40', 1399985191002447872, '2022-01-03 20:21:40', 1, 0); +INSERT INTO `iam_dept` VALUES (1477978512177418240, 1477977592291053568, '历下办事部', 0, '2', '1_1_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:21:51', 1399985191002447872, '2022-01-03 20:21:52', 0, 0); +INSERT INTO `iam_dept` VALUES (1477978610865197056, 1477977592291053568, '高新办事部', 0, '2', '1_1_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:22:15', 1399985191002447872, '2022-01-03 20:22:15', 0, 0); +INSERT INTO `iam_dept` VALUES (1477978810526650368, 1477977827897692160, '奎文办事部', 0, '2', '1_2_1', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:23:03', 1399985191002447872, '2022-01-03 20:23:03', 0, 0); +INSERT INTO `iam_dept` VALUES (1477978883247493120, 1477977827897692160, '潍城办事部', 0, '2', '1_2_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:23:20', 1399985191002447872, '2022-01-03 20:23:20', 0, 0); -- ---------------------------- --- Table structure for common_sequence_range +-- Table structure for iam_data_scope -- ---------------------------- -DROP TABLE IF EXISTS `common_sequence_range`; -CREATE TABLE `common_sequence_range` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `range_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '区间key', - `range_value` bigint(20) NOT NULL COMMENT '区间开始值', +DROP TABLE IF EXISTS `iam_data_scope`; +CREATE TABLE `iam_data_scope` ( + `id` bigint(20) NOT NULL COMMENT '角色ID', + `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编码', + `name` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', + `type` int(4) NOT NULL COMMENT '类型', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '说明', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '版本', `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '序列生成器队列区间管理' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据范围权限' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of common_sequence_range +-- Records of iam_data_scope -- ---------------------------- -INSERT INTO `common_sequence_range` VALUES (1470679520373862400, 'Sequence:cs', 2006, 0, '2021-12-14 16:58:16', 0, '2021-12-14 16:58:16', 6, 0); -INSERT INTO `common_sequence_range` VALUES (1470679955230908416, 'cs', 2020, 0, '2021-12-14 17:00:00', 0, '2021-12-14 17:00:00', 13, 0); +INSERT INTO `iam_data_scope` VALUES (1474706893178871808, 'self', '自身数据', 1, '只能查看自身范围的数据', 1399985191002447872, '2021-12-25 19:41:37', 1399985191002447872, '2021-12-25 19:41:37', 1, 0); +INSERT INTO `iam_data_scope` VALUES (1474717084985270272, 'user', '用户数据权限', 2, '用户数据权限', 1399985191002447872, '2021-12-25 20:22:07', 1399985191002447872, '2021-12-25 20:22:07', 0, 0); +INSERT INTO `iam_data_scope` VALUES (1474717160671485952, 'dept', '部门权限', 3, '', 1399985191002447872, '2021-12-25 20:22:25', 1399985191002447872, '2021-12-25 20:22:25', 0, 0); +INSERT INTO `iam_data_scope` VALUES (1474717276908232704, 'userAndDept', '用户和部门权限', 4, '', 1399985191002447872, '2021-12-25 20:22:52', 1399985191002447872, '2021-12-25 20:22:52', 0, 0); +INSERT INTO `iam_data_scope` VALUES (1474717344562356224, 'all', '全部数据', 5, '', 1399985191002447872, '2021-12-25 20:23:09', 1399985191002447872, '2021-12-25 20:23:09', 0, 0); +INSERT INTO `iam_data_scope` VALUES (1477990268903804928, 'belong_dept', '所在部门', 6, '', 1399985191002447872, '2022-01-03 21:08:34', 1399985191002447872, '2022-01-03 21:08:35', 0, 0); +INSERT INTO `iam_data_scope` VALUES (1477990290521247744, 'belong_dept', '所在部门', 6, '', 1399985191002447872, '2022-01-03 21:08:40', 1399985191002447872, '2022-01-03 21:08:40', 0, 1); +INSERT INTO `iam_data_scope` VALUES (1477990439800721408, 'belong_dept_and_sub', '所在及下级部门', 7, '', 1399985191002447872, '2022-01-03 21:09:15', 1399985191002447872, '2022-01-03 21:09:15', 0, 0); -- ---------------------------- --- Table structure for demo_data_encrypt +-- Table structure for iam_user_dept -- ---------------------------- -DROP TABLE IF EXISTS `demo_data_encrypt`; -CREATE TABLE `demo_data_encrypt` ( +DROP TABLE IF EXISTS `iam_user_dept`; +CREATE TABLE `iam_user_dept` ( `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内容', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + `user_id` bigint(20) NOT NULL COMMENT '用户id', + `dept_id` bigint(20) NOT NULL COMMENT '部门id', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据加密解密演示' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户部门关联表' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of demo_data_encrypt +-- Records of iam_user_dept -- ---------------------------- -INSERT INTO `demo_data_encrypt` VALUES (1506922411881103360, '测试加密效果', 'eI2RIrRLG+QUna3jMK+kejyJTTKdPFhaYWP4EhktJ2lkGTEsIxZesetNTzcqUA934ZN/OUdw4aj4t5Q+u1sH7A==', 1399985191002447872, '2022-03-24 17:14:35', 1399985191002447872, '2022-03-24 17:23:41', 1, 0); -INSERT INTO `demo_data_encrypt` VALUES (1506943412354408448, '测试下', 'Dgv5OSNiXuknceoZzeOUOQ==', 1399985191002447872, '2022-03-24 17:14:35', 1399985191002447872, '2022-03-24 17:23:41', 1, 0); -- ---------------------------- --- Table structure for demo_data_perm +-- Table structure for iam_login_type -- ---------------------------- -DROP TABLE IF EXISTS `demo_data_perm`; -CREATE TABLE `demo_data_perm` ( - `id` bigint(20) NOT NULL COMMENT '角色ID', - `name` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', - `creator_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者名称', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '说明', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据权限演示' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of demo_data_perm --- ---------------------------- -INSERT INTO `demo_data_perm` VALUES (1495969849707220992, '33', 'xxm', '444', 1399985191002447872, '2022-02-22 11:53:01', 1399985191002447872, '2022-02-22 11:53:01', 0, 0); -INSERT INTO `demo_data_perm` VALUES (1506921683460521984, '测试', '小小明', NULL, 1399985191002447872, '2022-03-24 17:11:41', 1399985191002447872, '2022-03-24 17:11:41', 0, 0); -INSERT INTO `demo_data_perm` VALUES (1531547191561072640, '测试', '测试', '123', 1435967884114194432, '2022-05-31 16:04:40', 1435967884114194432, '2022-05-31 16:04:40', 0, 0); - --- ---------------------------- --- Table structure for demo_data_sensitive --- ---------------------------- -DROP TABLE IF EXISTS `demo_data_sensitive`; -CREATE TABLE `demo_data_sensitive` ( - `id` bigint(20) NOT NULL COMMENT '角色ID', - `chinese_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '中文名字', - `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码', - `id_card` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '身份证号', - `mobile_phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号', - `car_license` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '车牌号', - `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电子邮件', - `other` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '其他', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', +DROP TABLE IF EXISTS `iam_login_type`; +CREATE TABLE `iam_login_type` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `code` varchar(21) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', + `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型', + `internal` bit(1) NOT NULL COMMENT '是否系统内置', + `timeout` bigint(11) NULL DEFAULT NULL COMMENT '在线时长(秒)', + `captcha_type` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '验证码类型', + `captcha` bit(1) NOT NULL COMMENT '启用验证码', + `enable` bit(1) NOT NULL COMMENT '是否可用', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL DEFAULT 0 COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据脱敏演示' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '登录方式' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of demo_data_sensitive +-- Records of iam_login_type -- ---------------------------- -INSERT INTO `demo_data_sensitive` VALUES (1506942377435037696, '刘向东', '123456', '372921199302021125', '13324591123', '鲁A8S8866', 'bootx123@outlook.com', '测试测试测试测试测试测试测试问题', 1399985191002447872, '2022-03-24 18:33:55', 1399985191002447872, '2022-03-24 18:36:09', 2, 0); -INSERT INTO `demo_data_sensitive` VALUES (1506943326094352384, '成是非', '99885511', '101278112512107721', '18855446622', '汉S123456', 'chengshifei@foxmail.com', '这个就是就是就是就是就是就是这样的', 1399985191002447872, '2022-03-24 18:33:55', 1399985191002447872, '2022-03-24 18:35:00', 1, 0); +INSERT INTO `iam_login_type` VALUES (1430430071299207168, 'password', '账号密码登陆', 'password', b'1', 3600, '-1', b'0', b'1', NULL, 1399985191002447872, '2021-08-25 15:21:20', 1399985191002447872, '2022-11-03 22:24:53', 20, b'0'); +INSERT INTO `iam_login_type` VALUES (1430478946919653376, 'miniApp', '微信小程序', 'openId', b'0', 99999, '0', b'0', b'1', NULL, 1399985191002447872, '2021-08-25 18:35:33', 1399985191002447872, '2022-07-16 12:32:26', 3, b'0'); +INSERT INTO `iam_login_type` VALUES (1435138582839009280, 'phone', '手机短信登录', 'openId', b'0', 3600, '0', b'0', b'1', NULL, 1399985191002447872, '2021-09-07 15:11:16', 1399985191002447872, '2022-07-16 12:32:19', 5, b'0'); +INSERT INTO `iam_login_type` VALUES (1542091599907115008, 'dingTalk', '钉钉', 'openId', b'0', 5, '-1', b'0', b'1', '', 1399985191002447872, '2022-06-29 18:24:23', 1399985191002447872, '2022-07-02 14:55:01', 5, b'0'); +INSERT INTO `iam_login_type` VALUES (1542804450312122368, 'weCom', '企业微信', 'openId', b'0', 5, '-1', b'0', b'1', '', 1399985191002447872, '2022-07-01 17:37:00', 1399985191002447872, '2022-07-01 17:37:00', 0, b'0'); +INSERT INTO `iam_login_type` VALUES (1543126042909016064, 'weChat', '微信登录', 'openId', b'0', 5, '-1', b'0', b'1', '', 1399985191002447872, '2022-07-02 14:54:53', 0, '2022-10-12 22:15:05', 2, b'0'); +INSERT INTO `iam_login_type` VALUES (1626845524617203712, 'passwordGoView', '可视化平台登录', 'password', b'0', 3600, '-1', b'0', b'1', '', 1414143554414059520, '2023-02-18 15:26:13', 1414143554414059520, '2023-02-18 15:26:13', 0, b'0'); -- ---------------------------- -- Table structure for demo_super_query @@ -3879,14 +3867,14 @@ CREATE TABLE `demo_super_query` ( `age` int(5) NULL DEFAULT NULL COMMENT '年龄', `vip` bit(1) NULL DEFAULT NULL COMMENT '是否vip', `birthday` date NULL DEFAULT NULL COMMENT '生日', - `work_time` time NULL DEFAULT NULL COMMENT '上班时间', - `registration_time` datetime NULL DEFAULT NULL COMMENT '注册时间', + `work_time` time(0) NULL DEFAULT NULL COMMENT '上班时间', + `registration_time` datetime(0) NULL DEFAULT NULL COMMENT '注册时间', `political` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '政治面貌', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '版本', `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', PRIMARY KEY (`id`) USING BTREE @@ -3901,6 +3889,64 @@ INSERT INTO `demo_super_query` VALUES (1496372489909899264, '张飞', 54, b'0', INSERT INTO `demo_super_query` VALUES (1496372766427779072, '梁冀', 38, b'1', '1958-02-08', '08:30:00', '2022-02-23 14:34:03', '1', '', 1399985191002447872, '2022-02-23 14:34:03', 1399985191002447872, '2022-02-23 14:34:03', 0, 0); INSERT INTO `demo_super_query` VALUES (1496373512871284736, '刘备', 108, b'0', '1993-11-12', '09:30:10', '2022-02-23 14:37:01', '2', '刘羽禅的粑粑', 1399985191002447872, '2022-02-23 14:37:01', 1399985191002447872, '2022-02-23 14:37:01', 0, 0); +-- ---------------------------- +-- Table structure for base_param +-- ---------------------------- +DROP TABLE IF EXISTS `base_param`; +CREATE TABLE `base_param` ( + `id` bigint(20) NOT NULL, + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数名称', + `param_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数键名', + `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数值', + `type` int(4) NULL DEFAULT NULL COMMENT '参数类型', + `enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '启用状态', + `internal` bit(1) NOT NULL COMMENT '内置参数', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + `version` int(8) NOT NULL COMMENT '版本', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统参数配置' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of base_param +-- ---------------------------- +INSERT INTO `base_param` VALUES (1452842684284891136, '测试', 'test.v1', '123', 1, b'1', b'0', NULL, 1399985191002447872, '2021-10-26 11:41:03', 1399985191002447872, '2021-10-26 11:41:03', 0, 0); +INSERT INTO `base_param` VALUES (1520668030248361984, '文件服务器地址', 'FileServerUrl', 'http://127.0.0.1:9999', 1, b'1', b'1', '', 1399985191002447872, '2022-05-01 15:34:46', 1399985191002447872, '2022-05-19 12:53:21', 0, 5); +INSERT INTO `base_param` VALUES (1529281530059161600, 'websocket服务器地址', 'WebsocketServerUrl', 'ws://127.0.0.1:9999', 1, b'1', b'1', '', 1399985191002447872, '2022-05-25 10:01:44', 1399985191002447872, '2022-05-25 10:01:44', 0, 0); +INSERT INTO `base_param` VALUES (1545765299880448000, '服务器地址', 'ServerUrl', 'http://127.0.0.1:9999', 1, b'1', b'1', '优先级高于配置文件内进行的配置', 1399985191002447872, '2022-07-09 21:42:21', 1414143554414059520, '2023-08-05 16:40:05', 0, 1); +INSERT INTO `base_param` VALUES (1547511252795912192, '微信jsapi支付回调服务地址', 'JsapiRedirectUrl', 'http://127.0.0.1/api/', 1, b'1', b'1', '用于微信扫码登录使用', 1414143554414059520, '2022-07-14 17:20:09', 1414143554414059520, '2023-08-18 15:49:21', 0, 1); + +-- ---------------------------- +-- Table structure for iam_role +-- ---------------------------- +DROP TABLE IF EXISTS `iam_role`; +CREATE TABLE `iam_role` ( + `id` bigint(20) NOT NULL COMMENT '角色ID', + `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编码', + `name` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', + `internal` bit(1) NOT NULL COMMENT '是否系统内置', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '说明', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '角色' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of iam_role +-- ---------------------------- +INSERT INTO `iam_role` VALUES (1405414804771971072, 'admin', '管理员', b'1', '管理员', 1, '2021-06-17 14:39:35', 1399985191002447872, '2021-07-18 22:31:02', 6, 0); +INSERT INTO `iam_role` VALUES (1416730722714144768, 'test', '测试', b'0', '测试角色', 1399985191002447872, '2021-07-18 20:05:01', 1399985191002447872, '2021-07-18 20:16:15', 1, 0); +INSERT INTO `iam_role` VALUES (1422832797731778562, 'user', '用户', b'0', '用户角色', 0, '2021-08-04 16:12:29', 1399985191002447872, '2021-08-04 16:15:03', 7, 1); +INSERT INTO `iam_role` VALUES (1428891259564445696, 'manager', '管理者', b'0', 'manager管理者', 1399985191002447872, '2021-08-21 09:26:38', 1399985191002447872, '2021-08-21 09:26:39', 0, 1); + -- ---------------------------- -- Table structure for iam_client -- ---------------------------- @@ -3909,782 +3955,880 @@ CREATE TABLE `iam_client` ( `id` bigint(20) NOT NULL COMMENT '主键', `code` varchar(21) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `system` bit(1) NOT NULL COMMENT '是否系统内置', + `internal` bit(1) NOT NULL COMMENT '是否系统内置', `enable` bit(1) NOT NULL COMMENT '是否可用', + `default_endow` bit(1) NULL DEFAULT NULL COMMENT '新注册的用户是否默认赋予该终端', `login_type_ids` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '关联登录方式\r\n', `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', - `default_endow` bit(1) NULL DEFAULT NULL COMMENT '新注册的用户是否默认赋予该终端', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '认证终端' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of iam_client -- ---------------------------- -INSERT INTO `iam_client` VALUES (1430430071299207168, 'admin', 'pc管理端', b'1', b'1', '1430430071299207168,1435138582839009280,1430478946919653376,1542091599907115008,1542804450312122368,1543126042909016064', 'pc浏览器', 1399985191002447872, '2021-08-25 15:21:20', 1399985191002447872, '2022-07-02 14:55:11', 4, b'0', NULL); -INSERT INTO `iam_client` VALUES (1430430071299207169, 'h5', 'h5端', b'1', b'1', '1430430071299207168,1435138582839009280', '手机wap', 1399985191002447872, '2021-08-25 15:21:20', 1399985191002447872, '2022-06-29 18:31:45', 1, b'0', NULL); -INSERT INTO `iam_client` VALUES (1580487061605175296, 'adminv3', 'pc管理端(vue3版)', b'0', b'1', '1430430071299207168,1430478946919653376,1435138582839009280,1542091599907115008,1542804450312122368,1543126042909016064', 'vue3版本', 1399985191002447872, '2022-10-13 17:14:14', 1414143554414059520, '2023-08-02 14:28:37', 2, b'0', b'1'); -INSERT INTO `iam_client` VALUES (1626840094767714304, 'GoView', '可视化平台', b'0', b'1', '1430430071299207168', '', 1414143554414059520, '2023-02-18 15:04:38', 1414143554414059520, '2023-02-18 15:04:38', 0, b'0', NULL); +INSERT INTO `iam_client` VALUES (1430430071299207168, 'admin', 'pc管理端', b'1', b'1', b'1', '1430430071299207168,1435138582839009280,1430478946919653376,1542091599907115008,1542804450312122368,1543126042909016064', 'pc浏览器', 1399985191002447872, '2021-08-25 15:21:20', 1399985191002447872, '2023-10-19 19:58:31', 5, b'0'); +INSERT INTO `iam_client` VALUES (1430430071299207169, 'h5', 'h5端', b'1', b'1', b'1', '1430430071299207168,1435138582839009280', '手机wap', 1399985191002447872, '2021-08-25 15:21:20', 1399985191002447872, '2023-10-19 19:58:27', 2, b'0'); +INSERT INTO `iam_client` VALUES (1580487061605175296, 'adminv3', 'pc管理端(vue3版)', b'0', b'1', b'1', '1430430071299207168,1430478946919653376,1435138582839009280,1542091599907115008,1542804450312122368,1543126042909016064', 'vue3版本', 1399985191002447872, '2022-10-13 17:14:14', 1399985191002447872, '2023-10-19 19:58:21', 3, b'0'); +INSERT INTO `iam_client` VALUES (1626840094767714304, 'GoView', '可视化平台', b'0', b'1', b'1', '1430430071299207168', '', 1414143554414059520, '2023-02-18 15:04:38', 1399985191002447872, '2023-10-19 19:58:34', 1, b'0'); -- ---------------------------- --- Table structure for iam_data_scope +-- Table structure for demo_data_perm -- ---------------------------- -DROP TABLE IF EXISTS `iam_data_scope`; -CREATE TABLE `iam_data_scope` ( +DROP TABLE IF EXISTS `demo_data_perm`; +CREATE TABLE `demo_data_perm` ( `id` bigint(20) NOT NULL COMMENT '角色ID', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编码', `name` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', - `type` int(4) NOT NULL COMMENT '类型', + `creator_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者名称', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '说明', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '版本', `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据范围权限' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据权限演示' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_data_scope +-- Records of demo_data_perm -- ---------------------------- -INSERT INTO `iam_data_scope` VALUES (1474706893178871808, 'self', '自身数据', 1, '只能查看自身范围的数据', 1399985191002447872, '2021-12-25 19:41:37', 1399985191002447872, '2021-12-25 19:41:37', 1, 0); -INSERT INTO `iam_data_scope` VALUES (1474717084985270272, 'user', '用户数据权限', 2, '用户数据权限', 1399985191002447872, '2021-12-25 20:22:07', 1399985191002447872, '2021-12-25 20:22:07', 0, 0); -INSERT INTO `iam_data_scope` VALUES (1474717160671485952, 'dept', '部门权限', 3, '', 1399985191002447872, '2021-12-25 20:22:25', 1399985191002447872, '2021-12-25 20:22:25', 0, 0); -INSERT INTO `iam_data_scope` VALUES (1474717276908232704, 'userAndDept', '用户和部门权限', 4, '', 1399985191002447872, '2021-12-25 20:22:52', 1399985191002447872, '2021-12-25 20:22:52', 0, 0); -INSERT INTO `iam_data_scope` VALUES (1474717344562356224, 'all', '全部数据', 5, '', 1399985191002447872, '2021-12-25 20:23:09', 1399985191002447872, '2021-12-25 20:23:09', 0, 0); -INSERT INTO `iam_data_scope` VALUES (1477990268903804928, 'belong_dept', '所在部门', 6, '', 1399985191002447872, '2022-01-03 21:08:34', 1399985191002447872, '2022-01-03 21:08:35', 0, 0); -INSERT INTO `iam_data_scope` VALUES (1477990290521247744, 'belong_dept', '所在部门', 6, '', 1399985191002447872, '2022-01-03 21:08:40', 1399985191002447872, '2022-01-03 21:08:40', 0, 1); -INSERT INTO `iam_data_scope` VALUES (1477990439800721408, 'belong_dept_and_sub', '所在及下级部门', 7, '', 1399985191002447872, '2022-01-03 21:09:15', 1399985191002447872, '2022-01-03 21:09:15', 0, 0); +INSERT INTO `demo_data_perm` VALUES (1495969849707220992, '33', 'xxm', '444', 1399985191002447872, '2022-02-22 11:53:01', 1399985191002447872, '2022-02-22 11:53:01', 0, 0); +INSERT INTO `demo_data_perm` VALUES (1506921683460521984, '测试', '小小明', NULL, 1399985191002447872, '2022-03-24 17:11:41', 1399985191002447872, '2022-03-24 17:11:41', 0, 0); +INSERT INTO `demo_data_perm` VALUES (1531547191561072640, '测试', '测试', '123', 1435967884114194432, '2022-05-31 16:04:40', 1435967884114194432, '2022-05-31 16:04:40', 0, 0); -- ---------------------------- --- Table structure for iam_data_scope_dept +-- Table structure for starter_quartz_job -- ---------------------------- -DROP TABLE IF EXISTS `iam_data_scope_dept`; -CREATE TABLE `iam_data_scope_dept` ( +DROP TABLE IF EXISTS `starter_quartz_job`; +CREATE TABLE `starter_quartz_job` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务名称', + `job_class_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务类名', + `cron` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'cron表达式', + `parameter` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '参数', + `state` int(4) NULL DEFAULT NULL COMMENT '状态', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of starter_quartz_job +-- ---------------------------- +INSERT INTO `starter_quartz_job` VALUES (1456579473573867520, '测试任务', 'cn.bootx.starter.quartz.task.TestTask', '50 0 * * * ? *', '{\"aaa\":\"5255\"}', 0, '测试任务', 1399985191002447872, '2021-11-05 19:09:43', 1399985191002447872, '2022-06-22 00:37:48', 25, 0); +INSERT INTO `starter_quartz_job` VALUES (1546857070483939328, '支付单超时检测', 'cn.bootx.payment.task.PayExpiredTimeTask', '0/5 * * * * ? *', NULL, 1, '检测超时的支付单, 超时后发送超时事件', 1399985191002447872, '2022-07-12 22:00:39', 1399985191002447872, '2022-07-12 22:00:45', 1, 0); + +-- ---------------------------- +-- Table structure for starter_audit_data_version +-- ---------------------------- +DROP TABLE IF EXISTS `starter_audit_data_version`; +CREATE TABLE `starter_audit_data_version` ( `id` bigint(20) NOT NULL, - `data_scope_id` bigint(20) NOT NULL COMMENT '数据范围id', - `dept_id` bigint(20) NOT NULL COMMENT '部门id', + `table_name` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据表名称', + `data_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据名称', + `data_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据主键', + `data_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '数据内容', + `change_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '数据更新内容', + `version` int(10) NOT NULL COMMENT '版本', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据范围部门关联配置' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据版本日志' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_data_scope_dept +-- Records of starter_audit_data_version -- ---------------------------- -INSERT INTO `iam_data_scope_dept` VALUES (1478742690014101504, 1474717160671485952, 1477978464559484928); -INSERT INTO `iam_data_scope_dept` VALUES (1478742920071675904, 1474717160671485952, 1477977592291053568); +INSERT INTO `starter_audit_data_version` VALUES (1480550993828446208, '', 'client', '1', '{\"dataName\":\"client\",\"dataId\":\"1\",\"dataContent\":{\"id\":\"1\",\"creator\":null,\"createTime\":\"2022-01-10 22:43:58\",\"lastModifier\":null,\"lastModifiedTime\":null,\"deleted\":false,\"version\":0,\"code\":null,\"name\":null,\"timeout\":null,\"captcha\":false,\"enable\":false,\"description\":null}}', NULL, 1, 0, '2022-01-10 22:43:59'); +INSERT INTO `starter_audit_data_version` VALUES (1480551021779288064, '', 'client', '1', '{\"dataName\":\"client\",\"dataId\":\"1\",\"dataContent\":{\"id\":\"1\",\"creator\":null,\"createTime\":\"2022-01-10 22:44:05\",\"lastModifier\":null,\"lastModifiedTime\":null,\"deleted\":false,\"version\":0,\"code\":null,\"name\":null,\"timeout\":null,\"captcha\":false,\"enable\":false,\"description\":null}}', NULL, 2, 0, '2022-01-10 22:44:06'); -- ---------------------------- --- Table structure for iam_data_scope_user +-- Table structure for iam_data_scope_dept -- ---------------------------- -DROP TABLE IF EXISTS `iam_data_scope_user`; -CREATE TABLE `iam_data_scope_user` ( +DROP TABLE IF EXISTS `iam_data_scope_dept`; +CREATE TABLE `iam_data_scope_dept` ( `id` bigint(20) NOT NULL, `data_scope_id` bigint(20) NOT NULL COMMENT '数据范围id', - `user_id` bigint(20) NOT NULL COMMENT '用户id', + `dept_id` bigint(20) NOT NULL COMMENT '部门id', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据范围用户关联配置' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据范围部门关联配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_data_scope_user +-- Records of iam_data_scope_dept -- ---------------------------- -INSERT INTO `iam_data_scope_user` VALUES (1478738754876149760, 1474717084985270272, 1399985191002447872); -INSERT INTO `iam_data_scope_user` VALUES (1478738766460817408, 1474717084985270272, 1414143554414059520); -INSERT INTO `iam_data_scope_user` VALUES (1478738811792855040, 1474717084985270272, 1477997602862505984); -INSERT INTO `iam_data_scope_user` VALUES (1478747304583114752, 1474717084985270272, 1435894470432456704); -INSERT INTO `iam_data_scope_user` VALUES (1478747304587309056, 1474717084985270272, 1477997391729631232); +INSERT INTO `iam_data_scope_dept` VALUES (1478742690014101504, 1474717160671485952, 1477978464559484928); +INSERT INTO `iam_data_scope_dept` VALUES (1478742920071675904, 1474717160671485952, 1477977592291053568); -- ---------------------------- --- Table structure for iam_dept +-- Table structure for demo_data_sensitive -- ---------------------------- -DROP TABLE IF EXISTS `iam_dept`; -CREATE TABLE `iam_dept` ( - `id` bigint(20) NOT NULL COMMENT 'ID', - `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父机构ID', - `dept_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '机构/部门名称', - `sort_no` int(11) NOT NULL DEFAULT 0 COMMENT '排序', - `org_category` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '1' COMMENT '机构类别 1公司 2部门 3岗位', - `org_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '机构编码', - `mobile` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手机号', - `fax` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '传真', - `address` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '地址', - `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', +DROP TABLE IF EXISTS `demo_data_sensitive`; +CREATE TABLE `demo_data_sensitive` ( + `id` bigint(20) NOT NULL COMMENT '角色ID', + `chinese_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '中文名字', + `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码', + `id_card` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '身份证号', + `mobile_phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号', + `car_license` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '车牌号', + `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电子邮件', + `other` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '其他', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '版本', `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门组织机构表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据脱敏演示' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_dept +-- Records of demo_data_sensitive -- ---------------------------- -INSERT INTO `iam_dept` VALUES (1259382878857957377, NULL, 'Bootx Platform总公司', 0, '1', '1', '', NULL, '济南市高新区齐鲁软件园', NULL, -1, '2020-05-10 15:20:51', -1, '2020-05-10 17:52:15', 4, 0); -INSERT INTO `iam_dept` VALUES (1477976804995026944, NULL, 'Bootx Cloud公司', 0, '1', '1', '', NULL, '济南市高新区汉峪金谷', '', 1399985191002447872, '2022-01-03 20:15:04', 1399985191002447872, '2022-01-03 20:15:05', 0, 1); -INSERT INTO `iam_dept` VALUES (1477977184768282624, NULL, 'Bootx Cloud公司', 0, '1', '1', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:16:35', 1399985191002447872, '2022-01-03 20:16:35', 0, 1); -INSERT INTO `iam_dept` VALUES (1477977301365739520, NULL, 'Bootx Cloud总公司', 0, '1', '2', '', NULL, '济南市高新区汉峪金谷', '', 1399985191002447872, '2022-01-03 20:17:03', 1399985191002447872, '2022-01-03 20:17:03', 1, 0); -INSERT INTO `iam_dept` VALUES (1477977592291053568, 1259382878857957377, 'bp济南分公司', 0, '1', '1_1', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:18:12', 1399985191002447872, '2022-01-03 20:18:12', 1, 0); -INSERT INTO `iam_dept` VALUES (1477977690928500736, 1259382878857957377, '历城分公司', 0, '1', '1_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:18:36', 1399985191002447872, '2022-01-03 20:18:36', 0, 1); -INSERT INTO `iam_dept` VALUES (1477977827897692160, 1259382878857957377, 'bp潍坊分公司', 0, '1', '1_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:19:08', 1399985191002447872, '2022-01-03 20:19:08', 0, 0); -INSERT INTO `iam_dept` VALUES (1477977880947249152, 1477977301365739520, 'bc菏泽分公司', 0, '1', '2_1', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:19:21', 1399985191002447872, '2022-01-03 20:19:21', 0, 0); -INSERT INTO `iam_dept` VALUES (1477977930175795200, 1477977301365739520, 'bc日照分公司', 0, '1', '2_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:19:33', 1399985191002447872, '2022-01-03 20:19:33', 0, 0); -INSERT INTO `iam_dept` VALUES (1477978464559484928, 1477977592291053568, '历城办事部', 0, '2', '1_1_1', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:21:40', 1399985191002447872, '2022-01-03 20:21:40', 1, 0); -INSERT INTO `iam_dept` VALUES (1477978512177418240, 1477977592291053568, '历下办事部', 0, '2', '1_1_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:21:51', 1399985191002447872, '2022-01-03 20:21:52', 0, 0); -INSERT INTO `iam_dept` VALUES (1477978610865197056, 1477977592291053568, '高新办事部', 0, '2', '1_1_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:22:15', 1399985191002447872, '2022-01-03 20:22:15', 0, 0); -INSERT INTO `iam_dept` VALUES (1477978810526650368, 1477977827897692160, '奎文办事部', 0, '2', '1_2_1', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:23:03', 1399985191002447872, '2022-01-03 20:23:03', 0, 0); -INSERT INTO `iam_dept` VALUES (1477978883247493120, 1477977827897692160, '潍城办事部', 0, '2', '1_2_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:23:20', 1399985191002447872, '2022-01-03 20:23:20', 0, 0); +INSERT INTO `demo_data_sensitive` VALUES (1506942377435037696, '刘向东', '123456', '372921199302021125', '13324591123', '鲁A8S8866', 'bootx123@outlook.com', '测试测试测试测试测试测试测试问题', 1399985191002447872, '2022-03-24 18:33:55', 1399985191002447872, '2022-03-24 18:36:09', 2, 0); +INSERT INTO `demo_data_sensitive` VALUES (1506943326094352384, '成是非', '99885511', '101278112512107721', '18855446622', '汉S123456', 'chengshifei@foxmail.com', '这个就是就是就是就是就是就是这样的', 1399985191002447872, '2022-03-24 18:33:55', 1399985191002447872, '2022-03-24 18:35:00', 1, 0); -- ---------------------------- --- Table structure for iam_login_type +-- Table structure for demo_data_encrypt -- ---------------------------- -DROP TABLE IF EXISTS `iam_login_type`; -CREATE TABLE `iam_login_type` ( +DROP TABLE IF EXISTS `demo_data_encrypt`; +CREATE TABLE `demo_data_encrypt` ( `id` bigint(20) NOT NULL, - `code` varchar(21) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型', - `system` bit(1) NOT NULL COMMENT '是否系统内置', - `timeout` bigint(11) NULL DEFAULT NULL COMMENT '在线时长 秒', - `captcha` bit(1) NOT NULL COMMENT '启用验证码', - `pwd_err_num` int(8) NOT NULL COMMENT '密码错误次数', - `enable` bit(1) NOT NULL COMMENT '是否可用', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内容', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '版本', `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '登录方式' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据加密解密演示' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_login_type +-- Records of demo_data_encrypt -- ---------------------------- -INSERT INTO `iam_login_type` VALUES (1430430071299207168, 'password', '账号密码登陆', 'password', b'1', 3600, b'0', -1, b'1', NULL, 1399985191002447872, '2021-08-25 15:21:20', 1399985191002447872, '2022-11-03 22:24:53', 20, 0); -INSERT INTO `iam_login_type` VALUES (1430478946919653376, 'miniApp', '微信小程序', 'openId', b'0', 99999, b'0', 0, b'1', NULL, 1399985191002447872, '2021-08-25 18:35:33', 1399985191002447872, '2022-07-16 12:32:26', 3, 0); -INSERT INTO `iam_login_type` VALUES (1435138582839009280, 'phone', '手机短信登录', 'openId', b'0', 3600, b'0', 0, b'1', NULL, 1399985191002447872, '2021-09-07 15:11:16', 1399985191002447872, '2022-07-16 12:32:19', 5, 0); -INSERT INTO `iam_login_type` VALUES (1542091599907115008, 'dingTalk', '钉钉', 'openId', b'0', 5, b'0', -1, b'1', '', 1399985191002447872, '2022-06-29 18:24:23', 1399985191002447872, '2022-07-02 14:55:01', 5, 0); -INSERT INTO `iam_login_type` VALUES (1542804450312122368, 'weCom', '企业微信', 'openId', b'0', 5, b'0', -1, b'1', '', 1399985191002447872, '2022-07-01 17:37:00', 1399985191002447872, '2022-07-01 17:37:00', 0, 0); -INSERT INTO `iam_login_type` VALUES (1543126042909016064, 'weChat', '微信登录', 'openId', b'0', 5, b'0', -1, b'1', '', 1399985191002447872, '2022-07-02 14:54:53', 0, '2022-10-12 22:15:05', 2, 0); -INSERT INTO `iam_login_type` VALUES (1626845524617203712, 'passwordGoView', '可视化平台登录', 'password', b'0', 3600, b'0', -1, b'1', '', 1414143554414059520, '2023-02-18 15:26:13', 1414143554414059520, '2023-02-18 15:26:13', 0, 0); +INSERT INTO `demo_data_encrypt` VALUES (1506922411881103360, '测试加密效果', 'eI2RIrRLG+QUna3jMK+kejyJTTKdPFhaYWP4EhktJ2lkGTEsIxZesetNTzcqUA934ZN/OUdw4aj4t5Q+u1sH7A==', 1399985191002447872, '2022-03-24 17:14:35', 1399985191002447872, '2022-03-24 17:23:41', 1, 0); +INSERT INTO `demo_data_encrypt` VALUES (1506943412354408448, '测试下', 'Dgv5OSNiXuknceoZzeOUOQ==', 1399985191002447872, '2022-03-24 17:14:35', 1399985191002447872, '2022-03-24 17:23:41', 1, 0); -- ---------------------------- --- Table structure for iam_perm_menu +-- Table structure for common_sequence_range -- ---------------------------- -DROP TABLE IF EXISTS `iam_perm_menu`; -CREATE TABLE `iam_perm_menu` ( +DROP TABLE IF EXISTS `common_sequence_range`; +CREATE TABLE `common_sequence_range` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `range_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '区间key', + `range_value` bigint(20) NOT NULL COMMENT '区间开始值', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '序列生成器队列区间管理' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of common_sequence_range +-- ---------------------------- +INSERT INTO `common_sequence_range` VALUES (1470679520373862400, 'Sequence:cs', 2006, 0, '2021-12-14 16:58:16', 0, '2021-12-14 16:58:16', 6, 0); +INSERT INTO `common_sequence_range` VALUES (1470679955230908416, 'cs', 2020, 0, '2021-12-14 17:00:00', 0, '2021-12-14 17:00:00', 13, 0); + +-- ---------------------------- +-- Table structure for base_dynamic_form +-- ---------------------------- +DROP TABLE IF EXISTS `base_dynamic_form`; +CREATE TABLE `base_dynamic_form` ( `id` bigint(20) NOT NULL, - `client_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '终端code', - `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父id', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单名称', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路由名称', - `perm_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单权限编码', - `effect` bit(1) NULL DEFAULT NULL COMMENT '是否有效', - `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单图标', - `hidden` bit(1) NOT NULL COMMENT '是否隐藏', - `hide_children_in_menu` bit(1) NOT NULL COMMENT '是否隐藏子菜单', - `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件', - `component_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件名字', - `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路径', - `redirect` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单跳转地址(重定向)', - `sort_no` double NOT NULL COMMENT '菜单排序', - `menu_type` int(5) NOT NULL COMMENT '类型(0:一级菜单;1:子菜单 ;2:按钮权限)', - `leaf` bit(1) NULL DEFAULT NULL COMMENT '是否叶子节点', - `keep_alive` bit(1) NULL DEFAULT NULL COMMENT '是否缓存页面', - `target_outside` bit(1) NULL DEFAULT NULL COMMENT '是否外部打开方式', - `hidden_header_content` bit(1) NULL DEFAULT NULL COMMENT '隐藏的标题内容', - `admin` bit(1) NOT NULL COMMENT '系统菜单', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表单名称', + `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表单键名', + `value` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '表单内容', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + `version` int(8) NOT NULL COMMENT '版本', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '动态表单' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of base_dynamic_form +-- ---------------------------- +INSERT INTO `base_dynamic_form` VALUES (1552656018381422592, '测试表单', 'test', '{\"list\":[{\"type\":\"input\",\"label\":\"输入框\",\"options\":{\"type\":\"text\",\"width\":\"100%\",\"defaultValue\":\"\",\"placeholder\":\"请输入\",\"clearable\":true,\"maxLength\":null,\"addonBefore\":\"\",\"addonAfter\":\"\",\"hidden\":false,\"disabled\":false},\"model\":\"aa\",\"key\":\"input_1659059676533\",\"help\":\"测试\",\"rules\":[{\"required\":true,\"message\":\"必填项\"}]},{\"type\":\"textarea\",\"label\":\"文本框\",\"options\":{\"width\":\"100%\",\"minRows\":4,\"maxRows\":6,\"maxLength\":null,\"defaultValue\":\"\",\"clearable\":true,\"hidden\":false,\"disabled\":false,\"placeholder\":\"请输入\"},\"model\":\"bb\",\"key\":\"textarea_1659020414125\",\"help\":\"\",\"rules\":[{\"required\":true,\"message\":\"必填项\"}]},{\"type\":\"slider\",\"label\":\"滑动输入条\",\"options\":{\"width\":\"100%\",\"defaultValue\":34,\"disabled\":false,\"hidden\":false,\"min\":0,\"max\":100,\"step\":1,\"showInput\":false},\"model\":\"cc\",\"key\":\"slider_1659020433092\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]}],\"config\":{\"layout\":\"horizontal\",\"labelCol\":{\"xs\":4,\"sm\":4,\"md\":4,\"lg\":4,\"xl\":4,\"xxl\":4},\"labelWidth\":100,\"labelLayout\":\"flex\",\"wrapperCol\":{\"xs\":18,\"sm\":18,\"md\":18,\"lg\":18,\"xl\":18,\"xxl\":18},\"hideRequiredMark\":false,\"customStyle\":\"\"}}', '测试动态表单', 1399985191002447872, '2022-07-28 22:03:36', 1399985191002447872, '2022-07-29 09:55:22', 0, 7); +INSERT INTO `base_dynamic_form` VALUES (1552656018381422593, '测试表单1', 'test1', '{\"list\":[{\"type\":\"input\",\"label\":\"申请人\",\"options\":{\"type\":\"text\",\"width\":\"100%\",\"defaultValue\":\"\",\"placeholder\":\"请输入\",\"clearable\":true,\"maxLength\":null,\"addonBefore\":\"\",\"addonAfter\":\"\",\"hidden\":false,\"disabled\":false},\"model\":\"apply_by\",\"key\":\"input_1659059676533\",\"help\":\"测试\",\"rules\":[{\"required\":true,\"message\":\"必填项\"}]},{\"type\":\"input\",\"label\":\"请假天数\",\"options\":{\"type\":\"text\",\"width\":\"100%\",\"defaultValue\":\"\",\"placeholder\":\"请输入\",\"clearable\":false,\"maxLength\":null,\"addonBefore\":\"\",\"addonAfter\":\"\",\"hidden\":false,\"disabled\":false},\"model\":\"leave_days\",\"key\":\"input_1662106166142\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]},{\"type\":\"textarea\",\"label\":\"备注\",\"options\":{\"width\":\"100%\",\"minRows\":4,\"maxRows\":6,\"maxLength\":null,\"defaultValue\":\"\",\"clearable\":true,\"hidden\":false,\"disabled\":false,\"placeholder\":\"请输入\"},\"model\":\"remark\",\"key\":\"textarea_1659020414125\",\"help\":\"\",\"rules\":[{\"required\":true,\"message\":\"必填项\"}]},{\"type\":\"switch\",\"label\":\"开关\",\"options\":{\"defaultValue\":false,\"hidden\":false,\"disabled\":false},\"model\":\"switch_1662108221389\",\"key\":\"switch_1662108221389\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]},{\"type\":\"slider\",\"label\":\"滑动输入条\",\"options\":{\"width\":\"100%\",\"defaultValue\":34,\"disabled\":false,\"hidden\":false,\"min\":0,\"max\":100,\"step\":1,\"showInput\":false},\"model\":\"cc\",\"key\":\"slider_1659020433092\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]},{\"type\":\"table\",\"label\":\"表格布局\",\"trs\":[{\"tds\":[{\"colspan\":1,\"rowspan\":1,\"list\":[]},{\"colspan\":1,\"rowspan\":1,\"list\":[]}]},{\"tds\":[{\"colspan\":1,\"rowspan\":1,\"list\":[{\"type\":\"editor\",\"label\":\"富文本\",\"icon\":\"icon-LC_icon_edit_line_1\",\"list\":[],\"options\":{\"height\":300,\"placeholder\":\"请输入\",\"defaultValue\":\"\",\"chinesization\":true,\"hidden\":false,\"disabled\":false,\"showLabel\":false,\"width\":\"100%\"},\"model\":\"editor_1662106288134\",\"key\":\"editor_1662106288134\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]}]},{\"colspan\":1,\"rowspan\":1,\"list\":[]}]}],\"options\":{\"width\":\"100%\",\"bordered\":true,\"bright\":false,\"small\":true,\"customStyle\":\"\"},\"key\":\"table_1662106283652\"}],\"config\":{\"layout\":\"vertical\",\"labelCol\":{\"xs\":6,\"sm\":6,\"md\":6,\"lg\":6,\"xl\":6,\"xxl\":6},\"labelWidth\":100,\"labelLayout\":\"Grid\",\"wrapperCol\":{\"xs\":18,\"sm\":18,\"md\":18,\"lg\":18,\"xl\":18,\"xxl\":18},\"hideRequiredMark\":false,\"customStyle\":\"\"}}', '测试动态表单', 1399985191002447872, '2022-07-28 22:03:36', 1414143554414059520, '2022-09-02 16:44:01', 0, 12); + +-- ---------------------------- +-- Table structure for notice_message_template +-- ---------------------------- +DROP TABLE IF EXISTS `notice_message_template`; +CREATE TABLE `notice_message_template` ( + `id` bigint(20) NOT NULL, + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', + `data` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模板数据', + `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板类型', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '版本', `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '权限_菜单' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息模板' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_perm_menu +-- Records of notice_message_template -- ---------------------------- -INSERT INTO `iam_perm_menu` VALUES (1414596052497092608, 'admin', NULL, '系统管理', 'system', '', NULL, 'desktop', b'0', b'0', 'RouteView', '', '/system', '/system/user', -99999, 0, b'0', b'1', b'0', b'0', b'1', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-27 10:02:16', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1414596647509446656, 'admin', 1452569691537256448, '用户管理', 'User', '', NULL, '', b'0', b'0', 'system/user/UserList', '', '/system/userAuth/user', '', 0, 1, b'0', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-27 10:17:40', 4, 0); -INSERT INTO `iam_perm_menu` VALUES (1414596773275652096, 'admin', 1414596052497092608, '菜单管理', 'Menu', '', NULL, '', b'0', b'0', 'system/menu/MenuList', '', '/system/permission/menu', '', 0, 1, b'0', b'1', b'0', b'0', b'1', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-26 23:56:16', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1414596805538238464, 'admin', 1452569339987472384, '角色管理', 'Role', '', NULL, '', b'0', b'0', 'system/role/RoleList', '', '/system/permission/role', '', 0, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-26 23:56:04', 4, 0); -INSERT INTO `iam_perm_menu` VALUES (1414596842322284544, 'admin', 1452569691537256448, '部门管理', 'Dept', '', NULL, '', b'0', b'0', 'system/dept/DeptList', '', '/system/userAuth/dept', '', 0, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-26 23:56:31', 7, 0); -INSERT INTO `iam_perm_menu` VALUES (1414596877617352704, 'admin', 1452571269199540224, '数据字典', 'Dict', '', b'0', '', b'0', b'0', 'system/dict/DictList', '', '/system/config/dict', '', 0, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2022-05-19 09:04:55', 11, 0); -INSERT INTO `iam_perm_menu` VALUES (1431082258161434624, 'admin', 1452569691537256448, '在线用户管理', 'OnlineUser', '', NULL, '', b'0', b'0', 'system/online/OnlineUserList', NULL, '/system/userAuth/online', '', 0, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-27 10:32:53', 6, 0); -INSERT INTO `iam_perm_menu` VALUES (1431083330909208576, 'admin', 1541427353886859264, '登录方式', 'LoginType', '', b'0', '', b'0', b'0', 'system/client/LoginTypeList', NULL, '/system/config/loginType', '', 9, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:37:09', 1399985191002447872, '2022-07-05 21:18:12', 11, 0); -INSERT INTO `iam_perm_menu` VALUES (1431089129232498688, 'admin', 1452569339987472384, '请求权限管理', 'Path', '', NULL, '', b'0', b'0', 'system/path/PathList', NULL, '/system/permission/path', '', 0, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 11:00:11', 1399985191002447872, '2021-08-27 11:00:11', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1431152689832525824, 'admin', NULL, '系统监控', 'monitor', '', b'0', 'radar-chart', b'0', b'0', 'RouteView', NULL, '/monitor', '', 0, 0, b'1', b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2021-08-27 15:12:45', 1399985191002447872, '2022-06-17 17:57:30', 21, 0); -INSERT INTO `iam_perm_menu` VALUES (1431153358157348864, 'admin', 1431152689832525824, '接口文档', 'ApiSwagger', '', b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/doc.html', '', 0, 1, b'1', b'1', b'1', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 15:15:25', 1399985191002447872, '2022-10-14 17:47:12', 18, 0); -INSERT INTO `iam_perm_menu` VALUES (1435143678721236992, 'admin', 1452567897717321728, '登录日志', 'LoginLog', '', b'0', '', b'0', b'0', 'starter/log/LoginLogList', NULL, '/monitor/log/loginLog', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-07 15:31:31', 1399985191002447872, '2022-10-20 20:38:06', 6, 0); -INSERT INTO `iam_perm_menu` VALUES (1435476255797624832, 'admin', 1452567897717321728, '操作日志', 'OperateLog', '', b'0', '', b'0', b'0', 'starter/log/OperateLogList', NULL, '/monitor/log/OperateLog', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-08 13:33:04', 1399985191002447872, '2022-10-20 20:38:12', 8, 0); -INSERT INTO `iam_perm_menu` VALUES (1438061887002759168, 'admin', NULL, '通知管理', 'notice', '', NULL, 'message', b'0', b'0', 'RouteView', NULL, '/notice', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-15 16:47:26', 1399985191002447872, '2021-09-15 16:47:26', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1438072357281542144, 'admin', 1438061887002759168, '邮件配置', 'MailConfig', '', NULL, '', b'0', b'0', 'notice/mail/MailConfigList', NULL, '/notice/mailConfig', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-15 17:29:03', 1399985191002447872, '2021-09-15 17:29:03', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1439196893514031104, 'admin', 1438061887002759168, '消息模板', 'MessageTemplate', '', NULL, '', b'0', b'0', 'notice/template/TemplateList', NULL, '/notice/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-18 19:57:33', 1399985191002447872, '2021-09-18 19:57:33', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1440216178722050048, 'admin', 1438061887002759168, '钉钉', 'DingTalk', '', NULL, '', b'0', b'0', 'RouteView', NULL, '/notice/dingTalk', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-21 15:27:50', 1399985191002447872, '2021-09-21 15:27:50', 0, 1); -INSERT INTO `iam_perm_menu` VALUES (1440216612211757056, 'admin', 1450822511087271936, '钉钉机器人', 'DingTalkRobot', '', b'0', '', b'0', b'0', 'third/dingtalk/robot/DingRobotConfigList', NULL, '/third/dingTalk/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-21 15:29:33', 1399985191002447872, '2022-07-26 13:34:35', 5, 0); -INSERT INTO `iam_perm_menu` VALUES (1450473063320526848, 'admin', 1452569691537256448, '第三方登录', 'Social', '', b'0', '', b'1', b'0', 'system/social/SocialList', NULL, '/system/userAuth/social', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-19 22:45:01', 1399985191002447872, '2022-07-26 13:35:47', 5, 0); -INSERT INTO `iam_perm_menu` VALUES (1450803906215886848, 'admin', 1452571269199540224, '定时任务', 'QuartzJobList', '', NULL, '', b'0', b'0', 'starter/quartz/QuartzJobList', NULL, '/system/config/quartz', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 20:39:41', 1399985191002447872, '2021-10-20 20:39:41', 5, 0); -INSERT INTO `iam_perm_menu` VALUES (1450819607680991232, 'admin', NULL, '第三方对接', 'third', '', b'0', 'branches', b'0', b'0', 'RouteView', NULL, '/third', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 21:42:04', 1399985191002447872, '2022-07-26 13:34:02', 4, 0); -INSERT INTO `iam_perm_menu` VALUES (1450821723027881984, 'admin', 1450819607680991232, '微信', 'WeChat', '', b'0', '', b'0', b'0', 'RouteView', NULL, '/third/wechat', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 21:50:28', 1399985191002447872, '2022-08-03 23:23:10', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1450821877831254016, 'admin', 1450819607680991232, '企业微信', 'WeCom', '', b'0', '', b'0', b'0', 'RouteView', NULL, '/third/wecom', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 21:51:05', 1399985191002447872, '2022-08-03 23:22:58', 4, 0); -INSERT INTO `iam_perm_menu` VALUES (1450822511087271936, 'admin', 1450819607680991232, '钉钉', 'DingTalk', '', b'0', '', b'0', b'0', 'RouteView', NULL, '/third/dingtalk', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 21:53:36', 1399985191002447872, '2022-08-03 23:23:29', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1450827660459458560, 'admin', 1438061887002759168, '微信', 'NoticeWeChat', '', b'0', '', b'0', b'0', 'Dev', NULL, '/notice/wechat', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 22:14:04', 1399985191002447872, '2022-06-21 20:53:04', 1, 1); -INSERT INTO `iam_perm_menu` VALUES (1452567897717321728, 'admin', 1431152689832525824, '审计日志', 'auditLog', '', b'0', '', b'0', b'0', 'RouteView', NULL, '/monitor/log', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-25 17:29:09', 1399985191002447872, '2022-10-20 20:37:46', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1452569339987472384, 'admin', 1414596052497092608, '权限管理', 'permission', '', NULL, '', b'0', b'0', 'RouteView', NULL, '/system/permission', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-25 17:34:53', 1399985191002447872, '2021-10-25 17:34:53', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1452569691537256448, 'admin', 1414596052497092608, '用户信息', 'userAuth', '', NULL, '', b'0', b'0', 'RouteView', NULL, '/system/userAuth', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-25 17:36:17', 1399985191002447872, '2021-10-25 17:36:17', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1452571269199540224, 'admin', 1414596052497092608, '系统配置', 'systemConfig', '', NULL, '', b'0', b'0', 'RouteView', NULL, '/system/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-25 17:42:33', 1399985191002447872, '2021-10-25 17:42:33', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1452638905302966272, 'admin', 1452571269199540224, '系统参数', 'SystemParam', '', NULL, '', b'0', b'0', 'system/param/SystemParamList', NULL, '/system/config/param', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-25 22:11:18', 1399985191002447872, '2021-10-25 22:11:18', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1474694545336676352, 'admin', 1452569339987472384, '数据范围权限', 'DataScope', '', NULL, '', b'0', b'0', 'system/scope/DataScopeList', NULL, '/system/permission/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-12-25 18:52:33', 1399985191002447872, '2021-12-25 18:52:33', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1480839877352476672, 'admin', 1452567897717321728, '数据版本日志', 'DataVersionLog', NULL, b'0', '', b'0', b'0', 'starter/log/DataVersionLogList', NULL, '/monitor/log/DataVersionLog', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-01-11 17:51:54', 1399985191002447872, '2022-10-20 20:38:18', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1490984296616263680, 'admin', 1552207982510706688, '文件管理', 'FIleUpLoad', NULL, b'0', '', b'0', b'0', 'develop/file/FileUploadList', NULL, '/develop/file', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-02-08 17:42:12', 1399985191002447872, '2022-07-28 09:16:56', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1495013564652429312, 'admin', 1552207982510706688, '代码生成', 'CodeGen', NULL, b'0', '', b'0', b'0', 'develop/codegen/CodeGenList', NULL, '/develop/codegen', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-02-19 20:33:04', 1399985191002447872, '2022-07-27 16:25:05', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1495968302034210816, 'admin', NULL, '功能演示', 'Demo', NULL, b'0', 'block', b'0', b'0', 'RouteView', NULL, '/demo', '', 99, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-02-22 11:46:52', 1399985191002447872, '2022-05-10 11:02:05', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1495969099987963904, 'admin', 1495968302034210816, '数据相关', 'DemoData', NULL, b'0', '', b'0', b'0', 'RouteView', NULL, '/demo/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-02-22 11:50:02', 1399985191002447872, '2022-03-24 16:27:46', 4, 0); -INSERT INTO `iam_perm_menu` VALUES (1496020308992143360, 'admin', 1495968302034210816, '超级查询', 'SuperQueryDemo', NULL, b'0', '', b'0', b'0', 'demo/query/SuperQueryDemoList', NULL, '/demo/query/super', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-02-22 15:13:31', 1399985191002447872, '2022-05-27 17:34:41', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1506910599819165696, 'admin', 1495969099987963904, '数据权限', 'DataPermDemoList', NULL, b'0', '', b'0', b'0', 'demo/data/perm/DataPermDemoList', NULL, '/demo/data/perm', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-03-24 16:27:39', 1399985191002447872, '2022-03-24 16:28:56', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1506910885463851008, 'admin', 1495969099987963904, '加密解密', 'DataEncryptDemo', NULL, b'0', '', b'0', b'0', 'demo/data/encrypt/DataEncryptDemoList', NULL, '/demo/data/encrypt', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-03-24 16:28:47', 1399985191002447872, '2022-03-24 16:28:47', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1506911113394913280, 'admin', 1495969099987963904, '数据脱敏', 'DataSensitiveDemo', NULL, b'0', '', b'0', b'0', 'demo/data/sensitive/DataSensitiveDemoList', NULL, '/demo/data/sensitive', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-03-24 16:29:41', 1399985191002447872, '2022-03-24 17:16:03', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1507998458886197248, 'admin', 1495968302034210816, 'WS演示', 'WebsocketDemo', NULL, b'0', '', b'0', b'0', 'demo/ws/WebsocketDemo', NULL, '/demo/ws', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-03-27 16:30:25', 1399985191002447872, '2022-03-27 16:30:25', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1509488473583562752, 'admin', 1495968302034210816, '幂等请求演示', 'IdempotentDemo', NULL, b'0', '', b'0', b'0', 'demo/idempotent/Idempotent', NULL, '/demo/idempotent', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-03-31 19:11:12', 1399985191002447872, '2022-05-27 17:35:00', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1511266086400524288, 'admin', 1450822511087271936, '钉钉配置', 'DingTalkConfig', NULL, b'0', '', b'1', b'0', 'third/dingtalk/config/DingTalkConfigList', NULL, '/third/dingtalk/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-04-05 16:54:48', 1399985191002447872, '2022-07-26 13:34:44', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1530120084482084864, 'admin', 1495968302034210816, '消息中间件演示', 'MQDemo', NULL, b'0', '', b'0', b'0', 'demo/mq/MqDemo', NULL, '/demo/mq', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-05-27 17:33:51', 1399985191002447872, '2022-05-31 15:12:15', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1530120684645044224, 'admin', 1530120084482084864, 'MQTT消息', 'MqttDemo', NULL, b'0', '', b'0', b'0', '', NULL, '/demo/mq/mqtt', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-05-27 17:36:14', 1399985191002447872, '2022-05-27 17:36:14', 0, 1); -INSERT INTO `iam_perm_menu` VALUES (1530120821144473600, 'admin', 1530120084482084864, 'RabbitMQ', 'RabbitDemo', NULL, b'0', '', b'0', b'0', '', NULL, '/demo/mq/rabbit', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-05-27 17:36:47', 1399985191002447872, '2022-05-27 17:36:47', 0, 1); -INSERT INTO `iam_perm_menu` VALUES (1534000136370204672, 'admin', 1431152689832525824, 'ELK日志', 'ELK', '', b'0', '', b'1', b'0', '', NULL, 'http://elk.dev.bootx.cn:5601/app/discover', '', 0, 1, NULL, b'1', b'1', b'0', b'0', NULL, 1399985191002447872, '2022-06-07 10:31:48', 1399985191002447872, '2022-06-07 10:31:48', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1534008203006652416, 'admin', 1431152689832525824, 'PlumeLog日志', 'PlumeLog', '', b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/plumelog/#/', '', 0, 1, NULL, b'1', b'1', b'0', b'0', NULL, 1399985191002447872, '2022-06-07 11:03:51', 1399985191002447872, '2022-06-07 11:06:13', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1535451167008436224, 'admin', 1431152689832525824, '系统信息', 'SysInfo', NULL, b'0', '', b'0', b'0', 'starter/monitor/SystemInfoMonitor', NULL, '/monitor/sysinfo', '', 0, 1, NULL, b'0', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-06-11 10:37:40', 1399985191002447872, '2022-06-13 13:07:46', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1535965936371085312, 'admin', 1431152689832525824, 'Redis监控', 'RedisInfoMonitor', NULL, b'0', '', b'0', b'0', 'starter/monitor/RedisInfoMonitor', NULL, '/monitor/redis', '', 0, 1, NULL, b'0', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-06-12 20:43:11', 1399985191002447872, '2022-06-13 13:07:38', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1537730140522348544, 'admin', 1438061887002759168, '站内信', 'SiteMessageSender', '', b'0', '', b'0', b'0', 'notice/site/sender/SiteMessageList', NULL, '/notice/siteMessage', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-06-17 17:33:30', 1399985191002447872, '2022-08-20 21:12:30', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1538160478872625152, 'admin', 1495968302034210816, '富文本编辑', 'WangEditorDemo', NULL, b'0', '', b'0', b'0', 'demo/wangeditor/WangEditorDemo', NULL, '/demo/wangEditor', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-06-18 22:03:30', 1399985191002447872, '2022-06-18 22:03:31', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1541355214204030976, 'admin', 1541427353886859264, '认证终端', 'Client', '', b'0', '', b'0', b'0', 'system/client/ClientList', NULL, '/system/config/client', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:37:08', 1399985191002447872, '2022-07-05 21:17:45', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1541427353886859264, 'admin', 1414596052497092608, '认证管理', 'Auth', '', b'0', '', b'0', b'0', 'RouteView', NULL, '/system/auth', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-06-27 22:24:54', 1399985191002447872, '2022-06-27 22:24:54', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1551803592828932096, 'admin', 1450821877831254016, '企微机器人', 'WeComRobot', '', b'0', '', b'0', b'0', 'third/wecom/robot/WeComRobotConfigList', NULL, '/third/wecom/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-07-26 13:36:22', 1399985191002447872, '2022-10-24 11:07:27', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1552207982510706688, 'admin', NULL, '开发管理', 'develop', NULL, b'0', 'gold', b'0', b'0', 'RouteView', NULL, '/develop', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-07-27 16:23:16', 1399985191002447872, '2022-07-27 16:39:09', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1552208167664062464, 'admin', 1552207982510706688, '动态表单', 'DynamicForm', NULL, b'0', '', b'0', b'0', 'develop/dynamicform/DynamicFormList', NULL, '/develop/form', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-07-27 16:24:00', 1399985191002447872, '2022-07-27 16:38:05', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1554720980865380352, 'admin', 1495968302034210816, '消息通知', 'NoticeDemo', NULL, b'0', '', b'0', b'0', 'RouteView', NULL, '/demo/notice', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-08-03 14:49:02', 1399985191002447872, '2022-08-03 14:49:02', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1554721654336385024, 'admin', 1554720980865380352, '邮件发送', 'EmailDemo', NULL, b'0', '', b'0', b'0', 'demo/notice/email/EmailSender', NULL, '/demo/notice/email', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-08-03 14:51:42', 1399985191002447872, '2022-08-03 14:51:42', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1554850179754975232, 'admin', 1450821723027881984, '消息模板', 'WeChatTemplate', NULL, b'0', '', b'0', b'0', 'third/wechat/template/WeChatTemplateList', NULL, '/third/wechat/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-08-03 23:22:25', 1399985191002447872, '2022-08-03 23:23:18', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1555835229426368512, 'admin', 1450821723027881984, '自定义菜单', 'WeChatMenu', NULL, b'0', '', b'0', b'0', 'third/wechat/menu/WeChatMenuList', NULL, '/third/wechat/menu', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-08-06 16:36:39', 1399985191002447872, '2022-08-08 12:14:14', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1556997405528805376, 'admin', 1450821723027881984, '素材管理', 'WeChatMedia', NULL, b'0', '', b'0', b'0', 'third/wechat/media/WeChatMediaList', NULL, '/third/wechat/media', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-08-09 21:34:44', 1399985191002447872, '2022-08-09 21:34:44', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1573669546890297344, 'admin', 1552207982510706688, '动态数据源', 'DynamicSource', NULL, b'0', '', b'0', b'0', 'develop/dynamicsource/DynamicDataSourceList', NULL, '/develop/source', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-09-24 21:43:52', 1399985191002447872, '2022-09-24 21:43:52', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1580740450633101312, 'adminv3', NULL, '系统管理', 'System', NULL, b'0', 'ant-design:setting-outlined', b'0', b'0', 'Layout', NULL, '/system', '/system1/client', -99999, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:01:07', 1414143554414059520, '2022-10-18 15:32:09', 4, 0); -INSERT INTO `iam_perm_menu` VALUES (1580740637841666048, 'adminv3', 1582253306356649984, '终端管理', 'ClientList', NULL, b'0', '', b'0', b'0', '/modules/system/client/ClientList.vue', NULL, '/system/client', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:01:51', 1414143554414059520, '2022-10-18 14:13:27', 5, 0); -INSERT INTO `iam_perm_menu` VALUES (1580740758629232640, 'adminv3', 1582253306356649984, '登录方式', 'LoginTypeList', NULL, b'0', '', b'0', b'0', '/modules/system/loginType/LoginTypeList.vue', NULL, '/system/loginType', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:02:20', 1414143554414059520, '2022-10-18 14:13:40', 5, 0); -INSERT INTO `iam_perm_menu` VALUES (1580858583654051840, 'adminv3', 1580740450633101312, '测试Iframe', 'Iframe', NULL, b'0', '', b'0', b'0', 'Iframe', NULL, '/system/Iframe', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 17:50:32', 1414143554414059520, '2022-10-17 17:46:19', 5, 1); -INSERT INTO `iam_perm_menu` VALUES (1580917438227075072, 'adminv3', 1580740450633101312, '三极目录', 'hello', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system1/a', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 21:44:24', 1399985191002447872, '2022-10-14 23:38:16', 2, 1); -INSERT INTO `iam_perm_menu` VALUES (1580917571069071360, 'adminv3', 1580917438227075072, '百度', 'baidu', NULL, b'0', '', b'0', b'0', '', NULL, 'https://www.baidu.com/', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 21:44:56', 1399985191002447872, '2022-10-14 23:37:44', 3, 1); -INSERT INTO `iam_perm_menu` VALUES (1580928436300337152, 'adminv3', 1580740450633101312, '菜单管理', 'MenuList', NULL, b'0', '', b'0', b'0', '/modules/system/menu/MenuList.vue', NULL, '/system/menu', '', -99, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 22:28:06', 1399985191002447872, '2022-10-14 22:28:32', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582249924602580992, 'adminv3', 1580740450633101312, '权限管理', 'Permission', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/permission', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 13:59:13', 1414143554414059520, '2022-10-18 13:59:13', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582253011803262976, 'adminv3', 1580740450633101312, '用户信息', 'UserAuth', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/user', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:11:30', 1414143554414059520, '2022-10-18 14:11:30', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582253152903843840, 'adminv3', 1580740450633101312, '系统配置', 'SystemConfig', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:12:03', 1414143554414059520, '2022-10-18 14:12:03', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582253306356649984, 'adminv3', 1580740450633101312, '认证管理', 'Auth', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/auth', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:12:40', 1414143554414059520, '2022-10-18 14:13:13', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582275875424129024, 'adminv3', NULL, '系统监控', 'Monitor', NULL, b'0', 'ant-design:monitor-outlined', b'0', b'0', 'Layout', NULL, '/monitor', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:21', 1414143554414059520, '2022-10-19 17:29:29', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582275984849326080, 'adminv3', NULL, '通知管理', 'Notice', NULL, b'0', 'ant-design:message-outlined', b'0', b'0', 'Layout', NULL, '/notice', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:47', 1414143554414059520, '2022-10-19 17:30:06', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582276092038959104, 'adminv3', NULL, '第三方对接', 'Third', NULL, b'0', 'ant-design:api-twotone', b'0', b'0', 'Layout', NULL, '/third', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:43:12', 1414143554414059520, '2022-10-19 17:32:04', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582276341792985088, 'adminv3', NULL, '开发管理', 'Develop', NULL, b'0', 'ant-design:apartment-outlined', b'0', b'0', 'Layout', NULL, '/develop', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:44:12', 1414143554414059520, '2022-10-19 15:24:22', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582276516905177088, 'adminv3', NULL, '功能演示', 'Demo', NULL, b'0', 'ant-design:appstore-twotone', b'0', b'0', 'Layout', NULL, '/demo', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:44:54', 1414143554414059520, '2022-10-19 17:34:26', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582277076421136384, 'adminv3', 1582249924602580992, '角色管理', 'RoleList', NULL, b'0', '', b'0', b'0', '/modules/system/role/RoleList.vue', NULL, '/system/permission/role', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:47:07', 1414143554414059520, '2022-10-18 15:59:37', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582301940364308480, 'adminv3', 1582249924602580992, '请求权限管理', 'PermPathList', NULL, b'0', '', b'0', b'0', '/modules/system/path/PermPathList.vue', NULL, '/system/permission/path', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:25:55', 1414143554414059520, '2022-10-18 20:41:22', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582302180999917568, 'adminv3', 1582249924602580992, '数据范围权限', 'DataScopeList', NULL, b'0', '', b'0', b'0', '/modules/system/scope/DataScopeList.vue', NULL, '/system/permission/scope', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:26:52', 1414143554414059520, '2022-10-18 17:26:52', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582302542955769856, 'adminv3', 1582253011803262976, '用户管理', 'UserList', NULL, b'0', '', b'0', b'0', '/modules/system/user/UserList.vue', NULL, '/system/user/info', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:28:19', 1414143554414059520, '2022-10-18 17:28:19', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582302764129808384, 'adminv3', 1582253011803262976, '部门管理', 'DeptList', NULL, b'0', '', b'0', b'0', '/modules/system/dept/DeptList.vue', NULL, '/system/user/dept', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:29:11', 1414143554414059520, '2022-10-18 17:32:26', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582303143110340608, 'adminv3', 1582253152903843840, '数据字典', 'DictList', NULL, b'0', '', b'0', b'0', '/modules/system/dict/DictList.vue', NULL, '/system/config/dict', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:30:42', 1414143554414059520, '2022-10-18 17:30:42', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582303290070364160, 'adminv3', 1582253152903843840, '定时任务', 'QuartzJobList', NULL, b'0', '', b'0', b'0', '/modules/baseapi/quartz/QuartzJobList.vue', NULL, '/system/config/quartz', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:17', 1414143554414059520, '2023-08-09 15:50:46', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1582303447428067328, 'adminv3', 1582253152903843840, '系统参数', 'SystemParamList', NULL, b'0', '', b'0', b'0', '/modules/system/param/SystemParamList.vue', NULL, '/system/config/param', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:54', 1414143554414059520, '2022-10-19 23:14:16', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582632873244172288, 'adminv3', 1582276341792985088, '文件管理', 'FileUploadList', NULL, b'0', '', b'0', b'0', '/modules/develop/file/FileUploadList.vue', NULL, '/develop/file', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:20:56', 1414143554414059520, '2022-10-19 15:20:56', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582633196587261952, 'adminv3', 1582276341792985088, '代码生成', 'CodeGenList', NULL, b'0', '', b'0', b'0', '/modules/develop/codegen/CodeGenList.vue', NULL, '/develop/codegen', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:13', 1414143554414059520, '2022-10-19 15:23:17', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582633307786649600, 'adminv3', 1582276341792985088, '动态表单', 'DynamicFormList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicform/DynamicFormList.vue', NULL, '/develop/form', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:39', 1414143554414059520, '2022-10-19 15:22:39', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582633620321017856, 'adminv3', 1582276341792985088, '动态数据源', 'DynamicDataSourceList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicsource/DynamicDataSourceList.vue', NULL, '/develop/source', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:23:54', 1414143554414059520, '2022-10-19 15:23:54', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583074308040925184, 'adminv3', 1582275875424129024, '接口文档', 'ApiSwagger', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/doc.html', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:35:02', 1414143554414059520, '2022-11-23 13:59:09', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1583075229563068416, 'adminv3', 1582275875424129024, '审计日志', 'AuditLog', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/monitor/log', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:38:42', 1414143554414059520, '2022-10-20 20:41:38', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076217481043968, 'adminv3', 1583075229563068416, '登录日志', 'LoginLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/login/LoginLogList.vue', NULL, '/monitor/log/login', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:42:37', 1414143554414059520, '2022-10-20 20:43:36', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076424935514112, 'adminv3', 1583075229563068416, '操作日志', 'OperateLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/operate/OperateLogList.vue', NULL, '/monitor/log/operate', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:43:26', 1414143554414059520, '2022-10-20 20:43:26', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076670881112064, 'adminv3', 1583075229563068416, '数据版本日志', 'DataVersionLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/data/DataVersionLogList.vue', NULL, '/monitor/log/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:44:25', 1414143554414059520, '2022-10-20 20:44:25', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076878956339200, 'adminv3', 1582275875424129024, 'ELK日志', 'ELK', NULL, b'0', '', b'1', b'0', '', NULL, 'http://elk.dev.bootx.cn:5601/app/discover', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:15', 1414143554414059520, '2023-08-12 19:26:12', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1583077015434797056, 'adminv3', 1582275875424129024, 'PlumeLog日志', 'PlumeLog', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/plumelog/#/', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:47', 1414143554414059520, '2022-10-20 20:45:47', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583077198772019200, 'adminv3', 1582275875424129024, '系统信息', 'SystemInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/system/SystemInfoMonitor.vue', NULL, '/monitor/sysinfo', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:46:31', 1414143554414059520, '2022-10-20 20:46:31', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583077360827342848, 'adminv3', 1582275875424129024, 'Redis监控', 'RedisInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/redis/RedisInfoMonitor.vue', NULL, '/monitor/redis', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:47:10', 1414143554414059520, '2022-10-20 20:47:10', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378294652051456, 'adminv3', 1582275984849326080, '邮件配置', 'MailConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/mail/MailConfigList.vue', NULL, '/notice/notice', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:56:36', 1414143554414059520, '2022-10-24 16:14:34', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378497824137216, 'adminv3', 1582275984849326080, '消息模板', 'MessageTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/template/MessageTemplateList.vue', NULL, '/notice/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:57:25', 1414143554414059520, '2022-10-25 22:14:14', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378671266996224, 'adminv3', 1582275984849326080, '站内信', 'SiteMessageList', NULL, b'0', '', b'0', b'0', '/modules/notice/site/sender/SiteMessageList.vue', NULL, '/notice/siteMessage', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:58:06', 1414143554414059520, '2022-10-24 10:58:06', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584379602188574720, 'adminv3', 1582276092038959104, '微信', 'WeChat', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wechat', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:01:48', 1414143554414059520, '2022-10-24 11:01:48', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584379704122744832, 'adminv3', 1582276092038959104, '企业微信', 'WeCom', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wecom', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:02:12', 1414143554414059520, '2022-10-24 11:02:12', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380087805091840, 'adminv3', 1582276092038959104, '钉钉', 'DingTalk', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/dingtalk', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:03:44', 1414143554414059520, '2022-10-24 11:03:44', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380527829524480, 'adminv3', 1584379602188574720, '消息模板', 'WechatTemplateList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/template/WechatTemplateList.vue', NULL, '/third/wechat/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:05:29', 1414143554414059520, '2022-10-26 15:58:56', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380679478779904, 'adminv3', 1584379602188574720, '自定义菜单', 'WechatMenuList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/menu/WechatMenuList.vue', NULL, '/third/wechat/menu', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:05', 1414143554414059520, '2022-10-27 10:15:24', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380824308097024, 'adminv3', 1584379602188574720, '素材管理', 'WechatMediaList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/media/WechatMediaList.vue', NULL, '/third/wechat/media', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:40', 1414143554414059520, '2022-10-27 16:38:47', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584381134950834176, 'adminv3', 1584379704122744832, '企微机器人', 'WeComRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/wecom/robot/WecomRobotConfigList.vue', NULL, '/third/wecom/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:07:54', 1414143554414059520, '2022-11-12 20:58:25', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1584381322184564736, 'adminv3', 1584380087805091840, '钉钉机器人', 'DingRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/dingtalk/robot/DingRobotConfigList.vue', NULL, '/third/dingTalk/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:08:38', 1414143554414059520, '2022-11-12 20:58:37', 6, 0); -INSERT INTO `iam_perm_menu` VALUES (1584381477986181120, 'adminv3', 1584380087805091840, '钉钉配置', 'DingRobotConfigList', NULL, b'0', '', b'1', b'0', '/modules/third/dingtalk/config/DingTalkConfigList.vue', NULL, '/third/dingtalk/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:09:15', 1414143554414059520, '2022-11-11 16:04:47', 1, 1); -INSERT INTO `iam_perm_menu` VALUES (1597044371008516096, 'adminv3', NULL, '功能演示', 'Demo', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/demo', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-11-28 09:47:04', 1414143554414059520, '2022-11-28 09:47:04', 0, 1); -INSERT INTO `iam_perm_menu` VALUES (1597102799370317824, 'adminv3', 1582276516905177088, '数据相关', 'DemoData', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/demo/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-11-28 13:39:15', 1414143554414059520, '2022-11-28 13:39:15', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1597210969883275264, 'adminv3', 1582276516905177088, '超级查询', 'SuperQueryDemoList', NULL, b'0', '', b'0', b'0', '/modules/demo/query/SuperQueryDemoList.vue', NULL, '/demo/query/super', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-11-28 20:49:05', 1414143554414059520, '2022-11-28 21:00:14', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1599337250200440832, 'adminv3', NULL, '关于', '', NULL, b'0', 'simple-icons:about-dot-me', b'0', b'0', '', NULL, '/about/index', '', 99, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 17:38:09', 1414143554414059520, '2022-12-04 17:43:32', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1599378494880436224, 'adminv3', 1582276516905177088, 'WS演示', 'WebsocketDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/ws/WebsocketDemo', NULL, '/demo/ws', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 20:22:03', 1414143554414059520, '2023-02-08 12:17:58', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1599378579513102336, 'adminv3', 1582276516905177088, '幂等请求演示', 'IdempotentDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/idempotent/IdempotentDemo', NULL, '/demo/idempotent', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 20:22:23', 1414143554414059520, '2023-02-08 11:46:00', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1599378728490586112, 'adminv3', 1582276516905177088, '消息中间件演示', 'MqDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/mq/MqDemo', NULL, '/demo/mq', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 20:22:59', 1414143554414059520, '2023-02-08 22:09:04', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1599378838519762944, 'adminv3', 1582276516905177088, '富文本编辑', 'WangEditorDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/wangeditor/WangEditorDemo.vue', NULL, '/demo/wangEditor', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 20:23:25', 1414143554414059520, '2023-02-10 09:05:16', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1617847577158324224, 'adminv3', 1597102799370317824, '数据权限', 'DataPermDemoList', NULL, b'0', '', b'0', b'0', '/modules/demo/data/perm/DataPermDemoList.vue', NULL, '/demo/data/perm', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-01-24 19:31:35', 1414143554414059520, '2023-01-24 20:06:04', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1617847653746315264, 'adminv3', 1597102799370317824, '加密解密', 'DataEncryptDemoList', NULL, b'0', '', b'0', b'0', '/modules/demo/data/encrypt/DataEncryptDemoList.vue', NULL, '/demo/data/encrypt', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-01-24 19:31:53', 1414143554414059520, '2023-01-24 20:05:45', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1617847747375763456, 'adminv3', 1597102799370317824, '数据脱敏', 'DataSensitiveDemoList', NULL, b'0', '', b'0', b'0', '/modules/demo/data/sensitive/DataSensitiveDemoList.vue', NULL, '/demo/data/sensitive', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-01-24 19:32:16', 1414143554414059520, '2023-01-24 20:06:58', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1621150743447965696, 'admin', 1495968302034210816, '省市区联动', 'ChinaRegionDemo', NULL, b'0', '', b'0', b'0', 'demo/chinaregion/ChinaRegionDemo', NULL, '/demo/chinaregion', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-02-02 22:17:11', 1399985191002447872, '2023-02-08 09:43:39', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1623156857846034432, 'adminv3', 1582276516905177088, '省市区联动', 'ChinaRegionDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/chinaregion/ChinaRegionDemo', NULL, '/demo/chinaregion', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-02-08 11:08:46', 1414143554414059520, '2023-02-08 11:08:46', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1623325795944439808, 'adminv3', 1599378992811429888, '邮件通知', 'EmailSenderDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/notice/email/EmailSenderDemo.vue', NULL, '/demo/notice/email', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-02-08 22:20:04', 1414143554414059520, '2023-02-20 10:38:55', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1623494586215579648, 'admin', 1552207982510706688, '行政区划', 'ChinaRegion', NULL, b'0', '', b'1', b'0', 'develop/region/ChinaRegionList', NULL, '/develop/region', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-02-09 09:30:47', 1399985191002447872, '2023-02-09 17:50:05', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1629039360928075776, 'adminv3', 1582276341792985088, '可视化大屏', 'ProjectInfoList', NULL, b'0', '', b'0', b'0', '/modules/develop/report/ProjectInfoList', NULL, '/develop/report', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-02-24 16:43:44', 1414143554414059520, '2023-02-24 16:44:17', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1631946120891707392, 'admin', 1552207982510706688, '可视化大屏', 'ProjectInfoList', NULL, b'0', '', b'0', b'0', 'develop/report/ProjectInfoList', NULL, '/develop/report', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-03-04 17:14:10', 1399985191002447872, '2023-03-04 17:14:10', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1635274568758435840, 'adminv3', 1582276341792985088, 'SQL查询语句', 'QuerySqlList', NULL, b'0', '', b'0', b'0', '/modules/develop/query/QuerySqlList', NULL, '/develop/querySql', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-03-13 21:40:14', 1414143554414059520, '2023-03-13 21:43:05', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1687369862646558720, 'adminv3', 1582275984849326080, '短信管理', 'Sms', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/notice/sms', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:48:20', 1414143554414059520, '2023-08-04 15:48:32', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1687370142234669056, 'adminv3', 1687369862646558720, '短信配置', 'SmsChannelConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/config/SmsChannelConfigList', NULL, '/notice/sms/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:26', 1414143554414059520, '2023-08-04 15:49:26', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1687370277496778752, 'adminv3', 1687369862646558720, '短信模板', 'SmsTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/template/SmsTemplateList', NULL, '/notice/sms/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:59', 1414143554414059520, '2023-08-04 15:50:38', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1689181991598997504, 'adminv3', 1582253152903843840, '敏感词管理', 'ChinaWord', NULL, b'0', '', b'0', b'0', '/modules/baseapi/chianword/ChinaWordList.vue', NULL, '/system/config/chinaword', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-09 15:49:05', 1414143554414059520, '2023-08-09 15:49:05', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1690324070514782208, 'adminv3', 1582276341792985088, '通用模板', 'GeneralTemplateList', NULL, b'0', '', b'0', b'0', '/modules/develop/template/GeneralTemplateList', NULL, '/develop/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-12 19:27:18', 1414143554414059520, '2023-08-12 19:31:26', 3, 0); +INSERT INTO `notice_message_template` VALUES (1424936204932169730, 'cs', '测试', 'hello ${msg}6666666666666666666666666666', '1', '测试模板', 0, '2021-08-10 11:30:40', 0, '2021-08-10 11:30:40', 0, 0); + +-- ---------------------------- +-- Table structure for iam_user_info +-- ---------------------------- +DROP TABLE IF EXISTS `iam_user_info`; +CREATE TABLE `iam_user_info` ( + `id` bigint(20) NOT NULL, + `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称', + `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账号', + `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码', + `phone` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '手机号', + `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱', + `client_ids` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '关联终端ds', + `administrator` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否超级管理员', + `status` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账号状态', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户信息' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of iam_user_info +-- ---------------------------- +INSERT INTO `iam_user_info` VALUES (1399985191002447872, 'Bootx', 'bootx', 'f52020dca765fd3943ed40a615dc2c5c', '13333333333', 'bootx@bootx.com', '1430430071299207168,1430430071299207169,1626840094767714304,1580487061605175296', b'1', 'norm', 1, '2021-06-02 15:04:15', 1399985191002447872, '2023-10-19 14:14:46', 58, 0); + +-- ---------------------------- +-- Table structure for iam_user_expand_info +-- ---------------------------- +DROP TABLE IF EXISTS `iam_user_expand_info`; +CREATE TABLE `iam_user_expand_info` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `sex` int(4) NULL DEFAULT NULL COMMENT '性别', + `birthday` date NULL DEFAULT NULL COMMENT '生日', + `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像', + `last_login_time` datetime(0) NULL DEFAULT NULL COMMENT '上次登录时间', + `current_login_time` datetime(0) NULL DEFAULT NULL COMMENT '本次登录时间', + `initial_password` bit(1) NOT NULL COMMENT '是否初始密码', + `last_change_password_time` datetime(0) NULL DEFAULT NULL COMMENT '上次修改密码时间', + `register_time` datetime(0) NOT NULL COMMENT '注册时间', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL DEFAULT 0 COMMENT '删除标志', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户扩展信息' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of iam_user_expand_info +-- ---------------------------- +INSERT INTO `iam_user_expand_info` VALUES (1399985191002447872, 1, '1996-12-01', NULL, '2023-10-19 19:21:46', '2023-10-20 09:31:26', b'0', '2023-10-19 14:14:08', '2021-08-01 18:52:37', 1, '2021-06-02 15:04:15', 1, '2023-10-20 09:31:26', 382, b'0'); + +-- ---------------------------- +-- Table structure for iam_password_security_config +-- ---------------------------- +DROP TABLE IF EXISTS `iam_password_security_config`; +CREATE TABLE `iam_password_security_config` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `max_pwd_error_count` int(11) NULL DEFAULT NULL COMMENT '最大密码错误数', + `error_lock_time` int(11) NULL DEFAULT NULL COMMENT '密码错误锁定时间(分钟)', + `require_change_pwd` bit(1) NULL DEFAULT NULL COMMENT '强制修改初始密码', + `update_frequency` int(11) NULL DEFAULT NULL COMMENT '更新频率', + `expire_remind` int(11) NULL DEFAULT NULL COMMENT '到期提醒(天数)', + `same_as_login_name` bit(1) NULL DEFAULT NULL COMMENT '与登录名相同', + `recent_password` int(11) NULL DEFAULT NULL COMMENT '不能与近期多少次密码相同', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '密码安全策略' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of iam_password_security_config +-- ---------------------------- +INSERT INTO `iam_password_security_config` VALUES (1714844168393515008, 5, 10, b'1', 90, 14, b'0', 5, 1399985191002447872, '2023-10-19 11:21:25', 1399985191002447872, '2023-10-19 11:21:25', 0, b'0'); + +-- ---------------------------- +-- Table structure for starter_wx_template +-- ---------------------------- +DROP TABLE IF EXISTS `starter_wx_template`; +CREATE TABLE `starter_wx_template` ( + `id` bigint(20) NOT NULL, + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', + `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编码', + `enable` bit(1) NOT NULL COMMENT '是否启用', + `template_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '模板ID', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板标题', + `primary_industry` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板所属行业的一级行业', + `deputy_industry` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板所属行业的二级行业', + `content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板内容', + `example` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '示例', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `inx_`(`template_id`) USING BTREE COMMENT '模板id' +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信消息模板' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of starter_wx_template +-- ---------------------------- + +-- ---------------------------- +-- Table structure for starter_wx_menu +-- ---------------------------- +DROP TABLE IF EXISTS `starter_wx_menu`; +CREATE TABLE `starter_wx_menu` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '名称', + `menu_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '菜单信息', + `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', + `publish` bit(1) NOT NULL COMMENT '是否发布', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + `version` int(11) NOT NULL COMMENT '版本', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '微信自定义菜单' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of starter_wx_menu +-- ---------------------------- + +-- ---------------------------- +-- Table structure for starter_wx_fans +-- ---------------------------- +DROP TABLE IF EXISTS `starter_wx_fans`; +CREATE TABLE `starter_wx_fans` ( + `id` bigint(20) NOT NULL, + `openid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联OpenId', + `subscribe_status` bit(1) NULL DEFAULT NULL COMMENT '订阅状态', + `subscribe_time` datetime(0) NULL DEFAULT NULL COMMENT '订阅时间', + `nickname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '昵称', + `sex` varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '性别', + `language` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '语言', + `country` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国家', + `province` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '省份', + `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '城市', + `avatar_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像地址', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信公众号粉丝' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of starter_wx_fans +-- ---------------------------- + +-- ---------------------------- +-- Table structure for starter_wecom_robot_config +-- ---------------------------- +DROP TABLE IF EXISTS `starter_wecom_robot_config`; +CREATE TABLE `starter_wecom_robot_config` ( + `id` bigint(20) NOT NULL, + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', + `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号', + `webhook_key` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'webhook地址的key值', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(6) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + `deleted` bit(1) NOT NULL COMMENT '0:未删除。1:已删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '企业微信机器人配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for iam_perm_path +-- Records of starter_wecom_robot_config -- ---------------------------- -DROP TABLE IF EXISTS `iam_perm_path`; -CREATE TABLE `iam_perm_path` ( - `id` bigint(20) NOT NULL, - `code` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '权限标识', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限名称', - `request_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '请求类型', - `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '请求路径', - `group_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分组名称', - `enable` bit(1) NOT NULL COMMENT '启用状态', - `generate` bit(1) NOT NULL COMMENT '是否通过系统生成的权限', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `creator` bigint(20) NULL DEFAULT NULL, - `create_time` datetime(6) NULL DEFAULT NULL, - `last_modifier` bigint(20) NULL DEFAULT NULL, - `last_modified_time` datetime(6) NULL DEFAULT NULL, - `deleted` bit(1) NOT NULL, - `version` int(11) NOT NULL, + +-- ---------------------------- +-- Table structure for starter_quartz_job_log +-- ---------------------------- +DROP TABLE IF EXISTS `starter_quartz_job_log`; +CREATE TABLE `starter_quartz_job_log` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `handler_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理器名称', + `class_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理器全限定名', + `success` bit(1) NOT NULL COMMENT '是否执行成功', + `error_message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `start_time` datetime(0) NULL DEFAULT NULL COMMENT '开始时间', + `end_time` datetime(0) NULL DEFAULT NULL COMMENT '结束时间', + `duration` bigint(255) NULL DEFAULT NULL COMMENT '执行时长', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '权限_请求' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '任务执行日志' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_perm_path +-- Records of starter_quartz_job_log -- ---------------------------- -- ---------------------------- --- Table structure for iam_role +-- Table structure for starter_file_upload_info -- ---------------------------- -DROP TABLE IF EXISTS `iam_role`; -CREATE TABLE `iam_role` ( - `id` bigint(20) NOT NULL COMMENT '角色ID', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编码', - `name` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', - `internal` bit(1) NOT NULL COMMENT '是否系统内置', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '说明', +DROP TABLE IF EXISTS `starter_file_upload_info`; +CREATE TABLE `starter_file_upload_info` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `file_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存储位置', + `file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件名称', + `file_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件类型', + `file_suffix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件后缀', + `file_size` bigint(20) NULL DEFAULT NULL COMMENT '文件大小', + `external_storage_id` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '外部关联id', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '上传文件信息' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of starter_file_upload_info +-- ---------------------------- + +-- ---------------------------- +-- Table structure for starter_file_data +-- ---------------------------- +DROP TABLE IF EXISTS `starter_file_data`; +CREATE TABLE `starter_file_data` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `base64` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT 'base64方式存储', + `data` longblob NULL COMMENT '数据方式存储', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '上传文件数据' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of starter_file_data +-- ---------------------------- + +-- ---------------------------- +-- Table structure for starter_ding_robot_config +-- ---------------------------- +DROP TABLE IF EXISTS `starter_ding_robot_config`; +CREATE TABLE `starter_ding_robot_config` ( + `id` bigint(20) NOT NULL, + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', + `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号', + `access_token` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉机器人访问token', + `enable_signature_check` bit(1) NOT NULL COMMENT '是否开启验签', + `sign_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉机器人私钥', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `last_modified_time` datetime(6) NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + `deleted` bit(1) NOT NULL COMMENT '0:未删除。1:已删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '角色' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钉钉机器人配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_role +-- Records of starter_ding_robot_config -- ---------------------------- -INSERT INTO `iam_role` VALUES (1405414804771971072, 'admin', '管理员', b'1', '管理员', 1, '2021-06-17 14:39:35', 1399985191002447872, '2021-07-18 22:31:02', 6, 0); -INSERT INTO `iam_role` VALUES (1416730722714144768, 'test', '测试', b'0', '测试角色', 1399985191002447872, '2021-07-18 20:05:01', 1399985191002447872, '2021-07-18 20:16:15', 1, 0); -INSERT INTO `iam_role` VALUES (1422832797731778562, 'user', '用户', b'0', '用户角色', 0, '2021-08-04 16:12:29', 1399985191002447872, '2021-08-04 16:15:03', 7, 1); -INSERT INTO `iam_role` VALUES (1428891259564445696, 'manager', '管理者', b'0', 'manager管理者', 1399985191002447872, '2021-08-21 09:26:38', 1399985191002447872, '2021-08-21 09:26:39', 0, 1); -- ---------------------------- --- Table structure for iam_role_menu +-- Table structure for starter_ding_media_md5 -- ---------------------------- -DROP TABLE IF EXISTS `iam_role_menu`; -CREATE TABLE `iam_role_menu` ( +DROP TABLE IF EXISTS `starter_ding_media_md5`; +CREATE TABLE `starter_ding_media_md5` ( `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '角色id', - `client_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '终端code', - `permission_id` bigint(20) NOT NULL COMMENT '菜单权限id', + `media_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '媒体id', + `md5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'md5值', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色菜单权限表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钉钉媒体文件MD5值关联关系' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_role_menu +-- Records of starter_ding_media_md5 -- ---------------------------- -- ---------------------------- --- Table structure for iam_role_path +-- Table structure for starter_audit_operate_log -- ---------------------------- -DROP TABLE IF EXISTS `iam_role_path`; -CREATE TABLE `iam_role_path` ( +DROP TABLE IF EXISTS `starter_audit_operate_log`; +CREATE TABLE `starter_audit_operate_log` ( `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '角色id', - `permission_id` bigint(20) NOT NULL COMMENT '请求权限id', + `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作模块', + `operate_id` bigint(20) NULL DEFAULT NULL COMMENT '操作人员id', + `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作人员账号', + `business_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', + `method` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方法', + `request_method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方式', + `operate_url` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求url', + `operate_ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作ip', + `operate_location` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作地点', + `operate_param` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求参数', + `operate_return` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '返回参数', + `success` bit(1) NULL DEFAULT NULL COMMENT '是否成功', + `error_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '错误提示', + `operate_time` datetime(0) NULL DEFAULT NULL COMMENT '操作时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色请求权限表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_role_path +-- Records of starter_audit_operate_log -- ---------------------------- -- ---------------------------- --- Table structure for iam_user_data_scope +-- Table structure for starter_audit_login_log -- ---------------------------- -DROP TABLE IF EXISTS `iam_user_data_scope`; -CREATE TABLE `iam_user_data_scope` ( +DROP TABLE IF EXISTS `starter_audit_login_log`; +CREATE TABLE `starter_audit_login_log` ( + `id` bigint(20) NOT NULL, + `user_id` bigint(11) NULL DEFAULT NULL COMMENT '用户id', + `account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名称', + `login` bit(1) NULL DEFAULT NULL COMMENT '登录成功状态', + `client` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终端', + `login_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录方式', + `ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录IP地址', + `login_location` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录地点', + `os` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作系统', + `browser` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '浏览器类型', + `msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示消息', + `login_time` datetime(0) NULL DEFAULT NULL COMMENT '访问时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '登陆日志' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of starter_audit_login_log +-- ---------------------------- + +-- ---------------------------- +-- Table structure for report_project_info_publish +-- ---------------------------- +DROP TABLE IF EXISTS `report_project_info_publish`; +CREATE TABLE `report_project_info_publish` ( `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NOT NULL COMMENT '用户ID', - `data_scope_id` bigint(20) NOT NULL COMMENT '数据权限ID', + `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '报表内容', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户数据范围关系\r\n' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '自定义大屏发布信息' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_user_data_scope +-- Records of report_project_info_publish -- ---------------------------- -INSERT INTO `iam_user_data_scope` VALUES (1477617820165345280, 1414143554414059520, 1474717084985270272); -INSERT INTO `iam_user_data_scope` VALUES (1477991040840290304, 1477990832987361280, 1477990439800721408); -INSERT INTO `iam_user_data_scope` VALUES (1477997504506077184, 1477997391729631232, 1477990268903804928); -INSERT INTO `iam_user_data_scope` VALUES (1477997685993611264, 1477997602862505984, 1474706893178871808); -- ---------------------------- --- Table structure for iam_user_dept +-- Table structure for report_project_info -- ---------------------------- -DROP TABLE IF EXISTS `iam_user_dept`; -CREATE TABLE `iam_user_dept` ( - `id` bigint(20) NOT NULL, - `user_id` bigint(20) NOT NULL COMMENT '用户id', - `dept_id` bigint(20) NOT NULL COMMENT '部门id', +DROP TABLE IF EXISTS `report_project_info`; +CREATE TABLE `report_project_info` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目名称', + `state` int(11) NULL DEFAULT NULL COMMENT '发布状态', + `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '报表内容', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', + `index_image` bigint(20) NULL DEFAULT NULL COMMENT '预览图片id', + `edit` bit(1) NULL DEFAULT NULL COMMENT '是否在编辑中', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户部门关联表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '自定义大屏信息' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_user_dept +-- Records of report_project_info +-- ---------------------------- + +-- ---------------------------- +-- Table structure for qrtz_triggers +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_triggers`; +CREATE TABLE `qrtz_triggers` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `NEXT_FIRE_TIME` bigint(13) NULL DEFAULT NULL, + `PREV_FIRE_TIME` bigint(13) NULL DEFAULT NULL, + `PRIORITY` int(11) NULL DEFAULT NULL, + `TRIGGER_STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_TYPE` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `START_TIME` bigint(13) NOT NULL, + `END_TIME` bigint(13) NULL DEFAULT NULL, + `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `MISFIRE_INSTR` smallint(2) NULL DEFAULT NULL, + `JOB_DATA` blob NULL, + PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, + INDEX `IDX_QRTZ_T_NFT_ST`(`SCHED_NAME`, `TRIGGER_STATE`, `NEXT_FIRE_TIME`) USING BTREE, + INDEX `IDX_QRTZ_T_N_STATE`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE, + INDEX `IDX_QRTZ_T_NEXT_FIRE_TIME`(`SCHED_NAME`, `NEXT_FIRE_TIME`) USING BTREE, + INDEX `IDX_QRTZ_T_C`(`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE, + INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_STATE`) USING BTREE, + INDEX `IDX_QRTZ_T_G`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE, + INDEX `IDX_QRTZ_T_J`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, + INDEX `IDX_QRTZ_T_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE, + INDEX `IDX_QRTZ_T_N_G_STATE`(`SCHED_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE, + INDEX `IDX_QRTZ_T_NFT_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`) USING BTREE, + INDEX `IDX_QRTZ_T_STATE`(`SCHED_NAME`, `TRIGGER_STATE`) USING BTREE, + INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) 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 NO ACTION ON UPDATE NO ACTION +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of qrtz_triggers +-- ---------------------------- + +-- ---------------------------- +-- Table structure for qrtz_simprop_triggers -- ---------------------------- -INSERT INTO `iam_user_dept` VALUES (1450088892861501440, 1399985191002447872, 1259383345604300802); -INSERT INTO `iam_user_dept` VALUES (1477996765012533248, 1477990832987361280, 1477977592291053568); -INSERT INTO `iam_user_dept` VALUES (1477997463997489152, 1477997391729631232, 1477978610865197056); -INSERT INTO `iam_user_dept` VALUES (1477997655618461696, 1477997602862505984, 1477978610865197056); -INSERT INTO `iam_user_dept` VALUES (1478741775446118400, 1435967884114194432, 1477978810526650368); -INSERT INTO `iam_user_dept` VALUES (1478741775450312704, 1435967884114194432, 1477978464559484928); -INSERT INTO `iam_user_dept` VALUES (1478741775450312705, 1435967884114194432, 1477978610865197056); +DROP TABLE IF EXISTS `qrtz_simprop_triggers`; +CREATE TABLE `qrtz_simprop_triggers` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `STR_PROP_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `STR_PROP_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `STR_PROP_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `INT_PROP_1` int(11) NULL DEFAULT NULL, + `INT_PROP_2` int(11) NULL DEFAULT NULL, + `LONG_PROP_1` bigint(20) NULL DEFAULT NULL, + `LONG_PROP_2` bigint(20) 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_general_ci NULL DEFAULT NULL, + `BOOL_PROP_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_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 NO ACTION ON UPDATE NO ACTION +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for iam_user_expand_info +-- Records of qrtz_simprop_triggers -- ---------------------------- -DROP TABLE IF EXISTS `iam_user_expand_info`; -CREATE TABLE `iam_user_expand_info` ( - `id` bigint(20) NOT NULL, - `sex` int(4) NULL DEFAULT NULL COMMENT '性别', - `birthday` date NULL DEFAULT NULL COMMENT '生日', - `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像', - `last_login_time` datetime NULL DEFAULT NULL COMMENT '上次登录时间', - `current_login_time` datetime NULL DEFAULT NULL COMMENT '本次登录时间', - `initial_password` bit(1) NOT NULL COMMENT '是否初始密码', - `last_change_password_time` datetime NULL DEFAULT NULL COMMENT '上次修改密码时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户扩展信息' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_user_expand_info +-- Table structure for qrtz_simple_triggers -- ---------------------------- -INSERT INTO `iam_user_expand_info` VALUES (1399985191002447872, 1, '1996-12-01', '1495331905770315776', '2022-11-02 09:59:06', '2023-08-21 13:24:32', b'0', '2022-06-19 21:25:00', 1, '2021-06-02 15:04:15', 0, '2023-08-21 13:24:32', 368, 0); -INSERT INTO `iam_user_expand_info` VALUES (1414143554414059520, 1, '2022-10-31', '1586953599627546624', '2023-08-21 13:06:47', '2023-08-21 13:23:26', b'0', NULL, 1, '2021-07-11 16:44:32', 0, '2023-08-21 13:23:26', 66, 0); -INSERT INTO `iam_user_expand_info` VALUES (1435894470432456704, 1, NULL, NULL, '2022-09-16 16:48:16', '2022-09-17 17:20:58', b'0', '2022-06-29 00:39:23', 1399985191002447872, '2021-09-09 17:14:54', 0, '2022-09-17 17:20:58', 5, 0); -INSERT INTO `iam_user_expand_info` VALUES (1435967884114194432, 1, NULL, NULL, NULL, '2022-05-31 15:59:42', b'0', NULL, 1414143554414059520, '2021-09-09 22:06:37', 0, '2022-05-31 15:59:42', 1, 0); -INSERT INTO `iam_user_expand_info` VALUES (1477990832987361280, 1, NULL, NULL, NULL, NULL, b'0', NULL, 1399985191002447872, '2022-01-03 21:10:49', 1399985191002447872, '2022-01-03 21:10:49', 0, 0); -INSERT INTO `iam_user_expand_info` VALUES (1477997391729631232, 1, NULL, NULL, NULL, NULL, b'0', NULL, 1399985191002447872, '2022-01-03 21:36:53', 1399985191002447872, '2022-01-03 21:36:53', 0, 0); -INSERT INTO `iam_user_expand_info` VALUES (1477997602862505984, 1, NULL, NULL, NULL, '2022-06-01 16:51:46', b'0', NULL, 1399985191002447872, '2022-01-03 21:37:43', 0, '2022-06-01 16:51:46', 1, 0); +DROP TABLE IF EXISTS `qrtz_simple_triggers`; +CREATE TABLE `qrtz_simple_triggers` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `REPEAT_COUNT` bigint(7) NOT NULL, + `REPEAT_INTERVAL` bigint(12) NOT NULL, + `TIMES_TRIGGERED` bigint(10) 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 NO ACTION ON UPDATE NO ACTION +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for iam_user_info +-- Records of qrtz_simple_triggers -- ---------------------------- -DROP TABLE IF EXISTS `iam_user_info`; -CREATE TABLE `iam_user_info` ( - `id` bigint(20) NOT NULL, - `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称', - `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账号', - `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码', - `phone` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '手机号', - `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱', - `client_ids` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '关联终端ds', - `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像', - `source` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '注册来源', - `admin` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否超级管理员', - `register_time` datetime NULL DEFAULT NULL COMMENT '注册时间', - `status` tinyint(4) NOT NULL COMMENT '账号状态', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户信息' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_user_info +-- Table structure for qrtz_scheduler_state -- ---------------------------- -INSERT INTO `iam_user_info` VALUES (1399985191002447872, '小小明', 'xxm', 'f52020dca765fd3943ed40a615dc2c5c', '133****3333', 'x******@outlook.com', '1430430071299207168,1430430071299207169,1626840094767714304,1580487061605175296', NULL, NULL, b'1', '2021-06-02 15:04:12', 1, 1, '2021-06-02 15:04:15', 1414143554414059520, '2023-02-18 15:08:42', 55, 0); -INSERT INTO `iam_user_info` VALUES (1414143554414059520, '小小明1995', 'xxm1995', 'f52020dca765fd3943ed40a615dc2c5c', '130****0000', 'x******@foxmail.com', '1430430071299207168,1580487061605175296,1430430071299207169,1626840094767714304', NULL, NULL, b'1', '2021-07-11 16:44:31', 1, 1, '2021-07-11 16:44:32', 1414143554414059520, '2023-02-18 15:08:48', 9, 0); -INSERT INTO `iam_user_info` VALUES (1435894470432456704, '管理员', 'admin', 'f52020dca765fd3943ed40a615dc2c5c', '13000001111', 'admin@qq.com', '1430430071299207168', '', NULL, b'0', '2021-09-09 17:14:52', 1, 1399985191002447872, '2021-09-09 17:14:54', 1399985191002447872, '2022-09-16 16:41:51', 7, 0); -INSERT INTO `iam_user_info` VALUES (1435967884114194432, '测试', 'test', 'f52020dca765fd3943ed40a615dc2c5c', '13311111111', 'test@qq.com', '1430430071299207168', '', NULL, b'0', '2021-09-09 22:06:37', 1, 1414143554414059520, '2021-09-09 22:06:37', 1399985191002447872, '2022-05-31 15:59:37', 9, 0); -INSERT INTO `iam_user_info` VALUES (1477990832987361280, '测试用户001', 'test001', 'f52020dca765fd3943ed40a615dc2c5c', '', '', '1430430071299207168', '', NULL, b'0', '2022-01-03 21:10:49', 1, 1399985191002447872, '2022-01-03 21:10:49', 1399985191002447872, '2022-06-05 20:26:26', 1, 0); -INSERT INTO `iam_user_info` VALUES (1477997391729631232, '测试用户002', 'test002', 'f52020dca765fd3943ed40a615dc2c5c', '', '', '1430430071299207168', '', NULL, b'0', '2022-01-03 21:36:53', 1, 1399985191002447872, '2022-01-03 21:36:53', 1399985191002447872, '2022-06-05 20:26:19', 1, 0); -INSERT INTO `iam_user_info` VALUES (1477997602862505984, '测试用户003', 'test003', 'f52020dca765fd3943ed40a615dc2c5c', '', '', '1430430071299207168', '', NULL, b'0', '2022-01-03 21:37:43', 1, 1399985191002447872, '2022-01-03 21:37:43', 1399985191002447872, '2022-05-19 13:00:05', 4, 0); +DROP TABLE IF EXISTS `qrtz_scheduler_state`; +CREATE TABLE `qrtz_scheduler_state` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `LAST_CHECKIN_TIME` bigint(13) NOT NULL, + `CHECKIN_INTERVAL` bigint(13) NOT NULL, + PRIMARY KEY (`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for iam_user_role +-- Records of qrtz_scheduler_state -- ---------------------------- -DROP TABLE IF EXISTS `iam_user_role`; -CREATE TABLE `iam_user_role` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NOT NULL COMMENT '用户ID', - `role_id` bigint(20) NOT NULL COMMENT '角色ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户角色关系\r\n' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_user_role +-- Table structure for qrtz_paused_trigger_grps -- ---------------------------- -INSERT INTO `iam_user_role` VALUES (1533038443724980224, 1435894470432456704, 1405414804771971072); +DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`; +CREATE TABLE `qrtz_paused_trigger_grps` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + PRIMARY KEY (`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for iam_user_third +-- Records of qrtz_paused_trigger_grps -- ---------------------------- -DROP TABLE IF EXISTS `iam_user_third`; -CREATE TABLE `iam_user_third` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id', - `we_chat_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信openId', - `we_chat_open_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信开放平台id', - `qq_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'qqId', - `weibo_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微博Id', - `gitee_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '码云唯一标识', - `ding_talk_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉唯一标识', - `we_com_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '企业微信唯一标识', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE, - INDEX `pk_user_index`(`user_id`) USING BTREE COMMENT '用户id索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户三方登录绑定' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_user_third +-- Table structure for qrtz_locks -- ---------------------------- -INSERT INTO `iam_user_third` VALUES (1693285779222376448, 1414143554414059520, 'oAAyF68eYHdvi3lc_XGGDpzE7EWM', NULL, NULL, NULL, NULL, NULL, NULL, 1414143554414059520, '2023-08-20 23:36:04', 1414143554414059520, '2023-08-20 23:46:17', 1, 0); +DROP TABLE IF EXISTS `qrtz_locks`; +CREATE TABLE `qrtz_locks` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `LOCK_NAME` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for iam_user_third_info +-- Records of qrtz_locks -- ---------------------------- -DROP TABLE IF EXISTS `iam_user_third_info`; -CREATE TABLE `iam_user_third_info` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NOT NULL COMMENT '用户id', - `client_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '第三方终端类型', - `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户名', - `nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户昵称', - `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户头像', - `third_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '关联第三方平台的用户id', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE, - INDEX `pk_user_client`(`user_id`, `client_code`) USING BTREE COMMENT '用户id和终端code' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '用户三方登录绑定详情' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for notice_mail_config +-- Table structure for qrtz_job_details -- ---------------------------- -DROP TABLE IF EXISTS `notice_mail_config`; -CREATE TABLE `notice_mail_config` ( - `id` bigint(20) NOT NULL, - `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编号', - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', - `host` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器host', - `port` int(5) NOT NULL COMMENT '邮箱服务器 port', - `username` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器 username', - `password` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器 password', - `sender` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱服务器 sender', - `from_` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱服务器 from', - `activity` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置,0:否。1:是', - `security_type` int(2) NULL DEFAULT NULL COMMENT '安全传输方式 1:plain 2:tls 3:ssl', - `creator` bigint(18) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(18) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NULL DEFAULT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '邮件配置' ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `qrtz_job_details`; +CREATE TABLE `qrtz_job_details` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `JOB_CLASS_NAME` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `IS_DURABLE` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `IS_UPDATE_DATA` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `JOB_DATA` blob NULL, + PRIMARY KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, + INDEX `IDX_QRTZ_J_GRP`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE, + INDEX `IDX_QRTZ_J_REQ_RECOVERY`(`SCHED_NAME`, `REQUESTS_RECOVERY`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of notice_mail_config +-- Records of qrtz_job_details -- ---------------------------- -- ---------------------------- --- Table structure for notice_message_template +-- Table structure for qrtz_fired_triggers -- ---------------------------- -DROP TABLE IF EXISTS `notice_message_template`; -CREATE TABLE `notice_message_template` ( - `id` bigint(20) NOT NULL, - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `data` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模板数据', - `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板类型', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息模板' ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `qrtz_fired_triggers`; +CREATE TABLE `qrtz_fired_triggers` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `ENTRY_ID` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `FIRED_TIME` bigint(13) NOT NULL, + `SCHED_TIME` bigint(13) NOT NULL, + `PRIORITY` int(11) NOT NULL, + `STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`SCHED_NAME`, `ENTRY_ID`) USING BTREE, + INDEX `IDX_QRTZ_FT_T_G`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, + INDEX `IDX_QRTZ_FT_TRIG_INST_NAME`(`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE, + INDEX `IDX_QRTZ_FT_J_G`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, + INDEX `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY`(`SCHED_NAME`, `INSTANCE_NAME`, `REQUESTS_RECOVERY`) USING BTREE, + INDEX `IDX_QRTZ_FT_TG`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE, + INDEX `IDX_QRTZ_FT_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of notice_message_template +-- Records of qrtz_fired_triggers -- ---------------------------- -INSERT INTO `notice_message_template` VALUES (1424936204932169730, 'cs', '测试', 'hello ${msg}6666666666666666666666666666', '1', '测试模板', 0, '2021-08-10 11:30:40', 0, '2021-08-10 11:30:40', 0, 0); -INSERT INTO `notice_message_template` VALUES (1573951326893510656, 'BpmTaskCreated', '流程任务创建事件', '流程任务创建事件', '0', '', 1399985191002447872, '2022-09-25 16:23:34', 1399985191002447872, '2022-09-25 16:23:34', 0, 0); -INSERT INTO `notice_message_template` VALUES (1573951515616219136, 'BpmTaskAssignCreated', '流程任务更改处理人事件(新处理人)', '流程任务更改处理人事件(新处理人)', '0', '', 1399985191002447872, '2022-09-25 16:24:19', 1399985191002447872, '2022-09-25 16:27:09', 1, 0); -INSERT INTO `notice_message_template` VALUES (1573952505056727040, 'BpmTaskAssignCancel', '流程任务更改处理人事件(原处理人)', '流程任务更改处理人事件(原处理人)', '0', '', 1399985191002447872, '2022-09-25 16:28:14', 1399985191002447872, '2022-09-25 16:28:14', 0, 0); -INSERT INTO `notice_message_template` VALUES (1573952568654958592, 'BpmTaskCancel', '流程任务取消事件', '流程任务取消事件', '0', '', 1399985191002447872, '2022-09-25 16:28:30', 1399985191002447872, '2022-09-25 16:28:30', 0, 0); -INSERT INTO `notice_message_template` VALUES (1573952621826150400, 'BpmTaskReject', '流程任务驳回事件', '流程任务驳回事件', '0', '', 1399985191002447872, '2022-09-25 16:28:42', 1399985191002447872, '2022-09-25 16:28:42', 0, 0); -INSERT INTO `notice_message_template` VALUES (1573952709432578048, 'BpmInstanceCompleted', '流程完成时通知发起人', '流程完成时通知发起人', '0', '', 1399985191002447872, '2022-09-25 16:29:03', 1399985191002447872, '2022-09-25 16:29:03', 0, 0); -INSERT INTO `notice_message_template` VALUES (1573952762507300864, 'BpmInstanceCancel', '流程取消时通知发起人', '流程取消时通知发起人', '0', '', 1399985191002447872, '2022-09-25 16:29:16', 1399985191002447872, '2022-09-25 16:29:16', 0, 0); -INSERT INTO `notice_message_template` VALUES (1580083314274070528, 'BpmTaskBack', '流程任务回退事件', '流程任务驳回事件', '0', '', 1399985191002447872, '2022-10-12 14:29:53', 1399985191002447872, '2022-10-12 14:30:11', 1, 0); -- ---------------------------- --- Table structure for notice_site_message +-- Table structure for qrtz_cron_triggers -- ---------------------------- -DROP TABLE IF EXISTS `notice_site_message`; -CREATE TABLE `notice_site_message` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息标题', - `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '消息内容', - `sender_id` bigint(20) NULL DEFAULT NULL COMMENT '发送者id', - `sender_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送者姓名', - `sender_time` datetime NULL DEFAULT NULL COMMENT '发送时间', - `receive_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息类型', - `send_state` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发布状态', - `efficient_time` datetime NULL DEFAULT NULL COMMENT '截至有效期', - `cancel_time` datetime NULL DEFAULT NULL COMMENT '撤回时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '站内信' ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `qrtz_cron_triggers`; +CREATE TABLE `qrtz_cron_triggers` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `CRON_EXPRESSION` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TIME_ZONE_ID` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_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 NO ACTION ON UPDATE NO ACTION +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of notice_site_message +-- Records of qrtz_cron_triggers -- ---------------------------- -- ---------------------------- --- Table structure for notice_site_message_user +-- Table structure for qrtz_calendars -- ---------------------------- -DROP TABLE IF EXISTS `notice_site_message_user`; -CREATE TABLE `notice_site_message_user` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `message_id` bigint(20) NOT NULL COMMENT '消息id', - `receive_id` bigint(20) NOT NULL COMMENT '接收者id', - `have_read` bit(1) NOT NULL COMMENT '已读/未读', - `read_time` datetime NULL DEFAULT NULL COMMENT '已读时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `uni_receive_message`(`receive_id`, `message_id`) USING BTREE COMMENT '接收人和消息联合索引', - INDEX `inx_message`(`message_id`) USING BTREE COMMENT '消息索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '消息用户关联' ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `qrtz_calendars`; +CREATE TABLE `qrtz_calendars` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `CALENDAR` blob NOT NULL, + PRIMARY KEY (`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of notice_site_message_user +-- Records of qrtz_calendars -- ---------------------------- -INSERT INTO `notice_site_message_user` VALUES (1558781525422428160, 1558781525200130048, 1399985191002447872, b'1', '2022-08-14 19:47:53', 0, '2022-08-14 19:44:11', 0); -INSERT INTO `notice_site_message_user` VALUES (1559917646856540160, 1424212599079161857, 1399985191002447872, b'1', '2022-08-17 22:58:43', 1399985191002447872, '2022-08-17 22:58:44', 0); -INSERT INTO `notice_site_message_user` VALUES (1561379790089302016, 1561368170558623744, 1399985191002447872, b'1', '2022-08-21 23:48:43', 1399985191002447872, '2022-08-21 23:48:46', 0); -INSERT INTO `notice_site_message_user` VALUES (1561379841968648192, 1561365894804766720, 1399985191002447872, b'1', '2022-08-21 23:48:58', 1399985191002447872, '2022-08-21 23:48:58', 0); -- ---------------------------- --- Table structure for notice_sms_channel_config +-- Table structure for qrtz_blob_triggers -- ---------------------------- -DROP TABLE IF EXISTS `notice_sms_channel_config`; -CREATE TABLE `notice_sms_channel_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '渠道类型编码', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '渠道类型名称', - `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', - `access_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'AccessKey', - `config` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '配置字符串', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `access_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'AccessSecret', - `image` bigint(20) NULL DEFAULT NULL COMMENT '图片', - `sort_no` double(10, 0) NULL DEFAULT NULL COMMENT '排序', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '短信渠道配置' ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `qrtz_blob_triggers`; +CREATE TABLE `qrtz_blob_triggers` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `BLOB_DATA` blob NULL, + PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, + INDEX `SCHED_NAME`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) 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 NO ACTION ON UPDATE NO ACTION +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of notice_sms_channel_config +-- Records of qrtz_blob_triggers -- ---------------------------- -- ---------------------------- --- Table structure for notice_sms_config +-- Table structure for notice_wechat_config -- ---------------------------- -DROP TABLE IF EXISTS `notice_sms_config`; -CREATE TABLE `notice_sms_config` ( +DROP TABLE IF EXISTS `notice_wechat_config`; +CREATE TABLE `notice_wechat_config` ( `id` bigint(18) NOT NULL, `tid` bigint(18) NOT NULL COMMENT '租户id', `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `account_sid` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `path_sid` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '发送号码的唯一标识(基于twillio的命名风格)', - `auth_token` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `from_num` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `corp_id` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `corp_secret` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `is_default` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置,0:否。1:是', `creator` bigint(18) NULL DEFAULT NULL, - `create_time` datetime NULL DEFAULT NULL, + `create_time` datetime(0) NULL DEFAULT NULL, `last_modifier` bigint(18) NULL DEFAULT NULL, - `last_modified_time` datetime NULL DEFAULT NULL, + `last_modified_time` datetime(0) NULL DEFAULT NULL, `version` int(10) NULL DEFAULT NULL, `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `secret` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `isp` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `reply_msg` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '短信配置' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '微信消息配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of notice_sms_config +-- Records of notice_wechat_config -- ---------------------------- -- ---------------------------- @@ -4698,9 +4842,9 @@ CREATE TABLE `notice_sms_template` ( `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '短信模板名称', `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '短信模板内容', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE @@ -4711,602 +4855,546 @@ CREATE TABLE `notice_sms_template` ( -- ---------------------------- -- ---------------------------- --- Table structure for notice_wechat_config +-- Table structure for notice_sms_config -- ---------------------------- -DROP TABLE IF EXISTS `notice_wechat_config`; -CREATE TABLE `notice_wechat_config` ( +DROP TABLE IF EXISTS `notice_sms_config`; +CREATE TABLE `notice_sms_config` ( `id` bigint(18) NOT NULL, `tid` bigint(18) NOT NULL COMMENT '租户id', `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `corp_id` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `corp_secret` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `account_sid` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `path_sid` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '发送号码的唯一标识(基于twillio的命名风格)', + `auth_token` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `from_num` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `is_default` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置,0:否。1:是', `creator` bigint(18) NULL DEFAULT NULL, - `create_time` datetime NULL DEFAULT NULL, + `create_time` datetime(0) NULL DEFAULT NULL, `last_modifier` bigint(18) NULL DEFAULT NULL, - `last_modified_time` datetime NULL DEFAULT NULL, + `last_modified_time` datetime(0) NULL DEFAULT NULL, `version` int(10) NULL DEFAULT NULL, `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + `secret` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, + `isp` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, + `reply_msg` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '微信消息配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_wechat_config --- ---------------------------- - --- ---------------------------- --- 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_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `BLOB_DATA` blob NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `SCHED_NAME`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) 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 NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_blob_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_calendars --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_calendars`; -CREATE TABLE `qrtz_calendars` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `CALENDAR` blob NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_calendars --- ---------------------------- +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '短信配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for qrtz_cron_triggers +-- Records of notice_sms_config -- ---------------------------- -DROP TABLE IF EXISTS `qrtz_cron_triggers`; -CREATE TABLE `qrtz_cron_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `CRON_EXPRESSION` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TIME_ZONE_ID` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_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 NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of qrtz_cron_triggers +-- Table structure for notice_sms_channel_config -- ---------------------------- +DROP TABLE IF EXISTS `notice_sms_channel_config`; +CREATE TABLE `notice_sms_channel_config` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '渠道类型编码', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '渠道类型名称', + `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', + `access_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'AccessKey', + `config` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '配置字符串', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `access_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'AccessSecret', + `image` bigint(20) NULL DEFAULT NULL COMMENT '图片', + `sort_no` double(10, 0) NULL DEFAULT NULL COMMENT '排序', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '短信渠道配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for qrtz_fired_triggers +-- Records of notice_sms_channel_config -- ---------------------------- -DROP TABLE IF EXISTS `qrtz_fired_triggers`; -CREATE TABLE `qrtz_fired_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `ENTRY_ID` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `FIRED_TIME` bigint(13) NOT NULL, - `SCHED_TIME` bigint(13) NOT NULL, - `PRIORITY` int(11) NOT NULL, - `STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - PRIMARY KEY (`SCHED_NAME`, `ENTRY_ID`) USING BTREE, - INDEX `IDX_QRTZ_FT_T_G`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_FT_TRIG_INST_NAME`(`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE, - INDEX `IDX_QRTZ_FT_J_G`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY`(`SCHED_NAME`, `INSTANCE_NAME`, `REQUESTS_RECOVERY`) USING BTREE, - INDEX `IDX_QRTZ_FT_TG`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_FT_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of qrtz_fired_triggers +-- Table structure for notice_site_message_user -- ---------------------------- +DROP TABLE IF EXISTS `notice_site_message_user`; +CREATE TABLE `notice_site_message_user` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `message_id` bigint(20) NOT NULL COMMENT '消息id', + `receive_id` bigint(20) NOT NULL COMMENT '接收者id', + `have_read` bit(1) NOT NULL COMMENT '已读/未读', + `read_time` datetime(0) NULL DEFAULT NULL COMMENT '已读时间', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uni_receive_message`(`receive_id`, `message_id`) USING BTREE COMMENT '接收人和消息联合索引', + INDEX `inx_message`(`message_id`) USING BTREE COMMENT '消息索引' +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '消息用户关联' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for qrtz_job_details +-- Records of notice_site_message_user -- ---------------------------- -DROP TABLE IF EXISTS `qrtz_job_details`; -CREATE TABLE `qrtz_job_details` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `JOB_CLASS_NAME` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `IS_DURABLE` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `IS_UPDATE_DATA` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_DATA` blob NULL, - PRIMARY KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_J_GRP`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_J_REQ_RECOVERY`(`SCHED_NAME`, `REQUESTS_RECOVERY`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of qrtz_job_details +-- Table structure for notice_site_message -- ---------------------------- +DROP TABLE IF EXISTS `notice_site_message`; +CREATE TABLE `notice_site_message` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息标题', + `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '消息内容', + `sender_id` bigint(20) NULL DEFAULT NULL COMMENT '发送者id', + `sender_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送者姓名', + `sender_time` datetime(0) NULL DEFAULT NULL COMMENT '发送时间', + `receive_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息类型', + `send_state` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发布状态', + `efficient_time` datetime(0) NULL DEFAULT NULL COMMENT '截至有效期', + `cancel_time` datetime(0) NULL DEFAULT NULL COMMENT '撤回时间', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '站内信' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for qrtz_locks +-- Records of notice_site_message -- ---------------------------- -DROP TABLE IF EXISTS `qrtz_locks`; -CREATE TABLE `qrtz_locks` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `LOCK_NAME` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - -- ---------------------------- --- Table structure for qrtz_paused_trigger_grps +-- Table structure for notice_mail_config -- ---------------------------- -DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`; -CREATE TABLE `qrtz_paused_trigger_grps` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `notice_mail_config`; +CREATE TABLE `notice_mail_config` ( + `id` bigint(20) NOT NULL, + `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编号', + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', + `host` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器host', + `port` int(5) NOT NULL COMMENT '邮箱服务器 port', + `username` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器 username', + `password` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器 password', + `sender` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱服务器 sender', + `from_` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱服务器 from', + `activity` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置,0:否。1:是', + `security_type` int(2) NULL DEFAULT NULL COMMENT '安全传输方式 1:plain 2:tls 3:ssl', + `creator` bigint(18) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(18) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + `version` int(8) NULL DEFAULT NULL COMMENT '版本', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '邮件配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of qrtz_paused_trigger_grps +-- Records of notice_mail_config -- ---------------------------- -- ---------------------------- --- Table structure for qrtz_scheduler_state +-- Table structure for iam_user_third_info -- ---------------------------- -DROP TABLE IF EXISTS `qrtz_scheduler_state`; -CREATE TABLE `qrtz_scheduler_state` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `LAST_CHECKIN_TIME` bigint(13) NOT NULL, - `CHECKIN_INTERVAL` bigint(13) NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `iam_user_third_info`; +CREATE TABLE `iam_user_third_info` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `user_id` bigint(20) NOT NULL COMMENT '用户id', + `client_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '第三方终端类型', + `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户名', + `nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户昵称', + `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户头像', + `third_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '关联第三方平台的用户id', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + PRIMARY KEY (`id`) USING BTREE, + INDEX `pk_user_client`(`user_id`, `client_code`) USING BTREE COMMENT '用户id和终端code' +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '用户三方登录绑定详情' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of qrtz_scheduler_state +-- Records of iam_user_third_info -- ---------------------------- -- ---------------------------- --- Table structure for qrtz_simple_triggers +-- Table structure for iam_user_third -- ---------------------------- -DROP TABLE IF EXISTS `qrtz_simple_triggers`; -CREATE TABLE `qrtz_simple_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `REPEAT_COUNT` bigint(7) NOT NULL, - `REPEAT_INTERVAL` bigint(12) NOT NULL, - `TIMES_TRIGGERED` bigint(10) 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 NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `iam_user_third`; +CREATE TABLE `iam_user_third` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id', + `we_chat_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信openId', + `we_chat_open_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信开放平台id', + `qq_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'qqId', + `weibo_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微博Id', + `gitee_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '码云唯一标识', + `ding_talk_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉唯一标识', + `we_com_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '企业微信唯一标识', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + PRIMARY KEY (`id`) USING BTREE, + INDEX `pk_user_index`(`user_id`) USING BTREE COMMENT '用户id索引' +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户三方登录绑定' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of qrtz_simple_triggers +-- Records of iam_user_third -- ---------------------------- -- ---------------------------- --- Table structure for qrtz_simprop_triggers +-- Table structure for iam_user_role -- ---------------------------- -DROP TABLE IF EXISTS `qrtz_simprop_triggers`; -CREATE TABLE `qrtz_simprop_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `STR_PROP_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `STR_PROP_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `STR_PROP_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `INT_PROP_1` int(11) NULL DEFAULT NULL, - `INT_PROP_2` int(11) NULL DEFAULT NULL, - `LONG_PROP_1` bigint(20) NULL DEFAULT NULL, - `LONG_PROP_2` bigint(20) 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_general_ci NULL DEFAULT NULL, - `BOOL_PROP_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_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 NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `iam_user_role`; +CREATE TABLE `iam_user_role` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `role_id` bigint(20) NOT NULL COMMENT '角色ID', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户角色关系\r\n' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of qrtz_simprop_triggers +-- Records of iam_user_role -- ---------------------------- -- ---------------------------- --- Table structure for qrtz_triggers +-- Table structure for iam_user_data_scope -- ---------------------------- -DROP TABLE IF EXISTS `qrtz_triggers`; -CREATE TABLE `qrtz_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `NEXT_FIRE_TIME` bigint(13) NULL DEFAULT NULL, - `PREV_FIRE_TIME` bigint(13) NULL DEFAULT NULL, - `PRIORITY` int(11) NULL DEFAULT NULL, - `TRIGGER_STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_TYPE` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `START_TIME` bigint(13) NOT NULL, - `END_TIME` bigint(13) NULL DEFAULT NULL, - `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `MISFIRE_INSTR` smallint(2) NULL DEFAULT NULL, - `JOB_DATA` blob NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_ST`(`SCHED_NAME`, `TRIGGER_STATE`, `NEXT_FIRE_TIME`) USING BTREE, - INDEX `IDX_QRTZ_T_N_STATE`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_NEXT_FIRE_TIME`(`SCHED_NAME`, `NEXT_FIRE_TIME`) USING BTREE, - INDEX `IDX_QRTZ_T_C`(`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_G`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_J`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_N_G_STATE`(`SCHED_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`) USING BTREE, - INDEX `IDX_QRTZ_T_STATE`(`SCHED_NAME`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) 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 NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `iam_user_data_scope`; +CREATE TABLE `iam_user_data_scope` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `data_scope_id` bigint(20) NOT NULL COMMENT '数据权限ID', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户数据范围关系\r\n' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of qrtz_triggers +-- Records of iam_user_data_scope -- ---------------------------- -- ---------------------------- --- Table structure for report_project_info +-- Table structure for iam_role_path -- ---------------------------- -DROP TABLE IF EXISTS `report_project_info`; -CREATE TABLE `report_project_info` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目名称', - `state` int(11) NULL DEFAULT NULL COMMENT '发布状态', - `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '报表内容', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `index_image` bigint(20) NULL DEFAULT NULL COMMENT '预览图片id', - `edit` bit(1) NULL DEFAULT NULL COMMENT '是否在编辑中', +DROP TABLE IF EXISTS `iam_role_path`; +CREATE TABLE `iam_role_path` ( + `id` bigint(20) NOT NULL, + `role_id` bigint(20) NOT NULL COMMENT '角色id', + `permission_id` bigint(20) NOT NULL COMMENT '请求权限id', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '自定义大屏信息' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色请求权限表' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of report_project_info +-- Records of iam_role_path -- ---------------------------- -- ---------------------------- --- Table structure for report_project_info_publish +-- Table structure for iam_role_menu -- ---------------------------- -DROP TABLE IF EXISTS `report_project_info_publish`; -CREATE TABLE `report_project_info_publish` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '报表内容', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', +DROP TABLE IF EXISTS `iam_role_menu`; +CREATE TABLE `iam_role_menu` ( + `id` bigint(20) NOT NULL, + `role_id` bigint(20) NOT NULL COMMENT '角色id', + `client_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '终端code', + `permission_id` bigint(20) NOT NULL COMMENT '菜单权限id', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '自定义大屏发布信息' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色菜单权限表' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of report_project_info_publish +-- Records of iam_role_menu -- ---------------------------- -- ---------------------------- --- Table structure for starter_audit_data_version +-- Table structure for iam_perm_path -- ---------------------------- -DROP TABLE IF EXISTS `starter_audit_data_version`; -CREATE TABLE `starter_audit_data_version` ( +DROP TABLE IF EXISTS `iam_perm_path`; +CREATE TABLE `iam_perm_path` ( `id` bigint(20) NOT NULL, - `table_name` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据表名称', - `data_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据名称', - `data_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据主键', - `data_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '数据内容', - `change_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '数据更新内容', - `version` int(10) NOT NULL COMMENT '版本', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `code` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '权限标识', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限名称', + `request_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '请求类型', + `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '请求路径', + `group_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分组名称', + `enable` bit(1) NOT NULL COMMENT '启用状态', + `generate` bit(1) NOT NULL COMMENT '是否通过系统生成的权限', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + `creator` bigint(20) NULL DEFAULT NULL, + `create_time` datetime(6) NULL DEFAULT NULL, + `last_modifier` bigint(20) NULL DEFAULT NULL, + `last_modified_time` datetime(6) NULL DEFAULT NULL, + `deleted` bit(1) NOT NULL, + `version` int(11) NOT NULL, PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据版本日志' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '权限_请求' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_audit_data_version +-- Records of iam_perm_path -- ---------------------------- -INSERT INTO `starter_audit_data_version` VALUES (1480550993828446208, '', 'client', '1', '{\"dataName\":\"client\",\"dataId\":\"1\",\"dataContent\":{\"id\":\"1\",\"creator\":null,\"createTime\":\"2022-01-10 22:43:58\",\"lastModifier\":null,\"lastModifiedTime\":null,\"deleted\":false,\"version\":0,\"code\":null,\"name\":null,\"timeout\":null,\"captcha\":false,\"enable\":false,\"description\":null}}', NULL, 1, 0, '2022-01-10 22:43:59'); -INSERT INTO `starter_audit_data_version` VALUES (1480551021779288064, '', 'client', '1', '{\"dataName\":\"client\",\"dataId\":\"1\",\"dataContent\":{\"id\":\"1\",\"creator\":null,\"createTime\":\"2022-01-10 22:44:05\",\"lastModifier\":null,\"lastModifiedTime\":null,\"deleted\":false,\"version\":0,\"code\":null,\"name\":null,\"timeout\":null,\"captcha\":false,\"enable\":false,\"description\":null}}', NULL, 2, 0, '2022-01-10 22:44:06'); -- ---------------------------- --- Table structure for starter_audit_login_log +-- Table structure for iam_password_login_fail_record -- ---------------------------- -DROP TABLE IF EXISTS `starter_audit_login_log`; -CREATE TABLE `starter_audit_login_log` ( - `id` bigint(20) NOT NULL, - `user_id` bigint(11) NULL DEFAULT NULL COMMENT '用户id', - `account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名称', - `login` bit(1) NULL DEFAULT NULL COMMENT '登录成功状态', - `client` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终端', - `login_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录方式', - `ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录IP地址', - `login_location` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录地点', - `os` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作系统', - `browser` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '浏览器类型', - `msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示消息', - `login_time` datetime NULL DEFAULT NULL COMMENT '访问时间', +DROP TABLE IF EXISTS `iam_password_login_fail_record`; +CREATE TABLE `iam_password_login_fail_record` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id', + `fail_count` int(11) NULL DEFAULT NULL COMMENT '登录失败次数', + `fail_time` datetime(0) NULL DEFAULT NULL COMMENT '登录失败时间', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '登陆日志' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '密码登录失败记录' ROW_FORMAT = DYNAMIC; +-- ---------------------------- +-- Records of iam_password_login_fail_record +-- ---------------------------- -- ---------------------------- --- Table structure for starter_audit_operate_log +-- Table structure for iam_password_change_history -- ---------------------------- -DROP TABLE IF EXISTS `starter_audit_operate_log`; -CREATE TABLE `starter_audit_operate_log` ( - `id` bigint(20) NOT NULL, - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作模块', - `operate_id` bigint(20) NULL DEFAULT NULL COMMENT '操作人员id', - `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作人员账号', - `business_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `method` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方法', - `request_method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方式', - `operate_url` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求url', - `operate_ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作ip', - `operate_location` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作地点', - `operate_param` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求参数', - `operate_return` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '返回参数', - `success` bit(1) NULL DEFAULT NULL COMMENT '是否成功', - `error_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '错误提示', - `operate_time` datetime NULL DEFAULT NULL COMMENT '操作时间', +DROP TABLE IF EXISTS `iam_password_change_history`; +CREATE TABLE `iam_password_change_history` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户Id', + `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '密码', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '密码更改历史,' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_audit_operate_log +-- Records of iam_password_change_history -- ---------------------------- -- ---------------------------- --- Table structure for starter_ding_media_md5 +-- Table structure for iam_login_security_config -- ---------------------------- -DROP TABLE IF EXISTS `starter_ding_media_md5`; -CREATE TABLE `starter_ding_media_md5` ( - `id` bigint(20) NOT NULL, - `media_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '媒体id', - `md5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'md5值', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', +DROP TABLE IF EXISTS `iam_login_security_config`; +CREATE TABLE `iam_login_security_config` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `client_id` bigint(20) NULL DEFAULT NULL COMMENT '关联终端ID', + `require_login_change_pwd` bit(1) NULL DEFAULT NULL COMMENT '修改密码是否需要重新登录', + `captcha_enable` bit(1) NULL DEFAULT NULL COMMENT '默认启用验证码', + `max_captcha_error_count` int(11) NULL DEFAULT NULL COMMENT '出现验证码的错误次数', + `allow_multi_login` bit(1) NULL DEFAULT NULL COMMENT '同端是否允许同时登录', + `allow_multi_terminal_login` bit(1) NULL DEFAULT NULL COMMENT '多终端是否允许同时登录', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钉钉媒体文件MD5值关联关系' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '登录安全策略' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_ding_media_md5 +-- Records of iam_login_security_config -- ---------------------------- -- ---------------------------- --- Table structure for starter_ding_robot_config +-- Table structure for iam_data_scope_user -- ---------------------------- -DROP TABLE IF EXISTS `starter_ding_robot_config`; -CREATE TABLE `starter_ding_robot_config` ( +DROP TABLE IF EXISTS `iam_data_scope_user`; +CREATE TABLE `iam_data_scope_user` ( `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号', - `access_token` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉机器人访问token', - `enable_signature_check` bit(1) NOT NULL COMMENT '是否开启验签', - `sign_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉机器人私钥', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(6) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` bit(1) NOT NULL COMMENT '0:未删除。1:已删除', + `data_scope_id` bigint(20) NOT NULL COMMENT '数据范围id', + `user_id` bigint(20) NOT NULL COMMENT '用户id', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钉钉机器人配置' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据范围用户关联配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_ding_robot_config +-- Records of iam_data_scope_user -- ---------------------------- -- ---------------------------- --- Table structure for starter_file_data +-- Table structure for base_village -- ---------------------------- -DROP TABLE IF EXISTS `starter_file_data`; -CREATE TABLE `starter_file_data` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `base64` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT 'base64方式存储', - `data` longblob NULL COMMENT '数据方式存储', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '上传文件数据' ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `base_village`; +CREATE TABLE `base_village` ( + `code` char(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '编码', + `name` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '名称', + `street_code` char(9) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '社区/乡镇编码', + PRIMARY KEY (`code`) USING BTREE, + INDEX `inx_street_code`(`street_code`) USING BTREE COMMENT '所属街道索引' +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '村庄/社区' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_file_data +-- Records of base_village -- ---------------------------- -- ---------------------------- --- Table structure for starter_file_upload_info +-- Table structure for base_street -- ---------------------------- -DROP TABLE IF EXISTS `starter_file_upload_info`; -CREATE TABLE `starter_file_upload_info` ( +DROP TABLE IF EXISTS `base_street`; +CREATE TABLE `base_street` ( + `code` char(9) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '编码', + `name` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '街道名称', + `area_code` char(6) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '县区编码', + PRIMARY KEY (`code`) USING BTREE, + INDEX `inx_area_code`(`area_code`) USING BTREE COMMENT '县区' +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '街道表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of base_street +-- ---------------------------- + +-- ---------------------------- +-- Table structure for base_query_sql +-- ---------------------------- +DROP TABLE IF EXISTS `base_query_sql`; +CREATE TABLE `base_query_sql` ( `id` bigint(20) NOT NULL COMMENT '主键', - `file_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存储位置', - `file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件名称', - `file_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件类型', - `file_suffix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件后缀', - `file_size` bigint(20) NULL DEFAULT NULL COMMENT '文件大小', - `external_storage_id` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '外部关联id', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `database_id` bigint(20) NULL DEFAULT NULL COMMENT '数据源ID', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '名称', + `is_list` bit(1) NULL DEFAULT NULL COMMENT '是否集合', + `sql` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT 'sql语句', + `params` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'SQL查询参数', + `fields` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'SQL查询结果字段', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '上传文件信息' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'SQL查询语句' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_file_upload_info +-- Records of base_query_sql -- ---------------------------- -- ---------------------------- --- Table structure for starter_quartz_job +-- Table structure for base_key_value -- ---------------------------- -DROP TABLE IF EXISTS `starter_quartz_job`; -CREATE TABLE `starter_quartz_job` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务名称', - `job_class_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务类名', - `cron` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'cron表达式', - `parameter` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '参数', - `state` int(4) NULL DEFAULT NULL COMMENT '状态', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', +DROP TABLE IF EXISTS `base_key_value`; +CREATE TABLE `base_key_value` ( + `id` bigint(20) NOT NULL, + `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数键名', + `value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数值', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + `version` int(8) NOT NULL COMMENT '版本', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'kv存储' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_quartz_job +-- Records of base_key_value -- ---------------------------- -INSERT INTO `starter_quartz_job` VALUES (1456579473573867520, '测试任务', 'cn.bootx.starter.quartz.task.TestTask', '50 0 * * * ? *', '{\"aaa\":\"5255\"}', 0, '测试任务', 1399985191002447872, '2021-11-05 19:09:43', 1399985191002447872, '2022-06-22 00:37:48', 25, 0); -INSERT INTO `starter_quartz_job` VALUES (1546857070483939328, '支付单超时检测', 'cn.bootx.payment.task.PayExpiredTimeTask', '0/5 * * * * ? *', NULL, 1, '检测超时的支付单, 超时后发送超时事件', 1399985191002447872, '2022-07-12 22:00:39', 1399985191002447872, '2022-07-12 22:00:45', 1, 0); -- ---------------------------- --- Table structure for starter_quartz_job_log +-- Table structure for base_general_template -- ---------------------------- -DROP TABLE IF EXISTS `starter_quartz_job_log`; -CREATE TABLE `starter_quartz_job_log` ( +DROP TABLE IF EXISTS `base_general_template`; +CREATE TABLE `base_general_template` ( `id` bigint(20) NOT NULL COMMENT '主键', - `handler_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理器名称', - `class_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理器全限定名', - `success` bit(1) NOT NULL COMMENT '是否执行成功', - `error_message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `start_time` datetime NULL DEFAULT NULL COMMENT '开始时间', - `end_time` datetime NULL DEFAULT NULL COMMENT '结束时间', - `duration` bigint(255) NULL DEFAULT NULL COMMENT '执行时长', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板名称', + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板代码', + `use_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '使用类型(导入/导出)', + `file_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板类型', + `file_suffix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板后缀名', + `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '状态', + `file_id` bigint(20) NULL DEFAULT NULL COMMENT '文件ID', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '任务执行日志' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '通用模板管理' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_quartz_job_log +-- Records of base_general_template -- ---------------------------- -- ---------------------------- --- Table structure for starter_wecom_robot_config +-- Table structure for base_dynamic_data_source -- ---------------------------- -DROP TABLE IF EXISTS `starter_wecom_robot_config`; -CREATE TABLE `starter_wecom_robot_config` ( +DROP TABLE IF EXISTS `base_dynamic_data_source`; +CREATE TABLE `base_dynamic_data_source` ( `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号', - `webhook_key` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'webhook地址的key值', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据源编码', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据源名称', + `database_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库类型', + `auto_load` bit(1) NULL DEFAULT NULL COMMENT '是否启动自动加载', + `db_driver` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '驱动类', + `db_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库地址', + `db_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库名称', + `db_username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户名', + `db_password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '密码', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(6) NULL DEFAULT NULL COMMENT '最后修改时间', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '版本', - `deleted` bit(1) NOT NULL COMMENT '0:未删除。1:已删除', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '企业微信机器人配置' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '动态数据源管理' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_wecom_robot_config +-- Records of base_dynamic_data_source -- ---------------------------- -- ---------------------------- --- Table structure for starter_wx_fans +-- Table structure for base_data_result_sql -- ---------------------------- -DROP TABLE IF EXISTS `starter_wx_fans`; -CREATE TABLE `starter_wx_fans` ( - `id` bigint(20) NOT NULL, - `openid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联OpenId', - `subscribe_status` bit(1) NULL DEFAULT NULL COMMENT '订阅状态', - `subscribe_time` datetime NULL DEFAULT NULL COMMENT '订阅时间', - `nickname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '昵称', - `sex` varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '性别', - `language` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '语言', - `country` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国家', - `province` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '省份', - `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '城市', - `avatar_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像地址', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', +DROP TABLE IF EXISTS `base_data_result_sql`; +CREATE TABLE `base_data_result_sql` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `database_id` bigint(20) NULL DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `is_list` bit(1) NULL DEFAULT NULL, + `sql` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `params` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL, + `fields` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL, + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信公众号粉丝' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '数据集SQL语句' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_wx_fans +-- Records of base_data_result_sql -- ---------------------------- -- ---------------------------- --- Table structure for starter_wx_menu +-- Table structure for base_china_word -- ---------------------------- -DROP TABLE IF EXISTS `starter_wx_menu`; -CREATE TABLE `starter_wx_menu` ( +DROP TABLE IF EXISTS `base_china_word`; +CREATE TABLE `base_china_word` ( `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '名称', - `menu_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '菜单信息', - `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', - `publish` bit(1) NOT NULL COMMENT '是否发布', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(11) NOT NULL COMMENT '版本', + `word` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '敏感词', + `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '分类', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '描述', + `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `white` bit(1) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '微信自定义菜单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_wx_menu --- ---------------------------- - --- ---------------------------- --- Table structure for starter_wx_template --- ---------------------------- -DROP TABLE IF EXISTS `starter_wx_template`; -CREATE TABLE `starter_wx_template` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编码', - `enable` bit(1) NOT NULL COMMENT '是否启用', - `template_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '模板ID', - `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板标题', - `primary_industry` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板所属行业的一级行业', - `deputy_industry` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板所属行业的二级行业', - `content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板内容', - `example` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '示例', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `inx_`(`template_id`) USING BTREE COMMENT '模板id' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信消息模板' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '敏感词' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_wx_template +-- Records of base_china_word -- ---------------------------- SET FOREIGN_KEY_CHECKS = 1; diff --git a/_doc/ChangeLog.md b/_doc/ChangeLog.md index 15c460e5..df3040bf 100644 --- a/_doc/ChangeLog.md +++ b/_doc/ChangeLog.md @@ -1,6 +1,6 @@ # CHANGELOG -## [v1.3.4] 一号线-园博园 +## [v1.3.5] 一号线-园博园 - 新增: 通用导入组件 - 新增: 小程序端脚手架 - 新增: 小程序后端对接相关配置 diff --git a/bootx-common-core/pom.xml b/bootx-common-core/pom.xml index c7d19e9f..78d8d545 100644 --- a/bootx-common-core/pom.xml +++ b/bootx-common-core/pom.xml @@ -5,7 +5,7 @@ cn.bootx.platform bootx-platform-parent - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-common-starters/common-starter-audit-log/pom.xml b/bootx-common-starters/common-starter-audit-log/pom.xml index 8ad0fff3..02e4d782 100644 --- a/bootx-common-starters/common-starter-audit-log/pom.xml +++ b/bootx-common-starters/common-starter-audit-log/pom.xml @@ -5,7 +5,7 @@ bootx-common-starters cn.bootx.platform - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-common-starters/common-starter-auth/pom.xml b/bootx-common-starters/common-starter-auth/pom.xml index fb3d8761..c3f79cd1 100644 --- a/bootx-common-starters/common-starter-auth/pom.xml +++ b/bootx-common-starters/common-starter-auth/pom.xml @@ -5,7 +5,7 @@ cn.bootx.platform bootx-common-starters - 1.3.4 + 1.3.5 4.0.0 common-starter-auth diff --git a/bootx-common-starters/common-starter-code-gen/pom.xml b/bootx-common-starters/common-starter-code-gen/pom.xml index 77f4bb09..1ebd300d 100644 --- a/bootx-common-starters/common-starter-code-gen/pom.xml +++ b/bootx-common-starters/common-starter-code-gen/pom.xml @@ -5,7 +5,7 @@ cn.bootx.platform bootx-common-starters - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-common-starters/common-starter-data-perm/pom.xml b/bootx-common-starters/common-starter-data-perm/pom.xml index 9d68ff76..eef935bf 100644 --- a/bootx-common-starters/common-starter-data-perm/pom.xml +++ b/bootx-common-starters/common-starter-data-perm/pom.xml @@ -5,7 +5,7 @@ bootx-common-starters cn.bootx.platform - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-common-starters/common-starter-dingtalk/pom.xml b/bootx-common-starters/common-starter-dingtalk/pom.xml index ba0a3062..b4c08959 100644 --- a/bootx-common-starters/common-starter-dingtalk/pom.xml +++ b/bootx-common-starters/common-starter-dingtalk/pom.xml @@ -5,7 +5,7 @@ bootx-common-starters cn.bootx.platform - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-common-starters/common-starter-file/pom.xml b/bootx-common-starters/common-starter-file/pom.xml index 54999baa..e302b6f0 100644 --- a/bootx-common-starters/common-starter-file/pom.xml +++ b/bootx-common-starters/common-starter-file/pom.xml @@ -5,7 +5,7 @@ bootx-common-starters cn.bootx.platform - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-common-starters/common-starter-monitor/pom.xml b/bootx-common-starters/common-starter-monitor/pom.xml index 0929ad32..fda54f96 100644 --- a/bootx-common-starters/common-starter-monitor/pom.xml +++ b/bootx-common-starters/common-starter-monitor/pom.xml @@ -5,7 +5,7 @@ bootx-common-starters cn.bootx.platform - 1.3.4 + 1.3.5 4.0.0 jar diff --git a/bootx-common-starters/common-starter-quartz/pom.xml b/bootx-common-starters/common-starter-quartz/pom.xml index fd2de439..931c925b 100644 --- a/bootx-common-starters/common-starter-quartz/pom.xml +++ b/bootx-common-starters/common-starter-quartz/pom.xml @@ -5,7 +5,7 @@ cn.bootx.platform bootx-common-starters - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-common-starters/common-starter-wechat/pom.xml b/bootx-common-starters/common-starter-wechat/pom.xml index c1af83b6..169a71b1 100644 --- a/bootx-common-starters/common-starter-wechat/pom.xml +++ b/bootx-common-starters/common-starter-wechat/pom.xml @@ -5,7 +5,7 @@ bootx-common-starters cn.bootx.platform - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-common-starters/common-starter-wecom/pom.xml b/bootx-common-starters/common-starter-wecom/pom.xml index a84b05e0..e91e9c03 100644 --- a/bootx-common-starters/common-starter-wecom/pom.xml +++ b/bootx-common-starters/common-starter-wecom/pom.xml @@ -5,7 +5,7 @@ cn.bootx.platform bootx-common-starters - 1.3.4 + 1.3.5 4.0.0 jar diff --git a/bootx-common-starters/pom.xml b/bootx-common-starters/pom.xml index 2ba7b8de..065167fd 100644 --- a/bootx-common-starters/pom.xml +++ b/bootx-common-starters/pom.xml @@ -5,7 +5,7 @@ cn.bootx.platform bootx-platform-parent - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-commons/common-cache/pom.xml b/bootx-commons/common-cache/pom.xml index f608a568..793b603d 100644 --- a/bootx-commons/common-cache/pom.xml +++ b/bootx-commons/common-cache/pom.xml @@ -5,7 +5,7 @@ cn.bootx.platform bootx-commons - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-commons/common-data-translate/pom.xml b/bootx-commons/common-data-translate/pom.xml index cd726fa5..9ccc84e5 100644 --- a/bootx-commons/common-data-translate/pom.xml +++ b/bootx-commons/common-data-translate/pom.xml @@ -5,7 +5,7 @@ cn.bootx.platform bootx-commons - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-commons/common-eventer/pom.xml b/bootx-commons/common-eventer/pom.xml index d54847f7..affde9f6 100644 --- a/bootx-commons/common-eventer/pom.xml +++ b/bootx-commons/common-eventer/pom.xml @@ -6,7 +6,7 @@ cn.bootx.platform bootx-commons - 1.3.4 + 1.3.5 common-eventer diff --git a/bootx-commons/common-exception-handler/pom.xml b/bootx-commons/common-exception-handler/pom.xml index a50e3eda..97d95ddf 100644 --- a/bootx-commons/common-exception-handler/pom.xml +++ b/bootx-commons/common-exception-handler/pom.xml @@ -5,7 +5,7 @@ bootx-commons cn.bootx.platform - 1.3.4 + 1.3.5 4.0.0 common-exception-handler diff --git a/bootx-commons/common-header-holder/pom.xml b/bootx-commons/common-header-holder/pom.xml index 63d0c6bd..e46dfd9d 100644 --- a/bootx-commons/common-header-holder/pom.xml +++ b/bootx-commons/common-header-holder/pom.xml @@ -5,7 +5,7 @@ bootx-commons cn.bootx.platform - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-commons/common-idempotency/pom.xml b/bootx-commons/common-idempotency/pom.xml index 6fde82c3..411c31a2 100644 --- a/bootx-commons/common-idempotency/pom.xml +++ b/bootx-commons/common-idempotency/pom.xml @@ -5,7 +5,7 @@ bootx-commons cn.bootx.platform - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-commons/common-jackson/pom.xml b/bootx-commons/common-jackson/pom.xml index 17ad010d..c739d586 100644 --- a/bootx-commons/common-jackson/pom.xml +++ b/bootx-commons/common-jackson/pom.xml @@ -5,7 +5,7 @@ cn.bootx.platform bootx-commons - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-commons/common-log/pom.xml b/bootx-commons/common-log/pom.xml index 29fd3871..d1a8d812 100644 --- a/bootx-commons/common-log/pom.xml +++ b/bootx-commons/common-log/pom.xml @@ -5,7 +5,7 @@ cn.bootx.platform bootx-commons - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-commons/common-mongo/pom.xml b/bootx-commons/common-mongo/pom.xml index 5591b7dc..05c04eb0 100644 --- a/bootx-commons/common-mongo/pom.xml +++ b/bootx-commons/common-mongo/pom.xml @@ -5,7 +5,7 @@ cn.bootx.platform bootx-commons - 1.3.4 + 1.3.5 4.0.0 common-mongo diff --git a/bootx-commons/common-mybatis-plus/pom.xml b/bootx-commons/common-mybatis-plus/pom.xml index 58ff0b87..4cebbe13 100644 --- a/bootx-commons/common-mybatis-plus/pom.xml +++ b/bootx-commons/common-mybatis-plus/pom.xml @@ -5,7 +5,7 @@ bootx-commons cn.bootx.platform - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-commons/common-rabbitmq/pom.xml b/bootx-commons/common-rabbitmq/pom.xml index 90a9b739..5efbeaaa 100644 --- a/bootx-commons/common-rabbitmq/pom.xml +++ b/bootx-commons/common-rabbitmq/pom.xml @@ -5,7 +5,7 @@ bootx-commons cn.bootx.platform - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-commons/common-redis-client/pom.xml b/bootx-commons/common-redis-client/pom.xml index 298255a4..29b72946 100644 --- a/bootx-commons/common-redis-client/pom.xml +++ b/bootx-commons/common-redis-client/pom.xml @@ -5,7 +5,7 @@ bootx-commons cn.bootx.platform - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-commons/common-sequence/pom.xml b/bootx-commons/common-sequence/pom.xml index d9ae7b97..67bab2df 100644 --- a/bootx-commons/common-sequence/pom.xml +++ b/bootx-commons/common-sequence/pom.xml @@ -5,7 +5,7 @@ bootx-commons cn.bootx.platform - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-commons/common-spring/pom.xml b/bootx-commons/common-spring/pom.xml index 6ce19bd4..574b0b83 100644 --- a/bootx-commons/common-spring/pom.xml +++ b/bootx-commons/common-spring/pom.xml @@ -5,7 +5,7 @@ bootx-commons cn.bootx.platform - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-commons/common-super-query/pom.xml b/bootx-commons/common-super-query/pom.xml index fbaa8c01..2477d870 100644 --- a/bootx-commons/common-super-query/pom.xml +++ b/bootx-commons/common-super-query/pom.xml @@ -5,7 +5,7 @@ bootx-commons cn.bootx.platform - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-commons/common-swagger/pom.xml b/bootx-commons/common-swagger/pom.xml index 251f905a..32b3e31f 100644 --- a/bootx-commons/common-swagger/pom.xml +++ b/bootx-commons/common-swagger/pom.xml @@ -5,7 +5,7 @@ bootx-commons cn.bootx.platform - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-commons/common-websocket/pom.xml b/bootx-commons/common-websocket/pom.xml index 084183a3..ebc401c7 100644 --- a/bootx-commons/common-websocket/pom.xml +++ b/bootx-commons/common-websocket/pom.xml @@ -5,7 +5,7 @@ bootx-commons cn.bootx.platform - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-commons/common-xxl-job/pom.xml b/bootx-commons/common-xxl-job/pom.xml index c5172b51..33d496ef 100644 --- a/bootx-commons/common-xxl-job/pom.xml +++ b/bootx-commons/common-xxl-job/pom.xml @@ -5,7 +5,7 @@ bootx-commons cn.bootx.platform - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-commons/pom.xml b/bootx-commons/pom.xml index b1e6eb56..22954de8 100644 --- a/bootx-commons/pom.xml +++ b/bootx-commons/pom.xml @@ -7,7 +7,7 @@ cn.bootx.platform bootx-platform-parent - 1.3.4 + 1.3.5 bootx-commons diff --git a/bootx-demo/pom.xml b/bootx-demo/pom.xml index c2866bab..a0411b05 100644 --- a/bootx-demo/pom.xml +++ b/bootx-demo/pom.xml @@ -5,7 +5,7 @@ cn.bootx.platform bootx-platform-parent - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-services/pom.xml b/bootx-services/pom.xml index 65c230bf..a6fa9c76 100644 --- a/bootx-services/pom.xml +++ b/bootx-services/pom.xml @@ -5,7 +5,7 @@ cn.bootx.platform bootx-platform-parent - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-services/service-baseapi/pom.xml b/bootx-services/service-baseapi/pom.xml index d46d02bc..0f9c3c49 100644 --- a/bootx-services/service-baseapi/pom.xml +++ b/bootx-services/service-baseapi/pom.xml @@ -5,7 +5,7 @@ cn.bootx.platform bootx-services - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/DataResultSql.java b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/DataResultSql.java index e090dcd8..1082836b 100644 --- a/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/DataResultSql.java +++ b/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/core/dataresult/entity/DataResultSql.java @@ -27,7 +27,7 @@ import java.util.List; */ @EqualsAndHashCode(callSuper = true) @Data -@DbTable(comment = "数据集SQL语句") +//@DbTable(comment = "数据集SQL语句") @Accessors(chain = true) @TableName(value = "base_data_result_sql", autoResultMap = true) public class DataResultSql extends MpBaseEntity implements EntityBaseFunction { diff --git a/bootx-services/service-iam/pom.xml b/bootx-services/service-iam/pom.xml index e31de0c6..0f960c39 100644 --- a/bootx-services/service-iam/pom.xml +++ b/bootx-services/service-iam/pom.xml @@ -5,7 +5,7 @@ cn.bootx.platform bootx-services - 1.3.4 + 1.3.5 4.0.0 @@ -38,12 +38,6 @@ service-baseapi ${bootx-platform.version} - - - cn.bootx.platform - service-platform - ${bootx-platform.version} - cn.bootx.platform diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/client/entity/LonginType.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/client/entity/LonginType.java index b19750e0..cbfb82ef 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/client/entity/LonginType.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/client/entity/LonginType.java @@ -19,7 +19,7 @@ import lombok.experimental.Accessors; */ @EqualsAndHashCode(callSuper = true) @Data -@DbTable(isAppend = true) +//@DbTable(isAppend = true) @TableName("iam_login_type") @Accessors(chain = true) public class LonginType extends MpBaseEntity implements EntityBaseFunction { diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java index 2c055eee..607ff102 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/password/entity/PasswordSecurityConfig.java @@ -19,7 +19,7 @@ import lombok.experimental.Accessors; */ @EqualsAndHashCode(callSuper = true) @Data -@DbTable(comment = "密码安全策略") +//@DbTable(comment = "密码安全策略") @Accessors(chain = true) @TableName("iam_password_security_config") public class PasswordSecurityConfig extends MpBaseEntity implements EntityBaseFunction { diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/user/entity/LoginSecurityConfig.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/user/entity/LoginSecurityConfig.java index 3c243215..8dc69d25 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/user/entity/LoginSecurityConfig.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/security/user/entity/LoginSecurityConfig.java @@ -7,7 +7,6 @@ import cn.bootx.platform.iam.dto.security.LoginSecurityConfigDto; import cn.bootx.platform.iam.param.security.LoginSecurityConfigParam; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbComment; -import cn.bootx.table.modify.annotation.DbTable; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -18,7 +17,7 @@ import lombok.experimental.Accessors; * @author xxm * @since 2023/8/17 */ -@DbTable(comment = "登录安全策略") +//@DbTable(comment = "登录安全策略") @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) diff --git a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/entity/UserExpandInfo.java b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/entity/UserExpandInfo.java index ad831055..66ca18af 100644 --- a/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/entity/UserExpandInfo.java +++ b/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/user/entity/UserExpandInfo.java @@ -22,7 +22,7 @@ import java.time.LocalDateTime; */ @EqualsAndHashCode(callSuper = true) @Data -@DbTable(isAppend = true) +//@DbTable(isAppend = true) @Accessors(chain = true) @TableName("iam_user_expand_info") public class UserExpandInfo extends MpBaseEntity implements EntityBaseFunction { diff --git a/bootx-services/service-miniapp/pom.xml b/bootx-services/service-miniapp/pom.xml index e81da96e..1c2f40e9 100644 --- a/bootx-services/service-miniapp/pom.xml +++ b/bootx-services/service-miniapp/pom.xml @@ -6,7 +6,7 @@ cn.bootx.platform bootx-services - 1.3.4 + 1.3.5 service-miniapp diff --git a/bootx-services/service-notice/pom.xml b/bootx-services/service-notice/pom.xml index c5539b0a..8093bc07 100644 --- a/bootx-services/service-notice/pom.xml +++ b/bootx-services/service-notice/pom.xml @@ -5,7 +5,7 @@ bootx-services cn.bootx.platform - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-services/service-visualization/pom.xml b/bootx-services/service-visualization/pom.xml index b6bb2d2e..da23b5f4 100644 --- a/bootx-services/service-visualization/pom.xml +++ b/bootx-services/service-visualization/pom.xml @@ -5,7 +5,7 @@ cn.bootx.platform bootx-services - 1.3.4 + 1.3.5 4.0.0 diff --git a/bootx-start/pom.xml b/bootx-start/pom.xml index 43edb808..a59ec9d5 100644 --- a/bootx-start/pom.xml +++ b/bootx-start/pom.xml @@ -5,7 +5,7 @@ cn.bootx.platform bootx-platform-parent - 1.3.4 + 1.3.5 4.0.0 bootx-start diff --git a/bootx-start/src/main/resources/application-dev.yml b/bootx-start/src/main/resources/application-dev.yml index f8e77ecf..e0d38154 100644 --- a/bootx-start/src/main/resources/application-dev.yml +++ b/bootx-start/src/main/resources/application-dev.yml @@ -95,7 +95,7 @@ bootx: swagger: enabled: true author: bootx - version: 1.3.4 + version: 1.3.5 title: bootx开发平台单体版 description: bootx-platform开发平台单体版 # basic认证 diff --git a/bootx-start/src/main/resources/application-demo.yml b/bootx-start/src/main/resources/application-prod.yml similarity index 99% rename from bootx-start/src/main/resources/application-demo.yml rename to bootx-start/src/main/resources/application-prod.yml index d286e18f..18585e07 100644 --- a/bootx-start/src/main/resources/application-demo.yml +++ b/bootx-start/src/main/resources/application-prod.yml @@ -96,4 +96,5 @@ bootx: bucket: fs # 数据权限 data-perm: + # AES秘钥 fieldDecryptKey: "UCrtxSCwYZNCIlav" diff --git a/bootx-start/src/main/resources/db/migration/V1.3.4_230906__release.sql b/bootx-start/src/main/resources/db/migration/V1.3.5_231021__release.sql similarity index 95% rename from bootx-start/src/main/resources/db/migration/V1.3.4_230906__release.sql rename to bootx-start/src/main/resources/db/migration/V1.3.5_231021__release.sql index a165f540..8100f512 100644 --- a/bootx-start/src/main/resources/db/migration/V1.3.4_230906__release.sql +++ b/bootx-start/src/main/resources/db/migration/V1.3.5_231021__release.sql @@ -6,7 +6,7 @@ Target Server Type : MySQL File Encoding : 65001 - Date: 27/08/2023 13:46:57 + Date: 21/10/2023 18:53:38 */ SET NAMES utf8mb4; @@ -3012,29 +3012,6 @@ INSERT INTO `base_area` VALUES ('659009', '昆玉市', '6590'); INSERT INTO `base_area` VALUES ('659010', '胡杨河市', '6590'); INSERT INTO `base_area` VALUES ('659011', '新星市', '6590'); --- ---------------------------- --- Table structure for base_china_word --- ---------------------------- -DROP TABLE IF EXISTS `base_china_word`; -CREATE TABLE `base_china_word` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `word` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '敏感词', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '分类', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '描述', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `white` bit(1) NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '敏感词' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of base_china_word --- ---------------------------- - -- ---------------------------- -- Table structure for base_city -- ---------------------------- @@ -3393,46 +3370,181 @@ INSERT INTO `base_city` VALUES ('6543', '阿勒泰地区', '65'); INSERT INTO `base_city` VALUES ('6590', '自治区直辖县级行政区划', '65'); -- ---------------------------- --- Table structure for base_dict +-- Table structure for iam_perm_menu -- ---------------------------- -DROP TABLE IF EXISTS `base_dict`; -CREATE TABLE `base_dict` ( +DROP TABLE IF EXISTS `iam_perm_menu`; +CREATE TABLE `iam_perm_menu` ( `id` bigint(20) NOT NULL, - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '编码', - `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称', - `enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '启用状态', - `group_tag` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '分类标签', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', + `client_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '终端code', + `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父id', + `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单名称', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路由名称', + `perm_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单权限编码', + `effect` bit(1) NULL DEFAULT NULL COMMENT '是否有效', + `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单图标', + `hidden` bit(1) NOT NULL COMMENT '是否隐藏', + `hide_children_in_menu` bit(1) NOT NULL COMMENT '是否隐藏子菜单', + `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件', + `component_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件名字', + `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路径', + `redirect` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单跳转地址(重定向)', + `sort_no` double NOT NULL COMMENT '菜单排序', + `menu_type` int(5) NOT NULL COMMENT '类型(0:一级菜单;1:子菜单 ;2:按钮权限)', + `leaf` bit(1) NULL DEFAULT NULL COMMENT '是否叶子节点', + `keep_alive` bit(1) NULL DEFAULT NULL COMMENT '是否缓存页面', + `target_outside` bit(1) NULL DEFAULT NULL COMMENT '是否外部打开方式', + `hidden_header_content` bit(1) NULL DEFAULT NULL COMMENT '隐藏的标题内容', + `admin` bit(1) NOT NULL COMMENT '系统菜单', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NULL DEFAULT NULL COMMENT '版本', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '权限_菜单' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of base_dict +-- Records of iam_perm_menu -- ---------------------------- -INSERT INTO `base_dict` VALUES (1422929378374828033, 'Sex', '性别', b'1', '基础属性', '性别', 0, '2021-08-04 22:36:15', 1399985191002447872, '2022-05-11 19:48:40', 0, 6); -INSERT INTO `base_dict` VALUES (1425744045414772737, 'MenuType', '菜单类型', b'1', '系统属性', '菜单类型', 0, '2021-08-12 17:00:44', 1399985191002447872, '2022-05-11 19:48:44', 0, 4); -INSERT INTO `base_dict` VALUES (1430063572491411456, 'loginType', '字典类型', b'1', '基础属性', '字典类型', 1399985191002447872, '2021-08-24 15:05:00', 1399985191002447872, '2021-08-24 15:05:00', 1, 2); -INSERT INTO `base_dict` VALUES (1435829999592759296, 'UserStatusCode', '用户状态码', b'1', '系统属性', '用户状态码', 1399985191002447872, '2021-09-09 12:58:43', 1399985191002447872, '2022-05-11 19:48:56', 0, 2); -INSERT INTO `base_dict` VALUES (1435838066191458304, 'LogBusinessType', '业务操作类型', b'1', '系统属性', '操作日志记录的业务操作类型', 1399985191002447872, '2021-09-09 13:30:46', 1399985191002447872, '2022-05-11 19:49:00', 0, 2); -INSERT INTO `base_dict` VALUES (1438078864509317120, 'MailSecurityCode', '邮箱安全方式编码', b'1', '消息服务', '邮箱安全方式编码', 1399985191002447872, '2021-09-15 17:54:54', 1399985191002447872, '2022-05-11 19:49:06', 0, 2); -INSERT INTO `base_dict` VALUES (1439961232651034624, 'MessageTemplateCode', '消息模板类型', b'1', '消息服务', '消息模板类型', 1399985191002447872, '2021-09-20 22:34:46', 1399985191002447872, '2022-05-11 19:48:34', 0, 1); -INSERT INTO `base_dict` VALUES (1452836604783845376, 'SocialType', '三方系统类型', b'1', '系统属性', '三方系统类型', 1399985191002447872, '2021-10-26 11:16:54', 1399985191002447872, '2022-05-11 19:48:28', 0, 3); -INSERT INTO `base_dict` VALUES (1452843488735621120, 'ParamType', '参数类型', b'1', '系统属性', '参数类型', 1399985191002447872, '2021-10-26 11:44:15', 1399985191002447872, '2022-05-11 19:48:21', 0, 2); -INSERT INTO `base_dict` VALUES (1496024933900169216, 'Political', '政治面貌', b'1', '基础数据', '政治面貌', 1399985191002447872, '2022-02-22 15:31:54', 1399985191002447872, '2022-05-11 19:48:04', 0, 1); -INSERT INTO `base_dict` VALUES (1556996322223968256, 'WeChatMediaType', '微信媒体类型', b'1', '微信', '微信媒体类型', 1399985191002447872, '2022-08-09 21:30:25', 1399985191002447872, '2022-08-09 21:30:26', 0, 0); -INSERT INTO `base_dict` VALUES (1561003021674987520, 'SiteMessageReceive', '消息接收类型', b'1', '站内信', '站内信接收类型', 1399985191002447872, '2022-08-20 22:51:37', 1399985191002447872, '2022-08-20 22:51:37', 0, 0); -INSERT INTO `base_dict` VALUES (1561003189111603200, 'SiteMessageState', '消息发布状态', b'1', '站内信', '站内信消息发布状态', 1399985191002447872, '2022-08-20 22:52:17', 1399985191002447872, '2022-08-20 22:52:17', 0, 0); -INSERT INTO `base_dict` VALUES (1589527951317389312, 'DataScopePerm', '数据范围权限', b'1', '系统属性', '数据范围权限', 1414143554414059520, '2022-11-07 15:59:30', 1399985191002447872, '2022-12-09 22:09:25', 0, 3); -INSERT INTO `base_dict` VALUES (1633393287952257024, 'DatabaseType', '数据库类型', b'1', '开发', '数据库类型', 1414143554414059520, '2023-03-08 17:04:41', 1414143554414059520, '2023-03-08 17:04:41', 0, 0); -INSERT INTO `base_dict` VALUES (1688742690398617600, 'SmsChannel', '短信渠道商', b'1', '消息服务', '短信渠道商', 1414143554414059520, '2023-08-08 10:43:27', 1414143554414059520, '2023-08-12 20:24:03', 0, 1); -INSERT INTO `base_dict` VALUES (1690338321769918464, 'GeneralTemplateUseType', '通用模板类型', b'1', '系统属性', '通用模板类型', 1414143554414059520, '2023-08-12 20:23:56', 1414143554414059520, '2023-08-12 20:24:22', 0, 1); -INSERT INTO `base_dict` VALUES (1690338545284378624, 'GeneralTemplateState', '通用模板状态', b'1', '系统属性', '通用模板状态', 1414143554414059520, '2023-08-12 20:24:49', 1414143554414059520, '2023-08-12 20:24:49', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1414596052497092608, 'admin', NULL, '系统管理', 'system', '', NULL, 'desktop', b'0', b'0', 'RouteView', '', '/system', '/system/user', -99999, 0, b'0', b'1', b'0', b'0', b'1', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-27 10:02:16', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1414596647509446656, 'admin', 1452569691537256448, '用户管理', 'User', '', NULL, '', b'0', b'0', 'system/user/UserList', '', '/system/userAuth/user', '', 0, 1, b'0', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-27 10:17:40', 4, 0); +INSERT INTO `iam_perm_menu` VALUES (1414596773275652096, 'admin', 1414596052497092608, '菜单管理', 'Menu', '', NULL, '', b'0', b'0', 'system/menu/MenuList', '', '/system/permission/menu', '', 0, 1, b'0', b'1', b'0', b'0', b'1', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-26 23:56:16', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1414596805538238464, 'admin', 1452569339987472384, '角色管理', 'Role', '', NULL, '', b'0', b'0', 'system/role/RoleList', '', '/system/permission/role', '', 0, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-26 23:56:04', 4, 0); +INSERT INTO `iam_perm_menu` VALUES (1414596842322284544, 'admin', 1452569691537256448, '部门管理', 'Dept', '', NULL, '', b'0', b'0', 'system/dept/DeptList', '', '/system/userAuth/dept', '', 0, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-26 23:56:31', 7, 0); +INSERT INTO `iam_perm_menu` VALUES (1414596877617352704, 'admin', 1452571269199540224, '数据字典', 'Dict', '', b'0', '', b'0', b'0', 'system/dict/DictList', '', '/system/config/dict', '', 0, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2022-05-19 09:04:55', 11, 0); +INSERT INTO `iam_perm_menu` VALUES (1431082258161434624, 'admin', 1452569691537256448, '在线用户管理', 'OnlineUser', '', NULL, '', b'0', b'0', 'system/online/OnlineUserList', NULL, '/system/userAuth/online', '', 0, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-27 10:32:53', 6, 0); +INSERT INTO `iam_perm_menu` VALUES (1431083330909208576, 'admin', 1541427353886859264, '登录方式', 'LoginType', '', b'0', '', b'0', b'0', 'system/client/LoginTypeList', NULL, '/system/config/loginType', '', 9, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:37:09', 1399985191002447872, '2022-07-05 21:18:12', 11, 0); +INSERT INTO `iam_perm_menu` VALUES (1431089129232498688, 'admin', 1452569339987472384, '请求权限管理', 'Path', '', NULL, '', b'0', b'0', 'system/path/PathList', NULL, '/system/permission/path', '', 0, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 11:00:11', 1399985191002447872, '2021-08-27 11:00:11', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1431152689832525824, 'admin', NULL, '系统监控', 'monitor', '', b'0', 'radar-chart', b'0', b'0', 'RouteView', NULL, '/monitor', '', 0, 0, b'1', b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2021-08-27 15:12:45', 1399985191002447872, '2022-06-17 17:57:30', 21, 0); +INSERT INTO `iam_perm_menu` VALUES (1431153358157348864, 'admin', 1431152689832525824, '接口文档', 'ApiSwagger', '', b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/doc.html', '', 0, 1, b'1', b'1', b'1', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 15:15:25', 1399985191002447872, '2022-10-14 17:47:12', 18, 0); +INSERT INTO `iam_perm_menu` VALUES (1435143678721236992, 'admin', 1452567897717321728, '登录日志', 'LoginLog', '', b'0', '', b'0', b'0', 'starter/log/LoginLogList', NULL, '/monitor/log/loginLog', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-07 15:31:31', 1399985191002447872, '2022-10-20 20:38:06', 6, 0); +INSERT INTO `iam_perm_menu` VALUES (1435476255797624832, 'admin', 1452567897717321728, '操作日志', 'OperateLog', '', b'0', '', b'0', b'0', 'starter/log/OperateLogList', NULL, '/monitor/log/OperateLog', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-08 13:33:04', 1399985191002447872, '2022-10-20 20:38:12', 8, 0); +INSERT INTO `iam_perm_menu` VALUES (1438061887002759168, 'admin', NULL, '通知管理', 'notice', '', NULL, 'message', b'0', b'0', 'RouteView', NULL, '/notice', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-15 16:47:26', 1399985191002447872, '2021-09-15 16:47:26', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1438072357281542144, 'admin', 1438061887002759168, '邮件配置', 'MailConfig', '', NULL, '', b'0', b'0', 'notice/mail/MailConfigList', NULL, '/notice/mailConfig', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-15 17:29:03', 1399985191002447872, '2021-09-15 17:29:03', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1439196893514031104, 'admin', 1438061887002759168, '消息模板', 'MessageTemplate', '', NULL, '', b'0', b'0', 'notice/template/TemplateList', NULL, '/notice/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-18 19:57:33', 1399985191002447872, '2021-09-18 19:57:33', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1440216178722050048, 'admin', 1438061887002759168, '钉钉', 'DingTalk', '', NULL, '', b'0', b'0', 'RouteView', NULL, '/notice/dingTalk', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-21 15:27:50', 1399985191002447872, '2021-09-21 15:27:50', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1440216612211757056, 'admin', 1450822511087271936, '钉钉机器人', 'DingTalkRobot', '', b'0', '', b'0', b'0', 'third/dingtalk/robot/DingRobotConfigList', NULL, '/third/dingTalk/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-21 15:29:33', 1399985191002447872, '2022-07-26 13:34:35', 5, 0); +INSERT INTO `iam_perm_menu` VALUES (1450473063320526848, 'admin', 1452569691537256448, '第三方登录', 'Social', '', b'0', '', b'1', b'0', 'system/social/SocialList', NULL, '/system/userAuth/social', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-19 22:45:01', 1399985191002447872, '2022-07-26 13:35:47', 5, 0); +INSERT INTO `iam_perm_menu` VALUES (1450803906215886848, 'admin', 1452571269199540224, '定时任务', 'QuartzJobList', '', NULL, '', b'0', b'0', 'starter/quartz/QuartzJobList', NULL, '/system/config/quartz', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 20:39:41', 1399985191002447872, '2021-10-20 20:39:41', 5, 0); +INSERT INTO `iam_perm_menu` VALUES (1450819607680991232, 'admin', NULL, '第三方对接', 'third', '', b'0', 'branches', b'0', b'0', 'RouteView', NULL, '/third', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 21:42:04', 1399985191002447872, '2022-07-26 13:34:02', 4, 0); +INSERT INTO `iam_perm_menu` VALUES (1450821723027881984, 'admin', 1450819607680991232, '微信', 'WeChat', '', b'0', '', b'0', b'0', 'RouteView', NULL, '/third/wechat', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 21:50:28', 1399985191002447872, '2022-08-03 23:23:10', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1450821877831254016, 'admin', 1450819607680991232, '企业微信', 'WeCom', '', b'0', '', b'0', b'0', 'RouteView', NULL, '/third/wecom', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 21:51:05', 1399985191002447872, '2022-08-03 23:22:58', 4, 0); +INSERT INTO `iam_perm_menu` VALUES (1450822511087271936, 'admin', 1450819607680991232, '钉钉', 'DingTalk', '', b'0', '', b'0', b'0', 'RouteView', NULL, '/third/dingtalk', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 21:53:36', 1399985191002447872, '2022-08-03 23:23:29', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1450827660459458560, 'admin', 1438061887002759168, '微信', 'NoticeWeChat', '', b'0', '', b'0', b'0', 'Dev', NULL, '/notice/wechat', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 22:14:04', 1399985191002447872, '2022-06-21 20:53:04', 1, 1); +INSERT INTO `iam_perm_menu` VALUES (1452567897717321728, 'admin', 1431152689832525824, '审计日志', 'auditLog', '', b'0', '', b'0', b'0', 'RouteView', NULL, '/monitor/log', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-25 17:29:09', 1399985191002447872, '2022-10-20 20:37:46', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1452569339987472384, 'admin', 1414596052497092608, '权限管理', 'permission', '', NULL, '', b'0', b'0', 'RouteView', NULL, '/system/permission', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-25 17:34:53', 1399985191002447872, '2021-10-25 17:34:53', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1452569691537256448, 'admin', 1414596052497092608, '用户信息', 'userAuth', '', NULL, '', b'0', b'0', 'RouteView', NULL, '/system/userAuth', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-25 17:36:17', 1399985191002447872, '2021-10-25 17:36:17', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1452571269199540224, 'admin', 1414596052497092608, '系统配置', 'systemConfig', '', NULL, '', b'0', b'0', 'RouteView', NULL, '/system/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-25 17:42:33', 1399985191002447872, '2021-10-25 17:42:33', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1452638905302966272, 'admin', 1452571269199540224, '系统参数', 'SystemParam', '', NULL, '', b'0', b'0', 'system/param/SystemParamList', NULL, '/system/config/param', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-25 22:11:18', 1399985191002447872, '2021-10-25 22:11:18', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1474694545336676352, 'admin', 1452569339987472384, '数据范围权限', 'DataScope', '', NULL, '', b'0', b'0', 'system/scope/DataScopeList', NULL, '/system/permission/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-12-25 18:52:33', 1399985191002447872, '2021-12-25 18:52:33', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1480839877352476672, 'admin', 1452567897717321728, '数据版本日志', 'DataVersionLog', NULL, b'0', '', b'0', b'0', 'starter/log/DataVersionLogList', NULL, '/monitor/log/DataVersionLog', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-01-11 17:51:54', 1399985191002447872, '2022-10-20 20:38:18', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1490984296616263680, 'admin', 1552207982510706688, '文件管理', 'FIleUpLoad', NULL, b'0', '', b'0', b'0', 'develop/file/FileUploadList', NULL, '/develop/file', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-02-08 17:42:12', 1399985191002447872, '2022-07-28 09:16:56', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1495013564652429312, 'admin', 1552207982510706688, '代码生成', 'CodeGen', NULL, b'0', '', b'0', b'0', 'develop/codegen/CodeGenList', NULL, '/develop/codegen', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-02-19 20:33:04', 1399985191002447872, '2022-07-27 16:25:05', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1495968302034210816, 'admin', NULL, '功能演示', 'Demo', NULL, b'0', 'block', b'0', b'0', 'RouteView', NULL, '/demo', '', 99, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-02-22 11:46:52', 1399985191002447872, '2022-05-10 11:02:05', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1495969099987963904, 'admin', 1495968302034210816, '数据相关', 'DemoData', NULL, b'0', '', b'0', b'0', 'RouteView', NULL, '/demo/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-02-22 11:50:02', 1399985191002447872, '2022-03-24 16:27:46', 4, 0); +INSERT INTO `iam_perm_menu` VALUES (1496020308992143360, 'admin', 1495968302034210816, '超级查询', 'SuperQueryDemo', NULL, b'0', '', b'0', b'0', 'demo/query/SuperQueryDemoList', NULL, '/demo/query/super', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-02-22 15:13:31', 1399985191002447872, '2022-05-27 17:34:41', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1506910599819165696, 'admin', 1495969099987963904, '数据权限', 'DataPermDemoList', NULL, b'0', '', b'0', b'0', 'demo/data/perm/DataPermDemoList', NULL, '/demo/data/perm', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-03-24 16:27:39', 1399985191002447872, '2022-03-24 16:28:56', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1506910885463851008, 'admin', 1495969099987963904, '加密解密', 'DataEncryptDemo', NULL, b'0', '', b'0', b'0', 'demo/data/encrypt/DataEncryptDemoList', NULL, '/demo/data/encrypt', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-03-24 16:28:47', 1399985191002447872, '2022-03-24 16:28:47', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1506911113394913280, 'admin', 1495969099987963904, '数据脱敏', 'DataSensitiveDemo', NULL, b'0', '', b'0', b'0', 'demo/data/sensitive/DataSensitiveDemoList', NULL, '/demo/data/sensitive', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-03-24 16:29:41', 1399985191002447872, '2022-03-24 17:16:03', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1507998458886197248, 'admin', 1495968302034210816, 'WS演示', 'WebsocketDemo', NULL, b'0', '', b'0', b'0', 'demo/ws/WebsocketDemo', NULL, '/demo/ws', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-03-27 16:30:25', 1399985191002447872, '2022-03-27 16:30:25', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1509488473583562752, 'admin', 1495968302034210816, '幂等请求演示', 'IdempotentDemo', NULL, b'0', '', b'0', b'0', 'demo/idempotent/Idempotent', NULL, '/demo/idempotent', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-03-31 19:11:12', 1399985191002447872, '2022-05-27 17:35:00', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1511266086400524288, 'admin', 1450822511087271936, '钉钉配置', 'DingTalkConfig', NULL, b'0', '', b'1', b'0', 'third/dingtalk/config/DingTalkConfigList', NULL, '/third/dingtalk/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-04-05 16:54:48', 1399985191002447872, '2022-07-26 13:34:44', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1530120084482084864, 'admin', 1495968302034210816, '消息中间件演示', 'MQDemo', NULL, b'0', '', b'0', b'0', 'demo/mq/MqDemo', NULL, '/demo/mq', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-05-27 17:33:51', 1399985191002447872, '2022-05-31 15:12:15', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1530120684645044224, 'admin', 1530120084482084864, 'MQTT消息', 'MqttDemo', NULL, b'0', '', b'0', b'0', '', NULL, '/demo/mq/mqtt', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-05-27 17:36:14', 1399985191002447872, '2022-05-27 17:36:14', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1530120821144473600, 'admin', 1530120084482084864, 'RabbitMQ', 'RabbitDemo', NULL, b'0', '', b'0', b'0', '', NULL, '/demo/mq/rabbit', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-05-27 17:36:47', 1399985191002447872, '2022-05-27 17:36:47', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1534000136370204672, 'admin', 1431152689832525824, 'ELK日志', 'ELK', '', b'0', '', b'1', b'0', '', NULL, 'http://elk.dev.bootx.cn:5601/app/discover', '', 0, 1, NULL, b'1', b'1', b'0', b'0', NULL, 1399985191002447872, '2022-06-07 10:31:48', 1399985191002447872, '2022-06-07 10:31:48', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1534008203006652416, 'admin', 1431152689832525824, 'PlumeLog日志', 'PlumeLog', '', b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/plumelog/#/', '', 0, 1, NULL, b'1', b'1', b'0', b'0', NULL, 1399985191002447872, '2022-06-07 11:03:51', 1399985191002447872, '2022-06-07 11:06:13', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1535451167008436224, 'admin', 1431152689832525824, '系统信息', 'SysInfo', NULL, b'0', '', b'0', b'0', 'starter/monitor/SystemInfoMonitor', NULL, '/monitor/sysinfo', '', 0, 1, NULL, b'0', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-06-11 10:37:40', 1399985191002447872, '2022-06-13 13:07:46', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1535965936371085312, 'admin', 1431152689832525824, 'Redis监控', 'RedisInfoMonitor', NULL, b'0', '', b'0', b'0', 'starter/monitor/RedisInfoMonitor', NULL, '/monitor/redis', '', 0, 1, NULL, b'0', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-06-12 20:43:11', 1399985191002447872, '2022-06-13 13:07:38', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1537730140522348544, 'admin', 1438061887002759168, '站内信', 'SiteMessageSender', '', b'0', '', b'0', b'0', 'notice/site/sender/SiteMessageList', NULL, '/notice/siteMessage', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-06-17 17:33:30', 1399985191002447872, '2022-08-20 21:12:30', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1538160478872625152, 'admin', 1495968302034210816, '富文本编辑', 'WangEditorDemo', NULL, b'0', '', b'0', b'0', 'demo/wangeditor/WangEditorDemo', NULL, '/demo/wangEditor', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-06-18 22:03:30', 1399985191002447872, '2022-06-18 22:03:31', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1541355214204030976, 'admin', 1541427353886859264, '认证终端', 'Client', '', b'0', '', b'0', b'0', 'system/client/ClientList', NULL, '/system/config/client', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:37:08', 1399985191002447872, '2022-07-05 21:17:45', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1541427353886859264, 'admin', 1414596052497092608, '认证管理', 'Auth', '', b'0', '', b'0', b'0', 'RouteView', NULL, '/system/auth', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-06-27 22:24:54', 1399985191002447872, '2022-06-27 22:24:54', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1551803592828932096, 'admin', 1450821877831254016, '企微机器人', 'WeComRobot', '', b'0', '', b'0', b'0', 'third/wecom/robot/WeComRobotConfigList', NULL, '/third/wecom/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-07-26 13:36:22', 1399985191002447872, '2022-10-24 11:07:27', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1552207982510706688, 'admin', NULL, '开发管理', 'develop', NULL, b'0', 'gold', b'0', b'0', 'RouteView', NULL, '/develop', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-07-27 16:23:16', 1399985191002447872, '2022-07-27 16:39:09', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1552208167664062464, 'admin', 1552207982510706688, '动态表单', 'DynamicForm', NULL, b'0', '', b'0', b'0', 'develop/dynamicform/DynamicFormList', NULL, '/develop/form', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-07-27 16:24:00', 1399985191002447872, '2022-07-27 16:38:05', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1554720980865380352, 'admin', 1495968302034210816, '消息通知', 'NoticeDemo', NULL, b'0', '', b'0', b'0', 'RouteView', NULL, '/demo/notice', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-08-03 14:49:02', 1399985191002447872, '2022-08-03 14:49:02', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1554721654336385024, 'admin', 1554720980865380352, '邮件发送', 'EmailDemo', NULL, b'0', '', b'0', b'0', 'demo/notice/email/EmailSender', NULL, '/demo/notice/email', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-08-03 14:51:42', 1399985191002447872, '2022-08-03 14:51:42', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1554850179754975232, 'admin', 1450821723027881984, '消息模板', 'WeChatTemplate', NULL, b'0', '', b'0', b'0', 'third/wechat/template/WeChatTemplateList', NULL, '/third/wechat/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-08-03 23:22:25', 1399985191002447872, '2022-08-03 23:23:18', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1555835229426368512, 'admin', 1450821723027881984, '自定义菜单', 'WeChatMenu', NULL, b'0', '', b'0', b'0', 'third/wechat/menu/WeChatMenuList', NULL, '/third/wechat/menu', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-08-06 16:36:39', 1399985191002447872, '2022-08-08 12:14:14', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1556997405528805376, 'admin', 1450821723027881984, '素材管理', 'WeChatMedia', NULL, b'0', '', b'0', b'0', 'third/wechat/media/WeChatMediaList', NULL, '/third/wechat/media', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-08-09 21:34:44', 1399985191002447872, '2022-08-09 21:34:44', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1573669546890297344, 'admin', 1552207982510706688, '动态数据源', 'DynamicSource', NULL, b'0', '', b'0', b'0', 'develop/dynamicsource/DynamicDataSourceList', NULL, '/develop/source', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-09-24 21:43:52', 1399985191002447872, '2022-09-24 21:43:52', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1580740450633101312, 'adminv3', NULL, '系统管理', 'System', NULL, b'0', 'ant-design:setting-outlined', b'0', b'0', 'Layout', NULL, '/system', '/system1/client', -99999, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:01:07', 1414143554414059520, '2022-10-18 15:32:09', 4, 0); +INSERT INTO `iam_perm_menu` VALUES (1580740637841666048, 'adminv3', 1582253306356649984, '终端管理', 'ClientList', NULL, b'0', '', b'0', b'0', '/modules/system/client/ClientList.vue', NULL, '/system/client', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:01:51', 1414143554414059520, '2022-10-18 14:13:27', 5, 0); +INSERT INTO `iam_perm_menu` VALUES (1580740758629232640, 'adminv3', 1582253306356649984, '登录方式', 'LoginTypeList', NULL, b'0', '', b'0', b'0', '/modules/system/loginType/LoginTypeList.vue', NULL, '/system/loginType', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:02:20', 1414143554414059520, '2022-10-18 14:13:40', 5, 0); +INSERT INTO `iam_perm_menu` VALUES (1580858583654051840, 'adminv3', 1580740450633101312, '测试Iframe', 'Iframe', NULL, b'0', '', b'0', b'0', 'Iframe', NULL, '/system/Iframe', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 17:50:32', 1414143554414059520, '2022-10-17 17:46:19', 5, 1); +INSERT INTO `iam_perm_menu` VALUES (1580917438227075072, 'adminv3', 1580740450633101312, '三极目录', 'hello', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system1/a', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 21:44:24', 1399985191002447872, '2022-10-14 23:38:16', 2, 1); +INSERT INTO `iam_perm_menu` VALUES (1580917571069071360, 'adminv3', 1580917438227075072, '百度', 'baidu', NULL, b'0', '', b'0', b'0', '', NULL, 'https://www.baidu.com/', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 21:44:56', 1399985191002447872, '2022-10-14 23:37:44', 3, 1); +INSERT INTO `iam_perm_menu` VALUES (1580928436300337152, 'adminv3', 1580740450633101312, '菜单管理', 'MenuList', NULL, b'0', '', b'0', b'0', '/modules/system/menu/MenuList.vue', NULL, '/system/menu', '', -99, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 22:28:06', 1399985191002447872, '2022-10-14 22:28:32', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582249924602580992, 'adminv3', 1580740450633101312, '权限管理', 'Permission', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/permission', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 13:59:13', 1414143554414059520, '2022-10-18 13:59:13', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1582253011803262976, 'adminv3', 1580740450633101312, '用户信息', 'UserAuth', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/user', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:11:30', 1414143554414059520, '2022-10-18 14:11:30', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1582253152903843840, 'adminv3', 1580740450633101312, '系统配置', 'SystemConfig', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:12:03', 1414143554414059520, '2022-10-18 14:12:03', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1582253306356649984, 'adminv3', 1580740450633101312, '认证管理', 'Auth', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/auth', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:12:40', 1414143554414059520, '2022-10-18 14:13:13', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582275875424129024, 'adminv3', NULL, '系统监控', 'Monitor', NULL, b'0', 'ant-design:monitor-outlined', b'0', b'0', 'Layout', NULL, '/monitor', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:21', 1414143554414059520, '2022-10-19 17:29:29', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582275984849326080, 'adminv3', NULL, '通知管理', 'Notice', NULL, b'0', 'ant-design:message-outlined', b'0', b'0', 'Layout', NULL, '/notice', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:47', 1414143554414059520, '2022-10-19 17:30:06', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582276092038959104, 'adminv3', NULL, '第三方对接', 'Third', NULL, b'0', 'ant-design:api-twotone', b'0', b'0', 'Layout', NULL, '/third', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:43:12', 1414143554414059520, '2022-10-19 17:32:04', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582276341792985088, 'adminv3', NULL, '开发管理', 'Develop', NULL, b'0', 'ant-design:apartment-outlined', b'0', b'0', 'Layout', NULL, '/develop', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:44:12', 1414143554414059520, '2022-10-19 15:24:22', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582276516905177088, 'adminv3', NULL, '功能演示', 'Demo', NULL, b'0', 'ant-design:appstore-twotone', b'0', b'0', 'Layout', NULL, '/demo', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:44:54', 1414143554414059520, '2022-10-19 17:34:26', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582277076421136384, 'adminv3', 1582249924602580992, '角色管理', 'RoleList', NULL, b'0', '', b'0', b'0', '/modules/system/role/RoleList.vue', NULL, '/system/permission/role', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:47:07', 1414143554414059520, '2022-10-18 15:59:37', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582301940364308480, 'adminv3', 1582249924602580992, '请求权限管理', 'PermPathList', NULL, b'0', '', b'0', b'0', '/modules/system/path/PermPathList.vue', NULL, '/system/permission/path', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:25:55', 1414143554414059520, '2022-10-18 20:41:22', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582302180999917568, 'adminv3', 1582249924602580992, '数据范围权限', 'DataScopeList', NULL, b'0', '', b'0', b'0', '/modules/system/scope/DataScopeList.vue', NULL, '/system/permission/scope', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:26:52', 1414143554414059520, '2022-10-18 17:26:52', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1582302542955769856, 'adminv3', 1582253011803262976, '用户管理', 'UserList', NULL, b'0', '', b'0', b'0', '/modules/system/user/UserList.vue', NULL, '/system/user/info', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:28:19', 1414143554414059520, '2022-10-18 17:28:19', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1582302764129808384, 'adminv3', 1582253011803262976, '部门管理', 'DeptList', NULL, b'0', '', b'0', b'0', '/modules/system/dept/DeptList.vue', NULL, '/system/user/dept', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:29:11', 1414143554414059520, '2022-10-18 17:32:26', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582303143110340608, 'adminv3', 1582253152903843840, '数据字典', 'DictList', NULL, b'0', '', b'0', b'0', '/modules/system/dict/DictList.vue', NULL, '/system/config/dict', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:30:42', 1414143554414059520, '2022-10-18 17:30:42', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1582303290070364160, 'adminv3', 1582253152903843840, '定时任务', 'QuartzJobList', NULL, b'0', '', b'0', b'0', '/modules/baseapi/quartz/QuartzJobList.vue', NULL, '/system/config/quartz', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:17', 1414143554414059520, '2023-08-09 15:50:46', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1582303447428067328, 'adminv3', 1582253152903843840, '系统参数', 'SystemParamList', NULL, b'0', '', b'0', b'0', '/modules/system/param/SystemParamList.vue', NULL, '/system/config/param', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:54', 1414143554414059520, '2022-10-19 23:14:16', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582632873244172288, 'adminv3', 1582276341792985088, '文件管理', 'FileUploadList', NULL, b'0', '', b'0', b'0', '/modules/develop/file/FileUploadList.vue', NULL, '/develop/file', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:20:56', 1414143554414059520, '2022-10-19 15:20:56', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1582633196587261952, 'adminv3', 1582276341792985088, '代码生成', 'CodeGenList', NULL, b'0', '', b'0', b'0', '/modules/develop/codegen/CodeGenList.vue', NULL, '/develop/codegen', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:13', 1414143554414059520, '2022-10-19 15:23:17', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582633307786649600, 'adminv3', 1582276341792985088, '动态表单', 'DynamicFormList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicform/DynamicFormList.vue', NULL, '/develop/form', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:39', 1414143554414059520, '2022-10-19 15:22:39', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1582633620321017856, 'adminv3', 1582276341792985088, '动态数据源', 'DynamicDataSourceList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicsource/DynamicDataSourceList.vue', NULL, '/develop/source', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:23:54', 1414143554414059520, '2022-10-19 15:23:54', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1583074308040925184, 'adminv3', 1582275875424129024, '接口文档', 'ApiSwagger', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/doc.html', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:35:02', 1414143554414059520, '2022-11-23 13:59:09', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1583075229563068416, 'adminv3', 1582275875424129024, '审计日志', 'AuditLog', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/monitor/log', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:38:42', 1414143554414059520, '2022-10-20 20:41:38', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1583076217481043968, 'adminv3', 1583075229563068416, '登录日志', 'LoginLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/login/LoginLogList.vue', NULL, '/monitor/log/login', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:42:37', 1414143554414059520, '2022-10-20 20:43:36', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1583076424935514112, 'adminv3', 1583075229563068416, '操作日志', 'OperateLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/operate/OperateLogList.vue', NULL, '/monitor/log/operate', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:43:26', 1414143554414059520, '2022-10-20 20:43:26', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1583076670881112064, 'adminv3', 1583075229563068416, '数据版本日志', 'DataVersionLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/data/DataVersionLogList.vue', NULL, '/monitor/log/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:44:25', 1414143554414059520, '2022-10-20 20:44:25', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1583076878956339200, 'adminv3', 1582275875424129024, 'ELK日志', 'ELK', NULL, b'0', '', b'1', b'0', '', NULL, 'http://elk.dev.bootx.cn:5601/app/discover', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:15', 1414143554414059520, '2023-08-12 19:26:12', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1583077015434797056, 'adminv3', 1582275875424129024, 'PlumeLog日志', 'PlumeLog', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/plumelog/#/', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:47', 1414143554414059520, '2022-10-20 20:45:47', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1583077198772019200, 'adminv3', 1582275875424129024, '系统信息', 'SystemInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/system/SystemInfoMonitor.vue', NULL, '/monitor/sysinfo', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:46:31', 1414143554414059520, '2022-10-20 20:46:31', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1583077360827342848, 'adminv3', 1582275875424129024, 'Redis监控', 'RedisInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/redis/RedisInfoMonitor.vue', NULL, '/monitor/redis', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:47:10', 1414143554414059520, '2022-10-20 20:47:10', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1584378294652051456, 'adminv3', 1582275984849326080, '邮件配置', 'MailConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/mail/MailConfigList.vue', NULL, '/notice/notice', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:56:36', 1414143554414059520, '2022-10-24 16:14:34', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1584378497824137216, 'adminv3', 1582275984849326080, '消息模板', 'MessageTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/template/MessageTemplateList.vue', NULL, '/notice/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:57:25', 1414143554414059520, '2022-10-25 22:14:14', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1584378671266996224, 'adminv3', 1582275984849326080, '站内信', 'SiteMessageList', NULL, b'0', '', b'0', b'0', '/modules/notice/site/sender/SiteMessageList.vue', NULL, '/notice/siteMessage', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:58:06', 1414143554414059520, '2022-10-24 10:58:06', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1584379602188574720, 'adminv3', 1582276092038959104, '微信', 'WeChat', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wechat', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:01:48', 1414143554414059520, '2022-10-24 11:01:48', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1584379704122744832, 'adminv3', 1582276092038959104, '企业微信', 'WeCom', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wecom', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:02:12', 1414143554414059520, '2022-10-24 11:02:12', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1584380087805091840, 'adminv3', 1582276092038959104, '钉钉', 'DingTalk', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/dingtalk', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:03:44', 1414143554414059520, '2022-10-24 11:03:44', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1584380527829524480, 'adminv3', 1584379602188574720, '消息模板', 'WechatTemplateList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/template/WechatTemplateList.vue', NULL, '/third/wechat/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:05:29', 1414143554414059520, '2022-10-26 15:58:56', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1584380679478779904, 'adminv3', 1584379602188574720, '自定义菜单', 'WechatMenuList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/menu/WechatMenuList.vue', NULL, '/third/wechat/menu', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:05', 1414143554414059520, '2022-10-27 10:15:24', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1584380824308097024, 'adminv3', 1584379602188574720, '素材管理', 'WechatMediaList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/media/WechatMediaList.vue', NULL, '/third/wechat/media', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:40', 1414143554414059520, '2022-10-27 16:38:47', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1584381134950834176, 'adminv3', 1584379704122744832, '企微机器人', 'WeComRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/wecom/robot/WecomRobotConfigList.vue', NULL, '/third/wecom/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:07:54', 1414143554414059520, '2022-11-12 20:58:25', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1584381322184564736, 'adminv3', 1584380087805091840, '钉钉机器人', 'DingRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/dingtalk/robot/DingRobotConfigList.vue', NULL, '/third/dingTalk/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:08:38', 1414143554414059520, '2022-11-12 20:58:37', 6, 0); +INSERT INTO `iam_perm_menu` VALUES (1584381477986181120, 'adminv3', 1584380087805091840, '钉钉配置', 'DingRobotConfigList', NULL, b'0', '', b'1', b'0', '/modules/third/dingtalk/config/DingTalkConfigList.vue', NULL, '/third/dingtalk/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:09:15', 1414143554414059520, '2022-11-11 16:04:47', 1, 1); +INSERT INTO `iam_perm_menu` VALUES (1597044371008516096, 'adminv3', NULL, '功能演示', 'Demo', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/demo', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-11-28 09:47:04', 1414143554414059520, '2022-11-28 09:47:04', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1597102799370317824, 'adminv3', 1582276516905177088, '数据相关', 'DemoData', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/demo/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-11-28 13:39:15', 1414143554414059520, '2022-11-28 13:39:15', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1597210969883275264, 'adminv3', 1582276516905177088, '超级查询', 'SuperQueryDemoList', NULL, b'0', '', b'0', b'0', '/modules/demo/query/SuperQueryDemoList.vue', NULL, '/demo/query/super', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-11-28 20:49:05', 1414143554414059520, '2022-11-28 21:00:14', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1599337250200440832, 'adminv3', NULL, '关于', '', NULL, b'0', 'simple-icons:about-dot-me', b'0', b'0', '', NULL, '/about/index', '', 99, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 17:38:09', 1414143554414059520, '2022-12-04 17:43:32', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1599378494880436224, 'adminv3', 1582276516905177088, 'WS演示', 'WebsocketDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/ws/WebsocketDemo', NULL, '/demo/ws', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 20:22:03', 1414143554414059520, '2023-02-08 12:17:58', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1599378579513102336, 'adminv3', 1582276516905177088, '幂等请求演示', 'IdempotentDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/idempotent/IdempotentDemo', NULL, '/demo/idempotent', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 20:22:23', 1414143554414059520, '2023-02-08 11:46:00', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1599378728490586112, 'adminv3', 1582276516905177088, '消息中间件演示', 'MqDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/mq/MqDemo', NULL, '/demo/mq', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 20:22:59', 1414143554414059520, '2023-02-08 22:09:04', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1599378838519762944, 'adminv3', 1582276516905177088, '富文本编辑', 'WangEditorDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/wangeditor/WangEditorDemo.vue', NULL, '/demo/wangEditor', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 20:23:25', 1414143554414059520, '2023-02-10 09:05:16', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1617847577158324224, 'adminv3', 1597102799370317824, '数据权限', 'DataPermDemoList', NULL, b'0', '', b'0', b'0', '/modules/demo/data/perm/DataPermDemoList.vue', NULL, '/demo/data/perm', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-01-24 19:31:35', 1414143554414059520, '2023-01-24 20:06:04', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1617847653746315264, 'adminv3', 1597102799370317824, '加密解密', 'DataEncryptDemoList', NULL, b'0', '', b'0', b'0', '/modules/demo/data/encrypt/DataEncryptDemoList.vue', NULL, '/demo/data/encrypt', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-01-24 19:31:53', 1414143554414059520, '2023-01-24 20:05:45', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1617847747375763456, 'adminv3', 1597102799370317824, '数据脱敏', 'DataSensitiveDemoList', NULL, b'0', '', b'0', b'0', '/modules/demo/data/sensitive/DataSensitiveDemoList.vue', NULL, '/demo/data/sensitive', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-01-24 19:32:16', 1414143554414059520, '2023-01-24 20:06:58', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1621150743447965696, 'admin', 1495968302034210816, '省市区联动', 'ChinaRegionDemo', NULL, b'0', '', b'0', b'0', 'demo/chinaregion/ChinaRegionDemo', NULL, '/demo/chinaregion', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-02-02 22:17:11', 1399985191002447872, '2023-02-08 09:43:39', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1623156857846034432, 'adminv3', 1582276516905177088, '省市区联动', 'ChinaRegionDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/chinaregion/ChinaRegionDemo', NULL, '/demo/chinaregion', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-02-08 11:08:46', 1414143554414059520, '2023-02-08 11:08:46', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1623325795944439808, 'adminv3', 1599378992811429888, '邮件通知', 'EmailSenderDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/notice/email/EmailSenderDemo.vue', NULL, '/demo/notice/email', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-02-08 22:20:04', 1414143554414059520, '2023-02-20 10:38:55', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1623494586215579648, 'admin', 1552207982510706688, '行政区划', 'ChinaRegion', NULL, b'0', '', b'1', b'0', 'develop/region/ChinaRegionList', NULL, '/develop/region', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-02-09 09:30:47', 1399985191002447872, '2023-02-09 17:50:05', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1629039360928075776, 'adminv3', 1582276341792985088, '可视化大屏', 'ProjectInfoList', NULL, b'0', '', b'0', b'0', '/modules/develop/report/ProjectInfoList', NULL, '/develop/report', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-02-24 16:43:44', 1414143554414059520, '2023-02-24 16:44:17', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1631946120891707392, 'admin', 1552207982510706688, '可视化大屏', 'ProjectInfoList', NULL, b'0', '', b'0', b'0', 'develop/report/ProjectInfoList', NULL, '/develop/report', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-03-04 17:14:10', 1399985191002447872, '2023-03-04 17:14:10', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1635274568758435840, 'adminv3', 1582276341792985088, '数据集管理', 'DataResultSqlList', NULL, b'0', '', b'0', b'0', '/modules/develop/dataresult/DataResultSqlList', NULL, '/develop/dataresult', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-03-13 21:40:14', 1414143554414059520, '2023-09-18 14:26:51', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1687369862646558720, 'adminv3', 1582275984849326080, '短信管理', 'Sms', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/notice/sms', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:48:20', 1414143554414059520, '2023-08-04 15:48:32', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1687370142234669056, 'adminv3', 1687369862646558720, '短信配置', 'SmsChannelConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/config/SmsChannelConfigList', NULL, '/notice/sms/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:26', 1414143554414059520, '2023-08-04 15:49:26', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1687370277496778752, 'adminv3', 1687369862646558720, '短信模板', 'SmsTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/template/SmsTemplateList', NULL, '/notice/sms/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:59', 1414143554414059520, '2023-08-04 15:50:38', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1689181991598997504, 'adminv3', 1582253152903843840, '敏感词管理', 'ChinaWord', NULL, b'0', '', b'0', b'0', '/modules/baseapi/chianword/ChinaWordList.vue', NULL, '/system/config/chinaword', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-09 15:49:05', 1414143554414059520, '2023-08-09 15:49:05', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1690324070514782208, 'adminv3', 1582276341792985088, '通用模板', 'GeneralTemplateList', NULL, b'0', '', b'0', b'0', '/modules/develop/template/GeneralTemplateList', NULL, '/develop/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-12 19:27:18', 1414143554414059520, '2023-08-12 19:31:26', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1703665090038800384, 'adminv3', 1582276341792985088, '在线SQL', 'SqlQueryInfo', NULL, b'0', '', b'0', b'0', '/modules/develop/query/SqlQueryInfo', NULL, '/develop/sqlquery', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-09-18 14:59:45', 1414143554414059520, '2023-09-18 14:59:45', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1713931084759293952, 'adminv3', 1582253306356649984, '密码安全', 'PassowrdSecurity', NULL, b'0', '', b'0', b'0', '/modules/system/security/password/PasswordSecurityConfig.vue', NULL, '/system/config/passowrd', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-10-16 22:53:09', 1399985191002447872, '2023-10-16 22:58:59', 2, 0); -- ---------------------------- -- Table structure for base_dict_item @@ -3448,9 +3560,9 @@ CREATE TABLE `base_dict_item` ( `sort_no` double(8, 2) NOT NULL COMMENT '排序', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', `version` int(8) NOT NULL COMMENT '版本', PRIMARY KEY (`id`) USING BTREE, @@ -3536,150 +3648,17 @@ INSERT INTO `base_dict_item` VALUES (1690338707129987072, 1690338545284378624, ' INSERT INTO `base_dict_item` VALUES (1690338748032839680, 1690338545284378624, 'GeneralTemplateState', 'disable', '停用', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:37', 1414143554414059520, '2023-08-12 20:25:37', 0, 0); -- ---------------------------- --- Table structure for base_dynamic_data_source --- ---------------------------- -DROP TABLE IF EXISTS `base_dynamic_data_source`; -CREATE TABLE `base_dynamic_data_source` ( - `id` bigint(20) NOT NULL, - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据源编码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据源名称', - `database_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库类型', - `auto_load` bit(1) NULL DEFAULT NULL COMMENT '是否启动自动加载', - `db_driver` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '驱动类', - `db_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库地址', - `db_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库名称', - `db_username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户名', - `db_password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '密码', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '动态数据源管理' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_dynamic_data_source +-- Table structure for base_province -- ---------------------------- +DROP TABLE IF EXISTS `base_province`; +CREATE TABLE `base_province` ( + `code` char(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '省份编码', + `name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '省份名称', + PRIMARY KEY (`code`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '省份表' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for base_dynamic_form --- ---------------------------- -DROP TABLE IF EXISTS `base_dynamic_form`; -CREATE TABLE `base_dynamic_form` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表单名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表单键名', - `value` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '表单内容', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '动态表单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_dynamic_form --- ---------------------------- -INSERT INTO `base_dynamic_form` VALUES (1552656018381422592, '测试表单', 'test', '{\"list\":[{\"type\":\"input\",\"label\":\"输入框\",\"options\":{\"type\":\"text\",\"width\":\"100%\",\"defaultValue\":\"\",\"placeholder\":\"请输入\",\"clearable\":true,\"maxLength\":null,\"addonBefore\":\"\",\"addonAfter\":\"\",\"hidden\":false,\"disabled\":false},\"model\":\"aa\",\"key\":\"input_1659059676533\",\"help\":\"测试\",\"rules\":[{\"required\":true,\"message\":\"必填项\"}]},{\"type\":\"textarea\",\"label\":\"文本框\",\"options\":{\"width\":\"100%\",\"minRows\":4,\"maxRows\":6,\"maxLength\":null,\"defaultValue\":\"\",\"clearable\":true,\"hidden\":false,\"disabled\":false,\"placeholder\":\"请输入\"},\"model\":\"bb\",\"key\":\"textarea_1659020414125\",\"help\":\"\",\"rules\":[{\"required\":true,\"message\":\"必填项\"}]},{\"type\":\"slider\",\"label\":\"滑动输入条\",\"options\":{\"width\":\"100%\",\"defaultValue\":34,\"disabled\":false,\"hidden\":false,\"min\":0,\"max\":100,\"step\":1,\"showInput\":false},\"model\":\"cc\",\"key\":\"slider_1659020433092\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]}],\"config\":{\"layout\":\"horizontal\",\"labelCol\":{\"xs\":4,\"sm\":4,\"md\":4,\"lg\":4,\"xl\":4,\"xxl\":4},\"labelWidth\":100,\"labelLayout\":\"flex\",\"wrapperCol\":{\"xs\":18,\"sm\":18,\"md\":18,\"lg\":18,\"xl\":18,\"xxl\":18},\"hideRequiredMark\":false,\"customStyle\":\"\"}}', '测试动态表单', 1399985191002447872, '2022-07-28 22:03:36', 1399985191002447872, '2022-07-29 09:55:22', 0, 7); -INSERT INTO `base_dynamic_form` VALUES (1552656018381422593, '测试表单1', 'test1', '{\"list\":[{\"type\":\"input\",\"label\":\"申请人\",\"options\":{\"type\":\"text\",\"width\":\"100%\",\"defaultValue\":\"\",\"placeholder\":\"请输入\",\"clearable\":true,\"maxLength\":null,\"addonBefore\":\"\",\"addonAfter\":\"\",\"hidden\":false,\"disabled\":false},\"model\":\"apply_by\",\"key\":\"input_1659059676533\",\"help\":\"测试\",\"rules\":[{\"required\":true,\"message\":\"必填项\"}]},{\"type\":\"input\",\"label\":\"请假天数\",\"options\":{\"type\":\"text\",\"width\":\"100%\",\"defaultValue\":\"\",\"placeholder\":\"请输入\",\"clearable\":false,\"maxLength\":null,\"addonBefore\":\"\",\"addonAfter\":\"\",\"hidden\":false,\"disabled\":false},\"model\":\"leave_days\",\"key\":\"input_1662106166142\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]},{\"type\":\"textarea\",\"label\":\"备注\",\"options\":{\"width\":\"100%\",\"minRows\":4,\"maxRows\":6,\"maxLength\":null,\"defaultValue\":\"\",\"clearable\":true,\"hidden\":false,\"disabled\":false,\"placeholder\":\"请输入\"},\"model\":\"remark\",\"key\":\"textarea_1659020414125\",\"help\":\"\",\"rules\":[{\"required\":true,\"message\":\"必填项\"}]},{\"type\":\"switch\",\"label\":\"开关\",\"options\":{\"defaultValue\":false,\"hidden\":false,\"disabled\":false},\"model\":\"switch_1662108221389\",\"key\":\"switch_1662108221389\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]},{\"type\":\"slider\",\"label\":\"滑动输入条\",\"options\":{\"width\":\"100%\",\"defaultValue\":34,\"disabled\":false,\"hidden\":false,\"min\":0,\"max\":100,\"step\":1,\"showInput\":false},\"model\":\"cc\",\"key\":\"slider_1659020433092\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]},{\"type\":\"table\",\"label\":\"表格布局\",\"trs\":[{\"tds\":[{\"colspan\":1,\"rowspan\":1,\"list\":[]},{\"colspan\":1,\"rowspan\":1,\"list\":[]}]},{\"tds\":[{\"colspan\":1,\"rowspan\":1,\"list\":[{\"type\":\"editor\",\"label\":\"富文本\",\"icon\":\"icon-LC_icon_edit_line_1\",\"list\":[],\"options\":{\"height\":300,\"placeholder\":\"请输入\",\"defaultValue\":\"\",\"chinesization\":true,\"hidden\":false,\"disabled\":false,\"showLabel\":false,\"width\":\"100%\"},\"model\":\"editor_1662106288134\",\"key\":\"editor_1662106288134\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]}]},{\"colspan\":1,\"rowspan\":1,\"list\":[]}]}],\"options\":{\"width\":\"100%\",\"bordered\":true,\"bright\":false,\"small\":true,\"customStyle\":\"\"},\"key\":\"table_1662106283652\"}],\"config\":{\"layout\":\"vertical\",\"labelCol\":{\"xs\":6,\"sm\":6,\"md\":6,\"lg\":6,\"xl\":6,\"xxl\":6},\"labelWidth\":100,\"labelLayout\":\"Grid\",\"wrapperCol\":{\"xs\":18,\"sm\":18,\"md\":18,\"lg\":18,\"xl\":18,\"xxl\":18},\"hideRequiredMark\":false,\"customStyle\":\"\"}}', '测试动态表单', 1399985191002447872, '2022-07-28 22:03:36', 1414143554414059520, '2022-09-02 16:44:01', 0, 12); - --- ---------------------------- --- Table structure for base_general_template --- ---------------------------- -DROP TABLE IF EXISTS `base_general_template`; -CREATE TABLE `base_general_template` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板名称', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板代码', - `use_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '使用类型(导入/导出)', - `file_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板类型', - `file_suffix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板后缀名', - `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '状态', - `file_id` bigint(20) NULL DEFAULT NULL COMMENT '文件ID', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '通用模板管理' ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of base_general_template --- ---------------------------- - --- ---------------------------- --- Table structure for base_key_value --- ---------------------------- -DROP TABLE IF EXISTS `base_key_value`; -CREATE TABLE `base_key_value` ( - `id` bigint(20) NOT NULL, - `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数键名', - `value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数值', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'kv存储' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_key_value --- ---------------------------- - --- ---------------------------- --- Table structure for base_param --- ---------------------------- -DROP TABLE IF EXISTS `base_param`; -CREATE TABLE `base_param` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数名称', - `param_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数键名', - `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数值', - `type` int(4) NULL DEFAULT NULL COMMENT '参数类型', - `enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '启用状态', - `internal` bit(1) NOT NULL COMMENT '内置参数', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统参数配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_param --- ---------------------------- -INSERT INTO `base_param` VALUES (1452842684284891136, '测试', 'test.v1', '123', 1, b'1', b'0', NULL, 1399985191002447872, '2021-10-26 11:41:03', 1399985191002447872, '2021-10-26 11:41:03', 0, 0); -INSERT INTO `base_param` VALUES (1520668030248361984, '文件服务器地址', 'FileServerUrl', 'http://127.0.0.1:9999', 1, b'1', b'1', '', 1399985191002447872, '2022-05-01 15:34:46', 1399985191002447872, '2022-05-19 12:53:21', 0, 5); -INSERT INTO `base_param` VALUES (1529281530059161600, 'websocket服务器地址', 'WebsocketServerUrl', 'ws://127.0.0.1:9999', 1, b'1', b'1', '', 1399985191002447872, '2022-05-25 10:01:44', 1399985191002447872, '2022-05-25 10:01:44', 0, 0); -INSERT INTO `base_param` VALUES (1545765299880448000, '服务器地址', 'ServerUrl', 'http://127.0.0.1:9999', 1, b'1', b'1', '优先级高于配置文件内进行的配置', 1399985191002447872, '2022-07-09 21:42:21', 1414143554414059520, '2023-08-05 16:40:05', 0, 1); -INSERT INTO `base_param` VALUES (1547511252795912192, '微信jsapi支付回调服务地址', 'JsapiRedirectUrl', 'http://127.0.0.1/api/', 1, b'1', b'1', '用于微信扫码登录使用', 1414143554414059520, '2022-07-14 17:20:09', 1414143554414059520, '2023-08-18 15:49:21', 0, 1); - --- ---------------------------- --- Table structure for base_province --- ---------------------------- -DROP TABLE IF EXISTS `base_province`; -CREATE TABLE `base_province` ( - `code` char(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '省份编码', - `name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '省份名称', - PRIMARY KEY (`code`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '省份表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_province +-- Records of base_province -- ---------------------------- INSERT INTO `base_province` VALUES ('11', '北京市'); INSERT INTO `base_province` VALUES ('12', '天津市'); @@ -3714,160 +3693,169 @@ INSERT INTO `base_province` VALUES ('64', '宁夏回族自治区'); INSERT INTO `base_province` VALUES ('65', '新疆维吾尔自治区'); -- ---------------------------- --- Table structure for base_query_sql +-- Table structure for base_dict -- ---------------------------- -DROP TABLE IF EXISTS `base_query_sql`; -CREATE TABLE `base_query_sql` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `database_id` bigint(20) NULL DEFAULT NULL COMMENT '数据源ID', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '名称', - `is_list` bit(1) NULL DEFAULT NULL COMMENT '是否集合', - `sql` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT 'sql语句', - `params` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'SQL查询参数', - `fields` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'SQL查询结果字段', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', +DROP TABLE IF EXISTS `base_dict`; +CREATE TABLE `base_dict` ( + `id` bigint(20) NOT NULL, + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '编码', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称', + `enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '启用状态', + `group_tag` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '分类标签', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + `version` int(8) NULL DEFAULT NULL COMMENT '版本', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'SQL查询语句' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_query_sql --- ---------------------------- - --- ---------------------------- --- Table structure for base_street --- ---------------------------- -DROP TABLE IF EXISTS `base_street`; -CREATE TABLE `base_street` ( - `code` char(9) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '编码', - `name` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '街道名称', - `area_code` char(6) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '县区编码', - PRIMARY KEY (`code`) USING BTREE, - INDEX `inx_area_code`(`area_code`) USING BTREE COMMENT '县区' -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '街道表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of base_street +-- Records of base_dict -- ---------------------------- +INSERT INTO `base_dict` VALUES (1422929378374828033, 'Sex', '性别', b'1', '基础属性', '性别', 0, '2021-08-04 22:36:15', 1399985191002447872, '2022-05-11 19:48:40', 0, 6); +INSERT INTO `base_dict` VALUES (1425744045414772737, 'MenuType', '菜单类型', b'1', '系统属性', '菜单类型', 0, '2021-08-12 17:00:44', 1399985191002447872, '2022-05-11 19:48:44', 0, 4); +INSERT INTO `base_dict` VALUES (1430063572491411456, 'loginType', '字典类型', b'1', '基础属性', '字典类型', 1399985191002447872, '2021-08-24 15:05:00', 1399985191002447872, '2021-08-24 15:05:00', 1, 2); +INSERT INTO `base_dict` VALUES (1435829999592759296, 'UserStatusCode', '用户状态码', b'1', '系统属性', '用户状态码', 1399985191002447872, '2021-09-09 12:58:43', 1399985191002447872, '2022-05-11 19:48:56', 0, 2); +INSERT INTO `base_dict` VALUES (1435838066191458304, 'LogBusinessType', '业务操作类型', b'1', '系统属性', '操作日志记录的业务操作类型', 1399985191002447872, '2021-09-09 13:30:46', 1399985191002447872, '2022-05-11 19:49:00', 0, 2); +INSERT INTO `base_dict` VALUES (1438078864509317120, 'MailSecurityCode', '邮箱安全方式编码', b'1', '消息服务', '邮箱安全方式编码', 1399985191002447872, '2021-09-15 17:54:54', 1399985191002447872, '2022-05-11 19:49:06', 0, 2); +INSERT INTO `base_dict` VALUES (1439961232651034624, 'MessageTemplateCode', '消息模板类型', b'1', '消息服务', '消息模板类型', 1399985191002447872, '2021-09-20 22:34:46', 1399985191002447872, '2022-05-11 19:48:34', 0, 1); +INSERT INTO `base_dict` VALUES (1452836604783845376, 'SocialType', '三方系统类型', b'1', '系统属性', '三方系统类型', 1399985191002447872, '2021-10-26 11:16:54', 1399985191002447872, '2022-05-11 19:48:28', 0, 3); +INSERT INTO `base_dict` VALUES (1452843488735621120, 'ParamType', '参数类型', b'1', '系统属性', '参数类型', 1399985191002447872, '2021-10-26 11:44:15', 1399985191002447872, '2022-05-11 19:48:21', 0, 2); +INSERT INTO `base_dict` VALUES (1496024933900169216, 'Political', '政治面貌', b'1', '基础数据', '政治面貌', 1399985191002447872, '2022-02-22 15:31:54', 1399985191002447872, '2022-05-11 19:48:04', 0, 1); +INSERT INTO `base_dict` VALUES (1556996322223968256, 'WeChatMediaType', '微信媒体类型', b'1', '微信', '微信媒体类型', 1399985191002447872, '2022-08-09 21:30:25', 1399985191002447872, '2022-08-09 21:30:26', 0, 0); +INSERT INTO `base_dict` VALUES (1561003021674987520, 'SiteMessageReceive', '消息接收类型', b'1', '站内信', '站内信接收类型', 1399985191002447872, '2022-08-20 22:51:37', 1399985191002447872, '2022-08-20 22:51:37', 0, 0); +INSERT INTO `base_dict` VALUES (1561003189111603200, 'SiteMessageState', '消息发布状态', b'1', '站内信', '站内信消息发布状态', 1399985191002447872, '2022-08-20 22:52:17', 1399985191002447872, '2022-08-20 22:52:17', 0, 0); +INSERT INTO `base_dict` VALUES (1589527951317389312, 'DataScopePerm', '数据范围权限', b'1', '系统属性', '数据范围权限', 1414143554414059520, '2022-11-07 15:59:30', 1399985191002447872, '2022-12-09 22:09:25', 0, 3); +INSERT INTO `base_dict` VALUES (1633393287952257024, 'DatabaseType', '数据库类型', b'1', '开发', '数据库类型', 1414143554414059520, '2023-03-08 17:04:41', 1414143554414059520, '2023-03-08 17:04:41', 0, 0); +INSERT INTO `base_dict` VALUES (1688742690398617600, 'SmsChannel', '短信渠道商', b'1', '消息服务', '短信渠道商', 1414143554414059520, '2023-08-08 10:43:27', 1414143554414059520, '2023-08-12 20:24:03', 0, 1); +INSERT INTO `base_dict` VALUES (1690338321769918464, 'GeneralTemplateUseType', '通用模板类型', b'1', '系统属性', '通用模板类型', 1414143554414059520, '2023-08-12 20:23:56', 1414143554414059520, '2023-08-12 20:24:22', 0, 1); +INSERT INTO `base_dict` VALUES (1690338545284378624, 'GeneralTemplateState', '通用模板状态', b'1', '系统属性', '通用模板状态', 1414143554414059520, '2023-08-12 20:24:49', 1414143554414059520, '2023-08-12 20:24:49', 0, 0); -- ---------------------------- --- Table structure for base_village +-- Table structure for iam_dept -- ---------------------------- -DROP TABLE IF EXISTS `base_village`; -CREATE TABLE `base_village` ( - `code` char(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '编码', - `name` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '名称', - `street_code` char(9) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '社区/乡镇编码', - PRIMARY KEY (`code`) USING BTREE, - INDEX `inx_street_code`(`street_code`) USING BTREE COMMENT '所属街道索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '村庄/社区' ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `iam_dept`; +CREATE TABLE `iam_dept` ( + `id` bigint(20) NOT NULL COMMENT 'ID', + `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父机构ID', + `dept_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '机构/部门名称', + `sort_no` int(11) NOT NULL DEFAULT 0 COMMENT '排序', + `org_category` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '1' COMMENT '机构类别 1公司 2部门 3岗位', + `org_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '机构编码', + `mobile` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手机号', + `fax` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '传真', + `address` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '地址', + `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门组织机构表' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of base_village +-- Records of iam_dept -- ---------------------------- +INSERT INTO `iam_dept` VALUES (1259382878857957377, NULL, 'Bootx Platform总公司', 0, '1', '1', '', NULL, '济南市高新区齐鲁软件园', NULL, -1, '2020-05-10 15:20:51', -1, '2020-05-10 17:52:15', 4, 0); +INSERT INTO `iam_dept` VALUES (1477976804995026944, NULL, 'Bootx Cloud公司', 0, '1', '1', '', NULL, '济南市高新区汉峪金谷', '', 1399985191002447872, '2022-01-03 20:15:04', 1399985191002447872, '2022-01-03 20:15:05', 0, 1); +INSERT INTO `iam_dept` VALUES (1477977184768282624, NULL, 'Bootx Cloud公司', 0, '1', '1', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:16:35', 1399985191002447872, '2022-01-03 20:16:35', 0, 1); +INSERT INTO `iam_dept` VALUES (1477977301365739520, NULL, 'Bootx Cloud总公司', 0, '1', '2', '', NULL, '济南市高新区汉峪金谷', '', 1399985191002447872, '2022-01-03 20:17:03', 1399985191002447872, '2022-01-03 20:17:03', 1, 0); +INSERT INTO `iam_dept` VALUES (1477977592291053568, 1259382878857957377, 'bp济南分公司', 0, '1', '1_1', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:18:12', 1399985191002447872, '2022-01-03 20:18:12', 1, 0); +INSERT INTO `iam_dept` VALUES (1477977690928500736, 1259382878857957377, '历城分公司', 0, '1', '1_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:18:36', 1399985191002447872, '2022-01-03 20:18:36', 0, 1); +INSERT INTO `iam_dept` VALUES (1477977827897692160, 1259382878857957377, 'bp潍坊分公司', 0, '1', '1_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:19:08', 1399985191002447872, '2022-01-03 20:19:08', 0, 0); +INSERT INTO `iam_dept` VALUES (1477977880947249152, 1477977301365739520, 'bc菏泽分公司', 0, '1', '2_1', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:19:21', 1399985191002447872, '2022-01-03 20:19:21', 0, 0); +INSERT INTO `iam_dept` VALUES (1477977930175795200, 1477977301365739520, 'bc日照分公司', 0, '1', '2_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:19:33', 1399985191002447872, '2022-01-03 20:19:33', 0, 0); +INSERT INTO `iam_dept` VALUES (1477978464559484928, 1477977592291053568, '历城办事部', 0, '2', '1_1_1', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:21:40', 1399985191002447872, '2022-01-03 20:21:40', 1, 0); +INSERT INTO `iam_dept` VALUES (1477978512177418240, 1477977592291053568, '历下办事部', 0, '2', '1_1_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:21:51', 1399985191002447872, '2022-01-03 20:21:52', 0, 0); +INSERT INTO `iam_dept` VALUES (1477978610865197056, 1477977592291053568, '高新办事部', 0, '2', '1_1_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:22:15', 1399985191002447872, '2022-01-03 20:22:15', 0, 0); +INSERT INTO `iam_dept` VALUES (1477978810526650368, 1477977827897692160, '奎文办事部', 0, '2', '1_2_1', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:23:03', 1399985191002447872, '2022-01-03 20:23:03', 0, 0); +INSERT INTO `iam_dept` VALUES (1477978883247493120, 1477977827897692160, '潍城办事部', 0, '2', '1_2_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:23:20', 1399985191002447872, '2022-01-03 20:23:20', 0, 0); -- ---------------------------- --- Table structure for common_sequence_range +-- Table structure for iam_data_scope -- ---------------------------- -DROP TABLE IF EXISTS `common_sequence_range`; -CREATE TABLE `common_sequence_range` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `range_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '区间key', - `range_value` bigint(20) NOT NULL COMMENT '区间开始值', +DROP TABLE IF EXISTS `iam_data_scope`; +CREATE TABLE `iam_data_scope` ( + `id` bigint(20) NOT NULL COMMENT '角色ID', + `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编码', + `name` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', + `type` int(4) NOT NULL COMMENT '类型', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '说明', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '版本', `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '序列生成器队列区间管理' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据范围权限' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of common_sequence_range +-- Records of iam_data_scope -- ---------------------------- -INSERT INTO `common_sequence_range` VALUES (1470679520373862400, 'Sequence:cs', 2006, 0, '2021-12-14 16:58:16', 0, '2021-12-14 16:58:16', 6, 0); -INSERT INTO `common_sequence_range` VALUES (1470679955230908416, 'cs', 2020, 0, '2021-12-14 17:00:00', 0, '2021-12-14 17:00:00', 13, 0); +INSERT INTO `iam_data_scope` VALUES (1474706893178871808, 'self', '自身数据', 1, '只能查看自身范围的数据', 1399985191002447872, '2021-12-25 19:41:37', 1399985191002447872, '2021-12-25 19:41:37', 1, 0); +INSERT INTO `iam_data_scope` VALUES (1474717084985270272, 'user', '用户数据权限', 2, '用户数据权限', 1399985191002447872, '2021-12-25 20:22:07', 1399985191002447872, '2021-12-25 20:22:07', 0, 0); +INSERT INTO `iam_data_scope` VALUES (1474717160671485952, 'dept', '部门权限', 3, '', 1399985191002447872, '2021-12-25 20:22:25', 1399985191002447872, '2021-12-25 20:22:25', 0, 0); +INSERT INTO `iam_data_scope` VALUES (1474717276908232704, 'userAndDept', '用户和部门权限', 4, '', 1399985191002447872, '2021-12-25 20:22:52', 1399985191002447872, '2021-12-25 20:22:52', 0, 0); +INSERT INTO `iam_data_scope` VALUES (1474717344562356224, 'all', '全部数据', 5, '', 1399985191002447872, '2021-12-25 20:23:09', 1399985191002447872, '2021-12-25 20:23:09', 0, 0); +INSERT INTO `iam_data_scope` VALUES (1477990268903804928, 'belong_dept', '所在部门', 6, '', 1399985191002447872, '2022-01-03 21:08:34', 1399985191002447872, '2022-01-03 21:08:35', 0, 0); +INSERT INTO `iam_data_scope` VALUES (1477990290521247744, 'belong_dept', '所在部门', 6, '', 1399985191002447872, '2022-01-03 21:08:40', 1399985191002447872, '2022-01-03 21:08:40', 0, 1); +INSERT INTO `iam_data_scope` VALUES (1477990439800721408, 'belong_dept_and_sub', '所在及下级部门', 7, '', 1399985191002447872, '2022-01-03 21:09:15', 1399985191002447872, '2022-01-03 21:09:15', 0, 0); -- ---------------------------- --- Table structure for demo_data_encrypt +-- Table structure for iam_user_dept -- ---------------------------- -DROP TABLE IF EXISTS `demo_data_encrypt`; -CREATE TABLE `demo_data_encrypt` ( +DROP TABLE IF EXISTS `iam_user_dept`; +CREATE TABLE `iam_user_dept` ( `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内容', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + `user_id` bigint(20) NOT NULL COMMENT '用户id', + `dept_id` bigint(20) NOT NULL COMMENT '部门id', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据加密解密演示' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户部门关联表' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of demo_data_encrypt +-- Records of iam_user_dept -- ---------------------------- -INSERT INTO `demo_data_encrypt` VALUES (1506922411881103360, '测试加密效果', 'eI2RIrRLG+QUna3jMK+kejyJTTKdPFhaYWP4EhktJ2lkGTEsIxZesetNTzcqUA934ZN/OUdw4aj4t5Q+u1sH7A==', 1399985191002447872, '2022-03-24 17:14:35', 1399985191002447872, '2022-03-24 17:23:41', 1, 0); -INSERT INTO `demo_data_encrypt` VALUES (1506943412354408448, '测试下', 'Dgv5OSNiXuknceoZzeOUOQ==', 1399985191002447872, '2022-03-24 17:14:35', 1399985191002447872, '2022-03-24 17:23:41', 1, 0); -- ---------------------------- --- Table structure for demo_data_perm +-- Table structure for iam_login_type -- ---------------------------- -DROP TABLE IF EXISTS `demo_data_perm`; -CREATE TABLE `demo_data_perm` ( - `id` bigint(20) NOT NULL COMMENT '角色ID', - `name` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', - `creator_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者名称', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '说明', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据权限演示' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of demo_data_perm --- ---------------------------- -INSERT INTO `demo_data_perm` VALUES (1495969849707220992, '33', 'xxm', '444', 1399985191002447872, '2022-02-22 11:53:01', 1399985191002447872, '2022-02-22 11:53:01', 0, 0); -INSERT INTO `demo_data_perm` VALUES (1506921683460521984, '测试', '小小明', NULL, 1399985191002447872, '2022-03-24 17:11:41', 1399985191002447872, '2022-03-24 17:11:41', 0, 0); -INSERT INTO `demo_data_perm` VALUES (1531547191561072640, '测试', '测试', '123', 1435967884114194432, '2022-05-31 16:04:40', 1435967884114194432, '2022-05-31 16:04:40', 0, 0); - --- ---------------------------- --- Table structure for demo_data_sensitive --- ---------------------------- -DROP TABLE IF EXISTS `demo_data_sensitive`; -CREATE TABLE `demo_data_sensitive` ( - `id` bigint(20) NOT NULL COMMENT '角色ID', - `chinese_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '中文名字', - `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码', - `id_card` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '身份证号', - `mobile_phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号', - `car_license` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '车牌号', - `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电子邮件', - `other` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '其他', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', +DROP TABLE IF EXISTS `iam_login_type`; +CREATE TABLE `iam_login_type` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `code` varchar(21) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', + `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型', + `internal` bit(1) NOT NULL COMMENT '是否系统内置', + `timeout` bigint(11) NULL DEFAULT NULL COMMENT '在线时长(秒)', + `captcha_type` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '验证码类型', + `captcha` bit(1) NOT NULL COMMENT '启用验证码', + `enable` bit(1) NOT NULL COMMENT '是否可用', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL DEFAULT 0 COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据脱敏演示' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '登录方式' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of demo_data_sensitive +-- Records of iam_login_type -- ---------------------------- -INSERT INTO `demo_data_sensitive` VALUES (1506942377435037696, '刘向东', '123456', '372921199302021125', '13324591123', '鲁A8S8866', 'bootx123@outlook.com', '测试测试测试测试测试测试测试问题', 1399985191002447872, '2022-03-24 18:33:55', 1399985191002447872, '2022-03-24 18:36:09', 2, 0); -INSERT INTO `demo_data_sensitive` VALUES (1506943326094352384, '成是非', '99885511', '101278112512107721', '18855446622', '汉S123456', 'chengshifei@foxmail.com', '这个就是就是就是就是就是就是这样的', 1399985191002447872, '2022-03-24 18:33:55', 1399985191002447872, '2022-03-24 18:35:00', 1, 0); +INSERT INTO `iam_login_type` VALUES (1430430071299207168, 'password', '账号密码登陆', 'password', b'1', 3600, '-1', b'0', b'1', NULL, 1399985191002447872, '2021-08-25 15:21:20', 1399985191002447872, '2022-11-03 22:24:53', 20, b'0'); +INSERT INTO `iam_login_type` VALUES (1430478946919653376, 'miniApp', '微信小程序', 'openId', b'0', 99999, '0', b'0', b'1', NULL, 1399985191002447872, '2021-08-25 18:35:33', 1399985191002447872, '2022-07-16 12:32:26', 3, b'0'); +INSERT INTO `iam_login_type` VALUES (1435138582839009280, 'phone', '手机短信登录', 'openId', b'0', 3600, '0', b'0', b'1', NULL, 1399985191002447872, '2021-09-07 15:11:16', 1399985191002447872, '2022-07-16 12:32:19', 5, b'0'); +INSERT INTO `iam_login_type` VALUES (1542091599907115008, 'dingTalk', '钉钉', 'openId', b'0', 5, '-1', b'0', b'1', '', 1399985191002447872, '2022-06-29 18:24:23', 1399985191002447872, '2022-07-02 14:55:01', 5, b'0'); +INSERT INTO `iam_login_type` VALUES (1542804450312122368, 'weCom', '企业微信', 'openId', b'0', 5, '-1', b'0', b'1', '', 1399985191002447872, '2022-07-01 17:37:00', 1399985191002447872, '2022-07-01 17:37:00', 0, b'0'); +INSERT INTO `iam_login_type` VALUES (1543126042909016064, 'weChat', '微信登录', 'openId', b'0', 5, '-1', b'0', b'1', '', 1399985191002447872, '2022-07-02 14:54:53', 0, '2022-10-12 22:15:05', 2, b'0'); +INSERT INTO `iam_login_type` VALUES (1626845524617203712, 'passwordGoView', '可视化平台登录', 'password', b'0', 3600, '-1', b'0', b'1', '', 1414143554414059520, '2023-02-18 15:26:13', 1414143554414059520, '2023-02-18 15:26:13', 0, b'0'); -- ---------------------------- -- Table structure for demo_super_query @@ -3879,14 +3867,14 @@ CREATE TABLE `demo_super_query` ( `age` int(5) NULL DEFAULT NULL COMMENT '年龄', `vip` bit(1) NULL DEFAULT NULL COMMENT '是否vip', `birthday` date NULL DEFAULT NULL COMMENT '生日', - `work_time` time NULL DEFAULT NULL COMMENT '上班时间', - `registration_time` datetime NULL DEFAULT NULL COMMENT '注册时间', + `work_time` time(0) NULL DEFAULT NULL COMMENT '上班时间', + `registration_time` datetime(0) NULL DEFAULT NULL COMMENT '注册时间', `political` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '政治面貌', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '版本', `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', PRIMARY KEY (`id`) USING BTREE @@ -3901,6 +3889,64 @@ INSERT INTO `demo_super_query` VALUES (1496372489909899264, '张飞', 54, b'0', INSERT INTO `demo_super_query` VALUES (1496372766427779072, '梁冀', 38, b'1', '1958-02-08', '08:30:00', '2022-02-23 14:34:03', '1', '', 1399985191002447872, '2022-02-23 14:34:03', 1399985191002447872, '2022-02-23 14:34:03', 0, 0); INSERT INTO `demo_super_query` VALUES (1496373512871284736, '刘备', 108, b'0', '1993-11-12', '09:30:10', '2022-02-23 14:37:01', '2', '刘羽禅的粑粑', 1399985191002447872, '2022-02-23 14:37:01', 1399985191002447872, '2022-02-23 14:37:01', 0, 0); +-- ---------------------------- +-- Table structure for base_param +-- ---------------------------- +DROP TABLE IF EXISTS `base_param`; +CREATE TABLE `base_param` ( + `id` bigint(20) NOT NULL, + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数名称', + `param_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数键名', + `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数值', + `type` int(4) NULL DEFAULT NULL COMMENT '参数类型', + `enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '启用状态', + `internal` bit(1) NOT NULL COMMENT '内置参数', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + `version` int(8) NOT NULL COMMENT '版本', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统参数配置' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of base_param +-- ---------------------------- +INSERT INTO `base_param` VALUES (1452842684284891136, '测试', 'test.v1', '123', 1, b'1', b'0', NULL, 1399985191002447872, '2021-10-26 11:41:03', 1399985191002447872, '2021-10-26 11:41:03', 0, 0); +INSERT INTO `base_param` VALUES (1520668030248361984, '文件服务器地址', 'FileServerUrl', 'http://127.0.0.1:9999', 1, b'1', b'1', '', 1399985191002447872, '2022-05-01 15:34:46', 1399985191002447872, '2022-05-19 12:53:21', 0, 5); +INSERT INTO `base_param` VALUES (1529281530059161600, 'websocket服务器地址', 'WebsocketServerUrl', 'ws://127.0.0.1:9999', 1, b'1', b'1', '', 1399985191002447872, '2022-05-25 10:01:44', 1399985191002447872, '2022-05-25 10:01:44', 0, 0); +INSERT INTO `base_param` VALUES (1545765299880448000, '服务器地址', 'ServerUrl', 'http://127.0.0.1:9999', 1, b'1', b'1', '优先级高于配置文件内进行的配置', 1399985191002447872, '2022-07-09 21:42:21', 1414143554414059520, '2023-08-05 16:40:05', 0, 1); +INSERT INTO `base_param` VALUES (1547511252795912192, '微信jsapi支付回调服务地址', 'JsapiRedirectUrl', 'http://127.0.0.1/api/', 1, b'1', b'1', '用于微信扫码登录使用', 1414143554414059520, '2022-07-14 17:20:09', 1414143554414059520, '2023-08-18 15:49:21', 0, 1); + +-- ---------------------------- +-- Table structure for iam_role +-- ---------------------------- +DROP TABLE IF EXISTS `iam_role`; +CREATE TABLE `iam_role` ( + `id` bigint(20) NOT NULL COMMENT '角色ID', + `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编码', + `name` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', + `internal` bit(1) NOT NULL COMMENT '是否系统内置', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '说明', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '角色' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of iam_role +-- ---------------------------- +INSERT INTO `iam_role` VALUES (1405414804771971072, 'admin', '管理员', b'1', '管理员', 1, '2021-06-17 14:39:35', 1399985191002447872, '2021-07-18 22:31:02', 6, 0); +INSERT INTO `iam_role` VALUES (1416730722714144768, 'test', '测试', b'0', '测试角色', 1399985191002447872, '2021-07-18 20:05:01', 1399985191002447872, '2021-07-18 20:16:15', 1, 0); +INSERT INTO `iam_role` VALUES (1422832797731778562, 'user', '用户', b'0', '用户角色', 0, '2021-08-04 16:12:29', 1399985191002447872, '2021-08-04 16:15:03', 7, 1); +INSERT INTO `iam_role` VALUES (1428891259564445696, 'manager', '管理者', b'0', 'manager管理者', 1399985191002447872, '2021-08-21 09:26:38', 1399985191002447872, '2021-08-21 09:26:39', 0, 1); + -- ---------------------------- -- Table structure for iam_client -- ---------------------------- @@ -3909,782 +3955,880 @@ CREATE TABLE `iam_client` ( `id` bigint(20) NOT NULL COMMENT '主键', `code` varchar(21) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `system` bit(1) NOT NULL COMMENT '是否系统内置', + `internal` bit(1) NOT NULL COMMENT '是否系统内置', `enable` bit(1) NOT NULL COMMENT '是否可用', + `default_endow` bit(1) NULL DEFAULT NULL COMMENT '新注册的用户是否默认赋予该终端', `login_type_ids` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '关联登录方式\r\n', `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', - `default_endow` bit(1) NULL DEFAULT NULL COMMENT '新注册的用户是否默认赋予该终端', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '认证终端' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of iam_client -- ---------------------------- -INSERT INTO `iam_client` VALUES (1430430071299207168, 'admin', 'pc管理端', b'1', b'1', '1430430071299207168,1435138582839009280,1430478946919653376,1542091599907115008,1542804450312122368,1543126042909016064', 'pc浏览器', 1399985191002447872, '2021-08-25 15:21:20', 1399985191002447872, '2022-07-02 14:55:11', 4, b'0', NULL); -INSERT INTO `iam_client` VALUES (1430430071299207169, 'h5', 'h5端', b'1', b'1', '1430430071299207168,1435138582839009280', '手机wap', 1399985191002447872, '2021-08-25 15:21:20', 1399985191002447872, '2022-06-29 18:31:45', 1, b'0', NULL); -INSERT INTO `iam_client` VALUES (1580487061605175296, 'adminv3', 'pc管理端(vue3版)', b'0', b'1', '1430430071299207168,1430478946919653376,1435138582839009280,1542091599907115008,1542804450312122368,1543126042909016064', 'vue3版本', 1399985191002447872, '2022-10-13 17:14:14', 1414143554414059520, '2023-08-02 14:28:37', 2, b'0', b'1'); -INSERT INTO `iam_client` VALUES (1626840094767714304, 'GoView', '可视化平台', b'0', b'1', '1430430071299207168', '', 1414143554414059520, '2023-02-18 15:04:38', 1414143554414059520, '2023-02-18 15:04:38', 0, b'0', NULL); +INSERT INTO `iam_client` VALUES (1430430071299207168, 'admin', 'pc管理端', b'1', b'1', b'1', '1430430071299207168,1435138582839009280,1430478946919653376,1542091599907115008,1542804450312122368,1543126042909016064', 'pc浏览器', 1399985191002447872, '2021-08-25 15:21:20', 1399985191002447872, '2023-10-19 19:58:31', 5, b'0'); +INSERT INTO `iam_client` VALUES (1430430071299207169, 'h5', 'h5端', b'1', b'1', b'1', '1430430071299207168,1435138582839009280', '手机wap', 1399985191002447872, '2021-08-25 15:21:20', 1399985191002447872, '2023-10-19 19:58:27', 2, b'0'); +INSERT INTO `iam_client` VALUES (1580487061605175296, 'adminv3', 'pc管理端(vue3版)', b'0', b'1', b'1', '1430430071299207168,1430478946919653376,1435138582839009280,1542091599907115008,1542804450312122368,1543126042909016064', 'vue3版本', 1399985191002447872, '2022-10-13 17:14:14', 1399985191002447872, '2023-10-19 19:58:21', 3, b'0'); +INSERT INTO `iam_client` VALUES (1626840094767714304, 'GoView', '可视化平台', b'0', b'1', b'1', '1430430071299207168', '', 1414143554414059520, '2023-02-18 15:04:38', 1399985191002447872, '2023-10-19 19:58:34', 1, b'0'); -- ---------------------------- --- Table structure for iam_data_scope +-- Table structure for demo_data_perm -- ---------------------------- -DROP TABLE IF EXISTS `iam_data_scope`; -CREATE TABLE `iam_data_scope` ( +DROP TABLE IF EXISTS `demo_data_perm`; +CREATE TABLE `demo_data_perm` ( `id` bigint(20) NOT NULL COMMENT '角色ID', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编码', `name` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', - `type` int(4) NOT NULL COMMENT '类型', + `creator_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者名称', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '说明', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '版本', `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据范围权限' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据权限演示' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_data_scope +-- Records of demo_data_perm -- ---------------------------- -INSERT INTO `iam_data_scope` VALUES (1474706893178871808, 'self', '自身数据', 1, '只能查看自身范围的数据', 1399985191002447872, '2021-12-25 19:41:37', 1399985191002447872, '2021-12-25 19:41:37', 1, 0); -INSERT INTO `iam_data_scope` VALUES (1474717084985270272, 'user', '用户数据权限', 2, '用户数据权限', 1399985191002447872, '2021-12-25 20:22:07', 1399985191002447872, '2021-12-25 20:22:07', 0, 0); -INSERT INTO `iam_data_scope` VALUES (1474717160671485952, 'dept', '部门权限', 3, '', 1399985191002447872, '2021-12-25 20:22:25', 1399985191002447872, '2021-12-25 20:22:25', 0, 0); -INSERT INTO `iam_data_scope` VALUES (1474717276908232704, 'userAndDept', '用户和部门权限', 4, '', 1399985191002447872, '2021-12-25 20:22:52', 1399985191002447872, '2021-12-25 20:22:52', 0, 0); -INSERT INTO `iam_data_scope` VALUES (1474717344562356224, 'all', '全部数据', 5, '', 1399985191002447872, '2021-12-25 20:23:09', 1399985191002447872, '2021-12-25 20:23:09', 0, 0); -INSERT INTO `iam_data_scope` VALUES (1477990268903804928, 'belong_dept', '所在部门', 6, '', 1399985191002447872, '2022-01-03 21:08:34', 1399985191002447872, '2022-01-03 21:08:35', 0, 0); -INSERT INTO `iam_data_scope` VALUES (1477990290521247744, 'belong_dept', '所在部门', 6, '', 1399985191002447872, '2022-01-03 21:08:40', 1399985191002447872, '2022-01-03 21:08:40', 0, 1); -INSERT INTO `iam_data_scope` VALUES (1477990439800721408, 'belong_dept_and_sub', '所在及下级部门', 7, '', 1399985191002447872, '2022-01-03 21:09:15', 1399985191002447872, '2022-01-03 21:09:15', 0, 0); +INSERT INTO `demo_data_perm` VALUES (1495969849707220992, '33', 'xxm', '444', 1399985191002447872, '2022-02-22 11:53:01', 1399985191002447872, '2022-02-22 11:53:01', 0, 0); +INSERT INTO `demo_data_perm` VALUES (1506921683460521984, '测试', '小小明', NULL, 1399985191002447872, '2022-03-24 17:11:41', 1399985191002447872, '2022-03-24 17:11:41', 0, 0); +INSERT INTO `demo_data_perm` VALUES (1531547191561072640, '测试', '测试', '123', 1435967884114194432, '2022-05-31 16:04:40', 1435967884114194432, '2022-05-31 16:04:40', 0, 0); -- ---------------------------- --- Table structure for iam_data_scope_dept +-- Table structure for starter_quartz_job -- ---------------------------- -DROP TABLE IF EXISTS `iam_data_scope_dept`; -CREATE TABLE `iam_data_scope_dept` ( +DROP TABLE IF EXISTS `starter_quartz_job`; +CREATE TABLE `starter_quartz_job` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务名称', + `job_class_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务类名', + `cron` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'cron表达式', + `parameter` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '参数', + `state` int(4) NULL DEFAULT NULL COMMENT '状态', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of starter_quartz_job +-- ---------------------------- +INSERT INTO `starter_quartz_job` VALUES (1456579473573867520, '测试任务', 'cn.bootx.starter.quartz.task.TestTask', '50 0 * * * ? *', '{\"aaa\":\"5255\"}', 0, '测试任务', 1399985191002447872, '2021-11-05 19:09:43', 1399985191002447872, '2022-06-22 00:37:48', 25, 0); +INSERT INTO `starter_quartz_job` VALUES (1546857070483939328, '支付单超时检测', 'cn.bootx.payment.task.PayExpiredTimeTask', '0/5 * * * * ? *', NULL, 1, '检测超时的支付单, 超时后发送超时事件', 1399985191002447872, '2022-07-12 22:00:39', 1399985191002447872, '2022-07-12 22:00:45', 1, 0); + +-- ---------------------------- +-- Table structure for starter_audit_data_version +-- ---------------------------- +DROP TABLE IF EXISTS `starter_audit_data_version`; +CREATE TABLE `starter_audit_data_version` ( `id` bigint(20) NOT NULL, - `data_scope_id` bigint(20) NOT NULL COMMENT '数据范围id', - `dept_id` bigint(20) NOT NULL COMMENT '部门id', + `table_name` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据表名称', + `data_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据名称', + `data_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据主键', + `data_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '数据内容', + `change_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '数据更新内容', + `version` int(10) NOT NULL COMMENT '版本', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据范围部门关联配置' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据版本日志' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_data_scope_dept +-- Records of starter_audit_data_version -- ---------------------------- -INSERT INTO `iam_data_scope_dept` VALUES (1478742690014101504, 1474717160671485952, 1477978464559484928); -INSERT INTO `iam_data_scope_dept` VALUES (1478742920071675904, 1474717160671485952, 1477977592291053568); +INSERT INTO `starter_audit_data_version` VALUES (1480550993828446208, '', 'client', '1', '{\"dataName\":\"client\",\"dataId\":\"1\",\"dataContent\":{\"id\":\"1\",\"creator\":null,\"createTime\":\"2022-01-10 22:43:58\",\"lastModifier\":null,\"lastModifiedTime\":null,\"deleted\":false,\"version\":0,\"code\":null,\"name\":null,\"timeout\":null,\"captcha\":false,\"enable\":false,\"description\":null}}', NULL, 1, 0, '2022-01-10 22:43:59'); +INSERT INTO `starter_audit_data_version` VALUES (1480551021779288064, '', 'client', '1', '{\"dataName\":\"client\",\"dataId\":\"1\",\"dataContent\":{\"id\":\"1\",\"creator\":null,\"createTime\":\"2022-01-10 22:44:05\",\"lastModifier\":null,\"lastModifiedTime\":null,\"deleted\":false,\"version\":0,\"code\":null,\"name\":null,\"timeout\":null,\"captcha\":false,\"enable\":false,\"description\":null}}', NULL, 2, 0, '2022-01-10 22:44:06'); -- ---------------------------- --- Table structure for iam_data_scope_user +-- Table structure for iam_data_scope_dept -- ---------------------------- -DROP TABLE IF EXISTS `iam_data_scope_user`; -CREATE TABLE `iam_data_scope_user` ( +DROP TABLE IF EXISTS `iam_data_scope_dept`; +CREATE TABLE `iam_data_scope_dept` ( `id` bigint(20) NOT NULL, `data_scope_id` bigint(20) NOT NULL COMMENT '数据范围id', - `user_id` bigint(20) NOT NULL COMMENT '用户id', + `dept_id` bigint(20) NOT NULL COMMENT '部门id', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据范围用户关联配置' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据范围部门关联配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_data_scope_user +-- Records of iam_data_scope_dept -- ---------------------------- -INSERT INTO `iam_data_scope_user` VALUES (1478738754876149760, 1474717084985270272, 1399985191002447872); -INSERT INTO `iam_data_scope_user` VALUES (1478738766460817408, 1474717084985270272, 1414143554414059520); -INSERT INTO `iam_data_scope_user` VALUES (1478738811792855040, 1474717084985270272, 1477997602862505984); -INSERT INTO `iam_data_scope_user` VALUES (1478747304583114752, 1474717084985270272, 1435894470432456704); -INSERT INTO `iam_data_scope_user` VALUES (1478747304587309056, 1474717084985270272, 1477997391729631232); +INSERT INTO `iam_data_scope_dept` VALUES (1478742690014101504, 1474717160671485952, 1477978464559484928); +INSERT INTO `iam_data_scope_dept` VALUES (1478742920071675904, 1474717160671485952, 1477977592291053568); -- ---------------------------- --- Table structure for iam_dept +-- Table structure for demo_data_sensitive -- ---------------------------- -DROP TABLE IF EXISTS `iam_dept`; -CREATE TABLE `iam_dept` ( - `id` bigint(20) NOT NULL COMMENT 'ID', - `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父机构ID', - `dept_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '机构/部门名称', - `sort_no` int(11) NOT NULL DEFAULT 0 COMMENT '排序', - `org_category` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '1' COMMENT '机构类别 1公司 2部门 3岗位', - `org_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '机构编码', - `mobile` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手机号', - `fax` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '传真', - `address` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '地址', - `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', +DROP TABLE IF EXISTS `demo_data_sensitive`; +CREATE TABLE `demo_data_sensitive` ( + `id` bigint(20) NOT NULL COMMENT '角色ID', + `chinese_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '中文名字', + `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码', + `id_card` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '身份证号', + `mobile_phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号', + `car_license` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '车牌号', + `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电子邮件', + `other` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '其他', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '版本', `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门组织机构表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据脱敏演示' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_dept +-- Records of demo_data_sensitive -- ---------------------------- -INSERT INTO `iam_dept` VALUES (1259382878857957377, NULL, 'Bootx Platform总公司', 0, '1', '1', '', NULL, '济南市高新区齐鲁软件园', NULL, -1, '2020-05-10 15:20:51', -1, '2020-05-10 17:52:15', 4, 0); -INSERT INTO `iam_dept` VALUES (1477976804995026944, NULL, 'Bootx Cloud公司', 0, '1', '1', '', NULL, '济南市高新区汉峪金谷', '', 1399985191002447872, '2022-01-03 20:15:04', 1399985191002447872, '2022-01-03 20:15:05', 0, 1); -INSERT INTO `iam_dept` VALUES (1477977184768282624, NULL, 'Bootx Cloud公司', 0, '1', '1', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:16:35', 1399985191002447872, '2022-01-03 20:16:35', 0, 1); -INSERT INTO `iam_dept` VALUES (1477977301365739520, NULL, 'Bootx Cloud总公司', 0, '1', '2', '', NULL, '济南市高新区汉峪金谷', '', 1399985191002447872, '2022-01-03 20:17:03', 1399985191002447872, '2022-01-03 20:17:03', 1, 0); -INSERT INTO `iam_dept` VALUES (1477977592291053568, 1259382878857957377, 'bp济南分公司', 0, '1', '1_1', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:18:12', 1399985191002447872, '2022-01-03 20:18:12', 1, 0); -INSERT INTO `iam_dept` VALUES (1477977690928500736, 1259382878857957377, '历城分公司', 0, '1', '1_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:18:36', 1399985191002447872, '2022-01-03 20:18:36', 0, 1); -INSERT INTO `iam_dept` VALUES (1477977827897692160, 1259382878857957377, 'bp潍坊分公司', 0, '1', '1_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:19:08', 1399985191002447872, '2022-01-03 20:19:08', 0, 0); -INSERT INTO `iam_dept` VALUES (1477977880947249152, 1477977301365739520, 'bc菏泽分公司', 0, '1', '2_1', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:19:21', 1399985191002447872, '2022-01-03 20:19:21', 0, 0); -INSERT INTO `iam_dept` VALUES (1477977930175795200, 1477977301365739520, 'bc日照分公司', 0, '1', '2_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:19:33', 1399985191002447872, '2022-01-03 20:19:33', 0, 0); -INSERT INTO `iam_dept` VALUES (1477978464559484928, 1477977592291053568, '历城办事部', 0, '2', '1_1_1', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:21:40', 1399985191002447872, '2022-01-03 20:21:40', 1, 0); -INSERT INTO `iam_dept` VALUES (1477978512177418240, 1477977592291053568, '历下办事部', 0, '2', '1_1_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:21:51', 1399985191002447872, '2022-01-03 20:21:52', 0, 0); -INSERT INTO `iam_dept` VALUES (1477978610865197056, 1477977592291053568, '高新办事部', 0, '2', '1_1_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:22:15', 1399985191002447872, '2022-01-03 20:22:15', 0, 0); -INSERT INTO `iam_dept` VALUES (1477978810526650368, 1477977827897692160, '奎文办事部', 0, '2', '1_2_1', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:23:03', 1399985191002447872, '2022-01-03 20:23:03', 0, 0); -INSERT INTO `iam_dept` VALUES (1477978883247493120, 1477977827897692160, '潍城办事部', 0, '2', '1_2_2', '', NULL, '', '', 1399985191002447872, '2022-01-03 20:23:20', 1399985191002447872, '2022-01-03 20:23:20', 0, 0); +INSERT INTO `demo_data_sensitive` VALUES (1506942377435037696, '刘向东', '123456', '372921199302021125', '13324591123', '鲁A8S8866', 'bootx123@outlook.com', '测试测试测试测试测试测试测试问题', 1399985191002447872, '2022-03-24 18:33:55', 1399985191002447872, '2022-03-24 18:36:09', 2, 0); +INSERT INTO `demo_data_sensitive` VALUES (1506943326094352384, '成是非', '99885511', '101278112512107721', '18855446622', '汉S123456', 'chengshifei@foxmail.com', '这个就是就是就是就是就是就是这样的', 1399985191002447872, '2022-03-24 18:33:55', 1399985191002447872, '2022-03-24 18:35:00', 1, 0); -- ---------------------------- --- Table structure for iam_login_type +-- Table structure for demo_data_encrypt -- ---------------------------- -DROP TABLE IF EXISTS `iam_login_type`; -CREATE TABLE `iam_login_type` ( +DROP TABLE IF EXISTS `demo_data_encrypt`; +CREATE TABLE `demo_data_encrypt` ( `id` bigint(20) NOT NULL, - `code` varchar(21) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型', - `system` bit(1) NOT NULL COMMENT '是否系统内置', - `timeout` bigint(11) NULL DEFAULT NULL COMMENT '在线时长 秒', - `captcha` bit(1) NOT NULL COMMENT '启用验证码', - `pwd_err_num` int(8) NOT NULL COMMENT '密码错误次数', - `enable` bit(1) NOT NULL COMMENT '是否可用', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内容', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '版本', `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '登录方式' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据加密解密演示' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_login_type +-- Records of demo_data_encrypt -- ---------------------------- -INSERT INTO `iam_login_type` VALUES (1430430071299207168, 'password', '账号密码登陆', 'password', b'1', 3600, b'0', -1, b'1', NULL, 1399985191002447872, '2021-08-25 15:21:20', 1399985191002447872, '2022-11-03 22:24:53', 20, 0); -INSERT INTO `iam_login_type` VALUES (1430478946919653376, 'miniApp', '微信小程序', 'openId', b'0', 99999, b'0', 0, b'1', NULL, 1399985191002447872, '2021-08-25 18:35:33', 1399985191002447872, '2022-07-16 12:32:26', 3, 0); -INSERT INTO `iam_login_type` VALUES (1435138582839009280, 'phone', '手机短信登录', 'openId', b'0', 3600, b'0', 0, b'1', NULL, 1399985191002447872, '2021-09-07 15:11:16', 1399985191002447872, '2022-07-16 12:32:19', 5, 0); -INSERT INTO `iam_login_type` VALUES (1542091599907115008, 'dingTalk', '钉钉', 'openId', b'0', 5, b'0', -1, b'1', '', 1399985191002447872, '2022-06-29 18:24:23', 1399985191002447872, '2022-07-02 14:55:01', 5, 0); -INSERT INTO `iam_login_type` VALUES (1542804450312122368, 'weCom', '企业微信', 'openId', b'0', 5, b'0', -1, b'1', '', 1399985191002447872, '2022-07-01 17:37:00', 1399985191002447872, '2022-07-01 17:37:00', 0, 0); -INSERT INTO `iam_login_type` VALUES (1543126042909016064, 'weChat', '微信登录', 'openId', b'0', 5, b'0', -1, b'1', '', 1399985191002447872, '2022-07-02 14:54:53', 0, '2022-10-12 22:15:05', 2, 0); -INSERT INTO `iam_login_type` VALUES (1626845524617203712, 'passwordGoView', '可视化平台登录', 'password', b'0', 3600, b'0', -1, b'1', '', 1414143554414059520, '2023-02-18 15:26:13', 1414143554414059520, '2023-02-18 15:26:13', 0, 0); +INSERT INTO `demo_data_encrypt` VALUES (1506922411881103360, '测试加密效果', 'eI2RIrRLG+QUna3jMK+kejyJTTKdPFhaYWP4EhktJ2lkGTEsIxZesetNTzcqUA934ZN/OUdw4aj4t5Q+u1sH7A==', 1399985191002447872, '2022-03-24 17:14:35', 1399985191002447872, '2022-03-24 17:23:41', 1, 0); +INSERT INTO `demo_data_encrypt` VALUES (1506943412354408448, '测试下', 'Dgv5OSNiXuknceoZzeOUOQ==', 1399985191002447872, '2022-03-24 17:14:35', 1399985191002447872, '2022-03-24 17:23:41', 1, 0); -- ---------------------------- --- Table structure for iam_perm_menu +-- Table structure for common_sequence_range -- ---------------------------- -DROP TABLE IF EXISTS `iam_perm_menu`; -CREATE TABLE `iam_perm_menu` ( +DROP TABLE IF EXISTS `common_sequence_range`; +CREATE TABLE `common_sequence_range` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `range_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '区间key', + `range_value` bigint(20) NOT NULL COMMENT '区间开始值', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '序列生成器队列区间管理' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of common_sequence_range +-- ---------------------------- +INSERT INTO `common_sequence_range` VALUES (1470679520373862400, 'Sequence:cs', 2006, 0, '2021-12-14 16:58:16', 0, '2021-12-14 16:58:16', 6, 0); +INSERT INTO `common_sequence_range` VALUES (1470679955230908416, 'cs', 2020, 0, '2021-12-14 17:00:00', 0, '2021-12-14 17:00:00', 13, 0); + +-- ---------------------------- +-- Table structure for base_dynamic_form +-- ---------------------------- +DROP TABLE IF EXISTS `base_dynamic_form`; +CREATE TABLE `base_dynamic_form` ( `id` bigint(20) NOT NULL, - `client_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '终端code', - `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父id', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单名称', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路由名称', - `perm_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单权限编码', - `effect` bit(1) NULL DEFAULT NULL COMMENT '是否有效', - `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单图标', - `hidden` bit(1) NOT NULL COMMENT '是否隐藏', - `hide_children_in_menu` bit(1) NOT NULL COMMENT '是否隐藏子菜单', - `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件', - `component_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件名字', - `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路径', - `redirect` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单跳转地址(重定向)', - `sort_no` double NOT NULL COMMENT '菜单排序', - `menu_type` int(5) NOT NULL COMMENT '类型(0:一级菜单;1:子菜单 ;2:按钮权限)', - `leaf` bit(1) NULL DEFAULT NULL COMMENT '是否叶子节点', - `keep_alive` bit(1) NULL DEFAULT NULL COMMENT '是否缓存页面', - `target_outside` bit(1) NULL DEFAULT NULL COMMENT '是否外部打开方式', - `hidden_header_content` bit(1) NULL DEFAULT NULL COMMENT '隐藏的标题内容', - `admin` bit(1) NOT NULL COMMENT '系统菜单', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表单名称', + `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表单键名', + `value` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '表单内容', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + `version` int(8) NOT NULL COMMENT '版本', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '动态表单' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of base_dynamic_form +-- ---------------------------- +INSERT INTO `base_dynamic_form` VALUES (1552656018381422592, '测试表单', 'test', '{\"list\":[{\"type\":\"input\",\"label\":\"输入框\",\"options\":{\"type\":\"text\",\"width\":\"100%\",\"defaultValue\":\"\",\"placeholder\":\"请输入\",\"clearable\":true,\"maxLength\":null,\"addonBefore\":\"\",\"addonAfter\":\"\",\"hidden\":false,\"disabled\":false},\"model\":\"aa\",\"key\":\"input_1659059676533\",\"help\":\"测试\",\"rules\":[{\"required\":true,\"message\":\"必填项\"}]},{\"type\":\"textarea\",\"label\":\"文本框\",\"options\":{\"width\":\"100%\",\"minRows\":4,\"maxRows\":6,\"maxLength\":null,\"defaultValue\":\"\",\"clearable\":true,\"hidden\":false,\"disabled\":false,\"placeholder\":\"请输入\"},\"model\":\"bb\",\"key\":\"textarea_1659020414125\",\"help\":\"\",\"rules\":[{\"required\":true,\"message\":\"必填项\"}]},{\"type\":\"slider\",\"label\":\"滑动输入条\",\"options\":{\"width\":\"100%\",\"defaultValue\":34,\"disabled\":false,\"hidden\":false,\"min\":0,\"max\":100,\"step\":1,\"showInput\":false},\"model\":\"cc\",\"key\":\"slider_1659020433092\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]}],\"config\":{\"layout\":\"horizontal\",\"labelCol\":{\"xs\":4,\"sm\":4,\"md\":4,\"lg\":4,\"xl\":4,\"xxl\":4},\"labelWidth\":100,\"labelLayout\":\"flex\",\"wrapperCol\":{\"xs\":18,\"sm\":18,\"md\":18,\"lg\":18,\"xl\":18,\"xxl\":18},\"hideRequiredMark\":false,\"customStyle\":\"\"}}', '测试动态表单', 1399985191002447872, '2022-07-28 22:03:36', 1399985191002447872, '2022-07-29 09:55:22', 0, 7); +INSERT INTO `base_dynamic_form` VALUES (1552656018381422593, '测试表单1', 'test1', '{\"list\":[{\"type\":\"input\",\"label\":\"申请人\",\"options\":{\"type\":\"text\",\"width\":\"100%\",\"defaultValue\":\"\",\"placeholder\":\"请输入\",\"clearable\":true,\"maxLength\":null,\"addonBefore\":\"\",\"addonAfter\":\"\",\"hidden\":false,\"disabled\":false},\"model\":\"apply_by\",\"key\":\"input_1659059676533\",\"help\":\"测试\",\"rules\":[{\"required\":true,\"message\":\"必填项\"}]},{\"type\":\"input\",\"label\":\"请假天数\",\"options\":{\"type\":\"text\",\"width\":\"100%\",\"defaultValue\":\"\",\"placeholder\":\"请输入\",\"clearable\":false,\"maxLength\":null,\"addonBefore\":\"\",\"addonAfter\":\"\",\"hidden\":false,\"disabled\":false},\"model\":\"leave_days\",\"key\":\"input_1662106166142\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]},{\"type\":\"textarea\",\"label\":\"备注\",\"options\":{\"width\":\"100%\",\"minRows\":4,\"maxRows\":6,\"maxLength\":null,\"defaultValue\":\"\",\"clearable\":true,\"hidden\":false,\"disabled\":false,\"placeholder\":\"请输入\"},\"model\":\"remark\",\"key\":\"textarea_1659020414125\",\"help\":\"\",\"rules\":[{\"required\":true,\"message\":\"必填项\"}]},{\"type\":\"switch\",\"label\":\"开关\",\"options\":{\"defaultValue\":false,\"hidden\":false,\"disabled\":false},\"model\":\"switch_1662108221389\",\"key\":\"switch_1662108221389\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]},{\"type\":\"slider\",\"label\":\"滑动输入条\",\"options\":{\"width\":\"100%\",\"defaultValue\":34,\"disabled\":false,\"hidden\":false,\"min\":0,\"max\":100,\"step\":1,\"showInput\":false},\"model\":\"cc\",\"key\":\"slider_1659020433092\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]},{\"type\":\"table\",\"label\":\"表格布局\",\"trs\":[{\"tds\":[{\"colspan\":1,\"rowspan\":1,\"list\":[]},{\"colspan\":1,\"rowspan\":1,\"list\":[]}]},{\"tds\":[{\"colspan\":1,\"rowspan\":1,\"list\":[{\"type\":\"editor\",\"label\":\"富文本\",\"icon\":\"icon-LC_icon_edit_line_1\",\"list\":[],\"options\":{\"height\":300,\"placeholder\":\"请输入\",\"defaultValue\":\"\",\"chinesization\":true,\"hidden\":false,\"disabled\":false,\"showLabel\":false,\"width\":\"100%\"},\"model\":\"editor_1662106288134\",\"key\":\"editor_1662106288134\",\"help\":\"\",\"rules\":[{\"required\":false,\"message\":\"必填项\"}]}]},{\"colspan\":1,\"rowspan\":1,\"list\":[]}]}],\"options\":{\"width\":\"100%\",\"bordered\":true,\"bright\":false,\"small\":true,\"customStyle\":\"\"},\"key\":\"table_1662106283652\"}],\"config\":{\"layout\":\"vertical\",\"labelCol\":{\"xs\":6,\"sm\":6,\"md\":6,\"lg\":6,\"xl\":6,\"xxl\":6},\"labelWidth\":100,\"labelLayout\":\"Grid\",\"wrapperCol\":{\"xs\":18,\"sm\":18,\"md\":18,\"lg\":18,\"xl\":18,\"xxl\":18},\"hideRequiredMark\":false,\"customStyle\":\"\"}}', '测试动态表单', 1399985191002447872, '2022-07-28 22:03:36', 1414143554414059520, '2022-09-02 16:44:01', 0, 12); + +-- ---------------------------- +-- Table structure for notice_message_template +-- ---------------------------- +DROP TABLE IF EXISTS `notice_message_template`; +CREATE TABLE `notice_message_template` ( + `id` bigint(20) NOT NULL, + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', + `data` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模板数据', + `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板类型', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '版本', `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '权限_菜单' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息模板' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_perm_menu +-- Records of notice_message_template -- ---------------------------- -INSERT INTO `iam_perm_menu` VALUES (1414596052497092608, 'admin', NULL, '系统管理', 'system', '', NULL, 'desktop', b'0', b'0', 'RouteView', '', '/system', '/system/user', -99999, 0, b'0', b'1', b'0', b'0', b'1', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-27 10:02:16', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1414596647509446656, 'admin', 1452569691537256448, '用户管理', 'User', '', NULL, '', b'0', b'0', 'system/user/UserList', '', '/system/userAuth/user', '', 0, 1, b'0', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-27 10:17:40', 4, 0); -INSERT INTO `iam_perm_menu` VALUES (1414596773275652096, 'admin', 1414596052497092608, '菜单管理', 'Menu', '', NULL, '', b'0', b'0', 'system/menu/MenuList', '', '/system/permission/menu', '', 0, 1, b'0', b'1', b'0', b'0', b'1', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-26 23:56:16', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1414596805538238464, 'admin', 1452569339987472384, '角色管理', 'Role', '', NULL, '', b'0', b'0', 'system/role/RoleList', '', '/system/permission/role', '', 0, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-26 23:56:04', 4, 0); -INSERT INTO `iam_perm_menu` VALUES (1414596842322284544, 'admin', 1452569691537256448, '部门管理', 'Dept', '', NULL, '', b'0', b'0', 'system/dept/DeptList', '', '/system/userAuth/dept', '', 0, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-26 23:56:31', 7, 0); -INSERT INTO `iam_perm_menu` VALUES (1414596877617352704, 'admin', 1452571269199540224, '数据字典', 'Dict', '', b'0', '', b'0', b'0', 'system/dict/DictList', '', '/system/config/dict', '', 0, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2022-05-19 09:04:55', 11, 0); -INSERT INTO `iam_perm_menu` VALUES (1431082258161434624, 'admin', 1452569691537256448, '在线用户管理', 'OnlineUser', '', NULL, '', b'0', b'0', 'system/online/OnlineUserList', NULL, '/system/userAuth/online', '', 0, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:32:53', 1399985191002447872, '2021-08-27 10:32:53', 6, 0); -INSERT INTO `iam_perm_menu` VALUES (1431083330909208576, 'admin', 1541427353886859264, '登录方式', 'LoginType', '', b'0', '', b'0', b'0', 'system/client/LoginTypeList', NULL, '/system/config/loginType', '', 9, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:37:09', 1399985191002447872, '2022-07-05 21:18:12', 11, 0); -INSERT INTO `iam_perm_menu` VALUES (1431089129232498688, 'admin', 1452569339987472384, '请求权限管理', 'Path', '', NULL, '', b'0', b'0', 'system/path/PathList', NULL, '/system/permission/path', '', 0, 1, b'1', b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 11:00:11', 1399985191002447872, '2021-08-27 11:00:11', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1431152689832525824, 'admin', NULL, '系统监控', 'monitor', '', b'0', 'radar-chart', b'0', b'0', 'RouteView', NULL, '/monitor', '', 0, 0, b'1', b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2021-08-27 15:12:45', 1399985191002447872, '2022-06-17 17:57:30', 21, 0); -INSERT INTO `iam_perm_menu` VALUES (1431153358157348864, 'admin', 1431152689832525824, '接口文档', 'ApiSwagger', '', b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/doc.html', '', 0, 1, b'1', b'1', b'1', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 15:15:25', 1399985191002447872, '2022-10-14 17:47:12', 18, 0); -INSERT INTO `iam_perm_menu` VALUES (1435143678721236992, 'admin', 1452567897717321728, '登录日志', 'LoginLog', '', b'0', '', b'0', b'0', 'starter/log/LoginLogList', NULL, '/monitor/log/loginLog', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-07 15:31:31', 1399985191002447872, '2022-10-20 20:38:06', 6, 0); -INSERT INTO `iam_perm_menu` VALUES (1435476255797624832, 'admin', 1452567897717321728, '操作日志', 'OperateLog', '', b'0', '', b'0', b'0', 'starter/log/OperateLogList', NULL, '/monitor/log/OperateLog', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-08 13:33:04', 1399985191002447872, '2022-10-20 20:38:12', 8, 0); -INSERT INTO `iam_perm_menu` VALUES (1438061887002759168, 'admin', NULL, '通知管理', 'notice', '', NULL, 'message', b'0', b'0', 'RouteView', NULL, '/notice', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-15 16:47:26', 1399985191002447872, '2021-09-15 16:47:26', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1438072357281542144, 'admin', 1438061887002759168, '邮件配置', 'MailConfig', '', NULL, '', b'0', b'0', 'notice/mail/MailConfigList', NULL, '/notice/mailConfig', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-15 17:29:03', 1399985191002447872, '2021-09-15 17:29:03', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1439196893514031104, 'admin', 1438061887002759168, '消息模板', 'MessageTemplate', '', NULL, '', b'0', b'0', 'notice/template/TemplateList', NULL, '/notice/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-18 19:57:33', 1399985191002447872, '2021-09-18 19:57:33', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1440216178722050048, 'admin', 1438061887002759168, '钉钉', 'DingTalk', '', NULL, '', b'0', b'0', 'RouteView', NULL, '/notice/dingTalk', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-21 15:27:50', 1399985191002447872, '2021-09-21 15:27:50', 0, 1); -INSERT INTO `iam_perm_menu` VALUES (1440216612211757056, 'admin', 1450822511087271936, '钉钉机器人', 'DingTalkRobot', '', b'0', '', b'0', b'0', 'third/dingtalk/robot/DingRobotConfigList', NULL, '/third/dingTalk/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-09-21 15:29:33', 1399985191002447872, '2022-07-26 13:34:35', 5, 0); -INSERT INTO `iam_perm_menu` VALUES (1450473063320526848, 'admin', 1452569691537256448, '第三方登录', 'Social', '', b'0', '', b'1', b'0', 'system/social/SocialList', NULL, '/system/userAuth/social', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-19 22:45:01', 1399985191002447872, '2022-07-26 13:35:47', 5, 0); -INSERT INTO `iam_perm_menu` VALUES (1450803906215886848, 'admin', 1452571269199540224, '定时任务', 'QuartzJobList', '', NULL, '', b'0', b'0', 'starter/quartz/QuartzJobList', NULL, '/system/config/quartz', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 20:39:41', 1399985191002447872, '2021-10-20 20:39:41', 5, 0); -INSERT INTO `iam_perm_menu` VALUES (1450819607680991232, 'admin', NULL, '第三方对接', 'third', '', b'0', 'branches', b'0', b'0', 'RouteView', NULL, '/third', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 21:42:04', 1399985191002447872, '2022-07-26 13:34:02', 4, 0); -INSERT INTO `iam_perm_menu` VALUES (1450821723027881984, 'admin', 1450819607680991232, '微信', 'WeChat', '', b'0', '', b'0', b'0', 'RouteView', NULL, '/third/wechat', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 21:50:28', 1399985191002447872, '2022-08-03 23:23:10', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1450821877831254016, 'admin', 1450819607680991232, '企业微信', 'WeCom', '', b'0', '', b'0', b'0', 'RouteView', NULL, '/third/wecom', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 21:51:05', 1399985191002447872, '2022-08-03 23:22:58', 4, 0); -INSERT INTO `iam_perm_menu` VALUES (1450822511087271936, 'admin', 1450819607680991232, '钉钉', 'DingTalk', '', b'0', '', b'0', b'0', 'RouteView', NULL, '/third/dingtalk', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 21:53:36', 1399985191002447872, '2022-08-03 23:23:29', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1450827660459458560, 'admin', 1438061887002759168, '微信', 'NoticeWeChat', '', b'0', '', b'0', b'0', 'Dev', NULL, '/notice/wechat', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-20 22:14:04', 1399985191002447872, '2022-06-21 20:53:04', 1, 1); -INSERT INTO `iam_perm_menu` VALUES (1452567897717321728, 'admin', 1431152689832525824, '审计日志', 'auditLog', '', b'0', '', b'0', b'0', 'RouteView', NULL, '/monitor/log', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-25 17:29:09', 1399985191002447872, '2022-10-20 20:37:46', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1452569339987472384, 'admin', 1414596052497092608, '权限管理', 'permission', '', NULL, '', b'0', b'0', 'RouteView', NULL, '/system/permission', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-25 17:34:53', 1399985191002447872, '2021-10-25 17:34:53', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1452569691537256448, 'admin', 1414596052497092608, '用户信息', 'userAuth', '', NULL, '', b'0', b'0', 'RouteView', NULL, '/system/userAuth', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-25 17:36:17', 1399985191002447872, '2021-10-25 17:36:17', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1452571269199540224, 'admin', 1414596052497092608, '系统配置', 'systemConfig', '', NULL, '', b'0', b'0', 'RouteView', NULL, '/system/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-25 17:42:33', 1399985191002447872, '2021-10-25 17:42:33', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1452638905302966272, 'admin', 1452571269199540224, '系统参数', 'SystemParam', '', NULL, '', b'0', b'0', 'system/param/SystemParamList', NULL, '/system/config/param', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-10-25 22:11:18', 1399985191002447872, '2021-10-25 22:11:18', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1474694545336676352, 'admin', 1452569339987472384, '数据范围权限', 'DataScope', '', NULL, '', b'0', b'0', 'system/scope/DataScopeList', NULL, '/system/permission/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-12-25 18:52:33', 1399985191002447872, '2021-12-25 18:52:33', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1480839877352476672, 'admin', 1452567897717321728, '数据版本日志', 'DataVersionLog', NULL, b'0', '', b'0', b'0', 'starter/log/DataVersionLogList', NULL, '/monitor/log/DataVersionLog', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-01-11 17:51:54', 1399985191002447872, '2022-10-20 20:38:18', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1490984296616263680, 'admin', 1552207982510706688, '文件管理', 'FIleUpLoad', NULL, b'0', '', b'0', b'0', 'develop/file/FileUploadList', NULL, '/develop/file', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-02-08 17:42:12', 1399985191002447872, '2022-07-28 09:16:56', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1495013564652429312, 'admin', 1552207982510706688, '代码生成', 'CodeGen', NULL, b'0', '', b'0', b'0', 'develop/codegen/CodeGenList', NULL, '/develop/codegen', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-02-19 20:33:04', 1399985191002447872, '2022-07-27 16:25:05', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1495968302034210816, 'admin', NULL, '功能演示', 'Demo', NULL, b'0', 'block', b'0', b'0', 'RouteView', NULL, '/demo', '', 99, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-02-22 11:46:52', 1399985191002447872, '2022-05-10 11:02:05', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1495969099987963904, 'admin', 1495968302034210816, '数据相关', 'DemoData', NULL, b'0', '', b'0', b'0', 'RouteView', NULL, '/demo/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-02-22 11:50:02', 1399985191002447872, '2022-03-24 16:27:46', 4, 0); -INSERT INTO `iam_perm_menu` VALUES (1496020308992143360, 'admin', 1495968302034210816, '超级查询', 'SuperQueryDemo', NULL, b'0', '', b'0', b'0', 'demo/query/SuperQueryDemoList', NULL, '/demo/query/super', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-02-22 15:13:31', 1399985191002447872, '2022-05-27 17:34:41', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1506910599819165696, 'admin', 1495969099987963904, '数据权限', 'DataPermDemoList', NULL, b'0', '', b'0', b'0', 'demo/data/perm/DataPermDemoList', NULL, '/demo/data/perm', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-03-24 16:27:39', 1399985191002447872, '2022-03-24 16:28:56', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1506910885463851008, 'admin', 1495969099987963904, '加密解密', 'DataEncryptDemo', NULL, b'0', '', b'0', b'0', 'demo/data/encrypt/DataEncryptDemoList', NULL, '/demo/data/encrypt', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-03-24 16:28:47', 1399985191002447872, '2022-03-24 16:28:47', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1506911113394913280, 'admin', 1495969099987963904, '数据脱敏', 'DataSensitiveDemo', NULL, b'0', '', b'0', b'0', 'demo/data/sensitive/DataSensitiveDemoList', NULL, '/demo/data/sensitive', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-03-24 16:29:41', 1399985191002447872, '2022-03-24 17:16:03', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1507998458886197248, 'admin', 1495968302034210816, 'WS演示', 'WebsocketDemo', NULL, b'0', '', b'0', b'0', 'demo/ws/WebsocketDemo', NULL, '/demo/ws', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-03-27 16:30:25', 1399985191002447872, '2022-03-27 16:30:25', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1509488473583562752, 'admin', 1495968302034210816, '幂等请求演示', 'IdempotentDemo', NULL, b'0', '', b'0', b'0', 'demo/idempotent/Idempotent', NULL, '/demo/idempotent', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-03-31 19:11:12', 1399985191002447872, '2022-05-27 17:35:00', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1511266086400524288, 'admin', 1450822511087271936, '钉钉配置', 'DingTalkConfig', NULL, b'0', '', b'1', b'0', 'third/dingtalk/config/DingTalkConfigList', NULL, '/third/dingtalk/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-04-05 16:54:48', 1399985191002447872, '2022-07-26 13:34:44', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1530120084482084864, 'admin', 1495968302034210816, '消息中间件演示', 'MQDemo', NULL, b'0', '', b'0', b'0', 'demo/mq/MqDemo', NULL, '/demo/mq', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-05-27 17:33:51', 1399985191002447872, '2022-05-31 15:12:15', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1530120684645044224, 'admin', 1530120084482084864, 'MQTT消息', 'MqttDemo', NULL, b'0', '', b'0', b'0', '', NULL, '/demo/mq/mqtt', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-05-27 17:36:14', 1399985191002447872, '2022-05-27 17:36:14', 0, 1); -INSERT INTO `iam_perm_menu` VALUES (1530120821144473600, 'admin', 1530120084482084864, 'RabbitMQ', 'RabbitDemo', NULL, b'0', '', b'0', b'0', '', NULL, '/demo/mq/rabbit', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-05-27 17:36:47', 1399985191002447872, '2022-05-27 17:36:47', 0, 1); -INSERT INTO `iam_perm_menu` VALUES (1534000136370204672, 'admin', 1431152689832525824, 'ELK日志', 'ELK', '', b'0', '', b'1', b'0', '', NULL, 'http://elk.dev.bootx.cn:5601/app/discover', '', 0, 1, NULL, b'1', b'1', b'0', b'0', NULL, 1399985191002447872, '2022-06-07 10:31:48', 1399985191002447872, '2022-06-07 10:31:48', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1534008203006652416, 'admin', 1431152689832525824, 'PlumeLog日志', 'PlumeLog', '', b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/plumelog/#/', '', 0, 1, NULL, b'1', b'1', b'0', b'0', NULL, 1399985191002447872, '2022-06-07 11:03:51', 1399985191002447872, '2022-06-07 11:06:13', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1535451167008436224, 'admin', 1431152689832525824, '系统信息', 'SysInfo', NULL, b'0', '', b'0', b'0', 'starter/monitor/SystemInfoMonitor', NULL, '/monitor/sysinfo', '', 0, 1, NULL, b'0', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-06-11 10:37:40', 1399985191002447872, '2022-06-13 13:07:46', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1535965936371085312, 'admin', 1431152689832525824, 'Redis监控', 'RedisInfoMonitor', NULL, b'0', '', b'0', b'0', 'starter/monitor/RedisInfoMonitor', NULL, '/monitor/redis', '', 0, 1, NULL, b'0', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-06-12 20:43:11', 1399985191002447872, '2022-06-13 13:07:38', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1537730140522348544, 'admin', 1438061887002759168, '站内信', 'SiteMessageSender', '', b'0', '', b'0', b'0', 'notice/site/sender/SiteMessageList', NULL, '/notice/siteMessage', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-06-17 17:33:30', 1399985191002447872, '2022-08-20 21:12:30', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1538160478872625152, 'admin', 1495968302034210816, '富文本编辑', 'WangEditorDemo', NULL, b'0', '', b'0', b'0', 'demo/wangeditor/WangEditorDemo', NULL, '/demo/wangEditor', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-06-18 22:03:30', 1399985191002447872, '2022-06-18 22:03:31', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1541355214204030976, 'admin', 1541427353886859264, '认证终端', 'Client', '', b'0', '', b'0', b'0', 'system/client/ClientList', NULL, '/system/config/client', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2021-08-27 10:37:08', 1399985191002447872, '2022-07-05 21:17:45', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1541427353886859264, 'admin', 1414596052497092608, '认证管理', 'Auth', '', b'0', '', b'0', b'0', 'RouteView', NULL, '/system/auth', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-06-27 22:24:54', 1399985191002447872, '2022-06-27 22:24:54', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1551803592828932096, 'admin', 1450821877831254016, '企微机器人', 'WeComRobot', '', b'0', '', b'0', b'0', 'third/wecom/robot/WeComRobotConfigList', NULL, '/third/wecom/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-07-26 13:36:22', 1399985191002447872, '2022-10-24 11:07:27', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1552207982510706688, 'admin', NULL, '开发管理', 'develop', NULL, b'0', 'gold', b'0', b'0', 'RouteView', NULL, '/develop', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-07-27 16:23:16', 1399985191002447872, '2022-07-27 16:39:09', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1552208167664062464, 'admin', 1552207982510706688, '动态表单', 'DynamicForm', NULL, b'0', '', b'0', b'0', 'develop/dynamicform/DynamicFormList', NULL, '/develop/form', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-07-27 16:24:00', 1399985191002447872, '2022-07-27 16:38:05', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1554720980865380352, 'admin', 1495968302034210816, '消息通知', 'NoticeDemo', NULL, b'0', '', b'0', b'0', 'RouteView', NULL, '/demo/notice', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-08-03 14:49:02', 1399985191002447872, '2022-08-03 14:49:02', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1554721654336385024, 'admin', 1554720980865380352, '邮件发送', 'EmailDemo', NULL, b'0', '', b'0', b'0', 'demo/notice/email/EmailSender', NULL, '/demo/notice/email', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-08-03 14:51:42', 1399985191002447872, '2022-08-03 14:51:42', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1554850179754975232, 'admin', 1450821723027881984, '消息模板', 'WeChatTemplate', NULL, b'0', '', b'0', b'0', 'third/wechat/template/WeChatTemplateList', NULL, '/third/wechat/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-08-03 23:22:25', 1399985191002447872, '2022-08-03 23:23:18', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1555835229426368512, 'admin', 1450821723027881984, '自定义菜单', 'WeChatMenu', NULL, b'0', '', b'0', b'0', 'third/wechat/menu/WeChatMenuList', NULL, '/third/wechat/menu', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-08-06 16:36:39', 1399985191002447872, '2022-08-08 12:14:14', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1556997405528805376, 'admin', 1450821723027881984, '素材管理', 'WeChatMedia', NULL, b'0', '', b'0', b'0', 'third/wechat/media/WeChatMediaList', NULL, '/third/wechat/media', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-08-09 21:34:44', 1399985191002447872, '2022-08-09 21:34:44', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1573669546890297344, 'admin', 1552207982510706688, '动态数据源', 'DynamicSource', NULL, b'0', '', b'0', b'0', 'develop/dynamicsource/DynamicDataSourceList', NULL, '/develop/source', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-09-24 21:43:52', 1399985191002447872, '2022-09-24 21:43:52', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1580740450633101312, 'adminv3', NULL, '系统管理', 'System', NULL, b'0', 'ant-design:setting-outlined', b'0', b'0', 'Layout', NULL, '/system', '/system1/client', -99999, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:01:07', 1414143554414059520, '2022-10-18 15:32:09', 4, 0); -INSERT INTO `iam_perm_menu` VALUES (1580740637841666048, 'adminv3', 1582253306356649984, '终端管理', 'ClientList', NULL, b'0', '', b'0', b'0', '/modules/system/client/ClientList.vue', NULL, '/system/client', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:01:51', 1414143554414059520, '2022-10-18 14:13:27', 5, 0); -INSERT INTO `iam_perm_menu` VALUES (1580740758629232640, 'adminv3', 1582253306356649984, '登录方式', 'LoginTypeList', NULL, b'0', '', b'0', b'0', '/modules/system/loginType/LoginTypeList.vue', NULL, '/system/loginType', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:02:20', 1414143554414059520, '2022-10-18 14:13:40', 5, 0); -INSERT INTO `iam_perm_menu` VALUES (1580858583654051840, 'adminv3', 1580740450633101312, '测试Iframe', 'Iframe', NULL, b'0', '', b'0', b'0', 'Iframe', NULL, '/system/Iframe', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 17:50:32', 1414143554414059520, '2022-10-17 17:46:19', 5, 1); -INSERT INTO `iam_perm_menu` VALUES (1580917438227075072, 'adminv3', 1580740450633101312, '三极目录', 'hello', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system1/a', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 21:44:24', 1399985191002447872, '2022-10-14 23:38:16', 2, 1); -INSERT INTO `iam_perm_menu` VALUES (1580917571069071360, 'adminv3', 1580917438227075072, '百度', 'baidu', NULL, b'0', '', b'0', b'0', '', NULL, 'https://www.baidu.com/', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 21:44:56', 1399985191002447872, '2022-10-14 23:37:44', 3, 1); -INSERT INTO `iam_perm_menu` VALUES (1580928436300337152, 'adminv3', 1580740450633101312, '菜单管理', 'MenuList', NULL, b'0', '', b'0', b'0', '/modules/system/menu/MenuList.vue', NULL, '/system/menu', '', -99, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 22:28:06', 1399985191002447872, '2022-10-14 22:28:32', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582249924602580992, 'adminv3', 1580740450633101312, '权限管理', 'Permission', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/permission', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 13:59:13', 1414143554414059520, '2022-10-18 13:59:13', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582253011803262976, 'adminv3', 1580740450633101312, '用户信息', 'UserAuth', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/user', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:11:30', 1414143554414059520, '2022-10-18 14:11:30', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582253152903843840, 'adminv3', 1580740450633101312, '系统配置', 'SystemConfig', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:12:03', 1414143554414059520, '2022-10-18 14:12:03', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582253306356649984, 'adminv3', 1580740450633101312, '认证管理', 'Auth', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/auth', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:12:40', 1414143554414059520, '2022-10-18 14:13:13', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582275875424129024, 'adminv3', NULL, '系统监控', 'Monitor', NULL, b'0', 'ant-design:monitor-outlined', b'0', b'0', 'Layout', NULL, '/monitor', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:21', 1414143554414059520, '2022-10-19 17:29:29', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582275984849326080, 'adminv3', NULL, '通知管理', 'Notice', NULL, b'0', 'ant-design:message-outlined', b'0', b'0', 'Layout', NULL, '/notice', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:47', 1414143554414059520, '2022-10-19 17:30:06', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582276092038959104, 'adminv3', NULL, '第三方对接', 'Third', NULL, b'0', 'ant-design:api-twotone', b'0', b'0', 'Layout', NULL, '/third', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:43:12', 1414143554414059520, '2022-10-19 17:32:04', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582276341792985088, 'adminv3', NULL, '开发管理', 'Develop', NULL, b'0', 'ant-design:apartment-outlined', b'0', b'0', 'Layout', NULL, '/develop', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:44:12', 1414143554414059520, '2022-10-19 15:24:22', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582276516905177088, 'adminv3', NULL, '功能演示', 'Demo', NULL, b'0', 'ant-design:appstore-twotone', b'0', b'0', 'Layout', NULL, '/demo', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:44:54', 1414143554414059520, '2022-10-19 17:34:26', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582277076421136384, 'adminv3', 1582249924602580992, '角色管理', 'RoleList', NULL, b'0', '', b'0', b'0', '/modules/system/role/RoleList.vue', NULL, '/system/permission/role', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:47:07', 1414143554414059520, '2022-10-18 15:59:37', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582301940364308480, 'adminv3', 1582249924602580992, '请求权限管理', 'PermPathList', NULL, b'0', '', b'0', b'0', '/modules/system/path/PermPathList.vue', NULL, '/system/permission/path', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:25:55', 1414143554414059520, '2022-10-18 20:41:22', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582302180999917568, 'adminv3', 1582249924602580992, '数据范围权限', 'DataScopeList', NULL, b'0', '', b'0', b'0', '/modules/system/scope/DataScopeList.vue', NULL, '/system/permission/scope', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:26:52', 1414143554414059520, '2022-10-18 17:26:52', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582302542955769856, 'adminv3', 1582253011803262976, '用户管理', 'UserList', NULL, b'0', '', b'0', b'0', '/modules/system/user/UserList.vue', NULL, '/system/user/info', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:28:19', 1414143554414059520, '2022-10-18 17:28:19', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582302764129808384, 'adminv3', 1582253011803262976, '部门管理', 'DeptList', NULL, b'0', '', b'0', b'0', '/modules/system/dept/DeptList.vue', NULL, '/system/user/dept', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:29:11', 1414143554414059520, '2022-10-18 17:32:26', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582303143110340608, 'adminv3', 1582253152903843840, '数据字典', 'DictList', NULL, b'0', '', b'0', b'0', '/modules/system/dict/DictList.vue', NULL, '/system/config/dict', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:30:42', 1414143554414059520, '2022-10-18 17:30:42', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582303290070364160, 'adminv3', 1582253152903843840, '定时任务', 'QuartzJobList', NULL, b'0', '', b'0', b'0', '/modules/baseapi/quartz/QuartzJobList.vue', NULL, '/system/config/quartz', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:17', 1414143554414059520, '2023-08-09 15:50:46', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1582303447428067328, 'adminv3', 1582253152903843840, '系统参数', 'SystemParamList', NULL, b'0', '', b'0', b'0', '/modules/system/param/SystemParamList.vue', NULL, '/system/config/param', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:54', 1414143554414059520, '2022-10-19 23:14:16', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582632873244172288, 'adminv3', 1582276341792985088, '文件管理', 'FileUploadList', NULL, b'0', '', b'0', b'0', '/modules/develop/file/FileUploadList.vue', NULL, '/develop/file', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:20:56', 1414143554414059520, '2022-10-19 15:20:56', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582633196587261952, 'adminv3', 1582276341792985088, '代码生成', 'CodeGenList', NULL, b'0', '', b'0', b'0', '/modules/develop/codegen/CodeGenList.vue', NULL, '/develop/codegen', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:13', 1414143554414059520, '2022-10-19 15:23:17', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582633307786649600, 'adminv3', 1582276341792985088, '动态表单', 'DynamicFormList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicform/DynamicFormList.vue', NULL, '/develop/form', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:39', 1414143554414059520, '2022-10-19 15:22:39', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582633620321017856, 'adminv3', 1582276341792985088, '动态数据源', 'DynamicDataSourceList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicsource/DynamicDataSourceList.vue', NULL, '/develop/source', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:23:54', 1414143554414059520, '2022-10-19 15:23:54', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583074308040925184, 'adminv3', 1582275875424129024, '接口文档', 'ApiSwagger', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/doc.html', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:35:02', 1414143554414059520, '2022-11-23 13:59:09', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1583075229563068416, 'adminv3', 1582275875424129024, '审计日志', 'AuditLog', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/monitor/log', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:38:42', 1414143554414059520, '2022-10-20 20:41:38', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076217481043968, 'adminv3', 1583075229563068416, '登录日志', 'LoginLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/login/LoginLogList.vue', NULL, '/monitor/log/login', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:42:37', 1414143554414059520, '2022-10-20 20:43:36', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076424935514112, 'adminv3', 1583075229563068416, '操作日志', 'OperateLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/operate/OperateLogList.vue', NULL, '/monitor/log/operate', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:43:26', 1414143554414059520, '2022-10-20 20:43:26', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076670881112064, 'adminv3', 1583075229563068416, '数据版本日志', 'DataVersionLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/data/DataVersionLogList.vue', NULL, '/monitor/log/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:44:25', 1414143554414059520, '2022-10-20 20:44:25', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076878956339200, 'adminv3', 1582275875424129024, 'ELK日志', 'ELK', NULL, b'0', '', b'1', b'0', '', NULL, 'http://elk.dev.bootx.cn:5601/app/discover', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:15', 1414143554414059520, '2023-08-12 19:26:12', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1583077015434797056, 'adminv3', 1582275875424129024, 'PlumeLog日志', 'PlumeLog', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/plumelog/#/', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:47', 1414143554414059520, '2022-10-20 20:45:47', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583077198772019200, 'adminv3', 1582275875424129024, '系统信息', 'SystemInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/system/SystemInfoMonitor.vue', NULL, '/monitor/sysinfo', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:46:31', 1414143554414059520, '2022-10-20 20:46:31', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583077360827342848, 'adminv3', 1582275875424129024, 'Redis监控', 'RedisInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/redis/RedisInfoMonitor.vue', NULL, '/monitor/redis', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:47:10', 1414143554414059520, '2022-10-20 20:47:10', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378294652051456, 'adminv3', 1582275984849326080, '邮件配置', 'MailConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/mail/MailConfigList.vue', NULL, '/notice/notice', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:56:36', 1414143554414059520, '2022-10-24 16:14:34', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378497824137216, 'adminv3', 1582275984849326080, '消息模板', 'MessageTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/template/MessageTemplateList.vue', NULL, '/notice/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:57:25', 1414143554414059520, '2022-10-25 22:14:14', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378671266996224, 'adminv3', 1582275984849326080, '站内信', 'SiteMessageList', NULL, b'0', '', b'0', b'0', '/modules/notice/site/sender/SiteMessageList.vue', NULL, '/notice/siteMessage', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:58:06', 1414143554414059520, '2022-10-24 10:58:06', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584379602188574720, 'adminv3', 1582276092038959104, '微信', 'WeChat', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wechat', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:01:48', 1414143554414059520, '2022-10-24 11:01:48', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584379704122744832, 'adminv3', 1582276092038959104, '企业微信', 'WeCom', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wecom', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:02:12', 1414143554414059520, '2022-10-24 11:02:12', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380087805091840, 'adminv3', 1582276092038959104, '钉钉', 'DingTalk', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/dingtalk', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:03:44', 1414143554414059520, '2022-10-24 11:03:44', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380527829524480, 'adminv3', 1584379602188574720, '消息模板', 'WechatTemplateList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/template/WechatTemplateList.vue', NULL, '/third/wechat/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:05:29', 1414143554414059520, '2022-10-26 15:58:56', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380679478779904, 'adminv3', 1584379602188574720, '自定义菜单', 'WechatMenuList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/menu/WechatMenuList.vue', NULL, '/third/wechat/menu', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:05', 1414143554414059520, '2022-10-27 10:15:24', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380824308097024, 'adminv3', 1584379602188574720, '素材管理', 'WechatMediaList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/media/WechatMediaList.vue', NULL, '/third/wechat/media', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:40', 1414143554414059520, '2022-10-27 16:38:47', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584381134950834176, 'adminv3', 1584379704122744832, '企微机器人', 'WeComRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/wecom/robot/WecomRobotConfigList.vue', NULL, '/third/wecom/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:07:54', 1414143554414059520, '2022-11-12 20:58:25', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1584381322184564736, 'adminv3', 1584380087805091840, '钉钉机器人', 'DingRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/dingtalk/robot/DingRobotConfigList.vue', NULL, '/third/dingTalk/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:08:38', 1414143554414059520, '2022-11-12 20:58:37', 6, 0); -INSERT INTO `iam_perm_menu` VALUES (1584381477986181120, 'adminv3', 1584380087805091840, '钉钉配置', 'DingRobotConfigList', NULL, b'0', '', b'1', b'0', '/modules/third/dingtalk/config/DingTalkConfigList.vue', NULL, '/third/dingtalk/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:09:15', 1414143554414059520, '2022-11-11 16:04:47', 1, 1); -INSERT INTO `iam_perm_menu` VALUES (1597044371008516096, 'adminv3', NULL, '功能演示', 'Demo', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/demo', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-11-28 09:47:04', 1414143554414059520, '2022-11-28 09:47:04', 0, 1); -INSERT INTO `iam_perm_menu` VALUES (1597102799370317824, 'adminv3', 1582276516905177088, '数据相关', 'DemoData', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/demo/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-11-28 13:39:15', 1414143554414059520, '2022-11-28 13:39:15', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1597210969883275264, 'adminv3', 1582276516905177088, '超级查询', 'SuperQueryDemoList', NULL, b'0', '', b'0', b'0', '/modules/demo/query/SuperQueryDemoList.vue', NULL, '/demo/query/super', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-11-28 20:49:05', 1414143554414059520, '2022-11-28 21:00:14', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1599337250200440832, 'adminv3', NULL, '关于', '', NULL, b'0', 'simple-icons:about-dot-me', b'0', b'0', '', NULL, '/about/index', '', 99, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 17:38:09', 1414143554414059520, '2022-12-04 17:43:32', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1599378494880436224, 'adminv3', 1582276516905177088, 'WS演示', 'WebsocketDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/ws/WebsocketDemo', NULL, '/demo/ws', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 20:22:03', 1414143554414059520, '2023-02-08 12:17:58', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1599378579513102336, 'adminv3', 1582276516905177088, '幂等请求演示', 'IdempotentDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/idempotent/IdempotentDemo', NULL, '/demo/idempotent', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 20:22:23', 1414143554414059520, '2023-02-08 11:46:00', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1599378728490586112, 'adminv3', 1582276516905177088, '消息中间件演示', 'MqDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/mq/MqDemo', NULL, '/demo/mq', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 20:22:59', 1414143554414059520, '2023-02-08 22:09:04', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1599378838519762944, 'adminv3', 1582276516905177088, '富文本编辑', 'WangEditorDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/wangeditor/WangEditorDemo.vue', NULL, '/demo/wangEditor', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 20:23:25', 1414143554414059520, '2023-02-10 09:05:16', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1617847577158324224, 'adminv3', 1597102799370317824, '数据权限', 'DataPermDemoList', NULL, b'0', '', b'0', b'0', '/modules/demo/data/perm/DataPermDemoList.vue', NULL, '/demo/data/perm', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-01-24 19:31:35', 1414143554414059520, '2023-01-24 20:06:04', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1617847653746315264, 'adminv3', 1597102799370317824, '加密解密', 'DataEncryptDemoList', NULL, b'0', '', b'0', b'0', '/modules/demo/data/encrypt/DataEncryptDemoList.vue', NULL, '/demo/data/encrypt', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-01-24 19:31:53', 1414143554414059520, '2023-01-24 20:05:45', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1617847747375763456, 'adminv3', 1597102799370317824, '数据脱敏', 'DataSensitiveDemoList', NULL, b'0', '', b'0', b'0', '/modules/demo/data/sensitive/DataSensitiveDemoList.vue', NULL, '/demo/data/sensitive', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-01-24 19:32:16', 1414143554414059520, '2023-01-24 20:06:58', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1621150743447965696, 'admin', 1495968302034210816, '省市区联动', 'ChinaRegionDemo', NULL, b'0', '', b'0', b'0', 'demo/chinaregion/ChinaRegionDemo', NULL, '/demo/chinaregion', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-02-02 22:17:11', 1399985191002447872, '2023-02-08 09:43:39', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1623156857846034432, 'adminv3', 1582276516905177088, '省市区联动', 'ChinaRegionDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/chinaregion/ChinaRegionDemo', NULL, '/demo/chinaregion', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-02-08 11:08:46', 1414143554414059520, '2023-02-08 11:08:46', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1623325795944439808, 'adminv3', 1599378992811429888, '邮件通知', 'EmailSenderDemo', NULL, b'0', '', b'0', b'0', '/modules/demo/notice/email/EmailSenderDemo.vue', NULL, '/demo/notice/email', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-02-08 22:20:04', 1414143554414059520, '2023-02-20 10:38:55', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1623494586215579648, 'admin', 1552207982510706688, '行政区划', 'ChinaRegion', NULL, b'0', '', b'1', b'0', 'develop/region/ChinaRegionList', NULL, '/develop/region', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-02-09 09:30:47', 1399985191002447872, '2023-02-09 17:50:05', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1629039360928075776, 'adminv3', 1582276341792985088, '可视化大屏', 'ProjectInfoList', NULL, b'0', '', b'0', b'0', '/modules/develop/report/ProjectInfoList', NULL, '/develop/report', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-02-24 16:43:44', 1414143554414059520, '2023-02-24 16:44:17', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1631946120891707392, 'admin', 1552207982510706688, '可视化大屏', 'ProjectInfoList', NULL, b'0', '', b'0', b'0', 'develop/report/ProjectInfoList', NULL, '/develop/report', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-03-04 17:14:10', 1399985191002447872, '2023-03-04 17:14:10', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1635274568758435840, 'adminv3', 1582276341792985088, 'SQL查询语句', 'QuerySqlList', NULL, b'0', '', b'0', b'0', '/modules/develop/query/QuerySqlList', NULL, '/develop/querySql', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-03-13 21:40:14', 1414143554414059520, '2023-03-13 21:43:05', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1687369862646558720, 'adminv3', 1582275984849326080, '短信管理', 'Sms', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/notice/sms', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:48:20', 1414143554414059520, '2023-08-04 15:48:32', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1687370142234669056, 'adminv3', 1687369862646558720, '短信配置', 'SmsChannelConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/config/SmsChannelConfigList', NULL, '/notice/sms/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:26', 1414143554414059520, '2023-08-04 15:49:26', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1687370277496778752, 'adminv3', 1687369862646558720, '短信模板', 'SmsTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/template/SmsTemplateList', NULL, '/notice/sms/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:59', 1414143554414059520, '2023-08-04 15:50:38', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1689181991598997504, 'adminv3', 1582253152903843840, '敏感词管理', 'ChinaWord', NULL, b'0', '', b'0', b'0', '/modules/baseapi/chianword/ChinaWordList.vue', NULL, '/system/config/chinaword', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-09 15:49:05', 1414143554414059520, '2023-08-09 15:49:05', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1690324070514782208, 'adminv3', 1582276341792985088, '通用模板', 'GeneralTemplateList', NULL, b'0', '', b'0', b'0', '/modules/develop/template/GeneralTemplateList', NULL, '/develop/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-12 19:27:18', 1414143554414059520, '2023-08-12 19:31:26', 3, 0); +INSERT INTO `notice_message_template` VALUES (1424936204932169730, 'cs', '测试', 'hello ${msg}6666666666666666666666666666', '1', '测试模板', 0, '2021-08-10 11:30:40', 0, '2021-08-10 11:30:40', 0, 0); + +-- ---------------------------- +-- Table structure for iam_user_info +-- ---------------------------- +DROP TABLE IF EXISTS `iam_user_info`; +CREATE TABLE `iam_user_info` ( + `id` bigint(20) NOT NULL, + `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称', + `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账号', + `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码', + `phone` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '手机号', + `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱', + `client_ids` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '关联终端ds', + `administrator` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否超级管理员', + `status` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账号状态', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户信息' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of iam_user_info +-- ---------------------------- +INSERT INTO `iam_user_info` VALUES (1399985191002447872, 'Bootx', 'bootx', 'f52020dca765fd3943ed40a615dc2c5c', '13333333333', 'bootx@bootx.com', '1430430071299207168,1430430071299207169,1626840094767714304,1580487061605175296', b'1', 'norm', 1, '2021-06-02 15:04:15', 1399985191002447872, '2023-10-19 14:14:46', 58, 0); + +-- ---------------------------- +-- Table structure for iam_user_expand_info +-- ---------------------------- +DROP TABLE IF EXISTS `iam_user_expand_info`; +CREATE TABLE `iam_user_expand_info` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `sex` int(4) NULL DEFAULT NULL COMMENT '性别', + `birthday` date NULL DEFAULT NULL COMMENT '生日', + `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像', + `last_login_time` datetime(0) NULL DEFAULT NULL COMMENT '上次登录时间', + `current_login_time` datetime(0) NULL DEFAULT NULL COMMENT '本次登录时间', + `initial_password` bit(1) NOT NULL COMMENT '是否初始密码', + `last_change_password_time` datetime(0) NULL DEFAULT NULL COMMENT '上次修改密码时间', + `register_time` datetime(0) NOT NULL COMMENT '注册时间', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL DEFAULT 0 COMMENT '删除标志', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户扩展信息' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of iam_user_expand_info +-- ---------------------------- +INSERT INTO `iam_user_expand_info` VALUES (1399985191002447872, 1, '1996-12-01', NULL, '2023-10-19 19:21:46', '2023-10-20 09:31:26', b'0', '2023-10-19 14:14:08', '2021-08-01 18:52:37', 1, '2021-06-02 15:04:15', 1, '2023-10-20 09:31:26', 382, b'0'); + +-- ---------------------------- +-- Table structure for iam_password_security_config +-- ---------------------------- +DROP TABLE IF EXISTS `iam_password_security_config`; +CREATE TABLE `iam_password_security_config` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `max_pwd_error_count` int(11) NULL DEFAULT NULL COMMENT '最大密码错误数', + `error_lock_time` int(11) NULL DEFAULT NULL COMMENT '密码错误锁定时间(分钟)', + `require_change_pwd` bit(1) NULL DEFAULT NULL COMMENT '强制修改初始密码', + `update_frequency` int(11) NULL DEFAULT NULL COMMENT '更新频率', + `expire_remind` int(11) NULL DEFAULT NULL COMMENT '到期提醒(天数)', + `same_as_login_name` bit(1) NULL DEFAULT NULL COMMENT '与登录名相同', + `recent_password` int(11) NULL DEFAULT NULL COMMENT '不能与近期多少次密码相同', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '密码安全策略' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of iam_password_security_config +-- ---------------------------- +INSERT INTO `iam_password_security_config` VALUES (1714844168393515008, 5, 10, b'1', 90, 14, b'0', 5, 1399985191002447872, '2023-10-19 11:21:25', 1399985191002447872, '2023-10-19 11:21:25', 0, b'0'); + +-- ---------------------------- +-- Table structure for starter_wx_template +-- ---------------------------- +DROP TABLE IF EXISTS `starter_wx_template`; +CREATE TABLE `starter_wx_template` ( + `id` bigint(20) NOT NULL, + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', + `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编码', + `enable` bit(1) NOT NULL COMMENT '是否启用', + `template_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '模板ID', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板标题', + `primary_industry` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板所属行业的一级行业', + `deputy_industry` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板所属行业的二级行业', + `content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板内容', + `example` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '示例', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `inx_`(`template_id`) USING BTREE COMMENT '模板id' +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信消息模板' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of starter_wx_template +-- ---------------------------- + +-- ---------------------------- +-- Table structure for starter_wx_menu +-- ---------------------------- +DROP TABLE IF EXISTS `starter_wx_menu`; +CREATE TABLE `starter_wx_menu` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '名称', + `menu_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '菜单信息', + `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', + `publish` bit(1) NOT NULL COMMENT '是否发布', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + `version` int(11) NOT NULL COMMENT '版本', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '微信自定义菜单' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of starter_wx_menu +-- ---------------------------- + +-- ---------------------------- +-- Table structure for starter_wx_fans +-- ---------------------------- +DROP TABLE IF EXISTS `starter_wx_fans`; +CREATE TABLE `starter_wx_fans` ( + `id` bigint(20) NOT NULL, + `openid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联OpenId', + `subscribe_status` bit(1) NULL DEFAULT NULL COMMENT '订阅状态', + `subscribe_time` datetime(0) NULL DEFAULT NULL COMMENT '订阅时间', + `nickname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '昵称', + `sex` varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '性别', + `language` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '语言', + `country` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国家', + `province` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '省份', + `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '城市', + `avatar_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像地址', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信公众号粉丝' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of starter_wx_fans +-- ---------------------------- + +-- ---------------------------- +-- Table structure for starter_wecom_robot_config +-- ---------------------------- +DROP TABLE IF EXISTS `starter_wecom_robot_config`; +CREATE TABLE `starter_wecom_robot_config` ( + `id` bigint(20) NOT NULL, + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', + `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号', + `webhook_key` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'webhook地址的key值', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(6) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + `deleted` bit(1) NOT NULL COMMENT '0:未删除。1:已删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '企业微信机器人配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for iam_perm_path +-- Records of starter_wecom_robot_config -- ---------------------------- -DROP TABLE IF EXISTS `iam_perm_path`; -CREATE TABLE `iam_perm_path` ( - `id` bigint(20) NOT NULL, - `code` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '权限标识', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限名称', - `request_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '请求类型', - `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '请求路径', - `group_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分组名称', - `enable` bit(1) NOT NULL COMMENT '启用状态', - `generate` bit(1) NOT NULL COMMENT '是否通过系统生成的权限', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `creator` bigint(20) NULL DEFAULT NULL, - `create_time` datetime(6) NULL DEFAULT NULL, - `last_modifier` bigint(20) NULL DEFAULT NULL, - `last_modified_time` datetime(6) NULL DEFAULT NULL, - `deleted` bit(1) NOT NULL, - `version` int(11) NOT NULL, + +-- ---------------------------- +-- Table structure for starter_quartz_job_log +-- ---------------------------- +DROP TABLE IF EXISTS `starter_quartz_job_log`; +CREATE TABLE `starter_quartz_job_log` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `handler_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理器名称', + `class_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理器全限定名', + `success` bit(1) NOT NULL COMMENT '是否执行成功', + `error_message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `start_time` datetime(0) NULL DEFAULT NULL COMMENT '开始时间', + `end_time` datetime(0) NULL DEFAULT NULL COMMENT '结束时间', + `duration` bigint(255) NULL DEFAULT NULL COMMENT '执行时长', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '权限_请求' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '任务执行日志' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_perm_path +-- Records of starter_quartz_job_log -- ---------------------------- -- ---------------------------- --- Table structure for iam_role +-- Table structure for starter_file_upload_info -- ---------------------------- -DROP TABLE IF EXISTS `iam_role`; -CREATE TABLE `iam_role` ( - `id` bigint(20) NOT NULL COMMENT '角色ID', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编码', - `name` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', - `internal` bit(1) NOT NULL COMMENT '是否系统内置', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '说明', +DROP TABLE IF EXISTS `starter_file_upload_info`; +CREATE TABLE `starter_file_upload_info` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `file_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存储位置', + `file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件名称', + `file_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件类型', + `file_suffix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件后缀', + `file_size` bigint(20) NULL DEFAULT NULL COMMENT '文件大小', + `external_storage_id` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '外部关联id', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '上传文件信息' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of starter_file_upload_info +-- ---------------------------- + +-- ---------------------------- +-- Table structure for starter_file_data +-- ---------------------------- +DROP TABLE IF EXISTS `starter_file_data`; +CREATE TABLE `starter_file_data` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `base64` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT 'base64方式存储', + `data` longblob NULL COMMENT '数据方式存储', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '上传文件数据' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of starter_file_data +-- ---------------------------- + +-- ---------------------------- +-- Table structure for starter_ding_robot_config +-- ---------------------------- +DROP TABLE IF EXISTS `starter_ding_robot_config`; +CREATE TABLE `starter_ding_robot_config` ( + `id` bigint(20) NOT NULL, + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', + `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号', + `access_token` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉机器人访问token', + `enable_signature_check` bit(1) NOT NULL COMMENT '是否开启验签', + `sign_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉机器人私钥', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `last_modified_time` datetime(6) NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + `deleted` bit(1) NOT NULL COMMENT '0:未删除。1:已删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '角色' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钉钉机器人配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_role +-- Records of starter_ding_robot_config -- ---------------------------- -INSERT INTO `iam_role` VALUES (1405414804771971072, 'admin', '管理员', b'1', '管理员', 1, '2021-06-17 14:39:35', 1399985191002447872, '2021-07-18 22:31:02', 6, 0); -INSERT INTO `iam_role` VALUES (1416730722714144768, 'test', '测试', b'0', '测试角色', 1399985191002447872, '2021-07-18 20:05:01', 1399985191002447872, '2021-07-18 20:16:15', 1, 0); -INSERT INTO `iam_role` VALUES (1422832797731778562, 'user', '用户', b'0', '用户角色', 0, '2021-08-04 16:12:29', 1399985191002447872, '2021-08-04 16:15:03', 7, 1); -INSERT INTO `iam_role` VALUES (1428891259564445696, 'manager', '管理者', b'0', 'manager管理者', 1399985191002447872, '2021-08-21 09:26:38', 1399985191002447872, '2021-08-21 09:26:39', 0, 1); -- ---------------------------- --- Table structure for iam_role_menu +-- Table structure for starter_ding_media_md5 -- ---------------------------- -DROP TABLE IF EXISTS `iam_role_menu`; -CREATE TABLE `iam_role_menu` ( +DROP TABLE IF EXISTS `starter_ding_media_md5`; +CREATE TABLE `starter_ding_media_md5` ( `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '角色id', - `client_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '终端code', - `permission_id` bigint(20) NOT NULL COMMENT '菜单权限id', + `media_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '媒体id', + `md5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'md5值', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色菜单权限表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钉钉媒体文件MD5值关联关系' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_role_menu +-- Records of starter_ding_media_md5 -- ---------------------------- -- ---------------------------- --- Table structure for iam_role_path +-- Table structure for starter_audit_operate_log -- ---------------------------- -DROP TABLE IF EXISTS `iam_role_path`; -CREATE TABLE `iam_role_path` ( +DROP TABLE IF EXISTS `starter_audit_operate_log`; +CREATE TABLE `starter_audit_operate_log` ( `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '角色id', - `permission_id` bigint(20) NOT NULL COMMENT '请求权限id', + `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作模块', + `operate_id` bigint(20) NULL DEFAULT NULL COMMENT '操作人员id', + `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作人员账号', + `business_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', + `method` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方法', + `request_method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方式', + `operate_url` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求url', + `operate_ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作ip', + `operate_location` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作地点', + `operate_param` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求参数', + `operate_return` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '返回参数', + `success` bit(1) NULL DEFAULT NULL COMMENT '是否成功', + `error_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '错误提示', + `operate_time` datetime(0) NULL DEFAULT NULL COMMENT '操作时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色请求权限表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_role_path +-- Records of starter_audit_operate_log -- ---------------------------- -- ---------------------------- --- Table structure for iam_user_data_scope +-- Table structure for starter_audit_login_log -- ---------------------------- -DROP TABLE IF EXISTS `iam_user_data_scope`; -CREATE TABLE `iam_user_data_scope` ( +DROP TABLE IF EXISTS `starter_audit_login_log`; +CREATE TABLE `starter_audit_login_log` ( + `id` bigint(20) NOT NULL, + `user_id` bigint(11) NULL DEFAULT NULL COMMENT '用户id', + `account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名称', + `login` bit(1) NULL DEFAULT NULL COMMENT '登录成功状态', + `client` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终端', + `login_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录方式', + `ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录IP地址', + `login_location` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录地点', + `os` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作系统', + `browser` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '浏览器类型', + `msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示消息', + `login_time` datetime(0) NULL DEFAULT NULL COMMENT '访问时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '登陆日志' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of starter_audit_login_log +-- ---------------------------- + +-- ---------------------------- +-- Table structure for report_project_info_publish +-- ---------------------------- +DROP TABLE IF EXISTS `report_project_info_publish`; +CREATE TABLE `report_project_info_publish` ( `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NOT NULL COMMENT '用户ID', - `data_scope_id` bigint(20) NOT NULL COMMENT '数据权限ID', + `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '报表内容', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户数据范围关系\r\n' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '自定义大屏发布信息' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_user_data_scope +-- Records of report_project_info_publish -- ---------------------------- -INSERT INTO `iam_user_data_scope` VALUES (1477617820165345280, 1414143554414059520, 1474717084985270272); -INSERT INTO `iam_user_data_scope` VALUES (1477991040840290304, 1477990832987361280, 1477990439800721408); -INSERT INTO `iam_user_data_scope` VALUES (1477997504506077184, 1477997391729631232, 1477990268903804928); -INSERT INTO `iam_user_data_scope` VALUES (1477997685993611264, 1477997602862505984, 1474706893178871808); -- ---------------------------- --- Table structure for iam_user_dept +-- Table structure for report_project_info -- ---------------------------- -DROP TABLE IF EXISTS `iam_user_dept`; -CREATE TABLE `iam_user_dept` ( - `id` bigint(20) NOT NULL, - `user_id` bigint(20) NOT NULL COMMENT '用户id', - `dept_id` bigint(20) NOT NULL COMMENT '部门id', +DROP TABLE IF EXISTS `report_project_info`; +CREATE TABLE `report_project_info` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目名称', + `state` int(11) NULL DEFAULT NULL COMMENT '发布状态', + `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '报表内容', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', + `index_image` bigint(20) NULL DEFAULT NULL COMMENT '预览图片id', + `edit` bit(1) NULL DEFAULT NULL COMMENT '是否在编辑中', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户部门关联表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '自定义大屏信息' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_user_dept +-- Records of report_project_info +-- ---------------------------- + +-- ---------------------------- +-- Table structure for qrtz_triggers +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_triggers`; +CREATE TABLE `qrtz_triggers` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `NEXT_FIRE_TIME` bigint(13) NULL DEFAULT NULL, + `PREV_FIRE_TIME` bigint(13) NULL DEFAULT NULL, + `PRIORITY` int(11) NULL DEFAULT NULL, + `TRIGGER_STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_TYPE` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `START_TIME` bigint(13) NOT NULL, + `END_TIME` bigint(13) NULL DEFAULT NULL, + `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `MISFIRE_INSTR` smallint(2) NULL DEFAULT NULL, + `JOB_DATA` blob NULL, + PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, + INDEX `IDX_QRTZ_T_NFT_ST`(`SCHED_NAME`, `TRIGGER_STATE`, `NEXT_FIRE_TIME`) USING BTREE, + INDEX `IDX_QRTZ_T_N_STATE`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE, + INDEX `IDX_QRTZ_T_NEXT_FIRE_TIME`(`SCHED_NAME`, `NEXT_FIRE_TIME`) USING BTREE, + INDEX `IDX_QRTZ_T_C`(`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE, + INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_STATE`) USING BTREE, + INDEX `IDX_QRTZ_T_G`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE, + INDEX `IDX_QRTZ_T_J`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, + INDEX `IDX_QRTZ_T_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE, + INDEX `IDX_QRTZ_T_N_G_STATE`(`SCHED_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE, + INDEX `IDX_QRTZ_T_NFT_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`) USING BTREE, + INDEX `IDX_QRTZ_T_STATE`(`SCHED_NAME`, `TRIGGER_STATE`) USING BTREE, + INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) 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 NO ACTION ON UPDATE NO ACTION +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of qrtz_triggers +-- ---------------------------- + +-- ---------------------------- +-- Table structure for qrtz_simprop_triggers -- ---------------------------- -INSERT INTO `iam_user_dept` VALUES (1450088892861501440, 1399985191002447872, 1259383345604300802); -INSERT INTO `iam_user_dept` VALUES (1477996765012533248, 1477990832987361280, 1477977592291053568); -INSERT INTO `iam_user_dept` VALUES (1477997463997489152, 1477997391729631232, 1477978610865197056); -INSERT INTO `iam_user_dept` VALUES (1477997655618461696, 1477997602862505984, 1477978610865197056); -INSERT INTO `iam_user_dept` VALUES (1478741775446118400, 1435967884114194432, 1477978810526650368); -INSERT INTO `iam_user_dept` VALUES (1478741775450312704, 1435967884114194432, 1477978464559484928); -INSERT INTO `iam_user_dept` VALUES (1478741775450312705, 1435967884114194432, 1477978610865197056); +DROP TABLE IF EXISTS `qrtz_simprop_triggers`; +CREATE TABLE `qrtz_simprop_triggers` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `STR_PROP_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `STR_PROP_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `STR_PROP_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `INT_PROP_1` int(11) NULL DEFAULT NULL, + `INT_PROP_2` int(11) NULL DEFAULT NULL, + `LONG_PROP_1` bigint(20) NULL DEFAULT NULL, + `LONG_PROP_2` bigint(20) 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_general_ci NULL DEFAULT NULL, + `BOOL_PROP_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_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 NO ACTION ON UPDATE NO ACTION +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for iam_user_expand_info +-- Records of qrtz_simprop_triggers -- ---------------------------- -DROP TABLE IF EXISTS `iam_user_expand_info`; -CREATE TABLE `iam_user_expand_info` ( - `id` bigint(20) NOT NULL, - `sex` int(4) NULL DEFAULT NULL COMMENT '性别', - `birthday` date NULL DEFAULT NULL COMMENT '生日', - `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像', - `last_login_time` datetime NULL DEFAULT NULL COMMENT '上次登录时间', - `current_login_time` datetime NULL DEFAULT NULL COMMENT '本次登录时间', - `initial_password` bit(1) NOT NULL COMMENT '是否初始密码', - `last_change_password_time` datetime NULL DEFAULT NULL COMMENT '上次修改密码时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户扩展信息' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_user_expand_info +-- Table structure for qrtz_simple_triggers -- ---------------------------- -INSERT INTO `iam_user_expand_info` VALUES (1399985191002447872, 1, '1996-12-01', '1495331905770315776', '2022-11-02 09:59:06', '2023-08-21 13:24:32', b'0', '2022-06-19 21:25:00', 1, '2021-06-02 15:04:15', 0, '2023-08-21 13:24:32', 368, 0); -INSERT INTO `iam_user_expand_info` VALUES (1414143554414059520, 1, '2022-10-31', '1586953599627546624', '2023-08-21 13:06:47', '2023-08-21 13:23:26', b'0', NULL, 1, '2021-07-11 16:44:32', 0, '2023-08-21 13:23:26', 66, 0); -INSERT INTO `iam_user_expand_info` VALUES (1435894470432456704, 1, NULL, NULL, '2022-09-16 16:48:16', '2022-09-17 17:20:58', b'0', '2022-06-29 00:39:23', 1399985191002447872, '2021-09-09 17:14:54', 0, '2022-09-17 17:20:58', 5, 0); -INSERT INTO `iam_user_expand_info` VALUES (1435967884114194432, 1, NULL, NULL, NULL, '2022-05-31 15:59:42', b'0', NULL, 1414143554414059520, '2021-09-09 22:06:37', 0, '2022-05-31 15:59:42', 1, 0); -INSERT INTO `iam_user_expand_info` VALUES (1477990832987361280, 1, NULL, NULL, NULL, NULL, b'0', NULL, 1399985191002447872, '2022-01-03 21:10:49', 1399985191002447872, '2022-01-03 21:10:49', 0, 0); -INSERT INTO `iam_user_expand_info` VALUES (1477997391729631232, 1, NULL, NULL, NULL, NULL, b'0', NULL, 1399985191002447872, '2022-01-03 21:36:53', 1399985191002447872, '2022-01-03 21:36:53', 0, 0); -INSERT INTO `iam_user_expand_info` VALUES (1477997602862505984, 1, NULL, NULL, NULL, '2022-06-01 16:51:46', b'0', NULL, 1399985191002447872, '2022-01-03 21:37:43', 0, '2022-06-01 16:51:46', 1, 0); +DROP TABLE IF EXISTS `qrtz_simple_triggers`; +CREATE TABLE `qrtz_simple_triggers` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `REPEAT_COUNT` bigint(7) NOT NULL, + `REPEAT_INTERVAL` bigint(12) NOT NULL, + `TIMES_TRIGGERED` bigint(10) 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 NO ACTION ON UPDATE NO ACTION +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for iam_user_info +-- Records of qrtz_simple_triggers -- ---------------------------- -DROP TABLE IF EXISTS `iam_user_info`; -CREATE TABLE `iam_user_info` ( - `id` bigint(20) NOT NULL, - `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称', - `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账号', - `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码', - `phone` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '手机号', - `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱', - `client_ids` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '关联终端ds', - `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像', - `source` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '注册来源', - `admin` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否超级管理员', - `register_time` datetime NULL DEFAULT NULL COMMENT '注册时间', - `status` tinyint(4) NOT NULL COMMENT '账号状态', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户信息' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_user_info +-- Table structure for qrtz_scheduler_state -- ---------------------------- -INSERT INTO `iam_user_info` VALUES (1399985191002447872, '小小明', 'xxm', 'f52020dca765fd3943ed40a615dc2c5c', '133****3333', 'x******@outlook.com', '1430430071299207168,1430430071299207169,1626840094767714304,1580487061605175296', NULL, NULL, b'1', '2021-06-02 15:04:12', 1, 1, '2021-06-02 15:04:15', 1414143554414059520, '2023-02-18 15:08:42', 55, 0); -INSERT INTO `iam_user_info` VALUES (1414143554414059520, '小小明1995', 'xxm1995', 'f52020dca765fd3943ed40a615dc2c5c', '130****0000', 'x******@foxmail.com', '1430430071299207168,1580487061605175296,1430430071299207169,1626840094767714304', NULL, NULL, b'1', '2021-07-11 16:44:31', 1, 1, '2021-07-11 16:44:32', 1414143554414059520, '2023-02-18 15:08:48', 9, 0); -INSERT INTO `iam_user_info` VALUES (1435894470432456704, '管理员', 'admin', 'f52020dca765fd3943ed40a615dc2c5c', '13000001111', 'admin@qq.com', '1430430071299207168', '', NULL, b'0', '2021-09-09 17:14:52', 1, 1399985191002447872, '2021-09-09 17:14:54', 1399985191002447872, '2022-09-16 16:41:51', 7, 0); -INSERT INTO `iam_user_info` VALUES (1435967884114194432, '测试', 'test', 'f52020dca765fd3943ed40a615dc2c5c', '13311111111', 'test@qq.com', '1430430071299207168', '', NULL, b'0', '2021-09-09 22:06:37', 1, 1414143554414059520, '2021-09-09 22:06:37', 1399985191002447872, '2022-05-31 15:59:37', 9, 0); -INSERT INTO `iam_user_info` VALUES (1477990832987361280, '测试用户001', 'test001', 'f52020dca765fd3943ed40a615dc2c5c', '', '', '1430430071299207168', '', NULL, b'0', '2022-01-03 21:10:49', 1, 1399985191002447872, '2022-01-03 21:10:49', 1399985191002447872, '2022-06-05 20:26:26', 1, 0); -INSERT INTO `iam_user_info` VALUES (1477997391729631232, '测试用户002', 'test002', 'f52020dca765fd3943ed40a615dc2c5c', '', '', '1430430071299207168', '', NULL, b'0', '2022-01-03 21:36:53', 1, 1399985191002447872, '2022-01-03 21:36:53', 1399985191002447872, '2022-06-05 20:26:19', 1, 0); -INSERT INTO `iam_user_info` VALUES (1477997602862505984, '测试用户003', 'test003', 'f52020dca765fd3943ed40a615dc2c5c', '', '', '1430430071299207168', '', NULL, b'0', '2022-01-03 21:37:43', 1, 1399985191002447872, '2022-01-03 21:37:43', 1399985191002447872, '2022-05-19 13:00:05', 4, 0); +DROP TABLE IF EXISTS `qrtz_scheduler_state`; +CREATE TABLE `qrtz_scheduler_state` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `LAST_CHECKIN_TIME` bigint(13) NOT NULL, + `CHECKIN_INTERVAL` bigint(13) NOT NULL, + PRIMARY KEY (`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for iam_user_role +-- Records of qrtz_scheduler_state -- ---------------------------- -DROP TABLE IF EXISTS `iam_user_role`; -CREATE TABLE `iam_user_role` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NOT NULL COMMENT '用户ID', - `role_id` bigint(20) NOT NULL COMMENT '角色ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户角色关系\r\n' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_user_role +-- Table structure for qrtz_paused_trigger_grps -- ---------------------------- -INSERT INTO `iam_user_role` VALUES (1533038443724980224, 1435894470432456704, 1405414804771971072); +DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`; +CREATE TABLE `qrtz_paused_trigger_grps` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + PRIMARY KEY (`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for iam_user_third +-- Records of qrtz_paused_trigger_grps -- ---------------------------- -DROP TABLE IF EXISTS `iam_user_third`; -CREATE TABLE `iam_user_third` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id', - `we_chat_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信openId', - `we_chat_open_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信开放平台id', - `qq_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'qqId', - `weibo_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微博Id', - `gitee_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '码云唯一标识', - `ding_talk_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉唯一标识', - `we_com_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '企业微信唯一标识', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE, - INDEX `pk_user_index`(`user_id`) USING BTREE COMMENT '用户id索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户三方登录绑定' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of iam_user_third +-- Table structure for qrtz_locks -- ---------------------------- -INSERT INTO `iam_user_third` VALUES (1693285779222376448, 1414143554414059520, 'oAAyF68eYHdvi3lc_XGGDpzE7EWM', NULL, NULL, NULL, NULL, NULL, NULL, 1414143554414059520, '2023-08-20 23:36:04', 1414143554414059520, '2023-08-20 23:46:17', 1, 0); +DROP TABLE IF EXISTS `qrtz_locks`; +CREATE TABLE `qrtz_locks` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `LOCK_NAME` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for iam_user_third_info +-- Records of qrtz_locks -- ---------------------------- -DROP TABLE IF EXISTS `iam_user_third_info`; -CREATE TABLE `iam_user_third_info` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NOT NULL COMMENT '用户id', - `client_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '第三方终端类型', - `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户名', - `nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户昵称', - `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户头像', - `third_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '关联第三方平台的用户id', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE, - INDEX `pk_user_client`(`user_id`, `client_code`) USING BTREE COMMENT '用户id和终端code' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '用户三方登录绑定详情' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for notice_mail_config +-- Table structure for qrtz_job_details -- ---------------------------- -DROP TABLE IF EXISTS `notice_mail_config`; -CREATE TABLE `notice_mail_config` ( - `id` bigint(20) NOT NULL, - `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编号', - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', - `host` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器host', - `port` int(5) NOT NULL COMMENT '邮箱服务器 port', - `username` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器 username', - `password` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器 password', - `sender` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱服务器 sender', - `from_` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱服务器 from', - `activity` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置,0:否。1:是', - `security_type` int(2) NULL DEFAULT NULL COMMENT '安全传输方式 1:plain 2:tls 3:ssl', - `creator` bigint(18) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(18) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NULL DEFAULT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '邮件配置' ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `qrtz_job_details`; +CREATE TABLE `qrtz_job_details` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `JOB_CLASS_NAME` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `IS_DURABLE` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `IS_UPDATE_DATA` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `JOB_DATA` blob NULL, + PRIMARY KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, + INDEX `IDX_QRTZ_J_GRP`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE, + INDEX `IDX_QRTZ_J_REQ_RECOVERY`(`SCHED_NAME`, `REQUESTS_RECOVERY`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of notice_mail_config +-- Records of qrtz_job_details -- ---------------------------- -- ---------------------------- --- Table structure for notice_message_template +-- Table structure for qrtz_fired_triggers -- ---------------------------- -DROP TABLE IF EXISTS `notice_message_template`; -CREATE TABLE `notice_message_template` ( - `id` bigint(20) NOT NULL, - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `data` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模板数据', - `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板类型', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息模板' ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `qrtz_fired_triggers`; +CREATE TABLE `qrtz_fired_triggers` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `ENTRY_ID` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `FIRED_TIME` bigint(13) NOT NULL, + `SCHED_TIME` bigint(13) NOT NULL, + `PRIORITY` int(11) NOT NULL, + `STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`SCHED_NAME`, `ENTRY_ID`) USING BTREE, + INDEX `IDX_QRTZ_FT_T_G`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, + INDEX `IDX_QRTZ_FT_TRIG_INST_NAME`(`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE, + INDEX `IDX_QRTZ_FT_J_G`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, + INDEX `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY`(`SCHED_NAME`, `INSTANCE_NAME`, `REQUESTS_RECOVERY`) USING BTREE, + INDEX `IDX_QRTZ_FT_TG`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE, + INDEX `IDX_QRTZ_FT_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of notice_message_template +-- Records of qrtz_fired_triggers -- ---------------------------- -INSERT INTO `notice_message_template` VALUES (1424936204932169730, 'cs', '测试', 'hello ${msg}6666666666666666666666666666', '1', '测试模板', 0, '2021-08-10 11:30:40', 0, '2021-08-10 11:30:40', 0, 0); -INSERT INTO `notice_message_template` VALUES (1573951326893510656, 'BpmTaskCreated', '流程任务创建事件', '流程任务创建事件', '0', '', 1399985191002447872, '2022-09-25 16:23:34', 1399985191002447872, '2022-09-25 16:23:34', 0, 0); -INSERT INTO `notice_message_template` VALUES (1573951515616219136, 'BpmTaskAssignCreated', '流程任务更改处理人事件(新处理人)', '流程任务更改处理人事件(新处理人)', '0', '', 1399985191002447872, '2022-09-25 16:24:19', 1399985191002447872, '2022-09-25 16:27:09', 1, 0); -INSERT INTO `notice_message_template` VALUES (1573952505056727040, 'BpmTaskAssignCancel', '流程任务更改处理人事件(原处理人)', '流程任务更改处理人事件(原处理人)', '0', '', 1399985191002447872, '2022-09-25 16:28:14', 1399985191002447872, '2022-09-25 16:28:14', 0, 0); -INSERT INTO `notice_message_template` VALUES (1573952568654958592, 'BpmTaskCancel', '流程任务取消事件', '流程任务取消事件', '0', '', 1399985191002447872, '2022-09-25 16:28:30', 1399985191002447872, '2022-09-25 16:28:30', 0, 0); -INSERT INTO `notice_message_template` VALUES (1573952621826150400, 'BpmTaskReject', '流程任务驳回事件', '流程任务驳回事件', '0', '', 1399985191002447872, '2022-09-25 16:28:42', 1399985191002447872, '2022-09-25 16:28:42', 0, 0); -INSERT INTO `notice_message_template` VALUES (1573952709432578048, 'BpmInstanceCompleted', '流程完成时通知发起人', '流程完成时通知发起人', '0', '', 1399985191002447872, '2022-09-25 16:29:03', 1399985191002447872, '2022-09-25 16:29:03', 0, 0); -INSERT INTO `notice_message_template` VALUES (1573952762507300864, 'BpmInstanceCancel', '流程取消时通知发起人', '流程取消时通知发起人', '0', '', 1399985191002447872, '2022-09-25 16:29:16', 1399985191002447872, '2022-09-25 16:29:16', 0, 0); -INSERT INTO `notice_message_template` VALUES (1580083314274070528, 'BpmTaskBack', '流程任务回退事件', '流程任务驳回事件', '0', '', 1399985191002447872, '2022-10-12 14:29:53', 1399985191002447872, '2022-10-12 14:30:11', 1, 0); -- ---------------------------- --- Table structure for notice_site_message +-- Table structure for qrtz_cron_triggers -- ---------------------------- -DROP TABLE IF EXISTS `notice_site_message`; -CREATE TABLE `notice_site_message` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息标题', - `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '消息内容', - `sender_id` bigint(20) NULL DEFAULT NULL COMMENT '发送者id', - `sender_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送者姓名', - `sender_time` datetime NULL DEFAULT NULL COMMENT '发送时间', - `receive_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息类型', - `send_state` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发布状态', - `efficient_time` datetime NULL DEFAULT NULL COMMENT '截至有效期', - `cancel_time` datetime NULL DEFAULT NULL COMMENT '撤回时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '站内信' ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `qrtz_cron_triggers`; +CREATE TABLE `qrtz_cron_triggers` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `CRON_EXPRESSION` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TIME_ZONE_ID` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_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 NO ACTION ON UPDATE NO ACTION +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of notice_site_message +-- Records of qrtz_cron_triggers -- ---------------------------- -- ---------------------------- --- Table structure for notice_site_message_user +-- Table structure for qrtz_calendars -- ---------------------------- -DROP TABLE IF EXISTS `notice_site_message_user`; -CREATE TABLE `notice_site_message_user` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `message_id` bigint(20) NOT NULL COMMENT '消息id', - `receive_id` bigint(20) NOT NULL COMMENT '接收者id', - `have_read` bit(1) NOT NULL COMMENT '已读/未读', - `read_time` datetime NULL DEFAULT NULL COMMENT '已读时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `uni_receive_message`(`receive_id`, `message_id`) USING BTREE COMMENT '接收人和消息联合索引', - INDEX `inx_message`(`message_id`) USING BTREE COMMENT '消息索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '消息用户关联' ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `qrtz_calendars`; +CREATE TABLE `qrtz_calendars` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `CALENDAR` blob NOT NULL, + PRIMARY KEY (`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of notice_site_message_user +-- Records of qrtz_calendars -- ---------------------------- -INSERT INTO `notice_site_message_user` VALUES (1558781525422428160, 1558781525200130048, 1399985191002447872, b'1', '2022-08-14 19:47:53', 0, '2022-08-14 19:44:11', 0); -INSERT INTO `notice_site_message_user` VALUES (1559917646856540160, 1424212599079161857, 1399985191002447872, b'1', '2022-08-17 22:58:43', 1399985191002447872, '2022-08-17 22:58:44', 0); -INSERT INTO `notice_site_message_user` VALUES (1561379790089302016, 1561368170558623744, 1399985191002447872, b'1', '2022-08-21 23:48:43', 1399985191002447872, '2022-08-21 23:48:46', 0); -INSERT INTO `notice_site_message_user` VALUES (1561379841968648192, 1561365894804766720, 1399985191002447872, b'1', '2022-08-21 23:48:58', 1399985191002447872, '2022-08-21 23:48:58', 0); -- ---------------------------- --- Table structure for notice_sms_channel_config +-- Table structure for qrtz_blob_triggers -- ---------------------------- -DROP TABLE IF EXISTS `notice_sms_channel_config`; -CREATE TABLE `notice_sms_channel_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '渠道类型编码', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '渠道类型名称', - `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', - `access_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'AccessKey', - `config` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '配置字符串', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `access_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'AccessSecret', - `image` bigint(20) NULL DEFAULT NULL COMMENT '图片', - `sort_no` double(10, 0) NULL DEFAULT NULL COMMENT '排序', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '短信渠道配置' ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `qrtz_blob_triggers`; +CREATE TABLE `qrtz_blob_triggers` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `BLOB_DATA` blob NULL, + PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, + INDEX `SCHED_NAME`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) 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 NO ACTION ON UPDATE NO ACTION +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of notice_sms_channel_config +-- Records of qrtz_blob_triggers -- ---------------------------- -- ---------------------------- --- Table structure for notice_sms_config +-- Table structure for notice_wechat_config -- ---------------------------- -DROP TABLE IF EXISTS `notice_sms_config`; -CREATE TABLE `notice_sms_config` ( +DROP TABLE IF EXISTS `notice_wechat_config`; +CREATE TABLE `notice_wechat_config` ( `id` bigint(18) NOT NULL, `tid` bigint(18) NOT NULL COMMENT '租户id', `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `account_sid` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `path_sid` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '发送号码的唯一标识(基于twillio的命名风格)', - `auth_token` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `from_num` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `corp_id` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `corp_secret` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `is_default` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置,0:否。1:是', `creator` bigint(18) NULL DEFAULT NULL, - `create_time` datetime NULL DEFAULT NULL, + `create_time` datetime(0) NULL DEFAULT NULL, `last_modifier` bigint(18) NULL DEFAULT NULL, - `last_modified_time` datetime NULL DEFAULT NULL, + `last_modified_time` datetime(0) NULL DEFAULT NULL, `version` int(10) NULL DEFAULT NULL, `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `secret` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `isp` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `reply_msg` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '短信配置' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '微信消息配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of notice_sms_config +-- Records of notice_wechat_config -- ---------------------------- -- ---------------------------- @@ -4698,9 +4842,9 @@ CREATE TABLE `notice_sms_template` ( `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '短信模板名称', `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '短信模板内容', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE @@ -4711,602 +4855,546 @@ CREATE TABLE `notice_sms_template` ( -- ---------------------------- -- ---------------------------- --- Table structure for notice_wechat_config +-- Table structure for notice_sms_config -- ---------------------------- -DROP TABLE IF EXISTS `notice_wechat_config`; -CREATE TABLE `notice_wechat_config` ( +DROP TABLE IF EXISTS `notice_sms_config`; +CREATE TABLE `notice_sms_config` ( `id` bigint(18) NOT NULL, `tid` bigint(18) NOT NULL COMMENT '租户id', `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `corp_id` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `corp_secret` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `account_sid` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `path_sid` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '发送号码的唯一标识(基于twillio的命名风格)', + `auth_token` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `from_num` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `is_default` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置,0:否。1:是', `creator` bigint(18) NULL DEFAULT NULL, - `create_time` datetime NULL DEFAULT NULL, + `create_time` datetime(0) NULL DEFAULT NULL, `last_modifier` bigint(18) NULL DEFAULT NULL, - `last_modified_time` datetime NULL DEFAULT NULL, + `last_modified_time` datetime(0) NULL DEFAULT NULL, `version` int(10) NULL DEFAULT NULL, `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + `secret` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, + `isp` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, + `reply_msg` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '微信消息配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_wechat_config --- ---------------------------- - --- ---------------------------- --- 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_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `BLOB_DATA` blob NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `SCHED_NAME`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) 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 NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_blob_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_calendars --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_calendars`; -CREATE TABLE `qrtz_calendars` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `CALENDAR` blob NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_calendars --- ---------------------------- +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '短信配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for qrtz_cron_triggers +-- Records of notice_sms_config -- ---------------------------- -DROP TABLE IF EXISTS `qrtz_cron_triggers`; -CREATE TABLE `qrtz_cron_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `CRON_EXPRESSION` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TIME_ZONE_ID` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_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 NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of qrtz_cron_triggers +-- Table structure for notice_sms_channel_config -- ---------------------------- +DROP TABLE IF EXISTS `notice_sms_channel_config`; +CREATE TABLE `notice_sms_channel_config` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '渠道类型编码', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '渠道类型名称', + `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', + `access_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'AccessKey', + `config` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '配置字符串', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `access_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'AccessSecret', + `image` bigint(20) NULL DEFAULT NULL COMMENT '图片', + `sort_no` double(10, 0) NULL DEFAULT NULL COMMENT '排序', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '短信渠道配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for qrtz_fired_triggers +-- Records of notice_sms_channel_config -- ---------------------------- -DROP TABLE IF EXISTS `qrtz_fired_triggers`; -CREATE TABLE `qrtz_fired_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `ENTRY_ID` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `FIRED_TIME` bigint(13) NOT NULL, - `SCHED_TIME` bigint(13) NOT NULL, - `PRIORITY` int(11) NOT NULL, - `STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - PRIMARY KEY (`SCHED_NAME`, `ENTRY_ID`) USING BTREE, - INDEX `IDX_QRTZ_FT_T_G`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_FT_TRIG_INST_NAME`(`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE, - INDEX `IDX_QRTZ_FT_J_G`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY`(`SCHED_NAME`, `INSTANCE_NAME`, `REQUESTS_RECOVERY`) USING BTREE, - INDEX `IDX_QRTZ_FT_TG`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_FT_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of qrtz_fired_triggers +-- Table structure for notice_site_message_user -- ---------------------------- +DROP TABLE IF EXISTS `notice_site_message_user`; +CREATE TABLE `notice_site_message_user` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `message_id` bigint(20) NOT NULL COMMENT '消息id', + `receive_id` bigint(20) NOT NULL COMMENT '接收者id', + `have_read` bit(1) NOT NULL COMMENT '已读/未读', + `read_time` datetime(0) NULL DEFAULT NULL COMMENT '已读时间', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uni_receive_message`(`receive_id`, `message_id`) USING BTREE COMMENT '接收人和消息联合索引', + INDEX `inx_message`(`message_id`) USING BTREE COMMENT '消息索引' +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '消息用户关联' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for qrtz_job_details +-- Records of notice_site_message_user -- ---------------------------- -DROP TABLE IF EXISTS `qrtz_job_details`; -CREATE TABLE `qrtz_job_details` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `JOB_CLASS_NAME` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `IS_DURABLE` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `IS_UPDATE_DATA` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_DATA` blob NULL, - PRIMARY KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_J_GRP`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_J_REQ_RECOVERY`(`SCHED_NAME`, `REQUESTS_RECOVERY`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of qrtz_job_details +-- Table structure for notice_site_message -- ---------------------------- +DROP TABLE IF EXISTS `notice_site_message`; +CREATE TABLE `notice_site_message` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息标题', + `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '消息内容', + `sender_id` bigint(20) NULL DEFAULT NULL COMMENT '发送者id', + `sender_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送者姓名', + `sender_time` datetime(0) NULL DEFAULT NULL COMMENT '发送时间', + `receive_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息类型', + `send_state` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发布状态', + `efficient_time` datetime(0) NULL DEFAULT NULL COMMENT '截至有效期', + `cancel_time` datetime(0) NULL DEFAULT NULL COMMENT '撤回时间', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '站内信' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Table structure for qrtz_locks +-- Records of notice_site_message -- ---------------------------- -DROP TABLE IF EXISTS `qrtz_locks`; -CREATE TABLE `qrtz_locks` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `LOCK_NAME` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - -- ---------------------------- --- Table structure for qrtz_paused_trigger_grps +-- Table structure for notice_mail_config -- ---------------------------- -DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`; -CREATE TABLE `qrtz_paused_trigger_grps` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `notice_mail_config`; +CREATE TABLE `notice_mail_config` ( + `id` bigint(20) NOT NULL, + `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编号', + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', + `host` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器host', + `port` int(5) NOT NULL COMMENT '邮箱服务器 port', + `username` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器 username', + `password` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器 password', + `sender` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱服务器 sender', + `from_` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱服务器 from', + `activity` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置,0:否。1:是', + `security_type` int(2) NULL DEFAULT NULL COMMENT '安全传输方式 1:plain 2:tls 3:ssl', + `creator` bigint(18) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(18) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + `version` int(8) NULL DEFAULT NULL COMMENT '版本', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '邮件配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of qrtz_paused_trigger_grps +-- Records of notice_mail_config -- ---------------------------- -- ---------------------------- --- Table structure for qrtz_scheduler_state +-- Table structure for iam_user_third_info -- ---------------------------- -DROP TABLE IF EXISTS `qrtz_scheduler_state`; -CREATE TABLE `qrtz_scheduler_state` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `LAST_CHECKIN_TIME` bigint(13) NOT NULL, - `CHECKIN_INTERVAL` bigint(13) NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `iam_user_third_info`; +CREATE TABLE `iam_user_third_info` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `user_id` bigint(20) NOT NULL COMMENT '用户id', + `client_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '第三方终端类型', + `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户名', + `nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户昵称', + `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户头像', + `third_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '关联第三方平台的用户id', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + PRIMARY KEY (`id`) USING BTREE, + INDEX `pk_user_client`(`user_id`, `client_code`) USING BTREE COMMENT '用户id和终端code' +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '用户三方登录绑定详情' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of qrtz_scheduler_state +-- Records of iam_user_third_info -- ---------------------------- -- ---------------------------- --- Table structure for qrtz_simple_triggers +-- Table structure for iam_user_third -- ---------------------------- -DROP TABLE IF EXISTS `qrtz_simple_triggers`; -CREATE TABLE `qrtz_simple_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `REPEAT_COUNT` bigint(7) NOT NULL, - `REPEAT_INTERVAL` bigint(12) NOT NULL, - `TIMES_TRIGGERED` bigint(10) 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 NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `iam_user_third`; +CREATE TABLE `iam_user_third` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id', + `we_chat_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信openId', + `we_chat_open_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信开放平台id', + `qq_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'qqId', + `weibo_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微博Id', + `gitee_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '码云唯一标识', + `ding_talk_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉唯一标识', + `we_com_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '企业微信唯一标识', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '版本', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + PRIMARY KEY (`id`) USING BTREE, + INDEX `pk_user_index`(`user_id`) USING BTREE COMMENT '用户id索引' +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户三方登录绑定' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of qrtz_simple_triggers +-- Records of iam_user_third -- ---------------------------- -- ---------------------------- --- Table structure for qrtz_simprop_triggers +-- Table structure for iam_user_role -- ---------------------------- -DROP TABLE IF EXISTS `qrtz_simprop_triggers`; -CREATE TABLE `qrtz_simprop_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `STR_PROP_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `STR_PROP_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `STR_PROP_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `INT_PROP_1` int(11) NULL DEFAULT NULL, - `INT_PROP_2` int(11) NULL DEFAULT NULL, - `LONG_PROP_1` bigint(20) NULL DEFAULT NULL, - `LONG_PROP_2` bigint(20) 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_general_ci NULL DEFAULT NULL, - `BOOL_PROP_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_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 NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `iam_user_role`; +CREATE TABLE `iam_user_role` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `role_id` bigint(20) NOT NULL COMMENT '角色ID', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户角色关系\r\n' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of qrtz_simprop_triggers +-- Records of iam_user_role -- ---------------------------- -- ---------------------------- --- Table structure for qrtz_triggers +-- Table structure for iam_user_data_scope -- ---------------------------- -DROP TABLE IF EXISTS `qrtz_triggers`; -CREATE TABLE `qrtz_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `NEXT_FIRE_TIME` bigint(13) NULL DEFAULT NULL, - `PREV_FIRE_TIME` bigint(13) NULL DEFAULT NULL, - `PRIORITY` int(11) NULL DEFAULT NULL, - `TRIGGER_STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_TYPE` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `START_TIME` bigint(13) NOT NULL, - `END_TIME` bigint(13) NULL DEFAULT NULL, - `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `MISFIRE_INSTR` smallint(2) NULL DEFAULT NULL, - `JOB_DATA` blob NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_ST`(`SCHED_NAME`, `TRIGGER_STATE`, `NEXT_FIRE_TIME`) USING BTREE, - INDEX `IDX_QRTZ_T_N_STATE`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_NEXT_FIRE_TIME`(`SCHED_NAME`, `NEXT_FIRE_TIME`) USING BTREE, - INDEX `IDX_QRTZ_T_C`(`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_G`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_J`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_N_G_STATE`(`SCHED_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`) USING BTREE, - INDEX `IDX_QRTZ_T_STATE`(`SCHED_NAME`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) 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 NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `iam_user_data_scope`; +CREATE TABLE `iam_user_data_scope` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `data_scope_id` bigint(20) NOT NULL COMMENT '数据权限ID', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户数据范围关系\r\n' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of qrtz_triggers +-- Records of iam_user_data_scope -- ---------------------------- -- ---------------------------- --- Table structure for report_project_info +-- Table structure for iam_role_path -- ---------------------------- -DROP TABLE IF EXISTS `report_project_info`; -CREATE TABLE `report_project_info` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目名称', - `state` int(11) NULL DEFAULT NULL COMMENT '发布状态', - `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '报表内容', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `index_image` bigint(20) NULL DEFAULT NULL COMMENT '预览图片id', - `edit` bit(1) NULL DEFAULT NULL COMMENT '是否在编辑中', +DROP TABLE IF EXISTS `iam_role_path`; +CREATE TABLE `iam_role_path` ( + `id` bigint(20) NOT NULL, + `role_id` bigint(20) NOT NULL COMMENT '角色id', + `permission_id` bigint(20) NOT NULL COMMENT '请求权限id', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '自定义大屏信息' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色请求权限表' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of report_project_info +-- Records of iam_role_path -- ---------------------------- -- ---------------------------- --- Table structure for report_project_info_publish +-- Table structure for iam_role_menu -- ---------------------------- -DROP TABLE IF EXISTS `report_project_info_publish`; -CREATE TABLE `report_project_info_publish` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '报表内容', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', +DROP TABLE IF EXISTS `iam_role_menu`; +CREATE TABLE `iam_role_menu` ( + `id` bigint(20) NOT NULL, + `role_id` bigint(20) NOT NULL COMMENT '角色id', + `client_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '终端code', + `permission_id` bigint(20) NOT NULL COMMENT '菜单权限id', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '自定义大屏发布信息' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色菜单权限表' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of report_project_info_publish +-- Records of iam_role_menu -- ---------------------------- -- ---------------------------- --- Table structure for starter_audit_data_version +-- Table structure for iam_perm_path -- ---------------------------- -DROP TABLE IF EXISTS `starter_audit_data_version`; -CREATE TABLE `starter_audit_data_version` ( +DROP TABLE IF EXISTS `iam_perm_path`; +CREATE TABLE `iam_perm_path` ( `id` bigint(20) NOT NULL, - `table_name` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据表名称', - `data_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据名称', - `data_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据主键', - `data_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '数据内容', - `change_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '数据更新内容', - `version` int(10) NOT NULL COMMENT '版本', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `code` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '权限标识', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限名称', + `request_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '请求类型', + `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '请求路径', + `group_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分组名称', + `enable` bit(1) NOT NULL COMMENT '启用状态', + `generate` bit(1) NOT NULL COMMENT '是否通过系统生成的权限', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + `creator` bigint(20) NULL DEFAULT NULL, + `create_time` datetime(6) NULL DEFAULT NULL, + `last_modifier` bigint(20) NULL DEFAULT NULL, + `last_modified_time` datetime(6) NULL DEFAULT NULL, + `deleted` bit(1) NOT NULL, + `version` int(11) NOT NULL, PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据版本日志' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '权限_请求' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_audit_data_version +-- Records of iam_perm_path -- ---------------------------- -INSERT INTO `starter_audit_data_version` VALUES (1480550993828446208, '', 'client', '1', '{\"dataName\":\"client\",\"dataId\":\"1\",\"dataContent\":{\"id\":\"1\",\"creator\":null,\"createTime\":\"2022-01-10 22:43:58\",\"lastModifier\":null,\"lastModifiedTime\":null,\"deleted\":false,\"version\":0,\"code\":null,\"name\":null,\"timeout\":null,\"captcha\":false,\"enable\":false,\"description\":null}}', NULL, 1, 0, '2022-01-10 22:43:59'); -INSERT INTO `starter_audit_data_version` VALUES (1480551021779288064, '', 'client', '1', '{\"dataName\":\"client\",\"dataId\":\"1\",\"dataContent\":{\"id\":\"1\",\"creator\":null,\"createTime\":\"2022-01-10 22:44:05\",\"lastModifier\":null,\"lastModifiedTime\":null,\"deleted\":false,\"version\":0,\"code\":null,\"name\":null,\"timeout\":null,\"captcha\":false,\"enable\":false,\"description\":null}}', NULL, 2, 0, '2022-01-10 22:44:06'); -- ---------------------------- --- Table structure for starter_audit_login_log +-- Table structure for iam_password_login_fail_record -- ---------------------------- -DROP TABLE IF EXISTS `starter_audit_login_log`; -CREATE TABLE `starter_audit_login_log` ( - `id` bigint(20) NOT NULL, - `user_id` bigint(11) NULL DEFAULT NULL COMMENT '用户id', - `account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名称', - `login` bit(1) NULL DEFAULT NULL COMMENT '登录成功状态', - `client` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终端', - `login_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录方式', - `ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录IP地址', - `login_location` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录地点', - `os` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作系统', - `browser` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '浏览器类型', - `msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示消息', - `login_time` datetime NULL DEFAULT NULL COMMENT '访问时间', +DROP TABLE IF EXISTS `iam_password_login_fail_record`; +CREATE TABLE `iam_password_login_fail_record` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id', + `fail_count` int(11) NULL DEFAULT NULL COMMENT '登录失败次数', + `fail_time` datetime(0) NULL DEFAULT NULL COMMENT '登录失败时间', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '登陆日志' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '密码登录失败记录' ROW_FORMAT = DYNAMIC; +-- ---------------------------- +-- Records of iam_password_login_fail_record +-- ---------------------------- -- ---------------------------- --- Table structure for starter_audit_operate_log +-- Table structure for iam_password_change_history -- ---------------------------- -DROP TABLE IF EXISTS `starter_audit_operate_log`; -CREATE TABLE `starter_audit_operate_log` ( - `id` bigint(20) NOT NULL, - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作模块', - `operate_id` bigint(20) NULL DEFAULT NULL COMMENT '操作人员id', - `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作人员账号', - `business_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `method` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方法', - `request_method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方式', - `operate_url` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求url', - `operate_ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作ip', - `operate_location` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作地点', - `operate_param` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求参数', - `operate_return` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '返回参数', - `success` bit(1) NULL DEFAULT NULL COMMENT '是否成功', - `error_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '错误提示', - `operate_time` datetime NULL DEFAULT NULL COMMENT '操作时间', +DROP TABLE IF EXISTS `iam_password_change_history`; +CREATE TABLE `iam_password_change_history` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户Id', + `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '密码', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '密码更改历史,' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_audit_operate_log +-- Records of iam_password_change_history -- ---------------------------- -- ---------------------------- --- Table structure for starter_ding_media_md5 +-- Table structure for iam_login_security_config -- ---------------------------- -DROP TABLE IF EXISTS `starter_ding_media_md5`; -CREATE TABLE `starter_ding_media_md5` ( - `id` bigint(20) NOT NULL, - `media_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '媒体id', - `md5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'md5值', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', +DROP TABLE IF EXISTS `iam_login_security_config`; +CREATE TABLE `iam_login_security_config` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `client_id` bigint(20) NULL DEFAULT NULL COMMENT '关联终端ID', + `require_login_change_pwd` bit(1) NULL DEFAULT NULL COMMENT '修改密码是否需要重新登录', + `captcha_enable` bit(1) NULL DEFAULT NULL COMMENT '默认启用验证码', + `max_captcha_error_count` int(11) NULL DEFAULT NULL COMMENT '出现验证码的错误次数', + `allow_multi_login` bit(1) NULL DEFAULT NULL COMMENT '同端是否允许同时登录', + `allow_multi_terminal_login` bit(1) NULL DEFAULT NULL COMMENT '多终端是否允许同时登录', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钉钉媒体文件MD5值关联关系' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '登录安全策略' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_ding_media_md5 +-- Records of iam_login_security_config -- ---------------------------- -- ---------------------------- --- Table structure for starter_ding_robot_config +-- Table structure for iam_data_scope_user -- ---------------------------- -DROP TABLE IF EXISTS `starter_ding_robot_config`; -CREATE TABLE `starter_ding_robot_config` ( +DROP TABLE IF EXISTS `iam_data_scope_user`; +CREATE TABLE `iam_data_scope_user` ( `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号', - `access_token` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉机器人访问token', - `enable_signature_check` bit(1) NOT NULL COMMENT '是否开启验签', - `sign_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉机器人私钥', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(6) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` bit(1) NOT NULL COMMENT '0:未删除。1:已删除', + `data_scope_id` bigint(20) NOT NULL COMMENT '数据范围id', + `user_id` bigint(20) NOT NULL COMMENT '用户id', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钉钉机器人配置' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据范围用户关联配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_ding_robot_config +-- Records of iam_data_scope_user -- ---------------------------- -- ---------------------------- --- Table structure for starter_file_data +-- Table structure for base_village -- ---------------------------- -DROP TABLE IF EXISTS `starter_file_data`; -CREATE TABLE `starter_file_data` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `base64` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT 'base64方式存储', - `data` longblob NULL COMMENT '数据方式存储', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '上传文件数据' ROW_FORMAT = DYNAMIC; +DROP TABLE IF EXISTS `base_village`; +CREATE TABLE `base_village` ( + `code` char(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '编码', + `name` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '名称', + `street_code` char(9) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '社区/乡镇编码', + PRIMARY KEY (`code`) USING BTREE, + INDEX `inx_street_code`(`street_code`) USING BTREE COMMENT '所属街道索引' +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '村庄/社区' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_file_data +-- Records of base_village -- ---------------------------- -- ---------------------------- --- Table structure for starter_file_upload_info +-- Table structure for base_street -- ---------------------------- -DROP TABLE IF EXISTS `starter_file_upload_info`; -CREATE TABLE `starter_file_upload_info` ( +DROP TABLE IF EXISTS `base_street`; +CREATE TABLE `base_street` ( + `code` char(9) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '编码', + `name` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '街道名称', + `area_code` char(6) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '县区编码', + PRIMARY KEY (`code`) USING BTREE, + INDEX `inx_area_code`(`area_code`) USING BTREE COMMENT '县区' +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '街道表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of base_street +-- ---------------------------- + +-- ---------------------------- +-- Table structure for base_query_sql +-- ---------------------------- +DROP TABLE IF EXISTS `base_query_sql`; +CREATE TABLE `base_query_sql` ( `id` bigint(20) NOT NULL COMMENT '主键', - `file_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存储位置', - `file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件名称', - `file_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件类型', - `file_suffix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件后缀', - `file_size` bigint(20) NULL DEFAULT NULL COMMENT '文件大小', - `external_storage_id` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '外部关联id', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `database_id` bigint(20) NULL DEFAULT NULL COMMENT '数据源ID', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '名称', + `is_list` bit(1) NULL DEFAULT NULL COMMENT '是否集合', + `sql` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT 'sql语句', + `params` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'SQL查询参数', + `fields` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'SQL查询结果字段', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '上传文件信息' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'SQL查询语句' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_file_upload_info +-- Records of base_query_sql -- ---------------------------- -- ---------------------------- --- Table structure for starter_quartz_job +-- Table structure for base_key_value -- ---------------------------- -DROP TABLE IF EXISTS `starter_quartz_job`; -CREATE TABLE `starter_quartz_job` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务名称', - `job_class_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务类名', - `cron` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'cron表达式', - `parameter` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '参数', - `state` int(4) NULL DEFAULT NULL COMMENT '状态', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', +DROP TABLE IF EXISTS `base_key_value`; +CREATE TABLE `base_key_value` ( + `id` bigint(20) NOT NULL, + `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数键名', + `value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数值', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', + `version` int(8) NOT NULL COMMENT '版本', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'kv存储' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_quartz_job +-- Records of base_key_value -- ---------------------------- -INSERT INTO `starter_quartz_job` VALUES (1456579473573867520, '测试任务', 'cn.bootx.starter.quartz.task.TestTask', '50 0 * * * ? *', '{\"aaa\":\"5255\"}', 0, '测试任务', 1399985191002447872, '2021-11-05 19:09:43', 1399985191002447872, '2022-06-22 00:37:48', 25, 0); -INSERT INTO `starter_quartz_job` VALUES (1546857070483939328, '支付单超时检测', 'cn.bootx.payment.task.PayExpiredTimeTask', '0/5 * * * * ? *', NULL, 1, '检测超时的支付单, 超时后发送超时事件', 1399985191002447872, '2022-07-12 22:00:39', 1399985191002447872, '2022-07-12 22:00:45', 1, 0); -- ---------------------------- --- Table structure for starter_quartz_job_log +-- Table structure for base_general_template -- ---------------------------- -DROP TABLE IF EXISTS `starter_quartz_job_log`; -CREATE TABLE `starter_quartz_job_log` ( +DROP TABLE IF EXISTS `base_general_template`; +CREATE TABLE `base_general_template` ( `id` bigint(20) NOT NULL COMMENT '主键', - `handler_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理器名称', - `class_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理器全限定名', - `success` bit(1) NOT NULL COMMENT '是否执行成功', - `error_message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `start_time` datetime NULL DEFAULT NULL COMMENT '开始时间', - `end_time` datetime NULL DEFAULT NULL COMMENT '结束时间', - `duration` bigint(255) NULL DEFAULT NULL COMMENT '执行时长', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板名称', + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板代码', + `use_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '使用类型(导入/导出)', + `file_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板类型', + `file_suffix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板后缀名', + `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '状态', + `file_id` bigint(20) NULL DEFAULT NULL COMMENT '文件ID', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '任务执行日志' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '通用模板管理' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_quartz_job_log +-- Records of base_general_template -- ---------------------------- -- ---------------------------- --- Table structure for starter_wecom_robot_config +-- Table structure for base_dynamic_data_source -- ---------------------------- -DROP TABLE IF EXISTS `starter_wecom_robot_config`; -CREATE TABLE `starter_wecom_robot_config` ( +DROP TABLE IF EXISTS `base_dynamic_data_source`; +CREATE TABLE `base_dynamic_data_source` ( `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号', - `webhook_key` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'webhook地址的key值', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据源编码', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据源名称', + `database_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库类型', + `auto_load` bit(1) NULL DEFAULT NULL COMMENT '是否启动自动加载', + `db_driver` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '驱动类', + `db_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库地址', + `db_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库名称', + `db_username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户名', + `db_password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '密码', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(6) NULL DEFAULT NULL COMMENT '最后修改时间', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '版本', - `deleted` bit(1) NOT NULL COMMENT '0:未删除。1:已删除', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '企业微信机器人配置' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '动态数据源管理' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_wecom_robot_config +-- Records of base_dynamic_data_source -- ---------------------------- -- ---------------------------- --- Table structure for starter_wx_fans +-- Table structure for base_data_result_sql -- ---------------------------- -DROP TABLE IF EXISTS `starter_wx_fans`; -CREATE TABLE `starter_wx_fans` ( - `id` bigint(20) NOT NULL, - `openid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联OpenId', - `subscribe_status` bit(1) NULL DEFAULT NULL COMMENT '订阅状态', - `subscribe_time` datetime NULL DEFAULT NULL COMMENT '订阅时间', - `nickname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '昵称', - `sex` varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '性别', - `language` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '语言', - `country` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国家', - `province` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '省份', - `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '城市', - `avatar_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像地址', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', +DROP TABLE IF EXISTS `base_data_result_sql`; +CREATE TABLE `base_data_result_sql` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `database_id` bigint(20) NULL DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `is_list` bit(1) NULL DEFAULT NULL, + `sql` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `params` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL, + `fields` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL, + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信公众号粉丝' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '数据集SQL语句' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_wx_fans +-- Records of base_data_result_sql -- ---------------------------- -- ---------------------------- --- Table structure for starter_wx_menu +-- Table structure for base_china_word -- ---------------------------- -DROP TABLE IF EXISTS `starter_wx_menu`; -CREATE TABLE `starter_wx_menu` ( +DROP TABLE IF EXISTS `base_china_word`; +CREATE TABLE `base_china_word` ( `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '名称', - `menu_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '菜单信息', - `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', - `publish` bit(1) NOT NULL COMMENT '是否发布', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(11) NOT NULL COMMENT '版本', + `word` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '敏感词', + `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '分类', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '描述', + `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `white` bit(1) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '微信自定义菜单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_wx_menu --- ---------------------------- - --- ---------------------------- --- Table structure for starter_wx_template --- ---------------------------- -DROP TABLE IF EXISTS `starter_wx_template`; -CREATE TABLE `starter_wx_template` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编码', - `enable` bit(1) NOT NULL COMMENT '是否启用', - `template_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '模板ID', - `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板标题', - `primary_industry` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板所属行业的一级行业', - `deputy_industry` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板所属行业的二级行业', - `content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板内容', - `example` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '示例', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `inx_`(`template_id`) USING BTREE COMMENT '模板id' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信消息模板' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '敏感词' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of starter_wx_template +-- Records of base_china_word -- ---------------------------- SET FOREIGN_KEY_CHECKS = 1; diff --git a/bootx-start/src/main/resources/logback-spring.xml b/bootx-start/src/main/resources/logback-spring.xml index a7b2caa0..eafa75a9 100644 --- a/bootx-start/src/main/resources/logback-spring.xml +++ b/bootx-start/src/main/resources/logback-spring.xml @@ -23,7 +23,6 @@ 127.0.0.1 - diff --git a/pom.xml b/pom.xml index 2dc3e775..4aad6501 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ cn.bootx.platform bootx-platform-parent pom - 1.3.4 + 1.3.5 bootx-platform @@ -75,7 +75,7 @@ 1.8 - 1.3.4 + 1.3.5 5.8.22 6.4.4 @@ -119,7 +119,7 @@ 2.2.5 2.7.0 2.2.0 - 1.5.4.beta3 + 1.5.4 -- Gitee From b739f0f28e3799538c85a217311834602eaffa3b Mon Sep 17 00:00:00 2001 From: nws <3239709711@qq.com> Date: Sat, 21 Oct 2023 23:05:31 +0800 Subject: [PATCH 26/26] =?UTF-8?q?doc=20=E4=B8=8B=E4=B8=80=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _doc/Task.md | 1 + 1 file changed, 1 insertion(+) diff --git a/_doc/Task.md b/_doc/Task.md index 4a94564c..7908286b 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -17,6 +17,7 @@ - 添加配置备份功能(菜单/系统参数/字典), csv或者表格方式 - Websocket连接管理页 - 可视化大屏端支持一键登录 +- 密码过期后清除所有的权限,必须强制更改密码 ## 1.3.x、1.4.x - 数据集功能 - 小程序工单功能 -- Gitee