Commit 4247061b96889ce721844e697e1bf1e80ce65e2b

Authored by shizhong
2 parents 4584774d b0b72523

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

 Conflicts:
	yudao-ui-admin/yarn.lock
Showing 675 changed files with 27440 additions and 3493 deletions

Too many changes.

To preserve performance only 100 of 675 files are displayed.

README.md
@@ -41,7 +41,20 @@ @@ -41,7 +41,20 @@
41 | `ruoyi-vue-pro` | Spring Boot 多模块 | **[Gitee](https://gitee.com/zhijiantianya/ruoyi-vue-pro)**     [Github](https://github.com/YunaiV/ruoyi-vue-pro) | 41 | `ruoyi-vue-pro` | Spring Boot 多模块 | **[Gitee](https://gitee.com/zhijiantianya/ruoyi-vue-pro)**     [Github](https://github.com/YunaiV/ruoyi-vue-pro) |
42 | `yudao-cloud` | Spring Cloud 微服务 | **[Gitee](https://gitee.com/zhijiantianya/yudao-cloud)**     [Github](https://github.com/YunaiV/yudao-cloud) | 42 | `yudao-cloud` | Spring Cloud 微服务 | **[Gitee](https://gitee.com/zhijiantianya/yudao-cloud)**     [Github](https://github.com/YunaiV/yudao-cloud) |
43 | `Spring-Boot-Labs` | Spring Boot & Cloud 入门 | **[Gitee](https://gitee.com/zhijiantianya/SpringBoot-Labs)**     [Github](https://github.com/YunaiV/SpringBoot-Labs) | 43 | `Spring-Boot-Labs` | Spring Boot & Cloud 入门 | **[Gitee](https://gitee.com/zhijiantianya/SpringBoot-Labs)**     [Github](https://github.com/YunaiV/SpringBoot-Labs) |
44 - | `ruoyi-vue-pro-mini` | 精简版:移除工作流、支付等模块 | **[Gitee](https://gitee.com/zhijiantianya/ruoyi-vue-pro/tree/mini)** | 44 +
  45 +## 🐰 分支说明
  46 +
  47 +| | JDK 8 完整版 | JDK 8 精简版 | JDK 17 完整版 |
  48 +|-------|-----------------------------------------------------------|--------------------------------------------------------------------|-----------------------------------------------------------------------------|
  49 +| 分支 | [`master`](https://gitee.com/zhijiantianya/ruoyi-vue-pro) | [`mini`](https://gitee.com/zhijiantianya/ruoyi-vue-pro/tree/mini/) | [`boot-dev`](https://gitee.com/zhijiantianya/ruoyi-vue-pro/tree/boot3-dev/) |
  50 +| 说明 | 包括所有功能 | 只保留核心功能 | 适配 Spring Boot 3.X |
  51 +| 系统功能 | √ | √ | √ |
  52 +| 基础设施 | √ | √ | √ |
  53 +| 会员中心 | √ | √ | √ |
  54 +| 工作流程 | √ | x | 适配中 |
  55 +| 数据报表 | √ | x | 适配中 |
  56 +| 商城系统 | √ | x | √ |
  57 +| 微信公众号 | √ | x | √ |
45 58
46 ## 😎 开源协议 59 ## 😎 开源协议
47 60
@@ -55,6 +68,14 @@ @@ -55,6 +68,14 @@
55 68
56 ③ 代码整洁、架构整洁,遵循《阿里巴巴 Java 开发手册》规范,代码注释详细,57000 行 Java 代码,22000 行代码注释。 69 ③ 代码整洁、架构整洁,遵循《阿里巴巴 Java 开发手册》规范,代码注释详细,57000 行 Java 代码,22000 行代码注释。
57 70
  71 +## 🤝 项目外包
  72 +
  73 +我们也是接外包滴,如果你有项目想要外包,可以微信联系【**Aix9975**】。
  74 +
  75 +团队包含专业的项目经理、架构师、前端工程师、后端工程师、测试工程师、运维工程师,可以提供全流程的外包服务。
  76 +
  77 +项目可以是商城、SCRM 系统、OA 系统、物流系统、ERP 系统、CMS 系统、HIS 系统、支付系统、IM 聊天、微信公众号、微信小程序等等。
  78 +
58 ## 🐼 内置功能 79 ## 🐼 内置功能
59 80
60 系统内置多种多种业务功能,可以用于快速你的业务系统: 81 系统内置多种多种业务功能,可以用于快速你的业务系统:
@@ -68,6 +89,7 @@ @@ -68,6 +89,7 @@
68 * 会员中心 89 * 会员中心
69 * 数据报表 90 * 数据报表
70 * 商城系统 91 * 商城系统
  92 +* 微信公众号
71 93
72 > 友情提示:本项目基于 RuoYi-Vue 修改,**重构优化**后端的代码,**美化**前端的界面。 94 > 友情提示:本项目基于 RuoYi-Vue 修改,**重构优化**后端的代码,**美化**前端的界面。
73 > 95 >
@@ -90,6 +112,8 @@ @@ -90,6 +112,8 @@
90 | 🚀 | 租户套餐 | 配置租户套餐,自定每个租户的菜单、操作、按钮的权限 | 112 | 🚀 | 租户套餐 | 配置租户套餐,自定每个租户的菜单、操作、按钮的权限 |
91 | | 字典管理 | 对系统中经常使用的一些较为固定的数据进行维护 | 113 | | 字典管理 | 对系统中经常使用的一些较为固定的数据进行维护 |
92 | 🚀 | 短信管理 | 短信渠道、短息模板、短信日志,对接阿里云、腾讯云等主流短信平台 | 114 | 🚀 | 短信管理 | 短信渠道、短息模板、短信日志,对接阿里云、腾讯云等主流短信平台 |
  115 +| 🚀 | 邮件管理 | 邮箱账号、邮件模版、邮件发送日志,支持所有邮件平台 |
  116 +| 🚀 | 站内信 | 系统内的消息通知,提供站内信模版、站内信消息 |
93 | 🚀 | 操作日志 | 系统正常操作日志记录和查询,集成 Swagger 生成日志内容 | 117 | 🚀 | 操作日志 | 系统正常操作日志记录和查询,集成 Swagger 生成日志内容 |
94 | ⭐️ | 登录日志 | 系统登录日志记录查询,包含登录异常 | 118 | ⭐️ | 登录日志 | 系统登录日志记录查询,包含登录异常 |
95 | 🚀 | 错误码管理 | 系统所有错误码的管理,可在线修改错误提示,无需重启服务 | 119 | 🚀 | 错误码管理 | 系统所有错误码的管理,可在线修改错误提示,无需重启服务 |
@@ -152,6 +176,21 @@ ps:核心功能已经实现,正在对接微信小程序中... @@ -152,6 +176,21 @@ ps:核心功能已经实现,正在对接微信小程序中...
152 | 🚀 | 报表设计器 | 支持数据报表、图形报表、打印设计等 | 176 | 🚀 | 报表设计器 | 支持数据报表、图形报表、打印设计等 |
153 | 🚀 | 大屏设计器 | 建设中... 拖拽式实现可视化数据大屏 | 177 | 🚀 | 大屏设计器 | 建设中... 拖拽式实现可视化数据大屏 |
154 178
  179 +### 微信公众号
  180 +
  181 +| | 功能 | 描述 |
  182 +|-----|--------|-------------------------------|
  183 +| 🚀 | 账号管理 | 配置接入的微信公众号,可支持多个公众号 |
  184 +| 🚀 | 数据统计 | 统计公众号的用户增减、累计用户、消息概况、接口分析等数据 |
  185 +| 🚀 | 粉丝管理 | 查看已关注、取关的粉丝列表,可对粉丝进行同步、打标签等操作 |
  186 +| 🚀 | 消息管理 | 查看粉丝发送的消息列表,可主动回复粉丝消息 |
  187 +| 🚀 | 自动回复 | 自动回复粉丝发送的消息,支持关注回复、消息回复、关键字回复 |
  188 +| 🚀 | 标签管理 | 对公众号的标签进行创建、查询、修改、删除等操作 |
  189 +| 🚀 | 菜单管理 | 自定义公众号的菜单,也可以从公众号同步菜单 |
  190 +| 🚀 | 素材管理 | 管理公众号的图片、语音、视频等素材,支持在线播放语音、视频 |
  191 +| 🚀 | 图文草稿箱 | 新增常用的图文素材到草稿箱,可发布到公众号 |
  192 +| 🚀 | 图文发表记录 | 查看已发布成功的图文素材,支持删除操作 |
  193 +
155 ### 商城系统 194 ### 商城系统
156 195
157 建设中... 196 建设中...
@@ -182,6 +221,8 @@ ps:核心功能已经实现,正在对接微信小程序中... @@ -182,6 +221,8 @@ ps:核心功能已经实现,正在对接微信小程序中...
182 | `yudao-module-infra` | 基础设施的 Module 模块 | 221 | `yudao-module-infra` | 基础设施的 Module 模块 |
183 | `yudao-module-bpm` | 工作流程的 Module 模块 | 222 | `yudao-module-bpm` | 工作流程的 Module 模块 |
184 | `yudao-module-pay` | 支付系统的 Module 模块 | 223 | `yudao-module-pay` | 支付系统的 Module 模块 |
  224 +| `yudao-module-mall` | 商城系统的 Module 模块 |
  225 +| `yudao-module-mp` | 微信公众号的 Module 模块 |
185 | `yudao-module-visualization` | 大屏报表 Module 模块 | 226 | `yudao-module-visualization` | 大屏报表 Module 模块 |
186 227
187 ### 后端 228 ### 后端
@@ -191,19 +232,19 @@ ps:核心功能已经实现,正在对接微信小程序中... @@ -191,19 +232,19 @@ ps:核心功能已经实现,正在对接微信小程序中...
191 | [Spring Boot](https://spring.io/projects/spring-boot) | 应用开发框架 | 2.7.7 | [文档](https://github.com/YunaiV/SpringBoot-Labs) | 232 | [Spring Boot](https://spring.io/projects/spring-boot) | 应用开发框架 | 2.7.7 | [文档](https://github.com/YunaiV/SpringBoot-Labs) |
192 | [MySQL](https://www.mysql.com/cn/) | 数据库服务器 | 5.7 / 8.0+ | | 233 | [MySQL](https://www.mysql.com/cn/) | 数据库服务器 | 5.7 / 8.0+ | |
193 | [Druid](https://github.com/alibaba/druid) | JDBC 连接池、监控组件 | 1.2.15 | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) | 234 | [Druid](https://github.com/alibaba/druid) | JDBC 连接池、监控组件 | 1.2.15 | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
194 -| [MyBatis Plus](https://mp.baomidou.com/) | MyBatis 增强工具包 | 3.5.3 | [文档](http://www.iocoder.cn/Spring-Boot/MyBatis/?yudao) | 235 +| [MyBatis Plus](https://mp.baomidou.com/) | MyBatis 增强工具包 | 3.5.3.1 | [文档](http://www.iocoder.cn/Spring-Boot/MyBatis/?yudao) |
195 | [Dynamic Datasource](https://dynamic-datasource.com/) | 动态数据源 | 3.6.1 | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) | 236 | [Dynamic Datasource](https://dynamic-datasource.com/) | 动态数据源 | 3.6.1 | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
196 | [Redis](https://redis.io/) | key-value 数据库 | 5.0 / 6.0 | | 237 | [Redis](https://redis.io/) | key-value 数据库 | 5.0 / 6.0 | |
197 | [Redisson](https://github.com/redisson/redisson) | Redis 客户端 | 3.18.0 | [文档](http://www.iocoder.cn/Spring-Boot/Redis/?yudao) | 238 | [Redisson](https://github.com/redisson/redisson) | Redis 客户端 | 3.18.0 | [文档](http://www.iocoder.cn/Spring-Boot/Redis/?yudao) |
198 | [Spring MVC](https://github.com/spring-projects/spring-framework/tree/master/spring-webmvc) | MVC 框架 | 5.3.24 | [文档](http://www.iocoder.cn/SpringMVC/MVC/?yudao) | 239 | [Spring MVC](https://github.com/spring-projects/spring-framework/tree/master/spring-webmvc) | MVC 框架 | 5.3.24 | [文档](http://www.iocoder.cn/SpringMVC/MVC/?yudao) |
199 -| [Spring Security](https://github.com/spring-projects/spring-security) | Spring 安全框架 | 5.7.5 | [文档](http://www.iocoder.cn/Spring-Boot/Spring-Security/?yudao) | 240 +| [Spring Security](https://github.com/spring-projects/spring-security) | Spring 安全框架 | 5.7.6 | [文档](http://www.iocoder.cn/Spring-Boot/Spring-Security/?yudao) |
200 | [Hibernate Validator](https://github.com/hibernate/hibernate-validator) | 参数校验组件 | 6.2.5 | [文档](http://www.iocoder.cn/Spring-Boot/Validation/?yudao) | 241 | [Hibernate Validator](https://github.com/hibernate/hibernate-validator) | 参数校验组件 | 6.2.5 | [文档](http://www.iocoder.cn/Spring-Boot/Validation/?yudao) |
201 | [Flowable](https://github.com/flowable/flowable-engine) | 工作流引擎 | 6.8.0 | [文档](https://doc.iocoder.cn/bpm/) | 242 | [Flowable](https://github.com/flowable/flowable-engine) | 工作流引擎 | 6.8.0 | [文档](https://doc.iocoder.cn/bpm/) |
202 | [Quartz](https://github.com/quartz-scheduler) | 任务调度组件 | 2.3.2 | [文档](http://www.iocoder.cn/Spring-Boot/Job/?yudao) | 243 | [Quartz](https://github.com/quartz-scheduler) | 任务调度组件 | 2.3.2 | [文档](http://www.iocoder.cn/Spring-Boot/Job/?yudao) |
203 | [Knife4j](https://gitee.com/xiaoym/knife4j) | Swagger 增强 UI 实现 | 3.0.3 | [文档](http://www.iocoder.cn/Spring-Boot/Swagger/?yudao) | 244 | [Knife4j](https://gitee.com/xiaoym/knife4j) | Swagger 增强 UI 实现 | 3.0.3 | [文档](http://www.iocoder.cn/Spring-Boot/Swagger/?yudao) |
204 | [Resilience4j](https://github.com/resilience4j/resilience4j) | 服务保障组件 | 1.7.1 | [文档](http://www.iocoder.cn/Spring-Boot/Resilience4j/?yudao) | 245 | [Resilience4j](https://github.com/resilience4j/resilience4j) | 服务保障组件 | 1.7.1 | [文档](http://www.iocoder.cn/Spring-Boot/Resilience4j/?yudao) |
205 | [SkyWalking](https://skywalking.apache.org/) | 分布式应用追踪系统 | 8.12.0 | [文档](http://www.iocoder.cn/Spring-Boot/SkyWalking/?yudao) | 246 | [SkyWalking](https://skywalking.apache.org/) | 分布式应用追踪系统 | 8.12.0 | [文档](http://www.iocoder.cn/Spring-Boot/SkyWalking/?yudao) |
206 -| [Spring Boot Admin](https://github.com/codecentric/spring-boot-admin) | Spring Boot 监控平台 | 2.7.9 | [文档](http://www.iocoder.cn/Spring-Boot/Admin/?yudao) | 247 +| [Spring Boot Admin](https://github.com/codecentric/spring-boot-admin) | Spring Boot 监控平台 | 2.7.10 | [文档](http://www.iocoder.cn/Spring-Boot/Admin/?yudao) |
207 | [Jackson](https://github.com/FasterXML/jackson) | JSON 工具库 | 2.13.3 | | 248 | [Jackson](https://github.com/FasterXML/jackson) | JSON 工具库 | 2.13.3 | |
208 | [MapStruct](https://mapstruct.org/) | Java Bean 转换 | 1.5.3.Final | [文档](http://www.iocoder.cn/Spring-Boot/MapStruct/?yudao) | 249 | [MapStruct](https://mapstruct.org/) | Java Bean 转换 | 1.5.3.Final | [文档](http://www.iocoder.cn/Spring-Boot/MapStruct/?yudao) |
209 | [Lombok](https://projectlombok.org/) | 消除冗长的 Java 代码 | 1.18.24 | [文档](http://www.iocoder.cn/Spring-Boot/Lombok/?yudao) | 250 | [Lombok](https://projectlombok.org/) | 消除冗长的 Java 代码 | 1.18.24 | [文档](http://www.iocoder.cn/Spring-Boot/Lombok/?yudao) |
@@ -227,7 +268,7 @@ ps:核心功能已经实现,正在对接微信小程序中... @@ -227,7 +268,7 @@ ps:核心功能已经实现,正在对接微信小程序中...
227 | [TypeScript](https://www.typescriptlang.org/docs/) | TypeScript | 4.9.4 | 268 | [TypeScript](https://www.typescriptlang.org/docs/) | TypeScript | 4.9.4 |
228 | [pinia](https://pinia.vuejs.org/) | vuex5 | 2.0.28 | 269 | [pinia](https://pinia.vuejs.org/) | vuex5 | 2.0.28 |
229 | [vue-i18n](https://kazupon.github.io/vue-i18n/zh/introduction.html/) | 国际化 | 9.2.2 | 270 | [vue-i18n](https://kazupon.github.io/vue-i18n/zh/introduction.html/) | 国际化 | 9.2.2 |
230 -| [vxe-table](https://vxetable.cn/) | vue最强表单 | 4.3.7 | 271 +| [vxe-table](https://vxetable.cn/) | vue最强表单 | 4.3.9 |
231 272
232 ### [管理后台 uni-app 跨端](./yudao-ui-admin-uniapp) 273 ### [管理后台 uni-app 跨端](./yudao-ui-admin-uniapp)
233 274
http-client.env.json
@@ -15,6 +15,6 @@ @@ -15,6 +15,6 @@
15 15
16 "appApi": "http://127.0.0.1:8888/app-api", 16 "appApi": "http://127.0.0.1:8888/app-api",
17 "appToken": "test1", 17 "appToken": "test1",
18 - "appTenentId": "1" 18 + "appTenantId": "1"
19 } 19 }
20 } 20 }
@@ -18,8 +18,9 @@ @@ -18,8 +18,9 @@
18 <module>yudao-module-infra</module> 18 <module>yudao-module-infra</module>
19 <module>yudao-module-pay</module> 19 <module>yudao-module-pay</module>
20 <!-- <module>yudao-module-bpm</module>--> 20 <!-- <module>yudao-module-bpm</module>-->
21 - <module>yudao-module-visualization</module>  
22 -<!-- <module>yudao-module-mall</module>--> 21 +<!-- <module>yudao-module-visualization</module>-->
  22 +<!-- <module>yudao-module-mp</module>-->
  23 + <!-- <module>yudao-module-mall</module>-->
23 <!-- 示例项目 --> 24 <!-- 示例项目 -->
24 <module>yudao-example</module> 25 <module>yudao-example</module>
25 </modules> 26 </modules>
@@ -29,15 +30,16 @@ @@ -29,15 +30,16 @@
29 <url>https://github.com/YunaiV/ruoyi-vue-pro</url> 30 <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
30 31
31 <properties> 32 <properties>
32 - <revision>1.6.6-snapshot</revision> 33 + <revision>1.7.0-snapshot</revision>
33 <!-- Maven 相关 --> 34 <!-- Maven 相关 -->
34 <java.version>1.8</java.version> 35 <java.version>1.8</java.version>
35 <maven.compiler.source>${java.version}</maven.compiler.source> 36 <maven.compiler.source>${java.version}</maven.compiler.source>
36 <maven.compiler.target>${java.version}</maven.compiler.target> 37 <maven.compiler.target>${java.version}</maven.compiler.target>
37 <maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version> 38 <maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
38 - <maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version> 39 + <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
39 <!-- 看看咋放到 bom 里 --> 40 <!-- 看看咋放到 bom 里 -->
40 <lombok.version>1.18.24</lombok.version> 41 <lombok.version>1.18.24</lombok.version>
  42 + <spring.boot.version>2.7.8</spring.boot.version>
41 <mapstruct.version>1.5.3.Final</mapstruct.version> 43 <mapstruct.version>1.5.3.Final</mapstruct.version>
42 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 44 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
43 </properties> 45 </properties>
@@ -64,7 +66,8 @@ @@ -64,7 +66,8 @@
64 <artifactId>maven-surefire-plugin</artifactId> 66 <artifactId>maven-surefire-plugin</artifactId>
65 <version>${maven-surefire-plugin.version}</version> 67 <version>${maven-surefire-plugin.version}</version>
66 </plugin> 68 </plugin>
67 - <!-- maven-compiler-plugin 插件,解决 Lombok + MapStruct 组合 --> 69 + <!-- maven-compiler-plugin 插件,解决 spring-boot-configuration-processor + Lombok + MapStruct 组合 -->
  70 + <!-- https://stackoverflow.com/questions/33483697/re-run-spring-boot-configuration-annotation-processor-to-update-generated-metada -->
68 <plugin> 71 <plugin>
69 <groupId>org.apache.maven.plugins</groupId> 72 <groupId>org.apache.maven.plugins</groupId>
70 <artifactId>maven-compiler-plugin</artifactId> 73 <artifactId>maven-compiler-plugin</artifactId>
@@ -72,6 +75,11 @@ @@ -72,6 +75,11 @@
72 <configuration> 75 <configuration>
73 <annotationProcessorPaths> 76 <annotationProcessorPaths>
74 <path> 77 <path>
  78 + <groupId>org.springframework.boot</groupId>
  79 + <artifactId>spring-boot-configuration-processor</artifactId>
  80 + <version>${spring.boot.version}</version>
  81 + </path>
  82 + <path>
75 <groupId>org.projectlombok</groupId> 83 <groupId>org.projectlombok</groupId>
76 <artifactId>lombok</artifactId> 84 <artifactId>lombok</artifactId>
77 <version>${lombok.version}</version> 85 <version>${lombok.version}</version>
sql/optional/visualization/jimureport.mysql5.7.create.sql renamed to sql/mysql/optional/jimureport.mysql5.7.create.sql
sql/mysql/optional/mp.sql 0 → 100644
  1 +/*
  2 + Navicat Premium Data Transfer
  3 +
  4 + Source Server : 127.0.0.1 MySQL
  5 + Source Server Type : MySQL
  6 + Source Server Version : 80026
  7 + Source Host : localhost:3306
  8 + Source Schema : ruoyi-vue-pro
  9 +
  10 + Target Server Type : MySQL
  11 + Target Server Version : 80026
  12 + File Encoding : 65001
  13 +
  14 + Date: 17/01/2023 23:50:17
  15 +*/
  16 +
  17 +SET NAMES utf8mb4;
  18 +SET FOREIGN_KEY_CHECKS = 0;
  19 +
  20 +-- ----------------------------
  21 +-- Table structure for mp_account
  22 +-- ----------------------------
  23 +DROP TABLE IF EXISTS `mp_account`;
  24 +CREATE TABLE `mp_account` (
  25 + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
  26 + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '公众号名称',
  27 + `account` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '公众号账号',
  28 + `app_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '公众号appid',
  29 + `app_secret` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '公众号密钥',
  30 + `url` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '公众号url',
  31 + `token` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '公众号token',
  32 + `aes_key` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '加密密钥',
  33 + `qr_code_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '二维码图片URL',
  34 + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
  35 + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
  36 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  37 + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
  38 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  39 + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  40 + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
  41 + PRIMARY KEY (`id`) USING BTREE
  42 +) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '公众号账号表';
  43 +
  44 +-- ----------------------------
  45 +-- Records of mp_account
  46 +-- ----------------------------
  47 +BEGIN;
  48 +INSERT INTO `mp_account` (`id`, `name`, `account`, `app_id`, `app_secret`, `url`, `token`, `aes_key`, `qr_code_url`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2, '1', '2', '3', '4', NULL, '5', NULL, NULL, NULL, '1', '2023-01-07 17:30:30', '1', '2023-01-07 10:05:49', b'1', 1), (3, '1', '2', '3', '4', NULL, '5', NULL, NULL, NULL, '1', '2023-01-08 00:34:35', '1', '2023-01-14 01:15:56', b'1', 1);
  49 +COMMIT;
  50 +
  51 +-- ----------------------------
  52 +-- Table structure for mp_auto_reply
  53 +-- ----------------------------
  54 +DROP TABLE IF EXISTS `mp_auto_reply`;
  55 +CREATE TABLE `mp_auto_reply` (
  56 + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  57 + `account_id` bigint NOT NULL COMMENT '公众号账号的编号',
  58 + `app_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '公众号 appId',
  59 + `type` tinyint NOT NULL COMMENT '回复类型',
  60 + `request_keyword` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '请求的关键字',
  61 + `request_match` tinyint NULL DEFAULT NULL COMMENT '请求的关键字的匹配',
  62 + `request_message_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '请求的消息类型',
  63 + `response_message_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '回复的消息类型',
  64 + `response_content` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回复的消息内容',
  65 + `response_media_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回复的媒体文件 id',
  66 + `response_media_url` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回复的媒体文件 URL',
  67 + `response_title` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回复的标题',
  68 + `response_description` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回复的描述',
  69 + `response_thumb_media_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回复的缩略图的媒体 id',
  70 + `response_thumb_media_url` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回复的缩略图的媒体 URL',
  71 + `response_articles` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回复的图文消息数组',
  72 + `response_music_url` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回复的音乐链接',
  73 + `response_hq_music_url` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回复的高质量音乐链接',
  74 + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
  75 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  76 + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
  77 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  78 + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  79 + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
  80 + PRIMARY KEY (`id`) USING BTREE
  81 +) ENGINE = InnoDB AUTO_INCREMENT = 53 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '公众号消息自动回复表';
  82 +
  83 +-- ----------------------------
  84 +-- Records of mp_auto_reply
  85 +-- ----------------------------
  86 +BEGIN;
  87 +INSERT INTO `mp_auto_reply` (`id`, `account_id`, `app_id`, `type`, `request_keyword`, `request_match`, `request_message_type`, `response_message_type`, `response_content`, `response_media_id`, `response_media_url`, `response_title`, `response_description`, `response_thumb_media_id`, `response_thumb_media_url`, `response_articles`, `response_music_url`, `response_hq_music_url`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (44, 1, 'wx5b23ba7a5589ecbb', 3, '你猜', 1, 'text', 'voice', '', 't1E3ss-niBf29tpzShjljxwaiBoXV_61ln2hzZGDlvAcT3hqLbC9dvl39YwiBWg9', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '2023-01-04 04:40:55', '', '2023-01-16 16:55:48', b'1', 1);
  88 +COMMIT;
  89 +
  90 +-- ----------------------------
  91 +-- Table structure for mp_material
  92 +-- ----------------------------
  93 +DROP TABLE IF EXISTS `mp_material`;
  94 +CREATE TABLE `mp_material` (
  95 + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  96 + `account_id` bigint NOT NULL COMMENT '公众号账号的编号',
  97 + `app_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '公众号 appId',
  98 + `media_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '公众号素材 id',
  99 + `type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件类型',
  100 + `permanent` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否永久',
  101 + `url` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件服务器的 URL',
  102 + `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名字',
  103 + `mp_url` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '公众号文件 URL',
  104 + `title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '视频素材的标题',
  105 + `introduction` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '视频素材的描述',
  106 + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
  107 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  108 + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
  109 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  110 + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  111 + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
  112 + PRIMARY KEY (`id`) USING BTREE
  113 +) ENGINE = InnoDB AUTO_INCREMENT = 98 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '公众号素材表';
  114 +
  115 +-- ----------------------------
  116 +-- Records of mp_material
  117 +-- ----------------------------
  118 +BEGIN;
  119 +INSERT INTO `mp_material` (`id`, `account_id`, `app_id`, `media_id`, `type`, `permanent`, `url`, `name`, `mp_url`, `title`, `introduction`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (80, 1, 'wx5b23ba7a5589ecbb', 'r6ryvl6LrxBU0miaST4Y-tlQmcl3RdC-Jcgns6IQtf7zenGy3b86WLT7GzUcrb1T', 'image', b'1', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-tlQmcl3RdC-Jcgns6IQtf7zenGy3b86WLT7GzUcrb1T.png', 'file', 'http://mmbiz.qpic.cn/mmbiz_png/btUmCVHwbJUoicwBiacjVeQbu6QxgBVrukfSJXz509boa21SpH8OVHAqXCJiaiaAaHQJNxwwsa0gHRXVr0G5EZYamw/0?wx_fmt=png', '', '', '1', '2023-01-14 00:56:06', '1', '2023-01-14 07:45:41', b'1', 1), (81, 1, 'wx5b23ba7a5589ecbb', 'r6ryvl6LrxBU0miaST4Y-pWqXoCgpdNp1fvSv7c6zoTnCsW6BGAVFNJ-E9hkAIXO', 'image', b'1', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pWqXoCgpdNp1fvSv7c6zoTnCsW6BGAVFNJ-E9hkAIXO.jpg', 'file', 'http://mmbiz.qpic.cn/mmbiz_jpg/btUmCVHwbJUoicwBiacjVeQbu6QxgBVrukzCJPJRkia5cQviaDTbLMc614uobiblN4Au4UApLYOShXNDNjdndjPVswg/0?wx_fmt=jpeg', '', '', '1', '2023-01-14 01:30:49', '1', '2023-01-14 07:31:02', b'1', 1), (82, 1, 'wx5b23ba7a5589ecbb', 'r6ryvl6LrxBU0miaST4Y-vNzhGc_1b37nxAvj0Zt8iuGACe-mC9_a5OhVFIzt0DX', 'image', b'1', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-vNzhGc_1b37nxAvj0Zt8iuGACe-mC9_a5OhVFIzt0DX.png', 'file', 'http://mmbiz.qpic.cn/mmbiz_png/btUmCVHwbJVkZaoiatUmOpaGalzHIVxhUNOGPaZfZUSfKzpS8bPShaicSyErHn2mEzthXochM7GE3tIDAt5FNrUg/0?wx_fmt=png', NULL, NULL, '1', '2023-01-14 08:20:53', '1', '2023-01-14 07:30:59', b'1', 1), (88, 4, 'wx01b971b269525c69', 'rdp2FpJLZJb_Z771EZCE0sdggkEkJ9BXy1wIiory8puv2L0sRYeBBVztrxmjjT_P', 'voice', b'1', 'http://test.yudao.iocoder.cn/rdp2FpJLZJb_Z771EZCE0sdggkEkJ9BXy1wIiory8puv2L0sRYeBBVztrxmjjT_P.amr', 'file', NULL, '', '', '1', '2023-01-14 16:28:53', '1', '2023-01-14 08:29:36', b'1', 1), (89, 4, 'wx01b971b269525c69', 'rdp2FpJLZJb_Z771EZCE0jlwnElym7bDUZUQI6t36O9xlh-wQWZpdDEVNHj_-Zo3', 'video', b'1', 'http://test.yudao.iocoder.cn/rdp2FpJLZJb_Z771EZCE0jlwnElym7bDUZUQI6t36O9xlh-wQWZpdDEVNHj_-Zo3.mp4', 'file', NULL, '1', '2', '1', '2023-01-14 16:53:53', '1', '2023-01-14 08:54:45', b'1', 1), (90, 4, 'wx01b971b269525c69', 'rdp2FpJLZJb_Z771EZCE0nKJFlsOPjLkDApXEgRjaGydiFVTsC0zMq8-x5V6-rG4', 'video', b'1', 'http://test.yudao.iocoder.cn/rdp2FpJLZJb_Z771EZCE0nKJFlsOPjLkDApXEgRjaGydiFVTsC0zMq8-x5V6-rG4.mp4', 'file', NULL, '12', '34', '1', '2023-01-14 16:55:02', '1', '2023-01-14 08:55:06', b'1', 1);
  120 +COMMIT;
  121 +
  122 +-- ----------------------------
  123 +-- Table structure for mp_menu
  124 +-- ----------------------------
  125 +DROP TABLE IF EXISTS `mp_menu`;
  126 +CREATE TABLE `mp_menu` (
  127 + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  128 + `account_id` bigint NOT NULL COMMENT '微信公众号ID',
  129 + `app_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '微信公众号 appid',
  130 + `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '菜单名称',
  131 + `menu_key` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '菜单标识',
  132 + `parent_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '父ID',
  133 + `type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '按钮类型',
  134 + `url` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '网页链接',
  135 + `mini_program_app_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '小程序appid',
  136 + `mini_program_page_path` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '小程序页面路径',
  137 + `article_id` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '跳转图文的媒体编号',
  138 + `reply_message_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '消息类型',
  139 + `reply_content` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回复的消息内容',
  140 + `reply_media_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回复的媒体文件 id',
  141 + `reply_media_url` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回复的媒体文件 URL',
  142 + `reply_title` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回复的标题',
  143 + `reply_description` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回复的描述',
  144 + `reply_thumb_media_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回复的缩略图的媒体 id',
  145 + `reply_thumb_media_url` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回复的缩略图的媒体 URL',
  146 + `reply_articles` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回复的图文消息数组',
  147 + `reply_music_url` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回复的音乐链接',
  148 + `reply_hq_music_url` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '回复的高质量音乐链接',
  149 + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
  150 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  151 + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
  152 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  153 + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  154 + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
  155 + PRIMARY KEY (`id`) USING BTREE
  156 +) ENGINE = InnoDB AUTO_INCREMENT = 169 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '公众号菜单表';
  157 +
  158 +-- ----------------------------
  159 +-- Records of mp_menu
  160 +-- ----------------------------
  161 +BEGIN;
  162 +INSERT INTO `mp_menu` (`id`, `account_id`, `app_id`, `name`, `menu_key`, `parent_id`, `type`, `url`, `mini_program_app_id`, `mini_program_page_path`, `article_id`, `reply_message_type`, `reply_content`, `reply_media_id`, `reply_media_url`, `reply_title`, `reply_description`, `reply_thumb_media_id`, `reply_thumb_media_url`, `reply_articles`, `reply_music_url`, `reply_hq_music_url`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, 1, 'wx5b23ba7a5589ecbb', '今日歌曲', 'V1001_TODAY_MUSIC', '0', 'click', NULL, NULL, NULL, NULL, 'text', '幸会幸会', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '', '2023-01-07 02:51:58', '', '2023-01-14 15:44:49', b'1', 1), (2, 1, 'wx5b23ba7a5589ecbb', '搜索', '', '0', 'view', 'http://www.soso.com/', NULL, NULL, NULL, 'text', '幸会幸会', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '', '2023-01-07 02:51:58', '', '2023-01-14 13:22:13', b'1', 1), (3, 1, 'wx5b23ba7a5589ecbb', '父按钮', '', '0', '', '', NULL, NULL, NULL, 'text', '幸会幸会', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '', '2023-01-07 02:51:58', '', '2023-01-14 15:44:49', b'1', 1), (4, 1, 'wx5b23ba7a5589ecbb', '归去来兮', 'MUSIC', '3', 'click', NULL, NULL, NULL, NULL, 'text', '幸会幸会', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '', '2023-01-07 02:51:58', '', '2023-01-14 15:44:49', b'1', 1), (5, 1, 'wx5b23ba7a5589ecbb', '不说', '', '3', 'view', 'http://www.soso.com/', NULL, NULL, NULL, 'text', '幸会幸会', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '', '2023-01-07 02:51:58', '', '2023-01-14 15:44:49', b'1', 1), (26, 1, 'wx5b23ba7a5589ecbb', '今日歌曲', NULL, NULL, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '1', '2023-01-14 23:44:50', '1', '2023-01-14 16:35:05', b'1', 1), (27, 1, 'wx5b23ba7a5589ecbb', '搜索', NULL, NULL, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '1', '2023-01-14 23:44:50', '1', '2023-01-14 16:35:05', b'1', 1), (28, 1, 'wx5b23ba7a5589ecbb', '父按钮', NULL, NULL, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '1', '2023-01-14 23:44:50', '1', '2023-01-14 16:35:05', b'1', 1), (29, 1, 'wx5b23ba7a5589ecbb', '归去来兮', NULL, NULL, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '1', '2023-01-14 23:44:50', '1', '2023-01-14 16:35:05', b'1', 1), (30, 1, 'wx5b23ba7a5589ecbb', '不说', NULL, NULL, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '1', '2023-01-14 23:44:50', '1', '2023-01-14 16:35:05', b'1', 1), (31, 1, 'wx5b23ba7a5589ecbb', '123', NULL, NULL, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '1', '2023-01-15 00:35:05', '1', '2023-01-14 16:35:43', b'1', 1), (32, 1, 'wx5b23ba7a5589ecbb', '123', NULL, NULL, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '1', '2023-01-15 00:35:43', '1', '2023-01-14 16:39:10', b'1', 1), (33, 1, 'wx5b23ba7a5589ecbb', '嘿嘿', NULL, '0', 'view', 'https://www.iocoder.cn', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '1', '2023-01-15 00:39:10', '1', '2023-01-14 16:40:09', b'1', 1), (38, 1, 'wx5b23ba7a5589ecbb', '顶级1', NULL, '0', 'view', 'https://www.iocoder.cn', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '1', '2023-01-15 00:42:54', '1', '2023-01-14 16:51:35', b'1', 1), (39, 1, 'wx5b23ba7a5589ecbb', '明星', NULL, '0', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '1', '2023-01-15 00:42:54', '1', '2023-01-14 16:51:35', b'1', 1), (40, 1, 'wx5b23ba7a5589ecbb', '喊个', NULL, '39', 'view', 'https://www.iocoder.cn', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '1', '2023-01-15 00:42:54', '1', '2023-01-14 16:51:35', b'1', 1), (41, 1, 'wx5b23ba7a5589ecbb', 'haha', NULL, '39', 'view', 'http://soso.com', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '1', '2023-01-15 00:42:54', '1', '2023-01-14 16:51:35', b'1', 1), (42, 1, 'wx5b23ba7a5589ecbb', '顶级1', NULL, '0', 'view', 'https://www.iocoder.cn', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '1', '2023-01-15 00:51:35', '1', '2023-01-14 16:51:53', b'1', 1), (43, 1, 'wx5b23ba7a5589ecbb', '明星', NULL, '0', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '1', '2023-01-15 00:51:35', '1', '2023-01-14 16:51:53', b'1', 1), (44, 1, 'wx5b23ba7a5589ecbb', '喊个', NULL, '43', 'view', 'https://www.iocoder.cn', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '1', '2023-01-15 00:51:35', '1', '2023-01-14 16:51:53', b'1', 1), (45, 1, 'wx5b23ba7a5589ecbb', 'haha', NULL, '43', 'view', 'http://soso.com', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '1', '2023-01-15 00:51:35', '1', '2023-01-14 16:51:53', b'1', 1), (46, 1, 'wx5b23ba7a5589ecbb', '测试菜单', NULL, '0', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '1', '2023-01-15 11:32:17', '1', '2023-01-15 04:39:11', b'1', 1), (47, 1, 'wx5b23ba7a5589ecbb', '跳转网页', NULL, '46', 'view', 'https://www.iocoder.cn', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '1', '2023-01-15 11:32:17', '1', '2023-01-15 04:39:11', b'1', 1), (48, 1, 'wx5b23ba7a5589ecbb', '点击回复', '123', '0', 'click', NULL, NULL, NULL, NULL, 'text', '123', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', '1', '2023-01-15 12:39:12', '1', '2023-01-15 09:19:01', b'1', 1), (49, 1, 'wx5b23ba7a5589ecbb', '点击回复', '123', '0', 'click', NULL, NULL, NULL, NULL, 'image', '', 'r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG.png', '', '', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:19:02', '1', '2023-01-15 09:26:50', b'1', 1), (50, 1, 'wx5b23ba7a5589ecbb', '点击回复', '123', '0', 'click', NULL, NULL, NULL, NULL, 'voice', '', 'a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg', 'http://test.yudao.iocoder.cn/a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg.mp3', '', '', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:26:51', '1', '2023-01-15 09:27:39', b'1', 1), (51, 1, 'wx5b23ba7a5589ecbb', '点击回复', '123', '0', 'click', NULL, NULL, NULL, NULL, 'video', '', 'XQockIDz-7p8wHuI0wxzd2dZvhKWrQnxM5pPXvaW8Qsid2hLjVxk90wM47ZsYERT', 'http://test.yudao.iocoder.cn/XQockIDz-7p8wHuI0wxzd2dZvhKWrQnxM5pPXvaW8Qsid2hLjVxk90wM47ZsYERT.mp4', '奥特曼', '奥特快', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:27:40', '1', '2023-01-15 09:28:20', b'1', 1), (52, 1, 'wx5b23ba7a5589ecbb', '点击回复', '123', '0', 'click', NULL, NULL, NULL, NULL, 'video', '', 'XQockIDz-7p8wHuI0wxzd2dZvhKWrQnxM5pPXvaW8Qsid2hLjVxk90wM47ZsYERT', 'http://test.yudao.iocoder.cn/XQockIDz-7p8wHuI0wxzd2dZvhKWrQnxM5pPXvaW8Qsid2hLjVxk90wM47ZsYERT.mp4', NULL, '奥特快', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:28:21', '1', '2023-01-15 09:29:21', b'1', 1), (53, 1, 'wx5b23ba7a5589ecbb', '点击回复', '123', '0', 'click', NULL, NULL, NULL, NULL, 'video', '', 'XQockIDz-7p8wHuI0wxzd2dZvhKWrQnxM5pPXvaW8Qsid2hLjVxk90wM47ZsYERT', 'http://test.yudao.iocoder.cn/XQockIDz-7p8wHuI0wxzd2dZvhKWrQnxM5pPXvaW8Qsid2hLjVxk90wM47ZsYERT.mp4', NULL, '奥特快', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:29:22', '1', '2023-01-15 09:32:49', b'1', 1), (54, 1, 'wx5b23ba7a5589ecbb', '回复图片', '01', '0', 'click', NULL, NULL, NULL, NULL, 'image', '', 'r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG.png', '', '', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:29:22', '1', '2023-01-15 09:32:49', b'1', 1), (55, 1, 'wx5b23ba7a5589ecbb', '回复图片', 'image', '0', 'click', NULL, NULL, NULL, NULL, 'image', '', 'r6ryvl6LrxBU0miaST4Y-jVixJGgnBnkBPRbuVptOW0CHYuQFyiOVNtamctS8xU8', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-jVixJGgnBnkBPRbuVptOW0CHYuQFyiOVNtamctS8xU8.jpg', '', '', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:33:06', '1', '2023-01-15 09:33:45', b'1', 1), (56, 1, 'wx5b23ba7a5589ecbb', '回复图片', 'image', '0', 'click', NULL, NULL, NULL, NULL, 'image', '', 'r6ryvl6LrxBU0miaST4Y-jVixJGgnBnkBPRbuVptOW0CHYuQFyiOVNtamctS8xU8', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-jVixJGgnBnkBPRbuVptOW0CHYuQFyiOVNtamctS8xU8.jpg', NULL, '', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:33:45', '1', '2023-01-15 09:33:55', b'1', 1), (57, 1, 'wx5b23ba7a5589ecbb', '回复语音', 'aoteman', '0', 'click', NULL, NULL, NULL, NULL, 'voice', '', 'a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg', 'http://test.yudao.iocoder.cn/a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg.mp3', '', '', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:33:45', '1', '2023-01-15 09:33:55', b'1', 1), (58, 1, 'wx5b23ba7a5589ecbb', '回复图片', 'image', '0', 'click', NULL, NULL, NULL, NULL, 'image', '', 'r6ryvl6LrxBU0miaST4Y-jVixJGgnBnkBPRbuVptOW0CHYuQFyiOVNtamctS8xU8', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-jVixJGgnBnkBPRbuVptOW0CHYuQFyiOVNtamctS8xU8.jpg', NULL, '', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:33:56', '1', '2023-01-15 09:34:02', b'1', 1), (59, 1, 'wx5b23ba7a5589ecbb', '回复语音', 'aoteman', '0', 'click', NULL, NULL, NULL, NULL, 'voice', '', 'a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg', 'http://test.yudao.iocoder.cn/a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg.mp3', NULL, '', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:33:56', '1', '2023-01-15 09:34:02', b'1', 1), (60, 1, 'wx5b23ba7a5589ecbb', '回复图片', 'image', '0', 'click', NULL, NULL, NULL, NULL, 'image', '', 'r6ryvl6LrxBU0miaST4Y-jVixJGgnBnkBPRbuVptOW0CHYuQFyiOVNtamctS8xU8', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-jVixJGgnBnkBPRbuVptOW0CHYuQFyiOVNtamctS8xU8.jpg', NULL, '', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:34:02', '1', '2023-01-15 09:34:44', b'1', 1), (61, 1, 'wx5b23ba7a5589ecbb', '回复语音', 'aoteman', '0', 'click', NULL, NULL, NULL, NULL, 'voice', '', 'a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg', 'http://test.yudao.iocoder.cn/a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg.mp3', NULL, '', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:34:02', '1', '2023-01-15 09:34:44', b'1', 1), (62, 1, 'wx5b23ba7a5589ecbb', '回复语音', 'aoteman', '0', 'click', NULL, NULL, NULL, NULL, 'voice', '', 'a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg', 'http://test.yudao.iocoder.cn/a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg.mp3', NULL, '', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:34:45', '1', '2023-01-15 09:36:27', b'1', 1), (63, 1, 'wx5b23ba7a5589ecbb', '回复语音', 'aoteman', '0', 'click', NULL, NULL, NULL, NULL, 'voice', '', 'a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg', 'http://test.yudao.iocoder.cn/a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg.mp3', NULL, '', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:36:28', '1', '2023-01-15 09:37:20', b'1', 1), (64, 1, 'wx5b23ba7a5589ecbb', '回复语音', 'aoteman', '0', 'click', NULL, NULL, NULL, NULL, 'voice', '', 'a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg', 'http://test.yudao.iocoder.cn/a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg.mp3', NULL, '', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:37:21', '1', '2023-01-15 09:40:13', b'1', 1), (65, 1, 'wx5b23ba7a5589ecbb', '回复语音', 'aoteman', '0', 'click', NULL, NULL, NULL, NULL, 'voice', '', 'a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg', 'http://test.yudao.iocoder.cn/a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg.mp3', NULL, '', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:40:14', '1', '2023-01-15 09:40:24', b'1', 1), (66, 1, 'wx5b23ba7a5589ecbb', '回复语音', 'aoteman', '0', 'click', NULL, NULL, NULL, NULL, 'voice', '', 'a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg', 'http://test.yudao.iocoder.cn/a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg.mp3', NULL, '', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:40:24', '1', '2023-01-15 09:41:12', b'1', 1), (67, 1, 'wx5b23ba7a5589ecbb', '回复语音', 'aoteman', '0', 'click', NULL, NULL, NULL, NULL, 'video', '', 'a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg', 'http://test.yudao.iocoder.cn/a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg.mp3', '', '', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:41:13', '1', '2023-01-15 09:43:32', b'1', 1), (68, 1, 'wx5b23ba7a5589ecbb', '回复视频', '123', '0', 'click', NULL, NULL, NULL, NULL, 'video', '', 'r6ryvl6LrxBU0miaST4Y-v2-X9sD87sdZ8qoWWgu9QgP2NEjlTvDJ47KfF2xhyiU', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-v2-X9sD87sdZ8qoWWgu9QgP2NEjlTvDJ47KfF2xhyiU.mp4', '我是视频', '我真的是视频', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:41:13', '1', '2023-01-15 09:43:32', b'1', 1), (69, 1, 'wx5b23ba7a5589ecbb', '回复语音', 'aoteman', '0', 'click', NULL, NULL, NULL, NULL, 'video', '', 'a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg', 'http://test.yudao.iocoder.cn/a6kOoewXIbX57gB0kCb_Gz-Yg8hVk5OgQ6iWZU_KSOEhpQ31JmkGh0JYPKgi9ebKPthnsckQbQVWfiN58VLrfg.mp3', NULL, '', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:43:33', '1', '2023-01-15 10:06:28', b'1', 1), (70, 1, 'wx5b23ba7a5589ecbb', '回复视频', '123', '0', 'click', NULL, NULL, NULL, NULL, 'video', '', 'r6ryvl6LrxBU0miaST4Y-v2-X9sD87sdZ8qoWWgu9QgP2NEjlTvDJ47KfF2xhyiU', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-v2-X9sD87sdZ8qoWWgu9QgP2NEjlTvDJ47KfF2xhyiU.mp4', NULL, '我真的是视频', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:43:33', '1', '2023-01-15 10:06:28', b'1', 1), (71, 1, 'wx5b23ba7a5589ecbb', '回复音乐', 'ao11', '0', 'click', NULL, NULL, NULL, NULL, 'music', '', NULL, NULL, '1', '2', NULL, NULL, NULL, '', '', '1', '2023-01-15 17:43:33', '1', '2023-01-15 10:06:28', b'1', 1), (72, 1, 'wx5b23ba7a5589ecbb', '回复音乐', '01', '0', 'click', NULL, NULL, NULL, NULL, 'music', '', NULL, NULL, '1', '2', 'wBnOlFbeYaWXb7AVX5Ha_Uy373JHA2EoS0FUziAhkwP0r6Hv43PeQHXKY4GADfbl', 'http://test.yudao.iocoder.cn/wBnOlFbeYaWXb7AVX5Ha_Uy373JHA2EoS0FUziAhkwP0r6Hv43PeQHXKY4GADfbl.png', NULL, 'https://www.iocoder.cn/1.mp3', 'https://www.iocoder.cn/2.mp3', '1', '2023-01-15 18:16:12', '1', '2023-01-15 10:21:13', b'1', 1), (73, 1, 'wx5b23ba7a5589ecbb', '回复音乐', '01', '0', 'click', NULL, NULL, NULL, NULL, 'music', '', NULL, NULL, '1', '2', 'wBnOlFbeYaWXb7AVX5Ha_Uy373JHA2EoS0FUziAhkwP0r6Hv43PeQHXKY4GADfbl', 'http://test.yudao.iocoder.cn/wBnOlFbeYaWXb7AVX5Ha_Uy373JHA2EoS0FUziAhkwP0r6Hv43PeQHXKY4GADfbl.png', NULL, 'https://www.iocoder.cn/1.mp3', 'https://www.iocoder.cn/2.mp3', '1', '2023-01-15 18:21:14', '1', '2023-01-15 10:21:36', b'1', 1), (74, 1, 'wx5b23ba7a5589ecbb', '回复音乐', '01', '0', 'click', NULL, NULL, NULL, NULL, 'music', '', NULL, NULL, '1', '2', 'wBnOlFbeYaWXb7AVX5Ha_Uy373JHA2EoS0FUziAhkwP0r6Hv43PeQHXKY4GADfbl', 'http://test.yudao.iocoder.cn/wBnOlFbeYaWXb7AVX5Ha_Uy373JHA2EoS0FUziAhkwP0r6Hv43PeQHXKY4GADfbl.png', NULL, 'https://www.iocoder.cn/1.mp3', 'https://www.iocoder.cn/2.mp3', '1', '2023-01-15 18:21:36', '1', '2023-01-15 10:21:59', b'1', 1), (75, 1, 'wx5b23ba7a5589ecbb', '回复图文', 'music', '0', 'click', NULL, NULL, NULL, NULL, 'news', '', NULL, NULL, '', '', NULL, NULL, '[{\"title\":\"我是标题\",\"description\":null,\"picUrl\":\"http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn.png\",\"url\":\"http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&mid=2247483662&idx=1&sn=dadf5d7e9aa594b58666fb2013fdf215&chksm=9f6354aea814ddb8fde13b17a34acbe86987b5c3403c6bd47e1e94977f6988b62653f6ab55e6#rd\"},{\"title\":\"我是标题 2\",\"description\":null,\"picUrl\":\"http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn.png\",\"url\":\"http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&mid=2247483662&idx=2&sn=c8041e2fc639c07d73bbbb6f80cf1784&chksm=9f6354aea814ddb8f48d7b330252c0374878014feb45a8fd4c22aaa0483c062f20ba15463368#rd\"}]', NULL, NULL, '1', '2023-01-15 18:23:23', '1', '2023-01-15 10:23:53', b'1', 1), (76, 1, 'wx5b23ba7a5589ecbb', '回复图文', 'music', '0', 'click', NULL, NULL, NULL, NULL, 'text', '123', NULL, NULL, '', '', NULL, NULL, '[{\"title\":\"我是标题\",\"description\":null,\"picUrl\":\"http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn.png\",\"url\":\"http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&mid=2247483662&idx=1&sn=dadf5d7e9aa594b58666fb2013fdf215&chksm=9f6354aea814ddb8fde13b17a34acbe86987b5c3403c6bd47e1e94977f6988b62653f6ab55e6#rd\"},{\"title\":\"我是标题 2\",\"description\":null,\"picUrl\":\"http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn.png\",\"url\":\"http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&mid=2247483662&idx=2&sn=c8041e2fc639c07d73bbbb6f80cf1784&chksm=9f6354aea814ddb8f48d7b330252c0374878014feb45a8fd4c22aaa0483c062f20ba15463368#rd\"}]', NULL, NULL, '1', '2023-01-15 18:23:54', '1', '2023-01-15 11:13:21', b'1', 1), (77, 1, 'wx5b23ba7a5589ecbb', '回复图文', NULL, '0', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:13:21', '1', '2023-01-15 11:13:36', b'1', 1), (78, 1, 'wx5b23ba7a5589ecbb', '文本', 't1', '77', 'click', NULL, NULL, NULL, NULL, 'text', '123', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:13:21', '1', '2023-01-15 11:13:36', b'1', 1), (79, 1, 'wx5b23ba7a5589ecbb', '回复图文', NULL, '0', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:13:36', '1', '2023-01-15 11:13:49', b'1', 1), (80, 1, 'wx5b23ba7a5589ecbb', '文本', 't1', '79', 'click', NULL, NULL, NULL, NULL, 'text', '123', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:13:36', '1', '2023-01-15 11:13:49', b'1', 1), (81, 1, 'wx5b23ba7a5589ecbb', '图片', 'pic', '79', 'click', NULL, NULL, NULL, NULL, 'image', '', 'r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG.png', '', '', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:13:36', '1', '2023-01-15 11:13:49', b'1', 1), (82, 1, 'wx5b23ba7a5589ecbb', '回复图文', NULL, '0', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:13:49', '1', '2023-01-15 11:14:06', b'1', 1), (83, 1, 'wx5b23ba7a5589ecbb', '文本', 't1', '82', 'click', NULL, NULL, NULL, NULL, 'text', '123', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:13:49', '1', '2023-01-15 11:14:06', b'1', 1), (84, 1, 'wx5b23ba7a5589ecbb', '图片', 'pic', '82', 'click', NULL, NULL, NULL, NULL, 'image', '', 'r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG.png', '', '', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:13:49', '1', '2023-01-15 11:14:06', b'1', 1), (85, 1, 'wx5b23ba7a5589ecbb', '语音', 'v3', '82', 'click', NULL, NULL, NULL, NULL, 'voice', '', 'a6kOoewXIbX57gB0kCb_G0h41eeCLWXi-DiMGrPG1iQwjuxGoAoDZCqt6J7IrUrjYwTfa9dGyTJ7qbQ-8TlNrA', 'http://test.yudao.iocoder.cn/a6kOoewXIbX57gB0kCb_G0h41eeCLWXi-DiMGrPG1iQwjuxGoAoDZCqt6J7IrUrjYwTfa9dGyTJ7qbQ-8TlNrA.mp3', '', '', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:13:49', '1', '2023-01-15 11:14:06', b'1', 1), (86, 1, 'wx5b23ba7a5589ecbb', '回复图文', NULL, '0', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:14:07', '1', '2023-01-15 11:14:35', b'1', 1), (87, 1, 'wx5b23ba7a5589ecbb', '文本', 't1', '86', 'click', NULL, NULL, NULL, NULL, 'text', '123', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:14:07', '1', '2023-01-15 11:14:35', b'1', 1), (88, 1, 'wx5b23ba7a5589ecbb', '图片', 'pic', '86', 'click', NULL, NULL, NULL, NULL, 'image', '', 'r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG.png', '', '', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:14:07', '1', '2023-01-15 11:14:35', b'1', 1), (89, 1, 'wx5b23ba7a5589ecbb', '语音', 'v3', '86', 'click', NULL, NULL, NULL, NULL, 'voice', '', 'a6kOoewXIbX57gB0kCb_G0h41eeCLWXi-DiMGrPG1iQwjuxGoAoDZCqt6J7IrUrjYwTfa9dGyTJ7qbQ-8TlNrA', 'http://test.yudao.iocoder.cn/a6kOoewXIbX57gB0kCb_G0h41eeCLWXi-DiMGrPG1iQwjuxGoAoDZCqt6J7IrUrjYwTfa9dGyTJ7qbQ-8TlNrA.mp3', '', '', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:14:07', '1', '2023-01-15 11:14:35', b'1', 1), (90, 1, 'wx5b23ba7a5589ecbb', '子菜单名称', 'o', '86', 'click', NULL, NULL, NULL, NULL, 'video', '', 'r6ryvl6LrxBU0miaST4Y-v2-X9sD87sdZ8qoWWgu9QgP2NEjlTvDJ47KfF2xhyiU', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-v2-X9sD87sdZ8qoWWgu9QgP2NEjlTvDJ47KfF2xhyiU.mp4', '我是视频', '我真的是视频', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:14:07', '1', '2023-01-15 11:14:35', b'1', 1), (91, 1, 'wx5b23ba7a5589ecbb', '回复图文', NULL, '0', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:14:35', '1', '2023-01-15 11:18:13', b'1', 1), (92, 1, 'wx5b23ba7a5589ecbb', '文本', 't1', '91', 'click', NULL, NULL, NULL, NULL, 'text', '123', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:14:35', '1', '2023-01-15 11:18:13', b'1', 1), (93, 1, 'wx5b23ba7a5589ecbb', '图片', 'pic', '91', 'click', NULL, NULL, NULL, NULL, 'image', '', 'r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG.png', '', '', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:14:35', '1', '2023-01-15 11:18:13', b'1', 1), (94, 1, 'wx5b23ba7a5589ecbb', '语音', 'v3', '91', 'click', NULL, NULL, NULL, NULL, 'voice', '', 'a6kOoewXIbX57gB0kCb_G0h41eeCLWXi-DiMGrPG1iQwjuxGoAoDZCqt6J7IrUrjYwTfa9dGyTJ7qbQ-8TlNrA', 'http://test.yudao.iocoder.cn/a6kOoewXIbX57gB0kCb_G0h41eeCLWXi-DiMGrPG1iQwjuxGoAoDZCqt6J7IrUrjYwTfa9dGyTJ7qbQ-8TlNrA.mp3', '', '', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:14:35', '1', '2023-01-15 11:18:13', b'1', 1), (95, 1, 'wx5b23ba7a5589ecbb', '视频', 'o', '91', 'click', NULL, NULL, NULL, NULL, 'video', '', 'r6ryvl6LrxBU0miaST4Y-v2-X9sD87sdZ8qoWWgu9QgP2NEjlTvDJ47KfF2xhyiU', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-v2-X9sD87sdZ8qoWWgu9QgP2NEjlTvDJ47KfF2xhyiU.mp4', '我是视频', '我真的是视频', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:14:35', '1', '2023-01-15 11:18:13', b'1', 1), (96, 1, 'wx5b23ba7a5589ecbb', '图文', 'wx', '91', 'click', NULL, NULL, NULL, NULL, 'news', '', NULL, NULL, '', '', NULL, NULL, '[{\"title\":\"我是标题\",\"description\":null,\"picUrl\":\"http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn.png\",\"url\":\"http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&mid=2247483662&idx=1&sn=dadf5d7e9aa594b58666fb2013fdf215&chksm=9f6354aea814ddb8fde13b17a34acbe86987b5c3403c6bd47e1e94977f6988b62653f6ab55e6#rd\"},{\"title\":\"我是标题 2\",\"description\":null,\"picUrl\":\"http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn.png\",\"url\":\"http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&mid=2247483662&idx=2&sn=c8041e2fc639c07d73bbbb6f80cf1784&chksm=9f6354aea814ddb8f48d7b330252c0374878014feb45a8fd4c22aaa0483c062f20ba15463368#rd\"}]', NULL, NULL, '1', '2023-01-15 19:14:35', '1', '2023-01-15 11:18:13', b'1', 1), (97, 1, 'wx5b23ba7a5589ecbb', '回复图文', NULL, '0', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:18:14', '1', '2023-01-15 11:26:07', b'1', 1), (98, 1, 'wx5b23ba7a5589ecbb', '文本', 't1', '97', 'click', NULL, NULL, NULL, NULL, 'text', '123', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:18:14', '1', '2023-01-15 11:26:07', b'1', 1), (99, 1, 'wx5b23ba7a5589ecbb', '图片', 'pic', '97', 'click', NULL, NULL, NULL, NULL, 'image', '', 'r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG.png', '', '', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:18:14', '1', '2023-01-15 11:26:07', b'1', 1), (100, 1, 'wx5b23ba7a5589ecbb', '语音', 'v3', '97', 'click', NULL, NULL, NULL, NULL, 'voice', '', 'a6kOoewXIbX57gB0kCb_G0h41eeCLWXi-DiMGrPG1iQwjuxGoAoDZCqt6J7IrUrjYwTfa9dGyTJ7qbQ-8TlNrA', 'http://test.yudao.iocoder.cn/a6kOoewXIbX57gB0kCb_G0h41eeCLWXi-DiMGrPG1iQwjuxGoAoDZCqt6J7IrUrjYwTfa9dGyTJ7qbQ-8TlNrA.mp3', '', '', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:18:14', '1', '2023-01-15 11:26:07', b'1', 1), (101, 1, 'wx5b23ba7a5589ecbb', '视频', 'o', '97', 'click', NULL, NULL, NULL, NULL, 'video', '', 'r6ryvl6LrxBU0miaST4Y-v2-X9sD87sdZ8qoWWgu9QgP2NEjlTvDJ47KfF2xhyiU', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-v2-X9sD87sdZ8qoWWgu9QgP2NEjlTvDJ47KfF2xhyiU.mp4', '我是视频', '我真的是视频', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:18:14', '1', '2023-01-15 11:26:07', b'1', 1), (102, 1, 'wx5b23ba7a5589ecbb', '图文', 'wx', '97', 'click', NULL, NULL, NULL, NULL, 'news', '', NULL, NULL, '', '', NULL, NULL, '[{\"title\":\"我是标题\",\"description\":null,\"picUrl\":\"http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn.png\",\"url\":\"http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&mid=2247483662&idx=1&sn=dadf5d7e9aa594b58666fb2013fdf215&chksm=9f6354aea814ddb8fde13b17a34acbe86987b5c3403c6bd47e1e94977f6988b62653f6ab55e6#rd\"},{\"title\":\"我是标题 2\",\"description\":null,\"picUrl\":\"http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn.png\",\"url\":\"http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&mid=2247483662&idx=2&sn=c8041e2fc639c07d73bbbb6f80cf1784&chksm=9f6354aea814ddb8f48d7b330252c0374878014feb45a8fd4c22aaa0483c062f20ba15463368#rd\"}]', NULL, NULL, '1', '2023-01-15 19:18:14', '1', '2023-01-15 11:26:07', b'1', 1), (103, 1, 'wx5b23ba7a5589ecbb', '测试', NULL, '0', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:18:14', '1', '2023-01-15 11:26:07', b'1', 1), (104, 1, 'wx5b23ba7a5589ecbb', '跳转网页', NULL, '103', 'view', 'https://www.iocoder.cn', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:18:14', '1', '2023-01-15 11:26:07', b'1', 1), (105, 1, 'wx5b23ba7a5589ecbb', '回复图文', NULL, '0', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:26:08', '1', '2023-01-15 11:33:57', b'1', 1), (106, 1, 'wx5b23ba7a5589ecbb', '文本', 't1', '105', 'click', NULL, NULL, NULL, NULL, 'text', '123', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:26:08', '1', '2023-01-15 11:33:57', b'1', 1), (107, 1, 'wx5b23ba7a5589ecbb', '图片', 'pic', '105', 'click', NULL, NULL, NULL, NULL, 'image', '', 'r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG.png', '', '', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:26:08', '1', '2023-01-15 11:33:57', b'1', 1), (108, 1, 'wx5b23ba7a5589ecbb', '语音', 'v3', '105', 'click', NULL, NULL, NULL, NULL, 'voice', '', 'a6kOoewXIbX57gB0kCb_G0h41eeCLWXi-DiMGrPG1iQwjuxGoAoDZCqt6J7IrUrjYwTfa9dGyTJ7qbQ-8TlNrA', 'http://test.yudao.iocoder.cn/a6kOoewXIbX57gB0kCb_G0h41eeCLWXi-DiMGrPG1iQwjuxGoAoDZCqt6J7IrUrjYwTfa9dGyTJ7qbQ-8TlNrA.mp3', '', '', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:26:08', '1', '2023-01-15 11:33:57', b'1', 1), (109, 1, 'wx5b23ba7a5589ecbb', '视频', 'o', '105', 'click', NULL, NULL, NULL, NULL, 'video', '', 'r6ryvl6LrxBU0miaST4Y-v2-X9sD87sdZ8qoWWgu9QgP2NEjlTvDJ47KfF2xhyiU', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-v2-X9sD87sdZ8qoWWgu9QgP2NEjlTvDJ47KfF2xhyiU.mp4', '我是视频', '我真的是视频', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:26:08', '1', '2023-01-15 11:33:57', b'1', 1), (110, 1, 'wx5b23ba7a5589ecbb', '图文', 'wx', '105', 'click', NULL, NULL, NULL, NULL, 'news', '', NULL, NULL, '', '', NULL, NULL, '[{\"title\":\"我是标题\",\"description\":null,\"picUrl\":\"http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn.png\",\"url\":\"http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&mid=2247483662&idx=1&sn=dadf5d7e9aa594b58666fb2013fdf215&chksm=9f6354aea814ddb8fde13b17a34acbe86987b5c3403c6bd47e1e94977f6988b62653f6ab55e6#rd\"},{\"title\":\"我是标题 2\",\"description\":null,\"picUrl\":\"http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn.png\",\"url\":\"http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&mid=2247483662&idx=2&sn=c8041e2fc639c07d73bbbb6f80cf1784&chksm=9f6354aea814ddb8f48d7b330252c0374878014feb45a8fd4c22aaa0483c062f20ba15463368#rd\"}]', NULL, NULL, '1', '2023-01-15 19:26:08', '1', '2023-01-15 11:33:57', b'1', 1), (111, 1, 'wx5b23ba7a5589ecbb', '测试', NULL, '0', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:26:08', '1', '2023-01-15 11:33:57', b'1', 1), (112, 1, 'wx5b23ba7a5589ecbb', '跳转网页', NULL, '111', 'view', 'https://www.iocoder.cn', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:26:08', '1', '2023-01-15 11:33:57', b'1', 1), (113, 1, 'wx5b23ba7a5589ecbb', '扫码回复', 'test_02', '111', 'scancode_waitmsg', NULL, NULL, NULL, NULL, 'text', '123', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:26:08', '1', '2023-01-15 11:33:57', b'1', 1), (114, 1, 'wx5b23ba7a5589ecbb', '回复图文', NULL, '0', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:33:58', '1', '2023-01-15 11:44:54', b'1', 1), (115, 1, 'wx5b23ba7a5589ecbb', '文本', 't1', '114', 'click', NULL, NULL, NULL, NULL, 'text', '123', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:33:58', '1', '2023-01-15 11:44:54', b'1', 1), (116, 1, 'wx5b23ba7a5589ecbb', '图片', 'pic', '114', 'click', NULL, NULL, NULL, NULL, 'image', '', 'r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG.png', '', '', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:33:58', '1', '2023-01-15 11:44:54', b'1', 1), (117, 1, 'wx5b23ba7a5589ecbb', '语音', 'v3', '114', 'click', NULL, NULL, NULL, NULL, 'voice', '', 'a6kOoewXIbX57gB0kCb_G0h41eeCLWXi-DiMGrPG1iQwjuxGoAoDZCqt6J7IrUrjYwTfa9dGyTJ7qbQ-8TlNrA', 'http://test.yudao.iocoder.cn/a6kOoewXIbX57gB0kCb_G0h41eeCLWXi-DiMGrPG1iQwjuxGoAoDZCqt6J7IrUrjYwTfa9dGyTJ7qbQ-8TlNrA.mp3', '', '', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:33:58', '1', '2023-01-15 11:44:54', b'1', 1), (118, 1, 'wx5b23ba7a5589ecbb', '视频', 'o', '114', 'click', NULL, NULL, NULL, NULL, 'video', '', 'r6ryvl6LrxBU0miaST4Y-v2-X9sD87sdZ8qoWWgu9QgP2NEjlTvDJ47KfF2xhyiU', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-v2-X9sD87sdZ8qoWWgu9QgP2NEjlTvDJ47KfF2xhyiU.mp4', '我是视频', '我真的是视频', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:33:58', '1', '2023-01-15 11:44:54', b'1', 1), (119, 1, 'wx5b23ba7a5589ecbb', '图文', 'wx', '114', 'click', NULL, NULL, NULL, NULL, 'news', '', NULL, NULL, '', '', NULL, NULL, '[{\"title\":\"我是标题\",\"description\":null,\"picUrl\":\"http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn.png\",\"url\":\"http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&mid=2247483662&idx=1&sn=dadf5d7e9aa594b58666fb2013fdf215&chksm=9f6354aea814ddb8fde13b17a34acbe86987b5c3403c6bd47e1e94977f6988b62653f6ab55e6#rd\"},{\"title\":\"我是标题 2\",\"description\":null,\"picUrl\":\"http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn.png\",\"url\":\"http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&mid=2247483662&idx=2&sn=c8041e2fc639c07d73bbbb6f80cf1784&chksm=9f6354aea814ddb8f48d7b330252c0374878014feb45a8fd4c22aaa0483c062f20ba15463368#rd\"}]', NULL, NULL, '1', '2023-01-15 19:33:58', '1', '2023-01-15 11:44:54', b'1', 1), (120, 1, 'wx5b23ba7a5589ecbb', '测试', NULL, '0', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:33:58', '1', '2023-01-15 11:44:54', b'1', 1), (121, 1, 'wx5b23ba7a5589ecbb', '跳转网页', NULL, '120', 'view', 'https://www.iocoder.cn', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:33:58', '1', '2023-01-15 11:44:54', b'1', 1), (122, 1, 'wx5b23ba7a5589ecbb', '扫码回复', 'test_02', '120', 'scancode_waitmsg', NULL, NULL, NULL, NULL, 'text', '123', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:33:58', '1', '2023-01-15 11:44:54', b'1', 1), (123, 1, 'wx5b23ba7a5589ecbb', '扫码直接回结果', '2344455', '120', 'scancode_push', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:33:58', '1', '2023-01-15 11:44:54', b'1', 1), (124, 1, 'wx5b23ba7a5589ecbb', '回复图文', NULL, '0', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:44:55', '1', '2023-01-15 11:52:04', b'1', 1), (125, 1, 'wx5b23ba7a5589ecbb', '文本', 't1', '124', 'click', NULL, NULL, NULL, NULL, 'text', '123', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:44:55', '1', '2023-01-15 11:52:04', b'1', 1), (126, 1, 'wx5b23ba7a5589ecbb', '图片', 'pic', '124', 'click', NULL, NULL, NULL, NULL, 'image', '', 'r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG.png', '', '', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:44:55', '1', '2023-01-15 11:52:04', b'1', 1), (127, 1, 'wx5b23ba7a5589ecbb', '语音', 'v3', '124', 'click', NULL, NULL, NULL, NULL, 'voice', '', 'a6kOoewXIbX57gB0kCb_G0h41eeCLWXi-DiMGrPG1iQwjuxGoAoDZCqt6J7IrUrjYwTfa9dGyTJ7qbQ-8TlNrA', 'http://test.yudao.iocoder.cn/a6kOoewXIbX57gB0kCb_G0h41eeCLWXi-DiMGrPG1iQwjuxGoAoDZCqt6J7IrUrjYwTfa9dGyTJ7qbQ-8TlNrA.mp3', '', '', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:44:55', '1', '2023-01-15 11:52:04', b'1', 1), (128, 1, 'wx5b23ba7a5589ecbb', '视频', 'o', '124', 'click', NULL, NULL, NULL, NULL, 'video', '', 'r6ryvl6LrxBU0miaST4Y-v2-X9sD87sdZ8qoWWgu9QgP2NEjlTvDJ47KfF2xhyiU', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-v2-X9sD87sdZ8qoWWgu9QgP2NEjlTvDJ47KfF2xhyiU.mp4', '我是视频', '我真的是视频', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:44:55', '1', '2023-01-15 11:52:04', b'1', 1), (129, 1, 'wx5b23ba7a5589ecbb', '图文', 'wx', '124', 'click', NULL, NULL, NULL, NULL, 'news', '', NULL, NULL, '', '', NULL, NULL, '[{\"title\":\"我是标题\",\"description\":null,\"picUrl\":\"http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn.png\",\"url\":\"http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&mid=2247483662&idx=1&sn=dadf5d7e9aa594b58666fb2013fdf215&chksm=9f6354aea814ddb8fde13b17a34acbe86987b5c3403c6bd47e1e94977f6988b62653f6ab55e6#rd\"},{\"title\":\"我是标题 2\",\"description\":null,\"picUrl\":\"http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn.png\",\"url\":\"http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&mid=2247483662&idx=2&sn=c8041e2fc639c07d73bbbb6f80cf1784&chksm=9f6354aea814ddb8f48d7b330252c0374878014feb45a8fd4c22aaa0483c062f20ba15463368#rd\"}]', NULL, NULL, '1', '2023-01-15 19:44:55', '1', '2023-01-15 11:52:04', b'1', 1), (130, 1, 'wx5b23ba7a5589ecbb', '测试', NULL, '0', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:44:55', '1', '2023-01-15 11:52:04', b'1', 1), (131, 1, 'wx5b23ba7a5589ecbb', '跳转网页', NULL, '130', 'view', 'https://www.iocoder.cn', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:44:55', '1', '2023-01-15 11:52:04', b'1', 1), (132, 1, 'wx5b23ba7a5589ecbb', '扫码回复', 'test_02', '130', 'scancode_waitmsg', NULL, NULL, NULL, NULL, 'text', '123', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:44:55', '1', '2023-01-15 11:52:04', b'1', 1), (133, 1, 'wx5b23ba7a5589ecbb', '扫码直接回结果', '2344455', '130', 'scancode_push', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:44:55', '1', '2023-01-15 11:52:04', b'1', 1), (134, 1, 'wx5b23ba7a5589ecbb', '系统拍照', '0x0', '130', 'pic_sysphoto', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:44:55', '1', '2023-01-15 11:52:04', b'1', 1), (135, 1, 'wx5b23ba7a5589ecbb', '拍照或相册', '0x3', '130', 'pic_photo_or_album', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:44:55', '1', '2023-01-15 11:52:04', b'1', 1), (136, 1, 'wx5b23ba7a5589ecbb', '测试2', NULL, '0', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:44:55', '1', '2023-01-15 11:52:04', b'1', 1), (137, 1, 'wx5b23ba7a5589ecbb', '微信相册', 'ppp2222', '136', 'pic_weixin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:44:55', '1', '2023-01-15 11:52:04', b'1', 1), (138, 1, 'wx5b23ba7a5589ecbb', '回复图文', NULL, '0', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:52:04', '1', '2023-01-15 13:20:22', b'1', 1), (139, 1, 'wx5b23ba7a5589ecbb', '文本', 't1', '138', 'click', NULL, NULL, NULL, NULL, 'text', '123', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:52:04', '1', '2023-01-15 13:20:22', b'1', 1), (140, 1, 'wx5b23ba7a5589ecbb', '图片', 'pic', '138', 'click', NULL, NULL, NULL, NULL, 'image', '', 'r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG.png', '', '', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:52:04', '1', '2023-01-15 13:20:22', b'1', 1), (141, 1, 'wx5b23ba7a5589ecbb', '语音', 'v3', '138', 'click', NULL, NULL, NULL, NULL, 'voice', '', 'a6kOoewXIbX57gB0kCb_G0h41eeCLWXi-DiMGrPG1iQwjuxGoAoDZCqt6J7IrUrjYwTfa9dGyTJ7qbQ-8TlNrA', 'http://test.yudao.iocoder.cn/a6kOoewXIbX57gB0kCb_G0h41eeCLWXi-DiMGrPG1iQwjuxGoAoDZCqt6J7IrUrjYwTfa9dGyTJ7qbQ-8TlNrA.mp3', '', '', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:52:04', '1', '2023-01-15 13:20:22', b'1', 1), (142, 1, 'wx5b23ba7a5589ecbb', '视频', 'o', '138', 'click', NULL, NULL, NULL, NULL, 'video', '', 'r6ryvl6LrxBU0miaST4Y-v2-X9sD87sdZ8qoWWgu9QgP2NEjlTvDJ47KfF2xhyiU', 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-v2-X9sD87sdZ8qoWWgu9QgP2NEjlTvDJ47KfF2xhyiU.mp4', '我是视频', '我真的是视频', NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:52:04', '1', '2023-01-15 13:20:22', b'1', 1), (143, 1, 'wx5b23ba7a5589ecbb', '图文', 'wx', '138', 'click', NULL, NULL, NULL, NULL, 'news', '', NULL, NULL, '', '', NULL, NULL, '[{\"title\":\"我是标题\",\"description\":null,\"picUrl\":\"http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn.png\",\"url\":\"http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&mid=2247483662&idx=1&sn=dadf5d7e9aa594b58666fb2013fdf215&chksm=9f6354aea814ddb8fde13b17a34acbe86987b5c3403c6bd47e1e94977f6988b62653f6ab55e6#rd\"},{\"title\":\"我是标题 2\",\"description\":null,\"picUrl\":\"http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn.png\",\"url\":\"http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&mid=2247483662&idx=2&sn=c8041e2fc639c07d73bbbb6f80cf1784&chksm=9f6354aea814ddb8f48d7b330252c0374878014feb45a8fd4c22aaa0483c062f20ba15463368#rd\"}]', NULL, NULL, '1', '2023-01-15 19:52:04', '1', '2023-01-15 13:20:22', b'1', 1), (144, 1, 'wx5b23ba7a5589ecbb', '测试', NULL, '0', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:52:04', '1', '2023-01-15 13:20:22', b'1', 1), (145, 1, 'wx5b23ba7a5589ecbb', '跳转网页', NULL, '144', 'view', 'https://www.iocoder.cn', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:52:04', '1', '2023-01-15 13:20:22', b'1', 1), (146, 1, 'wx5b23ba7a5589ecbb', '扫码回复', 'test_02', '144', 'scancode_waitmsg', NULL, NULL, NULL, NULL, 'text', '123', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:52:04', '1', '2023-01-15 13:20:22', b'1', 1), (147, 1, 'wx5b23ba7a5589ecbb', '扫码直接回结果', '2344455', '144', 'scancode_push', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:52:04', '1', '2023-01-15 13:20:22', b'1', 1), (148, 1, 'wx5b23ba7a5589ecbb', '系统拍照', '0x0', '144', 'pic_sysphoto', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:52:04', '1', '2023-01-15 13:20:22', b'1', 1), (149, 1, 'wx5b23ba7a5589ecbb', '拍照或相册', '0x3', '144', 'pic_photo_or_album', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:52:04', '1', '2023-01-15 13:20:22', b'1', 1), (150, 1, 'wx5b23ba7a5589ecbb', '测试2', NULL, '0', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:52:04', '1', '2023-01-15 13:20:22', b'1', 1), (151, 1, 'wx5b23ba7a5589ecbb', '微信相册', 'ppp2222', '150', 'pic_weixin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:52:04', '1', '2023-01-15 13:20:22', b'1', 1), (152, 1, 'wx5b23ba7a5589ecbb', '选择地理位置', 'lll2', '150', 'location_select', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '2023-01-15 19:52:04', '1', '2023-01-15 13:20:22', b'1', 1);
  163 +COMMIT;
  164 +
  165 +-- ----------------------------
  166 +-- Table structure for mp_message
  167 +-- ----------------------------
  168 +DROP TABLE IF EXISTS `mp_message`;
  169 +CREATE TABLE `mp_message` (
  170 + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  171 + `msg_id` bigint NULL DEFAULT NULL COMMENT '微信公众号的消息编号',
  172 + `account_id` bigint NOT NULL COMMENT '公众号账号的编号',
  173 + `app_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '公众号 appId',
  174 + `user_id` bigint NOT NULL COMMENT '公众号粉丝的编号',
  175 + `openid` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '公众号粉丝标志',
  176 + `type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '消息类型',
  177 + `send_from` tinyint NOT NULL COMMENT '消息来源',
  178 + `content` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '消息内容',
  179 + `media_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '媒体文件 id',
  180 + `media_url` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '媒体文件 URL',
  181 + `recognition` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '语音识别后文本',
  182 + `format` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '语音格式',
  183 + `title` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '标题',
  184 + `description` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述',
  185 + `thumb_media_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缩略图的媒体 id',
  186 + `thumb_media_url` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缩略图的媒体 URL',
  187 + `url` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '点击图文消息跳转链接',
  188 + `location_x` double NULL DEFAULT NULL COMMENT '地理位置维度',
  189 + `location_y` double NULL DEFAULT NULL COMMENT '地理位置经度',
  190 + `scale` double NULL DEFAULT NULL COMMENT '地图缩放大小',
  191 + `label` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '详细地址',
  192 + `articles` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '图文消息数组',
  193 + `music_url` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '音乐链接',
  194 + `hq_music_url` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '高质量音乐链接',
  195 + `event` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '事件类型',
  196 + `event_key` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '事件 Key',
  197 + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
  198 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  199 + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
  200 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  201 + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  202 + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
  203 + PRIMARY KEY (`id`) USING BTREE
  204 +) ENGINE = InnoDB AUTO_INCREMENT = 407 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '公众号消息表 ';
  205 +
  206 +-- ----------------------------
  207 +-- Records of mp_message
  208 +-- ----------------------------
  209 +BEGIN;
  210 +COMMIT;
  211 +
  212 +-- ----------------------------
  213 +-- Table structure for mp_tag
  214 +-- ----------------------------
  215 +DROP TABLE IF EXISTS `mp_tag`;
  216 +CREATE TABLE `mp_tag` (
  217 + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  218 + `tag_id` bigint NULL DEFAULT NULL COMMENT '公众号标签 id',
  219 + `name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '标签名称',
  220 + `count` int NULL DEFAULT 0 COMMENT '粉丝数量',
  221 + `account_id` bigint NOT NULL COMMENT '公众号账号的编号',
  222 + `app_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '公众号 appId',
  223 + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
  224 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  225 + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
  226 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  227 + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  228 + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
  229 + PRIMARY KEY (`id`) USING BTREE
  230 +) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '公众号标签表';
  231 +
  232 +-- ----------------------------
  233 +-- Records of mp_tag
  234 +-- ----------------------------
  235 +BEGIN;
  236 +INSERT INTO `mp_tag` (`id`, `tag_id`, `name`, `count`, `account_id`, `app_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (3, 100, '测试标签啦', 0, 1, 'wx5b23ba7a5589ecbb', '1', '2023-01-01 20:33:28', '1', '2023-01-08 03:23:53', b'1', 1), (4, 101, '测试', 0, 1, 'wx5b23ba7a5589ecbb', '1', '2023-01-01 20:33:28', '1', '2023-01-08 03:21:00', b'1', 1), (7, 102, '搞起来', 0, 1, 'wx5b23ba7a5589ecbb', '1', '2023-01-01 20:33:28', '1', '2023-01-08 04:03:00', b'1', 1);
  237 +COMMIT;
  238 +
  239 +-- ----------------------------
  240 +-- Table structure for mp_user
  241 +-- ----------------------------
  242 +DROP TABLE IF EXISTS `mp_user`;
  243 +CREATE TABLE `mp_user` (
  244 + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
  245 + `openid` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户标识',
  246 + `subscribe_status` tinyint NOT NULL COMMENT '关注状态',
  247 + `subscribe_time` datetime NOT NULL COMMENT '关注时间',
  248 + `nickname` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '昵称',
  249 + `head_image_url` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像地址',
  250 + `unsubscribe_time` datetime NULL DEFAULT NULL COMMENT '取消关注时间',
  251 + `language` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '语言',
  252 + `country` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '国家',
  253 + `province` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '省份',
  254 + `city` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '城市',
  255 + `remark` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
  256 + `tag_ids` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '标签编号数组',
  257 + `account_id` bigint NOT NULL COMMENT '微信公众号ID',
  258 + `app_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '微信公众号 appid',
  259 + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
  260 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  261 + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
  262 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  263 + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  264 + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
  265 + PRIMARY KEY (`id`) USING BTREE
  266 +) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '公众号粉丝表';
  267 +
  268 +-- ----------------------------
  269 +-- Records of mp_user
  270 +-- ----------------------------
  271 +BEGIN;
  272 +COMMIT;
  273 +
  274 +SET FOREIGN_KEY_CHECKS = 1;
sql/mysql/ruoyi-vue-pro.sql
@@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@
11 Target Server Version : 80026 11 Target Server Version : 80026
12 File Encoding : 65001 12 File Encoding : 65001
13 13
14 - Date: 20/12/2022 00:33:25 14 + Date: 27/01/2023 20:57:31
15 */ 15 */
16 16
17 SET NAMES utf8mb4; 17 SET NAMES utf8mb4;
@@ -185,7 +185,7 @@ CREATE TABLE `QRTZ_SCHEDULER_STATE` ( @@ -185,7 +185,7 @@ CREATE TABLE `QRTZ_SCHEDULER_STATE` (
185 -- Records of QRTZ_SCHEDULER_STATE 185 -- Records of QRTZ_SCHEDULER_STATE
186 -- ---------------------------- 186 -- ----------------------------
187 BEGIN; 187 BEGIN;
188 -INSERT INTO `QRTZ_SCHEDULER_STATE` (`SCHED_NAME`, `INSTANCE_NAME`, `LAST_CHECKIN_TIME`, `CHECKIN_INTERVAL`) VALUES ('schedulerName', 'Yunai.local1635571630493', 1635572537879, 15000); 188 +INSERT INTO `QRTZ_SCHEDULER_STATE` (`SCHED_NAME`, `INSTANCE_NAME`, `LAST_CHECKIN_TIME`, `CHECKIN_INTERVAL`) VALUES ('schedulerName', 'Yunai.local1672315990077', 1672316007352, 15000);
189 COMMIT; 189 COMMIT;
190 190
191 -- ---------------------------- 191 -- ----------------------------
@@ -279,7 +279,7 @@ CREATE TABLE `QRTZ_TRIGGERS` ( @@ -279,7 +279,7 @@ CREATE TABLE `QRTZ_TRIGGERS` (
279 -- Records of QRTZ_TRIGGERS 279 -- Records of QRTZ_TRIGGERS
280 -- ---------------------------- 280 -- ----------------------------
281 BEGIN; 281 BEGIN;
282 -INSERT INTO `QRTZ_TRIGGERS` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `JOB_NAME`, `JOB_GROUP`, `DESCRIPTION`, `NEXT_FIRE_TIME`, `PREV_FIRE_TIME`, `PRIORITY`, `TRIGGER_STATE`, `TRIGGER_TYPE`, `START_TIME`, `END_TIME`, `CALENDAR_NAME`, `MISFIRE_INSTR`, `JOB_DATA`) VALUES ('schedulerName', 'payNotifyJob', 'DEFAULT', 'payNotifyJob', 'DEFAULT', NULL, 1635572540000, 1635572539000, 5, 'WAITING', 'CRON', 1635294882000, 0, NULL, 0, 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C770800000010000000037400114A4F425F48414E444C45525F504152414D707400124A4F425F52455452595F494E54455256414C737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000074000F4A4F425F52455452595F434F554E5471007E000B7800); 282 +INSERT INTO `QRTZ_TRIGGERS` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `JOB_NAME`, `JOB_GROUP`, `DESCRIPTION`, `NEXT_FIRE_TIME`, `PREV_FIRE_TIME`, `PRIORITY`, `TRIGGER_STATE`, `TRIGGER_TYPE`, `START_TIME`, `END_TIME`, `CALENDAR_NAME`, `MISFIRE_INSTR`, `JOB_DATA`) VALUES ('schedulerName', 'payNotifyJob', 'DEFAULT', 'payNotifyJob', 'DEFAULT', NULL, 1672316013000, 1672316012000, 5, 'WAITING', 'CRON', 1635294882000, 0, NULL, 0, 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C770800000010000000037400114A4F425F48414E444C45525F504152414D707400124A4F425F52455452595F494E54455256414C737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000074000F4A4F425F52455452595F434F554E5471007E000B7800);
283 COMMIT; 283 COMMIT;
284 284
285 -- ---------------------------- 285 -- ----------------------------
@@ -300,7 +300,7 @@ CREATE TABLE `bpm_form` ( @@ -300,7 +300,7 @@ CREATE TABLE `bpm_form` (
300 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 300 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
301 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 301 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
302 PRIMARY KEY (`id`) USING BTREE 302 PRIMARY KEY (`id`) USING BTREE
303 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '工作流的表单定义'; 303 +) ENGINE = InnoDB AUTO_INCREMENT = 24 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '工作流的表单定义';
304 304
305 -- ---------------------------- 305 -- ----------------------------
306 -- Records of bpm_form 306 -- Records of bpm_form
@@ -329,7 +329,7 @@ CREATE TABLE `bpm_oa_leave` ( @@ -329,7 +329,7 @@ CREATE TABLE `bpm_oa_leave` (
329 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 329 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
330 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 330 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
331 PRIMARY KEY (`id`) USING BTREE 331 PRIMARY KEY (`id`) USING BTREE
332 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OA 请假申请表'; 332 +) ENGINE = InnoDB AUTO_INCREMENT = 35 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OA 请假申请表';
333 333
334 -- ---------------------------- 334 -- ----------------------------
335 -- Records of bpm_oa_leave 335 -- Records of bpm_oa_leave
@@ -359,7 +359,7 @@ CREATE TABLE `bpm_process_definition_ext` ( @@ -359,7 +359,7 @@ CREATE TABLE `bpm_process_definition_ext` (
359 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 359 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
360 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 360 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
361 PRIMARY KEY (`id`) USING BTREE 361 PRIMARY KEY (`id`) USING BTREE
362 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'Bpm 流程定义的拓展表\n'; 362 +) ENGINE = InnoDB AUTO_INCREMENT = 140 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'Bpm 流程定义的拓展表\n';
363 363
364 -- ---------------------------- 364 -- ----------------------------
365 -- Records of bpm_process_definition_ext 365 -- Records of bpm_process_definition_ext
@@ -389,7 +389,7 @@ CREATE TABLE `bpm_process_instance_ext` ( @@ -389,7 +389,7 @@ CREATE TABLE `bpm_process_instance_ext` (
389 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 389 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
390 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 390 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
391 PRIMARY KEY (`id`) USING BTREE 391 PRIMARY KEY (`id`) USING BTREE
392 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '工作流的流程实例的拓展'; 392 +) ENGINE = InnoDB AUTO_INCREMENT = 295 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '工作流的流程实例的拓展';
393 393
394 -- ---------------------------- 394 -- ----------------------------
395 -- Records of bpm_process_instance_ext 395 -- Records of bpm_process_instance_ext
@@ -415,7 +415,7 @@ CREATE TABLE `bpm_task_assign_rule` ( @@ -415,7 +415,7 @@ CREATE TABLE `bpm_task_assign_rule` (
415 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 415 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
416 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 416 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
417 PRIMARY KEY (`id`) USING BTREE 417 PRIMARY KEY (`id`) USING BTREE
418 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'Bpm 任务规则表'; 418 +) ENGINE = InnoDB AUTO_INCREMENT = 274 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'Bpm 任务规则表';
419 419
420 -- ---------------------------- 420 -- ----------------------------
421 -- Records of bpm_task_assign_rule 421 -- Records of bpm_task_assign_rule
@@ -444,7 +444,7 @@ CREATE TABLE `bpm_task_ext` ( @@ -444,7 +444,7 @@ CREATE TABLE `bpm_task_ext` (
444 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 444 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
445 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 445 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
446 PRIMARY KEY (`id`) USING BTREE 446 PRIMARY KEY (`id`) USING BTREE
447 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '工作流的流程任务的拓展表'; 447 +) ENGINE = InnoDB AUTO_INCREMENT = 350 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '工作流的流程任务的拓展表';
448 448
449 -- ---------------------------- 449 -- ----------------------------
450 -- Records of bpm_task_ext 450 -- Records of bpm_task_ext
@@ -469,7 +469,7 @@ CREATE TABLE `bpm_user_group` ( @@ -469,7 +469,7 @@ CREATE TABLE `bpm_user_group` (
469 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 469 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
470 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 470 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
471 PRIMARY KEY (`id`) USING BTREE 471 PRIMARY KEY (`id`) USING BTREE
472 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户组'; 472 +) ENGINE = InnoDB AUTO_INCREMENT = 113 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户组';
473 473
474 -- ---------------------------- 474 -- ----------------------------
475 -- Records of bpm_user_group 475 -- Records of bpm_user_group
@@ -504,7 +504,7 @@ CREATE TABLE `infra_api_access_log` ( @@ -504,7 +504,7 @@ CREATE TABLE `infra_api_access_log` (
504 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 504 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
505 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 505 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
506 PRIMARY KEY (`id`) USING BTREE 506 PRIMARY KEY (`id`) USING BTREE
507 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'API 访问日志表'; 507 +) ENGINE = InnoDB AUTO_INCREMENT = 35832 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'API 访问日志表';
508 508
509 -- ---------------------------- 509 -- ----------------------------
510 -- Records of infra_api_access_log 510 -- Records of infra_api_access_log
@@ -546,7 +546,7 @@ CREATE TABLE `infra_api_error_log` ( @@ -546,7 +546,7 @@ CREATE TABLE `infra_api_error_log` (
546 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 546 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
547 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 547 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
548 PRIMARY KEY (`id`) USING BTREE 548 PRIMARY KEY (`id`) USING BTREE
549 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '系统异常日志'; 549 +) ENGINE = InnoDB AUTO_INCREMENT = 965 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '系统异常日志';
550 550
551 -- ---------------------------- 551 -- ----------------------------
552 -- Records of infra_api_error_log 552 -- Records of infra_api_error_log
@@ -584,7 +584,7 @@ CREATE TABLE `infra_codegen_column` ( @@ -584,7 +584,7 @@ CREATE TABLE `infra_codegen_column` (
584 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 584 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
585 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 585 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
586 PRIMARY KEY (`id`) USING BTREE 586 PRIMARY KEY (`id`) USING BTREE
587 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代码生成表字段定义'; 587 +) ENGINE = InnoDB AUTO_INCREMENT = 1612 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代码生成表字段定义';
588 588
589 -- ---------------------------- 589 -- ----------------------------
590 -- Records of infra_codegen_column 590 -- Records of infra_codegen_column
@@ -616,7 +616,7 @@ CREATE TABLE `infra_codegen_table` ( @@ -616,7 +616,7 @@ CREATE TABLE `infra_codegen_table` (
616 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 616 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
617 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 617 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
618 PRIMARY KEY (`id`) USING BTREE 618 PRIMARY KEY (`id`) USING BTREE
619 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代码生成表定义'; 619 +) ENGINE = InnoDB AUTO_INCREMENT = 124 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代码生成表定义';
620 620
621 -- ---------------------------- 621 -- ----------------------------
622 -- Records of infra_codegen_table 622 -- Records of infra_codegen_table
@@ -643,7 +643,7 @@ CREATE TABLE `infra_config` ( @@ -643,7 +643,7 @@ CREATE TABLE `infra_config` (
643 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 643 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
644 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 644 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
645 PRIMARY KEY (`id`) USING BTREE 645 PRIMARY KEY (`id`) USING BTREE
646 -) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '参数配置表'; 646 +) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '参数配置表';
647 647
648 -- ---------------------------- 648 -- ----------------------------
649 -- Records of infra_config 649 -- Records of infra_config
@@ -654,7 +654,7 @@ INSERT INTO `infra_config` (`id`, `category`, `type`, `name`, `config_key`, `val @@ -654,7 +654,7 @@ INSERT INTO `infra_config` (`id`, `category`, `type`, `name`, `config_key`, `val
654 INSERT INTO `infra_config` (`id`, `category`, `type`, `name`, `config_key`, `value`, `visible`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (3, 'ui', 1, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', b'0', '深色主题theme-dark,浅色主题theme-light', 'admin', '2021-01-05 17:03:48', '', '2021-01-19 03:05:21', b'0'); 654 INSERT INTO `infra_config` (`id`, `category`, `type`, `name`, `config_key`, `value`, `visible`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (3, 'ui', 1, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', b'0', '深色主题theme-dark,浅色主题theme-light', 'admin', '2021-01-05 17:03:48', '', '2021-01-19 03:05:21', b'0');
655 INSERT INTO `infra_config` (`id`, `category`, `type`, `name`, `config_key`, `value`, `visible`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (4, '1', 2, 'xxx', 'demo.test', '10', b'0', '5', '', '2021-01-19 03:10:26', '', '2021-01-20 09:25:55', b'0'); 655 INSERT INTO `infra_config` (`id`, `category`, `type`, `name`, `config_key`, `value`, `visible`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (4, '1', 2, 'xxx', 'demo.test', '10', b'0', '5', '', '2021-01-19 03:10:26', '', '2021-01-20 09:25:55', b'0');
656 INSERT INTO `infra_config` (`id`, `category`, `type`, `name`, `config_key`, `value`, `visible`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (5, 'xxx', 2, 'xxx', 'xxx', 'xxx', b'1', 'xxx', '', '2021-02-09 20:06:47', '', '2021-02-09 20:06:47', b'0'); 656 INSERT INTO `infra_config` (`id`, `category`, `type`, `name`, `config_key`, `value`, `visible`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (5, 'xxx', 2, 'xxx', 'xxx', 'xxx', b'1', 'xxx', '', '2021-02-09 20:06:47', '', '2021-02-09 20:06:47', b'0');
657 -INSERT INTO `infra_config` (`id`, `category`, `type`, `name`, `config_key`, `value`, `visible`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (6, 'biz', 2, '登陆验证码的开关', 'yudao.captcha.enable', 'true', b'1', NULL, '1', '2022-02-17 00:03:11', '1', '2022-04-04 12:51:40', b'0'); 657 +INSERT INTO `infra_config` (`id`, `category`, `type`, `name`, `config_key`, `value`, `visible`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (6, 'biz', 2, '登陆验证码的开关', 'yudao.captcha.enable', 'false', b'1', NULL, '1', '2022-02-17 00:03:11', '1', '2022-09-04 04:23:35', b'0');
658 COMMIT; 658 COMMIT;
659 659
660 -- ---------------------------- 660 -- ----------------------------
@@ -673,7 +673,7 @@ CREATE TABLE `infra_data_source_config` ( @@ -673,7 +673,7 @@ CREATE TABLE `infra_data_source_config` (
673 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 673 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
674 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 674 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
675 PRIMARY KEY (`id`) USING BTREE 675 PRIMARY KEY (`id`) USING BTREE
676 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '数据源配置表'; 676 +) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '数据源配置表';
677 677
678 -- ---------------------------- 678 -- ----------------------------
679 -- Records of infra_data_source_config 679 -- Records of infra_data_source_config
@@ -699,7 +699,7 @@ CREATE TABLE `infra_file` ( @@ -699,7 +699,7 @@ CREATE TABLE `infra_file` (
699 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 699 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
700 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 700 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
701 PRIMARY KEY (`id`) USING BTREE 701 PRIMARY KEY (`id`) USING BTREE
702 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '文件表'; 702 +) ENGINE = InnoDB AUTO_INCREMENT = 356 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '文件表';
703 703
704 -- ---------------------------- 704 -- ----------------------------
705 -- Records of infra_file 705 -- Records of infra_file
@@ -781,13 +781,14 @@ CREATE TABLE `infra_job` ( @@ -781,13 +781,14 @@ CREATE TABLE `infra_job` (
781 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 781 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
782 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 782 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
783 PRIMARY KEY (`id`) USING BTREE 783 PRIMARY KEY (`id`) USING BTREE
784 -) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '定时任务表'; 784 +) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '定时任务表';
785 785
786 -- ---------------------------- 786 -- ----------------------------
787 -- Records of infra_job 787 -- Records of infra_job
788 -- ---------------------------- 788 -- ----------------------------
789 BEGIN; 789 BEGIN;
790 -INSERT INTO `infra_job` (`id`, `name`, `status`, `handler_name`, `handler_param`, `cron_expression`, `retry_count`, `retry_interval`, `monitor_timeout`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1, '支付通知 Job', 2, 'payNotifyJob', NULL, '* * * * * ?', 0, 0, 0, '1', '2021-10-27 08:34:42', '1', '2022-04-03 20:35:25', b'0'); 790 +INSERT INTO `infra_job` (`id`, `name`, `status`, `handler_name`, `handler_param`, `cron_expression`, `retry_count`, `retry_interval`, `monitor_timeout`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (5, '支付通知 Job', 1, 'payNotifyJob', NULL, '* * * * * ?', 0, 0, 0, '1', '2021-10-27 08:34:42', '1', '2022-11-24 23:01:35', b'0');
  791 +INSERT INTO `infra_job` (`id`, `name`, `status`, `handler_name`, `handler_param`, `cron_expression`, `retry_count`, `retry_interval`, `monitor_timeout`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (16, 'Job 示例', 1, 'demoJob', NULL, '* * * L * ?', 1, 1, 0, '1', '2022-09-24 22:31:41', '1', '2022-09-24 22:31:42', b'0');
791 COMMIT; 792 COMMIT;
792 793
793 -- ---------------------------- 794 -- ----------------------------
@@ -811,7 +812,7 @@ CREATE TABLE `infra_job_log` ( @@ -811,7 +812,7 @@ CREATE TABLE `infra_job_log` (
811 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 812 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
812 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 813 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
813 PRIMARY KEY (`id`) USING BTREE 814 PRIMARY KEY (`id`) USING BTREE
814 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '定时任务日志表'; 815 +) ENGINE = InnoDB AUTO_INCREMENT = 60489 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '定时任务日志表';
815 816
816 -- ---------------------------- 817 -- ----------------------------
817 -- Records of infra_job_log 818 -- Records of infra_job_log
@@ -866,7 +867,7 @@ CREATE TABLE `member_user` ( @@ -866,7 +867,7 @@ CREATE TABLE `member_user` (
866 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 867 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
867 PRIMARY KEY (`id`) USING BTREE, 868 PRIMARY KEY (`id`) USING BTREE,
868 UNIQUE INDEX `uk_mobile`(`mobile` ASC) USING BTREE COMMENT '手机号' 869 UNIQUE INDEX `uk_mobile`(`mobile` ASC) USING BTREE COMMENT '手机号'
869 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户'; 870 +) ENGINE = InnoDB AUTO_INCREMENT = 248 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户';
870 871
871 -- ---------------------------- 872 -- ----------------------------
872 -- Records of member_user 873 -- Records of member_user
@@ -893,7 +894,7 @@ CREATE TABLE `pay_app` ( @@ -893,7 +894,7 @@ CREATE TABLE `pay_app` (
893 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 894 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
894 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 895 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
895 PRIMARY KEY (`id`) USING BTREE 896 PRIMARY KEY (`id`) USING BTREE
896 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '支付应用信息'; 897 +) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '支付应用信息';
897 898
898 -- ---------------------------- 899 -- ----------------------------
899 -- Records of pay_app 900 -- Records of pay_app
@@ -921,7 +922,7 @@ CREATE TABLE `pay_channel` ( @@ -921,7 +922,7 @@ CREATE TABLE `pay_channel` (
921 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 922 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
922 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 923 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
923 PRIMARY KEY (`id`) USING BTREE 924 PRIMARY KEY (`id`) USING BTREE
924 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '支付渠道\n'; 925 +) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '支付渠道\n';
925 926
926 -- ---------------------------- 927 -- ----------------------------
927 -- Records of pay_channel 928 -- Records of pay_channel
@@ -947,7 +948,7 @@ CREATE TABLE `pay_merchant` ( @@ -947,7 +948,7 @@ CREATE TABLE `pay_merchant` (
947 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 948 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
948 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 949 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
949 PRIMARY KEY (`id`) USING BTREE 950 PRIMARY KEY (`id`) USING BTREE
950 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '支付商户信息'; 951 +) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '支付商户信息';
951 952
952 -- ---------------------------- 953 -- ----------------------------
953 -- Records of pay_merchant 954 -- Records of pay_merchant
@@ -972,7 +973,7 @@ CREATE TABLE `pay_notify_log` ( @@ -972,7 +973,7 @@ CREATE TABLE `pay_notify_log` (
972 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 973 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
973 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 974 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
974 PRIMARY KEY (`id`) USING BTREE 975 PRIMARY KEY (`id`) USING BTREE
975 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '支付通知 App 的日志'; 976 +) ENGINE = InnoDB AUTO_INCREMENT = 363051 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '支付通知 App 的日志';
976 977
977 -- ---------------------------- 978 -- ----------------------------
978 -- Records of pay_notify_log 979 -- Records of pay_notify_log
@@ -1004,7 +1005,7 @@ CREATE TABLE `pay_notify_task` ( @@ -1004,7 +1005,7 @@ CREATE TABLE `pay_notify_task` (
1004 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 1005 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1005 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 1006 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
1006 PRIMARY KEY (`id`) USING BTREE 1007 PRIMARY KEY (`id`) USING BTREE
1007 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '商户支付、退款等的通知\n'; 1008 +) ENGINE = InnoDB AUTO_INCREMENT = 112 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '商户支付、退款等的通知\n';
1008 1009
1009 -- ---------------------------- 1010 -- ----------------------------
1010 -- Records of pay_notify_task 1011 -- Records of pay_notify_task
@@ -1048,7 +1049,7 @@ CREATE TABLE `pay_order` ( @@ -1048,7 +1049,7 @@ CREATE TABLE `pay_order` (
1048 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 1049 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1049 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 1050 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
1050 PRIMARY KEY (`id`) USING BTREE 1051 PRIMARY KEY (`id`) USING BTREE
1051 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '支付订单\n'; 1052 +) ENGINE = InnoDB AUTO_INCREMENT = 125 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '支付订单\n';
1052 1053
1053 -- ---------------------------- 1054 -- ----------------------------
1054 -- Records of pay_order 1055 -- Records of pay_order
@@ -1077,7 +1078,7 @@ CREATE TABLE `pay_order_extension` ( @@ -1077,7 +1078,7 @@ CREATE TABLE `pay_order_extension` (
1077 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 1078 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1078 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 1079 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
1079 PRIMARY KEY (`id`) USING BTREE 1080 PRIMARY KEY (`id`) USING BTREE
1080 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '支付订单\n'; 1081 +) ENGINE = InnoDB AUTO_INCREMENT = 124 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '支付订单\n';
1081 1082
1082 -- ---------------------------- 1083 -- ----------------------------
1083 -- Records of pay_order_extension 1084 -- Records of pay_order_extension
@@ -1166,6 +1167,8 @@ INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, @@ -1166,6 +1167,8 @@ INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`,
1166 INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, `phone`, `email`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (107, '运维部门', 101, 5, NULL, '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '', '2021-12-15 05:01:33', b'0', 1); 1167 INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, `phone`, `email`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (107, '运维部门', 101, 5, NULL, '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '', '2021-12-15 05:01:33', b'0', 1);
1167 INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, `phone`, `email`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (108, '市场部门', 102, 1, NULL, '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '1', '2022-02-16 08:35:45', b'0', 1); 1168 INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, `phone`, `email`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (108, '市场部门', 102, 1, NULL, '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '1', '2022-02-16 08:35:45', b'0', 1);
1168 INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, `phone`, `email`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (109, '财务部门', 102, 2, NULL, '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '', '2021-12-15 05:01:29', b'0', 1); 1169 INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, `phone`, `email`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (109, '财务部门', 102, 2, NULL, '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '', '2021-12-15 05:01:29', b'0', 1);
  1170 +INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, `phone`, `email`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (110, '新部门', 0, 1, NULL, NULL, NULL, 0, '110', '2022-02-23 20:46:30', '110', '2022-02-23 20:46:30', b'0', 121);
  1171 +INSERT INTO `system_dept` (`id`, `name`, `parent_id`, `sort`, `leader_user_id`, `phone`, `email`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (111, '顶级部门', 0, 1, NULL, NULL, NULL, 0, '113', '2022-03-07 21:44:50', '113', '2022-03-07 21:44:50', b'0', 122);
1169 COMMIT; 1172 COMMIT;
1170 1173
1171 -- ---------------------------- 1174 -- ----------------------------
@@ -1188,7 +1191,7 @@ CREATE TABLE `system_dict_data` ( @@ -1188,7 +1191,7 @@ CREATE TABLE `system_dict_data` (
1188 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 1191 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
1189 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 1192 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1190 PRIMARY KEY (`id`) USING BTREE 1193 PRIMARY KEY (`id`) USING BTREE
1191 -) ENGINE = InnoDB AUTO_INCREMENT = 1162 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典数据表'; 1194 +) ENGINE = InnoDB AUTO_INCREMENT = 1229 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典数据表';
1192 1195
1193 -- ---------------------------- 1196 -- ----------------------------
1194 -- Records of system_dict_data 1197 -- Records of system_dict_data
@@ -1327,72 +1330,158 @@ INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `st @@ -1327,72 +1330,158 @@ INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `st
1327 INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1158, 3, 'implicit', 'implicit', 'system_oauth2_grant_type', 0, 'success', '', '简化模式', '1', '2022-05-12 00:23:40', '1', '2022-05-11 16:26:05', b'0'); 1330 INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1158, 3, 'implicit', 'implicit', 'system_oauth2_grant_type', 0, 'success', '', '简化模式', '1', '2022-05-12 00:23:40', '1', '2022-05-11 16:26:05', b'0');
1328 INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1159, 4, 'client_credentials', 'client_credentials', 'system_oauth2_grant_type', 0, 'default', '', '客户端模式', '1', '2022-05-12 00:23:51', '1', '2022-05-11 16:26:08', b'0'); 1331 INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1159, 4, 'client_credentials', 'client_credentials', 'system_oauth2_grant_type', 0, 'default', '', '客户端模式', '1', '2022-05-12 00:23:51', '1', '2022-05-11 16:26:08', b'0');
1329 INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1160, 5, 'refresh_token', 'refresh_token', 'system_oauth2_grant_type', 0, 'info', '', '刷新模式', '1', '2022-05-12 00:24:02', '1', '2022-05-11 16:26:11', b'0'); 1332 INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1160, 5, 'refresh_token', 'refresh_token', 'system_oauth2_grant_type', 0, 'info', '', '刷新模式', '1', '2022-05-12 00:24:02', '1', '2022-05-11 16:26:11', b'0');
  1333 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1162, 1, '销售中', '1', 'product_spu_status', 0, 'success', '', '商品 SPU 状态 - 销售中', '1', '2022-10-24 21:19:47', '1', '2022-10-24 21:20:38', b'0');
  1334 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1163, 0, '仓库中', '0', 'product_spu_status', 0, 'info', '', '商品 SPU 状态 - 仓库中', '1', '2022-10-24 21:20:54', '1', '2022-10-24 21:21:22', b'0');
  1335 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1164, 0, '回收站', '-1', 'product_spu_status', 0, 'default', '', '商品 SPU 状态 - 回收站', '1', '2022-10-24 21:21:11', '1', '2022-10-24 21:21:11', b'0');
  1336 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1165, 1, '满减', '1', 'promotion_discount_type', 0, 'success', '', '优惠类型 - 满减', '1', '2022-11-01 12:46:41', '1', '2022-11-01 12:50:11', b'0');
  1337 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1166, 2, '折扣', '2', 'promotion_discount_type', 0, 'primary', '', '优惠类型 - 折扣', '1', '2022-11-01 12:46:51', '1', '2022-11-01 12:50:08', b'0');
  1338 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1167, 1, '固定日期', '1', 'promotion_coupon_template_validity_type', 0, 'default', '', '优惠劵模板的有限期类型 - 固定日期', '1', '2022-11-02 00:07:34', '1', '2022-11-04 00:07:49', b'0');
  1339 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1168, 2, '领取之后', '2', 'promotion_coupon_template_validity_type', 0, 'default', '', '优惠劵模板的有限期类型 - 领取之后', '1', '2022-11-02 00:07:54', '1', '2022-11-04 00:07:52', b'0');
  1340 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1169, 1, '全部商品参与', '1', 'promotion_product_scope', 0, 'default', '', '营销的商品范围 - 全部商品参与', '1', '2022-11-02 00:28:22', '1', '2022-11-02 00:28:22', b'0');
  1341 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1170, 2, '指定商品参与', '2', 'promotion_product_scope', 0, 'default', '', '营销的商品范围 - 指定商品参与', '1', '2022-11-02 00:28:34', '1', '2022-11-02 00:28:40', b'0');
  1342 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1171, 1, '已领取', '1', 'promotion_coupon_status', 0, 'primary', '', '优惠劵的状态 - 已领取', '1', '2022-11-04 00:15:08', '1', '2022-11-04 19:16:04', b'0');
  1343 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1172, 2, '已使用', '2', 'promotion_coupon_status', 0, 'success', '', '优惠劵的状态 - 已使用', '1', '2022-11-04 00:15:21', '1', '2022-11-04 19:16:08', b'0');
  1344 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1173, 3, '已过期', '3', 'promotion_coupon_status', 0, 'info', '', '优惠劵的状态 - 已过期', '1', '2022-11-04 00:15:43', '1', '2022-11-04 19:16:12', b'0');
  1345 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1174, 1, '直接领取', '1', 'promotion_coupon_take_type', 0, 'primary', '', '优惠劵的领取方式 - 直接领取', '1', '2022-11-04 19:13:00', '1', '2022-11-04 19:13:25', b'0');
  1346 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1175, 2, '指定发放', '2', 'promotion_coupon_take_type', 0, 'success', '', '优惠劵的领取方式 - 指定发放', '1', '2022-11-04 19:13:13', '1', '2022-11-04 19:14:48', b'0');
  1347 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1176, 10, '未开始', '10', 'promotion_activity_status', 0, 'primary', '', '促销活动的状态枚举 - 未开始', '1', '2022-11-04 22:54:49', '1', '2022-11-04 22:55:53', b'0');
  1348 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1177, 20, '进行中', '20', 'promotion_activity_status', 0, 'success', '', '促销活动的状态枚举 - 进行中', '1', '2022-11-04 22:55:06', '1', '2022-11-04 22:55:20', b'0');
  1349 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1178, 30, '已结束', '30', 'promotion_activity_status', 0, 'info', '', '促销活动的状态枚举 - 已结束', '1', '2022-11-04 22:55:41', '1', '2022-11-04 22:55:41', b'0');
  1350 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1179, 40, '已关闭', '40', 'promotion_activity_status', 0, 'warning', '', '促销活动的状态枚举 - 已关闭', '1', '2022-11-04 22:56:10', '1', '2022-11-04 22:56:18', b'0');
  1351 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1180, 10, '满 N 元', '10', 'promotion_condition_type', 0, 'primary', '', '营销的条件类型 - 满 N 元', '1', '2022-11-04 22:59:45', '1', '2022-11-04 22:59:45', b'0');
  1352 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1181, 20, '满 N 件', '20', 'promotion_condition_type', 0, 'success', '', '营销的条件类型 - 满 N 件', '1', '2022-11-04 23:00:02', '1', '2022-11-04 23:00:02', b'0');
  1353 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1182, 10, '申请售后', '10', 'trade_after_sale_status', 0, 'primary', '', '交易售后状态 - 申请售后', '1', '2022-11-19 20:53:33', '1', '2022-11-19 20:54:42', b'0');
  1354 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1183, 20, '商品待退货', '20', 'trade_after_sale_status', 0, 'primary', '', '交易售后状态 - 商品待退货', '1', '2022-11-19 20:54:36', '1', '2022-11-19 20:58:58', b'0');
  1355 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1184, 30, '商家待收货', '30', 'trade_after_sale_status', 0, 'primary', '', '交易售后状态 - 商家待收货', '1', '2022-11-19 20:56:56', '1', '2022-11-19 20:59:20', b'0');
  1356 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1185, 40, '等待退款', '40', 'trade_after_sale_status', 0, 'primary', '', '交易售后状态 - 等待退款', '1', '2022-11-19 20:59:54', '1', '2022-11-19 21:00:01', b'0');
  1357 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1186, 50, '退款成功', '50', 'trade_after_sale_status', 0, 'default', '', '交易售后状态 - 退款成功', '1', '2022-11-19 21:00:33', '1', '2022-11-19 21:00:33', b'0');
  1358 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1187, 61, '买家取消', '61', 'trade_after_sale_status', 0, 'info', '', '交易售后状态 - 买家取消', '1', '2022-11-19 21:01:29', '1', '2022-11-19 21:01:29', b'0');
  1359 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1188, 62, '商家拒绝', '62', 'trade_after_sale_status', 0, 'info', '', '交易售后状态 - 商家拒绝', '1', '2022-11-19 21:02:17', '1', '2022-11-19 21:02:17', b'0');
  1360 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1189, 63, '商家拒收货', '63', 'trade_after_sale_status', 0, 'info', '', '交易售后状态 - 商家拒收货', '1', '2022-11-19 21:02:37', '1', '2022-11-19 21:03:07', b'0');
  1361 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1190, 10, '售中退款', '10', 'trade_after_sale_type', 0, 'success', '', '交易售后的类型 - 售中退款', '1', '2022-11-19 21:05:05', '1', '2022-11-19 21:38:23', b'0');
  1362 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1191, 20, '售后退款', '20', 'trade_after_sale_type', 0, 'primary', '', '交易售后的类型 - 售后退款', '1', '2022-11-19 21:05:32', '1', '2022-11-19 21:38:32', b'0');
  1363 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1192, 10, '仅退款', '10', 'trade_after_sale_way', 0, 'primary', '', '交易售后的方式 - 仅退款', '1', '2022-11-19 21:39:19', '1', '2022-11-19 21:39:19', b'0');
  1364 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1193, 20, '退货退款', '20', 'trade_after_sale_way', 0, 'success', '', '交易售后的方式 - 退货退款', '1', '2022-11-19 21:39:38', '1', '2022-11-19 21:39:49', b'0');
  1365 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1194, 10, '微信小程序', '10', 'terminal', 0, 'default', '', '终端 - 微信小程序', '1', '2022-12-10 10:51:11', '1', '2022-12-10 10:51:57', b'0');
  1366 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1195, 20, 'H5 网页', '20', 'terminal', 0, 'default', '', '终端 - H5 网页', '1', '2022-12-10 10:51:30', '1', '2022-12-10 10:51:59', b'0');
  1367 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1196, 11, '微信公众号', '11', 'terminal', 0, 'default', '', '终端 - 微信公众号', '1', '2022-12-10 10:54:16', '1', '2022-12-10 10:52:01', b'0');
  1368 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1197, 31, '苹果 App', '31', 'terminal', 0, 'default', '', '终端 - 苹果 App', '1', '2022-12-10 10:54:42', '1', '2022-12-10 10:52:18', b'0');
  1369 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1198, 32, '安卓 App', '32', 'terminal', 0, 'default', '', '终端 - 安卓 App', '1', '2022-12-10 10:55:02', '1', '2022-12-10 10:59:17', b'0');
  1370 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1199, 0, '普通订单', '0', 'trade_order_type', 0, 'default', '', '交易订单的类型 - 普通订单', '1', '2022-12-10 16:34:14', '1', '2022-12-10 16:34:14', b'0');
  1371 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1200, 1, '秒杀订单', '1', 'trade_order_type', 0, 'default', '', '交易订单的类型 - 秒杀订单', '1', '2022-12-10 16:34:26', '1', '2022-12-10 16:34:26', b'0');
  1372 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1201, 2, '拼团订单', '2', 'trade_order_type', 0, 'default', '', '交易订单的类型 - 拼团订单', '1', '2022-12-10 16:34:36', '1', '2022-12-10 16:34:36', b'0');
  1373 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1202, 3, '砍价订单', '3', 'trade_order_type', 0, 'default', '', '交易订单的类型 - 砍价订单', '1', '2022-12-10 16:34:48', '1', '2022-12-10 16:34:48', b'0');
  1374 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1203, 0, '待支付', '0', 'trade_order_status', 0, 'default', '', '交易订单状态 - 待支付', '1', '2022-12-10 16:49:29', '1', '2022-12-10 16:49:29', b'0');
  1375 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1204, 10, '待发货', '10', 'trade_order_status', 0, 'primary', '', '交易订单状态 - 待发货', '1', '2022-12-10 16:49:53', '1', '2022-12-10 16:51:17', b'0');
  1376 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1205, 20, '已发货', '20', 'trade_order_status', 0, 'primary', '', '交易订单状态 - 已发货', '1', '2022-12-10 16:50:13', '1', '2022-12-10 16:51:31', b'0');
  1377 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1206, 30, '已完成', '30', 'trade_order_status', 0, 'success', '', '交易订单状态 - 已完成', '1', '2022-12-10 16:50:30', '1', '2022-12-10 16:51:06', b'0');
  1378 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1207, 40, '已取消', '40', 'trade_order_status', 0, 'danger', '', '交易订单状态 - 已取消', '1', '2022-12-10 16:50:50', '1', '2022-12-10 16:51:00', b'0');
  1379 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1208, 0, '未售后', '0', 'trade_order_item_after_sale_status', 0, 'info', '', '交易订单项的售后状态 - 未售后', '1', '2022-12-10 20:58:42', '1', '2022-12-10 20:59:29', b'0');
  1380 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1209, 1, '售后中', '1', 'trade_order_item_after_sale_status', 0, 'primary', '', '交易订单项的售后状态 - 售后中', '1', '2022-12-10 20:59:21', '1', '2022-12-10 20:59:21', b'0');
  1381 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1210, 2, '已退款', '2', 'trade_order_item_after_sale_status', 0, 'success', '', '交易订单项的售后状态 - 已退款', '1', '2022-12-10 20:59:46', '1', '2022-12-10 20:59:46', b'0');
  1382 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1211, 1, '完全匹配', '1', 'mp_auto_reply_request_match', 0, 'primary', '', '公众号自动回复的请求关键字匹配模式 - 完全匹配', '1', '2023-01-16 23:30:39', '1', '2023-01-16 23:31:00', b'0');
  1383 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1212, 2, '半匹配', '2', 'mp_auto_reply_request_match', 0, 'success', '', '公众号自动回复的请求关键字匹配模式 - 半匹配', '1', '2023-01-16 23:30:55', '1', '2023-01-16 23:31:10', b'0');
  1384 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1213, 1, '文本', 'text', 'mp_message_type', 0, 'default', '', '公众号的消息类型 - 文本', '1', '2023-01-17 22:17:32', '1', '2023-01-17 22:17:39', b'0');
  1385 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1214, 2, '图片', 'image', 'mp_message_type', 0, 'default', '', '公众号的消息类型 - 图片', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:19:47', b'0');
  1386 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1215, 3, '语音', 'voice', 'mp_message_type', 0, 'default', '', '公众号的消息类型 - 语音', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:20:08', b'0');
  1387 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1216, 4, '视频', 'video', 'mp_message_type', 0, 'default', '', '公众号的消息类型 - 视频', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:21:08', b'0');
  1388 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1217, 5, '小视频', 'shortvideo', 'mp_message_type', 0, 'default', '', '公众号的消息类型 - 小视频', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:19:59', b'0');
  1389 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1218, 6, '图文', 'news', 'mp_message_type', 0, 'default', '', '公众号的消息类型 - 图文', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:22:54', b'0');
  1390 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1219, 7, '音乐', 'music', 'mp_message_type', 0, 'default', '', '公众号的消息类型 - 音乐', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:22:54', b'0');
  1391 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1220, 8, '地理位置', 'location', 'mp_message_type', 0, 'default', '', '公众号的消息类型 - 地理位置', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:23:51', b'0');
  1392 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1221, 9, '链接', 'link', 'mp_message_type', 0, 'default', '', '公众号的消息类型 - 链接', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:24:49', b'0');
  1393 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1222, 10, '事件', 'event', 'mp_message_type', 0, 'default', '', '公众号的消息类型 - 事件', '1', '2023-01-17 22:17:32', '1', '2023-01-17 14:24:49', b'0');
  1394 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1223, 0, '初始化', '0', 'system_mail_send_status', 0, 'primary', '', '邮件发送状态 - 初始化\n', '1', '2023-01-26 09:53:49', '1', '2023-01-26 16:36:14', b'0');
  1395 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1224, 10, '发送成功', '10', 'system_mail_send_status', 0, 'success', '', '邮件发送状态 - 发送成功', '1', '2023-01-26 09:54:28', '1', '2023-01-26 16:36:22', b'0');
  1396 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1225, 20, '发送失败', '20', 'system_mail_send_status', 0, 'danger', '', '邮件发送状态 - 发送失败', '1', '2023-01-26 09:54:50', '1', '2023-01-26 16:36:26', b'0');
  1397 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1226, 30, '不发送', '30', 'system_mail_send_status', 0, 'info', '', '邮件发送状态 - 不发送', '1', '2023-01-26 09:55:06', '1', '2023-01-26 16:36:36', b'0');
  1398 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1227, 1, '通知公告', '1', 'system_notify_template_type', 0, 'primary', '', '站内信模版的类型 - 通知公告', '1', '2023-01-28 10:35:59', '1', '2023-01-28 10:35:59', b'0');
  1399 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1228, 2, '系统消息', '2', 'system_notify_template_type', 0, 'success', '', '站内信模版的类型 - 系统消息', '1', '2023-01-28 10:36:20', '1', '2023-01-28 10:36:25', b'0');
1330 COMMIT; 1400 COMMIT;
1331 1401
1332 -- ---------------------------- 1402 -- ----------------------------
1333 -- Table structure for system_dict_type 1403 -- Table structure for system_dict_type
1334 -- ---------------------------- 1404 -- ----------------------------
1335 DROP TABLE IF EXISTS `system_dict_type`; 1405 DROP TABLE IF EXISTS `system_dict_type`;
1336 -CREATE TABLE `system_dict_type`(  
1337 - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '字典主键',  
1338 - `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '字典名称',  
1339 - `type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '字典类型',  
1340 - `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0正常 1停用)',  
1341 - `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',  
1342 - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',  
1343 - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
1344 - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',  
1345 - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
1346 - `deleted_time` datetime DEFAULT NULL COMMENT '删除时间',  
1347 - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',  
1348 - PRIMARY KEY (`id`) USING BTREE,  
1349 - UNIQUE INDEX `dict_type`(`type` ASC,`deleted_time` ASC) USING BTREE  
1350 -) ENGINE = InnoDB AUTO_INCREMENT = 149 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典类型表'; 1406 +CREATE TABLE `system_dict_type` (
  1407 + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '字典主键',
  1408 + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '字典名称',
  1409 + `type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '字典类型',
  1410 + `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0正常 1停用)',
  1411 + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
  1412 + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
  1413 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1414 + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
  1415 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1416 + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  1417 + `deleted_time` datetime NULL DEFAULT NULL COMMENT '删除时间',
  1418 + PRIMARY KEY (`id`) USING BTREE,
  1419 + UNIQUE INDEX `dict_type`(`type` ASC) USING BTREE
  1420 +) ENGINE = InnoDB AUTO_INCREMENT = 168 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典类型表';
1351 1421
1352 -- ---------------------------- 1422 -- ----------------------------
1353 -- Records of system_dict_type 1423 -- Records of system_dict_type
1354 -- ---------------------------- 1424 -- ----------------------------
1355 BEGIN; 1425 BEGIN;
1356 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1, '用户性别', 'system_user_sex', 0, NULL, 'admin', '2021-01-05 17:03:48', '1', '2022-05-16 20:29:32', b'0');  
1357 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (6, '参数类型', 'infra_config_type', 0, NULL, 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:36:54', b'0');  
1358 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (7, '通知类型', 'system_notice_type', 0, NULL, 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:35:26', b'0');  
1359 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (9, '操作类型', 'system_operate_type', 0, NULL, 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 09:32:21', b'0');  
1360 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (10, '系统状态', 'common_status', 0, NULL, 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:21:28', b'0');  
1361 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (11, 'Boolean 是否类型', 'infra_boolean_string', 0, 'boolean 转是否', '', '2021-01-19 03:20:08', '', '2022-02-01 16:37:10', b'0');  
1362 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (104, '登陆结果', 'system_login_result', 0, '登陆结果', '', '2021-01-18 06:17:11', '', '2022-02-01 16:36:00', b'0');  
1363 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (105, 'Redis 超时类型', 'infra_redis_timeout_type', 0, 'RedisKeyDefine.TimeoutTypeEnum', '', '2021-01-26 00:52:50', '', '2022-02-01 16:50:29', b'0');  
1364 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (106, '代码生成模板类型', 'infra_codegen_template_type', 0, NULL, '', '2021-02-05 07:08:06', '1', '2022-05-16 20:26:50', b'0');  
1365 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (107, '定时任务状态', 'infra_job_status', 0, NULL, '', '2021-02-07 07:44:16', '', '2022-02-01 16:51:11', b'0');  
1366 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (108, '定时任务日志状态', 'infra_job_log_status', 0, NULL, '', '2021-02-08 10:03:51', '', '2022-02-01 16:50:43', b'0');  
1367 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (109, '用户类型', 'user_type', 0, NULL, '', '2021-02-26 00:15:51', '', '2021-02-26 00:15:51', b'0');  
1368 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (110, 'API 异常数据的处理状态', 'infra_api_error_log_process_status', 0, NULL, '', '2021-02-26 07:07:01', '', '2022-02-01 16:50:53', b'0');  
1369 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (111, '短信渠道编码', 'system_sms_channel_code', 0, NULL, '1', '2021-04-05 01:04:50', '1', '2022-02-16 02:09:08', b'0');  
1370 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (112, '短信模板的类型', 'system_sms_template_type', 0, NULL, '1', '2021-04-05 21:50:43', '1', '2022-02-01 16:35:06', b'0');  
1371 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (113, '短信发送状态', 'system_sms_send_status', 0, NULL, '1', '2021-04-11 20:18:03', '1', '2022-02-01 16:35:09', b'0');  
1372 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (114, '短信接收状态', 'system_sms_receive_status', 0, NULL, '1', '2021-04-11 20:27:14', '1', '2022-02-01 16:35:14', b'0');  
1373 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (115, '错误码的类型', 'system_error_code_type', 0, NULL, '1', '2021-04-21 00:06:30', '1', '2022-02-01 16:36:49', b'0');  
1374 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (116, '登陆日志的类型', 'system_login_type', 0, '登陆日志的类型', '1', '2021-10-06 00:50:46', '1', '2022-02-01 16:35:56', b'0');  
1375 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (117, 'OA 请假类型', 'bpm_oa_leave_type', 0, NULL, '1', '2021-09-21 22:34:33', '1', '2022-01-22 10:41:37', b'0');  
1376 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (122, '支付渠道微信版本', 'pay_channel_wechat_version', 0, '支付渠道微信版本', '1', '2021-11-08 17:00:26', '1', '2021-11-08 17:00:26', b'0');  
1377 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (127, '支付渠道支付宝算法类型', 'pay_channel_alipay_sign_type', 0, '支付渠道支付宝算法类型', '1', '2021-11-18 15:39:09', '1', '2021-11-18 15:39:09', b'0');  
1378 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (128, '支付渠道支付宝公钥类型', 'pay_channel_alipay_mode', 0, '支付渠道支付宝公钥类型', '1', '2021-11-18 15:44:28', '1', '2021-11-18 15:44:28', b'0');  
1379 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (129, '支付宝网关地址', 'pay_channel_alipay_server_type', 0, '支付宝网关地址', '1', '2021-11-18 16:58:55', '1', '2021-11-18 17:01:34', b'0');  
1380 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (130, '支付渠道编码类型', 'pay_channel_code_type', 0, '支付渠道的编码', '1', '2021-12-03 10:35:08', '1', '2021-12-03 10:35:08', b'0');  
1381 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (131, '支付订单回调状态', 'pay_order_notify_status', 0, '支付订单回调状态', '1', '2021-12-03 10:53:29', '1', '2021-12-03 10:53:29', b'0');  
1382 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (132, '支付订单状态', 'pay_order_status', 0, '支付订单状态', '1', '2021-12-03 11:17:50', '1', '2021-12-03 11:17:50', b'0');  
1383 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (133, '支付订单退款状态', 'pay_order_refund_status', 0, '支付订单退款状态', '1', '2021-12-03 11:27:31', '1', '2021-12-03 11:27:31', b'0');  
1384 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (134, '退款订单状态', 'pay_refund_order_status', 0, '退款订单状态', '1', '2021-12-10 16:42:50', '1', '2021-12-10 16:42:50', b'0');  
1385 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (135, '退款订单类别', 'pay_refund_order_type', 0, '退款订单类别', '1', '2021-12-10 17:14:53', '1', '2021-12-10 17:14:53', b'0');  
1386 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (138, '流程分类', 'bpm_model_category', 0, '流程分类', '1', '2022-01-02 08:40:45', '1', '2022-01-02 08:40:45', b'0');  
1387 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (139, '流程实例的状态', 'bpm_process_instance_status', 0, '流程实例的状态', '1', '2022-01-07 23:46:42', '1', '2022-01-07 23:46:42', b'0');  
1388 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (140, '流程实例的结果', 'bpm_process_instance_result', 0, '流程实例的结果', '1', '2022-01-07 23:48:10', '1', '2022-01-07 23:48:10', b'0');  
1389 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (141, '流程的表单类型', 'bpm_model_form_type', 0, '流程的表单类型', '103', '2022-01-11 23:50:45', '103', '2022-01-11 23:50:45', b'0');  
1390 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (142, '任务分配规则的类型', 'bpm_task_assign_rule_type', 0, '任务分配规则的类型', '103', '2022-01-12 23:21:04', '103', '2022-01-12 15:46:10', b'0');  
1391 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (143, '任务分配自定义脚本', 'bpm_task_assign_script', 0, '任务分配自定义脚本', '103', '2022-01-15 00:10:35', '103', '2022-01-15 00:10:35', b'0');  
1392 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (144, '代码生成的场景枚举', 'infra_codegen_scene', 0, '代码生成的场景枚举', '1', '2022-02-02 13:14:45', '1', '2022-03-10 16:33:46', b'0');  
1393 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (145, '角色类型', 'system_role_type', 0, '角色类型', '1', '2022-02-16 13:01:46', '1', '2022-02-16 13:01:46', b'0');  
1394 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (146, '文件存储器', 'infra_file_storage', 0, '文件存储器', '1', '2022-03-15 00:24:38', '1', '2022-03-15 00:24:38', b'0');  
1395 -INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (147, 'OAuth 2.0 授权类型', 'system_oauth2_grant_type', 0, 'OAuth 2.0 授权类型(模式)', '1', '2022-05-12 00:20:52', '1', '2022-05-11 16:25:49', b'0'); 1426 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (1, '用户性别', 'system_user_sex', 0, NULL, 'admin', '2021-01-05 17:03:48', '1', '2022-05-16 20:29:32', b'0', NULL);
  1427 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (6, '参数类型', 'infra_config_type', 0, NULL, 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:36:54', b'0', NULL);
  1428 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (7, '通知类型', 'system_notice_type', 0, NULL, 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:35:26', b'0', NULL);
  1429 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (9, '操作类型', 'system_operate_type', 0, NULL, 'admin', '2021-01-05 17:03:48', '1', '2022-02-16 09:32:21', b'0', NULL);
  1430 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (10, '系统状态', 'common_status', 0, NULL, 'admin', '2021-01-05 17:03:48', '', '2022-02-01 16:21:28', b'0', NULL);
  1431 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (11, 'Boolean 是否类型', 'infra_boolean_string', 0, 'boolean 转是否', '', '2021-01-19 03:20:08', '', '2022-02-01 16:37:10', b'0', NULL);
  1432 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (104, '登陆结果', 'system_login_result', 0, '登陆结果', '', '2021-01-18 06:17:11', '', '2022-02-01 16:36:00', b'0', NULL);
  1433 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (105, 'Redis 超时类型', 'infra_redis_timeout_type', 0, 'RedisKeyDefine.TimeoutTypeEnum', '', '2021-01-26 00:52:50', '', '2022-02-01 16:50:29', b'0', NULL);
  1434 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (106, '代码生成模板类型', 'infra_codegen_template_type', 0, NULL, '', '2021-02-05 07:08:06', '1', '2022-05-16 20:26:50', b'0', NULL);
  1435 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (107, '定时任务状态', 'infra_job_status', 0, NULL, '', '2021-02-07 07:44:16', '', '2022-02-01 16:51:11', b'0', NULL);
  1436 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (108, '定时任务日志状态', 'infra_job_log_status', 0, NULL, '', '2021-02-08 10:03:51', '', '2022-02-01 16:50:43', b'0', NULL);
  1437 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (109, '用户类型', 'user_type', 0, NULL, '', '2021-02-26 00:15:51', '', '2021-02-26 00:15:51', b'0', NULL);
  1438 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (110, 'API 异常数据的处理状态', 'infra_api_error_log_process_status', 0, NULL, '', '2021-02-26 07:07:01', '', '2022-02-01 16:50:53', b'0', NULL);
  1439 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (111, '短信渠道编码', 'system_sms_channel_code', 0, NULL, '1', '2021-04-05 01:04:50', '1', '2022-02-16 02:09:08', b'0', NULL);
  1440 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (112, '短信模板的类型', 'system_sms_template_type', 0, NULL, '1', '2021-04-05 21:50:43', '1', '2022-02-01 16:35:06', b'0', NULL);
  1441 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (113, '短信发送状态', 'system_sms_send_status', 0, NULL, '1', '2021-04-11 20:18:03', '1', '2022-02-01 16:35:09', b'0', NULL);
  1442 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (114, '短信接收状态', 'system_sms_receive_status', 0, NULL, '1', '2021-04-11 20:27:14', '1', '2022-02-01 16:35:14', b'0', NULL);
  1443 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (115, '错误码的类型', 'system_error_code_type', 0, NULL, '1', '2021-04-21 00:06:30', '1', '2022-02-01 16:36:49', b'0', NULL);
  1444 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (116, '登陆日志的类型', 'system_login_type', 0, '登陆日志的类型', '1', '2021-10-06 00:50:46', '1', '2022-02-01 16:35:56', b'0', NULL);
  1445 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (117, 'OA 请假类型', 'bpm_oa_leave_type', 0, NULL, '1', '2021-09-21 22:34:33', '1', '2022-01-22 10:41:37', b'0', NULL);
  1446 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (122, '支付渠道微信版本', 'pay_channel_wechat_version', 0, '支付渠道微信版本', '1', '2021-11-08 17:00:26', '1', '2021-11-08 17:00:26', b'0', NULL);
  1447 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (127, '支付渠道支付宝算法类型', 'pay_channel_alipay_sign_type', 0, '支付渠道支付宝算法类型', '1', '2021-11-18 15:39:09', '1', '2021-11-18 15:39:09', b'0', NULL);
  1448 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (128, '支付渠道支付宝公钥类型', 'pay_channel_alipay_mode', 0, '支付渠道支付宝公钥类型', '1', '2021-11-18 15:44:28', '1', '2021-11-18 15:44:28', b'0', NULL);
  1449 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (129, '支付宝网关地址', 'pay_channel_alipay_server_type', 0, '支付宝网关地址', '1', '2021-11-18 16:58:55', '1', '2021-11-18 17:01:34', b'0', NULL);
  1450 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (130, '支付渠道编码类型', 'pay_channel_code_type', 0, '支付渠道的编码', '1', '2021-12-03 10:35:08', '1', '2021-12-03 10:35:08', b'0', NULL);
  1451 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (131, '支付订单回调状态', 'pay_order_notify_status', 0, '支付订单回调状态', '1', '2021-12-03 10:53:29', '1', '2021-12-03 10:53:29', b'0', NULL);
  1452 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (132, '支付订单状态', 'pay_order_status', 0, '支付订单状态', '1', '2021-12-03 11:17:50', '1', '2021-12-03 11:17:50', b'0', NULL);
  1453 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (133, '支付订单退款状态', 'pay_order_refund_status', 0, '支付订单退款状态', '1', '2021-12-03 11:27:31', '1', '2021-12-03 11:27:31', b'0', NULL);
  1454 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (134, '退款订单状态', 'pay_refund_order_status', 0, '退款订单状态', '1', '2021-12-10 16:42:50', '1', '2021-12-10 16:42:50', b'0', NULL);
  1455 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (135, '退款订单类别', 'pay_refund_order_type', 0, '退款订单类别', '1', '2021-12-10 17:14:53', '1', '2021-12-10 17:14:53', b'0', NULL);
  1456 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (138, '流程分类', 'bpm_model_category', 0, '流程分类', '1', '2022-01-02 08:40:45', '1', '2022-01-02 08:40:45', b'0', NULL);
  1457 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (139, '流程实例的状态', 'bpm_process_instance_status', 0, '流程实例的状态', '1', '2022-01-07 23:46:42', '1', '2022-01-07 23:46:42', b'0', NULL);
  1458 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (140, '流程实例的结果', 'bpm_process_instance_result', 0, '流程实例的结果', '1', '2022-01-07 23:48:10', '1', '2022-01-07 23:48:10', b'0', NULL);
  1459 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (141, '流程的表单类型', 'bpm_model_form_type', 0, '流程的表单类型', '103', '2022-01-11 23:50:45', '103', '2022-01-11 23:50:45', b'0', NULL);
  1460 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (142, '任务分配规则的类型', 'bpm_task_assign_rule_type', 0, '任务分配规则的类型', '103', '2022-01-12 23:21:04', '103', '2022-01-12 15:46:10', b'0', NULL);
  1461 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (143, '任务分配自定义脚本', 'bpm_task_assign_script', 0, '任务分配自定义脚本', '103', '2022-01-15 00:10:35', '103', '2022-01-15 00:10:35', b'0', NULL);
  1462 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (144, '代码生成的场景枚举', 'infra_codegen_scene', 0, '代码生成的场景枚举', '1', '2022-02-02 13:14:45', '1', '2022-03-10 16:33:46', b'0', NULL);
  1463 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (145, '角色类型', 'system_role_type', 0, '角色类型', '1', '2022-02-16 13:01:46', '1', '2022-02-16 13:01:46', b'0', NULL);
  1464 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (146, '文件存储器', 'infra_file_storage', 0, '文件存储器', '1', '2022-03-15 00:24:38', '1', '2022-03-15 00:24:38', b'0', NULL);
  1465 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (147, 'OAuth 2.0 授权类型', 'system_oauth2_grant_type', 0, 'OAuth 2.0 授权类型(模式)', '1', '2022-05-12 00:20:52', '1', '2022-05-11 16:25:49', b'0', NULL);
  1466 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (149, '商品 SPU 状态', 'product_spu_status', 0, '商品 SPU 状态', '1', '2022-10-24 21:19:04', '1', '2022-10-24 21:19:08', b'0', NULL);
  1467 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (150, '优惠类型', 'promotion_discount_type', 0, '优惠类型', '1', '2022-11-01 12:46:06', '1', '2022-11-01 12:46:06', b'0', NULL);
  1468 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (151, '优惠劵模板的有限期类型', 'promotion_coupon_template_validity_type', 0, '优惠劵模板的有限期类型', '1', '2022-11-02 00:06:20', '1', '2022-11-04 00:08:26', b'0', NULL);
  1469 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (152, '营销的商品范围', 'promotion_product_scope', 0, '营销的商品范围', '1', '2022-11-02 00:28:01', '1', '2022-11-02 00:28:01', b'0', NULL);
  1470 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (153, '优惠劵的状态', 'promotion_coupon_status', 0, '优惠劵的状态', '1', '2022-11-04 00:14:49', '1', '2022-11-04 00:14:49', b'0', NULL);
  1471 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (154, '优惠劵的领取方式', 'promotion_coupon_take_type', 0, '优惠劵的领取方式', '1', '2022-11-04 19:12:27', '1', '2022-11-04 19:12:27', b'0', NULL);
  1472 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (155, '促销活动的状态', 'promotion_activity_status', 0, '促销活动的状态', '1', '2022-11-04 22:54:23', '1', '2022-11-04 22:54:23', b'0', NULL);
  1473 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (156, '营销的条件类型', 'promotion_condition_type', 0, '营销的条件类型', '1', '2022-11-04 22:59:23', '1', '2022-11-04 22:59:23', b'0', NULL);
  1474 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (157, '交易售后状态', 'trade_after_sale_status', 0, '交易售后状态', '1', '2022-11-19 20:52:56', '1', '2022-11-19 20:52:56', b'0', NULL);
  1475 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (158, '交易售后的类型', 'trade_after_sale_type', 0, '交易售后的类型', '1', '2022-11-19 21:04:09', '1', '2022-11-19 21:04:09', b'0', NULL);
  1476 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (159, '交易售后的方式', 'trade_after_sale_way', 0, '交易售后的方式', '1', '2022-11-19 21:39:04', '1', '2022-11-19 21:39:04', b'0', NULL);
  1477 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (160, '终端', 'terminal', 0, '终端', '1', '2022-12-10 10:50:50', '1', '2022-12-10 10:53:11', b'0', NULL);
  1478 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (161, '交易订单的类型', 'trade_order_type', 0, '交易订单的类型', '1', '2022-12-10 16:33:54', '1', '2022-12-10 16:33:54', b'0', NULL);
  1479 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (162, '交易订单的状态', 'trade_order_status', 0, '交易订单的状态', '1', '2022-12-10 16:48:44', '1', '2022-12-10 16:48:44', b'0', NULL);
  1480 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (163, '交易订单项的售后状态', 'trade_order_item_after_sale_status', 0, '交易订单项的售后状态', '1', '2022-12-10 20:58:08', '1', '2022-12-10 20:58:08', b'0', NULL);
  1481 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (164, '公众号自动回复的请求关键字匹配模式', 'mp_auto_reply_request_match', 0, '公众号自动回复的请求关键字匹配模式', '1', '2023-01-16 23:29:56', '1', '2023-01-16 23:29:56', b'0', '1970-01-01 00:00:00');
  1482 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (165, '公众号的消息类型', 'mp_message_type', 0, '公众号的消息类型', '1', '2023-01-17 22:17:09', '1', '2023-01-17 22:17:09', b'0', '1970-01-01 00:00:00');
  1483 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (166, '邮件发送状态', 'system_mail_send_status', 0, '邮件发送状态', '1', '2023-01-26 09:53:13', '1', '2023-01-26 09:53:13', b'0', '1970-01-01 00:00:00');
  1484 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (167, '站内信模版的类型', 'system_notify_template_type', 0, '站内信模版的类型', '1', '2023-01-28 10:35:10', '1', '2023-01-28 10:35:10', b'0', '1970-01-01 00:00:00');
1396 COMMIT; 1485 COMMIT;
1397 1486
1398 -- ---------------------------- 1487 -- ----------------------------
@@ -1412,7 +1501,7 @@ CREATE TABLE `system_error_code` ( @@ -1412,7 +1501,7 @@ CREATE TABLE `system_error_code` (
1412 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 1501 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
1413 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 1502 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1414 PRIMARY KEY (`id`) USING BTREE 1503 PRIMARY KEY (`id`) USING BTREE
1415 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '错误码表'; 1504 +) ENGINE = InnoDB AUTO_INCREMENT = 5833 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '错误码表';
1416 1505
1417 -- ---------------------------- 1506 -- ----------------------------
1418 -- Records of system_error_code 1507 -- Records of system_error_code
@@ -1441,7 +1530,7 @@ CREATE TABLE `system_login_log` ( @@ -1441,7 +1530,7 @@ CREATE TABLE `system_login_log` (
1441 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 1530 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1442 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 1531 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
1443 PRIMARY KEY (`id`) USING BTREE 1532 PRIMARY KEY (`id`) USING BTREE
1444 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '系统访问记录'; 1533 +) ENGINE = InnoDB AUTO_INCREMENT = 1985 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '系统访问记录';
1445 1534
1446 -- ---------------------------- 1535 -- ----------------------------
1447 -- Records of system_login_log 1536 -- Records of system_login_log
@@ -1450,6 +1539,102 @@ BEGIN; @@ -1450,6 +1539,102 @@ BEGIN;
1450 COMMIT; 1539 COMMIT;
1451 1540
1452 -- ---------------------------- 1541 -- ----------------------------
  1542 +-- Table structure for system_mail_account
  1543 +-- ----------------------------
  1544 +DROP TABLE IF EXISTS `system_mail_account`;
  1545 +CREATE TABLE `system_mail_account` (
  1546 + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  1547 + `mail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱',
  1548 + `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名',
  1549 + `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码',
  1550 + `host` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'SMTP 服务器域名',
  1551 + `port` int NOT NULL COMMENT 'SMTP 服务器端口',
  1552 + `ssl_enable` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否开启 SSL',
  1553 + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
  1554 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1555 + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
  1556 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1557 + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  1558 + PRIMARY KEY (`id`) USING BTREE
  1559 +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '邮箱账号表';
  1560 +
  1561 +-- ----------------------------
  1562 +-- Records of system_mail_account
  1563 +-- ----------------------------
  1564 +BEGIN;
  1565 +INSERT INTO `system_mail_account` (`id`, `mail`, `username`, `password`, `host`, `port`, `ssl_enable`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1, '7684413@qq.com', '7684413@qq.com', '123457', '127.0.0.1', 8080, b'0', '1', '2023-01-25 17:39:52', '1', '2023-01-26 22:59:04', b'0');
  1566 +INSERT INTO `system_mail_account` (`id`, `mail`, `username`, `password`, `host`, `port`, `ssl_enable`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2, 'ydym_test@163.com', 'ydym_test@163.com', 'WBZTEINMIFVRYSOE', 'smtp.163.com', 465, b'1', '1', '2023-01-26 01:26:03', '1', '2023-01-26 01:26:03', b'0');
  1567 +INSERT INTO `system_mail_account` (`id`, `mail`, `username`, `password`, `host`, `port`, `ssl_enable`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (3, '76854114@qq.com', '3335', '11234', 'yunai1.cn', 466, b'0', '1', '2023-01-27 15:06:38', '1', '2023-01-27 07:08:36', b'1');
  1568 +COMMIT;
  1569 +
  1570 +-- ----------------------------
  1571 +-- Table structure for system_mail_log
  1572 +-- ----------------------------
  1573 +DROP TABLE IF EXISTS `system_mail_log`;
  1574 +CREATE TABLE `system_mail_log` (
  1575 + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
  1576 + `user_id` bigint NULL DEFAULT NULL COMMENT '用户编号',
  1577 + `user_type` tinyint NULL DEFAULT NULL COMMENT '用户类型',
  1578 + `to_mail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '接收邮箱地址',
  1579 + `account_id` bigint NOT NULL COMMENT '邮箱账号编号',
  1580 + `from_mail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '发送邮箱地址',
  1581 + `template_id` bigint NOT NULL COMMENT '模板编号',
  1582 + `template_code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板编码',
  1583 + `template_nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '模版发送人名称',
  1584 + `template_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮件标题',
  1585 + `template_content` varchar(10240) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮件内容',
  1586 + `template_params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮件参数',
  1587 + `send_status` tinyint NOT NULL DEFAULT 0 COMMENT '发送状态',
  1588 + `send_time` datetime NULL DEFAULT NULL COMMENT '发送时间',
  1589 + `send_message_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '发送返回的消息 ID',
  1590 + `send_exception` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '发送异常',
  1591 + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
  1592 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1593 + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
  1594 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1595 + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  1596 + PRIMARY KEY (`id`) USING BTREE
  1597 +) ENGINE = InnoDB AUTO_INCREMENT = 354 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '邮件日志表';
  1598 +
  1599 +-- ----------------------------
  1600 +-- Records of system_mail_log
  1601 +-- ----------------------------
  1602 +BEGIN;
  1603 +COMMIT;
  1604 +
  1605 +-- ----------------------------
  1606 +-- Table structure for system_mail_template
  1607 +-- ----------------------------
  1608 +DROP TABLE IF EXISTS `system_mail_template`;
  1609 +CREATE TABLE `system_mail_template` (
  1610 + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
  1611 + `name` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板名称',
  1612 + `code` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板编码',
  1613 + `account_id` bigint NOT NULL COMMENT '发送的邮箱账号编号',
  1614 + `nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '发送人名称',
  1615 + `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板标题',
  1616 + `content` varchar(10240) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板内容',
  1617 + `params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '参数数组',
  1618 + `status` tinyint NOT NULL COMMENT '开启状态',
  1619 + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
  1620 + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
  1621 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1622 + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
  1623 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1624 + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  1625 + PRIMARY KEY (`id`) USING BTREE
  1626 +) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '邮件模版表';
  1627 +
  1628 +-- ----------------------------
  1629 +-- Records of system_mail_template
  1630 +-- ----------------------------
  1631 +BEGIN;
  1632 +INSERT INTO `system_mail_template` (`id`, `name`, `code`, `account_id`, `nickname`, `title`, `content`, `params`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (13, '后台用户短信登录', 'admin-sms-login', 1, '奥特曼', '你猜我猜', '<p>您的验证码是{code},名字是{name}</p>', '[\"code\",\"name\"]', 0, '3', '1', '2021-10-11 08:10:00', '1', '2023-01-26 23:22:05', b'0');
  1633 +INSERT INTO `system_mail_template` (`id`, `name`, `code`, `account_id`, `nickname`, `title`, `content`, `params`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (14, '测试模版', 'test_01', 2, '芋艿', '一个标题', '<p>你是 {key01} 吗?</p><p><br></p><p>是的话,赶紧 {key02} 一下!</p>', '[\"key01\",\"key02\"]', 0, NULL, '1', '2023-01-26 01:27:40', '1', '2023-01-27 10:32:16', b'0');
  1634 +INSERT INTO `system_mail_template` (`id`, `name`, `code`, `account_id`, `nickname`, `title`, `content`, `params`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (15, '3', '2', 2, '7', '4', '<p>45</p>', '[]', 1, '80', '1', '2023-01-27 15:50:35', '1', '2023-01-27 16:34:49', b'0');
  1635 +COMMIT;
  1636 +
  1637 +-- ----------------------------
1453 -- Table structure for system_menu 1638 -- Table structure for system_menu
1454 -- ---------------------------- 1639 -- ----------------------------
1455 DROP TABLE IF EXISTS `system_menu`; 1640 DROP TABLE IF EXISTS `system_menu`;
@@ -1472,7 +1657,7 @@ CREATE TABLE `system_menu` ( @@ -1472,7 +1657,7 @@ CREATE TABLE `system_menu` (
1472 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 1657 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
1473 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 1658 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1474 PRIMARY KEY (`id`) USING BTREE 1659 PRIMARY KEY (`id`) USING BTREE
1475 -) ENGINE = InnoDB AUTO_INCREMENT = 1283 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '菜单权限表'; 1660 +) ENGINE = InnoDB AUTO_INCREMENT = 2153 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '菜单权限表';
1476 1661
1477 -- ---------------------------- 1662 -- ----------------------------
1478 -- Records of system_menu 1663 -- Records of system_menu
@@ -1602,7 +1787,7 @@ INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_i @@ -1602,7 +1787,7 @@ INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_i
1602 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1113, '错误码更新', 'system:error-code:update', 3, 3, 1110, '', '', '', 0, b'1', b'1', '', '2021-04-13 21:46:42', '', '2022-04-20 17:03:10', b'0'); 1787 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1113, '错误码更新', 'system:error-code:update', 3, 3, 1110, '', '', '', 0, b'1', b'1', '', '2021-04-13 21:46:42', '', '2022-04-20 17:03:10', b'0');
1603 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1114, '错误码删除', 'system:error-code:delete', 3, 4, 1110, '', '', '', 0, b'1', b'1', '', '2021-04-13 21:46:42', '', '2022-04-20 17:03:10', b'0'); 1788 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1114, '错误码删除', 'system:error-code:delete', 3, 4, 1110, '', '', '', 0, b'1', b'1', '', '2021-04-13 21:46:42', '', '2022-04-20 17:03:10', b'0');
1604 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1115, '错误码导出', 'system:error-code:export', 3, 5, 1110, '', '', '', 0, b'1', b'1', '', '2021-04-13 21:46:42', '', '2022-04-20 17:03:10', b'0'); 1789 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1115, '错误码导出', 'system:error-code:export', 3, 5, 1110, '', '', '', 0, b'1', b'1', '', '2021-04-13 21:46:42', '', '2022-04-20 17:03:10', b'0');
1605 -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1117, '支付管理', '', 1, 11, 0, '/pay', 'money', NULL, 0, b'1', b'1', '1', '2021-12-25 16:43:41', '1', '2022-04-20 17:03:10', b'0'); 1790 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1117, '支付管理', '', 1, 30, 0, '/pay', 'money', NULL, 0, b'1', b'1', '1', '2021-12-25 16:43:41', '1', '2022-12-10 16:33:19', b'0');
1606 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1118, '请假查询', '', 2, 0, 5, 'leave', 'user', 'bpm/oa/leave/index', 0, b'1', b'1', '', '2021-09-20 08:51:03', '1', '2022-04-20 17:03:10', b'0'); 1791 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1118, '请假查询', '', 2, 0, 5, 'leave', 'user', 'bpm/oa/leave/index', 0, b'1', b'1', '', '2021-09-20 08:51:03', '1', '2022-04-20 17:03:10', b'0');
1607 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1119, '请假申请查询', 'bpm:oa-leave:query', 3, 1, 1118, '', '', '', 0, b'1', b'1', '', '2021-09-20 08:51:03', '1', '2022-04-20 17:03:10', b'0'); 1792 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1119, '请假申请查询', 'bpm:oa-leave:query', 3, 1, 1118, '', '', '', 0, b'1', b'1', '', '2021-09-20 08:51:03', '1', '2022-04-20 17:03:10', b'0');
1608 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1120, '请假申请创建', 'bpm:oa-leave:create', 3, 2, 1118, '', '', '', 0, b'1', b'1', '', '2021-09-20 08:51:03', '1', '2022-04-20 17:03:10', b'0'); 1793 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1120, '请假申请创建', 'bpm:oa-leave:create', 3, 2, 1118, '', '', '', 0, b'1', b'1', '', '2021-09-20 08:51:03', '1', '2022-04-20 17:03:10', b'0');
@@ -1695,7 +1880,7 @@ INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_i @@ -1695,7 +1880,7 @@ INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_i
1695 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1250, '敏感词更新', 'system:sensitive-word:update', 3, 3, 1247, '', '', '', 0, b'1', b'1', '', '2022-04-07 16:55:03', '', '2022-04-20 17:03:10', b'0'); 1880 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1250, '敏感词更新', 'system:sensitive-word:update', 3, 3, 1247, '', '', '', 0, b'1', b'1', '', '2022-04-07 16:55:03', '', '2022-04-20 17:03:10', b'0');
1696 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1251, '敏感词删除', 'system:sensitive-word:delete', 3, 4, 1247, '', '', '', 0, b'1', b'1', '', '2022-04-07 16:55:03', '', '2022-04-20 17:03:10', b'0'); 1881 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1251, '敏感词删除', 'system:sensitive-word:delete', 3, 4, 1247, '', '', '', 0, b'1', b'1', '', '2022-04-07 16:55:03', '', '2022-04-20 17:03:10', b'0');
1697 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1252, '敏感词导出', 'system:sensitive-word:export', 3, 5, 1247, '', '', '', 0, b'1', b'1', '', '2022-04-07 16:55:03', '', '2022-04-20 17:03:10', b'0'); 1882 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1252, '敏感词导出', 'system:sensitive-word:export', 3, 5, 1247, '', '', '', 0, b'1', b'1', '', '2022-04-07 16:55:03', '', '2022-04-20 17:03:10', b'0');
1698 -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1254, '作者动态', '', 1, 0, 0, 'https://www.iocoder.cn', 'people', NULL, 0, b'1', b'1', '1', '2022-04-23 01:03:15', '1', '2022-06-22 13:35:05', b'0'); 1883 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1254, '作者动态', '', 1, 0, 0, 'https://www.iocoder.cn', 'people', NULL, 0, b'1', b'1', '1', '2022-04-23 01:03:15', '1', '2023-01-28 12:33:52', b'0');
1699 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1255, '数据源配置', '', 2, 1, 2, 'data-source-config', 'rate', 'infra/dataSourceConfig/index', 0, b'1', b'1', '', '2022-04-27 14:37:32', '1', '2022-04-27 22:42:06', b'0'); 1884 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1255, '数据源配置', '', 2, 1, 2, 'data-source-config', 'rate', 'infra/dataSourceConfig/index', 0, b'1', b'1', '', '2022-04-27 14:37:32', '1', '2022-04-27 22:42:06', b'0');
1700 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1256, '数据源配置查询', 'infra:data-source-config:query', 3, 1, 1255, '', '', '', 0, b'1', b'1', '', '2022-04-27 14:37:32', '', '2022-04-27 14:37:32', b'0'); 1885 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1256, '数据源配置查询', 'infra:data-source-config:query', 3, 1, 1255, '', '', '', 0, b'1', b'1', '', '2022-04-27 14:37:32', '', '2022-04-27 14:37:32', b'0');
1701 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1257, '数据源配置创建', 'infra:data-source-config:create', 3, 2, 1255, '', '', '', 0, b'1', b'1', '', '2022-04-27 14:37:32', '', '2022-04-27 14:37:32', b'0'); 1886 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1257, '数据源配置创建', 'infra:data-source-config:create', 3, 2, 1255, '', '', '', 0, b'1', b'1', '', '2022-04-27 14:37:32', '', '2022-04-27 14:37:32', b'0');
@@ -1708,10 +1893,148 @@ INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_i @@ -1708,10 +1893,148 @@ INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_i
1708 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1265, '客户端创建', 'system:oauth2-client:create', 3, 2, 1263, '', '', '', 0, b'1', b'1', '', '2022-05-10 16:26:33', '1', '2022-05-11 00:31:23', b'0'); 1893 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1265, '客户端创建', 'system:oauth2-client:create', 3, 2, 1263, '', '', '', 0, b'1', b'1', '', '2022-05-10 16:26:33', '1', '2022-05-11 00:31:23', b'0');
1709 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1266, '客户端更新', 'system:oauth2-client:update', 3, 3, 1263, '', '', '', 0, b'1', b'1', '', '2022-05-10 16:26:33', '1', '2022-05-11 00:31:28', b'0'); 1894 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1266, '客户端更新', 'system:oauth2-client:update', 3, 3, 1263, '', '', '', 0, b'1', b'1', '', '2022-05-10 16:26:33', '1', '2022-05-11 00:31:28', b'0');
1710 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1267, '客户端删除', 'system:oauth2-client:delete', 3, 4, 1263, '', '', '', 0, b'1', b'1', '', '2022-05-10 16:26:33', '1', '2022-05-11 00:31:33', b'0'); 1895 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1267, '客户端删除', 'system:oauth2-client:delete', 3, 4, 1263, '', '', '', 0, b'1', b'1', '', '2022-05-10 16:26:33', '1', '2022-05-11 00:31:33', b'0');
1711 -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1281, '可视化报表', '', 1, 12, 0, '/visualization', 'chart', NULL, 0, b'1', b'1', '1', '2022-07-10 20:22:15', '1', '2022-07-10 20:33:30', b'0');  
1712 -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1282, '积木报表', '', 2, 1, 1281, 'jimu-report', 'example', 'visualization/jmreport/index', 0, b'1', b'1', '1', '2022-07-10 20:26:36', '1', '2022-07-28 21:17:34', b'0');  
1713 -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1283, 'webSocket连接', '', 2, 14, 2, 'webSocket', 'message', 'infra/webSocket/index', 0, b'1', b'1', '1', '2023-01-01 11:43:04', '1', '2023-01-01 11:43:04', b'0');  
1714 - 1896 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1281, '报表管理', '', 1, 40, 0, '/visualization', 'chart', NULL, 0, b'1', b'1', '1', '2022-07-10 20:22:15', '1', '2022-12-10 16:33:13', b'0');
  1897 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1282, '报表设计器', '', 2, 1, 1281, 'jimu-report', 'example', 'visualization/jmreport/index', 0, b'1', b'1', '1', '2022-07-10 20:26:36', '1', '2022-07-29 12:48:05', b'0');
  1898 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2000, '商品中心', '', 1, 60, 0, '/product', 'merchant', NULL, 0, b'1', b'1', '', '2022-07-29 15:53:53', '1', '2022-07-30 22:26:19', b'0');
  1899 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2002, '商品分类', '', 2, 2, 2000, 'category', 'dict', 'mall/product/category/index', 0, b'1', b'1', '', '2022-07-29 15:53:53', '1', '2022-07-30 22:23:37', b'0');
  1900 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2003, '分类查询', 'product:category:query', 3, 1, 2002, '', '', '', 0, b'1', b'1', '', '2022-07-29 15:53:53', '', '2022-07-29 15:53:53', b'0');
  1901 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2004, '分类创建', 'product:category:create', 3, 2, 2002, '', '', '', 0, b'1', b'1', '', '2022-07-29 15:53:53', '', '2022-07-29 15:53:53', b'0');
  1902 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2005, '分类更新', 'product:category:update', 3, 3, 2002, '', '', '', 0, b'1', b'1', '', '2022-07-29 15:53:53', '', '2022-07-29 15:53:53', b'0');
  1903 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2006, '分类删除', 'product:category:delete', 3, 4, 2002, '', '', '', 0, b'1', b'1', '', '2022-07-29 15:53:53', '', '2022-07-29 15:53:53', b'0');
  1904 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2008, '商品品牌', '', 2, 3, 2000, 'brand', 'dashboard', 'mall/product/brand/index', 0, b'1', b'1', '', '2022-07-30 13:52:44', '1', '2022-10-24 22:29:30', b'0');
  1905 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2009, '品牌查询', 'product:brand:query', 3, 1, 2008, '', '', '', 0, b'1', b'1', '', '2022-07-30 13:52:44', '', '2022-07-30 13:52:44', b'0');
  1906 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2010, '品牌创建', 'product:brand:create', 3, 2, 2008, '', '', '', 0, b'1', b'1', '', '2022-07-30 13:52:44', '', '2022-07-30 13:52:44', b'0');
  1907 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2011, '品牌更新', 'product:brand:update', 3, 3, 2008, '', '', '', 0, b'1', b'1', '', '2022-07-30 13:52:44', '', '2022-07-30 13:52:44', b'0');
  1908 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2012, '品牌删除', 'product:brand:delete', 3, 4, 2008, '', '', '', 0, b'1', b'1', '', '2022-07-30 13:52:44', '', '2022-07-30 13:52:44', b'0');
  1909 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2014, '商品列表', '', 2, 1, 2000, 'spu', 'list', 'mall/product/spu/index', 0, b'1', b'1', '', '2022-07-30 14:22:58', '1', '2022-10-24 22:29:25', b'0');
  1910 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2015, '商品查询', 'product:spu:query', 3, 1, 2014, '', '', '', 0, b'1', b'1', '', '2022-07-30 14:22:58', '', '2022-07-30 14:22:58', b'0');
  1911 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2016, '商品创建', 'product:spu:create', 3, 2, 2014, '', '', '', 0, b'1', b'1', '', '2022-07-30 14:22:58', '', '2022-07-30 14:22:58', b'0');
  1912 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2017, '商品更新', 'product:spu:update', 3, 3, 2014, '', '', '', 0, b'1', b'1', '', '2022-07-30 14:22:58', '', '2022-07-30 14:22:58', b'0');
  1913 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2018, '商品删除', 'product:spu:delete', 3, 4, 2014, '', '', '', 0, b'1', b'1', '', '2022-07-30 14:22:58', '', '2022-07-30 14:22:58', b'0');
  1914 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2019, '商品属性', '', 2, 3, 2000, 'property', 'eye', 'mall/product/property/index', 0, b'1', b'1', '', '2022-08-01 14:55:35', '1', '2022-12-12 20:58:06', b'0');
  1915 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2020, '规格查询', 'product:property:query', 3, 1, 2019, '', '', '', 0, b'1', b'1', '', '2022-08-01 14:55:35', '', '2022-12-12 20:26:24', b'0');
  1916 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2021, '规格创建', 'product:property:create', 3, 2, 2019, '', '', '', 0, b'1', b'1', '', '2022-08-01 14:55:35', '', '2022-12-12 20:26:30', b'0');
  1917 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2022, '规格更新', 'product:property:update', 3, 3, 2019, '', '', '', 0, b'1', b'1', '', '2022-08-01 14:55:35', '', '2022-12-12 20:26:33', b'0');
  1918 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2023, '规格删除', 'product:property:delete', 3, 4, 2019, '', '', '', 0, b'1', b'1', '', '2022-08-01 14:55:35', '', '2022-12-12 20:26:37', b'0');
  1919 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2025, 'Banner管理', '', 2, 100, 2000, 'banner', '', 'mall/market/banner/index', 0, b'1', b'1', '', '2022-08-01 14:56:14', '1', '2022-10-24 22:29:39', b'0');
  1920 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2026, 'Banner查询', 'market:banner:query', 3, 1, 2025, '', '', '', 0, b'1', b'1', '', '2022-08-01 14:56:14', '', '2022-08-01 14:56:14', b'0');
  1921 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2027, 'Banner创建', 'market:banner:create', 3, 2, 2025, '', '', '', 0, b'1', b'1', '', '2022-08-01 14:56:14', '', '2022-08-01 14:56:14', b'0');
  1922 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2028, 'Banner更新', 'market:banner:update', 3, 3, 2025, '', '', '', 0, b'1', b'1', '', '2022-08-01 14:56:14', '', '2022-08-01 14:56:14', b'0');
  1923 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2029, 'Banner删除', 'market:banner:delete', 3, 4, 2025, '', '', '', 0, b'1', b'1', '', '2022-08-01 14:56:14', '', '2022-08-01 14:56:14', b'0');
  1924 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2030, '营销中心', '', 1, 70, 0, '/promotion', 'rate', NULL, 0, b'1', b'1', '1', '2022-10-31 21:25:09', '1', '2022-10-31 21:25:09', b'0');
  1925 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2032, '优惠劵', '', 2, 2, 2030, 'coupon-template', 'textarea', 'mall/promotion/couponTemplate/index', 0, b'1', b'1', '', '2022-10-31 22:27:14', '1', '2022-11-05 12:27:34', b'0');
  1926 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2033, '优惠劵模板查询', 'promotion:coupon-template:query', 3, 1, 2032, '', '', '', 0, b'1', b'1', '', '2022-10-31 22:27:14', '', '2022-10-31 22:27:14', b'0');
  1927 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2034, '优惠劵模板创建', 'promotion:coupon-template:create', 3, 2, 2032, '', '', '', 0, b'1', b'1', '', '2022-10-31 22:27:14', '', '2022-10-31 22:27:14', b'0');
  1928 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2035, '优惠劵模板更新', 'promotion:coupon-template:update', 3, 3, 2032, '', '', '', 0, b'1', b'1', '', '2022-10-31 22:27:14', '', '2022-10-31 22:27:14', b'0');
  1929 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2036, '优惠劵模板删除', 'promotion:coupon-template:delete', 3, 4, 2032, '', '', '', 0, b'1', b'1', '', '2022-10-31 22:27:14', '', '2022-10-31 22:27:14', b'0');
  1930 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2038, '会员优惠劵', '', 2, 2, 2030, 'coupon', '', 'mall/promotion/coupon/index', 0, b'0', b'1', '', '2022-11-03 23:21:31', '1', '2022-11-05 12:27:45', b'0');
  1931 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2039, '优惠劵查询', 'promotion:coupon:query', 3, 1, 2038, '', '', '', 0, b'1', b'1', '', '2022-11-03 23:21:31', '', '2022-11-03 23:21:31', b'0');
  1932 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2040, '优惠劵删除', 'promotion:coupon:delete', 3, 4, 2038, '', '', '', 0, b'1', b'1', '', '2022-11-03 23:21:31', '', '2022-11-03 23:21:31', b'0');
  1933 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2041, '满减送活动', '', 2, 10, 2030, 'reward-activity', 'radio', 'mall/promotion/rewardActivity/index', 0, b'1', b'1', '', '2022-11-04 23:47:49', '1', '2022-11-05 12:27:56', b'0');
  1934 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2042, '满减送活动查询', 'promotion:reward-activity:query', 3, 1, 2041, '', '', '', 0, b'1', b'1', '', '2022-11-04 23:47:49', '', '2022-11-04 23:47:49', b'0');
  1935 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2043, '满减送活动创建', 'promotion:reward-activity:create', 3, 2, 2041, '', '', '', 0, b'1', b'1', '', '2022-11-04 23:47:49', '', '2022-11-04 23:47:49', b'0');
  1936 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2044, '满减送活动更新', 'promotion:reward-activity:update', 3, 3, 2041, '', '', '', 0, b'1', b'1', '', '2022-11-04 23:47:50', '', '2022-11-04 23:47:50', b'0');
  1937 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2045, '满减送活动删除', 'promotion:reward-activity:delete', 3, 4, 2041, '', '', '', 0, b'1', b'1', '', '2022-11-04 23:47:50', '', '2022-11-04 23:47:50', b'0');
  1938 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2046, '满减送活动关闭', 'promotion:reward-activity:close', 3, 5, 2041, '', '', '', 0, b'1', b'1', '1', '2022-11-05 10:42:53', '1', '2022-11-05 10:42:53', b'0');
  1939 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2047, '限时折扣活动', '', 2, 7, 2030, 'discount-activity', 'time', 'mall/promotion/discountActivity/index', 0, b'1', b'1', '', '2022-11-05 17:12:15', '1', '2022-11-29 22:14:56', b'0');
  1940 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2048, '限时折扣活动查询', 'promotion:discount-activity:query', 3, 1, 2047, '', '', '', 0, b'1', b'1', '', '2022-11-05 17:12:15', '', '2022-11-05 17:12:15', b'0');
  1941 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2049, '限时折扣活动创建', 'promotion:discount-activity:create', 3, 2, 2047, '', '', '', 0, b'1', b'1', '', '2022-11-05 17:12:15', '', '2022-11-05 17:12:15', b'0');
  1942 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2050, '限时折扣活动更新', 'promotion:discount-activity:update', 3, 3, 2047, '', '', '', 0, b'1', b'1', '', '2022-11-05 17:12:16', '', '2022-11-05 17:12:16', b'0');
  1943 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2051, '限时折扣活动删除', 'promotion:discount-activity:delete', 3, 4, 2047, '', '', '', 0, b'1', b'1', '', '2022-11-05 17:12:16', '', '2022-11-05 17:12:16', b'0');
  1944 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2052, '限时折扣活动关闭', 'promotion:discount-activity:close', 3, 5, 2047, '', '', '', 0, b'1', b'1', '', '2022-11-05 17:12:16', '', '2022-11-05 17:12:16', b'0');
  1945 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2059, '秒杀活动管理', '', 2, 0, 2030, 'seckill-activity', 'time-range', 'mall/promotion/seckill/seckillActivity/index', 0, b'1', b'1', '', '2022-11-06 22:24:49', '1', '2022-11-29 22:24:39', b'0');
  1946 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2060, '秒杀活动查询', 'promotion:seckill-activity:query', 3, 1, 2059, '', '', '', 0, b'1', b'1', '', '2022-11-06 22:24:49', '', '2022-11-06 22:24:49', b'0');
  1947 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2061, '秒杀活动创建', 'promotion:seckill-activity:create', 3, 2, 2059, '', '', '', 0, b'1', b'1', '', '2022-11-06 22:24:49', '', '2022-11-06 22:24:49', b'0');
  1948 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2062, '秒杀活动更新', 'promotion:seckill-activity:update', 3, 3, 2059, '', '', '', 0, b'1', b'1', '', '2022-11-06 22:24:49', '', '2022-11-06 22:24:49', b'0');
  1949 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2063, '秒杀活动删除', 'promotion:seckill-activity:delete', 3, 4, 2059, '', '', '', 0, b'1', b'1', '', '2022-11-06 22:24:49', '', '2022-11-06 22:24:49', b'0');
  1950 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2064, '秒杀活动导出', 'promotion:seckill-activity:export', 3, 5, 2059, '', '', '', 0, b'1', b'1', '', '2022-11-06 22:24:49', '', '2022-11-06 22:24:49', b'0');
  1951 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2066, '秒杀时段管理', '', 2, 0, 2030, 'seckill-time', '', 'mall/promotion/seckill/seckillTime/index', 0, b'0', b'1', '', '2022-11-15 19:46:50', '1', '2022-11-29 22:09:03', b'0');
  1952 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2067, '秒杀时段查询', 'promotion:seckill-time:query', 3, 1, 2066, '', '', '', 0, b'1', b'1', '', '2022-11-15 19:46:51', '', '2022-11-15 19:46:51', b'0');
  1953 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2068, '秒杀时段创建', 'promotion:seckill-time:create', 3, 2, 2066, '', '', '', 0, b'1', b'1', '', '2022-11-15 19:46:51', '', '2022-11-15 19:46:51', b'0');
  1954 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2069, '秒杀时段更新', 'promotion:seckill-time:update', 3, 3, 2066, '', '', '', 0, b'1', b'1', '', '2022-11-15 19:46:51', '', '2022-11-15 19:46:51', b'0');
  1955 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2070, '秒杀时段删除', 'promotion:seckill-time:delete', 3, 4, 2066, '', '', '', 0, b'1', b'1', '', '2022-11-15 19:46:51', '', '2022-11-15 19:46:51', b'0');
  1956 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2071, '秒杀时段导出', 'promotion:seckill-time:export', 3, 5, 2066, '', '', '', 0, b'1', b'1', '', '2022-11-15 19:46:51', '', '2022-11-15 19:46:51', b'0');
  1957 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2072, '订单中心', '', 1, 65, 0, '/trade', 'order', NULL, 0, b'1', b'1', '1', '2022-11-19 18:57:19', '1', '2022-12-10 16:32:57', b'0');
  1958 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2073, '售后退款', '', 2, 1, 2072, 'trade/after-sale', 'education', 'mall/trade/afterSale/index', 0, b'1', b'1', '', '2022-11-19 20:15:32', '1', '2022-12-10 21:11:02', b'0');
  1959 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2074, '售后查询', 'trade:after-sale:query', 3, 1, 2073, '', '', '', 0, b'1', b'1', '', '2022-11-19 20:15:33', '1', '2022-12-10 21:04:29', b'0');
  1960 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2075, '秒杀活动关闭', 'promotion:sekill-activity:close', 3, 6, 2059, '', '', '', 0, b'1', b'1', '1', '2022-11-28 20:20:15', '1', '2022-11-28 20:20:15', b'0');
  1961 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2076, '订单列表', '', 2, 0, 2072, 'trade/order', 'list', 'mall/trade/order/index', 0, b'1', b'1', '1', '2022-12-10 21:05:44', '1', '2022-12-10 21:08:44', b'0');
  1962 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2077, '物流公司管理管理', '', 2, 0, 2072, 'express-company', '', 'mall/trade/expressCompany/index', 0, b'1', b'1', '', '2022-12-20 23:27:55', '1', '2022-12-20 23:36:20', b'0');
  1963 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2078, '物流公司管理查询', 'trade:express-company:query', 3, 1, 2077, '', '', '', 0, b'1', b'1', '', '2022-12-20 23:27:55', '', '2022-12-20 23:27:55', b'0');
  1964 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2079, '物流公司管理创建', 'trade:express-company:create', 3, 2, 2077, '', '', '', 0, b'1', b'1', '', '2022-12-20 23:27:55', '', '2022-12-20 23:27:55', b'0');
  1965 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2080, '物流公司管理更新', 'trade:express-company:update', 3, 3, 2077, '', '', '', 0, b'1', b'1', '', '2022-12-20 23:27:55', '', '2022-12-20 23:27:55', b'0');
  1966 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2081, '物流公司管理删除', 'trade:express-company:delete', 3, 4, 2077, '', '', '', 0, b'1', b'1', '', '2022-12-20 23:27:55', '', '2022-12-20 23:27:55', b'0');
  1967 +# INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2082, '物流公司管理导出', 'trade:express-company:export', 3, 5, 2077, '', '', '', 0, b'1', b'1', '', '2022-12-20 23:27:55', '', '2022-12-20 23:27:55', b'0');
  1968 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2083, '地区管理', '', 2, 14, 1, 'area', 'row', 'system/area/index', 0, b'1', b'1', '1', '2022-12-23 17:35:05', '1', '2022-12-23 17:35:48', b'0');
  1969 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2084, '公众号管理', '', 1, 100, 0, '/mp', 'wechat', NULL, 0, b'1', b'1', '1', '2023-01-01 20:11:04', '1', '2023-01-15 11:28:57', b'0');
  1970 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2085, '账号管理', 'mp:account:query', 2, 1, 2084, 'account', 'phone', 'mp/account/index', 0, b'1', b'1', '1', '2023-01-01 20:13:31', '1', '2023-01-01 20:14:39', b'0');
  1971 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2086, '新增账号', 'mp:account:create', 3, 1, 2085, '', '', '', 0, b'1', b'1', '1', '2023-01-01 20:21:40', '1', '2023-01-07 17:32:53', b'0');
  1972 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2087, '修改账号', 'mp:account:update', 3, 2, 2085, '', '', '', 0, b'1', b'1', '1', '2023-01-07 17:32:46', '1', '2023-01-07 17:32:46', b'0');
  1973 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2088, '查询账号', 'mp:account:query', 3, 0, 2085, '', '', '', 0, b'1', b'1', '1', '2023-01-07 17:33:07', '1', '2023-01-07 17:33:07', b'0');
  1974 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2089, '删除账号', 'mp:account:delete', 3, 3, 2085, '', '', '', 0, b'1', b'1', '1', '2023-01-07 17:33:21', '1', '2023-01-07 17:33:21', b'0');
  1975 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2090, '生成二维码', 'mp:account:qr-code', 3, 4, 2085, '', '', '', 0, b'1', b'1', '1', '2023-01-07 17:33:58', '1', '2023-01-07 17:33:58', b'0');
  1976 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2091, '清空 API 配额', 'mp:account:clear-quota', 3, 5, 2085, '', '', '', 0, b'1', b'1', '1', '2023-01-07 18:20:32', '1', '2023-01-07 18:20:59', b'0');
  1977 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2092, '数据统计', 'mp:statistics:query', 2, 2, 2084, 'statistics', 'chart', 'mp/statistics/index', 0, b'1', b'1', '1', '2023-01-07 20:17:36', '1', '2023-01-07 20:17:36', b'0');
  1978 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2093, '标签管理', '', 2, 3, 2084, 'tag', 'rate', 'mp/tag/index', 0, b'1', b'1', '1', '2023-01-08 11:37:32', '1', '2023-01-08 11:37:40', b'0');
  1979 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2094, '查询标签', 'mp:tag:query', 3, 0, 2093, '', '', '', 0, b'1', b'1', '1', '2023-01-08 11:59:03', '1', '2023-01-08 11:59:03', b'0');
  1980 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2095, '新增标签', 'mp:tag:create', 3, 1, 2093, '', '', '', 0, b'1', b'1', '1', '2023-01-08 11:59:23', '1', '2023-01-08 11:59:23', b'0');
  1981 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2096, '修改标签', 'mp:tag:update', 3, 2, 2093, '', '', '', 0, b'1', b'1', '1', '2023-01-08 11:59:41', '1', '2023-01-08 11:59:41', b'0');
  1982 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2097, '删除标签', 'mp:tag:delete', 3, 3, 2093, '', '', '', 0, b'1', b'1', '1', '2023-01-08 12:00:04', '1', '2023-01-08 12:00:13', b'0');
  1983 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2098, '同步标签', 'mp:tag:sync', 3, 4, 2093, '', '', '', 0, b'1', b'1', '1', '2023-01-08 12:00:29', '1', '2023-01-08 12:00:29', b'0');
  1984 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2099, '粉丝管理', '', 2, 4, 2084, 'mpuser', 'people', 'mp/mpuser/index', 0, b'1', b'1', '1', '2023-01-08 16:51:20', '1', '2023-01-08 16:56:19', b'0');
  1985 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2100, '查询粉丝', 'mp:user:query', 3, 0, 2099, '', '', '', 0, b'1', b'1', '1', '2023-01-08 17:16:59', '1', '2023-01-08 17:17:23', b'0');
  1986 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2101, '修改粉丝', 'mp:user:update', 3, 1, 2099, '', '', '', 0, b'1', b'1', '1', '2023-01-08 17:17:11', '1', '2023-01-08 17:17:11', b'0');
  1987 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2102, '同步粉丝', 'mp:user:sync', 3, 2, 2099, '', '', '', 0, b'1', b'1', '1', '2023-01-08 17:17:40', '1', '2023-01-08 17:17:40', b'0');
  1988 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2103, '消息管理', '', 2, 5, 2084, 'message', 'email', 'mp/message/index', 0, b'1', b'1', '1', '2023-01-08 18:44:19', '1', '2023-01-08 18:44:19', b'0');
  1989 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2104, '图文发表记录', '', 2, 10, 2084, 'free-publish', 'education', 'mp/freePublish/index', 0, b'1', b'1', '1', '2023-01-13 00:30:50', '1', '2023-01-13 00:30:50', b'0');
  1990 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2105, '查询发布列表', 'mp:free-publish:query', 3, 1, 2104, '', '', '', 0, b'1', b'1', '1', '2023-01-13 07:19:17', '1', '2023-01-13 07:19:17', b'0');
  1991 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2106, '发布草稿', 'mp:free-publish:submit', 3, 2, 2104, '', '', '', 0, b'1', b'1', '1', '2023-01-13 07:19:46', '1', '2023-01-13 07:19:46', b'0');
  1992 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2107, '删除发布记录', 'mp:free-publish:delete', 3, 3, 2104, '', '', '', 0, b'1', b'1', '1', '2023-01-13 07:20:01', '1', '2023-01-13 07:20:01', b'0');
  1993 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2108, '图文草稿箱', '', 2, 9, 2084, 'draft', 'edit', 'mp/draft/index', 0, b'1', b'1', '1', '2023-01-13 07:40:21', '1', '2023-01-13 07:40:21', b'0');
  1994 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2109, '新建草稿', 'mp:draft:create', 3, 1, 2108, '', '', '', 0, b'1', b'1', '1', '2023-01-13 23:15:30', '1', '2023-01-13 23:15:44', b'0');
  1995 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2110, '修改草稿', 'mp:draft:update', 3, 2, 2108, '', '', '', 0, b'1', b'1', '1', '2023-01-14 10:08:47', '1', '2023-01-14 10:08:47', b'0');
  1996 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2111, '查询草稿', 'mp:draft:query', 3, 0, 2108, '', '', '', 0, b'1', b'1', '1', '2023-01-14 10:09:01', '1', '2023-01-14 10:09:01', b'0');
  1997 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2112, '删除草稿', 'mp:draft:delete', 3, 3, 2108, '', '', '', 0, b'1', b'1', '1', '2023-01-14 10:09:19', '1', '2023-01-14 10:09:19', b'0');
  1998 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2113, '素材管理', '', 2, 8, 2084, 'material', 'skill', 'mp/material/index', 0, b'1', b'1', '1', '2023-01-14 14:12:07', '1', '2023-01-14 14:13:03', b'0');
  1999 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2114, '上传临时素材', 'mp:material:upload-temporary', 3, 1, 2113, '', '', '', 0, b'1', b'1', '1', '2023-01-14 15:33:55', '1', '2023-01-14 15:33:55', b'0');
  2000 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2115, '上传永久素材', 'mp:material:upload-permanent', 3, 2, 2113, '', '', '', 0, b'1', b'1', '1', '2023-01-14 15:34:14', '1', '2023-01-14 15:34:14', b'0');
  2001 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2116, '删除素材', 'mp:material:delete', 3, 3, 2113, '', '', '', 0, b'1', b'1', '1', '2023-01-14 15:35:37', '1', '2023-01-14 15:35:37', b'0');
  2002 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2117, '上传图文图片', 'mp:material:upload-news-image', 3, 4, 2113, '', '', '', 0, b'1', b'1', '1', '2023-01-14 15:36:31', '1', '2023-01-14 15:36:31', b'0');
  2003 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2118, '查询素材', 'mp:material:query', 3, 5, 2113, '', '', '', 0, b'1', b'1', '1', '2023-01-14 15:39:22', '1', '2023-01-14 15:39:22', b'0');
  2004 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2119, '菜单管理', '', 2, 6, 2084, 'menu', 'button', 'mp/menu/index', 0, b'1', b'1', '1', '2023-01-14 17:43:54', '1', '2023-01-14 17:43:54', b'0');
  2005 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2120, '自动回复', '', 2, 7, 2084, 'auto-reply', 'eye', 'mp/autoReply/index', 0, b'1', b'1', '1', '2023-01-15 22:13:09', '1', '2023-01-15 22:13:09', b'0');
  2006 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2121, '查询回复', 'mp:auto-reply:query', 3, 0, 2120, '', '', '', 0, b'1', b'1', '1', '2023-01-16 22:28:41', '1', '2023-01-16 22:28:41', b'0');
  2007 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2122, '新增回复', 'mp:auto-reply:create', 3, 1, 2120, '', '', '', 0, b'1', b'1', '1', '2023-01-16 22:28:54', '1', '2023-01-16 22:28:54', b'0');
  2008 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2123, '修改回复', 'mp:auto-reply:update', 3, 2, 2120, '', '', '', 0, b'1', b'1', '1', '2023-01-16 22:29:05', '1', '2023-01-16 22:29:05', b'0');
  2009 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2124, '删除回复', 'mp:auto-reply:delete', 3, 3, 2120, '', '', '', 0, b'1', b'1', '1', '2023-01-16 22:29:34', '1', '2023-01-16 22:29:34', b'0');
  2010 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2125, '查询菜单', 'mp:menu:query', 3, 0, 2119, '', '', '', 0, b'1', b'1', '1', '2023-01-17 23:05:41', '1', '2023-01-17 23:05:41', b'0');
  2011 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2126, '保存菜单', 'mp:menu:save', 3, 1, 2119, '', '', '', 0, b'1', b'1', '1', '2023-01-17 23:06:01', '1', '2023-01-17 23:06:01', b'0');
  2012 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2127, '删除菜单', 'mp:menu:delete', 3, 2, 2119, '', '', '', 0, b'1', b'1', '1', '2023-01-17 23:06:16', '1', '2023-01-17 23:06:16', b'0');
  2013 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2128, '查询消息', 'mp:message:query', 3, 0, 2103, '', '', '', 0, b'1', b'1', '1', '2023-01-17 23:07:14', '1', '2023-01-17 23:07:14', b'0');
  2014 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2129, '发送消息', 'mp:message:send', 3, 1, 2103, '', '', '', 0, b'1', b'1', '1', '2023-01-17 23:07:26', '1', '2023-01-17 23:07:26', b'0');
  2015 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2130, '邮箱管理', '', 2, 11, 1, 'mail', 'email', NULL, 0, b'1', b'1', '1', '2023-01-25 17:27:44', '1', '2023-01-25 17:27:44', b'0');
  2016 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2131, '邮箱账号', '', 2, 0, 2130, 'mail-account', 'user', 'system/mail/account/index', 0, b'1', b'1', '', '2023-01-25 09:33:48', '1', '2023-01-26 16:37:37', b'0');
  2017 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2132, '账号查询', 'system:mail-account:query', 3, 1, 2131, '', '', '', 0, b'1', b'1', '', '2023-01-25 09:33:48', '', '2023-01-25 09:33:48', b'0');
  2018 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2133, '账号创建', 'system:mail-account:create', 3, 2, 2131, '', '', '', 0, b'1', b'1', '', '2023-01-25 09:33:48', '', '2023-01-25 09:33:48', b'0');
  2019 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2134, '账号更新', 'system:mail-account:update', 3, 3, 2131, '', '', '', 0, b'1', b'1', '', '2023-01-25 09:33:48', '', '2023-01-25 09:33:48', b'0');
  2020 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2135, '账号删除', 'system:mail-account:delete', 3, 4, 2131, '', '', '', 0, b'1', b'1', '', '2023-01-25 09:33:48', '', '2023-01-25 09:33:48', b'0');
  2021 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2136, '邮件模版', '', 2, 0, 2130, 'mail-template', 'education', 'system/mail/template/index', 0, b'1', b'1', '', '2023-01-25 12:05:31', '1', '2023-01-26 16:38:35', b'0');
  2022 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2137, '模版查询', 'system:mail-template:query', 3, 1, 2136, '', '', '', 0, b'1', b'1', '', '2023-01-25 12:05:31', '', '2023-01-25 12:05:31', b'0');
  2023 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2138, '模版创建', 'system:mail-template:create', 3, 2, 2136, '', '', '', 0, b'1', b'1', '', '2023-01-25 12:05:31', '', '2023-01-25 12:05:31', b'0');
  2024 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2139, '模版更新', 'system:mail-template:update', 3, 3, 2136, '', '', '', 0, b'1', b'1', '', '2023-01-25 12:05:31', '', '2023-01-25 12:05:31', b'0');
  2025 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2140, '模版删除', 'system:mail-template:delete', 3, 4, 2136, '', '', '', 0, b'1', b'1', '', '2023-01-25 12:05:31', '', '2023-01-25 12:05:31', b'0');
  2026 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2141, '邮件记录', '', 2, 0, 2130, 'mail-log', 'log', 'system/mail/log/index', 0, b'1', b'1', '', '2023-01-26 02:16:50', '1', '2023-01-26 16:38:27', b'0');
  2027 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2142, '日志查询', 'system:mail-log:query', 3, 1, 2141, '', '', '', 0, b'1', b'1', '', '2023-01-26 02:16:50', '', '2023-01-26 02:16:50', b'0');
  2028 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2143, '发送测试邮件', 'system:mail-template:send-mail', 3, 5, 2136, '', '', '', 0, b'1', b'1', '1', '2023-01-26 23:29:15', '1', '2023-01-26 23:29:15', b'0');
  2029 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2144, '站内信管理', '', 1, 11, 1, 'notify', 'message', NULL, 0, b'1', b'1', '1', '2023-01-28 10:25:18', '1', '2023-01-28 10:25:46', b'0');
  2030 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2145, '模板管理', '', 2, 0, 2144, 'notify-template', 'education', 'system/notify/template/index', 0, b'1', b'1', '', '2023-01-28 02:26:42', '1', '2023-01-28 10:27:47', b'0');
  2031 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2146, '站内信模板查询', 'system:notify-template:query', 3, 1, 2145, '', '', '', 0, b'1', b'1', '', '2023-01-28 02:26:42', '', '2023-01-28 02:26:42', b'0');
  2032 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2147, '站内信模板创建', 'system:notify-template:create', 3, 2, 2145, '', '', '', 0, b'1', b'1', '', '2023-01-28 02:26:42', '', '2023-01-28 02:26:42', b'0');
  2033 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2148, '站内信模板更新', 'system:notify-template:update', 3, 3, 2145, '', '', '', 0, b'1', b'1', '', '2023-01-28 02:26:42', '', '2023-01-28 02:26:42', b'0');
  2034 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2149, '站内信模板删除', 'system:notify-template:delete', 3, 4, 2145, '', '', '', 0, b'1', b'1', '', '2023-01-28 02:26:42', '', '2023-01-28 02:26:42', b'0');
  2035 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2150, '发送测试站内信', 'system:notify-template:send-notify', 3, 5, 2145, '', '', '', 0, b'1', b'1', '1', '2023-01-28 10:54:43', '1', '2023-01-28 10:54:43', b'0');
  2036 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2151, '消息记录', '', 2, 0, 2144, 'notify-message', 'edit', 'system/notify/message/index', 0, b'1', b'1', '', '2023-01-28 04:28:22', '1', '2023-01-28 20:59:53', b'0');
  2037 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2152, '站内信消息查询', 'system:notify-message:query', 3, 1, 2151, '', '', '', 0, b'1', b'1', '', '2023-01-28 04:28:22', '', '2023-01-28 04:28:22', b'0');
1715 COMMIT; 2038 COMMIT;
1716 2039
1717 -- ---------------------------- 2040 -- ----------------------------
@@ -1743,6 +2066,72 @@ INSERT INTO `system_notice` (`id`, `title`, `content`, `type`, `status`, `creato @@ -1743,6 +2066,72 @@ INSERT INTO `system_notice` (`id`, `title`, `content`, `type`, `status`, `creato
1743 COMMIT; 2066 COMMIT;
1744 2067
1745 -- ---------------------------- 2068 -- ----------------------------
  2069 +-- Table structure for system_notify_message
  2070 +-- ----------------------------
  2071 +DROP TABLE IF EXISTS `system_notify_message`;
  2072 +CREATE TABLE `system_notify_message` (
  2073 + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  2074 + `user_id` bigint NOT NULL COMMENT '用户id',
  2075 + `user_type` tinyint NOT NULL COMMENT '用户类型',
  2076 + `template_id` bigint NOT NULL COMMENT '模版编号',
  2077 + `template_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板编码',
  2078 + `template_nickname` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模版发送人名称',
  2079 + `template_content` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模版内容',
  2080 + `template_type` int NOT NULL COMMENT '模版类型',
  2081 + `template_params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模版参数',
  2082 + `read_status` bit(1) NOT NULL COMMENT '是否已读',
  2083 + `read_time` datetime NULL DEFAULT NULL COMMENT '阅读时间',
  2084 + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
  2085 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  2086 + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
  2087 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  2088 + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  2089 + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
  2090 + PRIMARY KEY (`id`) USING BTREE
  2091 +) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '站内信消息表';
  2092 +
  2093 +-- ----------------------------
  2094 +-- Records of system_notify_message
  2095 +-- ----------------------------
  2096 +BEGIN;
  2097 +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2, 1, 2, 1, 'test', '123', '我是 1,我开始 2 了', 1, '{\"name\":\"1\",\"what\":\"2\"}', b'0', '2023-01-28 21:06:10', '1', '2023-01-28 11:44:08', '1', '2023-01-29 02:51:50', b'0', 1);
  2098 +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (3, 1, 2, 1, 'test', '123', '我是 1,我开始 2 了', 1, '{\"name\":\"1\",\"what\":\"2\"}', b'0', '2023-01-29 10:34:13', '1', '2023-01-28 11:45:04', '1', '2023-01-29 02:51:52', b'0', 1);
  2099 +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (4, 103, 2, 2, 'register', '系统消息', '你好,欢迎 哈哈 加入大家庭!', 2, '{\"name\":\"哈哈\"}', b'0', NULL, '1', '2023-01-28 21:02:20', '1', '2023-01-28 21:02:20', b'0', 1);
  2100 +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (5, 1, 2, 1, 'test', '123', '我是 芋艿,我开始 写代码 了', 1, '{\"name\":\"芋艿\",\"what\":\"写代码\"}', b'0', '2023-01-29 10:41:45', '1', '2023-01-28 22:21:42', '1', '2023-01-29 02:51:54', b'0', 1);
  2101 +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (6, 1, 2, 1, 'test', '123', '我是 芋艿,我开始 写代码 了', 1, '{\"name\":\"芋艿\",\"what\":\"写代码\"}', b'1', '2023-01-29 10:52:06', '1', '2023-01-28 22:22:07', '1', '2023-01-29 10:52:06', b'0', 1);
  2102 +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (7, 1, 2, 1, 'test', '123', '我是 2,我开始 3 了', 1, '{\"name\":\"2\",\"what\":\"3\"}', b'1', '2023-01-29 10:52:06', '1', '2023-01-28 23:45:21', '1', '2023-01-29 10:52:06', b'0', 1);
  2103 +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (8, 1, 2, 2, 'register', '系统消息', '你好,欢迎 123 加入大家庭!', 2, '{\"name\":\"123\"}', b'1', '2023-01-29 10:52:06', '1', '2023-01-28 23:50:21', '1', '2023-01-29 10:52:06', b'0', 1);
  2104 +COMMIT;
  2105 +
  2106 +-- ----------------------------
  2107 +-- Table structure for system_notify_template
  2108 +-- ----------------------------
  2109 +DROP TABLE IF EXISTS `system_notify_template`;
  2110 +CREATE TABLE `system_notify_template` (
  2111 + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  2112 + `name` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板名称',
  2113 + `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模版编码',
  2114 + `nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '发送人名称',
  2115 + `content` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模版内容',
  2116 + `type` tinyint NOT NULL COMMENT '类型',
  2117 + `params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '参数数组',
  2118 + `status` tinyint NOT NULL COMMENT '状态',
  2119 + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
  2120 + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
  2121 + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  2122 + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
  2123 + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  2124 + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  2125 + PRIMARY KEY (`id`) USING BTREE
  2126 +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '站内信模板表';
  2127 +
  2128 +-- ----------------------------
  2129 +-- Records of system_notify_template
  2130 +-- ----------------------------
  2131 +BEGIN;
  2132 +COMMIT;
  2133 +
  2134 +-- ----------------------------
1746 -- Table structure for system_oauth2_access_token 2135 -- Table structure for system_oauth2_access_token
1747 -- ---------------------------- 2136 -- ----------------------------
1748 DROP TABLE IF EXISTS `system_oauth2_access_token`; 2137 DROP TABLE IF EXISTS `system_oauth2_access_token`;
@@ -1762,7 +2151,7 @@ CREATE TABLE `system_oauth2_access_token` ( @@ -1762,7 +2151,7 @@ CREATE TABLE `system_oauth2_access_token` (
1762 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 2151 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1763 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 2152 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
1764 PRIMARY KEY (`id`) USING BTREE 2153 PRIMARY KEY (`id`) USING BTREE
1765 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 访问令牌'; 2154 +) ENGINE = InnoDB AUTO_INCREMENT = 1249 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 访问令牌';
1766 2155
1767 -- ---------------------------- 2156 -- ----------------------------
1768 -- Records of system_oauth2_access_token 2157 -- Records of system_oauth2_access_token
@@ -1789,7 +2178,7 @@ CREATE TABLE `system_oauth2_approve` ( @@ -1789,7 +2178,7 @@ CREATE TABLE `system_oauth2_approve` (
1789 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 2178 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1790 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 2179 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
1791 PRIMARY KEY (`id`) USING BTREE 2180 PRIMARY KEY (`id`) USING BTREE
1792 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 批准表'; 2181 +) ENGINE = InnoDB AUTO_INCREMENT = 82 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 批准表';
1793 2182
1794 -- ---------------------------- 2183 -- ----------------------------
1795 -- Records of system_oauth2_approve 2184 -- Records of system_oauth2_approve
@@ -1824,7 +2213,7 @@ CREATE TABLE `system_oauth2_client` ( @@ -1824,7 +2213,7 @@ CREATE TABLE `system_oauth2_client` (
1824 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 2213 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
1825 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 2214 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1826 PRIMARY KEY (`id`) USING BTREE 2215 PRIMARY KEY (`id`) USING BTREE
1827 -) ENGINE = InnoDB AUTO_INCREMENT = 41 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 客户端表'; 2216 +) ENGINE = InnoDB AUTO_INCREMENT = 43 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 客户端表';
1828 2217
1829 -- ---------------------------- 2218 -- ----------------------------
1830 -- Records of system_oauth2_client 2219 -- Records of system_oauth2_client
@@ -1832,6 +2221,8 @@ CREATE TABLE `system_oauth2_client` ( @@ -1832,6 +2221,8 @@ CREATE TABLE `system_oauth2_client` (
1832 BEGIN; 2221 BEGIN;
1833 INSERT INTO `system_oauth2_client` (`id`, `client_id`, `secret`, `name`, `logo`, `description`, `status`, `access_token_validity_seconds`, `refresh_token_validity_seconds`, `redirect_uris`, `authorized_grant_types`, `scopes`, `auto_approve_scopes`, `authorities`, `resource_ids`, `additional_information`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1, 'default', 'admin123', '芋道源码', 'http://test.yudao.iocoder.cn/a5e2e244368878a366b516805a4aabf1.png', '我是描述', 0, 1800, 43200, '[\"https://www.iocoder.cn\",\"https://doc.iocoder.cn\"]', '[\"password\",\"authorization_code\",\"implicit\",\"refresh_token\"]', '[\"user.read\",\"user.write\"]', '[]', '[\"user.read\",\"user.write\"]', '[]', '{}', '1', '2022-05-11 21:47:12', '1', '2022-07-05 16:23:52', b'0'); 2222 INSERT INTO `system_oauth2_client` (`id`, `client_id`, `secret`, `name`, `logo`, `description`, `status`, `access_token_validity_seconds`, `refresh_token_validity_seconds`, `redirect_uris`, `authorized_grant_types`, `scopes`, `auto_approve_scopes`, `authorities`, `resource_ids`, `additional_information`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1, 'default', 'admin123', '芋道源码', 'http://test.yudao.iocoder.cn/a5e2e244368878a366b516805a4aabf1.png', '我是描述', 0, 1800, 43200, '[\"https://www.iocoder.cn\",\"https://doc.iocoder.cn\"]', '[\"password\",\"authorization_code\",\"implicit\",\"refresh_token\"]', '[\"user.read\",\"user.write\"]', '[]', '[\"user.read\",\"user.write\"]', '[]', '{}', '1', '2022-05-11 21:47:12', '1', '2022-07-05 16:23:52', b'0');
1834 INSERT INTO `system_oauth2_client` (`id`, `client_id`, `secret`, `name`, `logo`, `description`, `status`, `access_token_validity_seconds`, `refresh_token_validity_seconds`, `redirect_uris`, `authorized_grant_types`, `scopes`, `auto_approve_scopes`, `authorities`, `resource_ids`, `additional_information`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (40, 'test', 'test2', 'biubiu', 'http://test.yudao.iocoder.cn/277a899d573723f1fcdfb57340f00379.png', NULL, 0, 1800, 43200, '[\"https://www.iocoder.cn\"]', '[\"password\",\"authorization_code\",\"implicit\"]', '[\"user_info\",\"projects\"]', '[\"user_info\"]', '[]', '[]', '{}', '1', '2022-05-12 00:28:20', '1', '2022-06-19 00:26:13', b'0'); 2223 INSERT INTO `system_oauth2_client` (`id`, `client_id`, `secret`, `name`, `logo`, `description`, `status`, `access_token_validity_seconds`, `refresh_token_validity_seconds`, `redirect_uris`, `authorized_grant_types`, `scopes`, `auto_approve_scopes`, `authorities`, `resource_ids`, `additional_information`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (40, 'test', 'test2', 'biubiu', 'http://test.yudao.iocoder.cn/277a899d573723f1fcdfb57340f00379.png', NULL, 0, 1800, 43200, '[\"https://www.iocoder.cn\"]', '[\"password\",\"authorization_code\",\"implicit\"]', '[\"user_info\",\"projects\"]', '[\"user_info\"]', '[]', '[]', '{}', '1', '2022-05-12 00:28:20', '1', '2022-06-19 00:26:13', b'0');
  2224 +INSERT INTO `system_oauth2_client` (`id`, `client_id`, `secret`, `name`, `logo`, `description`, `status`, `access_token_validity_seconds`, `refresh_token_validity_seconds`, `redirect_uris`, `authorized_grant_types`, `scopes`, `auto_approve_scopes`, `authorities`, `resource_ids`, `additional_information`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (41, 'yudao-sso-demo-by-code', 'test', '基于授权码模式,如何实现 SSO 单点登录?', 'http://test.yudao.iocoder.cn/fe4ed36596adad5120036ef61a6d0153654544d44af8dd4ad3ffe8f759933d6f.png', NULL, 0, 1800, 43200, '[\"http://127.0.0.1:18080\"]', '[\"authorization_code\",\"refresh_token\"]', '[\"user.read\",\"user.write\"]', '[]', '[]', '[]', NULL, '1', '2022-09-29 13:28:31', '1', '2022-09-29 13:28:31', b'0');
  2225 +INSERT INTO `system_oauth2_client` (`id`, `client_id`, `secret`, `name`, `logo`, `description`, `status`, `access_token_validity_seconds`, `refresh_token_validity_seconds`, `redirect_uris`, `authorized_grant_types`, `scopes`, `auto_approve_scopes`, `authorities`, `resource_ids`, `additional_information`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (42, 'yudao-sso-demo-by-password', 'test', '基于密码模式,如何实现 SSO 单点登录?', 'http://test.yudao.iocoder.cn/604bdc695e13b3b22745be704d1f2aa8ee05c5f26f9fead6d1ca49005afbc857.jpeg', NULL, 0, 1800, 43200, '[\"http://127.0.0.1:18080\"]', '[\"password\",\"refresh_token\"]', '[\"user.read\",\"user.write\"]', '[]', '[]', '[]', NULL, '1', '2022-10-04 17:40:16', '1', '2022-10-04 20:31:21', b'0');
1835 COMMIT; 2226 COMMIT;
1836 2227
1837 -- ---------------------------- 2228 -- ----------------------------
@@ -1855,7 +2246,7 @@ CREATE TABLE `system_oauth2_code` ( @@ -1855,7 +2246,7 @@ CREATE TABLE `system_oauth2_code` (
1855 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 2246 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1856 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 2247 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
1857 PRIMARY KEY (`id`) USING BTREE 2248 PRIMARY KEY (`id`) USING BTREE
1858 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 授权码表'; 2249 +) ENGINE = InnoDB AUTO_INCREMENT = 143 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 授权码表';
1859 2250
1860 -- ---------------------------- 2251 -- ----------------------------
1861 -- Records of system_oauth2_code 2252 -- Records of system_oauth2_code
@@ -1882,7 +2273,7 @@ CREATE TABLE `system_oauth2_refresh_token` ( @@ -1882,7 +2273,7 @@ CREATE TABLE `system_oauth2_refresh_token` (
1882 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 2273 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1883 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 2274 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
1884 PRIMARY KEY (`id`) USING BTREE 2275 PRIMARY KEY (`id`) USING BTREE
1885 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '刷新令牌'; 2276 +) ENGINE = InnoDB AUTO_INCREMENT = 593 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 刷新令牌';
1886 2277
1887 -- ---------------------------- 2278 -- ----------------------------
1888 -- Records of system_oauth2_refresh_token 2279 -- Records of system_oauth2_refresh_token
@@ -1922,7 +2313,7 @@ CREATE TABLE `system_operate_log` ( @@ -1922,7 +2313,7 @@ CREATE TABLE `system_operate_log` (
1922 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 2313 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1923 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 2314 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
1924 PRIMARY KEY (`id`) USING BTREE 2315 PRIMARY KEY (`id`) USING BTREE
1925 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '操作日志记录'; 2316 +) ENGINE = InnoDB AUTO_INCREMENT = 4245 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '操作日志记录';
1926 2317
1927 -- ---------------------------- 2318 -- ----------------------------
1928 -- Records of system_operate_log 2319 -- Records of system_operate_log
@@ -1980,7 +2371,7 @@ CREATE TABLE `system_role` ( @@ -1980,7 +2371,7 @@ CREATE TABLE `system_role` (
1980 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 2371 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1981 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 2372 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
1982 PRIMARY KEY (`id`) USING BTREE 2373 PRIMARY KEY (`id`) USING BTREE
1983 -) ENGINE = InnoDB AUTO_INCREMENT = 114 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '角色信息表'; 2374 +) ENGINE = InnoDB AUTO_INCREMENT = 119 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '角色信息表';
1984 2375
1985 -- ---------------------------- 2376 -- ----------------------------
1986 -- Records of system_role 2377 -- Records of system_role
@@ -1988,11 +2379,15 @@ CREATE TABLE `system_role` ( @@ -1988,11 +2379,15 @@ CREATE TABLE `system_role` (
1988 BEGIN; 2379 BEGIN;
1989 INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, '超级管理员', 'super_admin', 1, 1, '', 0, 1, '超级管理员', 'admin', '2021-01-05 17:03:48', '', '2022-02-22 05:08:21', b'0', 1); 2380 INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, '超级管理员', 'super_admin', 1, 1, '', 0, 1, '超级管理员', 'admin', '2021-01-05 17:03:48', '', '2022-02-22 05:08:21', b'0', 1);
1990 INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2, '普通角色', 'common', 2, 2, '', 0, 1, '普通角色', 'admin', '2021-01-05 17:03:48', '', '2022-02-22 05:08:20', b'0', 1); 2381 INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2, '普通角色', 'common', 2, 2, '', 0, 1, '普通角色', 'admin', '2021-01-05 17:03:48', '', '2022-02-22 05:08:20', b'0', 1);
1991 -INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (101, '测试账号', 'test', 0, 1, '[]', 0, 2, '132', '', '2021-01-06 13:49:35', '1', '2022-06-18 23:59:29', b'0', 1); 2382 +INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (101, '测试账号', 'test', 0, 1, '[]', 0, 2, '132', '', '2021-01-06 13:49:35', '1', '2022-09-25 12:09:38', b'0', 1);
1992 INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (109, '租户管理员', 'tenant_admin', 0, 1, '', 0, 1, '系统自动生成', '1', '2022-02-22 00:56:14', '1', '2022-02-22 00:56:14', b'0', 121); 2383 INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (109, '租户管理员', 'tenant_admin', 0, 1, '', 0, 1, '系统自动生成', '1', '2022-02-22 00:56:14', '1', '2022-02-22 00:56:14', b'0', 121);
1993 INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (110, '测试角色', 'test', 0, 1, '[]', 0, 2, '嘿嘿', '110', '2022-02-23 00:14:34', '110', '2022-02-23 13:14:58', b'0', 121); 2384 INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (110, '测试角色', 'test', 0, 1, '[]', 0, 2, '嘿嘿', '110', '2022-02-23 00:14:34', '110', '2022-02-23 13:14:58', b'0', 121);
1994 INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (111, '租户管理员', 'tenant_admin', 0, 1, '', 0, 1, '系统自动生成', '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); 2385 INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (111, '租户管理员', 'tenant_admin', 0, 1, '', 0, 1, '系统自动生成', '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);
1995 INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (113, '租户管理员', 'tenant_admin', 0, 1, '', 0, 1, '系统自动生成', '1', '2022-05-17 10:07:10', '1', '2022-05-17 10:07:10', b'0', 124); 2386 INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (113, '租户管理员', 'tenant_admin', 0, 1, '', 0, 1, '系统自动生成', '1', '2022-05-17 10:07:10', '1', '2022-05-17 10:07:10', b'0', 124);
  2387 +INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (114, '租户管理员', 'tenant_admin', 0, 1, '', 0, 1, '系统自动生成', '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2388 +INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (115, '租户管理员', 'tenant_admin', 0, 1, '', 0, 1, '系统自动生成', '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2389 +INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (116, '租户管理员', 'tenant_admin', 0, 1, '', 0, 1, '系统自动生成', '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2390 +INSERT INTO `system_role` (`id`, `name`, `code`, `sort`, `data_scope`, `data_scope_dept_ids`, `status`, `type`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (118, '租户管理员', 'tenant_admin', 0, 1, '', 0, 1, '系统自动生成', '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
1996 COMMIT; 2391 COMMIT;
1997 2392
1998 -- ---------------------------- 2393 -- ----------------------------
@@ -2010,7 +2405,7 @@ CREATE TABLE `system_role_menu` ( @@ -2010,7 +2405,7 @@ CREATE TABLE `system_role_menu` (
2010 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 2405 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
2011 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 2406 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
2012 PRIMARY KEY (`id`) USING BTREE 2407 PRIMARY KEY (`id`) USING BTREE
2013 -) ENGINE = InnoDB AUTO_INCREMENT = 1729 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '角色和菜单关联表'; 2408 +) ENGINE = InnoDB AUTO_INCREMENT = 2185 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '角色和菜单关联表';
2014 2409
2015 -- ---------------------------- 2410 -- ----------------------------
2016 -- Records of system_role_menu 2411 -- Records of system_role_menu
@@ -2051,8 +2446,6 @@ INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_t @@ -2051,8 +2446,6 @@ INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_t
2051 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (706, 2, 112, '1', '2022-02-22 13:16:57', '1', '2022-02-22 13:16:57', b'0', 1); 2446 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (706, 2, 112, '1', '2022-02-22 13:16:57', '1', '2022-02-22 13:16:57', b'0', 1);
2052 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (707, 2, 113, '1', '2022-02-22 13:16:57', '1', '2022-02-22 13:16:57', b'0', 1); 2447 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (707, 2, 113, '1', '2022-02-22 13:16:57', '1', '2022-02-22 13:16:57', b'0', 1);
2053 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1296, 110, 1, '110', '2022-02-23 00:23:55', '110', '2022-02-23 00:23:55', b'0', 121); 2448 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1296, 110, 1, '110', '2022-02-23 00:23:55', '110', '2022-02-23 00:23:55', b'0', 121);
2054 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1486, 109, 103, '1', '2022-02-23 19:32:14', '1', '2022-02-23 19:32:14', b'0', 121);  
2055 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1487, 109, 104, '1', '2022-02-23 19:32:14', '1', '2022-02-23 19:32:14', b'0', 121);  
2056 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1489, 1, 1, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1); 2449 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1489, 1, 1, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
2057 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1490, 1, 2, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1); 2450 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1490, 1, 2, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
2058 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1494, 1, 1077, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1); 2451 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1494, 1, 1077, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
@@ -2086,37 +2479,7 @@ INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_t @@ -2086,37 +2479,7 @@ INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_t
2086 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1526, 1, 1225, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1); 2479 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1526, 1, 1225, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
2087 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1527, 1, 500, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1); 2480 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1527, 1, 500, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
2088 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1528, 1, 501, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1); 2481 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1528, 1, 501, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1);
2089 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1529, 109, 1024, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121);  
2090 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1530, 109, 1025, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121);  
2091 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1536, 109, 1017, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121);  
2092 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1537, 109, 1018, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121);  
2093 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1538, 109, 1019, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121);  
2094 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1539, 109, 1020, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121);  
2095 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1540, 109, 1021, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121);  
2096 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1541, 109, 1022, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121);  
2097 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1542, 109, 1023, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121);  
2098 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1576, 111, 1024, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);  
2099 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1577, 111, 1025, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);  
2100 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1578, 111, 1, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); 2482 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1578, 111, 1, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);
2101 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1584, 111, 103, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);  
2102 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1585, 111, 104, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);  
2103 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1587, 111, 1017, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);  
2104 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1588, 111, 1018, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);  
2105 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1589, 111, 1019, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);  
2106 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1590, 111, 1020, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);  
2107 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1591, 111, 1021, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);  
2108 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1592, 111, 1022, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);  
2109 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1593, 111, 1023, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);  
2110 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1594, 109, 102, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 121);  
2111 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1595, 109, 1013, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 121);  
2112 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1596, 109, 1014, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 121);  
2113 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1597, 109, 1015, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 121);  
2114 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1598, 109, 1016, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 121);  
2115 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1599, 111, 102, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 122);  
2116 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1600, 111, 1013, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 122);  
2117 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1601, 111, 1014, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 122);  
2118 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1602, 111, 1015, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 122);  
2119 -INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1603, 111, 1016, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 122);  
2120 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1604, 101, 1216, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); 2483 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1604, 101, 1216, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
2121 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1605, 101, 1217, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); 2484 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1605, 101, 1217, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
2122 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1606, 101, 1218, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); 2485 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1606, 101, 1218, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1);
@@ -2224,6 +2587,428 @@ INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_t @@ -2224,6 +2587,428 @@ INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_t
2224 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1726, 113, 1021, '1', '2022-05-17 10:07:10', '1', '2022-05-17 10:07:10', b'0', 124); 2587 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1726, 113, 1021, '1', '2022-05-17 10:07:10', '1', '2022-05-17 10:07:10', b'0', 124);
2225 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1727, 113, 1022, '1', '2022-05-17 10:07:10', '1', '2022-05-17 10:07:10', b'0', 124); 2588 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1727, 113, 1022, '1', '2022-05-17 10:07:10', '1', '2022-05-17 10:07:10', b'0', 124);
2226 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1728, 113, 1023, '1', '2022-05-17 10:07:10', '1', '2022-05-17 10:07:10', b'0', 124); 2589 INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1728, 113, 1023, '1', '2022-05-17 10:07:10', '1', '2022-05-17 10:07:10', b'0', 124);
  2590 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1729, 109, 100, '1', '2022-09-21 22:08:51', '1', '2022-09-21 22:08:51', b'0', 121);
  2591 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1730, 109, 101, '1', '2022-09-21 22:08:51', '1', '2022-09-21 22:08:51', b'0', 121);
  2592 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1731, 109, 1063, '1', '2022-09-21 22:08:51', '1', '2022-09-21 22:08:51', b'0', 121);
  2593 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1732, 109, 1064, '1', '2022-09-21 22:08:51', '1', '2022-09-21 22:08:51', b'0', 121);
  2594 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1733, 109, 1001, '1', '2022-09-21 22:08:51', '1', '2022-09-21 22:08:51', b'0', 121);
  2595 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1734, 109, 1065, '1', '2022-09-21 22:08:51', '1', '2022-09-21 22:08:51', b'0', 121);
  2596 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1735, 109, 1002, '1', '2022-09-21 22:08:51', '1', '2022-09-21 22:08:51', b'0', 121);
  2597 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1736, 109, 1003, '1', '2022-09-21 22:08:51', '1', '2022-09-21 22:08:51', b'0', 121);
  2598 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1737, 109, 1004, '1', '2022-09-21 22:08:51', '1', '2022-09-21 22:08:51', b'0', 121);
  2599 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1738, 109, 1005, '1', '2022-09-21 22:08:51', '1', '2022-09-21 22:08:51', b'0', 121);
  2600 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1739, 109, 1006, '1', '2022-09-21 22:08:51', '1', '2022-09-21 22:08:51', b'0', 121);
  2601 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1740, 109, 1007, '1', '2022-09-21 22:08:51', '1', '2022-09-21 22:08:51', b'0', 121);
  2602 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1741, 109, 1008, '1', '2022-09-21 22:08:51', '1', '2022-09-21 22:08:51', b'0', 121);
  2603 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1742, 109, 1009, '1', '2022-09-21 22:08:51', '1', '2022-09-21 22:08:51', b'0', 121);
  2604 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1743, 109, 1010, '1', '2022-09-21 22:08:51', '1', '2022-09-21 22:08:51', b'0', 121);
  2605 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1744, 109, 1011, '1', '2022-09-21 22:08:51', '1', '2022-09-21 22:08:51', b'0', 121);
  2606 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1745, 109, 1012, '1', '2022-09-21 22:08:51', '1', '2022-09-21 22:08:51', b'0', 121);
  2607 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1746, 111, 100, '1', '2022-09-21 22:08:52', '1', '2022-09-21 22:08:52', b'0', 122);
  2608 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1747, 111, 101, '1', '2022-09-21 22:08:52', '1', '2022-09-21 22:08:52', b'0', 122);
  2609 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1748, 111, 1063, '1', '2022-09-21 22:08:52', '1', '2022-09-21 22:08:52', b'0', 122);
  2610 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1749, 111, 1064, '1', '2022-09-21 22:08:52', '1', '2022-09-21 22:08:52', b'0', 122);
  2611 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1750, 111, 1001, '1', '2022-09-21 22:08:52', '1', '2022-09-21 22:08:52', b'0', 122);
  2612 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1751, 111, 1065, '1', '2022-09-21 22:08:52', '1', '2022-09-21 22:08:52', b'0', 122);
  2613 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1752, 111, 1002, '1', '2022-09-21 22:08:52', '1', '2022-09-21 22:08:52', b'0', 122);
  2614 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1753, 111, 1003, '1', '2022-09-21 22:08:52', '1', '2022-09-21 22:08:52', b'0', 122);
  2615 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1754, 111, 1004, '1', '2022-09-21 22:08:52', '1', '2022-09-21 22:08:52', b'0', 122);
  2616 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1755, 111, 1005, '1', '2022-09-21 22:08:52', '1', '2022-09-21 22:08:52', b'0', 122);
  2617 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1756, 111, 1006, '1', '2022-09-21 22:08:52', '1', '2022-09-21 22:08:52', b'0', 122);
  2618 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1757, 111, 1007, '1', '2022-09-21 22:08:52', '1', '2022-09-21 22:08:52', b'0', 122);
  2619 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1758, 111, 1008, '1', '2022-09-21 22:08:52', '1', '2022-09-21 22:08:52', b'0', 122);
  2620 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1759, 111, 1009, '1', '2022-09-21 22:08:52', '1', '2022-09-21 22:08:52', b'0', 122);
  2621 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1760, 111, 1010, '1', '2022-09-21 22:08:52', '1', '2022-09-21 22:08:52', b'0', 122);
  2622 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1761, 111, 1011, '1', '2022-09-21 22:08:52', '1', '2022-09-21 22:08:52', b'0', 122);
  2623 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1762, 111, 1012, '1', '2022-09-21 22:08:52', '1', '2022-09-21 22:08:52', b'0', 122);
  2624 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1763, 109, 100, '1', '2022-09-21 22:08:53', '1', '2022-09-21 22:08:53', b'0', 121);
  2625 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1764, 109, 101, '1', '2022-09-21 22:08:53', '1', '2022-09-21 22:08:53', b'0', 121);
  2626 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1765, 109, 1063, '1', '2022-09-21 22:08:53', '1', '2022-09-21 22:08:53', b'0', 121);
  2627 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1766, 109, 1064, '1', '2022-09-21 22:08:53', '1', '2022-09-21 22:08:53', b'0', 121);
  2628 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1767, 109, 1001, '1', '2022-09-21 22:08:53', '1', '2022-09-21 22:08:53', b'0', 121);
  2629 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1768, 109, 1065, '1', '2022-09-21 22:08:53', '1', '2022-09-21 22:08:53', b'0', 121);
  2630 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1769, 109, 1002, '1', '2022-09-21 22:08:53', '1', '2022-09-21 22:08:53', b'0', 121);
  2631 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1770, 109, 1003, '1', '2022-09-21 22:08:53', '1', '2022-09-21 22:08:53', b'0', 121);
  2632 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1771, 109, 1004, '1', '2022-09-21 22:08:53', '1', '2022-09-21 22:08:53', b'0', 121);
  2633 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1772, 109, 1005, '1', '2022-09-21 22:08:53', '1', '2022-09-21 22:08:53', b'0', 121);
  2634 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1773, 109, 1006, '1', '2022-09-21 22:08:53', '1', '2022-09-21 22:08:53', b'0', 121);
  2635 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1774, 109, 1007, '1', '2022-09-21 22:08:53', '1', '2022-09-21 22:08:53', b'0', 121);
  2636 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1775, 109, 1008, '1', '2022-09-21 22:08:53', '1', '2022-09-21 22:08:53', b'0', 121);
  2637 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1776, 109, 1009, '1', '2022-09-21 22:08:53', '1', '2022-09-21 22:08:53', b'0', 121);
  2638 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1777, 109, 1010, '1', '2022-09-21 22:08:53', '1', '2022-09-21 22:08:53', b'0', 121);
  2639 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1778, 109, 1011, '1', '2022-09-21 22:08:53', '1', '2022-09-21 22:08:53', b'0', 121);
  2640 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1779, 109, 1012, '1', '2022-09-21 22:08:53', '1', '2022-09-21 22:08:53', b'0', 121);
  2641 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1780, 111, 100, '1', '2022-09-21 22:08:54', '1', '2022-09-21 22:08:54', b'0', 122);
  2642 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1781, 111, 101, '1', '2022-09-21 22:08:54', '1', '2022-09-21 22:08:54', b'0', 122);
  2643 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1782, 111, 1063, '1', '2022-09-21 22:08:54', '1', '2022-09-21 22:08:54', b'0', 122);
  2644 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1783, 111, 1064, '1', '2022-09-21 22:08:54', '1', '2022-09-21 22:08:54', b'0', 122);
  2645 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1784, 111, 1001, '1', '2022-09-21 22:08:54', '1', '2022-09-21 22:08:54', b'0', 122);
  2646 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1785, 111, 1065, '1', '2022-09-21 22:08:54', '1', '2022-09-21 22:08:54', b'0', 122);
  2647 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1786, 111, 1002, '1', '2022-09-21 22:08:54', '1', '2022-09-21 22:08:54', b'0', 122);
  2648 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1787, 111, 1003, '1', '2022-09-21 22:08:54', '1', '2022-09-21 22:08:54', b'0', 122);
  2649 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1788, 111, 1004, '1', '2022-09-21 22:08:54', '1', '2022-09-21 22:08:54', b'0', 122);
  2650 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1789, 111, 1005, '1', '2022-09-21 22:08:54', '1', '2022-09-21 22:08:54', b'0', 122);
  2651 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1790, 111, 1006, '1', '2022-09-21 22:08:54', '1', '2022-09-21 22:08:54', b'0', 122);
  2652 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1791, 111, 1007, '1', '2022-09-21 22:08:54', '1', '2022-09-21 22:08:54', b'0', 122);
  2653 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1792, 111, 1008, '1', '2022-09-21 22:08:54', '1', '2022-09-21 22:08:54', b'0', 122);
  2654 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1793, 111, 1009, '1', '2022-09-21 22:08:54', '1', '2022-09-21 22:08:54', b'0', 122);
  2655 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1794, 111, 1010, '1', '2022-09-21 22:08:54', '1', '2022-09-21 22:08:54', b'0', 122);
  2656 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1795, 111, 1011, '1', '2022-09-21 22:08:54', '1', '2022-09-21 22:08:54', b'0', 122);
  2657 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1796, 111, 1012, '1', '2022-09-21 22:08:54', '1', '2022-09-21 22:08:54', b'0', 122);
  2658 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1797, 109, 100, '1', '2022-09-21 22:08:55', '1', '2022-09-21 22:08:55', b'0', 121);
  2659 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1798, 109, 101, '1', '2022-09-21 22:08:55', '1', '2022-09-21 22:08:55', b'0', 121);
  2660 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1799, 109, 1063, '1', '2022-09-21 22:08:55', '1', '2022-09-21 22:08:55', b'0', 121);
  2661 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1800, 109, 1064, '1', '2022-09-21 22:08:55', '1', '2022-09-21 22:08:55', b'0', 121);
  2662 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1801, 109, 1001, '1', '2022-09-21 22:08:55', '1', '2022-09-21 22:08:55', b'0', 121);
  2663 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1802, 109, 1065, '1', '2022-09-21 22:08:55', '1', '2022-09-21 22:08:55', b'0', 121);
  2664 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1803, 109, 1002, '1', '2022-09-21 22:08:55', '1', '2022-09-21 22:08:55', b'0', 121);
  2665 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1804, 109, 1003, '1', '2022-09-21 22:08:55', '1', '2022-09-21 22:08:55', b'0', 121);
  2666 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1805, 109, 1004, '1', '2022-09-21 22:08:55', '1', '2022-09-21 22:08:55', b'0', 121);
  2667 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1806, 109, 1005, '1', '2022-09-21 22:08:55', '1', '2022-09-21 22:08:55', b'0', 121);
  2668 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1807, 109, 1006, '1', '2022-09-21 22:08:55', '1', '2022-09-21 22:08:55', b'0', 121);
  2669 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1808, 109, 1007, '1', '2022-09-21 22:08:55', '1', '2022-09-21 22:08:55', b'0', 121);
  2670 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1809, 109, 1008, '1', '2022-09-21 22:08:55', '1', '2022-09-21 22:08:55', b'0', 121);
  2671 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1810, 109, 1009, '1', '2022-09-21 22:08:55', '1', '2022-09-21 22:08:55', b'0', 121);
  2672 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1811, 109, 1010, '1', '2022-09-21 22:08:55', '1', '2022-09-21 22:08:55', b'0', 121);
  2673 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1812, 109, 1011, '1', '2022-09-21 22:08:55', '1', '2022-09-21 22:08:55', b'0', 121);
  2674 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1813, 109, 1012, '1', '2022-09-21 22:08:55', '1', '2022-09-21 22:08:55', b'0', 121);
  2675 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1814, 111, 100, '1', '2022-09-21 22:08:56', '1', '2022-09-21 22:08:56', b'0', 122);
  2676 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1815, 111, 101, '1', '2022-09-21 22:08:56', '1', '2022-09-21 22:08:56', b'0', 122);
  2677 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1816, 111, 1063, '1', '2022-09-21 22:08:56', '1', '2022-09-21 22:08:56', b'0', 122);
  2678 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1817, 111, 1064, '1', '2022-09-21 22:08:56', '1', '2022-09-21 22:08:56', b'0', 122);
  2679 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1818, 111, 1001, '1', '2022-09-21 22:08:56', '1', '2022-09-21 22:08:56', b'0', 122);
  2680 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1819, 111, 1065, '1', '2022-09-21 22:08:56', '1', '2022-09-21 22:08:56', b'0', 122);
  2681 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1820, 111, 1002, '1', '2022-09-21 22:08:56', '1', '2022-09-21 22:08:56', b'0', 122);
  2682 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1821, 111, 1003, '1', '2022-09-21 22:08:56', '1', '2022-09-21 22:08:56', b'0', 122);
  2683 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1822, 111, 1004, '1', '2022-09-21 22:08:56', '1', '2022-09-21 22:08:56', b'0', 122);
  2684 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1823, 111, 1005, '1', '2022-09-21 22:08:56', '1', '2022-09-21 22:08:56', b'0', 122);
  2685 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1824, 111, 1006, '1', '2022-09-21 22:08:56', '1', '2022-09-21 22:08:56', b'0', 122);
  2686 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1825, 111, 1007, '1', '2022-09-21 22:08:56', '1', '2022-09-21 22:08:56', b'0', 122);
  2687 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1826, 111, 1008, '1', '2022-09-21 22:08:56', '1', '2022-09-21 22:08:56', b'0', 122);
  2688 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1827, 111, 1009, '1', '2022-09-21 22:08:56', '1', '2022-09-21 22:08:56', b'0', 122);
  2689 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1828, 111, 1010, '1', '2022-09-21 22:08:56', '1', '2022-09-21 22:08:56', b'0', 122);
  2690 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1829, 111, 1011, '1', '2022-09-21 22:08:56', '1', '2022-09-21 22:08:56', b'0', 122);
  2691 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1830, 111, 1012, '1', '2022-09-21 22:08:56', '1', '2022-09-21 22:08:56', b'0', 122);
  2692 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1831, 109, 103, '1', '2022-09-21 22:43:23', '1', '2022-09-21 22:43:23', b'0', 121);
  2693 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1832, 109, 1017, '1', '2022-09-21 22:43:23', '1', '2022-09-21 22:43:23', b'0', 121);
  2694 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1833, 109, 1018, '1', '2022-09-21 22:43:23', '1', '2022-09-21 22:43:23', b'0', 121);
  2695 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1834, 109, 1019, '1', '2022-09-21 22:43:23', '1', '2022-09-21 22:43:23', b'0', 121);
  2696 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1835, 109, 1020, '1', '2022-09-21 22:43:23', '1', '2022-09-21 22:43:23', b'0', 121);
  2697 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1836, 111, 103, '1', '2022-09-21 22:43:24', '1', '2022-09-21 22:43:24', b'0', 122);
  2698 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1837, 111, 1017, '1', '2022-09-21 22:43:24', '1', '2022-09-21 22:43:24', b'0', 122);
  2699 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1838, 111, 1018, '1', '2022-09-21 22:43:24', '1', '2022-09-21 22:43:24', b'0', 122);
  2700 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1839, 111, 1019, '1', '2022-09-21 22:43:24', '1', '2022-09-21 22:43:24', b'0', 122);
  2701 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1840, 111, 1020, '1', '2022-09-21 22:43:24', '1', '2022-09-21 22:43:24', b'0', 122);
  2702 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1841, 109, 1036, '1', '2022-09-21 22:48:13', '1', '2022-09-21 22:48:13', b'0', 121);
  2703 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1842, 109, 1037, '1', '2022-09-21 22:48:13', '1', '2022-09-21 22:48:13', b'0', 121);
  2704 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1843, 109, 1038, '1', '2022-09-21 22:48:13', '1', '2022-09-21 22:48:13', b'0', 121);
  2705 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1844, 109, 1039, '1', '2022-09-21 22:48:13', '1', '2022-09-21 22:48:13', b'0', 121);
  2706 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1845, 109, 107, '1', '2022-09-21 22:48:13', '1', '2022-09-21 22:48:13', b'0', 121);
  2707 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1846, 111, 1036, '1', '2022-09-21 22:48:13', '1', '2022-09-21 22:48:13', b'0', 122);
  2708 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1847, 111, 1037, '1', '2022-09-21 22:48:13', '1', '2022-09-21 22:48:13', b'0', 122);
  2709 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1848, 111, 1038, '1', '2022-09-21 22:48:13', '1', '2022-09-21 22:48:13', b'0', 122);
  2710 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1849, 111, 1039, '1', '2022-09-21 22:48:13', '1', '2022-09-21 22:48:13', b'0', 122);
  2711 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1850, 111, 107, '1', '2022-09-21 22:48:13', '1', '2022-09-21 22:48:13', b'0', 122);
  2712 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1851, 114, 1, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2713 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1852, 114, 1036, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2714 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1853, 114, 1037, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2715 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1854, 114, 1038, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2716 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1855, 114, 1039, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2717 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1856, 114, 100, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2718 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1857, 114, 101, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2719 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1858, 114, 1063, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2720 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1859, 114, 103, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2721 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1860, 114, 1064, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2722 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1861, 114, 1001, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2723 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1862, 114, 1065, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2724 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1863, 114, 1002, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2725 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1864, 114, 1003, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2726 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1865, 114, 107, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2727 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1866, 114, 1004, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2728 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1867, 114, 1005, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2729 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1868, 114, 1006, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2730 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1869, 114, 1007, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2731 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1870, 114, 1008, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2732 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1871, 114, 1009, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2733 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1872, 114, 1010, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2734 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1873, 114, 1011, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2735 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1874, 114, 1012, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2736 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1875, 114, 1017, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2737 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1876, 114, 1018, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2738 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1877, 114, 1019, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2739 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1878, 114, 1020, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:03', b'0', 125);
  2740 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1879, 115, 1, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2741 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1880, 115, 1036, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2742 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1881, 115, 1037, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2743 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1882, 115, 1038, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2744 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1883, 115, 1039, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2745 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1884, 115, 100, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2746 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1885, 115, 101, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2747 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1886, 115, 1063, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2748 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1887, 115, 103, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2749 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1888, 115, 1064, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2750 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1889, 115, 1001, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2751 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1890, 115, 1065, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2752 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1891, 115, 1002, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2753 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1892, 115, 1003, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2754 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1893, 115, 107, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2755 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1894, 115, 1004, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2756 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1895, 115, 1005, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2757 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1896, 115, 1006, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2758 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1897, 115, 1007, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2759 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1898, 115, 1008, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2760 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1899, 115, 1009, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2761 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1900, 115, 1010, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2762 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1901, 115, 1011, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2763 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1902, 115, 1012, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2764 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1903, 115, 1017, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2765 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1904, 115, 1018, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2766 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1905, 115, 1019, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2767 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1906, 115, 1020, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  2768 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1907, 116, 1, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2769 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1908, 116, 1036, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2770 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1909, 116, 1037, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2771 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1910, 116, 1038, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2772 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1911, 116, 1039, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2773 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1912, 116, 100, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2774 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1913, 116, 101, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2775 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1914, 116, 1063, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2776 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1915, 116, 103, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2777 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1916, 116, 1064, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2778 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1917, 116, 1001, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2779 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1918, 116, 1065, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2780 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1919, 116, 1002, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2781 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1920, 116, 1003, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2782 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1921, 116, 107, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2783 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1922, 116, 1004, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2784 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1923, 116, 1005, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2785 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1924, 116, 1006, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2786 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1925, 116, 1007, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2787 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1926, 116, 1008, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2788 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1927, 116, 1009, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2789 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1928, 116, 1010, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2790 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1929, 116, 1011, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2791 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1930, 116, 1012, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2792 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1931, 116, 1017, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2793 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1932, 116, 1018, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2794 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1933, 116, 1019, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2795 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1934, 116, 1020, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:48', b'0', 127);
  2796 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1963, 118, 1, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2797 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1964, 118, 1036, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2798 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1965, 118, 1037, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2799 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1966, 118, 1038, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2800 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1967, 118, 1039, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2801 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1968, 118, 100, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2802 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1969, 118, 101, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2803 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1970, 118, 1063, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2804 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1971, 118, 103, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2805 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1972, 118, 1064, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2806 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1973, 118, 1001, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2807 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1974, 118, 1065, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2808 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1975, 118, 1002, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2809 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1976, 118, 1003, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2810 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1977, 118, 107, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2811 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1978, 118, 1004, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2812 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1979, 118, 1005, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2813 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1980, 118, 1006, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2814 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1981, 118, 1007, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2815 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1982, 118, 1008, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2816 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1983, 118, 1009, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2817 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1984, 118, 1010, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2818 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1985, 118, 1011, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2819 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1986, 118, 1012, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2820 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1987, 118, 1017, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2821 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1988, 118, 1018, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2822 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1989, 118, 1019, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2823 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1990, 118, 1020, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
  2824 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1991, 2, 1024, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2825 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1992, 2, 1025, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2826 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1993, 2, 1026, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2827 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1994, 2, 1027, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2828 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1995, 2, 1028, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2829 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1996, 2, 1029, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2830 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1997, 2, 1030, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2831 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1998, 2, 1031, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2832 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1999, 2, 1032, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2833 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2000, 2, 1033, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2834 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2001, 2, 1034, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2835 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2002, 2, 1035, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2836 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2003, 2, 1036, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2837 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2004, 2, 1037, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2838 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2005, 2, 1038, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2839 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2006, 2, 1039, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2840 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2007, 2, 1040, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2841 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2008, 2, 1042, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2842 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2009, 2, 1043, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2843 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2010, 2, 1045, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2844 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2011, 2, 1046, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2845 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2012, 2, 1048, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2846 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2013, 2, 1050, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2847 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2014, 2, 1051, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2848 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2015, 2, 1052, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2849 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2016, 2, 1053, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2850 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2017, 2, 1054, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2851 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2018, 2, 1056, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2852 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2019, 2, 1057, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2853 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2020, 2, 1058, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2854 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2021, 2, 2083, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2855 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2022, 2, 1059, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2856 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2023, 2, 1060, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2857 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2024, 2, 1063, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2858 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2025, 2, 1064, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2859 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2026, 2, 1065, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2860 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2027, 2, 1066, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2861 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2028, 2, 1067, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2862 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2029, 2, 1070, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2863 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2030, 2, 1071, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2864 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2031, 2, 1072, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2865 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2032, 2, 1073, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2866 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2033, 2, 1074, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2867 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2034, 2, 1075, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2868 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2035, 2, 1076, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2869 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2036, 2, 1082, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2870 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2037, 2, 1085, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2871 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2038, 2, 1086, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2872 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2039, 2, 1087, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2873 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2040, 2, 1088, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2874 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2041, 2, 1089, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2875 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2042, 2, 1091, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2876 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2043, 2, 1092, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2877 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2044, 2, 1095, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2878 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2045, 2, 1096, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2879 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2046, 2, 1097, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2880 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2047, 2, 1098, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2881 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2048, 2, 1101, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2882 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2049, 2, 1102, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2883 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2050, 2, 1103, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2884 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2051, 2, 1104, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2885 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2052, 2, 1105, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2886 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2053, 2, 1106, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2887 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2054, 2, 1108, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2888 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2055, 2, 1109, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2889 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2056, 2, 1111, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2890 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2057, 2, 1112, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2891 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2058, 2, 1113, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2892 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2059, 2, 1114, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2893 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2060, 2, 1115, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2894 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2061, 2, 1127, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2895 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2062, 2, 1128, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2896 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2063, 2, 1129, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2897 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2064, 2, 1130, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2898 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2065, 2, 1131, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2899 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2066, 2, 1132, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2900 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2067, 2, 1133, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2901 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2068, 2, 1134, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2902 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2069, 2, 1135, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2903 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2070, 2, 1136, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2904 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2071, 2, 1137, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2905 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2072, 2, 114, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2906 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2073, 2, 1139, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2907 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2074, 2, 115, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2908 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2075, 2, 1140, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2909 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2076, 2, 116, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2910 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2077, 2, 1141, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2911 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2078, 2, 1142, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2912 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2079, 2, 1143, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2913 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2080, 2, 1150, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2914 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2081, 2, 1161, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2915 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2082, 2, 1162, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2916 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2083, 2, 1163, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2917 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2084, 2, 1164, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2918 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2085, 2, 1165, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2919 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2086, 2, 1166, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2920 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2087, 2, 1173, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2921 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2088, 2, 1174, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2922 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2089, 2, 1175, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2923 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2090, 2, 1176, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2924 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2091, 2, 1177, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2925 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2092, 2, 1178, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2926 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2093, 2, 1179, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2927 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2094, 2, 1180, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2928 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2095, 2, 1181, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2929 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2096, 2, 1182, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2930 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2097, 2, 1183, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2931 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2098, 2, 1184, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2932 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2099, 2, 1226, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2933 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2100, 2, 1227, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2934 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2101, 2, 1228, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2935 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2102, 2, 1229, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2936 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2103, 2, 1237, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2937 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2104, 2, 1238, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2938 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2105, 2, 1239, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2939 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2106, 2, 1240, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2940 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2107, 2, 1241, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2941 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2108, 2, 1242, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2942 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2109, 2, 1243, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2943 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2110, 2, 1247, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2944 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2111, 2, 1248, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2945 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2112, 2, 1249, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2946 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2113, 2, 1250, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2947 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2114, 2, 1251, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2948 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2115, 2, 1252, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2949 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2116, 2, 1254, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2950 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2117, 2, 1255, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2951 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2118, 2, 1256, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2952 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2119, 2, 1257, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2953 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2120, 2, 1258, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2954 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2121, 2, 1259, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2955 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2122, 2, 1260, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2956 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2123, 2, 1261, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2957 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2124, 2, 1263, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2958 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2125, 2, 1264, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2959 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2126, 2, 1265, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2960 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2127, 2, 1266, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2961 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2128, 2, 1267, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2962 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2129, 2, 1001, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2963 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2130, 2, 1002, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2964 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2131, 2, 1003, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2965 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2132, 2, 1004, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2966 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2133, 2, 1005, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2967 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2134, 2, 1006, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2968 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2135, 2, 1007, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2969 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2136, 2, 1008, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2970 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2137, 2, 1009, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2971 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2138, 2, 1010, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2972 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2139, 2, 1011, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2973 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2140, 2, 1012, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2974 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2141, 2, 1013, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2975 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2142, 2, 1014, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2976 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2143, 2, 1015, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2977 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2144, 2, 1016, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2978 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2145, 2, 1017, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2979 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2146, 2, 1018, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2980 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2147, 2, 1019, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2981 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2148, 2, 1020, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2982 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2149, 2, 1021, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2983 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2150, 2, 1022, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2984 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2151, 2, 1023, '1', '2023-01-25 08:42:52', '1', '2023-01-25 08:42:52', b'0', 1);
  2985 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2152, 2, 1281, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  2986 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2153, 2, 1282, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  2987 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2154, 2, 2000, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  2988 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2155, 2, 2002, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  2989 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2156, 2, 2003, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  2990 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2157, 2, 2004, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  2991 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2158, 2, 2005, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  2992 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2159, 2, 2006, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  2993 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2160, 2, 2008, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  2994 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2161, 2, 2009, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  2995 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2162, 2, 2010, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  2996 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2163, 2, 2011, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  2997 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2164, 2, 2012, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  2998 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2170, 2, 2019, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  2999 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2171, 2, 2020, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  3000 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2172, 2, 2021, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  3001 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2173, 2, 2022, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  3002 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2174, 2, 2023, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  3003 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2175, 2, 2025, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  3004 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2177, 2, 2027, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  3005 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2178, 2, 2028, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  3006 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2179, 2, 2029, '1', '2023-01-25 08:42:58', '1', '2023-01-25 08:42:58', b'0', 1);
  3007 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2180, 2, 2014, '1', '2023-01-25 08:43:12', '1', '2023-01-25 08:43:12', b'0', 1);
  3008 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2181, 2, 2015, '1', '2023-01-25 08:43:12', '1', '2023-01-25 08:43:12', b'0', 1);
  3009 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2182, 2, 2016, '1', '2023-01-25 08:43:12', '1', '2023-01-25 08:43:12', b'0', 1);
  3010 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2183, 2, 2017, '1', '2023-01-25 08:43:12', '1', '2023-01-25 08:43:12', b'0', 1);
  3011 +INSERT INTO `system_role_menu` (`id`, `role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2184, 2, 2018, '1', '2023-01-25 08:43:12', '1', '2023-01-25 08:43:12', b'0', 1);
2227 COMMIT; 3012 COMMIT;
2228 3013
2229 -- ---------------------------- 3014 -- ----------------------------
@@ -2242,7 +3027,7 @@ CREATE TABLE `system_sensitive_word` ( @@ -2242,7 +3027,7 @@ CREATE TABLE `system_sensitive_word` (
2242 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 3027 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
2243 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 3028 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
2244 PRIMARY KEY (`id`) USING BTREE 3029 PRIMARY KEY (`id`) USING BTREE
2245 -) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '敏感词'; 3030 +) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '敏感词';
2246 3031
2247 -- ---------------------------- 3032 -- ----------------------------
2248 -- Records of system_sensitive_word 3033 -- Records of system_sensitive_word
@@ -2250,6 +3035,7 @@ CREATE TABLE `system_sensitive_word` ( @@ -2250,6 +3035,7 @@ CREATE TABLE `system_sensitive_word` (
2250 BEGIN; 3035 BEGIN;
2251 INSERT INTO `system_sensitive_word` (`id`, `name`, `description`, `tags`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (3, '土豆', '好呀', '蔬菜,短信', 0, '1', '2022-04-08 21:07:12', '1', '2022-04-09 10:28:14', b'0'); 3036 INSERT INTO `system_sensitive_word` (`id`, `name`, `description`, `tags`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (3, '土豆', '好呀', '蔬菜,短信', 0, '1', '2022-04-08 21:07:12', '1', '2022-04-09 10:28:14', b'0');
2252 INSERT INTO `system_sensitive_word` (`id`, `name`, `description`, `tags`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (4, 'XXX', NULL, '短信', 0, '1', '2022-04-08 21:27:49', '1', '2022-06-19 00:36:50', b'0'); 3037 INSERT INTO `system_sensitive_word` (`id`, `name`, `description`, `tags`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (4, 'XXX', NULL, '短信', 0, '1', '2022-04-08 21:27:49', '1', '2022-06-19 00:36:50', b'0');
  3038 +INSERT INTO `system_sensitive_word` (`id`, `name`, `description`, `tags`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (5, '白痴', NULL, '测试', 0, '1', '2022-12-31 19:08:25', '1', '2022-12-31 19:08:25', b'0');
2253 COMMIT; 3039 COMMIT;
2254 3040
2255 -- ---------------------------- 3041 -- ----------------------------
@@ -2304,7 +3090,7 @@ CREATE TABLE `system_sms_code` ( @@ -2304,7 +3090,7 @@ CREATE TABLE `system_sms_code` (
2304 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 3090 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
2305 PRIMARY KEY (`id`) USING BTREE, 3091 PRIMARY KEY (`id`) USING BTREE,
2306 INDEX `idx_mobile`(`mobile` ASC) USING BTREE COMMENT '手机号' 3092 INDEX `idx_mobile`(`mobile` ASC) USING BTREE COMMENT '手机号'
2307 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '手机验证码'; 3093 +) ENGINE = InnoDB AUTO_INCREMENT = 484 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '手机验证码';
2308 3094
2309 -- ---------------------------- 3095 -- ----------------------------
2310 -- Records of system_sms_code 3096 -- Records of system_sms_code
@@ -2347,7 +3133,7 @@ CREATE TABLE `system_sms_log` ( @@ -2347,7 +3133,7 @@ CREATE TABLE `system_sms_log` (
2347 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 3133 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
2348 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 3134 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
2349 PRIMARY KEY (`id`) USING BTREE 3135 PRIMARY KEY (`id`) USING BTREE
2350 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '短信日志'; 3136 +) ENGINE = InnoDB AUTO_INCREMENT = 347 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '短信日志';
2351 3137
2352 -- ---------------------------- 3138 -- ----------------------------
2353 -- Records of system_sms_log 3139 -- Records of system_sms_log
@@ -2383,16 +3169,16 @@ CREATE TABLE `system_sms_template` ( @@ -2383,16 +3169,16 @@ CREATE TABLE `system_sms_template` (
2383 -- Records of system_sms_template 3169 -- Records of system_sms_template
2384 -- ---------------------------- 3170 -- ----------------------------
2385 BEGIN; 3171 BEGIN;
2386 -INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2, 1, 0, 'test_01', '测试验证码短信', '正在进行登录操作{operation},您的验证码是{code}', '[\"operation\",\"code\"]', NULL, '4383920', 1, 'YUN_PIAN', '', '2021-03-31 10:49:38', '1', '2021-04-10 01:22:00', b'0'); 3172 +INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2, 1, 0, 'test_01', '测试验证码短信', '正在进行登录操作{operation},您的验证码是{code}', '[\"operation\",\"code\"]', NULL, '4383920', 6, 'DEBUG_DING_TALK', '', '2021-03-31 10:49:38', '1', '2022-12-10 21:26:20', b'0');
2387 INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (3, 1, 0, 'test_02', '公告通知', '您的验证码{code},该验证码5分钟内有效,请勿泄漏于他人!', '[\"code\"]', NULL, 'SMS_207945135', 2, 'ALIYUN', '', '2021-03-31 11:56:30', '1', '2021-04-10 01:22:02', b'0'); 3173 INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (3, 1, 0, 'test_02', '公告通知', '您的验证码{code},该验证码5分钟内有效,请勿泄漏于他人!', '[\"code\"]', NULL, 'SMS_207945135', 2, 'ALIYUN', '', '2021-03-31 11:56:30', '1', '2021-04-10 01:22:02', b'0');
2388 -INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (6, 3, 0, 'test-01', '测试模板', '哈哈哈 {name}', '[\"name\"]', 'f哈哈哈', '4383920', 1, 'YUN_PIAN', '1', '2021-04-10 01:07:21', '1', '2021-04-10 01:22:05', b'0'); 3174 +INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (6, 3, 0, 'test-01', '测试模板', '哈哈哈 {name}', '[\"name\"]', 'f哈哈哈', '4383920', 6, 'DEBUG_DING_TALK', '1', '2021-04-10 01:07:21', '1', '2022-12-10 21:26:09', b'0');
2389 INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (7, 3, 0, 'test-04', '测试下', '老鸡{name},牛逼{code}', '[\"name\",\"code\"]', NULL, 'suibian', 4, 'DEBUG_DING_TALK', '1', '2021-04-13 00:29:53', '1', '2021-04-14 00:30:38', b'0'); 3175 INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (7, 3, 0, 'test-04', '测试下', '老鸡{name},牛逼{code}', '[\"name\",\"code\"]', NULL, 'suibian', 4, 'DEBUG_DING_TALK', '1', '2021-04-13 00:29:53', '1', '2021-04-14 00:30:38', b'0');
2390 -INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (8, 1, 0, 'user-sms-login', '前台用户短信登录', '您的验证码是{code}', '[\"code\"]', NULL, '4372216', 1, 'YUN_PIAN', '1', '2021-10-11 08:10:00', '1', '2021-10-11 08:10:00', b'0'); 3176 +INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (8, 1, 0, 'user-sms-login', '前台用户短信登录', '您的验证码是{code}', '[\"code\"]', NULL, '4372216', 6, 'DEBUG_DING_TALK', '1', '2021-10-11 08:10:00', '1', '2022-12-10 21:25:59', b'0');
2391 INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (9, 2, 0, 'bpm_task_assigned', '【工作流】任务被分配', '您收到了一条新的待办任务:{processInstanceName}-{taskName},申请人:{startUserNickname},处理链接:{detailUrl}', '[\"processInstanceName\",\"taskName\",\"startUserNickname\",\"detailUrl\"]', NULL, 'suibian', 4, 'DEBUG_DING_TALK', '1', '2022-01-21 22:31:19', '1', '2022-01-22 00:03:36', b'0'); 3177 INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (9, 2, 0, 'bpm_task_assigned', '【工作流】任务被分配', '您收到了一条新的待办任务:{processInstanceName}-{taskName},申请人:{startUserNickname},处理链接:{detailUrl}', '[\"processInstanceName\",\"taskName\",\"startUserNickname\",\"detailUrl\"]', NULL, 'suibian', 4, 'DEBUG_DING_TALK', '1', '2022-01-21 22:31:19', '1', '2022-01-22 00:03:36', b'0');
2392 INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (10, 2, 0, 'bpm_process_instance_reject', '【工作流】流程被不通过', '您的流程被审批不通过:{processInstanceName},原因:{reason},查看链接:{detailUrl}', '[\"processInstanceName\",\"reason\",\"detailUrl\"]', NULL, 'suibian', 4, 'DEBUG_DING_TALK', '1', '2022-01-22 00:03:31', '1', '2022-05-01 12:33:14', b'0'); 3178 INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (10, 2, 0, 'bpm_process_instance_reject', '【工作流】流程被不通过', '您的流程被审批不通过:{processInstanceName},原因:{reason},查看链接:{detailUrl}', '[\"processInstanceName\",\"reason\",\"detailUrl\"]', NULL, 'suibian', 4, 'DEBUG_DING_TALK', '1', '2022-01-22 00:03:31', '1', '2022-05-01 12:33:14', b'0');
2393 INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (11, 2, 0, 'bpm_process_instance_approve', '【工作流】流程被通过', '您的流程被审批通过:{processInstanceName},查看链接:{detailUrl}', '[\"processInstanceName\",\"detailUrl\"]', NULL, 'suibian', 4, 'DEBUG_DING_TALK', '1', '2022-01-22 00:04:31', '1', '2022-03-27 20:32:21', b'0'); 3179 INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (11, 2, 0, 'bpm_process_instance_approve', '【工作流】流程被通过', '您的流程被审批通过:{processInstanceName},查看链接:{detailUrl}', '[\"processInstanceName\",\"detailUrl\"]', NULL, 'suibian', 4, 'DEBUG_DING_TALK', '1', '2022-01-22 00:04:31', '1', '2022-03-27 20:32:21', b'0');
2394 INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (12, 2, 0, 'demo', '演示模板', '我就是测试一下下', '[]', NULL, 'biubiubiu', 6, 'DEBUG_DING_TALK', '1', '2022-04-10 23:22:49', '1', '2022-04-10 23:22:49', b'0'); 3180 INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (12, 2, 0, 'demo', '演示模板', '我就是测试一下下', '[]', NULL, 'biubiubiu', 6, 'DEBUG_DING_TALK', '1', '2022-04-10 23:22:49', '1', '2022-04-10 23:22:49', b'0');
2395 -INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (13, 1, 0, 'admin-sms-login', '后台用户短信登录', '您的验证码是{code}', '[\"code\"]', '', '4372216', 1, 'YUN_PIAN', '1', '2021-10-11 08:10:00', '1', '2022-06-19 00:34:18', b'0'); 3181 +INSERT INTO `system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (13, 1, 0, 'admin-sms-login', '后台用户短信登录', '您的验证码是{code}', '[\"code\"]', '', '4372216', 6, 'DEBUG_DING_TALK', '1', '2021-10-11 08:10:00', '1', '2022-12-10 21:25:51', b'0');
2396 COMMIT; 3182 COMMIT;
2397 3183
2398 -- ---------------------------- 3184 -- ----------------------------
@@ -2417,7 +3203,7 @@ CREATE TABLE `system_social_user` ( @@ -2417,7 +3203,7 @@ CREATE TABLE `system_social_user` (
2417 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 3203 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
2418 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 3204 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
2419 PRIMARY KEY (`id`) USING BTREE 3205 PRIMARY KEY (`id`) USING BTREE
2420 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '社交用户表'; 3206 +) ENGINE = InnoDB AUTO_INCREMENT = 20 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '社交用户表';
2421 3207
2422 -- ---------------------------- 3208 -- ----------------------------
2423 -- Records of system_social_user 3209 -- Records of system_social_user
@@ -2442,7 +3228,7 @@ CREATE TABLE `system_social_user_bind` ( @@ -2442,7 +3228,7 @@ CREATE TABLE `system_social_user_bind` (
2442 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 3228 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
2443 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 3229 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
2444 PRIMARY KEY (`id`) USING BTREE 3230 PRIMARY KEY (`id`) USING BTREE
2445 -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '社交绑定表'; 3231 +) ENGINE = InnoDB AUTO_INCREMENT = 39 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '社交绑定表';
2446 3232
2447 -- ---------------------------- 3233 -- ----------------------------
2448 -- Records of system_social_user_bind 3234 -- Records of system_social_user_bind
@@ -2471,7 +3257,7 @@ CREATE TABLE `system_tenant` ( @@ -2471,7 +3257,7 @@ CREATE TABLE `system_tenant` (
2471 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 3257 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
2472 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 3258 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
2473 PRIMARY KEY (`id`) USING BTREE 3259 PRIMARY KEY (`id`) USING BTREE
2474 -) ENGINE = InnoDB AUTO_INCREMENT = 125 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '租户表'; 3260 +) ENGINE = InnoDB AUTO_INCREMENT = 130 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '租户表';
2475 3261
2476 -- ---------------------------- 3262 -- ----------------------------
2477 -- Records of system_tenant 3263 -- Records of system_tenant
@@ -2480,6 +3266,10 @@ BEGIN; @@ -2480,6 +3266,10 @@ BEGIN;
2480 INSERT INTO `system_tenant` (`id`, `name`, `contact_user_id`, `contact_name`, `contact_mobile`, `status`, `domain`, `package_id`, `expire_time`, `account_count`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1, '芋道源码', NULL, '芋艿', '17321315478', 0, 'https://www.iocoder.cn', 0, '2099-02-19 17:14:16', 9999, '1', '2021-01-05 17:03:47', '1', '2022-02-23 12:15:11', b'0'); 3266 INSERT INTO `system_tenant` (`id`, `name`, `contact_user_id`, `contact_name`, `contact_mobile`, `status`, `domain`, `package_id`, `expire_time`, `account_count`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1, '芋道源码', NULL, '芋艿', '17321315478', 0, 'https://www.iocoder.cn', 0, '2099-02-19 17:14:16', 9999, '1', '2021-01-05 17:03:47', '1', '2022-02-23 12:15:11', b'0');
2481 INSERT INTO `system_tenant` (`id`, `name`, `contact_user_id`, `contact_name`, `contact_mobile`, `status`, `domain`, `package_id`, `expire_time`, `account_count`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (121, '小租户', 110, '小王2', '15601691300', 0, 'http://www.iocoder.cn', 111, '2024-03-11 00:00:00', 20, '1', '2022-02-22 00:56:14', '1', '2022-05-17 10:03:59', b'0'); 3267 INSERT INTO `system_tenant` (`id`, `name`, `contact_user_id`, `contact_name`, `contact_mobile`, `status`, `domain`, `package_id`, `expire_time`, `account_count`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (121, '小租户', 110, '小王2', '15601691300', 0, 'http://www.iocoder.cn', 111, '2024-03-11 00:00:00', 20, '1', '2022-02-22 00:56:14', '1', '2022-05-17 10:03:59', b'0');
2482 INSERT INTO `system_tenant` (`id`, `name`, `contact_user_id`, `contact_name`, `contact_mobile`, `status`, `domain`, `package_id`, `expire_time`, `account_count`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (122, '测试租户', 113, '芋道', '15601691300', 0, 'https://www.iocoder.cn', 111, '2022-04-30 00:00:00', 50, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0'); 3268 INSERT INTO `system_tenant` (`id`, `name`, `contact_user_id`, `contact_name`, `contact_mobile`, `status`, `domain`, `package_id`, `expire_time`, `account_count`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (122, '测试租户', 113, '芋道', '15601691300', 0, 'https://www.iocoder.cn', 111, '2022-04-30 00:00:00', 50, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0');
  3269 +INSERT INTO `system_tenant` (`id`, `name`, `contact_user_id`, `contact_name`, `contact_mobile`, `status`, `domain`, `package_id`, `expire_time`, `account_count`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (125, '测试', 119, '12', NULL, 0, 'http://www.iocoder.cn', 111, '2022-12-22 00:00:00', 1, '1', '2022-12-30 11:32:03', '1', '2022-12-30 11:32:04', b'0');
  3270 +INSERT INTO `system_tenant` (`id`, `name`, `contact_user_id`, `contact_name`, `contact_mobile`, `status`, `domain`, `package_id`, `expire_time`, `account_count`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (126, '测试', 120, '12', NULL, 0, 'http://www.iocoder.cn', 111, '2022-12-22 00:00:00', 1, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0');
  3271 +INSERT INTO `system_tenant` (`id`, `name`, `contact_user_id`, `contact_name`, `contact_mobile`, `status`, `domain`, `package_id`, `expire_time`, `account_count`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (127, '测试', 121, '12', NULL, 0, 'http://www.iocoder.cn', 111, '2022-12-22 00:00:00', 1, '1', '2022-12-30 11:33:48', '1', '2022-12-30 11:33:49', b'0');
  3272 +INSERT INTO `system_tenant` (`id`, `name`, `contact_user_id`, `contact_name`, `contact_mobile`, `status`, `domain`, `package_id`, `expire_time`, `account_count`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (129, '测试', 122, '12', NULL, 0, 'http://www.iocoder.cn', 111, '2022-12-22 00:00:00', 1, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:53', b'0');
2483 COMMIT; 3273 COMMIT;
2484 3274
2485 -- ---------------------------- 3275 -- ----------------------------
@@ -2504,7 +3294,7 @@ CREATE TABLE `system_tenant_package` ( @@ -2504,7 +3294,7 @@ CREATE TABLE `system_tenant_package` (
2504 -- Records of system_tenant_package 3294 -- Records of system_tenant_package
2505 -- ---------------------------- 3295 -- ----------------------------
2506 BEGIN; 3296 BEGIN;
2507 -INSERT INTO `system_tenant_package` (`id`, `name`, `status`, `remark`, `menu_ids`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (111, '普通套餐', 0, '小功能', '[1024,1025,1,102,103,104,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023]', '1', '2022-02-22 00:54:00', '1', '2022-03-19 18:39:13', b'0'); 3297 +INSERT INTO `system_tenant_package` (`id`, `name`, `status`, `remark`, `menu_ids`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (111, '普通套餐', 0, '小功能', '[1,1036,1037,1038,1039,100,101,1063,103,1064,1001,1065,1002,1003,107,1004,1005,1006,1007,1008,1009,1010,1011,1012,1017,1018,1019,1020]', '1', '2022-02-22 00:54:00', '1', '2022-09-21 22:48:12', b'0');
2508 COMMIT; 3298 COMMIT;
2509 3299
2510 -- ---------------------------- 3300 -- ----------------------------
@@ -2528,7 +3318,12 @@ CREATE TABLE `system_user_post` ( @@ -2528,7 +3318,12 @@ CREATE TABLE `system_user_post` (
2528 -- Records of system_user_post 3318 -- Records of system_user_post
2529 -- ---------------------------- 3319 -- ----------------------------
2530 BEGIN; 3320 BEGIN;
2531 -INSERT INTO `system_user_post` (`id`, `user_id`, `post_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, 1, 1, 'admin', '2022-05-02 07:25:24', 'admin', '2022-05-02 07:25:24', b'0', 1); 3321 +INSERT INTO `system_user_post` (`id`, `user_id`, `post_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (112, 1, 1, 'admin', '2022-05-02 07:25:24', 'admin', '2022-05-02 07:25:24', b'0', 1);
  3322 +INSERT INTO `system_user_post` (`id`, `user_id`, `post_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (113, 100, 1, 'admin', '2022-05-02 07:25:24', 'admin', '2022-05-02 07:25:24', b'0', 1);
  3323 +INSERT INTO `system_user_post` (`id`, `user_id`, `post_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (114, 114, 3, 'admin', '2022-05-02 07:25:24', 'admin', '2022-05-02 07:25:24', b'0', 1);
  3324 +INSERT INTO `system_user_post` (`id`, `user_id`, `post_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (115, 104, 1, '1', '2022-05-16 19:36:28', '1', '2022-05-16 19:36:28', b'0', 1);
  3325 +INSERT INTO `system_user_post` (`id`, `user_id`, `post_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (116, 117, 2, '1', '2022-07-09 17:40:26', '1', '2022-07-09 17:40:26', b'0', 1);
  3326 +INSERT INTO `system_user_post` (`id`, `user_id`, `post_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (117, 118, 1, '1', '2022-07-09 17:44:44', '1', '2022-07-09 17:44:44', b'0', 1);
2532 COMMIT; 3327 COMMIT;
2533 3328
2534 -- ---------------------------- 3329 -- ----------------------------
@@ -2546,7 +3341,7 @@ CREATE TABLE `system_user_role` ( @@ -2546,7 +3341,7 @@ CREATE TABLE `system_user_role` (
2546 `deleted` bit(1) NULL DEFAULT b'0' COMMENT '是否删除', 3341 `deleted` bit(1) NULL DEFAULT b'0' COMMENT '是否删除',
2547 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 3342 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
2548 PRIMARY KEY (`id`) USING BTREE 3343 PRIMARY KEY (`id`) USING BTREE
2549 -) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户和角色关联表'; 3344 +) ENGINE = InnoDB AUTO_INCREMENT = 27 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户和角色关联表';
2550 3345
2551 -- ---------------------------- 3346 -- ----------------------------
2552 -- Records of system_user_role 3347 -- Records of system_user_role
@@ -2554,6 +3349,25 @@ CREATE TABLE `system_user_role` ( @@ -2554,6 +3349,25 @@ CREATE TABLE `system_user_role` (
2554 BEGIN; 3349 BEGIN;
2555 INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, 1, 1, '', '2022-01-11 13:19:45', '', '2022-05-12 12:35:17', b'0', 1); 3350 INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, 1, 1, '', '2022-01-11 13:19:45', '', '2022-05-12 12:35:17', b'0', 1);
2556 INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2, 2, 2, '', '2022-01-11 13:19:45', '', '2022-05-12 12:35:13', b'0', 1); 3351 INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2, 2, 2, '', '2022-01-11 13:19:45', '', '2022-05-12 12:35:13', b'0', 1);
  3352 +INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (4, 100, 101, '', '2022-01-11 13:19:45', '', '2022-05-12 12:35:13', b'0', 1);
  3353 +INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (5, 100, 1, '', '2022-01-11 13:19:45', '', '2022-05-12 12:35:12', b'0', 1);
  3354 +INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (6, 100, 2, '', '2022-01-11 13:19:45', '', '2022-05-12 12:35:11', b'0', 1);
  3355 +INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (10, 103, 1, '1', '2022-01-11 13:19:45', '1', '2022-01-11 13:19:45', b'0', 1);
  3356 +INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (11, 107, 106, '1', '2022-02-20 22:59:33', '1', '2022-02-20 22:59:33', b'0', 118);
  3357 +INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (12, 108, 107, '1', '2022-02-20 23:00:50', '1', '2022-02-20 23:00:50', b'0', 119);
  3358 +INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (13, 109, 108, '1', '2022-02-20 23:11:50', '1', '2022-02-20 23:11:50', b'0', 120);
  3359 +INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (14, 110, 109, '1', '2022-02-22 00:56:14', '1', '2022-02-22 00:56:14', b'0', 121);
  3360 +INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (15, 111, 110, '110', '2022-02-23 13:14:38', '110', '2022-02-23 13:14:38', b'0', 121);
  3361 +INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (16, 113, 111, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122);
  3362 +INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (17, 114, 101, '1', '2022-03-19 21:51:13', '1', '2022-03-19 21:51:13', b'0', 1);
  3363 +INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (18, 1, 2, '1', '2022-05-12 20:39:29', '1', '2022-05-12 20:39:29', b'0', 1);
  3364 +INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (19, 116, 113, '1', '2022-05-17 10:07:10', '1', '2022-05-17 10:07:10', b'0', 124);
  3365 +INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (20, 104, 101, '1', '2022-05-28 15:43:57', '1', '2022-05-28 15:43:57', b'0', 1);
  3366 +INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (22, 115, 2, '1', '2022-07-21 22:08:30', '1', '2022-07-21 22:08:30', b'0', 1);
  3367 +INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (23, 119, 114, '1', '2022-12-30 11:32:04', '1', '2022-12-30 11:32:04', b'0', 125);
  3368 +INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (24, 120, 115, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  3369 +INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (25, 121, 116, '1', '2022-12-30 11:33:49', '1', '2022-12-30 11:33:49', b'0', 127);
  3370 +INSERT INTO `system_user_role` (`id`, `user_id`, `role_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (26, 122, 118, '1', '2022-12-30 11:47:53', '1', '2022-12-30 11:47:53', b'0', 129);
2557 COMMIT; 3371 COMMIT;
2558 3372
2559 -- ---------------------------- 3373 -- ----------------------------
@@ -2611,20 +3425,20 @@ CREATE TABLE `system_users` ( @@ -2611,20 +3425,20 @@ CREATE TABLE `system_users` (
2611 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 3425 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
2612 PRIMARY KEY (`id`) USING BTREE, 3426 PRIMARY KEY (`id`) USING BTREE,
2613 UNIQUE INDEX `idx_username`(`username` ASC, `update_time` ASC, `tenant_id` ASC) USING BTREE 3427 UNIQUE INDEX `idx_username`(`username` ASC, `update_time` ASC, `tenant_id` ASC) USING BTREE
2614 -) ENGINE = InnoDB AUTO_INCREMENT = 119 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户信息表'; 3428 +) ENGINE = InnoDB AUTO_INCREMENT = 123 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户信息表';
2615 3429
2616 -- ---------------------------- 3430 -- ----------------------------
2617 -- Records of system_users 3431 -- Records of system_users
2618 -- ---------------------------- 3432 -- ----------------------------
2619 BEGIN; 3433 BEGIN;
2620 -INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, 'admin', '$2a$10$0acJOIk2D25/oC87nyclE..0lzeu9DtQ/n3geP4fkun/zIVRhHJIO', '芋道源码', '管理员', 103, '[1]', 'aoteman@126.com', '15612345678', 1, 'http://test.yudao.iocoder.cn/a4224a33cf8d509f97aabc5d1ef67ba81959ec471f021f30e361faf7378962ba.jpg', 0, '127.0.0.1', '2022-07-28 01:37:56', 'admin', '2021-01-05 17:03:47', NULL, '2022-07-28 01:37:56', b'0', 1); 3434 +INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, 'admin', '$2a$10$mRMIYLDtRHlf6.9ipiqH1.Z.bh/R9dO9d5iHiGYPigi6r5KOoR2Wm', '芋道源码', '管理员', 103, '[1]', 'aoteman@126.com', '15612345678', 1, 'http://test.yudao.iocoder.cn/e1fdd7271685ec143a0900681606406621717a666ad0b2798b096df41422b32f.png', 0, '127.0.0.1', '2023-01-29 10:05:18', 'admin', '2021-01-05 17:03:47', NULL, '2023-01-29 10:05:18', b'0', 1);
2621 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (100, 'yudao', '$2a$10$11U48RhyJ5pSBYWSn12AD./ld671.ycSzJHbyrtpeoMeYiw31eo8a', '芋道', '不要吓我', 104, '[1]', 'yudao@iocoder.cn', '15601691300', 1, '', 1, '127.0.0.1', '2022-07-09 23:03:33', '', '2021-01-07 09:07:17', NULL, '2022-07-09 23:03:33', b'0', 1); 3435 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (100, 'yudao', '$2a$10$11U48RhyJ5pSBYWSn12AD./ld671.ycSzJHbyrtpeoMeYiw31eo8a', '芋道', '不要吓我', 104, '[1]', 'yudao@iocoder.cn', '15601691300', 1, '', 1, '127.0.0.1', '2022-07-09 23:03:33', '', '2021-01-07 09:07:17', NULL, '2022-07-09 23:03:33', b'0', 1);
2622 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (103, 'yuanma', '$2a$10$YMpimV4T6BtDhIaA8jSW.u8UTGBeGhc/qwXP4oxoMr4mOw9.qttt6', '源码', NULL, 106, NULL, 'yuanma@iocoder.cn', '15601701300', 0, '', 0, '127.0.0.1', '2022-07-08 01:26:27', '', '2021-01-13 23:50:35', NULL, '2022-07-08 01:26:27', b'0', 1); 3436 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (103, 'yuanma', '$2a$10$YMpimV4T6BtDhIaA8jSW.u8UTGBeGhc/qwXP4oxoMr4mOw9.qttt6', '源码', NULL, 106, NULL, 'yuanma@iocoder.cn', '15601701300', 0, '', 0, '127.0.0.1', '2022-07-08 01:26:27', '', '2021-01-13 23:50:35', NULL, '2022-07-08 01:26:27', b'0', 1);
2623 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (104, 'test', '$2a$10$GP8zvqHB//TekuzYZSBYAuBQJiNq1.fxQVDYJ.uBCOnWCtDVKE4H6', '测试号', NULL, 107, '[1,2]', '111@qq.com', '15601691200', 1, '', 0, '127.0.0.1', '2022-05-28 15:43:17', '', '2021-01-21 02:13:53', NULL, '2022-07-09 09:00:33', b'0', 1); 3437 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (104, 'test', '$2a$10$GP8zvqHB//TekuzYZSBYAuBQJiNq1.fxQVDYJ.uBCOnWCtDVKE4H6', '测试号', NULL, 107, '[1,2]', '111@qq.com', '15601691200', 1, '', 0, '127.0.0.1', '2022-05-28 15:43:17', '', '2021-01-21 02:13:53', NULL, '2022-07-09 09:00:33', b'0', 1);
2624 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (107, 'admin107', '$2a$10$dYOOBKMO93v/.ReCqzyFg.o67Tqk.bbc2bhrpyBGkIw9aypCtr2pm', '芋艿', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '', NULL, '1', '2022-02-20 22:59:33', '1', '2022-02-27 08:26:51', b'0', 118); 3438 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (107, 'admin107', '$2a$10$dYOOBKMO93v/.ReCqzyFg.o67Tqk.bbc2bhrpyBGkIw9aypCtr2pm', '芋艿', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '', NULL, '1', '2022-02-20 22:59:33', '1', '2022-02-27 08:26:51', b'0', 118);
2625 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (108, 'admin108', '$2a$10$y6mfvKoNYL1GXWak8nYwVOH.kCWqjactkzdoIDgiKl93WN3Ejg.Lu', '芋艿', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '', NULL, '1', '2022-02-20 23:00:50', '1', '2022-02-27 08:26:53', b'0', 119); 3439 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (108, 'admin108', '$2a$10$y6mfvKoNYL1GXWak8nYwVOH.kCWqjactkzdoIDgiKl93WN3Ejg.Lu', '芋艿', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '', NULL, '1', '2022-02-20 23:00:50', '1', '2022-02-27 08:26:53', b'0', 119);
2626 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (109, 'admin109', '$2a$10$JAqvH0tEc0I7dfDVBI7zyuB4E3j.uH6daIjV53.vUS6PknFkDJkuK', '芋艿', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '', NULL, '1', '2022-02-20 23:11:50', '1', '2022-02-27 08:26:56', b'0', 120); 3440 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (109, 'admin109', '$2a$10$JAqvH0tEc0I7dfDVBI7zyuB4E3j.uH6daIjV53.vUS6PknFkDJkuK', '芋艿', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '', NULL, '1', '2022-02-20 23:11:50', '1', '2022-02-27 08:26:56', b'0', 120);
2627 -INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (110, 'admin110', '$2a$10$qYxoXs0ogPHgYllyEneYde9xcCW5hZgukrxeXZ9lmLhKse8TK6IwW', '小王', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '127.0.0.1', '2022-02-23 19:36:28', '1', '2022-02-22 00:56:14', NULL, '2022-02-27 08:26:59', b'0', 121); 3441 +INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (110, 'admin110', '$2a$10$mRMIYLDtRHlf6.9ipiqH1.Z.bh/R9dO9d5iHiGYPigi6r5KOoR2Wm', '小王', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '127.0.0.1', '2022-09-25 22:47:33', '1', '2022-02-22 00:56:14', NULL, '2022-09-25 22:47:33', b'0', 121);
2628 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (111, 'test', '$2a$10$mExveopHUx9Q4QiLtAzhDeH3n4/QlNLzEsM4AqgxKrU.ciUZDXZCy', '测试用户', NULL, NULL, '[]', '', '', 0, '', 0, '', NULL, '110', '2022-02-23 13:14:33', '110', '2022-02-23 13:14:33', b'0', 121); 3442 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (111, 'test', '$2a$10$mExveopHUx9Q4QiLtAzhDeH3n4/QlNLzEsM4AqgxKrU.ciUZDXZCy', '测试用户', NULL, NULL, '[]', '', '', 0, '', 0, '', NULL, '110', '2022-02-23 13:14:33', '110', '2022-02-23 13:14:33', b'0', 121);
2629 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (112, 'newobject', '$2a$10$jh5MsR.ud/gKe3mVeUp5t.nEXGDSmHyv5OYjWQwHO8wlGmMSI9Twy', '新对象', NULL, NULL, '[]', '', '', 0, '', 0, '', NULL, '1', '2022-02-23 19:08:03', '1', '2022-02-23 19:08:03', b'0', 1); 3443 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (112, 'newobject', '$2a$10$jh5MsR.ud/gKe3mVeUp5t.nEXGDSmHyv5OYjWQwHO8wlGmMSI9Twy', '新对象', NULL, NULL, '[]', '', '', 0, '', 0, '', NULL, '1', '2022-02-23 19:08:03', '1', '2022-02-23 19:08:03', b'0', 1);
2630 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (113, 'aoteman', '$2a$10$0acJOIk2D25/oC87nyclE..0lzeu9DtQ/n3geP4fkun/zIVRhHJIO', '芋道', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '127.0.0.1', '2022-03-19 18:38:51', '1', '2022-03-07 21:37:58', NULL, '2022-03-19 18:38:51', b'0', 122); 3444 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (113, 'aoteman', '$2a$10$0acJOIk2D25/oC87nyclE..0lzeu9DtQ/n3geP4fkun/zIVRhHJIO', '芋道', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '127.0.0.1', '2022-03-19 18:38:51', '1', '2022-03-07 21:37:58', NULL, '2022-03-19 18:38:51', b'0', 122);
@@ -2632,7 +3446,11 @@ INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, @@ -2632,7 +3446,11 @@ INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`,
2632 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (115, 'aotemane', '$2a$10$/WCwGHu1eq0wOVDd/u8HweJ0gJCHyLS6T7ndCqI8UXZAQom1etk2e', '1', '11', 101, '[]', '', '', 1, '', 0, '', NULL, '1', '2022-04-30 02:55:43', '1', '2022-06-22 13:34:58', b'0', 1); 3446 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (115, 'aotemane', '$2a$10$/WCwGHu1eq0wOVDd/u8HweJ0gJCHyLS6T7ndCqI8UXZAQom1etk2e', '1', '11', 101, '[]', '', '', 1, '', 0, '', NULL, '1', '2022-04-30 02:55:43', '1', '2022-06-22 13:34:58', b'0', 1);
2633 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (116, '15601691302', '$2a$10$L5C4S0U6adBWMvFv1Wwl4.DI/NwYS3WIfLj5Q.Naqr5II8CmqsDZ6', '小豆', NULL, NULL, NULL, '', '', 0, '', 0, '', NULL, '1', '2022-05-17 10:07:10', '1', '2022-05-17 10:07:10', b'0', 124); 3447 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (116, '15601691302', '$2a$10$L5C4S0U6adBWMvFv1Wwl4.DI/NwYS3WIfLj5Q.Naqr5II8CmqsDZ6', '小豆', NULL, NULL, NULL, '', '', 0, '', 0, '', NULL, '1', '2022-05-17 10:07:10', '1', '2022-05-17 10:07:10', b'0', 124);
2634 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (117, 'admin123', '$2a$10$WI8Gg/lpZQIrOEZMHqka7OdFaD4Nx.B/qY8ZGTTUKrOJwaHFqibaC', '测试号', '1111', 100, '[2]', '', '15601691234', 1, '', 0, '', NULL, '1', '2022-07-09 17:40:26', '1', '2022-07-09 17:40:26', b'0', 1); 3448 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (117, 'admin123', '$2a$10$WI8Gg/lpZQIrOEZMHqka7OdFaD4Nx.B/qY8ZGTTUKrOJwaHFqibaC', '测试号', '1111', 100, '[2]', '', '15601691234', 1, '', 0, '', NULL, '1', '2022-07-09 17:40:26', '1', '2022-07-09 17:40:26', b'0', 1);
2635 -INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (118, 'goudan', '$2a$10$Lrb71muL.s5/AFjQ2IHkzOFlAFwUToH.zQL7bnghvTDt/QptjGgF6', '狗蛋', NULL, 103, '[1]', '', '', 2, '', 0, '', NULL, '1', '2022-07-09 17:44:43', '1', '2022-07-09 17:44:43', b'0', 1); 3449 +INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (118, 'goudan', '$2a$10$Lrb71muL.s5/AFjQ2IHkzOFlAFwUToH.zQL7bnghvTDt/QptjGgF6', '狗蛋', NULL, 103, '[1]', '', '', 2, '', 0, '', NULL, '1', '2022-07-09 17:44:43', '1', '2022-12-31 17:29:13', b'0', 1);
  3450 +INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (119, 'admin', '$2a$10$AheSOpxeWQYhEO/gGZhDz.oifdX5zt.kprWNHptPiiStUx4mXmHb.', '12', NULL, NULL, NULL, '', '', 0, '', 0, '', NULL, '1', '2022-12-30 11:32:04', '1', '2022-12-30 11:32:04', b'0', 125);
  3451 +INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (120, 'admin', '$2a$10$D.xFtcgma/NJ3SyYlUj3bORcs0mwOD6Zu.4I7GCI/8/25/QSn4qJC', '12', NULL, NULL, NULL, '', '', 0, '', 0, '', NULL, '1', '2022-12-30 11:33:42', '1', '2022-12-30 11:33:42', b'0', 126);
  3452 +INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (121, 'admin', '$2a$10$R2guBf7TyERjjW9lm0Pd0Osut6vt7NuH2Vx6fkOI5.VgSvJK2Xb82', '12', NULL, NULL, NULL, '', '', 0, '', 0, '', NULL, '1', '2022-12-30 11:33:49', '1', '2022-12-30 11:33:49', b'0', 127);
  3453 +INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (122, 'admin', '$2a$10$pwxqUUza61HBgx3FTjp2d.Mc2UKalikXxP91wUdP4bFe7Hl.lfmeq', '12', NULL, NULL, NULL, '', '', 0, '', 0, '', NULL, '1', '2022-12-30 11:47:52', '1', '2022-12-30 11:47:52', b'0', 129);
2636 COMMIT; 3454 COMMIT;
2637 3455
2638 SET FOREIGN_KEY_CHECKS = 1; 3456 SET FOREIGN_KEY_CHECKS = 1;
sql/optional/mall/coupon.sql deleted
1 -DROP TABLE IF EXISTS `coupon`;  
2 -CREATE TABLE `coupon`  
3 -(  
4 - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',  
5 - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '优惠券类型 reward-满减 discount-折扣 random-随机',  
6 - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '优惠券名称',  
7 - `coupon_type_id` bigint UNSIGNED DEFAULT 0 COMMENT '优惠券类型id',  
8 - `coupon_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '优惠券编码',  
9 - `member_id` bigint UNSIGNED NOT NULL DEFAULT 0 COMMENT '领用人',  
10 - `use_order_id` bigint UNSIGNED NOT NULL DEFAULT 0 COMMENT '优惠券使用订单id',  
11 - `goods_type` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '适用商品类型1-全部商品可用;2-指定商品可用;3-指定商品不可用',  
12 - `goods_ids` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '适用商品id',  
13 - `at_least` decimal(10, 2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '最小金额',  
14 - `money` decimal(10, 2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '面额',  
15 - `discount` decimal(10, 2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '1 =< 折扣 <= 9.9 当type为discount时需要添加',  
16 - `discount_limit` decimal(10, 2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '最多折扣金额 当type为discount时可选择性添加',  
17 - `whether_forbid_preference` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '优惠叠加 0-不限制 1- 优惠券仅原价购买商品时可用',  
18 - `whether_expire_notice` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否开启过期提醒0-不开启 1-开启',  
19 - `expire_notice_fixed_term` int(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '过期前N天提醒',  
20 - `whether_noticed` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否已提醒',  
21 - `state` tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '优惠券状态 1已领用(未使用) 2已使用 3已过期',  
22 - `get_type` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '获取方式1订单2.直接领取3.活动领取 4转赠 5分享获取',  
23 - `fetch_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '领取时间',  
24 - `use_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '使用时间',  
25 - `start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '可使用的开始时间',  
26 - `end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '有效期结束时间',  
27 - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',  
28 - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
29 - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',  
30 - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
31 - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',  
32 - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',  
33 - PRIMARY KEY (`id`) USING BTREE  
34 -) ENGINE = InnoDB  
35 - AUTO_INCREMENT = 119  
36 - CHARACTER SET = utf8mb4  
37 - COLLATE = utf8mb4_unicode_ci COMMENT = '优惠券';  
38 -  
39 -DROP TABLE IF EXISTS `coupon_templete`;  
40 -CREATE TABLE `coupon_templete`  
41 -(  
42 - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',  
43 - `type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '优惠券类型 reward-满减 discount-折扣 random-随机',  
44 - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '优惠券名称',  
45 - `coupon_name_remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '名称备注',  
46 - `image` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '优惠券图片',  
47 - `count` int(11) NOT NULL DEFAULT 0 COMMENT '发放数量',  
48 - `lead_count` int(11) NOT NULL DEFAULT 0 COMMENT '已领取数量',  
49 - `used_count` int(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '已使用数量',  
50 - `goods_type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '适用商品类型1-全部商品可用;2-指定商品可用;3-指定商品不可用',  
51 - `product_ids` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '适用商品id',  
52 - `has_use_limit` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '使用门槛0-无门槛 1-有门槛',  
53 - `at_least` decimal(10, 2) NOT NULL DEFAULT 0 COMMENT '满多少元使用 0代表无限制',  
54 - `money` decimal(10, 2) NOT NULL DEFAULT 0 COMMENT '发放面额 当type为reward时需要添加',  
55 - `discount` decimal(10, 2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '1 =< 折扣 <= 9.9 当type为discount时需要添加',  
56 - `discount_limit` decimal(10, 2) NOT NULL DEFAULT 0 COMMENT '最多折扣金额 当type为discount时可选择性添加',  
57 - `min_money` decimal(10, 2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '最低金额 当type为radom时需要添加',  
58 - `max_money` decimal(10, 2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '最大金额 当type为radom时需要添加',  
59 - `validity_type` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '过期类型1-时间范围过期 2-领取之日固定日期后过期 3-领取次日固定日期后过期',  
60 - `start_use_time` datetime COMMENT '使用开始日期 过期类型1时必填',  
61 - `end_use_time` datetime COMMENT '使用结束日期 过期类型1时必填',  
62 - `fixed_term` int(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效',  
63 - `whether_limitless` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否无限制0-否 1是',  
64 - `max_fetch` int(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '每人最大领取个数',  
65 - `whether_expire_notice` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否开启过期提醒0-不开启 1-开启',  
66 - `expire_notice_fixed_term` int(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '过期前N天提醒',  
67 - `whether_forbid_preference` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '优惠叠加 0-不限制 1- 优惠券仅原价购买商品时可用',  
68 - `whether_show` int(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否显示',  
69 - `discount_order_money` decimal(10, 2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '订单的优惠总金额',  
70 - `order_money` decimal(10, 2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用券总成交额',  
71 - `whether_forbidden` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否禁止发放0-否 1-是',  
72 - `order_goods_num` int(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '使用优惠券购买的商品数量',  
73 - `status` tinyint(11) NOT NULL DEFAULT 0 COMMENT '状态(1进行中2已结束-1已关闭)',  
74 - `end_time` datetime COMMENT '有效日期结束时间',  
75 - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',  
76 - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
77 - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',  
78 - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
79 - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',  
80 - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',  
81 - PRIMARY KEY (`id`) USING BTREE  
82 -) ENGINE = InnoDB  
83 - AUTO_INCREMENT = 119  
84 - CHARACTER SET = utf8mb4  
85 - COLLATE = utf8mb4_unicode_ci COMMENT = '优惠券模板';  
86 \ No newline at end of file 0 \ No newline at end of file
sql/optional/mall/mall.sql deleted
1 -/*  
2 - Navicat Premium Data Transfer  
3 -  
4 - Source Server : 127.0.0.1 MySQL  
5 - Source Server Type : MySQL  
6 - Source Server Version : 80026  
7 - Source Host : localhost:3306  
8 - Source Schema : ruoyi-vue-pro  
9 -  
10 - Target Server Type : MySQL  
11 - Target Server Version : 80026  
12 - File Encoding : 65001  
13 -  
14 - Date: 01/08/2022 23:01:36  
15 -*/  
16 -  
17 -SET NAMES utf8mb4;  
18 -SET FOREIGN_KEY_CHECKS = 0;  
19 -  
20 --- ----------------------------  
21 --- Table structure for market_activity  
22 --- ----------------------------  
23 -DROP TABLE IF EXISTS `market_activity`;  
24 -CREATE TABLE `market_activity` (  
25 - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '活动编号',  
26 - `title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '活动标题',  
27 - `activity_type` tinyint NOT NULL COMMENT '活动类型',  
28 - `status` tinyint NOT NULL DEFAULT -1 COMMENT '活动状态',  
29 - `start_time` datetime NOT NULL COMMENT '开始时间',  
30 - `end_time` datetime NOT NULL COMMENT '结束时间',  
31 - `invalid_time` datetime NULL DEFAULT NULL COMMENT '失效时间',  
32 - `delete_time` datetime NULL DEFAULT NULL COMMENT '删除时间',  
33 - `time_limited_discount` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '限制折扣字符串,使用 JSON 序列化成字符串存储',  
34 - `full_privilege` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '限制折扣字符串,使用 JSON 序列化成字符串存储',  
35 - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',  
36 - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
37 - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',  
38 - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
39 - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',  
40 - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',  
41 - PRIMARY KEY (`id`) USING BTREE  
42 -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '促销活动';  
43 -  
44 --- ----------------------------  
45 --- Records of market_activity  
46 --- ----------------------------  
47 -BEGIN;  
48 -COMMIT;  
49 -  
50 --- ----------------------------  
51 --- Table structure for market_banner  
52 --- ----------------------------  
53 -DROP TABLE IF EXISTS `market_banner`;  
54 -CREATE TABLE `market_banner` (  
55 - `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'Banner编号',  
56 - `title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'Banner标题',  
57 - `pic_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '图片URL',  
58 - `status` tinyint NOT NULL DEFAULT -1 COMMENT '活动状态',  
59 - `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '跳转地址',  
60 - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',  
61 - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
62 - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',  
63 - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
64 - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',  
65 - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',  
66 - `sort` tinyint NULL DEFAULT NULL COMMENT '排序',  
67 - `memo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '描述',  
68 - PRIMARY KEY (`id`) USING BTREE  
69 -) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'Banner管理';  
70 -  
71 --- ----------------------------  
72 --- Records of market_banner  
73 --- ----------------------------  
74 -BEGIN;  
75 -COMMIT;  
76 -  
77 --- ----------------------------  
78 --- Table structure for member_address  
79 --- ----------------------------  
80 -DROP TABLE IF EXISTS `member_address`;  
81 -CREATE TABLE `member_address` (  
82 - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '收件地址编号',  
83 - `user_id` bigint NOT NULL COMMENT '用户编号',  
84 - `name` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '收件人名称',  
85 - `mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '手机号',  
86 - `area_id` bigint NOT NULL COMMENT '地区编码',  
87 - `post_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮编',  
88 - `detail_address` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '收件详细地址',  
89 - `defaulted` bit(1) NOT NULL COMMENT '是否默认',  
90 - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',  
91 - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
92 - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',  
93 - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
94 - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',  
95 - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',  
96 - PRIMARY KEY (`id`) USING BTREE,  
97 - INDEX `idx_userId`(`user_id` ASC) USING BTREE  
98 -) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户收件地址';  
99 -  
100 --- ----------------------------  
101 --- Records of member_address  
102 --- ----------------------------  
103 -BEGIN;  
104 -INSERT INTO `member_address` (`id`, `user_id`, `name`, `mobile`, `area_id`, `post_code`, `detail_address`, `defaulted`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (21, 1, 'yunai', '15601691300', 610632, '200000', '芋道源码 233 号 666 室', b'1', '1', '2022-08-01 22:46:35', '1', '2022-08-01 22:46:35', b'0', 1);  
105 -COMMIT;  
106 -  
107 --- ----------------------------  
108 --- Table structure for product_brand  
109 --- ----------------------------  
110 -DROP TABLE IF EXISTS `product_brand`;  
111 -CREATE TABLE `product_brand` (  
112 - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '品牌编号',  
113 - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '品牌名称',  
114 - `pic_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '品牌图片',  
115 - `sort` int NULL DEFAULT 0 COMMENT '品牌排序',  
116 - `description` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '品牌描述',  
117 - `status` tinyint NOT NULL COMMENT '状态',  
118 - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',  
119 - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
120 - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',  
121 - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
122 - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',  
123 - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',  
124 - PRIMARY KEY (`id`) USING BTREE  
125 -) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '商品品牌';  
126 -  
127 --- ----------------------------  
128 --- Records of product_brand  
129 --- ----------------------------  
130 -BEGIN;  
131 -INSERT INTO `product_brand` (`id`, `name`, `pic_url`, `sort`, `description`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, '苹果', 'http://test.yudao.iocoder.cn/e3726713fa56db5717c78c011762fcc7a251db12735c3581470638b8e1fa17e2.jpeg', 0, '是上市', 0, '1', '2022-07-30 22:12:18', '1', '2022-07-30 22:13:55', b'0', 1);  
132 -COMMIT;  
133 -  
134 --- ----------------------------  
135 --- Table structure for product_category  
136 --- ----------------------------  
137 -DROP TABLE IF EXISTS `product_category`;  
138 -CREATE TABLE `product_category` (  
139 - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '分类编号',  
140 - `parent_id` bigint NOT NULL COMMENT '父分类编号',  
141 - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '分类名称',  
142 - `pic_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '分类图片',  
143 - `sort` int NULL DEFAULT 0 COMMENT '分类排序',  
144 - `description` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '分类描述',  
145 - `status` tinyint NOT NULL COMMENT '开启状态',  
146 - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',  
147 - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
148 - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',  
149 - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
150 - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',  
151 - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',  
152 - PRIMARY KEY (`id`) USING BTREE  
153 -) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '商品分类';  
154 -  
155 --- ----------------------------  
156 --- Records of product_category  
157 --- ----------------------------  
158 -BEGIN;  
159 -INSERT INTO `product_category` (`id`, `parent_id`, `name`, `pic_url`, `sort`, `description`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, 0, '电脑办公', 'http://test.yudao.iocoder.cn/122d548e1b3cd5dec72fe8075c6977a70f9cc13541a684ab3685f1b5df42f6bd.jpeg', 1, '1234', 0, '1', '2022-07-30 16:36:35', '1', '2022-07-30 20:27:16', b'0', 1), (2, 1, '笔记本', 'http://test.yudao.iocoder.cn/72713ac7b947600a019a18786ed0e6562e8692e253dbd35110a0a85c2469bbec.jpg', 1, '<p>测试一下</p>', 0, '1', '2022-07-30 16:38:09', '1', '2022-07-30 16:38:09', b'0', 1), (3, 1, '游戏本', 'http://test.yudao.iocoder.cn/287c50dd9f5f575f57329a0c57b2095be6d1aeba83867b905fe549f54a296feb.jpg', 2, '<p>测试一下</p>', 0, '1', '2022-07-30 16:39:09', '1', '2022-07-30 20:26:59', b'0', 1), (4, 0, '手机', 'http://test.yudao.iocoder.cn/e1b63900c78dbb661b3e383960cee5cfea7e1dd2fb22cff2e317ff025faaf8b2.jpeg', 2, '<p>123</p>', 0, '1', '2022-07-30 16:40:00', '1', '2022-07-30 16:40:09', b'0', 1), (5, 4, '5G手机', 'http://test.yudao.iocoder.cn/3af6557ac7def6423f046f5b2e920b644793420b466959aaa996a2e19068bbde.jpeg', 1, '<p><br></p>', 0, '1', '2022-07-30 16:43:00', '1', '2022-07-30 16:43:00', b'0', 1), (6, 4, '游戏手机', 'http://test.yudao.iocoder.cn/964fe9ccd1710d64ede261dc36d231918a017641986c15293c367f9f66d94d05.jpeg', 2, NULL, 0, '1', '2022-07-30 16:43:44', '1', '2022-07-30 16:43:44', b'0', 1), (7, 5, '厉害的 5G 手机', 'http://test.yudao.iocoder.cn/b287122f277838e8de368769b96217918605743bc45f3a29bda3cc7359dc66e1.png', 0, '123', 0, '1', '2022-07-30 20:38:09', '1', '2022-07-30 20:38:09', b'0', 1);  
160 -COMMIT;  
161 -  
162 --- ----------------------------  
163 --- Table structure for product_property  
164 --- ----------------------------  
165 -DROP TABLE IF EXISTS `product_property`;  
166 -CREATE TABLE `product_property` (  
167 - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',  
168 - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '规格名称',  
169 - `status` tinyint NULL DEFAULT NULL COMMENT '状态: 0 开启 ,1 禁用',  
170 - `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
171 - `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
172 - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',  
173 - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',  
174 - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',  
175 - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',  
176 - PRIMARY KEY (`id`) USING BTREE,  
177 - INDEX `idx_name`(`name`(32) ASC) USING BTREE COMMENT '规格名称索引'  
178 -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '规格名称';  
179 -  
180 --- ----------------------------  
181 --- Records of product_property  
182 --- ----------------------------  
183 -BEGIN;  
184 -COMMIT;  
185 -  
186 --- ----------------------------  
187 --- Table structure for product_property_value  
188 --- ----------------------------  
189 -DROP TABLE IF EXISTS `product_property_value`;  
190 -CREATE TABLE `product_property_value` (  
191 - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',  
192 - `property_id` bigint NULL DEFAULT NULL COMMENT '规格键id',  
193 - `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '规格值名字',  
194 - `status` tinyint NULL DEFAULT NULL COMMENT '状态: 1 开启 ,2 禁用',  
195 - `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
196 - `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
197 - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',  
198 - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',  
199 - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',  
200 - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',  
201 - PRIMARY KEY (`id`) USING BTREE  
202 -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '规格值';  
203 -  
204 --- ----------------------------  
205 --- Records of product_property_value  
206 --- ----------------------------  
207 -BEGIN;  
208 -COMMIT;  
209 -  
210 --- ----------------------------  
211 --- Table structure for product_sku  
212 --- ----------------------------  
213 -DROP TABLE IF EXISTS `product_sku`;  
214 -CREATE TABLE `product_sku` (  
215 - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',  
216 - `spu_id` bigint NOT NULL COMMENT 'spu编号',  
217 - `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',  
218 - `name` varchar(128) DEFAULT NULL COMMENT '商品 SKU 名字',  
219 - `properties` varchar(128) DEFAULT NULL COMMENT '规格值数组-json格式, [{propertId: , valueId: }, {propertId: , valueId: }]',  
220 - `price` int NOT NULL DEFAULT '-1' COMMENT '销售价格,单位:分',  
221 - `market_price` int DEFAULT NULL COMMENT '市场价',  
222 - `cost_price` int NOT NULL DEFAULT '-1' COMMENT '成本价,单位: 分',  
223 - `pic_url` varchar(128) NOT NULL COMMENT '图片地址',  
224 - `stock` int DEFAULT NULL COMMENT '库存',  
225 - `warn_stock` int DEFAULT NULL COMMENT '预警库存',  
226 - `volume` double DEFAULT NULL COMMENT '商品体积',  
227 - `weight` double DEFAULT NULL COMMENT '商品重量',  
228 - `bar_code` varchar(64) DEFAULT NULL COMMENT '条形码',  
229 - `status` tinyint DEFAULT NULL COMMENT '状态: 0-正常 1-禁用',  
230 - `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
231 - `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
232 - `creator` varchar(64) DEFAULT NULL COMMENT '创建人',  
233 - `updater` double(64,0) DEFAULT NULL COMMENT '更新人',  
234 -`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',  
235 -PRIMARY KEY (`id`) USING BTREE  
236 -) ENGINE=InnoDB COMMENT='商品sku';  
237 -  
238 --- ----------------------------  
239 --- Records of product_sku  
240 --- ----------------------------  
241 -BEGIN;  
242 -COMMIT;  
243 -  
244 --- ----------------------------  
245 --- Table structure for product_spu  
246 --- ----------------------------  
247 -DROP TABLE IF EXISTS `product_spu`;  
248 -CREATE TABLE `product_spu` (  
249 - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',  
250 - `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',  
251 - `brand_id` bigint DEFAULT NULL COMMENT '商品品牌编号',  
252 - `category_id` bigint NOT NULL COMMENT '分类id',  
253 - `spec_type` int NOT NULL COMMENT '规格类型:0 单规格 1 多规格',  
254 - `code` varchar(128) DEFAULT NULL COMMENT '商品编码',  
255 - `name` varchar(128) NOT NULL COMMENT '商品名称',  
256 - `sell_point` varchar(128) DEFAULT NULL COMMENT '卖点',  
257 - `description` text COMMENT '描述',  
258 - `pic_urls` varchar(1024) DEFAULT '' COMMENT '商品轮播图地址\n 数组,以逗号分隔\n 最多上传15张',  
259 - `video_url` varchar(128) DEFAULT NULL COMMENT '商品视频',  
260 - `market_price` int DEFAULT NULL COMMENT '市场价,单位使用:分',  
261 - `min_price` int DEFAULT NULL COMMENT '最小价格,单位使用:分',  
262 - `max_price` int DEFAULT NULL COMMENT '最大价格,单位使用:分',  
263 - `total_stock` int NOT NULL DEFAULT '0' COMMENT '总库存',  
264 - `show_stock` int DEFAULT '0' COMMENT '是否展示库存',  
265 - `sales_count` int DEFAULT '0' COMMENT '商品销量',  
266 - `virtual_sales_count` int DEFAULT '0' COMMENT '虚拟销量',  
267 - `click_count` int DEFAULT '0' COMMENT '商品点击量',  
268 - `status` bit(1) DEFAULT NULL COMMENT '上下架状态: 0 上架(开启) 1 下架(禁用)-1 回收',  
269 - `sort` int NOT NULL DEFAULT '0' COMMENT '排序字段',  
270 - `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
271 - `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
272 - `creator` varchar(64) DEFAULT NULL COMMENT '创建人',  
273 - `updater` varchar(64) DEFAULT NULL COMMENT '更新人',  
274 - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',  
275 - PRIMARY KEY (`id`) USING BTREE  
276 -) ENGINE=InnoDB COMMENT='商品spu';  
277 -  
278 --- ----------------------------  
279 --- Records of product_spu  
280 --- ----------------------------  
281 -BEGIN;  
282 -COMMIT;  
283 -  
284 -SET FOREIGN_KEY_CHECKS = 1;  
285 -  
286 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2000, '商品中心', '', 1, 60, 0, '/product', 'merchant', NULL, 0, b'1', b'1', '', '2022-07-29 15:53:53', '1', '2022-07-30 22:26:19', b'0');  
287 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2002, '商品分类', '', 2, 2, 2000, 'category', 'dict', 'mall/product/category/index', 0, b'1', b'1', '', '2022-07-29 15:53:53', '1', '2022-07-30 22:23:37', b'0');  
288 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2003, '分类查询', 'product:category:query', 3, 1, 2002, '', '', '', 0, b'1', b'1', '', '2022-07-29 15:53:53', '', '2022-07-29 15:53:53', b'0');  
289 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2004, '分类创建', 'product:category:create', 3, 2, 2002, '', '', '', 0, b'1', b'1', '', '2022-07-29 15:53:53', '', '2022-07-29 15:53:53', b'0');  
290 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2005, '分类更新', 'product:category:update', 3, 3, 2002, '', '', '', 0, b'1', b'1', '', '2022-07-29 15:53:53', '', '2022-07-29 15:53:53', b'0');  
291 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2006, '分类删除', 'product:category:delete', 3, 4, 2002, '', '', '', 0, b'1', b'1', '', '2022-07-29 15:53:53', '', '2022-07-29 15:53:53', b'0');  
292 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2007, '分类导出', 'product:category:export', 3, 5, 2002, '', '', '', 0, b'1', b'1', '', '2022-07-29 15:53:53', '', '2022-07-30 13:52:13', b'1');  
293 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2008, '商品品牌', '', 2, 1, 2000, 'brand', 'dashboard', 'mall/product/brand/index', 0, b'1', b'1', '', '2022-07-30 13:52:44', '1', '2022-07-30 22:23:43', b'0');  
294 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2009, '品牌查询', 'product:brand:query', 3, 1, 2008, '', '', '', 0, b'1', b'1', '', '2022-07-30 13:52:44', '', '2022-07-30 13:52:44', b'0');  
295 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2010, '品牌创建', 'product:brand:create', 3, 2, 2008, '', '', '', 0, b'1', b'1', '', '2022-07-30 13:52:44', '', '2022-07-30 13:52:44', b'0');  
296 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2011, '品牌更新', 'product:brand:update', 3, 3, 2008, '', '', '', 0, b'1', b'1', '', '2022-07-30 13:52:44', '', '2022-07-30 13:52:44', b'0');  
297 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2012, '品牌删除', 'product:brand:delete', 3, 4, 2008, '', '', '', 0, b'1', b'1', '', '2022-07-30 13:52:44', '', '2022-07-30 13:52:44', b'0');  
298 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2013, '品牌导出', 'product:brand:export', 3, 5, 2008, '', '', '', 0, b'1', b'1', '', '2022-07-30 13:52:44', '', '2022-07-30 14:15:00', b'1');  
299 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2014, '商品管理', '', 2, 0, 2000, 'spu', 'link', 'mall/product/spu/index', 0, b'1', b'1', '', '2022-07-30 14:22:58', '1', '2022-07-30 22:26:35', b'0');  
300 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2015, '商品查询', 'product:spu:query', 3, 1, 2014, '', '', '', 0, b'1', b'1', '', '2022-07-30 14:22:58', '', '2022-07-30 14:22:58', b'0');  
301 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2016, '商品创建', 'product:spu:create', 3, 2, 2014, '', '', '', 0, b'1', b'1', '', '2022-07-30 14:22:58', '', '2022-07-30 14:22:58', b'0');  
302 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2017, '商品更新', 'product:spu:update', 3, 3, 2014, '', '', '', 0, b'1', b'1', '', '2022-07-30 14:22:58', '', '2022-07-30 14:22:58', b'0');  
303 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2018, '商品删除', 'product:spu:delete', 3, 4, 2014, '', '', '', 0, b'1', b'1', '', '2022-07-30 14:22:58', '', '2022-07-30 14:22:58', b'0');  
304 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2019, '规格管理', '', 2, 3, 2000, 'property', '', 'mall/product/property/index', 0, b'1', b'1', '', '2022-08-01 14:55:35', '', '2022-08-01 14:55:35', b'0');  
305 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2020, '规格查询', 'product:property:query', 3, 1, 2019, '', '', '', 0, b'1', b'1', '', '2022-08-01 14:55:35', '', '2022-08-01 14:55:35', b'0');  
306 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2021, '规格创建', 'product:property:create', 3, 2, 2019, '', '', '', 0, b'1', b'1', '', '2022-08-01 14:55:35', '', '2022-08-01 14:55:35', b'0');  
307 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2022, '规格更新', 'product:property:update', 3, 3, 2019, '', '', '', 0, b'1', b'1', '', '2022-08-01 14:55:35', '', '2022-08-01 14:55:35', b'0');  
308 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2023, '规格删除', 'product:property:delete', 3, 4, 2019, '', '', '', 0, b'1', b'1', '', '2022-08-01 14:55:35', '', '2022-08-01 14:55:35', b'0');  
309 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2024, '规格导出', 'product:property:export', 3, 5, 2019, '', '', '', 0, b'1', b'1', '', '2022-08-01 14:55:35', '', '2022-08-01 14:55:35', b'0');  
310 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2025, 'Banner管理', '', 2, 1, 2000, 'banner', '', 'mall/market/banner/index', 0, b'1', b'1', '', '2022-08-01 14:56:14', '', '2022-08-01 14:56:14', b'0');  
311 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2026, 'Banner查询', 'market:banner:query', 3, 1, 2025, '', '', '', 0, b'1', b'1', '', '2022-08-01 14:56:14', '', '2022-08-01 14:56:14', b'0');  
312 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2027, 'Banner创建', 'market:banner:create', 3, 2, 2025, '', '', '', 0, b'1', b'1', '', '2022-08-01 14:56:14', '', '2022-08-01 14:56:14', b'0');  
313 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2028, 'Banner更新', 'market:banner:update', 3, 3, 2025, '', '', '', 0, b'1', b'1', '', '2022-08-01 14:56:14', '', '2022-08-01 14:56:14', b'0');  
314 -INSERT INTO `ruoyi-vue-pro`.`system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2029, 'Banner删除', 'market:banner:delete', 3, 4, 2025, '', '', '', 0, b'1', b'1', '', '2022-08-01 14:56:14', '', '2022-08-01 14:56:14', b'0');  
315 -  
sql/optional/mall/order.sql deleted
1 -/**todo cancelType 设置默认值 0?*/  
2 -DROP TABLE IF EXISTS `trade_order`;  
3 -CREATE TABLE `trade_order`  
4 -(  
5 - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',  
6 - `sn` varchar(32) NOT NULL COMMENT '订单流水号',  
7 - `type` int NOT NULL DEFAULT '0' COMMENT '订单类型:[0:普通订单 1:秒杀订单 2:拼团订单 3:砍价订单]',  
8 - `terminal` int NOT NULL COMMENT '订单来源终端:[1:小程序 2:H5 3:iOS 4:安卓]',  
9 - `user_id` bigint unsigned NOT NULL COMMENT '用户编号',  
10 - `user_ip` varchar(30) NOT NULL DEFAULT '' COMMENT '用户 IP',  
11 - `user_remark` varchar(200) DEFAULT NULL COMMENT '用户备注',  
12 - `status` int NOT NULL DEFAULT '0' COMMENT '订单状态:[0:待付款 1:待发货 2:待收货 3:已完成 4:已关闭]',  
13 - `product_count` int NOT NULL COMMENT '购买的商品数量',  
14 - `cancel_type` int DEFAULT NULL COMMENT '取消类型:[10:超时未支付 20:退款关闭 30:买家取消 40:已通过货到付款交易]',  
15 - `remark` varchar(200) DEFAULT NULL COMMENT '商家备注',  
16 - `payed` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否已支付:[0:未支付 1:已经支付过]',  
17 - `pay_time` datetime DEFAULT NULL COMMENT '订单支付时间',  
18 - `finish_time` datetime DEFAULT NULL COMMENT '订单完成时间',  
19 - `cancel_time` datetime DEFAULT NULL COMMENT '订单取消时间',  
20 - `sku_original_price` int NOT NULL DEFAULT '0' COMMENT '商品原价(总),单位:分',  
21 - `sku_promotion_price` int NOT NULL DEFAULT '0' COMMENT '商品优惠(总),单位:分',  
22 - `order_promotion_price` int NOT NULL DEFAULT '0' COMMENT '订单优惠(总),单位:分',  
23 - `delivery_price` int NOT NULL DEFAULT '0' COMMENT '运费金额,单位:分',  
24 - `pay_price` int NOT NULL DEFAULT '0' COMMENT '应付金额(总),单位:分',  
25 - `pay_order_id` int DEFAULT NULL COMMENT '支付订单编号',  
26 - `pay_channel` int DEFAULT NULL COMMENT '支付成功的支付渠道',  
27 - `delivery_type` int DEFAULT NULL DEFAULT '1' COMMENT '配送方式:[1:快递发货 2:自提]',  
28 - `actual_delivery_type` int DEFAULT NULL DEFAULT '1' COMMENT '实际的配送方式:[1:快递发货 2:自提]',  
29 - `delivery_template_id` int DEFAULT NULL COMMENT '配置模板的编号',  
30 - `express_no` int DEFAULT NULL COMMENT '物流公司单号',  
31 - `delivery_status` bit(1) NOT NULL DEFAULT b'0' COMMENT '发货状态[0:未发货 1:已发货]',  
32 - `delivery_time` datetime DEFAULT NULL COMMENT '发货时间',  
33 - `receive_time` datetime DEFAULT NULL COMMENT '收货时间',  
34 - `receiver_name` varchar(20) NOT NULL COMMENT '收件人名称',  
35 - `receiver_mobile` varchar(20) NOT NULL COMMENT '收件人手机',  
36 - `receiver_area_id` int NOT NULL COMMENT '收件人地区编号',  
37 - `receiver_post_code` int DEFAULT NULL COMMENT '收件人邮编',  
38 - `receiver_detail_address` varchar(255) NOT NULL COMMENT '收件人详细地址',  
39 - `refund_status` int NOT NULL DEFAULT '0' COMMENT '订单状态:[0:未退款 1:部分退款 2:全部退款]',  
40 - `refund_price` int NOT NULL DEFAULT '0' COMMENT '退款金额,单位:分',  
41 - `coupon_id` bigint unsigned NOT NULL COMMENT '优惠劵编号',  
42 - `creator` varchar(64) DEFAULT '' COMMENT '创建者',  
43 - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
44 - `updater` varchar(64) DEFAULT '' COMMENT '更新者',  
45 - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
46 - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',  
47 - PRIMARY KEY (`id`) USING BTREE  
48 -) ENGINE = InnoDB COMMENT ='交易订单表';  
49 -  
50 -  
51 -DROP TABLE IF EXISTS `trade_order_item`;  
52 -CREATE TABLE `trade_order_item`  
53 -(  
54 - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',  
55 - `user_id` bigint unsigned NOT NULL COMMENT '用户编号',  
56 - `order_Id` bigint unsigned NOT NULL COMMENT '订单编号',  
57 - `spu_id` bigint unsigned NOT NULL COMMENT '商品 SPU 编号',  
58 - `sku_id` bigint unsigned NOT NULL COMMENT '商品 SKU 编号',  
59 - `properties` json DEFAULT NULL COMMENT '规格值数组,JSON 格式',  
60 - `name` varchar(128) NOT NULL DEFAULT '' COMMENT '商品名称',  
61 - `pic_url` varchar(200) DEFAULT NULL COMMENT '商品图片',  
62 - `count` int NOT NULL COMMENT '购买数量',  
63 - `commented` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否评论:[0:未评论 1:已评论]',  
64 - `original_price` int NOT NULL DEFAULT '0' COMMENT '商品原价(单),单位:分',  
65 - `total_original_price` int NOT NULL DEFAULT '0' COMMENT '商品原价(总),单位:分',  
66 - `total_promotion_price` int NOT NULL DEFAULT '0' COMMENT '商品级优惠(总),单位:分',  
67 - `present_price` int NOT NULL DEFAULT '0' COMMENT '最终购买金额(单),单位:分。',  
68 - `total_present_price` int NOT NULL DEFAULT '0' COMMENT '最终购买金额(总),单位:分。',  
69 - `total_pay_price` int NOT NULL DEFAULT '0' COMMENT '应付金额(总),单位:分',  
70 - `refund_status` int NOT NULL DEFAULT '0' COMMENT '退款状态:[0:未申请退款 1:申请退款 2:等待退款 3:退款成功]',  
71 - `refund_total` int NOT NULL DEFAULT '0' COMMENT '退款总金额,单位:分',  
72 - `creator` varchar(64) DEFAULT '' COMMENT '创建者',  
73 - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
74 - `updater` varchar(64) DEFAULT '' COMMENT '更新者',  
75 - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
76 - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',  
77 - PRIMARY KEY (`id`) USING BTREE  
78 -) ENGINE = InnoDB COMMENT ='交易订单明细表';  
yudao-dependencies/pom.xml
@@ -14,11 +14,11 @@ @@ -14,11 +14,11 @@
14 <url>https://github.com/YunaiV/ruoyi-vue-pro</url> 14 <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
15 15
16 <properties> 16 <properties>
17 - <revision>1.6.6-snapshot</revision> 17 + <revision>1.7.0-snapshot</revision>
18 <!-- 统一依赖管理 --> 18 <!-- 统一依赖管理 -->
19 - <spring.boot.version>2.7.7</spring.boot.version> 19 + <spring.boot.version>2.7.8</spring.boot.version>
20 <!-- Web 相关 --> 20 <!-- Web 相关 -->
21 - <knife4j.version>3.0.3</knife4j.version> 21 + <knife4j.version>4.0.0</knife4j.version>
22 <swagger-annotations.version>1.6.8</swagger-annotations.version> 22 <swagger-annotations.version>1.6.8</swagger-annotations.version>
23 <servlet.versoin>2.5</servlet.versoin> 23 <servlet.versoin>2.5</servlet.versoin>
24 <!-- DB 相关 --> 24 <!-- DB 相关 -->
@@ -32,7 +32,7 @@ @@ -32,7 +32,7 @@
32 <resilience4j.version>1.7.1</resilience4j.version> 32 <resilience4j.version>1.7.1</resilience4j.version>
33 <!-- 监控相关 --> 33 <!-- 监控相关 -->
34 <skywalking.version>8.12.0</skywalking.version> 34 <skywalking.version>8.12.0</skywalking.version>
35 - <spring-boot-admin.version>2.7.9</spring-boot-admin.version> 35 + <spring-boot-admin.version>2.7.10</spring-boot-admin.version>
36 <opentracing.version>0.33.0</opentracing.version> 36 <opentracing.version>0.33.0</opentracing.version>
37 <!-- Test 测试相关 --> 37 <!-- Test 测试相关 -->
38 <podam.version>7.2.11.RELEASE</podam.version> 38 <podam.version>7.2.11.RELEASE</podam.version>
@@ -41,10 +41,12 @@ @@ -41,10 +41,12 @@
41 <!-- Bpm 工作流相关 --> 41 <!-- Bpm 工作流相关 -->
42 <flowable.version>6.8.0</flowable.version> 42 <flowable.version>6.8.0</flowable.version>
43 <!-- 工具类相关 --> 43 <!-- 工具类相关 -->
  44 + <captcha-plus.version>1.0.2</captcha-plus.version>
  45 + <jsoup.version>1.15.3</jsoup.version>
44 <lombok.version>1.18.24</lombok.version> 46 <lombok.version>1.18.24</lombok.version>
45 <mapstruct.version>1.5.3.Final</mapstruct.version> 47 <mapstruct.version>1.5.3.Final</mapstruct.version>
46 <hutool.version>5.8.11</hutool.version> 48 <hutool.version>5.8.11</hutool.version>
47 - <easyexcel.verion>3.1.4</easyexcel.verion> 49 + <easyexcel.verion>3.2.0</easyexcel.verion>
48 <velocity.version>2.3</velocity.version> 50 <velocity.version>2.3</velocity.version>
49 <screw.version>1.0.5</screw.version> 51 <screw.version>1.0.5</screw.version>
50 <fastjson.version>1.2.83</fastjson.version> 52 <fastjson.version>1.2.83</fastjson.version>
@@ -54,19 +56,19 @@ @@ -54,19 +56,19 @@
54 <commons-net.version>3.8.0</commons-net.version> 56 <commons-net.version>3.8.0</commons-net.version>
55 <jsch.version>0.1.55</jsch.version> 57 <jsch.version>0.1.55</jsch.version>
56 <tika-core.version>2.6.0</tika-core.version> 58 <tika-core.version>2.6.0</tika-core.version>
57 - <aj-captcha.version>1.3.0</aj-captcha.version>  
58 <netty-all.version>4.1.86.Final</netty-all.version> 59 <netty-all.version>4.1.86.Final</netty-all.version>
59 <ip2region.version>2.6.6</ip2region.version> 60 <ip2region.version>2.6.6</ip2region.version>
60 <!-- 三方云服务相关 --> 61 <!-- 三方云服务相关 -->
61 <okio.version>3.0.0</okio.version> 62 <okio.version>3.0.0</okio.version>
62 <okhttp3.version>4.10.0</okhttp3.version> 63 <okhttp3.version>4.10.0</okhttp3.version>
63 - <minio.version>8.4.6</minio.version> 64 + <minio.version>8.5.1</minio.version>
64 <aliyun-java-sdk-core.version>4.6.3</aliyun-java-sdk-core.version> 65 <aliyun-java-sdk-core.version>4.6.3</aliyun-java-sdk-core.version>
65 <aliyun-java-sdk-dysmsapi.version>2.2.1</aliyun-java-sdk-dysmsapi.version> 66 <aliyun-java-sdk-dysmsapi.version>2.2.1</aliyun-java-sdk-dysmsapi.version>
66 - <tencentcloud-sdk-java.version>3.1.660</tencentcloud-sdk-java.version> 67 + <tencentcloud-sdk-java.version>3.1.676</tencentcloud-sdk-java.version>
67 <justauth.version>1.4.0</justauth.version> 68 <justauth.version>1.4.0</justauth.version>
68 <jimureport.version>1.5.6</jimureport.version> 69 <jimureport.version>1.5.6</jimureport.version>
69 <xercesImpl.version>2.12.2</xercesImpl.version> 70 <xercesImpl.version>2.12.2</xercesImpl.version>
  71 + <wx-java-mp.version>4.3.0</wx-java-mp.version>
70 </properties> 72 </properties>
71 73
72 <dependencyManagement> 74 <dependencyManagement>
@@ -141,6 +143,11 @@ @@ -141,6 +143,11 @@
141 <artifactId>yudao-spring-boot-starter-captcha</artifactId> 143 <artifactId>yudao-spring-boot-starter-captcha</artifactId>
142 <version>${revision}</version> 144 <version>${revision}</version>
143 </dependency> 145 </dependency>
  146 + <dependency>
  147 + <groupId>cn.iocoder.boot</groupId>
  148 + <artifactId>yudao-spring-boot-starter-desensitize</artifactId>
  149 + <version>${revision}</version>
  150 + </dependency>
144 151
145 <!-- Spring 核心 --> 152 <!-- Spring 核心 -->
146 <dependency> 153 <dependency>
@@ -165,7 +172,7 @@ @@ -165,7 +172,7 @@
165 172
166 <dependency> 173 <dependency>
167 <groupId>com.github.xiaoymin</groupId> 174 <groupId>com.github.xiaoymin</groupId>
168 - <artifactId>knife4j-spring-boot-starter</artifactId> 175 + <artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
169 <version>${knife4j.version}</version> 176 <version>${knife4j.version}</version>
170 <exclusions> 177 <exclusions>
171 <exclusion> 178 <exclusion>
@@ -447,12 +454,6 @@ @@ -447,12 +454,6 @@
447 </dependency> 454 </dependency>
448 455
449 <dependency> 456 <dependency>
450 - <groupId>com.anji-plus</groupId>  
451 - <artifactId>spring-boot-starter-captcha</artifactId>  
452 - <version>${aj-captcha.version}</version>  
453 - </dependency>  
454 -  
455 - <dependency>  
456 <groupId>org.apache.velocity</groupId> 457 <groupId>org.apache.velocity</groupId>
457 <artifactId>velocity-engine-core</artifactId> 458 <artifactId>velocity-engine-core</artifactId>
458 <version>${velocity.version}</version> 459 <version>${velocity.version}</version>
@@ -517,11 +518,23 @@ @@ -517,11 +518,23 @@
517 </dependency> 518 </dependency>
518 519
519 <dependency> 520 <dependency>
  521 + <groupId>com.xingyuv</groupId>
  522 + <artifactId>spring-boot-starter-captcha-plus</artifactId>
  523 + <version>${captcha-plus.version}</version>
  524 + </dependency>
  525 +
  526 + <dependency>
520 <groupId>org.lionsoul</groupId> 527 <groupId>org.lionsoul</groupId>
521 <artifactId>ip2region</artifactId> 528 <artifactId>ip2region</artifactId>
522 <version>${ip2region.version}</version> 529 <version>${ip2region.version}</version>
523 </dependency> 530 </dependency>
524 531
  532 + <dependency>
  533 + <groupId>org.jsoup</groupId>
  534 + <artifactId>jsoup</artifactId>
  535 + <version>${jsoup.version}</version>
  536 + </dependency>
  537 +
525 <!-- 三方云服务相关 --> 538 <!-- 三方云服务相关 -->
526 <dependency> 539 <dependency>
527 <groupId>com.squareup.okio</groupId> 540 <groupId>com.squareup.okio</groupId>
@@ -578,6 +591,12 @@ @@ -578,6 +591,12 @@
578 <version>${justauth.version}</version> 591 <version>${justauth.version}</version>
579 </dependency> 592 </dependency>
580 593
  594 + <dependency>
  595 + <groupId>com.github.binarywang</groupId>
  596 + <artifactId>wx-java-mp-spring-boot-starter</artifactId>
  597 + <version>${wx-java-mp.version}</version>
  598 + </dependency>
  599 +
581 <!-- 积木报表--> 600 <!-- 积木报表-->
582 <dependency> 601 <dependency>
583 <groupId>org.jeecgframework.jimureport</groupId> 602 <groupId>org.jeecgframework.jimureport</groupId>
yudao-example/yudao-sso-demo-by-code/pom.xml
@@ -21,7 +21,7 @@ @@ -21,7 +21,7 @@
21 <maven.compiler.target>8</maven.compiler.target> 21 <maven.compiler.target>8</maven.compiler.target>
22 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 22 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
23 <!-- 统一依赖管理 --> 23 <!-- 统一依赖管理 -->
24 - <spring.boot.version>2.7.7</spring.boot.version> 24 + <spring.boot.version>2.7.8</spring.boot.version>
25 </properties> 25 </properties>
26 26
27 <dependencyManagement> 27 <dependencyManagement>
yudao-example/yudao-sso-demo-by-password/pom.xml
@@ -21,7 +21,7 @@ @@ -21,7 +21,7 @@
21 <maven.compiler.target>8</maven.compiler.target> 21 <maven.compiler.target>8</maven.compiler.target>
22 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 22 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
23 <!-- 统一依赖管理 --> 23 <!-- 统一依赖管理 -->
24 - <spring.boot.version>2.7.7</spring.boot.version> 24 + <spring.boot.version>2.7.8</spring.boot.version>
25 </properties> 25 </properties>
26 26
27 <dependencyManagement> 27 <dependencyManagement>
yudao-framework/pom.xml
@@ -41,6 +41,7 @@ @@ -41,6 +41,7 @@
41 <module>yudao-spring-boot-starter-flowable</module> 41 <module>yudao-spring-boot-starter-flowable</module>
42 <module>yudao-spring-boot-starter-captcha</module> 42 <module>yudao-spring-boot-starter-captcha</module>
43 <module>yudao-spring-boot-starter-websocket</module> 43 <module>yudao-spring-boot-starter-websocket</module>
  44 + <module>yudao-spring-boot-starter-desensitize</module>
44 </modules> 45 </modules>
45 46
46 <artifactId>yudao-framework</artifactId> 47 <artifactId>yudao-framework</artifactId>
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/date/LocalDateTimeUtils.java
@@ -41,6 +41,11 @@ public class LocalDateTimeUtils { @@ -41,6 +41,11 @@ public class LocalDateTimeUtils {
41 return LocalDateTime.of(year, mouth, day, 0, 0, 0); 41 return LocalDateTime.of(year, mouth, day, 0, 0, 0);
42 } 42 }
43 43
  44 + public static LocalDateTime[] buildBetweenTime(int year1, int mouth1, int day1,
  45 + int year2, int mouth2, int day2) {
  46 + return new LocalDateTime[]{buildTime(year1, mouth1, day1), buildTime(year2, mouth2, day2)};
  47 + }
  48 +
44 /** 49 /**
45 * 判断当前时间是否在该时间范围内 50 * 判断当前时间是否在该时间范围内
46 * 51 *
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/validation/ValidationUtils.java
1 package cn.iocoder.yudao.framework.common.util.validation; 1 package cn.iocoder.yudao.framework.common.util.validation;
2 2
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 -import cn.hutool.core.util.StrUtil;  
5 import org.springframework.util.StringUtils; 4 import org.springframework.util.StringUtils;
6 5
7 import javax.validation.ConstraintViolation; 6 import javax.validation.ConstraintViolation;
yudao-framework/yudao-spring-boot-starter-banner/src/main/java/cn/iocoder/yudao/framework/banner/core/BannerApplicationRunner.java
@@ -40,6 +40,10 @@ public class BannerApplicationRunner implements ApplicationRunner { @@ -40,6 +40,10 @@ public class BannerApplicationRunner implements ApplicationRunner {
40 if (isNotPresent("cn.iocoder.yudao.framework.flowable.config.YudaoFlowableConfiguration")) { 40 if (isNotPresent("cn.iocoder.yudao.framework.flowable.config.YudaoFlowableConfiguration")) {
41 System.out.println("[工作流模块 yudao-module-bpm - 已禁用][参考 https://doc.iocoder.cn/bpm/ 开启]"); 41 System.out.println("[工作流模块 yudao-module-bpm - 已禁用][参考 https://doc.iocoder.cn/bpm/ 开启]");
42 } 42 }
  43 + // 微信公众号
  44 + if (isNotPresent("cn.iocoder.yudao.module.mp.framework.mp.config.MpConfiguration")) {
  45 + System.out.println("[微信公众号 yudao-module-mp - 已禁用][参考 https://doc.iocoder.cn/mp/build/ 开启]");
  46 + }
43 }); 47 });
44 } 48 }
45 49
yudao-framework/yudao-spring-boot-starter-biz-pay/pom.xml
@@ -52,7 +52,7 @@ @@ -52,7 +52,7 @@
52 <dependency> 52 <dependency>
53 <groupId>com.alipay.sdk</groupId> 53 <groupId>com.alipay.sdk</groupId>
54 <artifactId>alipay-sdk-java</artifactId> 54 <artifactId>alipay-sdk-java</artifactId>
55 - <version>4.35.9.ALL</version> 55 + <version>4.35.32.ALL</version>
56 <exclusions> 56 <exclusions>
57 <exclusion> 57 <exclusion>
58 <groupId>org.bouncycastle</groupId> 58 <groupId>org.bouncycastle</groupId>
yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/core/util/TenantUtils.java
@@ -3,6 +3,7 @@ package cn.iocoder.yudao.framework.tenant.core.util; @@ -3,6 +3,7 @@ package cn.iocoder.yudao.framework.tenant.core.util;
3 import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; 3 import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
4 4
5 import java.util.Map; 5 import java.util.Map;
  6 +import java.util.concurrent.Callable;
6 7
7 import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.HEADER_TENANT_ID; 8 import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.HEADER_TENANT_ID;
8 9
@@ -37,6 +38,31 @@ public class TenantUtils { @@ -37,6 +38,31 @@ public class TenantUtils {
37 } 38 }
38 39
39 /** 40 /**
  41 + * 使用指定租户,执行对应的逻辑
  42 + *
  43 + * 注意,如果当前是忽略租户的情况下,会被强制设置成不忽略租户
  44 + * 当然,执行完成后,还是会恢复回去
  45 + *
  46 + * @param tenantId 租户编号
  47 + * @param callable 逻辑
  48 + */
  49 + public static <V> V execute(Long tenantId, Callable<V> callable) {
  50 + Long oldTenantId = TenantContextHolder.getTenantId();
  51 + Boolean oldIgnore = TenantContextHolder.isIgnore();
  52 + try {
  53 + TenantContextHolder.setTenantId(tenantId);
  54 + TenantContextHolder.setIgnore(false);
  55 + // 执行逻辑
  56 + return callable.call();
  57 + } catch (Exception e) {
  58 + throw new RuntimeException(e);
  59 + } finally {
  60 + TenantContextHolder.setTenantId(oldTenantId);
  61 + TenantContextHolder.setIgnore(oldIgnore);
  62 + }
  63 + }
  64 +
  65 + /**
40 * 忽略租户,执行对应的逻辑 66 * 忽略租户,执行对应的逻辑
41 * 67 *
42 * @param runnable 逻辑 68 * @param runnable 逻辑
yudao-framework/yudao-spring-boot-starter-biz-weixin/pom.xml
@@ -34,6 +34,7 @@ @@ -34,6 +34,7 @@
34 <!-- 三方云服务相关 --> 34 <!-- 三方云服务相关 -->
35 <dependency> 35 <dependency>
36 <groupId>com.github.binarywang</groupId> 36 <groupId>com.github.binarywang</groupId>
  37 +<!-- <artifactId>weixin-java-mp</artifactId>-->
37 <artifactId>wx-java-mp-spring-boot-starter</artifactId> 38 <artifactId>wx-java-mp-spring-boot-starter</artifactId>
38 <version>4.4.0</version> 39 <version>4.4.0</version>
39 </dependency> 40 </dependency>
yudao-framework/yudao-spring-boot-starter-captcha/pom.xml
@@ -17,6 +17,10 @@ @@ -17,6 +17,10 @@
17 </description> 17 </description>
18 18
19 <dependencies> 19 <dependencies>
  20 + <dependency>
  21 + <groupId>com.xingyuv</groupId>
  22 + <artifactId>spring-boot-starter-captcha-plus</artifactId>
  23 + </dependency>
20 <!-- Spring 核心 --> 24 <!-- Spring 核心 -->
21 <dependency> 25 <dependency>
22 <groupId>org.springframework.boot</groupId> 26 <groupId>org.springframework.boot</groupId>
@@ -29,11 +33,6 @@ @@ -29,11 +33,6 @@
29 <artifactId>yudao-spring-boot-starter-redis</artifactId> 33 <artifactId>yudao-spring-boot-starter-redis</artifactId>
30 </dependency> 34 </dependency>
31 35
32 - <!-- 验证码相关 -->  
33 - <dependency>  
34 - <groupId>com.anji-plus</groupId>  
35 - <artifactId>spring-boot-starter-captcha</artifactId>  
36 - </dependency>  
37 </dependencies> 36 </dependencies>
38 37
39 </project> 38 </project>
yudao-framework/yudao-spring-boot-starter-captcha/src/main/java/cn/iocoder/yudao/framework/captcha/config/YudaoCaptchaConfiguration.java
@@ -3,7 +3,7 @@ package cn.iocoder.yudao.framework.captcha.config; @@ -3,7 +3,7 @@ package cn.iocoder.yudao.framework.captcha.config;
3 import cn.hutool.core.util.ClassUtil; 3 import cn.hutool.core.util.ClassUtil;
4 import cn.iocoder.yudao.framework.captcha.core.enums.CaptchaRedisKeyConstants; 4 import cn.iocoder.yudao.framework.captcha.core.enums.CaptchaRedisKeyConstants;
5 import cn.iocoder.yudao.framework.captcha.core.service.RedisCaptchaServiceImpl; 5 import cn.iocoder.yudao.framework.captcha.core.service.RedisCaptchaServiceImpl;
6 -import com.anji.captcha.service.CaptchaCacheService; 6 +import com.xingyuv.captcha.service.CaptchaCacheService;
7 import org.springframework.boot.autoconfigure.AutoConfiguration; 7 import org.springframework.boot.autoconfigure.AutoConfiguration;
8 import org.springframework.context.annotation.Bean; 8 import org.springframework.context.annotation.Bean;
9 import org.springframework.data.redis.core.StringRedisTemplate; 9 import org.springframework.data.redis.core.StringRedisTemplate;
yudao-framework/yudao-spring-boot-starter-captcha/src/main/java/cn/iocoder/yudao/framework/captcha/core/enums/CaptchaRedisKeyConstants.java
1 package cn.iocoder.yudao.framework.captcha.core.enums; 1 package cn.iocoder.yudao.framework.captcha.core.enums;
2 2
3 import cn.iocoder.yudao.framework.redis.core.RedisKeyDefine; 3 import cn.iocoder.yudao.framework.redis.core.RedisKeyDefine;
4 -import com.anji.captcha.model.vo.PointVO;  
5 -import org.redisson.api.RLock; 4 +import com.xingyuv.captcha.model.vo.PointVO;
6 5
7 import java.time.Duration; 6 import java.time.Duration;
8 -import java.util.Map;  
9 7
10 -import static cn.iocoder.yudao.framework.redis.core.RedisKeyDefine.KeyTypeEnum.HASH;  
11 import static cn.iocoder.yudao.framework.redis.core.RedisKeyDefine.KeyTypeEnum.STRING; 8 import static cn.iocoder.yudao.framework.redis.core.RedisKeyDefine.KeyTypeEnum.STRING;
12 9
13 /** 10 /**
yudao-framework/yudao-spring-boot-starter-captcha/src/main/java/cn/iocoder/yudao/framework/captcha/core/service/RedisCaptchaServiceImpl.java
1 package cn.iocoder.yudao.framework.captcha.core.service; 1 package cn.iocoder.yudao.framework.captcha.core.service;
2 2
3 -import com.anji.captcha.service.CaptchaCacheService; 3 +import com.xingyuv.captcha.service.CaptchaCacheService;
4 import lombok.AllArgsConstructor; 4 import lombok.AllArgsConstructor;
5 import lombok.NoArgsConstructor; 5 import lombok.NoArgsConstructor;
6 -import lombok.RequiredArgsConstructor;  
7 import org.springframework.data.redis.core.StringRedisTemplate; 6 import org.springframework.data.redis.core.StringRedisTemplate;
8 7
9 import javax.annotation.Resource; 8 import javax.annotation.Resource;
yudao-framework/yudao-spring-boot-starter-captcha/src/main/resources/META-INF/services/com.anji.captcha.service.CaptchaCacheService renamed to yudao-framework/yudao-spring-boot-starter-captcha/src/main/resources/META-INF/services/com.xingyuv.captcha.service.CaptchaCacheService
yudao-framework/yudao-spring-boot-starter-desensitize/pom.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project xmlns="http://maven.apache.org/POM/4.0.0"
  3 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5 + <modelVersion>4.0.0</modelVersion>
  6 + <parent>
  7 + <artifactId>yudao-framework</artifactId>
  8 + <groupId>cn.iocoder.boot</groupId>
  9 + <version>${revision}</version>
  10 + </parent>
  11 +
  12 + <artifactId>yudao-spring-boot-starter-desensitize</artifactId>
  13 + <description>脱敏组件:支持 JSON 返回数据时,将邮箱、手机等字段进行脱敏</description>
  14 +
  15 + <dependencies>
  16 + <dependency>
  17 + <groupId>cn.iocoder.boot</groupId>
  18 + <artifactId>yudao-common</artifactId>
  19 + </dependency>
  20 +
  21 + <!-- jackson -->
  22 + <dependency>
  23 + <groupId>com.fasterxml.jackson.core</groupId>
  24 + <artifactId>jackson-annotations</artifactId>
  25 + </dependency>
  26 + <dependency>
  27 + <groupId>com.fasterxml.jackson.core</groupId>
  28 + <artifactId>jackson-databind</artifactId>
  29 + </dependency>
  30 +
  31 + <!-- Test 测试相关 -->
  32 + <dependency>
  33 + <groupId>cn.iocoder.boot</groupId>
  34 + <artifactId>yudao-spring-boot-starter-test</artifactId>
  35 + <scope>test</scope>
  36 + </dependency>
  37 + </dependencies>
  38 +</project>
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/base/annotation/DesensitizeBy.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.base.annotation;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.base.handler.DesensitizationHandler;
  4 +import cn.iocoder.yudao.framework.desensitize.core.base.serializer.StringDesensitizeSerializer;
  5 +import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
  6 +import com.fasterxml.jackson.databind.annotation.JsonSerialize;
  7 +
  8 +import java.lang.annotation.Documented;
  9 +import java.lang.annotation.ElementType;
  10 +import java.lang.annotation.Retention;
  11 +import java.lang.annotation.RetentionPolicy;
  12 +import java.lang.annotation.Target;
  13 +
  14 +/**
  15 + * 顶级脱敏注解,自定义注解需要使用此注解
  16 + *
  17 + * @author gaibu
  18 + */
  19 +@Documented
  20 +@Target(ElementType.ANNOTATION_TYPE)
  21 +@Retention(RetentionPolicy.RUNTIME)
  22 +@JacksonAnnotationsInside // 此注解是其他所有 jackson 注解的元注解,打上了此注解的注解表明是 jackson 注解的一部分
  23 +@JsonSerialize(using = StringDesensitizeSerializer.class) // 指定序列化器
  24 +public @interface DesensitizeBy {
  25 +
  26 + /**
  27 + * 脱敏处理器
  28 + */
  29 + @SuppressWarnings("rawtypes")
  30 + Class<? extends DesensitizationHandler> handler();
  31 +
  32 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/base/handler/DesensitizationHandler.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.base.handler;
  2 +
  3 +import java.lang.annotation.Annotation;
  4 +
  5 +/**
  6 + * 脱敏处理器接口
  7 + *
  8 + * @author gaibu
  9 + */
  10 +public interface DesensitizationHandler<T extends Annotation> {
  11 +
  12 + /**
  13 + * 脱敏
  14 + *
  15 + * @param origin 原始字符串
  16 + * @param annotation 注解信息
  17 + * @return 脱敏后的字符串
  18 + */
  19 + String desensitize(String origin, T annotation);
  20 +
  21 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/base/serializer/StringDesensitizeSerializer.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.base.serializer;
  2 +
  3 +import cn.hutool.core.annotation.AnnotationUtil;
  4 +import cn.hutool.core.lang.Singleton;
  5 +import cn.hutool.core.util.ArrayUtil;
  6 +import cn.hutool.core.util.ReflectUtil;
  7 +import cn.hutool.core.util.StrUtil;
  8 +import cn.iocoder.yudao.framework.desensitize.core.base.annotation.DesensitizeBy;
  9 +import cn.iocoder.yudao.framework.desensitize.core.base.handler.DesensitizationHandler;
  10 +import com.fasterxml.jackson.core.JsonGenerator;
  11 +import com.fasterxml.jackson.databind.BeanProperty;
  12 +import com.fasterxml.jackson.databind.JsonSerializer;
  13 +import com.fasterxml.jackson.databind.SerializerProvider;
  14 +import com.fasterxml.jackson.databind.ser.ContextualSerializer;
  15 +import com.fasterxml.jackson.databind.ser.std.StdSerializer;
  16 +import lombok.Getter;
  17 +import lombok.Setter;
  18 +
  19 +import java.io.IOException;
  20 +import java.lang.annotation.Annotation;
  21 +import java.lang.reflect.Field;
  22 +
  23 +/**
  24 + * 脱敏序列化器
  25 + *
  26 + * 实现 JSON 返回数据时,使用 {@link DesensitizationHandler} 对声明脱敏注解的字段,进行脱敏处理。
  27 + *
  28 + * @author gaibu
  29 + */
  30 +@SuppressWarnings("rawtypes")
  31 +public class StringDesensitizeSerializer extends StdSerializer<String> implements ContextualSerializer {
  32 +
  33 + @Getter
  34 + @Setter
  35 + private DesensitizationHandler desensitizationHandler;
  36 +
  37 + protected StringDesensitizeSerializer() {
  38 + super(String.class);
  39 + }
  40 +
  41 + @Override
  42 + public JsonSerializer<?> createContextual(SerializerProvider serializerProvider, BeanProperty beanProperty) {
  43 + DesensitizeBy annotation = beanProperty.getAnnotation(DesensitizeBy.class);
  44 + if (annotation == null) {
  45 + return this;
  46 + }
  47 + // 创建一个 StringDesensitizeSerializer 对象,使用 DesensitizeBy 对应的处理器
  48 + StringDesensitizeSerializer serializer = new StringDesensitizeSerializer();
  49 + serializer.setDesensitizationHandler(Singleton.get(annotation.handler()));
  50 + return serializer;
  51 + }
  52 +
  53 + @Override
  54 + @SuppressWarnings("unchecked")
  55 + public void serialize(String value, JsonGenerator gen, SerializerProvider serializerProvider) throws IOException {
  56 + if (StrUtil.isBlank(value)) {
  57 + gen.writeNull();
  58 + return;
  59 + }
  60 + // 获取序列化字段
  61 + Field field = getField(gen);
  62 +
  63 + // 自定义处理器
  64 + DesensitizeBy[] annotations = AnnotationUtil.getCombinationAnnotations(field, DesensitizeBy.class);
  65 + if (ArrayUtil.isEmpty(annotations)) {
  66 + gen.writeString(value);
  67 + return;
  68 + }
  69 + for (Annotation annotation : field.getAnnotations()) {
  70 + if (AnnotationUtil.hasAnnotation(annotation.annotationType(), DesensitizeBy.class)) {
  71 + value = this.desensitizationHandler.desensitize(value, annotation);
  72 + gen.writeString(value);
  73 + return;
  74 + }
  75 + }
  76 + gen.writeString(value);
  77 + }
  78 +
  79 + /**
  80 + * 获取字段
  81 + *
  82 + * @param generator JsonGenerator
  83 + * @return 字段
  84 + */
  85 + private Field getField(JsonGenerator generator) {
  86 + String currentName = generator.getOutputContext().getCurrentName();
  87 + Object currentValue = generator.getCurrentValue();
  88 + Class<?> currentValueClass = currentValue.getClass();
  89 + return ReflectUtil.getField(currentValueClass, currentName);
  90 + }
  91 +
  92 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/package-info.java 0 → 100644
  1 +/**
  2 + * 脱敏组件:支持 JSON 返回数据时,将邮箱、手机等字段进行脱敏
  3 + */
  4 +package cn.iocoder.yudao.framework.desensitize.core;
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/regex/annotation/EmailDesensitize.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.regex.annotation;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.base.annotation.DesensitizeBy;
  4 +import cn.iocoder.yudao.framework.desensitize.core.regex.handler.EmailDesensitizationHandler;
  5 +import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
  6 +
  7 +import java.lang.annotation.Documented;
  8 +import java.lang.annotation.ElementType;
  9 +import java.lang.annotation.Retention;
  10 +import java.lang.annotation.RetentionPolicy;
  11 +import java.lang.annotation.Target;
  12 +
  13 +/**
  14 + * 邮箱脱敏注解
  15 + *
  16 + * @author gaibu
  17 + */
  18 +@Documented
  19 +@Target({ElementType.FIELD})
  20 +@Retention(RetentionPolicy.RUNTIME)
  21 +@JacksonAnnotationsInside
  22 +@DesensitizeBy(handler = EmailDesensitizationHandler.class)
  23 +public @interface EmailDesensitize {
  24 +
  25 + /**
  26 + * 匹配的正则表达式
  27 + */
  28 + String regex() default "(^.)[^@]*(@.*$)";
  29 +
  30 + /**
  31 + * 替换规则,邮箱;
  32 + *
  33 + * 比如:example@gmail.com 脱敏之后为 e****@gmail.com
  34 + */
  35 + String replacer() default "$1****$2";
  36 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/regex/annotation/RegexDesensitize.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.regex.annotation;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.base.annotation.DesensitizeBy;
  4 +import cn.iocoder.yudao.framework.desensitize.core.regex.handler.DefaultRegexDesensitizationHandler;
  5 +import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
  6 +
  7 +import java.lang.annotation.Documented;
  8 +import java.lang.annotation.ElementType;
  9 +import java.lang.annotation.Retention;
  10 +import java.lang.annotation.RetentionPolicy;
  11 +import java.lang.annotation.Target;
  12 +
  13 +/**
  14 + * 正则脱敏注解
  15 + *
  16 + * @author gaibu
  17 + */
  18 +@Documented
  19 +@Target({ElementType.FIELD, ElementType.ANNOTATION_TYPE})
  20 +@Retention(RetentionPolicy.RUNTIME)
  21 +@JacksonAnnotationsInside
  22 +@DesensitizeBy(handler = DefaultRegexDesensitizationHandler.class)
  23 +public @interface RegexDesensitize {
  24 +
  25 + /**
  26 + * 匹配的正则表达式(默认匹配所有)
  27 + */
  28 + String regex() default "^[\\s\\S]*$";
  29 +
  30 + /**
  31 + * 替换规则,会将匹配到的字符串全部替换成 replacer
  32 + *
  33 + * 例如:regex=123; replacer=******
  34 + * 原始字符串 123456789
  35 + * 脱敏后字符串 ******456789
  36 + */
  37 + String replacer() default "******";
  38 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/regex/handler/AbstractRegexDesensitizationHandler.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.regex.handler;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.base.handler.DesensitizationHandler;
  4 +
  5 +import java.lang.annotation.Annotation;
  6 +
  7 +/**
  8 + * 正则表达式脱敏处理器抽象类,已实现通用的方法
  9 + *
  10 + * @author gaibu
  11 + */
  12 +public abstract class AbstractRegexDesensitizationHandler<T extends Annotation>
  13 + implements DesensitizationHandler<T> {
  14 +
  15 + @Override
  16 + public String desensitize(String origin, T annotation) {
  17 + String regex = getRegex(annotation);
  18 + String replacer = getReplacer(annotation);
  19 + return origin.replaceAll(regex, replacer);
  20 + }
  21 +
  22 + /**
  23 + * 获取注解上的 regex 参数
  24 + *
  25 + * @param annotation 注解信息
  26 + * @return 正则表达式
  27 + */
  28 + abstract String getRegex(T annotation);
  29 +
  30 + /**
  31 + * 获取注解上的 replacer 参数
  32 + *
  33 + * @param annotation 注解信息
  34 + * @return 待替换的字符串
  35 + */
  36 + abstract String getReplacer(T annotation);
  37 +
  38 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/regex/handler/DefaultRegexDesensitizationHandler.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.regex.handler;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.regex.annotation.RegexDesensitize;
  4 +
  5 +/**
  6 + * {@link RegexDesensitize} 的正则脱敏处理器
  7 + *
  8 + * @author gaibu
  9 + */
  10 +public class DefaultRegexDesensitizationHandler extends AbstractRegexDesensitizationHandler<RegexDesensitize> {
  11 +
  12 + @Override
  13 + String getRegex(RegexDesensitize annotation) {
  14 + return annotation.regex();
  15 + }
  16 +
  17 + @Override
  18 + String getReplacer(RegexDesensitize annotation) {
  19 + return annotation.replacer();
  20 + }
  21 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/regex/handler/EmailDesensitizationHandler.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.regex.handler;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.regex.annotation.EmailDesensitize;
  4 +
  5 +/**
  6 + * {@link EmailDesensitize} 的脱敏处理器
  7 + *
  8 + * @author gaibu
  9 + */
  10 +public class EmailDesensitizationHandler extends AbstractRegexDesensitizationHandler<EmailDesensitize> {
  11 +
  12 + @Override
  13 + String getRegex(EmailDesensitize annotation) {
  14 + return annotation.regex();
  15 + }
  16 +
  17 + @Override
  18 + String getReplacer(EmailDesensitize annotation) {
  19 + return annotation.replacer();
  20 + }
  21 +
  22 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/annotation/BankCardDesensitize.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.slider.annotation;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.base.annotation.DesensitizeBy;
  4 +import cn.iocoder.yudao.framework.desensitize.core.slider.handler.BankCardDesensitization;
  5 +import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
  6 +
  7 +import java.lang.annotation.Documented;
  8 +import java.lang.annotation.ElementType;
  9 +import java.lang.annotation.Retention;
  10 +import java.lang.annotation.RetentionPolicy;
  11 +import java.lang.annotation.Target;
  12 +
  13 +/**
  14 + * 银行卡号
  15 + *
  16 + * @author gaibu
  17 + */
  18 +@Documented
  19 +@Target({ElementType.FIELD})
  20 +@Retention(RetentionPolicy.RUNTIME)
  21 +@JacksonAnnotationsInside
  22 +@DesensitizeBy(handler = BankCardDesensitization.class)
  23 +public @interface BankCardDesensitize {
  24 +
  25 + /**
  26 + * 前缀保留长度
  27 + */
  28 + int prefixKeep() default 6;
  29 +
  30 + /**
  31 + * 后缀保留长度
  32 + */
  33 + int suffixKeep() default 2;
  34 +
  35 + /**
  36 + * 替换规则,银行卡号; 比如:9988002866797031 脱敏之后为 998800********31
  37 + */
  38 + String replacer() default "*";
  39 +
  40 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/annotation/CarLicenseDesensitize.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.slider.annotation;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.base.annotation.DesensitizeBy;
  4 +import cn.iocoder.yudao.framework.desensitize.core.slider.handler.CarLicenseDesensitization;
  5 +import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
  6 +
  7 +import java.lang.annotation.Documented;
  8 +import java.lang.annotation.ElementType;
  9 +import java.lang.annotation.Retention;
  10 +import java.lang.annotation.RetentionPolicy;
  11 +import java.lang.annotation.Target;
  12 +
  13 +/**
  14 + * 车牌号
  15 + *
  16 + * @author gaibu
  17 + */
  18 +@Documented
  19 +@Target({ElementType.FIELD})
  20 +@Retention(RetentionPolicy.RUNTIME)
  21 +@JacksonAnnotationsInside
  22 +@DesensitizeBy(handler = CarLicenseDesensitization.class)
  23 +public @interface CarLicenseDesensitize {
  24 +
  25 + /**
  26 + * 前缀保留长度
  27 + */
  28 + int prefixKeep() default 3;
  29 +
  30 + /**
  31 + * 后缀保留长度
  32 + */
  33 + int suffixKeep() default 1;
  34 +
  35 + /**
  36 + * 替换规则,车牌号;比如:粤A66666 脱敏之后为粤A6***6
  37 + */
  38 + String replacer() default "*";
  39 +
  40 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/annotation/ChineseNameDesensitize.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.slider.annotation;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.base.annotation.DesensitizeBy;
  4 +import cn.iocoder.yudao.framework.desensitize.core.slider.handler.ChineseNameDesensitization;
  5 +import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
  6 +
  7 +import java.lang.annotation.Documented;
  8 +import java.lang.annotation.ElementType;
  9 +import java.lang.annotation.Retention;
  10 +import java.lang.annotation.RetentionPolicy;
  11 +import java.lang.annotation.Target;
  12 +
  13 +/**
  14 + * 中文名
  15 + *
  16 + * @author gaibu
  17 + */
  18 +@Documented
  19 +@Target({ElementType.FIELD})
  20 +@Retention(RetentionPolicy.RUNTIME)
  21 +@JacksonAnnotationsInside
  22 +@DesensitizeBy(handler = ChineseNameDesensitization.class)
  23 +public @interface ChineseNameDesensitize {
  24 +
  25 + /**
  26 + * 前缀保留长度
  27 + */
  28 + int prefixKeep() default 1;
  29 +
  30 + /**
  31 + * 后缀保留长度
  32 + */
  33 + int suffixKeep() default 0;
  34 +
  35 + /**
  36 + * 替换规则,中文名;比如:刘子豪脱敏之后为刘**
  37 + */
  38 + String replacer() default "*";
  39 +
  40 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/annotation/FixedPhoneDesensitize.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.slider.annotation;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.base.annotation.DesensitizeBy;
  4 +import cn.iocoder.yudao.framework.desensitize.core.slider.handler.FixedPhoneDesensitization;
  5 +import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
  6 +
  7 +import java.lang.annotation.Documented;
  8 +import java.lang.annotation.ElementType;
  9 +import java.lang.annotation.Retention;
  10 +import java.lang.annotation.RetentionPolicy;
  11 +import java.lang.annotation.Target;
  12 +
  13 +/**
  14 + * 固定电话
  15 + *
  16 + * @author gaibu
  17 + */
  18 +@Documented
  19 +@Target({ElementType.FIELD})
  20 +@Retention(RetentionPolicy.RUNTIME)
  21 +@JacksonAnnotationsInside
  22 +@DesensitizeBy(handler = FixedPhoneDesensitization.class)
  23 +public @interface FixedPhoneDesensitize {
  24 +
  25 + /**
  26 + * 前缀保留长度
  27 + */
  28 + int prefixKeep() default 4;
  29 +
  30 + /**
  31 + * 后缀保留长度
  32 + */
  33 + int suffixKeep() default 2;
  34 +
  35 + /**
  36 + * 替换规则,固定电话;比如:01086551122 脱敏之后为 0108*****22
  37 + */
  38 + String replacer() default "*";
  39 +
  40 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/annotation/IdCardDesensitize.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.slider.annotation;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.base.annotation.DesensitizeBy;
  4 +import cn.iocoder.yudao.framework.desensitize.core.slider.handler.IdCardDesensitization;
  5 +import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
  6 +
  7 +import java.lang.annotation.Documented;
  8 +import java.lang.annotation.ElementType;
  9 +import java.lang.annotation.Retention;
  10 +import java.lang.annotation.RetentionPolicy;
  11 +import java.lang.annotation.Target;
  12 +
  13 +/**
  14 + * 身份证
  15 + *
  16 + * @author gaibu
  17 + */
  18 +@Documented
  19 +@Target({ElementType.FIELD})
  20 +@Retention(RetentionPolicy.RUNTIME)
  21 +@JacksonAnnotationsInside
  22 +@DesensitizeBy(handler = IdCardDesensitization.class)
  23 +public @interface IdCardDesensitize {
  24 +
  25 + /**
  26 + * 前缀保留长度
  27 + */
  28 + int prefixKeep() default 6;
  29 +
  30 + /**
  31 + * 后缀保留长度
  32 + */
  33 + int suffixKeep() default 2;
  34 +
  35 + /**
  36 + * 替换规则,身份证号码;比如:530321199204074611 脱敏之后为 530321**********11
  37 + */
  38 + String replacer() default "*";
  39 +
  40 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/annotation/MobileDesensitize.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.slider.annotation;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.base.annotation.DesensitizeBy;
  4 +import cn.iocoder.yudao.framework.desensitize.core.slider.handler.MobileDesensitization;
  5 +import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
  6 +
  7 +import java.lang.annotation.Documented;
  8 +import java.lang.annotation.ElementType;
  9 +import java.lang.annotation.Retention;
  10 +import java.lang.annotation.RetentionPolicy;
  11 +import java.lang.annotation.Target;
  12 +
  13 +/**
  14 + * 手机号
  15 + *
  16 + * @author gaibu
  17 + */
  18 +@Documented
  19 +@Target({ElementType.FIELD})
  20 +@Retention(RetentionPolicy.RUNTIME)
  21 +@JacksonAnnotationsInside
  22 +@DesensitizeBy(handler = MobileDesensitization.class)
  23 +public @interface MobileDesensitize {
  24 +
  25 + /**
  26 + * 前缀保留长度
  27 + */
  28 + int prefixKeep() default 3;
  29 +
  30 + /**
  31 + * 后缀保留长度
  32 + */
  33 + int suffixKeep() default 4;
  34 +
  35 + /**
  36 + * 替换规则,手机号;比如:13248765917 脱敏之后为 132****5917
  37 + */
  38 + String replacer() default "*";
  39 +
  40 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/annotation/PasswordDesensitize.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.slider.annotation;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.base.annotation.DesensitizeBy;
  4 +import cn.iocoder.yudao.framework.desensitize.core.slider.handler.PasswordDesensitization;
  5 +import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
  6 +
  7 +import java.lang.annotation.Documented;
  8 +import java.lang.annotation.ElementType;
  9 +import java.lang.annotation.Retention;
  10 +import java.lang.annotation.RetentionPolicy;
  11 +import java.lang.annotation.Target;
  12 +
  13 +/**
  14 + * 密码
  15 + *
  16 + * @author gaibu
  17 + */
  18 +@Documented
  19 +@Target({ElementType.FIELD})
  20 +@Retention(RetentionPolicy.RUNTIME)
  21 +@JacksonAnnotationsInside
  22 +@DesensitizeBy(handler = PasswordDesensitization.class)
  23 +public @interface PasswordDesensitize {
  24 +
  25 + /**
  26 + * 前缀保留长度
  27 + */
  28 + int prefixKeep() default 0;
  29 +
  30 + /**
  31 + * 后缀保留长度
  32 + */
  33 + int suffixKeep() default 0;
  34 +
  35 + /**
  36 + * 替换规则,密码;
  37 + *
  38 + * 比如:123456 脱敏之后为 ******
  39 + */
  40 + String replacer() default "*";
  41 +
  42 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/annotation/SliderDesensitize.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.slider.annotation;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.base.annotation.DesensitizeBy;
  4 +import cn.iocoder.yudao.framework.desensitize.core.slider.handler.DefaultDesensitizationHandler;
  5 +import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
  6 +
  7 +import java.lang.annotation.Documented;
  8 +import java.lang.annotation.ElementType;
  9 +import java.lang.annotation.Retention;
  10 +import java.lang.annotation.RetentionPolicy;
  11 +import java.lang.annotation.Target;
  12 +
  13 +/**
  14 + * 滑动脱敏注解
  15 + *
  16 + * @author gaibu
  17 + */
  18 +@Documented
  19 +@Target({ElementType.FIELD, ElementType.ANNOTATION_TYPE})
  20 +@Retention(RetentionPolicy.RUNTIME)
  21 +@JacksonAnnotationsInside
  22 +@DesensitizeBy(handler = DefaultDesensitizationHandler.class)
  23 +public @interface SliderDesensitize {
  24 +
  25 + /**
  26 + * 后缀保留长度
  27 + */
  28 + int suffixKeep() default 0;
  29 +
  30 + /**
  31 + * 替换规则,会将前缀后缀保留后,全部替换成 replacer
  32 + *
  33 + * 例如:prefixKeep = 1; suffixKeep = 2; replacer = "*";
  34 + * 原始字符串 123456
  35 + * 脱敏后 1***56
  36 + */
  37 + String replacer() default "*";
  38 +
  39 + /**
  40 + * 前缀保留长度
  41 + */
  42 + int prefixKeep() default 0;
  43 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/handler/AbstractSliderDesensitizationHandler.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.slider.handler;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.base.handler.DesensitizationHandler;
  4 +
  5 +import java.lang.annotation.Annotation;
  6 +
  7 +/**
  8 + * 滑动脱敏处理器抽象类,已实现通用的方法
  9 + *
  10 + * @author gaibu
  11 + */
  12 +public abstract class AbstractSliderDesensitizationHandler<T extends Annotation>
  13 + implements DesensitizationHandler<T> {
  14 +
  15 + @Override
  16 + public String desensitize(String origin, T annotation) {
  17 + int prefixKeep = getPrefixKeep(annotation);
  18 + int suffixKeep = getSuffixKeep(annotation);
  19 + String replacer = getReplacer(annotation);
  20 + int length = origin.length();
  21 +
  22 + // 情况一:原始字符串长度小于等于保留长度,则原始字符串全部替换
  23 + if (prefixKeep >= length || suffixKeep >= length) {
  24 + return buildReplacerByLength(replacer, length);
  25 + }
  26 +
  27 + // 情况二:原始字符串长度小于等于前后缀保留字符串长度,则原始字符串全部替换
  28 + if ((prefixKeep + suffixKeep) >= length) {
  29 + return buildReplacerByLength(replacer, length);
  30 + }
  31 +
  32 + // 情况三:原始字符串长度大于前后缀保留字符串长度,则替换中间字符串
  33 + int interval = length - prefixKeep - suffixKeep;
  34 + return origin.substring(0, prefixKeep) +
  35 + buildReplacerByLength(replacer, interval) +
  36 + origin.substring(prefixKeep + interval);
  37 + }
  38 +
  39 + /**
  40 + * 根据长度循环构建替换符
  41 + *
  42 + * @param replacer 替换符
  43 + * @param length 长度
  44 + * @return 构建后的替换符
  45 + */
  46 + private String buildReplacerByLength(String replacer, int length) {
  47 + StringBuilder builder = new StringBuilder();
  48 + for (int i = 0; i < length; i++) {
  49 + builder.append(replacer);
  50 + }
  51 + return builder.toString();
  52 + }
  53 +
  54 + /**
  55 + * 前缀保留长度
  56 + *
  57 + * @param annotation 注解信息
  58 + * @return 前缀保留长度
  59 + */
  60 + abstract Integer getPrefixKeep(T annotation);
  61 +
  62 + /**
  63 + * 后缀保留长度
  64 + *
  65 + * @param annotation 注解信息
  66 + * @return 后缀保留长度
  67 + */
  68 + abstract Integer getSuffixKeep(T annotation);
  69 +
  70 + /**
  71 + * 替换符
  72 + *
  73 + * @param annotation 注解信息
  74 + * @return 替换符
  75 + */
  76 + abstract String getReplacer(T annotation);
  77 +
  78 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/handler/BankCardDesensitization.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.slider.handler;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.slider.annotation.BankCardDesensitize;
  4 +
  5 +/**
  6 + * {@link BankCardDesensitize} 的脱敏处理器
  7 + *
  8 + * @author gaibu
  9 + */
  10 +public class BankCardDesensitization extends AbstractSliderDesensitizationHandler<BankCardDesensitize> {
  11 +
  12 + @Override
  13 + Integer getPrefixKeep(BankCardDesensitize annotation) {
  14 + return annotation.prefixKeep();
  15 + }
  16 +
  17 + @Override
  18 + Integer getSuffixKeep(BankCardDesensitize annotation) {
  19 + return annotation.suffixKeep();
  20 + }
  21 +
  22 + @Override
  23 + String getReplacer(BankCardDesensitize annotation) {
  24 + return annotation.replacer();
  25 + }
  26 +
  27 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/handler/CarLicenseDesensitization.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.slider.handler;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.slider.annotation.CarLicenseDesensitize;
  4 +
  5 +/**
  6 + * {@link CarLicenseDesensitize} 的脱敏处理器
  7 + *
  8 + * @author gaibu
  9 + */
  10 +public class CarLicenseDesensitization extends AbstractSliderDesensitizationHandler<CarLicenseDesensitize> {
  11 + @Override
  12 + Integer getPrefixKeep(CarLicenseDesensitize annotation) {
  13 + return annotation.prefixKeep();
  14 + }
  15 +
  16 + @Override
  17 + Integer getSuffixKeep(CarLicenseDesensitize annotation) {
  18 + return annotation.suffixKeep();
  19 + }
  20 +
  21 + @Override
  22 + String getReplacer(CarLicenseDesensitize annotation) {
  23 + return annotation.replacer();
  24 + }
  25 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/handler/ChineseNameDesensitization.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.slider.handler;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.slider.annotation.ChineseNameDesensitize;
  4 +
  5 +/**
  6 + * {@link ChineseNameDesensitize} 的脱敏处理器
  7 + *
  8 + * @author gaibu
  9 + */
  10 +public class ChineseNameDesensitization extends AbstractSliderDesensitizationHandler<ChineseNameDesensitize> {
  11 +
  12 + @Override
  13 + Integer getPrefixKeep(ChineseNameDesensitize annotation) {
  14 + return annotation.prefixKeep();
  15 + }
  16 +
  17 + @Override
  18 + Integer getSuffixKeep(ChineseNameDesensitize annotation) {
  19 + return annotation.suffixKeep();
  20 + }
  21 +
  22 + @Override
  23 + String getReplacer(ChineseNameDesensitize annotation) {
  24 + return annotation.replacer();
  25 + }
  26 +
  27 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/handler/DefaultDesensitizationHandler.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.slider.handler;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.slider.annotation.SliderDesensitize;
  4 +
  5 +/**
  6 + * {@link SliderDesensitize} 的脱敏处理器
  7 + *
  8 + * @author gaibu
  9 + */
  10 +public class DefaultDesensitizationHandler extends AbstractSliderDesensitizationHandler<SliderDesensitize> {
  11 + @Override
  12 + Integer getPrefixKeep(SliderDesensitize annotation) {
  13 + return annotation.prefixKeep();
  14 + }
  15 +
  16 + @Override
  17 + Integer getSuffixKeep(SliderDesensitize annotation) {
  18 + return annotation.suffixKeep();
  19 + }
  20 +
  21 + @Override
  22 + String getReplacer(SliderDesensitize annotation) {
  23 + return annotation.replacer();
  24 + }
  25 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/handler/FixedPhoneDesensitization.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.slider.handler;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.slider.annotation.FixedPhoneDesensitize;
  4 +
  5 +/**
  6 + * {@link FixedPhoneDesensitize} 的脱敏处理器
  7 + *
  8 + * @author gaibu
  9 + */
  10 +public class FixedPhoneDesensitization extends AbstractSliderDesensitizationHandler<FixedPhoneDesensitize> {
  11 + @Override
  12 + Integer getPrefixKeep(FixedPhoneDesensitize annotation) {
  13 + return annotation.prefixKeep();
  14 + }
  15 +
  16 + @Override
  17 + Integer getSuffixKeep(FixedPhoneDesensitize annotation) {
  18 + return annotation.suffixKeep();
  19 + }
  20 +
  21 + @Override
  22 + String getReplacer(FixedPhoneDesensitize annotation) {
  23 + return annotation.replacer();
  24 + }
  25 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/handler/IdCardDesensitization.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.slider.handler;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.slider.annotation.IdCardDesensitize;
  4 +
  5 +/**
  6 + * {@link IdCardDesensitize} 的脱敏处理器
  7 + *
  8 + * @author gaibu
  9 + */
  10 +public class IdCardDesensitization extends AbstractSliderDesensitizationHandler<IdCardDesensitize> {
  11 + @Override
  12 + Integer getPrefixKeep(IdCardDesensitize annotation) {
  13 + return annotation.prefixKeep();
  14 + }
  15 +
  16 + @Override
  17 + Integer getSuffixKeep(IdCardDesensitize annotation) {
  18 + return annotation.suffixKeep();
  19 + }
  20 +
  21 + @Override
  22 + String getReplacer(IdCardDesensitize annotation) {
  23 + return annotation.replacer();
  24 + }
  25 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/handler/MobileDesensitization.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.slider.handler;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.slider.annotation.MobileDesensitize;
  4 +
  5 +/**
  6 + * {@link MobileDesensitize} 的脱敏处理器
  7 + *
  8 + * @author gaibu
  9 + */
  10 +public class MobileDesensitization extends AbstractSliderDesensitizationHandler<MobileDesensitize> {
  11 +
  12 + @Override
  13 + Integer getPrefixKeep(MobileDesensitize annotation) {
  14 + return annotation.prefixKeep();
  15 + }
  16 +
  17 + @Override
  18 + Integer getSuffixKeep(MobileDesensitize annotation) {
  19 + return annotation.suffixKeep();
  20 + }
  21 +
  22 + @Override
  23 + String getReplacer(MobileDesensitize annotation) {
  24 + return annotation.replacer();
  25 + }
  26 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/main/java/cn/iocoder/yudao/framework/desensitize/core/slider/handler/PasswordDesensitization.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.slider.handler;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.slider.annotation.PasswordDesensitize;
  4 +
  5 +/**
  6 + * {@link PasswordDesensitize} 的码脱敏处理器
  7 + *
  8 + * @author gaibu
  9 + */
  10 +public class PasswordDesensitization extends AbstractSliderDesensitizationHandler<PasswordDesensitize> {
  11 + @Override
  12 + Integer getPrefixKeep(PasswordDesensitize annotation) {
  13 + return annotation.prefixKeep();
  14 + }
  15 +
  16 + @Override
  17 + Integer getSuffixKeep(PasswordDesensitize annotation) {
  18 + return annotation.suffixKeep();
  19 + }
  20 +
  21 + @Override
  22 + String getReplacer(PasswordDesensitize annotation) {
  23 + return annotation.replacer();
  24 + }
  25 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/test/java/cn/iocoder/yudao/framework/desensitize/core/DesensitizeTest.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core;
  2 +
  3 +import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
  4 +import cn.iocoder.yudao.framework.desensitize.core.regex.annotation.EmailDesensitize;
  5 +import cn.iocoder.yudao.framework.desensitize.core.regex.annotation.RegexDesensitize;
  6 +import cn.iocoder.yudao.framework.desensitize.core.annotation.Address;
  7 +import cn.iocoder.yudao.framework.desensitize.core.slider.annotation.BankCardDesensitize;
  8 +import cn.iocoder.yudao.framework.desensitize.core.slider.annotation.CarLicenseDesensitize;
  9 +import cn.iocoder.yudao.framework.desensitize.core.slider.annotation.ChineseNameDesensitize;
  10 +import cn.iocoder.yudao.framework.desensitize.core.slider.annotation.FixedPhoneDesensitize;
  11 +import cn.iocoder.yudao.framework.desensitize.core.slider.annotation.IdCardDesensitize;
  12 +import cn.iocoder.yudao.framework.desensitize.core.slider.annotation.PasswordDesensitize;
  13 +import cn.iocoder.yudao.framework.desensitize.core.slider.annotation.MobileDesensitize;
  14 +import cn.iocoder.yudao.framework.desensitize.core.slider.annotation.SliderDesensitize;
  15 +import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest;
  16 +import lombok.Data;
  17 +import org.junit.jupiter.api.Test;
  18 +
  19 +import static org.junit.jupiter.api.Assertions.*;
  20 +
  21 +/**
  22 + * {@link DesensitizeTest} 的单元测试
  23 + */
  24 +public class DesensitizeTest extends BaseMockitoUnitTest {
  25 +
  26 + @Test
  27 + public void test() {
  28 + // 准备参数
  29 + DesensitizeDemo desensitizeDemo = new DesensitizeDemo();
  30 + desensitizeDemo.setNickname("芋道源码");
  31 + desensitizeDemo.setBankCard("9988002866797031");
  32 + desensitizeDemo.setCarLicense("粤A66666");
  33 + desensitizeDemo.setFixedPhone("01086551122");
  34 + desensitizeDemo.setIdCard("530321199204074611");
  35 + desensitizeDemo.setPassword("123456");
  36 + desensitizeDemo.setPhoneNumber("13248765917");
  37 + desensitizeDemo.setSlider1("ABCDEFG");
  38 + desensitizeDemo.setSlider2("ABCDEFG");
  39 + desensitizeDemo.setSlider3("ABCDEFG");
  40 + desensitizeDemo.setEmail("1@email.com");
  41 + desensitizeDemo.setRegex("你好,我是芋道源码");
  42 + desensitizeDemo.setAddress("北京市海淀区上地十街10号");
  43 + desensitizeDemo.setOrigin("芋道源码");
  44 +
  45 + // 调用
  46 + DesensitizeDemo d = JsonUtils.parseObject(JsonUtils.toJsonString(desensitizeDemo), DesensitizeDemo.class);
  47 + // 断言
  48 + assertNotNull(d);
  49 + assertEquals("芋***", d.getNickname());
  50 + assertEquals("998800********31", d.getBankCard());
  51 + assertEquals("粤A6***6", d.getCarLicense());
  52 + assertEquals("0108*****22", d.getFixedPhone());
  53 + assertEquals("530321**********11", d.getIdCard());
  54 + assertEquals("******", d.getPassword());
  55 + assertEquals("132****5917", d.getPhoneNumber());
  56 + assertEquals("#######", d.getSlider1());
  57 + assertEquals("ABC*EFG", d.getSlider2());
  58 + assertEquals("*******", d.getSlider3());
  59 + assertEquals("1****@email.com", d.getEmail());
  60 + assertEquals("你好,我是*", d.getRegex());
  61 + assertEquals("北京市海淀区上地十街10号*", d.getAddress());
  62 + assertEquals("芋道源码", d.getOrigin());
  63 + }
  64 +
  65 + @Data
  66 + public static class DesensitizeDemo {
  67 +
  68 + @ChineseNameDesensitize
  69 + private String nickname;
  70 + @BankCardDesensitize
  71 + private String bankCard;
  72 + @CarLicenseDesensitize
  73 + private String carLicense;
  74 + @FixedPhoneDesensitize
  75 + private String fixedPhone;
  76 + @IdCardDesensitize
  77 + private String idCard;
  78 + @PasswordDesensitize
  79 + private String password;
  80 + @MobileDesensitize
  81 + private String phoneNumber;
  82 + @SliderDesensitize(prefixKeep = 6, suffixKeep = 1, replacer = "#")
  83 + private String slider1;
  84 + @SliderDesensitize(prefixKeep = 3, suffixKeep = 3)
  85 + private String slider2;
  86 + @SliderDesensitize(prefixKeep = 10)
  87 + private String slider3;
  88 + @EmailDesensitize
  89 + private String email;
  90 + @RegexDesensitize(regex = "芋道源码", replacer = "*")
  91 + private String regex;
  92 + @Address
  93 + private String address;
  94 + private String origin;
  95 +
  96 + }
  97 +
  98 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/test/java/cn/iocoder/yudao/framework/desensitize/core/annotation/Address.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.annotation;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.DesensitizeTest;
  4 +import cn.iocoder.yudao.framework.desensitize.core.base.annotation.DesensitizeBy;
  5 +import cn.iocoder.yudao.framework.desensitize.core.handler.AddressHandler;
  6 +import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
  7 +
  8 +import java.lang.annotation.Documented;
  9 +import java.lang.annotation.ElementType;
  10 +import java.lang.annotation.Retention;
  11 +import java.lang.annotation.RetentionPolicy;
  12 +import java.lang.annotation.Target;
  13 +
  14 +/**
  15 + * 地址
  16 + *
  17 + * 用于 {@link DesensitizeTest} 测试使用
  18 + *
  19 + * @author gaibu
  20 + */
  21 +@Documented
  22 +@Target({ElementType.FIELD})
  23 +@Retention(RetentionPolicy.RUNTIME)
  24 +@JacksonAnnotationsInside
  25 +@DesensitizeBy(handler = AddressHandler.class)
  26 +public @interface Address {
  27 +
  28 + String replacer() default "*";
  29 +
  30 +}
yudao-framework/yudao-spring-boot-starter-desensitize/src/test/java/cn/iocoder/yudao/framework/desensitize/core/handler/AddressHandler.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.desensitize.core.handler;
  2 +
  3 +import cn.iocoder.yudao.framework.desensitize.core.DesensitizeTest;
  4 +import cn.iocoder.yudao.framework.desensitize.core.base.handler.DesensitizationHandler;
  5 +import cn.iocoder.yudao.framework.desensitize.core.annotation.Address;
  6 +
  7 +/**
  8 + * {@link Address} 的脱敏处理器
  9 + *
  10 + * 用于 {@link DesensitizeTest} 测试使用
  11 + */
  12 +public class AddressHandler implements DesensitizationHandler<Address> {
  13 +
  14 + @Override
  15 + public String desensitize(String origin, Address annotation) {
  16 + return origin + annotation.replacer();
  17 + }
  18 +
  19 +}
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/mapper/BaseMapperX.java
@@ -2,7 +2,6 @@ package cn.iocoder.yudao.framework.mybatis.core.mapper; @@ -2,7 +2,6 @@ package cn.iocoder.yudao.framework.mybatis.core.mapper;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.PageParam; 3 import cn.iocoder.yudao.framework.common.pojo.PageParam;
4 import cn.iocoder.yudao.framework.common.pojo.PageResult; 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;  
6 import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils; 5 import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
7 import com.baomidou.mybatisplus.core.conditions.Wrapper; 6 import com.baomidou.mybatisplus.core.conditions.Wrapper;
8 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 7 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -10,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -10,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
10 import com.baomidou.mybatisplus.core.mapper.BaseMapper; 9 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
11 import com.baomidou.mybatisplus.core.metadata.IPage; 10 import com.baomidou.mybatisplus.core.metadata.IPage;
12 import com.baomidou.mybatisplus.core.toolkit.support.SFunction; 11 import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
  12 +import com.baomidou.mybatisplus.extension.toolkit.Db;
13 import org.apache.ibatis.annotations.Param; 13 import org.apache.ibatis.annotations.Param;
14 14
15 import java.util.Collection; 15 import java.util.Collection;
@@ -81,19 +81,30 @@ public interface BaseMapperX&lt;T&gt; extends BaseMapper&lt;T&gt; { @@ -81,19 +81,30 @@ public interface BaseMapperX&lt;T&gt; extends BaseMapper&lt;T&gt; {
81 } 81 }
82 82
83 /** 83 /**
84 - * 逐条插入,适合少量数据插入,或者对性能要求不高的场景  
85 - * <p>  
86 - * 如果大量,请使用 {@link com.baomidou.mybatisplus.extension.service.impl.ServiceImpl#saveBatch(Collection)} 方法  
87 - * 使用示例,可见 RoleMenuBatchInsertMapper、UserRoleBatchInsertMapper 类 84 + * 批量插入,适合大量数据插入
88 * 85 *
89 * @param entities 实体们 86 * @param entities 实体们
90 */ 87 */
91 default void insertBatch(Collection<T> entities) { 88 default void insertBatch(Collection<T> entities) {
92 - entities.forEach(this::insert); 89 + Db.saveBatch(entities);
  90 + }
  91 +
  92 + /**
  93 + * 批量插入,适合大量数据插入
  94 + *
  95 + * @param entities 实体们
  96 + * @param size 插入数量 Db.saveBatch 默认为 1000
  97 + */
  98 + default void insertBatch(Collection<T> entities, int size) {
  99 + Db.saveBatch(entities, size);
93 } 100 }
94 101
95 default void updateBatch(T update) { 102 default void updateBatch(T update) {
96 update(update, new QueryWrapper<>()); 103 update(update, new QueryWrapper<>());
97 } 104 }
98 105
  106 + default void updateBatch(Collection<T> entities, int size) {
  107 + Db.updateBatchById(entities, size);
  108 + }
  109 +
99 } 110 }
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/query/LambdaQueryWrapperX.java
1 package cn.iocoder.yudao.framework.mybatis.core.query; 1 package cn.iocoder.yudao.framework.mybatis.core.query;
2 2
  3 +import cn.hutool.core.lang.Assert;
3 import cn.hutool.core.util.ArrayUtil; 4 import cn.hutool.core.util.ArrayUtil;
4 import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils; 5 import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils;
  6 +import cn.iocoder.yudao.framework.mybatis.core.enums.SqlConstants;
5 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 7 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
6 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; 8 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
7 import com.baomidou.mybatisplus.core.toolkit.support.SFunction; 9 import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/query/QueryWrapperX.java
@@ -146,19 +146,19 @@ public class QueryWrapperX&lt;T&gt; extends QueryWrapper&lt;T&gt; { @@ -146,19 +146,19 @@ public class QueryWrapperX&lt;T&gt; extends QueryWrapper&lt;T&gt; {
146 * 146 *
147 * @return this 147 * @return this
148 */ 148 */
149 - public QueryWrapperX<T> limit1() { 149 + public QueryWrapperX<T> limitN(int n) {
150 Assert.notNull(SqlConstants.DB_TYPE, "获取不到数据库的类型"); 150 Assert.notNull(SqlConstants.DB_TYPE, "获取不到数据库的类型");
151 switch (SqlConstants.DB_TYPE) { 151 switch (SqlConstants.DB_TYPE) {
152 case ORACLE: 152 case ORACLE:
153 case ORACLE_12C: 153 case ORACLE_12C:
154 - super.eq("ROWNUM", 1); 154 + super.eq("ROWNUM", n);
155 break; 155 break;
156 case SQL_SERVER: 156 case SQL_SERVER:
157 case SQL_SERVER2005: 157 case SQL_SERVER2005:
158 - super.select("TOP 1 *"); // 由于 SQL Server 是通过 SELECT TOP 1 实现限制一条,所以只好使用 * 查询剩余字段 158 + super.select("TOP " + n + " *"); // 由于 SQL Server 是通过 SELECT TOP 1 实现限制一条,所以只好使用 * 查询剩余字段
159 break; 159 break;
160 default: 160 default:
161 - super.last("LIMIT 1"); 161 + super.last("LIMIT " + n);
162 } 162 }
163 return this; 163 return this;
164 } 164 }
yudao-framework/yudao-spring-boot-starter-test/src/main/java/cn/iocoder/yudao/framework/test/core/util/RandomUtils.java
@@ -7,7 +7,10 @@ import cn.hutool.core.util.StrUtil; @@ -7,7 +7,10 @@ import cn.hutool.core.util.StrUtil;
7 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; 7 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
8 import uk.co.jemos.podam.api.PodamFactory; 8 import uk.co.jemos.podam.api.PodamFactory;
9 import uk.co.jemos.podam.api.PodamFactoryImpl; 9 import uk.co.jemos.podam.api.PodamFactoryImpl;
  10 +import uk.co.jemos.podam.common.AttributeStrategy;
10 11
  12 +import javax.validation.constraints.Email;
  13 +import java.lang.annotation.Annotation;
11 import java.lang.reflect.Type; 14 import java.lang.reflect.Type;
12 import java.time.LocalDateTime; 15 import java.time.LocalDateTime;
13 import java.util.Arrays; 16 import java.util.Arrays;
@@ -95,6 +98,10 @@ public class RandomUtils { @@ -95,6 +98,10 @@ public class RandomUtils {
95 return RandomUtil.randomEle(CommonStatusEnum.values()).getStatus(); 98 return RandomUtil.randomEle(CommonStatusEnum.values()).getStatus();
96 } 99 }
97 100
  101 + public static String randomEmail() {
  102 + return randomString() + "@qq.com";
  103 + }
  104 +
98 @SafeVarargs 105 @SafeVarargs
99 public static <T> T randomPojo(Class<T> clazz, Consumer<T>... consumers) { 106 public static <T> T randomPojo(Class<T> clazz, Consumer<T>... consumers) {
100 T pojo = PODAM_FACTORY.manufacturePojo(clazz); 107 T pojo = PODAM_FACTORY.manufacturePojo(clazz);
yudao-framework/yudao-spring-boot-starter-web/pom.xml
@@ -21,6 +21,12 @@ @@ -21,6 +21,12 @@
21 <artifactId>yudao-common</artifactId> 21 <artifactId>yudao-common</artifactId>
22 </dependency> 22 </dependency>
23 23
  24 + <dependency>
  25 + <groupId>org.apache.commons</groupId>
  26 + <artifactId>commons-lang3</artifactId>
  27 + <scope>provided</scope>
  28 + </dependency>
  29 +
24 <!-- Web 相关 --> 30 <!-- Web 相关 -->
25 <dependency> 31 <dependency>
26 <groupId>org.springframework.boot</groupId> 32 <groupId>org.springframework.boot</groupId>
@@ -35,7 +41,7 @@ @@ -35,7 +41,7 @@
35 41
36 <dependency> 42 <dependency>
37 <groupId>com.github.xiaoymin</groupId> 43 <groupId>com.github.xiaoymin</groupId>
38 - <artifactId>knife4j-spring-boot-starter</artifactId> 44 + <artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
39 </dependency> 45 </dependency>
40 <dependency> 46 <dependency>
41 <groupId>io.swagger</groupId> 47 <groupId>io.swagger</groupId>
@@ -67,6 +73,12 @@ @@ -67,6 +73,12 @@
67 <scope>provided</scope> <!-- 设置为 provided,主要是 GlobalExceptionHandler 使用 --> 73 <scope>provided</scope> <!-- 设置为 provided,主要是 GlobalExceptionHandler 使用 -->
68 </dependency> 74 </dependency>
69 75
  76 + <!-- xss -->
  77 + <dependency>
  78 + <groupId>org.jsoup</groupId>
  79 + <artifactId>jsoup</artifactId>
  80 + </dependency>
  81 +
70 </dependencies> 82 </dependencies>
71 83
72 </project> 84 </project>
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/package-info.java
  1 +/**
  2 + * Web 框架,全局异常、API 日志等
  3 + */
1 package cn.iocoder.yudao.framework; 4 package cn.iocoder.yudao.framework;
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/swagger/config/YudaoSwaggerAutoConfiguration.java
@@ -9,15 +9,16 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties @@ -9,15 +9,16 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties
9 import org.springframework.context.annotation.Bean; 9 import org.springframework.context.annotation.Bean;
10 import org.springframework.http.HttpHeaders; 10 import org.springframework.http.HttpHeaders;
11 import springfox.documentation.builders.ApiInfoBuilder; 11 import springfox.documentation.builders.ApiInfoBuilder;
12 -import springfox.documentation.builders.ExampleBuilder; 12 +import springfox.documentation.builders.ParameterBuilder;
13 import springfox.documentation.builders.PathSelectors; 13 import springfox.documentation.builders.PathSelectors;
14 -import springfox.documentation.builders.RequestParameterBuilder; 14 +import springfox.documentation.schema.ModelRef;
15 import springfox.documentation.service.*; 15 import springfox.documentation.service.*;
16 import springfox.documentation.spi.DocumentationType; 16 import springfox.documentation.spi.DocumentationType;
17 import springfox.documentation.spi.service.contexts.SecurityContext; 17 import springfox.documentation.spi.service.contexts.SecurityContext;
18 import springfox.documentation.spring.web.plugins.Docket; 18 import springfox.documentation.spring.web.plugins.Docket;
19 -import springfox.documentation.swagger2.annotations.EnableSwagger2; 19 +import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
20 20
  21 +import java.util.ArrayList;
21 import java.util.Collections; 22 import java.util.Collections;
22 import java.util.List; 23 import java.util.List;
23 24
@@ -30,7 +31,7 @@ import static springfox.documentation.builders.RequestHandlerSelectors.basePacka @@ -30,7 +31,7 @@ import static springfox.documentation.builders.RequestHandlerSelectors.basePacka
30 * @author 芋道源码 31 * @author 芋道源码
31 */ 32 */
32 @AutoConfiguration 33 @AutoConfiguration
33 -@EnableSwagger2 34 +@EnableSwagger2WebMvc
34 @EnableKnife4j 35 @EnableKnife4j
35 @ConditionalOnClass({Docket.class, ApiInfoBuilder.class}) 36 @ConditionalOnClass({Docket.class, ApiInfoBuilder.class})
36 // 允许使用 swagger.enable=false 禁用 Swagger 37 // 允许使用 swagger.enable=false 禁用 Swagger
@@ -59,7 +60,7 @@ public class YudaoSwaggerAutoConfiguration { @@ -59,7 +60,7 @@ public class YudaoSwaggerAutoConfiguration {
59 .securitySchemes(securitySchemes()) 60 .securitySchemes(securitySchemes())
60 .securityContexts(securityContexts()) 61 .securityContexts(securityContexts())
61 // ④ 全局参数(多租户 header) 62 // ④ 全局参数(多租户 header)
62 - .globalRequestParameters(globalRequestParameters()); 63 + .globalOperationParameters(globalRequestParameters());
63 } 64 }
64 65
65 // ========== apiInfo ========== 66 // ========== apiInfo ==========
@@ -95,7 +96,7 @@ public class YudaoSwaggerAutoConfiguration { @@ -95,7 +96,7 @@ public class YudaoSwaggerAutoConfiguration {
95 return Collections.singletonList(SecurityContext.builder() 96 return Collections.singletonList(SecurityContext.builder()
96 .securityReferences(securityReferences()) 97 .securityReferences(securityReferences())
97 // 通过 PathSelectors.regex("^(?!auth).*$"),排除包含 "auth" 的接口不需要使用securitySchemes 98 // 通过 PathSelectors.regex("^(?!auth).*$"),排除包含 "auth" 的接口不需要使用securitySchemes
98 - .operationSelector(o -> o.requestMappingPattern().matches("^(?!auth).*$")) 99 + .forPaths(PathSelectors.regex("^(?!auth).*$"))
99 .build()); 100 .build());
100 } 101 }
101 102
@@ -109,11 +110,17 @@ public class YudaoSwaggerAutoConfiguration { @@ -109,11 +110,17 @@ public class YudaoSwaggerAutoConfiguration {
109 110
110 // ========== globalRequestParameters ========== 111 // ========== globalRequestParameters ==========
111 112
112 - private static List<RequestParameter> globalRequestParameters() {  
113 - RequestParameterBuilder tenantParameter = new RequestParameterBuilder()  
114 - .name(HEADER_TENANT_ID).description("租户编号")  
115 - .in(ParameterType.HEADER).example(new ExampleBuilder().value(1L).build());  
116 - return Collections.singletonList(tenantParameter.build()); 113 + private static List<Parameter> globalRequestParameters() {
  114 + List<Parameter> tenantParameter = new ArrayList<>();
  115 + tenantParameter.add(new ParameterBuilder()
  116 + .name(HEADER_TENANT_ID)
  117 + .description("租户编号")
  118 + .modelRef(new ModelRef("long"))
  119 + .defaultValue("1")
  120 + .parameterType("header")
  121 + .required(true)
  122 + .build());
  123 + return tenantParameter;
117 } 124 }
118 125
119 } 126 }
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/swagger/core/SpringFoxHandlerProviderBeanPostProcessor.java
@@ -5,7 +5,6 @@ import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; @@ -5,7 +5,6 @@ import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
5 import org.springframework.beans.BeansException; 5 import org.springframework.beans.BeansException;
6 import org.springframework.beans.factory.config.BeanPostProcessor; 6 import org.springframework.beans.factory.config.BeanPostProcessor;
7 import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping; 7 import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping;
8 -import springfox.documentation.spring.web.plugins.WebFluxRequestHandlerProvider;  
9 import springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider; 8 import springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider;
10 9
11 import java.util.List; 10 import java.util.List;
@@ -20,7 +19,7 @@ public class SpringFoxHandlerProviderBeanPostProcessor implements BeanPostProces @@ -20,7 +19,7 @@ public class SpringFoxHandlerProviderBeanPostProcessor implements BeanPostProces
20 19
21 @Override 20 @Override
22 public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { 21 public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
23 - if (bean instanceof WebMvcRequestHandlerProvider || bean instanceof WebFluxRequestHandlerProvider) { 22 + if (bean instanceof WebMvcRequestHandlerProvider) {
24 customizeSpringfoxHandlerMappings(getHandlerMappings(bean)); 23 customizeSpringfoxHandlerMappings(getHandlerMappings(bean));
25 } 24 }
26 return bean; 25 return bean;
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java
@@ -4,7 +4,6 @@ import cn.iocoder.yudao.framework.apilog.core.service.ApiErrorLogFrameworkServic @@ -4,7 +4,6 @@ import cn.iocoder.yudao.framework.apilog.core.service.ApiErrorLogFrameworkServic
4 import cn.iocoder.yudao.framework.common.enums.WebFilterOrderEnum; 4 import cn.iocoder.yudao.framework.common.enums.WebFilterOrderEnum;
5 import cn.iocoder.yudao.framework.web.core.filter.CacheRequestBodyFilter; 5 import cn.iocoder.yudao.framework.web.core.filter.CacheRequestBodyFilter;
6 import cn.iocoder.yudao.framework.web.core.filter.DemoFilter; 6 import cn.iocoder.yudao.framework.web.core.filter.DemoFilter;
7 -import cn.iocoder.yudao.framework.web.core.filter.XssFilter;  
8 import cn.iocoder.yudao.framework.web.core.handler.GlobalExceptionHandler; 7 import cn.iocoder.yudao.framework.web.core.handler.GlobalExceptionHandler;
9 import cn.iocoder.yudao.framework.web.core.handler.GlobalResponseBodyHandler; 8 import cn.iocoder.yudao.framework.web.core.handler.GlobalResponseBodyHandler;
10 import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; 9 import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
@@ -15,7 +14,6 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties @@ -15,7 +14,6 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties
15 import org.springframework.boot.web.servlet.FilterRegistrationBean; 14 import org.springframework.boot.web.servlet.FilterRegistrationBean;
16 import org.springframework.context.annotation.Bean; 15 import org.springframework.context.annotation.Bean;
17 import org.springframework.util.AntPathMatcher; 16 import org.springframework.util.AntPathMatcher;
18 -import org.springframework.util.PathMatcher;  
19 import org.springframework.web.bind.annotation.RestController; 17 import org.springframework.web.bind.annotation.RestController;
20 import org.springframework.web.cors.CorsConfiguration; 18 import org.springframework.web.cors.CorsConfiguration;
21 import org.springframework.web.cors.UrlBasedCorsConfigurationSource; 19 import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
@@ -27,7 +25,7 @@ import javax.annotation.Resource; @@ -27,7 +25,7 @@ import javax.annotation.Resource;
27 import javax.servlet.Filter; 25 import javax.servlet.Filter;
28 26
29 @AutoConfiguration 27 @AutoConfiguration
30 -@EnableConfigurationProperties({WebProperties.class, XssProperties.class}) 28 +@EnableConfigurationProperties(WebProperties.class)
31 public class YudaoWebAutoConfiguration implements WebMvcConfigurer { 29 public class YudaoWebAutoConfiguration implements WebMvcConfigurer {
32 30
33 @Resource 31 @Resource
@@ -48,7 +46,7 @@ public class YudaoWebAutoConfiguration implements WebMvcConfigurer { @@ -48,7 +46,7 @@ public class YudaoWebAutoConfiguration implements WebMvcConfigurer {
48 * 设置 API 前缀,仅仅匹配 controller 包下的 46 * 设置 API 前缀,仅仅匹配 controller 包下的
49 * 47 *
50 * @param configurer 配置 48 * @param configurer 配置
51 - * @param api API 配置 49 + * @param api API 配置
52 */ 50 */
53 private void configurePathMatch(PathMatchConfigurer configurer, WebProperties.Api api) { 51 private void configurePathMatch(PathMatchConfigurer configurer, WebProperties.Api api) {
54 AntPathMatcher antPathMatcher = new AntPathMatcher("."); 52 AntPathMatcher antPathMatcher = new AntPathMatcher(".");
@@ -101,14 +99,6 @@ public class YudaoWebAutoConfiguration implements WebMvcConfigurer { @@ -101,14 +99,6 @@ public class YudaoWebAutoConfiguration implements WebMvcConfigurer {
101 } 99 }
102 100
103 /** 101 /**
104 - * 创建 XssFilter Bean,解决 Xss 安全问题  
105 - */  
106 - @Bean  
107 - public FilterRegistrationBean<XssFilter> xssFilter(XssProperties properties, PathMatcher pathMatcher) {  
108 - return createFilterBean(new XssFilter(properties, pathMatcher), WebFilterOrderEnum.XSS_FILTER);  
109 - }  
110 -  
111 - /**  
112 * 创建 DemoFilter Bean,演示模式 102 * 创建 DemoFilter Bean,演示模式
113 */ 103 */
114 @Bean 104 @Bean
@@ -117,7 +107,7 @@ public class YudaoWebAutoConfiguration implements WebMvcConfigurer { @@ -117,7 +107,7 @@ public class YudaoWebAutoConfiguration implements WebMvcConfigurer {
117 return createFilterBean(new DemoFilter(), WebFilterOrderEnum.DEMO_FILTER); 107 return createFilterBean(new DemoFilter(), WebFilterOrderEnum.DEMO_FILTER);
118 } 108 }
119 109
120 - private static <T extends Filter> FilterRegistrationBean<T> createFilterBean(T filter, Integer order) { 110 + public static <T extends Filter> FilterRegistrationBean<T> createFilterBean(T filter, Integer order) {
121 FilterRegistrationBean<T> bean = new FilterRegistrationBean<>(filter); 111 FilterRegistrationBean<T> bean = new FilterRegistrationBean<>(filter);
122 bean.setOrder(order); 112 bean.setOrder(order);
123 return bean; 113 return bean;
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/filter/XssRequestWrapper.java deleted
1 -package cn.iocoder.yudao.framework.web.core.filter;  
2 -  
3 -import cn.hutool.core.collection.CollUtil;  
4 -import cn.hutool.core.io.IoUtil;  
5 -import cn.hutool.core.util.ArrayUtil;  
6 -import cn.hutool.core.util.ReflectUtil;  
7 -import cn.hutool.core.util.StrUtil;  
8 -import cn.hutool.http.HTMLFilter;  
9 -import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;  
10 -  
11 -import javax.servlet.ReadListener;  
12 -import javax.servlet.ServletInputStream;  
13 -import javax.servlet.http.HttpServletRequest;  
14 -import javax.servlet.http.HttpServletRequestWrapper;  
15 -import java.io.BufferedReader;  
16 -import java.io.ByteArrayInputStream;  
17 -import java.io.IOException;  
18 -import java.io.InputStreamReader;  
19 -import java.util.Map;  
20 -  
21 -/**  
22 - * Xss 请求 Wrapper  
23 - *  
24 - * @author 芋道源码  
25 - */  
26 -public class XssRequestWrapper extends HttpServletRequestWrapper {  
27 -  
28 - /**  
29 - * 基于线程级别的 HTMLFilter 对象,因为它线程非安全  
30 - */  
31 - private static final ThreadLocal<HTMLFilter> HTML_FILTER = ThreadLocal.withInitial(() -> {  
32 - HTMLFilter htmlFilter = new HTMLFilter();  
33 - // 反射修改 encodeQuotes 属性为 false,避免 " 被转移成 &quot; 字符  
34 - ReflectUtil.setFieldValue(htmlFilter, "encodeQuotes", false);  
35 - return htmlFilter;  
36 - });  
37 -  
38 - public XssRequestWrapper(HttpServletRequest request) {  
39 - super(request);  
40 - }  
41 -  
42 - private static String filterXss(String content) {  
43 - if (StrUtil.isEmpty(content)) {  
44 - return content;  
45 - }  
46 - return HTML_FILTER.get().filter(content);  
47 - }  
48 -  
49 - // ========== IO 流相关 ==========  
50 -  
51 - @Override  
52 - public BufferedReader getReader() throws IOException {  
53 - return new BufferedReader(new InputStreamReader(this.getInputStream()));  
54 - }  
55 -  
56 - @Override  
57 - public ServletInputStream getInputStream() throws IOException {  
58 - // 如果非 json 请求,不进行 Xss 处理  
59 - if (!ServletUtils.isJsonRequest(this)) {  
60 - return super.getInputStream();  
61 - }  
62 -  
63 - // 读取内容,并过滤  
64 - String content = IoUtil.readUtf8(super.getInputStream());  
65 - content = filterXss(content);  
66 - final ByteArrayInputStream newInputStream = new ByteArrayInputStream(content.getBytes());  
67 - // 返回 ServletInputStream  
68 - return new ServletInputStream() {  
69 -  
70 - @Override  
71 - public int read() {  
72 - return newInputStream.read();  
73 - }  
74 -  
75 - @Override  
76 - public boolean isFinished() {  
77 - return true;  
78 - }  
79 -  
80 - @Override  
81 - public boolean isReady() {  
82 - return true;  
83 - }  
84 -  
85 - @Override  
86 - public void setReadListener(ReadListener readListener) {}  
87 -  
88 - };  
89 - }  
90 -  
91 - // ========== Param 相关 ==========  
92 -  
93 - @Override  
94 - public String getParameter(String name) {  
95 - String value = super.getParameter(name);  
96 - return filterXss(value);  
97 - }  
98 -  
99 - @Override  
100 - public String[] getParameterValues(String name) {  
101 - String[] values = super.getParameterValues(name);  
102 - if (ArrayUtil.isEmpty(values)) {  
103 - return values;  
104 - }  
105 - // 过滤处理  
106 - for (int i = 0; i < values.length; i++) {  
107 - values[i] = filterXss(values[i]);  
108 - }  
109 - return values;  
110 - }  
111 -  
112 - @Override  
113 - public Map<String, String[]> getParameterMap() {  
114 - Map<String, String[]> valueMap = super.getParameterMap();  
115 - if (CollUtil.isEmpty(valueMap)) {  
116 - return valueMap;  
117 - }  
118 - // 过滤处理  
119 - for (Map.Entry<String, String[]> entry : valueMap.entrySet()) {  
120 - String[] values = entry.getValue();  
121 - for (int i = 0; i < values.length; i++) {  
122 - values[i] = filterXss(values[i]);  
123 - }  
124 - }  
125 - return valueMap;  
126 - }  
127 -  
128 - // ========== Header 相关 ==========  
129 -  
130 - @Override  
131 - public String getHeader(String name) {  
132 - String value = super.getHeader(name);  
133 - return filterXss(value);  
134 - }  
135 -  
136 -}  
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/XssProperties.java renamed to yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/xss/config/XssProperties.java
1 -package cn.iocoder.yudao.framework.web.config; 1 +package cn.iocoder.yudao.framework.xss.config;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import org.springframework.boot.context.properties.ConfigurationProperties; 4 import org.springframework.boot.context.properties.ConfigurationProperties;
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/xss/config/YudaoXssAutoConfiguration.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.xss.config;
  2 +
  3 +import cn.iocoder.yudao.framework.common.enums.WebFilterOrderEnum;
  4 +import cn.iocoder.yudao.framework.xss.core.clean.JsoupXssCleaner;
  5 +import cn.iocoder.yudao.framework.xss.core.clean.XssCleaner;
  6 +import cn.iocoder.yudao.framework.xss.core.filter.XssFilter;
  7 +import cn.iocoder.yudao.framework.xss.core.json.XssStringJsonDeserializer;
  8 +import com.fasterxml.jackson.databind.ObjectMapper;
  9 +import org.springframework.boot.autoconfigure.AutoConfiguration;
  10 +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
  11 +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
  12 +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
  13 +import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
  14 +import org.springframework.boot.context.properties.EnableConfigurationProperties;
  15 +import org.springframework.boot.web.servlet.FilterRegistrationBean;
  16 +import org.springframework.context.annotation.Bean;
  17 +import org.springframework.util.PathMatcher;
  18 +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  19 +
  20 +import static cn.iocoder.yudao.framework.web.config.YudaoWebAutoConfiguration.createFilterBean;
  21 +
  22 +@AutoConfiguration
  23 +@EnableConfigurationProperties(XssProperties.class)
  24 +public class YudaoXssAutoConfiguration implements WebMvcConfigurer {
  25 +
  26 + /**
  27 + * Xss 清理者
  28 + *
  29 + * @return XssCleaner
  30 + */
  31 + @Bean
  32 + @ConditionalOnMissingBean(XssCleaner.class)
  33 + public XssCleaner xssCleaner() {
  34 + return new JsoupXssCleaner();
  35 + }
  36 +
  37 + /**
  38 + * 注册 Jackson 的序列化器,用于处理 json 类型参数的 xss 过滤
  39 + *
  40 + * @return Jackson2ObjectMapperBuilderCustomizer
  41 + */
  42 + @Bean
  43 + @ConditionalOnMissingBean(name = "xssJacksonCustomizer")
  44 + @ConditionalOnBean(ObjectMapper.class)
  45 + @ConditionalOnProperty(value = "yudao.xss.enable", havingValue = "true")
  46 + public Jackson2ObjectMapperBuilderCustomizer xssJacksonCustomizer(XssCleaner xssCleaner) {
  47 + // 在反序列化时进行 xss 过滤,可以替换使用 XssStringJsonSerializer,在序列化时进行处理
  48 + return builder -> builder.deserializerByType(String.class, new XssStringJsonDeserializer(xssCleaner));
  49 + }
  50 +
  51 + /**
  52 + * 创建 XssFilter Bean,解决 Xss 安全问题
  53 + */
  54 + @Bean
  55 + @ConditionalOnBean(XssCleaner.class)
  56 + public FilterRegistrationBean<XssFilter> xssFilter(XssProperties properties, PathMatcher pathMatcher, XssCleaner xssCleaner) {
  57 + return createFilterBean(new XssFilter(properties, pathMatcher, xssCleaner), WebFilterOrderEnum.XSS_FILTER);
  58 + }
  59 +
  60 +}
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/xss/core/clean/JsoupXssCleaner.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.xss.core.clean;
  2 +
  3 +import org.jsoup.Jsoup;
  4 +import org.jsoup.nodes.Document;
  5 +import org.jsoup.safety.Safelist;
  6 +
  7 +/**
  8 + * 基于 JSONP 实现 XSS 过滤字符串
  9 + */
  10 +public class JsoupXssCleaner implements XssCleaner {
  11 +
  12 + private final Safelist safelist;
  13 +
  14 + /**
  15 + * 用于在 src 属性使用相对路径时,强制转换为绝对路径。 为空时不处理,值应为绝对路径的前缀(包含协议部分)
  16 + */
  17 + private final String baseUri;
  18 +
  19 + /**
  20 + * 无参构造,默认使用 {@link JsoupXssCleaner#buildSafelist} 方法构建一个安全列表
  21 + */
  22 + public JsoupXssCleaner() {
  23 + this.safelist = buildSafelist();
  24 + this.baseUri = "";
  25 + }
  26 +
  27 + /**
  28 + * 构建一个 Xss 清理的 Safelist 规则。
  29 + * 基于 Safelist#relaxed() 的基础上:
  30 + * 1. 扩展支持了 style 和 class 属性
  31 + * 2. a 标签额外支持了 target 属性
  32 + * 3. img 标签额外支持了 data 协议,便于支持 base64
  33 + *
  34 + * @return Safelist
  35 + */
  36 + private Safelist buildSafelist() {
  37 + // 使用 jsoup 提供的默认的
  38 + Safelist relaxedSafelist = Safelist.relaxed();
  39 + // 富文本编辑时一些样式是使用 style 来进行实现的
  40 + // 比如红色字体 style="color:red;", 所以需要给所有标签添加 style 属性
  41 + // 注意:style 属性会有注入风险 <img STYLE="background-image:url(javascript:alert('XSS'))">
  42 + relaxedSafelist.addAttributes(":all", "style", "class");
  43 + // 保留 a 标签的 target 属性
  44 + relaxedSafelist.addAttributes("a", "target");
  45 + // 支持img 为base64
  46 + relaxedSafelist.addProtocols("img", "src", "data");
  47 +
  48 + // 保留相对路径, 保留相对路径时,必须提供对应的 baseUri 属性,否则依然会被删除
  49 + // WHITELIST.preserveRelativeLinks(false);
  50 +
  51 + // 移除 a 标签和 img 标签的一些协议限制,这会导致 xss 防注入失效,如 <img src=javascript:alert("xss")>
  52 + // 虽然可以重写 WhiteList#isSafeAttribute 来处理,但是有隐患,所以暂时不支持相对路径
  53 + // WHITELIST.removeProtocols("a", "href", "ftp", "http", "https", "mailto");
  54 + // WHITELIST.removeProtocols("img", "src", "http", "https");
  55 + return relaxedSafelist;
  56 + }
  57 +
  58 + @Override
  59 + public String clean(String html) {
  60 + return Jsoup.clean(html, baseUri, safelist, new Document.OutputSettings().prettyPrint(false));
  61 + }
  62 +
  63 +}
  64 +
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/xss/core/clean/XssCleaner.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.xss.core.clean;
  2 +
  3 +/**
  4 + * 对 html 文本中的有 Xss 风险的数据进行清理
  5 + */
  6 +public interface XssCleaner {
  7 +
  8 + /**
  9 + * 清理有 Xss 风险的文本
  10 + *
  11 + * @param html 原 html
  12 + * @return 清理后的 html
  13 + */
  14 + String clean(String html);
  15 +
  16 +}
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/filter/XssFilter.java renamed to yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/xss/core/filter/XssFilter.java
1 -package cn.iocoder.yudao.framework.web.core.filter; 1 +package cn.iocoder.yudao.framework.xss.core.filter;
2 2
3 -import cn.iocoder.yudao.framework.web.config.XssProperties; 3 +import cn.iocoder.yudao.framework.xss.config.XssProperties;
  4 +import cn.iocoder.yudao.framework.xss.core.clean.XssCleaner;
4 import lombok.AllArgsConstructor; 5 import lombok.AllArgsConstructor;
5 import org.springframework.util.PathMatcher; 6 import org.springframework.util.PathMatcher;
6 import org.springframework.web.filter.OncePerRequestFilter; 7 import org.springframework.web.filter.OncePerRequestFilter;
@@ -14,8 +15,6 @@ import java.io.IOException; @@ -14,8 +15,6 @@ import java.io.IOException;
14 /** 15 /**
15 * Xss 过滤器 16 * Xss 过滤器
16 * 17 *
17 - * 对 Xss 不了解的胖友,可以看看 http://www.iocoder.cn/Fight/The-new-girl-asked-me-why-AJAX-requests-are-not-secure-I-did-not-answer/  
18 - *  
19 * @author 芋道源码 18 * @author 芋道源码
20 */ 19 */
21 @AllArgsConstructor 20 @AllArgsConstructor
@@ -30,10 +29,12 @@ public class XssFilter extends OncePerRequestFilter { @@ -30,10 +29,12 @@ public class XssFilter extends OncePerRequestFilter {
30 */ 29 */
31 private final PathMatcher pathMatcher; 30 private final PathMatcher pathMatcher;
32 31
  32 + private final XssCleaner xssCleaner;
  33 +
33 @Override 34 @Override
34 protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) 35 protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
35 throws IOException, ServletException { 36 throws IOException, ServletException {
36 - filterChain.doFilter(new XssRequestWrapper(request), response); 37 + filterChain.doFilter(new XssRequestWrapper(request, xssCleaner), response);
37 } 38 }
38 39
39 @Override 40 @Override
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/xss/core/filter/XssRequestWrapper.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.xss.core.filter;
  2 +
  3 +import cn.iocoder.yudao.framework.xss.core.clean.XssCleaner;
  4 +
  5 +import javax.servlet.http.HttpServletRequest;
  6 +import javax.servlet.http.HttpServletRequestWrapper;
  7 +import java.util.LinkedHashMap;
  8 +import java.util.Map;
  9 +
  10 +/**
  11 + * Xss 请求 Wrapper
  12 + *
  13 + * @author 芋道源码
  14 + */
  15 +public class XssRequestWrapper extends HttpServletRequestWrapper {
  16 +
  17 + private final XssCleaner xssCleaner;
  18 +
  19 + public XssRequestWrapper(HttpServletRequest request, XssCleaner xssCleaner) {
  20 + super(request);
  21 + this.xssCleaner = xssCleaner;
  22 + }
  23 +
  24 + // ============================ parameter ============================
  25 + @Override
  26 + public Map<String, String[]> getParameterMap() {
  27 + Map<String, String[]> map = new LinkedHashMap<>();
  28 + Map<String, String[]> parameters = super.getParameterMap();
  29 + for (Map.Entry<String, String[]> entry : parameters.entrySet()) {
  30 + String[] values = entry.getValue();
  31 + for (int i = 0; i < values.length; i++) {
  32 + values[i] = xssCleaner.clean(values[i]);
  33 + }
  34 + map.put(entry.getKey(), values);
  35 + }
  36 + return map;
  37 + }
  38 +
  39 + @Override
  40 + public String[] getParameterValues(String name) {
  41 + String[] values = super.getParameterValues(name);
  42 + if (values == null) {
  43 + return null;
  44 + }
  45 + int count = values.length;
  46 + String[] encodedValues = new String[count];
  47 + for (int i = 0; i < count; i++) {
  48 + encodedValues[i] = xssCleaner.clean(values[i]);
  49 + }
  50 + return encodedValues;
  51 + }
  52 +
  53 + @Override
  54 + public String getParameter(String name) {
  55 + String value = super.getParameter(name);
  56 + if (value == null) {
  57 + return null;
  58 + }
  59 + return xssCleaner.clean(value);
  60 + }
  61 +
  62 + // ============================ attribute ============================
  63 + @Override
  64 + public Object getAttribute(String name) {
  65 + Object value = super.getAttribute(name);
  66 + if (value instanceof String) {
  67 + xssCleaner.clean((String) value);
  68 + }
  69 + return value;
  70 + }
  71 +
  72 + // ============================ header ============================
  73 + @Override
  74 + public String getHeader(String name) {
  75 + String value = super.getHeader(name);
  76 + if (value == null) {
  77 + return null;
  78 + }
  79 + return xssCleaner.clean(value);
  80 + }
  81 +
  82 + // ============================ queryString ============================
  83 + @Override
  84 + public String getQueryString() {
  85 + String value = super.getQueryString();
  86 + if (value == null) {
  87 + return null;
  88 + }
  89 + return xssCleaner.clean(value);
  90 + }
  91 +
  92 +}
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/xss/core/json/XssStringJsonDeserializer.java 0 → 100644
  1 +package cn.iocoder.yudao.framework.xss.core.json;
  2 +
  3 +import cn.iocoder.yudao.framework.xss.core.clean.XssCleaner;
  4 +import com.fasterxml.jackson.core.JsonParser;
  5 +import com.fasterxml.jackson.core.JsonToken;
  6 +import com.fasterxml.jackson.databind.DeserializationContext;
  7 +import com.fasterxml.jackson.databind.deser.std.StringDeserializer;
  8 +import lombok.AllArgsConstructor;
  9 +import lombok.extern.slf4j.Slf4j;
  10 +
  11 +import java.io.IOException;
  12 +
  13 +/**
  14 + * XSS 过滤 jackson 反序列化器。
  15 + * 在反序列化的过程中,会对字符串进行 XSS 过滤。
  16 + *
  17 + * @author Hccake
  18 + */
  19 +@Slf4j
  20 +@AllArgsConstructor
  21 +public class XssStringJsonDeserializer extends StringDeserializer {
  22 +
  23 + private final XssCleaner xssCleaner;
  24 +
  25 + @Override
  26 + public String deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
  27 + if (p.hasToken(JsonToken.VALUE_STRING)) {
  28 + return xssCleaner.clean(p.getText());
  29 + }
  30 + JsonToken t = p.currentToken();
  31 + // [databind#381]
  32 + if (t == JsonToken.START_ARRAY) {
  33 + return _deserializeFromArray(p, ctxt);
  34 + }
  35 + // need to gracefully handle byte[] data, as base64
  36 + if (t == JsonToken.VALUE_EMBEDDED_OBJECT) {
  37 + Object ob = p.getEmbeddedObject();
  38 + if (ob == null) {
  39 + return null;
  40 + }
  41 + if (ob instanceof byte[]) {
  42 + return ctxt.getBase64Variant().encode((byte[]) ob, false);
  43 + }
  44 + // otherwise, try conversion using toString()...
  45 + return ob.toString();
  46 + }
  47 + // 29-Jun-2020, tatu: New! "Scalar from Object" (mostly for XML)
  48 + if (t == JsonToken.START_OBJECT) {
  49 + return ctxt.extractScalarFromObject(p, this, _valueClass);
  50 + }
  51 +
  52 + if (t.isScalarValue()) {
  53 + String text = p.getValueAsString();
  54 + return xssCleaner.clean(text);
  55 + }
  56 + return (String) ctxt.handleUnexpectedToken(_valueClass, p);
  57 + }
  58 +}
  59 +
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/xss/package-info.java 0 → 100644
  1 +/**
  2 + * 针对 XSS 的基础封装
  3 + *
  4 + * XSS 说明:https://tech.meituan.com/2018/09/27/fe-security.html
  5 + */
  6 +package cn.iocoder.yudao.framework.xss;
yudao-framework/yudao-spring-boot-starter-web/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
1 cn.iocoder.yudao.framework.apilog.config.YudaoApiLogAutoConfiguration 1 cn.iocoder.yudao.framework.apilog.config.YudaoApiLogAutoConfiguration
2 cn.iocoder.yudao.framework.jackson.config.YudaoJacksonAutoConfiguration 2 cn.iocoder.yudao.framework.jackson.config.YudaoJacksonAutoConfiguration
3 cn.iocoder.yudao.framework.swagger.config.YudaoSwaggerAutoConfiguration 3 cn.iocoder.yudao.framework.swagger.config.YudaoSwaggerAutoConfiguration
4 -cn.iocoder.yudao.framework.web.config.YudaoWebAutoConfiguration  
5 \ No newline at end of file 4 \ No newline at end of file
  5 +cn.iocoder.yudao.framework.web.config.YudaoWebAutoConfiguration
  6 +cn.iocoder.yudao.framework.xss.config.YudaoXssAutoConfiguration
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/convert/codegen/CodegenConvert.java
@@ -11,9 +11,11 @@ import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenColumnDO; @@ -11,9 +11,11 @@ import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenColumnDO;
11 import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenTableDO; 11 import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenTableDO;
12 import com.baomidou.mybatisplus.generator.config.po.TableField; 12 import com.baomidou.mybatisplus.generator.config.po.TableField;
13 import com.baomidou.mybatisplus.generator.config.po.TableInfo; 13 import com.baomidou.mybatisplus.generator.config.po.TableInfo;
  14 +import org.apache.ibatis.type.JdbcType;
14 import org.mapstruct.Mapper; 15 import org.mapstruct.Mapper;
15 import org.mapstruct.Mapping; 16 import org.mapstruct.Mapping;
16 import org.mapstruct.Mappings; 17 import org.mapstruct.Mappings;
  18 +import org.mapstruct.Named;
17 import org.mapstruct.factory.Mappers; 19 import org.mapstruct.factory.Mappers;
18 20
19 import java.util.List; 21 import java.util.List;
@@ -37,7 +39,7 @@ public interface CodegenConvert { @@ -37,7 +39,7 @@ public interface CodegenConvert {
37 39
38 @Mappings({ 40 @Mappings({
39 @Mapping(source = "name", target = "columnName"), 41 @Mapping(source = "name", target = "columnName"),
40 - @Mapping(source = "type", target = "dataType"), 42 + @Mapping(source = "metaInfo.jdbcType", target = "dataType", qualifiedByName = "getDataType"),
41 @Mapping(source = "comment", target = "columnComment"), 43 @Mapping(source = "comment", target = "columnComment"),
42 @Mapping(source = "metaInfo.nullable", target = "nullable"), 44 @Mapping(source = "metaInfo.nullable", target = "nullable"),
43 @Mapping(source = "keyFlag", target = "primaryKey"), 45 @Mapping(source = "keyFlag", target = "primaryKey"),
@@ -47,6 +49,11 @@ public interface CodegenConvert { @@ -47,6 +49,11 @@ public interface CodegenConvert {
47 }) 49 })
48 CodegenColumnDO convert(TableField bean); 50 CodegenColumnDO convert(TableField bean);
49 51
  52 + @Named("getDataType")
  53 + default String getDataType(JdbcType jdbcType) {
  54 + return jdbcType.name();
  55 + }
  56 +
50 // ========== CodegenTableDO 相关 ========== 57 // ========== CodegenTableDO 相关 ==========
51 58
52 // List<CodegenTableRespVO> convertList02(List<CodegenTableDO> list); 59 // List<CodegenTableRespVO> convertList02(List<CodegenTableDO> list);
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/codegen/CodegenColumnDO.java
@@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.infra.enums.codegen.CodegenColumnListConditionEnu @@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.infra.enums.codegen.CodegenColumnListConditionEnu
6 import com.baomidou.mybatisplus.annotation.KeySequence; 6 import com.baomidou.mybatisplus.annotation.KeySequence;
7 import com.baomidou.mybatisplus.annotation.TableId; 7 import com.baomidou.mybatisplus.annotation.TableId;
8 import com.baomidou.mybatisplus.annotation.TableName; 8 import com.baomidou.mybatisplus.annotation.TableName;
  9 +import com.baomidou.mybatisplus.generator.config.po.TableField;
9 import lombok.Data; 10 import lombok.Data;
10 import lombok.EqualsAndHashCode; 11 import lombok.EqualsAndHashCode;
11 import lombok.experimental.Accessors; 12 import lombok.experimental.Accessors;
@@ -29,7 +30,7 @@ public class CodegenColumnDO extends BaseDO { @@ -29,7 +30,7 @@ public class CodegenColumnDO extends BaseDO {
29 private Long id; 30 private Long id;
30 /** 31 /**
31 * 表编号 32 * 表编号
32 - * 33 + * <p>
33 * 关联 {@link CodegenTableDO#getId()} 34 * 关联 {@link CodegenTableDO#getId()}
34 */ 35 */
35 private Long tableId; 36 private Long tableId;
@@ -41,7 +42,8 @@ public class CodegenColumnDO extends BaseDO { @@ -41,7 +42,8 @@ public class CodegenColumnDO extends BaseDO {
41 */ 42 */
42 private String columnName; 43 private String columnName;
43 /** 44 /**
44 - * 字段类型 45 + * 数据库字段类型
  46 + * 关联 {@link TableField.MetaInfo#getJdbcType()}
45 */ 47 */
46 private String dataType; 48 private String dataType;
47 /** 49 /**
@@ -69,7 +71,7 @@ public class CodegenColumnDO extends BaseDO { @@ -69,7 +71,7 @@ public class CodegenColumnDO extends BaseDO {
69 71
70 /** 72 /**
71 * Java 属性类型 73 * Java 属性类型
72 - * 74 + * <p>
73 * 例如说 String、Boolean 等等 75 * 例如说 String、Boolean 等等
74 */ 76 */
75 private String javaType; 77 private String javaType;
@@ -79,7 +81,7 @@ public class CodegenColumnDO extends BaseDO { @@ -79,7 +81,7 @@ public class CodegenColumnDO extends BaseDO {
79 private String javaField; 81 private String javaField;
80 /** 82 /**
81 * 字典类型 83 * 字典类型
82 - * 84 + * <p>
83 * 关联 DictTypeDO 的 type 属性 85 * 关联 DictTypeDO 的 type 属性
84 */ 86 */
85 private String dictType; 87 private String dictType;
@@ -104,7 +106,7 @@ public class CodegenColumnDO extends BaseDO { @@ -104,7 +106,7 @@ public class CodegenColumnDO extends BaseDO {
104 private Boolean listOperation; 106 private Boolean listOperation;
105 /** 107 /**
106 * List 查询操作的条件类型 108 * List 查询操作的条件类型
107 - * 109 + * <p>
108 * 枚举 {@link CodegenColumnListConditionEnum} 110 * 枚举 {@link CodegenColumnListConditionEnum}
109 */ 111 */
110 private String listOperationCondition; 112 private String listOperationCondition;
@@ -117,7 +119,7 @@ public class CodegenColumnDO extends BaseDO { @@ -117,7 +119,7 @@ public class CodegenColumnDO extends BaseDO {
117 119
118 /** 120 /**
119 * 显示类型 121 * 显示类型
120 - * 122 + * <p>
121 * 枚举 {@link CodegenColumnHtmlTypeEnum} 123 * 枚举 {@link CodegenColumnHtmlTypeEnum}
122 */ 124 */
123 private String htmlType; 125 private String htmlType;
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/mysql/file/FileConfigMapper.java
@@ -6,15 +6,7 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; @@ -6,15 +6,7 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
6 import cn.iocoder.yudao.module.infra.controller.admin.file.vo.config.FileConfigPageReqVO; 6 import cn.iocoder.yudao.module.infra.controller.admin.file.vo.config.FileConfigPageReqVO;
7 import cn.iocoder.yudao.module.infra.dal.dataobject.file.FileConfigDO; 7 import cn.iocoder.yudao.module.infra.dal.dataobject.file.FileConfigDO;
8 import org.apache.ibatis.annotations.Mapper; 8 import org.apache.ibatis.annotations.Mapper;
9 -import org.apache.ibatis.annotations.Select;  
10 9
11 -import java.time.LocalDateTime;  
12 -  
13 -/**  
14 - * 文件配置 Mapper  
15 - *  
16 - * @author 芋道源码  
17 - */  
18 @Mapper 10 @Mapper
19 public interface FileConfigMapper extends BaseMapperX<FileConfigDO> { 11 public interface FileConfigMapper extends BaseMapperX<FileConfigDO> {
20 12
@@ -26,7 +18,4 @@ public interface FileConfigMapper extends BaseMapperX&lt;FileConfigDO&gt; { @@ -26,7 +18,4 @@ public interface FileConfigMapper extends BaseMapperX&lt;FileConfigDO&gt; {
26 .orderByDesc(FileConfigDO::getId)); 18 .orderByDesc(FileConfigDO::getId));
27 } 19 }
28 20
29 - @Select("SELECT COUNT(*) FROM infra_file_config WHERE update_time > #{maxUpdateTime}")  
30 - Long selectCountByUpdateTimeGt(LocalDateTime maxUpdateTime);  
31 -  
32 } 21 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/mq/consumer/file/FileConfigRefreshConsumer.java
@@ -23,7 +23,7 @@ public class FileConfigRefreshConsumer extends AbstractChannelMessageListener&lt;Fi @@ -23,7 +23,7 @@ public class FileConfigRefreshConsumer extends AbstractChannelMessageListener&lt;Fi
23 @Override 23 @Override
24 public void onMessage(FileConfigRefreshMessage message) { 24 public void onMessage(FileConfigRefreshMessage message) {
25 log.info("[onMessage][收到 FileConfig 刷新消息]"); 25 log.info("[onMessage][收到 FileConfig 刷新消息]");
26 - fileConfigService.initFileClients(); 26 + fileConfigService.initLocalCache();
27 } 27 }
28 28
29 } 29 }
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenServiceImpl.java
@@ -237,10 +237,6 @@ public class CodegenServiceImpl implements CodegenService { @@ -237,10 +237,6 @@ public class CodegenServiceImpl implements CodegenService {
237 @Override 237 @Override
238 public List<DatabaseTableRespVO> getDatabaseTableList(Long dataSourceConfigId, String name, String comment) { 238 public List<DatabaseTableRespVO> getDatabaseTableList(Long dataSourceConfigId, String name, String comment) {
239 List<TableInfo> tables = databaseTableService.getTableList(dataSourceConfigId, name, comment); 239 List<TableInfo> tables = databaseTableService.getTableList(dataSourceConfigId, name, comment);
240 - // 移除置顶前缀的表名 // TODO 未来做成可配置  
241 - tables.removeIf(table -> table.getName().toUpperCase().startsWith("QRTZ_"));  
242 - tables.removeIf(table -> table.getName().toUpperCase().startsWith("ACT_"));  
243 - tables.removeIf(table -> table.getName().toUpperCase().startsWith("FLW_"));  
244 // 移除已经生成的表 240 // 移除已经生成的表
245 // 移除在 Codegen 中,已经存在的 241 // 移除在 Codegen 中,已经存在的
246 Set<String> existsTables = CollectionUtils.convertSet( 242 Set<String> existsTables = CollectionUtils.convertSet(
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/db/DatabaseTableServiceImpl.java
@@ -52,7 +52,11 @@ public class DatabaseTableServiceImpl implements DatabaseTableService { @@ -52,7 +52,11 @@ public class DatabaseTableServiceImpl implements DatabaseTableService {
52 StrategyConfig.Builder strategyConfig = new StrategyConfig.Builder(); 52 StrategyConfig.Builder strategyConfig = new StrategyConfig.Builder();
53 if (StrUtil.isNotEmpty(name)) { 53 if (StrUtil.isNotEmpty(name)) {
54 strategyConfig.addInclude(name); 54 strategyConfig.addInclude(name);
  55 + } else {
  56 + // 移除工作流和定时任务前缀的表名 // TODO 未来做成可配置
  57 + strategyConfig.addExclude("ACT_[\\S\\s]+|QRTZ_[\\S\\s]+|FLW_[\\S\\s]+");
55 } 58 }
  59 +
56 GlobalConfig globalConfig = new GlobalConfig.Builder().dateType(DateType.TIME_PACK).build(); // 只使用 Date 类型,不使用 LocalDate 60 GlobalConfig globalConfig = new GlobalConfig.Builder().dateType(DateType.TIME_PACK).build(); // 只使用 Date 类型,不使用 LocalDate
57 ConfigBuilder builder = new ConfigBuilder(null, dataSourceConfig, strategyConfig.build(), 61 ConfigBuilder builder = new ConfigBuilder(null, dataSourceConfig, strategyConfig.build(),
58 null, globalConfig, null); 62 null, globalConfig, null);
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileConfigService.java
@@ -21,7 +21,7 @@ public interface FileConfigService { @@ -21,7 +21,7 @@ public interface FileConfigService {
21 /** 21 /**
22 * 初始化文件客户端 22 * 初始化文件客户端
23 */ 23 */
24 - void initFileClients(); 24 + void initLocalCache();
25 25
26 /** 26 /**
27 * 创建文件配置 27 * 创建文件配置
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileConfigServiceImpl.java
@@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.infra.service.file; @@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.infra.service.file;
3 import cn.hutool.core.io.resource.ResourceUtil; 3 import cn.hutool.core.io.resource.ResourceUtil;
4 import cn.hutool.core.util.IdUtil; 4 import cn.hutool.core.util.IdUtil;
5 import cn.iocoder.yudao.framework.common.pojo.PageResult; 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 -import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;  
7 import cn.iocoder.yudao.framework.common.util.json.JsonUtils; 6 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
8 import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils; 7 import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils;
9 import cn.iocoder.yudao.framework.file.core.client.FileClient; 8 import cn.iocoder.yudao.framework.file.core.client.FileClient;
@@ -19,7 +18,6 @@ import cn.iocoder.yudao.module.infra.dal.mysql.file.FileConfigMapper; @@ -19,7 +18,6 @@ import cn.iocoder.yudao.module.infra.dal.mysql.file.FileConfigMapper;
19 import cn.iocoder.yudao.module.infra.mq.producer.file.FileConfigProducer; 18 import cn.iocoder.yudao.module.infra.mq.producer.file.FileConfigProducer;
20 import lombok.Getter; 19 import lombok.Getter;
21 import lombok.extern.slf4j.Slf4j; 20 import lombok.extern.slf4j.Slf4j;
22 -import org.springframework.scheduling.annotation.Scheduled;  
23 import org.springframework.stereotype.Service; 21 import org.springframework.stereotype.Service;
24 import org.springframework.transaction.annotation.Transactional; 22 import org.springframework.transaction.annotation.Transactional;
25 import org.springframework.transaction.support.TransactionSynchronization; 23 import org.springframework.transaction.support.TransactionSynchronization;
@@ -29,7 +27,6 @@ import org.springframework.validation.annotation.Validated; @@ -29,7 +27,6 @@ import org.springframework.validation.annotation.Validated;
29 import javax.annotation.PostConstruct; 27 import javax.annotation.PostConstruct;
30 import javax.annotation.Resource; 28 import javax.annotation.Resource;
31 import javax.validation.Validator; 29 import javax.validation.Validator;
32 -import java.time.LocalDateTime;  
33 import java.util.Collection; 30 import java.util.Collection;
34 import java.util.List; 31 import java.util.List;
35 import java.util.Map; 32 import java.util.Map;
@@ -48,18 +45,6 @@ import static cn.iocoder.yudao.module.infra.enums.ErrorCodeConstants.FILE_CONFIG @@ -48,18 +45,6 @@ import static cn.iocoder.yudao.module.infra.enums.ErrorCodeConstants.FILE_CONFIG
48 @Slf4j 45 @Slf4j
49 public class FileConfigServiceImpl implements FileConfigService { 46 public class FileConfigServiceImpl implements FileConfigService {
50 47
51 - /**  
52 - * 定时执行 {@link #schedulePeriodicRefresh()} 的周期  
53 - * 因为已经通过 Redis Pub/Sub 机制,所以频率不需要高  
54 - */  
55 - private static final long SCHEDULER_PERIOD = 5 * 60 * 1000L;  
56 -  
57 - /**  
58 - * 缓存菜单的最大更新时间,用于后续的增量轮询,判断是否有更新  
59 - */  
60 - @Getter  
61 - private volatile LocalDateTime maxUpdateTime;  
62 -  
63 @Resource 48 @Resource
64 private FileClientFactory fileClientFactory; 49 private FileClientFactory fileClientFactory;
65 /** 50 /**
@@ -79,34 +64,12 @@ public class FileConfigServiceImpl implements FileConfigService { @@ -79,34 +64,12 @@ public class FileConfigServiceImpl implements FileConfigService {
79 64
80 @Override 65 @Override
81 @PostConstruct 66 @PostConstruct
82 - public void initFileClients() {  
83 - initLocalCacheIfUpdate(null);  
84 - }  
85 -  
86 - @Scheduled(fixedDelay = SCHEDULER_PERIOD, initialDelay = SCHEDULER_PERIOD)  
87 - public void schedulePeriodicRefresh() {  
88 - initLocalCacheIfUpdate(this.maxUpdateTime);  
89 - }  
90 -  
91 - /**  
92 - * 刷新本地缓存  
93 - *  
94 - * @param maxUpdateTime 最大更新时间  
95 - * 1. 如果 maxUpdateTime 为 null,则“强制”刷新缓存  
96 - * 2. 如果 maxUpdateTime 不为 null,判断自 maxUpdateTime 是否有数据发生变化,有的情况下才刷新缓存  
97 - */  
98 - private void initLocalCacheIfUpdate(LocalDateTime maxUpdateTime) {  
99 - // 第一步:基于 maxUpdateTime 判断缓存是否刷新。  
100 - // 如果没有增量的数据变化,则不进行本地缓存的刷新  
101 - if (maxUpdateTime != null  
102 - && fileConfigMapper.selectCountByUpdateTimeGt(maxUpdateTime) == 0) {  
103 - log.info("[initLocalCacheIfUpdate][数据未发生变化({}),本地缓存不刷新]", maxUpdateTime);  
104 - return;  
105 - } 67 + public void initLocalCache() {
  68 + // 第一步:查询数据
106 List<FileConfigDO> configs = fileConfigMapper.selectList(); 69 List<FileConfigDO> configs = fileConfigMapper.selectList();
107 - log.info("[initLocalCacheIfUpdate][缓存文件配置,数量为:{}]", configs.size()); 70 + log.info("[initLocalCache][缓存文件配置,数量为:{}]", configs.size());
108 71
109 - // 第二步:构建缓存。创建或更新文件 Client 72 + // 第二步:构建缓存:创建或更新文件 Client
110 configs.forEach(config -> { 73 configs.forEach(config -> {
111 fileClientFactory.createOrUpdateFileClient(config.getId(), config.getStorage(), config.getConfig()); 74 fileClientFactory.createOrUpdateFileClient(config.getId(), config.getStorage(), config.getConfig());
112 // 如果是 master,进行设置 75 // 如果是 master,进行设置
@@ -114,9 +77,6 @@ public class FileConfigServiceImpl implements FileConfigService { @@ -114,9 +77,6 @@ public class FileConfigServiceImpl implements FileConfigService {
114 masterFileClient = fileClientFactory.getFileClient(config.getId()); 77 masterFileClient = fileClientFactory.getFileClient(config.getId());
115 } 78 }
116 }); 79 });
117 -  
118 - // 第三步:设置最新的 maxUpdateTime,用于下次的增量判断。  
119 - this.maxUpdateTime = CollectionUtils.getMaxValue(configs, FileConfigDO::getUpdateTime);  
120 } 80 }
121 81
122 @Override 82 @Override
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/test/TestDemoServiceImpl.java
@@ -79,7 +79,7 @@ public class TestDemoServiceImpl implements TestDemoService { @@ -79,7 +79,7 @@ public class TestDemoServiceImpl implements TestDemoService {
79 79
80 @Override 80 @Override
81 public PageResult<TestDemoDO> getTestDemoPage(TestDemoPageReqVO pageReqVO) { 81 public PageResult<TestDemoDO> getTestDemoPage(TestDemoPageReqVO pageReqVO) {
82 -// testDemoMapper.selectList2(); 82 + testDemoMapper.selectList2();
83 return testDemoMapper.selectPage(pageReqVO); 83 return testDemoMapper.selectPage(pageReqVO);
84 } 84 }
85 85
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/data.ts.vm
1 -import { reactive } from 'vue'  
2 -import { useI18n } from '@/hooks/web/useI18n'  
3 -import { DICT_TYPE } from '@/utils/dict'  
4 -import { required } from '@/utils/formRules'  
5 -import { VxeCrudSchema, useVxeCrudSchemas } from '@/hooks/web/useVxeCrudSchemas' 1 +import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
6 const { t } = useI18n() // 国际化 2 const { t } = useI18n() // 国际化
7 // 表单校验 3 // 表单校验
8 export const rules = reactive({ 4 export const rules = reactive({
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/index.vue.vm
@@ -75,11 +75,6 @@ @@ -75,11 +75,6 @@
75 </XModal> 75 </XModal>
76 </template> 76 </template>
77 <script setup lang="ts" name="${simpleClassName}"> 77 <script setup lang="ts" name="${simpleClassName}">
78 -// 全局相关的 import  
79 -import { ref, unref } from 'vue'  
80 -import { useI18n } from '@/hooks/web/useI18n'  
81 -import { useMessage } from '@/hooks/web/useMessage'  
82 -import { useXTable } from '@/hooks/web/useXTable'  
83 import { FormExpose } from '@/components/Form' 78 import { FormExpose } from '@/components/Form'
84 // 业务相关的 import 79 // 业务相关的 import
85 import { rules, allSchemas } from './${classNameVar}.data' 80 import { rules, allSchemas } from './${classNameVar}.data'
yudao-module-infra/yudao-module-infra-biz/src/test/java/cn/iocoder/yudao/module/infra/service/DefaultDatabaseQueryTest.java
1 package cn.iocoder.yudao.module.infra.service; 1 package cn.iocoder.yudao.module.infra.service;
2 2
3 import cn.hutool.core.util.StrUtil; 3 import cn.hutool.core.util.StrUtil;
4 -import com.baomidou.mybatisplus.generator.IDatabaseQuery.DefaultDatabaseQuery; 4 +import com.baomidou.mybatisplus.generator.query.DefaultQuery;
5 import com.baomidou.mybatisplus.generator.config.DataSourceConfig; 5 import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
6 import com.baomidou.mybatisplus.generator.config.builder.ConfigBuilder; 6 import com.baomidou.mybatisplus.generator.config.builder.ConfigBuilder;
7 import com.baomidou.mybatisplus.generator.config.po.TableInfo; 7 import com.baomidou.mybatisplus.generator.config.po.TableInfo;
@@ -19,7 +19,7 @@ public class DefaultDatabaseQueryTest { @@ -19,7 +19,7 @@ public class DefaultDatabaseQueryTest {
19 19
20 ConfigBuilder builder = new ConfigBuilder(null, dataSourceConfig, null, null, null, null); 20 ConfigBuilder builder = new ConfigBuilder(null, dataSourceConfig, null, null, null, null);
21 21
22 - DefaultDatabaseQuery query = new DefaultDatabaseQuery(builder); 22 + DefaultQuery query = new DefaultQuery(builder);
23 23
24 long time = System.currentTimeMillis(); 24 long time = System.currentTimeMillis();
25 List<TableInfo> tableInfos = query.queryTables(); 25 List<TableInfo> tableInfos = query.queryTables();
yudao-module-infra/yudao-module-infra-biz/src/test/java/cn/iocoder/yudao/module/infra/service/file/FileConfigServiceImplTest.java
@@ -30,7 +30,6 @@ import java.util.Map; @@ -30,7 +30,6 @@ import java.util.Map;
30 import static cn.hutool.core.util.RandomUtil.randomEle; 30 import static cn.hutool.core.util.RandomUtil.randomEle;
31 import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildTime; 31 import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildTime;
32 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; 32 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
33 -import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.max;  
34 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 33 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
35 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 34 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
36 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId; 35 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId;
@@ -74,16 +73,13 @@ public class FileConfigServiceImplTest extends BaseDbUnitTest { @@ -74,16 +73,13 @@ public class FileConfigServiceImplTest extends BaseDbUnitTest {
74 when(fileClientFactory.getFileClient(eq(1L))).thenReturn(masterFileClient); 73 when(fileClientFactory.getFileClient(eq(1L))).thenReturn(masterFileClient);
75 74
76 // 调用 75 // 调用
77 - fileConfigService.initFileClients(); 76 + fileConfigService.initLocalCache();
78 // 断言 fileClientFactory 调用 77 // 断言 fileClientFactory 调用
79 verify(fileClientFactory).createOrUpdateFileClient(eq(1L), 78 verify(fileClientFactory).createOrUpdateFileClient(eq(1L),
80 eq(configDO1.getStorage()), eq(configDO1.getConfig())); 79 eq(configDO1.getStorage()), eq(configDO1.getConfig()));
81 verify(fileClientFactory).createOrUpdateFileClient(eq(2L), 80 verify(fileClientFactory).createOrUpdateFileClient(eq(2L),
82 eq(configDO2.getStorage()), eq(configDO2.getConfig())); 81 eq(configDO2.getStorage()), eq(configDO2.getConfig()));
83 assertSame(masterFileClient, fileConfigService.getMasterFileClient()); 82 assertSame(masterFileClient, fileConfigService.getMasterFileClient());
84 - // 断言 maxUpdateTime 缓存  
85 - assertEquals(max(configDO1.getUpdateTime(), configDO2.getUpdateTime()),  
86 - fileConfigService.getMaxUpdateTime());  
87 } 83 }
88 84
89 @Test 85 @Test
yudao-module-mp/pom.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project xmlns="http://maven.apache.org/POM/4.0.0"
  3 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5 + <parent>
  6 + <artifactId>yudao</artifactId>
  7 + <groupId>cn.iocoder.boot</groupId>
  8 + <version>${revision}</version>
  9 + </parent>
  10 + <modelVersion>4.0.0</modelVersion>
  11 +
  12 + <artifactId>yudao-module-mp</artifactId>
  13 + <packaging>pom</packaging>
  14 +
  15 + <description>
  16 + wechat 模块,主要实现微信平台的相关业务。
  17 + 例如:微信公众号、企业微信 SCRM 等
  18 + </description>
  19 + <modules>
  20 + <module>yudao-module-mp-api</module>
  21 + <module>yudao-module-mp-biz</module>
  22 + </modules>
  23 +
  24 +</project>
yudao-module-mp/yudao-module-mp-api/pom.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project xmlns="http://maven.apache.org/POM/4.0.0"
  3 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5 + <parent>
  6 + <artifactId>yudao-module-mp</artifactId>
  7 + <groupId>cn.iocoder.boot</groupId>
  8 + <version>${revision}</version>
  9 + </parent>
  10 + <modelVersion>4.0.0</modelVersion>
  11 + <artifactId>yudao-module-mp-api</artifactId>
  12 + <packaging>jar</packaging>
  13 +
  14 + <name>${project.artifactId}</name>
  15 + <description>
  16 + mp 模块 API,暴露给其它模块调用
  17 + </description>
  18 +
  19 + <dependencies>
  20 + <dependency>
  21 + <groupId>cn.iocoder.boot</groupId>
  22 + <artifactId>yudao-common</artifactId>
  23 + </dependency>
  24 + </dependencies>
  25 +
  26 +</project>
yudao-module-mp/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/enums/ErrorCodeConstants.java 0 → 100644
  1 +package cn.iocoder.yudao.module.mp.enums;
  2 +
  3 +import cn.iocoder.yudao.framework.common.exception.ErrorCode;
  4 +
  5 +/**
  6 + * Mp 错误码枚举类
  7 + *
  8 + * mp 系统,使用 1-006-000-000 段
  9 + */
  10 +public interface ErrorCodeConstants {
  11 +
  12 + // ========== 公众号账号 1006000000============
  13 + ErrorCode ACCOUNT_NOT_EXISTS = new ErrorCode(1006000000, "公众号账号不存在");
  14 + ErrorCode ACCOUNT_GENERATE_QR_CODE_FAIL = new ErrorCode(1006000001, "生成公众号二维码失败,原因:{}");
  15 + ErrorCode ACCOUNT_CLEAR_QUOTA_FAIL = new ErrorCode(1006000001, "清空公众号的 API 配额失败,原因:{}");
  16 +
  17 + // ========== 公众号统计 1006001000============
  18 + ErrorCode STATISTICS_GET_USER_SUMMARY_FAIL = new ErrorCode(1006001000, "获取粉丝增减数据失败,原因:{}");
  19 + ErrorCode STATISTICS_GET_USER_CUMULATE_FAIL = new ErrorCode(1006001001, "获得粉丝累计数据失败,原因:{}");
  20 + ErrorCode STATISTICS_GET_UPSTREAM_MESSAGE_FAIL = new ErrorCode(1006001002, "获得消息发送概况数据失败,原因:{}");
  21 + ErrorCode STATISTICS_GET_INTERFACE_SUMMARY_FAIL = new ErrorCode(1006001003, "获得接口分析数据失败,原因:{}");
  22 +
  23 + // ========== 公众号标签 1006002000============
  24 + ErrorCode TAG_NOT_EXISTS = new ErrorCode(1006002000, "标签不存在");
  25 + ErrorCode TAG_CREATE_FAIL = new ErrorCode(1006002001, "创建标签失败,原因:{}");
  26 + ErrorCode TAG_UPDATE_FAIL = new ErrorCode(1006002001, "更新标签失败,原因:{}");
  27 + ErrorCode TAG_DELETE_FAIL = new ErrorCode(1006002001, "删除标签失败,原因:{}");
  28 + ErrorCode TAG_GET_FAIL = new ErrorCode(1006002001, "获得标签失败,原因:{}");
  29 +
  30 + // ========== 公众号粉丝 1006003000============
  31 + ErrorCode USER_NOT_EXISTS = new ErrorCode(1006003000, "粉丝不存在");
  32 + ErrorCode USER_UPDATE_TAG_FAIL = new ErrorCode(1006003001, "更新粉丝标签失败,原因:{}");
  33 +
  34 + // ========== 公众号素材 1006004000============
  35 + ErrorCode MATERIAL_NOT_EXISTS = new ErrorCode(1006004000, "素材不存在");
  36 + ErrorCode MATERIAL_UPLOAD_FAIL = new ErrorCode(1006004001, "上传素材失败,原因:{}");
  37 + ErrorCode MATERIAL_IMAGE_UPLOAD_FAIL = new ErrorCode(1006004002, "上传图片失败,原因:{}");
  38 + ErrorCode MATERIAL_DELETE_FAIL = new ErrorCode(1006004003, "删除素材失败,原因:{}");
  39 +
  40 + // ========== 公众号消息 1006005000============
  41 + ErrorCode MESSAGE_SEND_FAIL = new ErrorCode(1006005000, "发送消息失败,原因:{}");
  42 +
  43 + // ========== 公众号发布能力 1006006000============
  44 + ErrorCode FREE_PUBLISH_LIST_FAIL = new ErrorCode(1006006000, "获得已成功发布列表失败,原因:{}");
  45 + ErrorCode FREE_PUBLISH_SUBMIT_FAIL = new ErrorCode(1006006001, "提交发布失败,原因:{}");
  46 + ErrorCode FREE_PUBLISH_DELETE_FAIL = new ErrorCode(1006006001, "删除发布失败,原因:{}");
  47 +
  48 + // ========== 公众号草稿 1006007000============
  49 + ErrorCode DRAFT_LIST_FAIL = new ErrorCode(1006007000, "获得草稿列表失败,原因:{}");
  50 + ErrorCode DRAFT_CREATE_FAIL = new ErrorCode(1006007001, "创建草稿失败,原因:{}");
  51 + ErrorCode DRAFT_UPDATE_FAIL = new ErrorCode(1006007002, "更新草稿失败,原因:{}");
  52 + ErrorCode DRAFT_DELETE_FAIL = new ErrorCode(1006007002, "删除草稿失败,原因:{}");
  53 +
  54 + // ========== 公众号菜单 1006008000============
  55 + ErrorCode MENU_SAVE_FAIL = new ErrorCode(1006008000, "创建菜单失败,原因:{}");
  56 + ErrorCode MENU_DELETE_FAIL = new ErrorCode(1006008001, "删除菜单失败,原因:{}");
  57 +
  58 + // ========== 公众号自动回复 1006009000============
  59 + ErrorCode AUTO_REPLY_NOT_EXISTS = new ErrorCode(1006009000, "自动回复不存在");
  60 + ErrorCode AUTO_REPLY_ADD_SUBSCRIBE_FAIL_EXISTS = new ErrorCode(1006009001, "操作失败,原因:已存在关注时的回复");
  61 + ErrorCode AUTO_REPLY_ADD_MESSAGE_FAIL_EXISTS = new ErrorCode(1006009002, "操作失败,原因:已存在该消息类型的回复");
  62 + ErrorCode AUTO_REPLY_ADD_KEYWORD_FAIL_EXISTS = new ErrorCode(1006009003, "操作失败,原因:已关在该关键字的回复");
  63 +
  64 +}
yudao-module-mp/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/enums/message/MpAutoReplyMatchEnum.java 0 → 100644
  1 +package cn.iocoder.yudao.module.mp.enums.message;
  2 +
  3 +import lombok.AllArgsConstructor;
  4 +import lombok.Getter;
  5 +
  6 +/**
  7 + * 公众号消息自动回复的匹配模式
  8 + *
  9 + * @author 芋道源码
  10 + */
  11 +@Getter
  12 +@AllArgsConstructor
  13 +public enum MpAutoReplyMatchEnum {
  14 +
  15 + ALL(1, "完全匹配"),
  16 + LIKE(2, "半匹配"),
  17 + ;
  18 +
  19 + /**
  20 + * 匹配
  21 + */
  22 + private final Integer match;
  23 + /**
  24 + * 匹配的名字
  25 + */
  26 + private final String name;
  27 +
  28 +}
yudao-module-mp/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/enums/message/MpAutoReplyTypeEnum.java 0 → 100644
  1 +package cn.iocoder.yudao.module.mp.enums.message;
  2 +
  3 +import lombok.AllArgsConstructor;
  4 +import lombok.Getter;
  5 +
  6 +/**
  7 + * 公众号消息自动回复的类型
  8 + *
  9 + * @author 芋道源码
  10 + */
  11 +@Getter
  12 +@AllArgsConstructor
  13 +public enum MpAutoReplyTypeEnum {
  14 +
  15 + SUBSCRIBE(1, "关注时回复"),
  16 + MESSAGE(2, "收到消息回复"),
  17 + KEYWORD(3, "关键词回复"),
  18 + ;
  19 +
  20 + /**
  21 + * 来源
  22 + */
  23 + private final Integer type;
  24 + /**
  25 + * 类型的名字
  26 + */
  27 + private final String name;
  28 +
  29 +}
yudao-module-mp/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/enums/message/MpMessageSendFromEnum.java 0 → 100644
  1 +package cn.iocoder.yudao.module.mp.enums.message;
  2 +
  3 +import lombok.AllArgsConstructor;
  4 +import lombok.Getter;
  5 +
  6 +/**
  7 + * 微信公众号消息的发送来源
  8 + *
  9 + * @author 芋道源码
  10 + */
  11 +@Getter
  12 +@AllArgsConstructor
  13 +public enum MpMessageSendFromEnum {
  14 +
  15 + USER_TO_MP(1, "粉丝发送给公众号"),
  16 + MP_TO_USER(2, "公众号发给粉丝"),
  17 + ;
  18 +
  19 + /**
  20 + * 来源
  21 + */
  22 + private final Integer from;
  23 + /**
  24 + * 来源的名字
  25 + */
  26 + private final String name;
  27 +
  28 +}
yudao-module-mp/yudao-module-mp-api/src/main/java/cn/iocoder/yudao/module/mp/package-info.java 0 → 100644
  1 +/**
  2 + * mp 模块,我们放微信微信公众号。
  3 + * 例如说:提供微信公众号的账号、菜单、粉丝、标签、消息、自动回复、素材、模板通知、运营数据等功能
  4 + *
  5 + * 1. Controller URL:以 /mp/ 开头,避免和其它 Module 冲突
  6 + * 2. DataObject 表名:以 mp_ 开头,方便在数据库中区分
  7 + */
  8 +package cn.iocoder.yudao.module.mp;
yudao-module-mp/yudao-module-mp-biz/pom.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project xmlns="http://maven.apache.org/POM/4.0.0"
  3 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5 + <parent>
  6 + <artifactId>yudao-module-mp</artifactId>
  7 + <groupId>cn.iocoder.boot</groupId>
  8 + <version>${revision}</version>
  9 + </parent>
  10 + <modelVersion>4.0.0</modelVersion>
  11 + <artifactId>yudao-module-mp-biz</artifactId>
  12 + <packaging>jar</packaging>
  13 +
  14 + <name>${project.artifactId}</name>
  15 + <description>
  16 + mp 模块,我们放微信微信公众号。
  17 + 例如说:提供微信公众号的账号、菜单、粉丝、标签、消息、自动回复、素材、模板通知、运营数据等功能
  18 + </description>
  19 +
  20 + <dependencies>
  21 + <dependency>
  22 + <groupId>cn.iocoder.boot</groupId>
  23 + <artifactId>yudao-module-mp-api</artifactId>
  24 + <version>${revision}</version>
  25 + </dependency>
  26 + <dependency>
  27 + <groupId>cn.iocoder.boot</groupId>
  28 + <artifactId>yudao-module-system-api</artifactId>
  29 + <version>${revision}</version>
  30 + </dependency>
  31 + <dependency>
  32 + <groupId>cn.iocoder.boot</groupId>
  33 + <artifactId>yudao-module-infra-api</artifactId>
  34 + <version>${revision}</version>
  35 + </dependency>
  36 +
  37 + <!-- 业务组件 -->
  38 + <dependency>
  39 + <groupId>cn.iocoder.boot</groupId>
  40 + <artifactId>yudao-spring-boot-starter-biz-operatelog</artifactId>
  41 + </dependency>
  42 + <dependency>
  43 + <groupId>cn.iocoder.boot</groupId>
  44 + <artifactId>yudao-spring-boot-starter-biz-weixin</artifactId>
  45 + </dependency>
  46 + <dependency>
  47 + <groupId>cn.iocoder.boot</groupId>
  48 + <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId>
  49 + </dependency>
  50 +
  51 + <!-- Web 相关 -->
  52 + <dependency>
  53 + <groupId>cn.iocoder.boot</groupId>
  54 + <artifactId>yudao-spring-boot-starter-security</artifactId>
  55 + </dependency>
  56 +
  57 + <!-- DB 相关 -->
  58 + <dependency>
  59 + <groupId>cn.iocoder.boot</groupId>
  60 + <artifactId>yudao-spring-boot-starter-mybatis</artifactId>
  61 + </dependency>
  62 +
  63 + <dependency>
  64 + <groupId>cn.iocoder.boot</groupId>
  65 + <artifactId>yudao-spring-boot-starter-redis</artifactId>
  66 + </dependency>
  67 +
  68 + <!-- 消息队列相关 -->
  69 + <dependency>
  70 + <groupId>cn.iocoder.boot</groupId>
  71 + <artifactId>yudao-spring-boot-starter-mq</artifactId>
  72 + </dependency>
  73 +
  74 + <!-- Test 测试相关 -->
  75 + <dependency>
  76 + <groupId>cn.iocoder.boot</groupId>
  77 + <artifactId>yudao-spring-boot-starter-test</artifactId>
  78 + <scope>test</scope>
  79 + </dependency>
  80 +
  81 + <!-- 工具类相关 -->
  82 + <dependency>
  83 + <groupId>cn.iocoder.boot</groupId>
  84 + <artifactId>yudao-spring-boot-starter-excel</artifactId>
  85 + </dependency>
  86 +
  87 + </dependencies>
  88 +
  89 +</project>
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/MpAccountController.java 0 → 100644
  1 +package cn.iocoder.yudao.module.mp.controller.admin.account;
  2 +
  3 +import cn.iocoder.yudao.framework.common.pojo.CommonResult;
  4 +import cn.iocoder.yudao.framework.common.pojo.PageResult;
  5 +import cn.iocoder.yudao.module.mp.controller.admin.account.vo.*;
  6 +import cn.iocoder.yudao.module.mp.convert.account.MpAccountConvert;
  7 +import cn.iocoder.yudao.module.mp.dal.dataobject.account.MpAccountDO;
  8 +import cn.iocoder.yudao.module.mp.service.account.MpAccountService;
  9 +import io.swagger.annotations.Api;
  10 +import io.swagger.annotations.ApiImplicitParam;
  11 +import io.swagger.annotations.ApiOperation;
  12 +import org.springframework.security.access.prepost.PreAuthorize;
  13 +import org.springframework.validation.annotation.Validated;
  14 +import org.springframework.web.bind.annotation.*;
  15 +
  16 +import javax.annotation.Resource;
  17 +import javax.validation.Valid;
  18 +import java.util.List;
  19 +
  20 +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
  21 +
  22 +@Api(tags = "管理后台 - 公众号账号")
  23 +@RestController
  24 +@RequestMapping("/mp/account")
  25 +@Validated
  26 +public class MpAccountController {
  27 +
  28 + @Resource
  29 + private MpAccountService mpAccountService;
  30 +
  31 + @PostMapping("/create")
  32 + @ApiOperation("创建公众号账号")
  33 + @PreAuthorize("@ss.hasPermission('mp:account:create')")
  34 + public CommonResult<Long> createAccount(@Valid @RequestBody MpAccountCreateReqVO createReqVO) {
  35 + return success(mpAccountService.createAccount(createReqVO));
  36 + }
  37 +
  38 + @PutMapping("/update")
  39 + @ApiOperation("更新公众号账号")
  40 + @PreAuthorize("@ss.hasPermission('mp:account:update')")
  41 + public CommonResult<Boolean> updateAccount(@Valid @RequestBody MpAccountUpdateReqVO updateReqVO) {
  42 + mpAccountService.updateAccount(updateReqVO);
  43 + return success(true);
  44 + }
  45 +
  46 + @DeleteMapping("/delete")
  47 + @ApiOperation("删除公众号账号")
  48 + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class)
  49 + @PreAuthorize("@ss.hasPermission('mp:account:delete')")
  50 + public CommonResult<Boolean> deleteAccount(@RequestParam("id") Long id) {
  51 + mpAccountService.deleteAccount(id);
  52 + return success(true);
  53 + }
  54 +
  55 + @GetMapping("/get")
  56 + @ApiOperation("获得公众号账号")
  57 + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
  58 + @PreAuthorize("@ss.hasPermission('mp:account:query')")
  59 + public CommonResult<MpAccountRespVO> getAccount(@RequestParam("id") Long id) {
  60 + MpAccountDO wxAccount = mpAccountService.getAccount(id);
  61 + return success(MpAccountConvert.INSTANCE.convert(wxAccount));
  62 + }
  63 +
  64 + @GetMapping("/page")
  65 + @ApiOperation("获得公众号账号分页")
  66 + @PreAuthorize("@ss.hasPermission('mp:account:query')")
  67 + public CommonResult<PageResult<MpAccountRespVO>> getAccountPage(@Valid MpAccountPageReqVO pageVO) {
  68 + PageResult<MpAccountDO> pageResult = mpAccountService.getAccountPage(pageVO);
  69 + return success(MpAccountConvert.INSTANCE.convertPage(pageResult));
  70 + }
  71 +
  72 + @GetMapping("/list-all-simple")
  73 + @ApiOperation(value = "获取公众号账号精简信息列表")
  74 + @PreAuthorize("@ss.hasPermission('mp:account:query')")
  75 + public CommonResult<List<MpAccountSimpleRespVO>> getSimpleAccounts() {
  76 + List<MpAccountDO> list = mpAccountService.getAccountList();
  77 + return success(MpAccountConvert.INSTANCE.convertList02(list));
  78 + }
  79 +
  80 + @PutMapping("/generate-qr-code")
  81 + @ApiOperation("生成公众号二维码")
  82 + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class)
  83 + @PreAuthorize("@ss.hasPermission('mp:account:qr-code')")
  84 + public CommonResult<Boolean> generateAccountQrCode(@RequestParam("id") Long id) {
  85 + mpAccountService.generateAccountQrCode(id);
  86 + return success(true);
  87 + }
  88 +
  89 + @PutMapping("/clear-quota")
  90 + @ApiOperation("清空公众号 API 配额")
  91 + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class)
  92 + @PreAuthorize("@ss.hasPermission('mp:account:clear-quota')")
  93 + public CommonResult<Boolean> clearAccountQuota(@RequestParam("id") Long id) {
  94 + mpAccountService.clearAccountQuota(id);
  95 + return success(true);
  96 + }
  97 +
  98 +}
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountBaseVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.mp.controller.admin.account.vo;
  2 +
  3 +import io.swagger.annotations.ApiModelProperty;
  4 +import lombok.Data;
  5 +
  6 +import javax.validation.constraints.NotEmpty;
  7 +
  8 +/**
  9 + * 公众号账号 Base VO,提供给添加、修改、详细的子 VO 使用
  10 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
  11 + *
  12 + * @author fengdan
  13 + */
  14 +@Data
  15 +public class MpAccountBaseVO {
  16 +
  17 + @ApiModelProperty(value = "公众号名称", required = true, example = "芋道源码")
  18 + @NotEmpty(message = "公众号名称不能为空")
  19 + private String name;
  20 +
  21 + @ApiModelProperty(value = "公众号微信号", required = true, example = "yudaoyuanma")
  22 + @NotEmpty(message = "公众号微信号不能为空")
  23 + private String account;
  24 +
  25 + @ApiModelProperty(value = "公众号 appId", required = true, example = "wx5b23ba7a5589ecbb")
  26 + @NotEmpty(message = "公众号 appId 不能为空")
  27 + private String appId;
  28 +
  29 + @ApiModelProperty(value = "公众号密钥", required = true, example = "3a7b3b20c537e52e74afd395eb85f61f")
  30 + @NotEmpty(message = "公众号密钥不能为空")
  31 + private String appSecret;
  32 +
  33 + @ApiModelProperty(value = "公众号 token", required = true, example = "kangdayuzhen")
  34 + @NotEmpty(message = "公众号 token 不能为空")
  35 + private String token;
  36 +
  37 + @ApiModelProperty(value = "加密密钥", example = "gjN+Ksei")
  38 + private String aesKey;
  39 +
  40 + @ApiModelProperty(value = "备注", example = "请关注芋道源码,学习技术")
  41 + private String remark;
  42 +
  43 +}
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountCreateReqVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.mp.controller.admin.account.vo;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import lombok.Data;
  5 +import lombok.EqualsAndHashCode;
  6 +import lombok.ToString;
  7 +
  8 +@ApiModel("管理后台 - 公众号账号创建 Request VO")
  9 +@Data
  10 +@EqualsAndHashCode(callSuper = true)
  11 +@ToString(callSuper = true)
  12 +public class MpAccountCreateReqVO extends MpAccountBaseVO {
  13 +
  14 +}
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountPageReqVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.mp.controller.admin.account.vo;
  2 +
  3 +import lombok.*;
  4 +import io.swagger.annotations.*;
  5 +import cn.iocoder.yudao.framework.common.pojo.PageParam;
  6 +
  7 +@ApiModel("管理后台 - 公众号账号分页 Request VO")
  8 +@Data
  9 +@EqualsAndHashCode(callSuper = true)
  10 +@ToString(callSuper = true)
  11 +public class MpAccountPageReqVO extends PageParam {
  12 +
  13 + @ApiModelProperty(value = "公众号名称", notes = "模糊匹配")
  14 + private String name;
  15 +
  16 + @ApiModelProperty(value = "公众号账号", notes = "模糊匹配")
  17 + private String account;
  18 +
  19 + @ApiModelProperty(value = "公众号 appid", notes = "模糊匹配")
  20 + private String appId;
  21 +
  22 +}
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountRespVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.mp.controller.admin.account.vo;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import lombok.ToString;
  8 +
  9 +import java.util.Date;
  10 +
  11 +@ApiModel("管理后台 - 公众号账号 Response VO")
  12 +@Data
  13 +@EqualsAndHashCode(callSuper = true)
  14 +@ToString(callSuper = true)
  15 +public class MpAccountRespVO extends MpAccountBaseVO {
  16 +
  17 + @ApiModelProperty(value = "编号", required = true, example = "1024")
  18 + private Long id;
  19 +
  20 + @ApiModelProperty(value = "二维码图片URL", example = "https://www.iocoder.cn/1024.png")
  21 + private String qrCodeUrl;
  22 +
  23 + @ApiModelProperty(value = "创建时间", required = true)
  24 + private Date createTime;
  25 +
  26 +}
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountSimpleRespVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.mp.controller.admin.account.vo;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +
  7 +@ApiModel("管理后台 - 公众号账号精简信息 Response VO")
  8 +@Data
  9 +public class MpAccountSimpleRespVO {
  10 +
  11 + @ApiModelProperty(value = "编号", required = true, example = "1024")
  12 + private Long id;
  13 +
  14 + @ApiModelProperty(value = "公众号名称", required = true, example = "芋道源码")
  15 + private String name;
  16 +
  17 +}