From a30ca26af82694bd5e9ddf25223171eaae2719f7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AE=89=E8=B4=9E?= <anzhenemail@163.com>
Date: Sat, 15 Apr 2023 15:44:55 +0800
Subject: [PATCH 01/58] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=A4=9A=E4=BD=99"?=
 =?UTF-8?q?=E5=8D=A0=E4=BD=8D"=E6=96=87=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../yudao-module-infra-biz/src/main/resources/mapper/占位         | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 yudao-module-infra/yudao-module-infra-biz/src/main/resources/mapper/占位

diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/mapper/占位 b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/mapper/占位
deleted file mode 100644
index e69de29bb..000000000

From d5a48e63a33605c8185c4ca41dac8a35f60867e3 Mon Sep 17 00:00:00 2001
From: lizs <zhongshi.l.li@cummins.com>
Date: Sun, 16 Apr 2023 21:53:24 +0800
Subject: [PATCH 02/58] =?UTF-8?q?fix:=20=E6=96=B0=E5=BB=BA=E5=95=86?=
 =?UTF-8?q?=E5=93=81=E6=97=B6=E5=95=86=E5=93=81=E5=88=86=E7=B1=BB=E7=8A=B6?=
 =?UTF-8?q?=E6=80=81=E5=88=A4=E6=96=AD=E9=94=99=E8=AF=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../product/service/category/ProductCategoryServiceImpl.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/category/ProductCategoryServiceImpl.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/category/ProductCategoryServiceImpl.java
index f0d10b8b8..a117c05eb 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/category/ProductCategoryServiceImpl.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/category/ProductCategoryServiceImpl.java
@@ -100,7 +100,7 @@ public class ProductCategoryServiceImpl implements ProductCategoryService {
         if (category == null) {
             throw exception(CATEGORY_NOT_EXISTS);
         }
-        if (Objects.equals(category.getStatus(), CommonStatusEnum.ENABLE.getStatus())) {
+        if (Objects.equals(category.getStatus(), CommonStatusEnum.DISABLE.getStatus())) {
             throw exception(CATEGORY_DISABLED, category.getName());
         }
     }

From 535413804b393d300a4e5df3c85a3749b5e002c1 Mon Sep 17 00:00:00 2001
From: YunaiV <zhijiantianya@gmail.com>
Date: Wed, 19 Apr 2023 20:44:19 +0800
Subject: [PATCH 03/58] =?UTF-8?q?1.7.2=20=E7=89=88=E6=9C=AC=E5=8F=91?=
 =?UTF-8?q?=E5=B8=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 pom.xml                     | 2 +-
 yudao-dependencies/pom.xml  | 2 +-
 yudao-ui-admin/package.json | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/pom.xml b/pom.xml
index ed2d61324..d5e1a6192 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,7 +30,7 @@
     <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
 
     <properties>
-        <revision>1.7.1-snapshot</revision>
+        <revision>1.7.2-snapshot</revision>
         <!-- Maven 相关 -->
         <java.version>1.8</java.version>
         <maven.compiler.source>${java.version}</maven.compiler.source>
diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml
index b536514a4..abfc23e06 100644
--- a/yudao-dependencies/pom.xml
+++ b/yudao-dependencies/pom.xml
@@ -14,7 +14,7 @@
     <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
 
     <properties>
-        <revision>1.7.1-snapshot</revision>
+        <revision>1.7.2-snapshot</revision>
         <!-- 统一依赖管理 -->
         <spring.boot.version>2.7.10</spring.boot.version>
         <!-- Web 相关 -->
diff --git a/yudao-ui-admin/package.json b/yudao-ui-admin/package.json
index e15da953b..e0777abd0 100644
--- a/yudao-ui-admin/package.json
+++ b/yudao-ui-admin/package.json
@@ -1,6 +1,6 @@
 {
   "name": "yudao-ui-admin",
-  "version": "1.7.1-snapshot",
+  "version": "1.7.2-snapshot",
   "description": "芋道管理系统",
   "author": "芋道",
   "license": "MIT",

From d3cd87767b42c95bea3f9f903b781d1bc05acfe2 Mon Sep 17 00:00:00 2001
From: inypeacock <1300856@qq.com>
Date: Fri, 21 Apr 2023 05:13:54 +0000
Subject: [PATCH 04/58] =?UTF-8?q?=E7=BC=BA=E5=B0=91ServletUtils=E5=BC=95?=
 =?UTF-8?q?=E7=94=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: inypeacock <1300856@qq.com>
---
 .../trade/controller/app/order/AppTradeOrderController.java      | 1 +
 1 file changed, 1 insertion(+)

diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/AppTradeOrderController.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/AppTradeOrderController.java
index f64d1376c..4a36d4acc 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/AppTradeOrderController.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/AppTradeOrderController.java
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.trade.controller.app.order;
 
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
 import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated;
 import cn.iocoder.yudao.module.pay.api.notify.dto.PayOrderNotifyReqDTO;
 import cn.iocoder.yudao.module.product.api.property.ProductPropertyValueApi;

From 552e9969ccf5fa33dadcce388a98e30defd5b3da Mon Sep 17 00:00:00 2001
From: baayso <baayso@outlook.com>
Date: Fri, 21 Apr 2023 18:07:28 +0800
Subject: [PATCH 05/58] =?UTF-8?q?fix:=20=E4=BB=A3=E7=A0=81=E7=94=9F?=
 =?UTF-8?q?=E6=88=90=EF=BC=9AVue3=E6=A0=87=E5=87=86=E6=A8=A1=E6=9D=BF?=
 =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../main/resources/codegen/vue3/api/api.ts.vm  | 18 ++++++++++--------
 .../resources/codegen/vue3/views/form.vue.vm   |  2 +-
 .../resources/codegen/vue3/views/index.vue.vm  |  4 ++--
 3 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/api/api.ts.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/api/api.ts.vm
index eaab40703..175a6eba1 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/api/api.ts.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/api/api.ts.vm
@@ -3,7 +3,7 @@ import request from '@/config/axios'
 export interface ${simpleClassName}VO {
 #foreach ($column in $columns)
 #if ($column.createOperation || $column.updateOperation)
-#if(${column.javaType.toLowerCase()} == "long" || ${column.javaType.toLowerCase()} == "integer" || ${column.javaType.toLowerCase()} == "double" || ${column.javaType.toLowerCase()} == "bigdecimal")
+#if(${column.javaType.toLowerCase()} == "long" || ${column.javaType.toLowerCase()} == "integer" || ${column.javaType.toLowerCase()} == "short" || ${column.javaType.toLowerCase()} == "double" || ${column.javaType.toLowerCase()} == "bigdecimal")
   ${column.javaField}: number
 #elseif(${column.javaType.toLowerCase()} == "date" || ${column.javaType.toLowerCase()} == "localdatetime")
   ${column.javaField}: Date
@@ -14,32 +14,34 @@ export interface ${simpleClassName}VO {
 #end
 }
 
+const baseURL = '/${table.moduleName}/${simpleClassName_strikeCase}'
+
 // 查询${table.classComment}列表
 export const get${simpleClassName}Page = async (params: ${simpleClassName}PageReqVO) => {
-  return await request.get({ url: '${baseURL}/page', params })
+  return await request.get({ url: `${baseURL}/page`, params })
 }
 
 // 查询${table.classComment}详情
 export const get${simpleClassName} = async (id: number) => {
-  return await request.get({ url: '${baseURL}/get?id=' + id })
+  return await request.get({ url: `${baseURL}/get?id=` + id })
 }
 
 // 新增${table.classComment}
 export const create${simpleClassName} = async (data: ${simpleClassName}VO) => {
-  return await request.post({ url: '${baseURL}/create', data })
+  return await request.post({ url: `${baseURL}/create`, data })
 }
 
 // 修改${table.classComment}
 export const update${simpleClassName} = async (data: ${simpleClassName}VO) => {
-  return await request.put({ url: '${baseURL}/update', data })
+  return await request.put({ url: `${baseURL}/update`, data })
 }
 
 // 删除${table.classComment}
 export const delete${simpleClassName} = async (id: number) => {
-  return await request.delete({ url: '${baseURL}/delete?id=' + id })
+  return await request.delete({ url: `${baseURL}/delete?id=` + id })
 }
 
 // 导出${table.classComment} Excel
-export const export${simpleClassName}Api = async (params) => {
-  return await request.download({ url: '${baseURL}/export-excel', params })
+export const export${simpleClassName} = async (params) => {
+  return await request.download({ url: `${baseURL}/export-excel`, params })
 }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/form.vue.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/form.vue.vm
index 99cce39f2..6604263ea 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/form.vue.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/form.vue.vm
@@ -102,7 +102,7 @@
         <el-date-picker
           v-model="formData.${javaField}"
           type="date"
-          value-format="timestamp"
+          value-format="x"
           placeholder="选择${comment}"
         />
       </el-form-item>
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/index.vue.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/index.vue.vm
index f396dde32..58bc69bc7 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/index.vue.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/index.vue.vm
@@ -66,7 +66,7 @@
       <el-form-item label="${comment}" prop="${javaField}">
         <el-date-picker
           v-model="queryParams.${javaField}"
-          value-format="yyyy-MM-dd"
+          value-format="YYYY-MM-DD"
           type="date"
           placeholder="选择${comment}"
           clearable
@@ -77,7 +77,7 @@
       <el-form-item label="${comment}" prop="${javaField}">
         <el-date-picker
           v-model="queryParams.${javaField}"
-          value-format="yyyy-MM-dd HH:mm:ss"
+          value-format="YYYY-MM-DD HH:mm:ss"
           type="daterange"
           start-placeholder="开始日期"
           end-placeholder="结束日期"

From 8c65afc56aed2aeb173c5de690b64a9af27c4153 Mon Sep 17 00:00:00 2001
From: YunaiV <zhijiantianya@gmail.com>
Date: Sat, 22 Apr 2023 19:01:11 +0800
Subject: [PATCH 06/58] =?UTF-8?q?!462=20fix:=20=E4=BB=A3=E7=A0=81=E7=94=9F?=
 =?UTF-8?q?=E6=88=90=EF=BC=9AVue3=E6=A0=87=E5=87=86=E6=A8=A1=E6=9D=BF?=
 =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../src/main/resources/codegen/vue3/api/api.ts.vm         | 3 +--
 .../src/main/resources/codegen/vue3_schema/api/api.ts.vm  | 1 +
 .../src/main/resources/codegen/vue3_vben/api/api.ts.vm    | 2 +-
 yudao-ui-admin/src/views/login.vue                        | 8 ++++++++
 4 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/api/api.ts.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/api/api.ts.vm
index 175a6eba1..8bd1c4ee3 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/api/api.ts.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/api/api.ts.vm
@@ -1,4 +1,5 @@
 import request from '@/config/axios'
+#set ($baseURL = "/${table.moduleName}/${simpleClassName_strikeCase}")
 
 export interface ${simpleClassName}VO {
 #foreach ($column in $columns)
@@ -14,8 +15,6 @@ export interface ${simpleClassName}VO {
 #end
 }
 
-const baseURL = '/${table.moduleName}/${simpleClassName_strikeCase}'
-
 // 查询${table.classComment}列表
 export const get${simpleClassName}Page = async (params: ${simpleClassName}PageReqVO) => {
   return await request.get({ url: `${baseURL}/page`, params })
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_schema/api/api.ts.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_schema/api/api.ts.vm
index f488c6fe4..32114e788 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_schema/api/api.ts.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_schema/api/api.ts.vm
@@ -1,4 +1,5 @@
 import request from '@/config/axios'
+#set ($baseURL = "/${table.moduleName}/${simpleClassName_strikeCase}")
 
 export interface ${simpleClassName}VO {
     #foreach ($column in $columns)
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/api/api.ts.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/api/api.ts.vm
index d8c28cfe9..c0a53ee43 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/api/api.ts.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/api/api.ts.vm
@@ -1,5 +1,5 @@
 import { defHttp } from '@/utils/http/axios'
-
+#set ($baseURL = "/${table.moduleName}/${simpleClassName_strikeCase}")
 
 // 查询${table.classComment}列表
 export function get${simpleClassName}Page(params) {
diff --git a/yudao-ui-admin/src/views/login.vue b/yudao-ui-admin/src/views/login.vue
index 39b84d504..ba7754e85 100644
--- a/yudao-ui-admin/src/views/login.vue
+++ b/yudao-ui-admin/src/views/login.vue
@@ -83,6 +83,14 @@
                     </div>
                 </div>
               </el-form-item>
+
+              <!-- 教程说明 -->
+              <el-form-item style="width:100%; margin-top:-25px">
+                <router-link to="https://doc.iocoder.cn/">📚开发指南</router-link>
+                <router-link to="https://doc.iocoder.cn/video/" style="padding-left: 10px">🔥视频教程</router-link>
+                <router-link to="https://www.iocoder.cn/Interview/good-collection/" style="padding-left: 10px">⚡面试手册</router-link>
+                <router-link to="http://static.yudao.iocoder.cn/mp/Aix9975.jpeg" style="padding-left: 10px">🤝外包咨询</router-link>
+              </el-form-item>
             </el-form>
           </div>
         </div>

From 4b2855232a7df004eaea1562dce764a8d6c82d43 Mon Sep 17 00:00:00 2001
From: YunaiV <zhijiantianya@gmail.com>
Date: Sat, 22 Apr 2023 19:25:59 +0800
Subject: [PATCH 07/58] =?UTF-8?q?!458=20=E3=80=90Fix=20Bug=E3=80=91?=
 =?UTF-8?q?=E2=80=9D=E5=8D=A0=E4=BD=8D=E2=80=9C=E6=96=87=E4=BB=B6=E5=BD=B1?=
 =?UTF-8?q?=E5=93=8D=E6=94=B9=E5=8C=85=E5=B7=A5=E5=85=B7=E8=BF=90=E8=A1=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../src/main/resources/mapper/null/.gitkeep               | 0
 yudao-ui-admin/src/views/login.vue                        | 8 ++++----
 2 files changed, 4 insertions(+), 4 deletions(-)
 create mode 100644 yudao-module-infra/yudao-module-infra-biz/src/main/resources/mapper/null/.gitkeep

diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/mapper/null/.gitkeep b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/mapper/null/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/yudao-ui-admin/src/views/login.vue b/yudao-ui-admin/src/views/login.vue
index ba7754e85..f2a1625bd 100644
--- a/yudao-ui-admin/src/views/login.vue
+++ b/yudao-ui-admin/src/views/login.vue
@@ -86,10 +86,10 @@
 
               <!-- 教程说明 -->
               <el-form-item style="width:100%; margin-top:-25px">
-                <router-link to="https://doc.iocoder.cn/">📚开发指南</router-link>
-                <router-link to="https://doc.iocoder.cn/video/" style="padding-left: 10px">🔥视频教程</router-link>
-                <router-link to="https://www.iocoder.cn/Interview/good-collection/" style="padding-left: 10px">⚡面试手册</router-link>
-                <router-link to="http://static.yudao.iocoder.cn/mp/Aix9975.jpeg" style="padding-left: 10px">🤝外包咨询</router-link>
+                <el-link href="https://doc.iocoder.cn/" target="_blank">📚开发指南</el-link>
+                <el-link href="https://doc.iocoder.cn/video/" target="_blank" style="padding-left: 10px">🔥视频教程</el-link>
+                <el-link href="https://www.iocoder.cn/Interview/good-collection/" target="_blank" style="padding-left: 10px">⚡面试手册</el-link>
+                <el-link href="http://static.yudao.iocoder.cn/mp/Aix9975.jpeg" target="_blank" style="padding-left: 10px">🤝外包咨询</el-link>
               </el-form-item>
             </el-form>
           </div>

From 8ce8f4e3a88e2bf5ca428220fab441ec8baa40f8 Mon Sep 17 00:00:00 2001
From: YunaiV <zhijiantianya@gmail.com>
Date: Sat, 22 Apr 2023 19:41:30 +0800
Subject: [PATCH 08/58] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E4=BF=AE=E5=A4=8D?=
 =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=AC=AC=E4=B8=80=E6=AC=A1=E6=89=93=E5=8C=85?=
 =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E6=8A=A5Failed=20to=20execute=20goal=20org.a?=
 =?UTF-8?q?pache.maven.plugins:maven-jar-plugin:3.3.0:jar?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../cn/iocoder/yudao/framework/weixin/package-info.java     | 6 ++++++
 1 file changed, 6 insertions(+)
 create mode 100644 yudao-framework/yudao-spring-boot-starter-biz-weixin/src/main/java/cn/iocoder/yudao/framework/weixin/package-info.java

diff --git a/yudao-framework/yudao-spring-boot-starter-biz-weixin/src/main/java/cn/iocoder/yudao/framework/weixin/package-info.java b/yudao-framework/yudao-spring-boot-starter-biz-weixin/src/main/java/cn/iocoder/yudao/framework/weixin/package-info.java
new file mode 100644
index 000000000..260476dfb
--- /dev/null
+++ b/yudao-framework/yudao-spring-boot-starter-biz-weixin/src/main/java/cn/iocoder/yudao/framework/weixin/package-info.java
@@ -0,0 +1,6 @@
+/**
+ * 微信拓展
+ * 1. 基于 weixin-java-mp 库,对接微信公众号平台。目前主要解决微信公众号的支付场景。
+ * 2. 基于 weixin-java-miniapp 库,对接微信小程序。目前主要解决微信小程序的一键登录场景。
+ */
+package cn.iocoder.yudao.framework.weixin;

From 91f63ff8132707dd8a1e6a27a1c0e48e46f71f95 Mon Sep 17 00:00:00 2001
From: YunaiV <zhijiantianya@gmail.com>
Date: Sat, 22 Apr 2023 19:44:03 +0800
Subject: [PATCH 09/58] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E4=BF=AE=E5=A4=8D?=
 =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=AC=AC=E4=B8=80=E6=AC=A1=E6=89=93=E5=8C=85?=
 =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E6=8A=A5Failed=20to=20execute=20goal=20org.a?=
 =?UTF-8?q?pache.maven.plugins:maven-jar-plugin:3.3.0:jar?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../java/cn/iocoder/yudao/framework/weixin/package-info.java     | 1 +
 1 file changed, 1 insertion(+)

diff --git a/yudao-framework/yudao-spring-boot-starter-biz-weixin/src/main/java/cn/iocoder/yudao/framework/weixin/package-info.java b/yudao-framework/yudao-spring-boot-starter-biz-weixin/src/main/java/cn/iocoder/yudao/framework/weixin/package-info.java
index 260476dfb..cf15f39bf 100644
--- a/yudao-framework/yudao-spring-boot-starter-biz-weixin/src/main/java/cn/iocoder/yudao/framework/weixin/package-info.java
+++ b/yudao-framework/yudao-spring-boot-starter-biz-weixin/src/main/java/cn/iocoder/yudao/framework/weixin/package-info.java
@@ -4,3 +4,4 @@
  * 2. 基于 weixin-java-miniapp 库,对接微信小程序。目前主要解决微信小程序的一键登录场景。
  */
 package cn.iocoder.yudao.framework.weixin;
+

From 640a60231c5163cddce355a6ea2ce113b629d989 Mon Sep 17 00:00:00 2001
From: YunaiV <zhijiantianya@gmail.com>
Date: Mon, 24 Apr 2023 01:11:42 +0800
Subject: [PATCH 10/58] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20vben=20=E6=BC=94?=
 =?UTF-8?q?=E7=A4=BA=E7=8E=AF=E5=A2=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 README.md | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 86b8317a3..9d37689d1 100644
--- a/README.md
+++ b/README.md
@@ -10,6 +10,7 @@
 ## 🐶 新手必读
 
 * 演示地址【Vue3 + element-plus】:<http://dashboard-vue3.yudao.iocoder.cn>
+* 演示地址【Vue3 + vben(ant-design-vue)】:<http://dashboard-vben.yudao.iocoder.cn>
 * 演示地址【Vue2 + element-ui】:<http://dashboard.yudao.iocoder.cn>
 * 启动文档:<https://doc.iocoder.cn/quick-start/>
 * 视频教程:<https://doc.iocoder.cn/video/>
@@ -24,8 +25,8 @@
 
 ![架构图](https://static.iocoder.cn/ruoyi-vue-pro-architecture.png?imageView2/2/format/webp)
 
-* 管理后台的 Vue3 版本采用 [vue-element-plus-admin](https://gitee.com/kailong110120130/vue-element-plus-admin) ,Vue2 版本采用 [vue-element-admin](https://github.com/PanJiaChen/vue-element-admin) 
-* 管理后台的移动端采用 [uni-app](https://github.com/dcloudio/uni-app) 方案,一份代码多终端适配,同时支持 APP、小程序、H5!
+* 管理后台的电脑端:Vue3 提供 [element-plus](https://gitee.com/yudaocode/yudao-ui-admin-vue3)、[vben(ant-design-vue)](https://gitee.com/yudaocode/yudao-ui-admin-vben) 两个版本,Vue2 提供 [element-ui](https://gitee.com/zhijiantianya/ruoyi-vue-pro/tree/master/yudao-ui-admin) 版本
+* 管理后台的移动端:采用 [uni-app](https://github.com/dcloudio/uni-app) 方案,一份代码多终端适配,同时支持 APP、小程序、H5!
 * 后端采用 Spring Boot 多模块架构、MySQL + MyBatis Plus、Redis + Redisson
 * 数据库可使用 MySQL、Oracle、PostgreSQL、SQL Server、MariaDB、国产达梦 DM、TiDB 等
 * 权限认证使用 Spring Security & Token & Redis,支持多终端、多种用户的认证系统,支持 SSO 单点登录

From 711a2763edc220658ce2609bf6cae5d8e7366a6f Mon Sep 17 00:00:00 2001
From: YunaiV <zhijiantianya@gmail.com>
Date: Mon, 24 Apr 2023 20:14:00 +0800
Subject: [PATCH 11/58] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20ProjectReactor=20?=
 =?UTF-8?q?=E4=B8=80=E9=94=AE=E6=94=B9=E5=8C=85=E7=9A=84=E6=8A=A5=E9=94=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../src/test/java/cn/iocoder/yudao/ProjectReactor.java    | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/yudao-server/src/test/java/cn/iocoder/yudao/ProjectReactor.java b/yudao-server/src/test/java/cn/iocoder/yudao/ProjectReactor.java
index 41171d988..6209c08e2 100644
--- a/yudao-server/src/test/java/cn/iocoder/yudao/ProjectReactor.java
+++ b/yudao-server/src/test/java/cn/iocoder/yudao/ProjectReactor.java
@@ -66,7 +66,7 @@ public class ProjectReactor {
         // 写入文件
         files.forEach(file -> {
             // 如果是白名单的文件类型,不进行重写,直接拷贝
-            String fileType = FileTypeUtil.getType(file);
+            String fileType = getFileType(file);
             if (WHITE_FILE_TYPES.contains(fileType)) {
                 copyFile(file, projectBaseDir, projectBaseDirNew, packageNameNew, artifactIdNew);
                 return;
@@ -106,7 +106,7 @@ public class ProjectReactor {
                                              String titleNew) {
         String content = FileUtil.readString(file, StandardCharsets.UTF_8);
         // 如果是白名单的文件类型,不进行重写
-        String fileType = FileTypeUtil.getType(file);
+        String fileType = getFileType(file);
         if (WHITE_FILE_TYPES.contains(fileType)) {
             return content;
         }
@@ -139,4 +139,8 @@ public class ProjectReactor {
                 .replaceAll(StrUtil.upperFirst(ARTIFACT_ID), StrUtil.upperFirst(artifactIdNew));
     }
 
+    private static String getFileType(File file) {
+        return file.length() > 0 ? FileTypeUtil.getType(file) : "";
+    }
+
 }

From 81b8f4171f370906688ad4932be380a4bb24a659 Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Tue, 25 Apr 2023 14:50:49 +0800
Subject: [PATCH 12/58] fix: vue3 codegen PageReqVO

---
 .../src/main/resources/codegen/vue3/api/api.ts.vm               | 2 +-
 .../src/main/resources/codegen/vue3_schema/api/api.ts.vm        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/api/api.ts.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/api/api.ts.vm
index 8bd1c4ee3..401796db8 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/api/api.ts.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/api/api.ts.vm
@@ -16,7 +16,7 @@ export interface ${simpleClassName}VO {
 }
 
 // 查询${table.classComment}列表
-export const get${simpleClassName}Page = async (params: ${simpleClassName}PageReqVO) => {
+export const get${simpleClassName}Page = async (params) => {
   return await request.get({ url: `${baseURL}/page`, params })
 }
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_schema/api/api.ts.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_schema/api/api.ts.vm
index 32114e788..48cd5422b 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_schema/api/api.ts.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_schema/api/api.ts.vm
@@ -16,7 +16,7 @@ export interface ${simpleClassName}VO {
 }
 
 // 查询${table.classComment}列表
-export const get${simpleClassName}Page = async (params: ${simpleClassName}PageReqVO) => {
+export const get${simpleClassName}Page = async (params) => {
   return await request.get({ url: '${baseURL}/page', params })
 }
 

From f8e54dda30dd28d8994bc80f15969d3d9b3f4068 Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Tue, 25 Apr 2023 18:26:27 +0800
Subject: [PATCH 13/58] feat: vben codegen

---
 .../codegen/vue3_vben/views/form.vue.vm       | 83 ++++++++++---------
 1 file changed, 44 insertions(+), 39 deletions(-)

diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/form.vue.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/form.vue.vm
index 2d69b5147..2cee94fb7 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/form.vue.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/form.vue.vm
@@ -1,49 +1,54 @@
 <template>
-  <BasicModal v-bind="$attrs" @register="registerModal" :title="isUpdate ? '编辑' : '新增'" @ok="handleSubmit">
+  <BasicModal v-bind="$attrs" @register="registerModal" :title="isUpdate ? t('action.edit') : t('action.create')" @ok="handleSubmit">
     <BasicForm @register="registerForm" />
   </BasicModal>
 </template>
 <script lang="ts" setup name="${table.className}Modal">
-  import { ref, unref } from 'vue'
-  import { BasicModal, useModalInner } from '@/components/Modal'
-  import { BasicForm, useForm } from '@/components/Form'
-  import { formSchema } from './${classNameVar}.data'
-  import { create${simpleClassName}, get${simpleClassName}, update${simpleClassName} } from '@/api/${table.moduleName}/${classNameVar}'
+import { ref, unref } from 'vue'
+import { useI18n } from '@/hooks/web/useI18n'
+import { useMessage } from '@/hooks/web/useMessage'
+import { BasicForm, useForm } from '@/components/Form'
+import { BasicModal, useModalInner } from '@/components/Modal'
+import { formSchema } from './${classNameVar}.data'
+import { create${simpleClassName}, get${simpleClassName}, update${simpleClassName} } from '@/api/${table.moduleName}/${classNameVar}'
 
-  const emit = defineEmits(['success', 'register'])
-  const isUpdate = ref(true)
+const { t } = useI18n()
+const { createMessage } = useMessage()
+const emit = defineEmits(['success', 'register'])
+const isUpdate = ref(true)
 
-  const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({
-    labelWidth: 120,
-    baseColProps: { span: 24 },
-    schemas: formSchema,
-    showActionButtonGroup: false,
-    actionColOptions: { span: 23 }
-  })
+const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({
+  labelWidth: 120,
+  baseColProps: { span: 24 },
+  schemas: formSchema,
+  showActionButtonGroup: false,
+  actionColOptions: { span: 23 }
+})
 
-  const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
-    resetFields()
-    setModalProps({ confirmLoading: false })
-    isUpdate.value = !!data?.isUpdate
-    if (unref(isUpdate)) {
-      const res = await get${simpleClassName}(data.record.id)
-      setFieldsValue({ ...res })
-    }
-  })
-
-  async function handleSubmit() {
-    try {
-      const values = await validate()
-      setModalProps({ confirmLoading: true })
-      if (unref(isUpdate)) {
-        await update${simpleClassName}(values)
-      } else {
-        await create${simpleClassName}(values)
-      }
-      closeModal()
-      emit('success')
-    } finally {
-      setModalProps({ confirmLoading: false })
-    }
+const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
+  resetFields()
+  setModalProps({ confirmLoading: false })
+  isUpdate.value = !!data?.isUpdate
+  if (unref(isUpdate)) {
+    const res = await get${simpleClassName}(data.record.id)
+    setFieldsValue({ ...res })
   }
+})
+
+async function handleSubmit() {
+  try {
+    const values = await validate()
+    setModalProps({ confirmLoading: true })
+    if (unref(isUpdate)) {
+      await update${simpleClassName}(values)
+    } else {
+      await create${simpleClassName}(values)
+    }
+    closeModal()
+    emit('success')
+  } finally {
+    createMessage.success(t('common.saveSuccessText'))
+    setModalProps({ confirmLoading: false })
+  }
+}
 </script>

From 7c47fd47c1514b44435d501f593f8b9a3af81ea1 Mon Sep 17 00:00:00 2001
From: baayso <baayso@outlook.com>
Date: Tue, 25 Apr 2023 21:28:38 +0800
Subject: [PATCH 14/58] =?UTF-8?q?fix:=20=E4=BB=A3=E7=A0=81=E7=94=9F?=
 =?UTF-8?q?=E6=88=90=EF=BC=9A=E8=A7=A3=E5=86=B3Java=E4=BB=A3=E7=A0=81DO?=
 =?UTF-8?q?=E5=92=8CVO=E4=B8=AD=E7=9A=84=E8=AD=A6=E5=91=8A=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../main/resources/codegen/java/controller/vo/_column.vm  | 2 +-
 .../main/resources/codegen/java/controller/vo/baseVO.vm   | 6 +++---
 .../resources/codegen/java/controller/vo/pageReqVO.vm     | 2 ++
 .../src/main/resources/codegen/java/dal/do.vm             | 2 ++
 .../src/main/resources/codegen/java/test/serviceTest.vm   | 8 ++++----
 5 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/_column.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/_column.vm
index 89a8e348f..98b09f272 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/_column.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/_column.vm
@@ -1,5 +1,5 @@
 ## 提供给 baseVO、createVO、updateVO 生成字段
-    @Schema(description = "${column.columnComment}"#if (!${column.nullable}), required = true#end#if ("$!column.example" != ""), example = "${column.example}"#end)
+    @Schema(description = "${column.columnComment}"#if (!${column.nullable}), requiredMode = Schema.RequiredMode.REQUIRED#end#if ("$!column.example" != ""), example = "${column.example}"#end)
 #if (!${column.nullable})## 判断 @NotEmpty 和 @NotNull 注解
 #if (${field.fieldType} == 'String')
     @NotEmpty(message = "${column.columnComment}不能为空")
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/baseVO.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/baseVO.vm
index e2c1f0b39..cc612e337 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/baseVO.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/baseVO.vm
@@ -24,9 +24,9 @@ import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
 #end
 
 /**
-* ${table.classComment} Base VO,提供给添加、修改、详细的子 VO 使用
-* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
-*/
+ * ${table.classComment} Base VO,提供给添加、修改、详细的子 VO 使用
+ * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
+ */
 @Data
 public class ${sceneEnum.prefixClass}${table.className}BaseVO {
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/pageReqVO.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/pageReqVO.vm
index 6f9868da3..39a8e7684 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/pageReqVO.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/pageReqVO.vm
@@ -26,6 +26,8 @@ import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
 @ToString(callSuper = true)
 public class ${sceneEnum.prefixClass}${table.className}PageReqVO extends PageParam {
 
+    private static final long serialVersionUID = 1L;
+
 #foreach ($column in $columns)
 #if (${column.listOperation})##查询操作
 #if (${column.listOperationCondition} == "BETWEEN")## 情况一,Between 的时候
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/dal/do.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/dal/do.vm
index d551d4b30..4d2157d97 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/dal/do.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/dal/do.vm
@@ -28,6 +28,8 @@ import ${BaseDOClassName};
 @AllArgsConstructor
 public class ${table.className}DO extends BaseDO {
 
+    private static final long serialVersionUID = 1L;
+
 #foreach ($column in $columns)
 #if (!${baseDOFields.contains(${column.javaField})})##排除 BaseDO 的字段
     /**
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/test/serviceTest.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/test/serviceTest.vm
index 4d9a5e572..ec1b45a96 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/test/serviceTest.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/test/serviceTest.vm
@@ -61,10 +61,10 @@ import static org.mockito.Mockito.*;
        #end
 #end
 /**
-* {@link ${table.className}ServiceImpl} 的单元测试类
-*
-* @author ${table.author}
-*/
+ * {@link ${table.className}ServiceImpl} 的单元测试类
+ *
+ * @author ${table.author}
+ */
 @Import(${table.className}ServiceImpl.class)
 public class ${table.className}ServiceImplTest extends BaseDbUnitTest {
 

From 9bdd71dbf18b2e8582922801991589622bd7b8f4 Mon Sep 17 00:00:00 2001
From: dhb52 <dhb52@126.com>
Date: Tue, 25 Apr 2023 22:52:42 +0800
Subject: [PATCH 15/58] =?UTF-8?q?feat:=20Docker=E6=94=AF=E6=8C=81-yudao-ui?=
 =?UTF-8?q?-admin?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 yudao-ui-admin/.dockerignore |  3 +++
 yudao-ui-admin/Dockerfile    | 22 ++++++++++++++++++++++
 yudao-ui-admin/nginx.conf    | 26 ++++++++++++++++++++++++++
 3 files changed, 51 insertions(+)
 create mode 100644 yudao-ui-admin/.dockerignore
 create mode 100644 yudao-ui-admin/Dockerfile
 create mode 100644 yudao-ui-admin/nginx.conf

diff --git a/yudao-ui-admin/.dockerignore b/yudao-ui-admin/.dockerignore
new file mode 100644
index 000000000..ddc40eddb
--- /dev/null
+++ b/yudao-ui-admin/.dockerignore
@@ -0,0 +1,3 @@
+.dockerignore
+dist
+node_modules
diff --git a/yudao-ui-admin/Dockerfile b/yudao-ui-admin/Dockerfile
new file mode 100644
index 000000000..382c3eb41
--- /dev/null
+++ b/yudao-ui-admin/Dockerfile
@@ -0,0 +1,22 @@
+FROM node:16-alpine as DIST
+
+WORKDIR /admim
+
+COPY ./package.json .
+COPY ./yarn.lock .
+COPY ./.npmrc .
+RUN yarn install
+
+COPY . .
+ARG NODE_ENV=""
+RUN env ${NODE_ENV} yarn build:prod
+
+## -- stage: dist => nginx --
+FROM nginx:alpine
+
+ENV TZ=Asia/Shanghai
+
+COPY ./nginx.conf /etc/nginx/conf.d/default.conf
+COPY --from=DIST /admim/dist /usr/share/nginx/html
+
+EXPOSE 80
diff --git a/yudao-ui-admin/nginx.conf b/yudao-ui-admin/nginx.conf
new file mode 100644
index 000000000..93f261baf
--- /dev/null
+++ b/yudao-ui-admin/nginx.conf
@@ -0,0 +1,26 @@
+server {
+    listen       80 default_server;
+    server_name  _; ## 重要!!!修改成你的外网 IP/域名
+
+    gzip on;
+    gzip_min_length 1k;     # 设置允许压缩的页面最小字节数
+    gzip_buffers 4 16k;     # 用来存储 gzip 的压缩结果
+    gzip_http_version 1.1;  # 识别 HTTP 协议版本
+    gzip_comp_level 2;      # 设置 gzip 的压缩比 1-9。1 压缩比最小但最快,而 9 相反
+    gzip_types text/plain application/x-javascript text/css application/xml application/javascript; # 指定压缩类型
+    gzip_proxied any;       # 无论后端服务器的 headers 头返回什么信息,都无条件启用压缩
+
+    location / { ## 前端项目
+        root   /usr/share/nginx/html/;
+        index  index.html index.htm;
+        try_files $uri $uri/ /index.html;
+    }
+
+    location /prod-api/ { ## 后端项目 - 管理后台
+        proxy_pass http://yudao-server:48080/; ## 重要!!!proxy_pass 需要设置为后端项目所在服务器的 IP
+        proxy_set_header Host $http_host;
+        proxy_set_header X-Real-IP $remote_addr;
+        proxy_set_header REMOTE-HOST $remote_addr;
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+    }
+}

From c139be1966623196aae0318d3a7248798c3dfc8f Mon Sep 17 00:00:00 2001
From: dhb52 <dhb52@126.com>
Date: Tue, 25 Apr 2023 22:54:11 +0800
Subject: [PATCH 16/58] =?UTF-8?q?perf:=20yudao-server/Dockerfile=E6=B7=BB?=
 =?UTF-8?q?=E5=8A=A0$ARGS=E5=8F=82=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 yudao-server/Dockerfile | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/yudao-server/Dockerfile b/yudao-server/Dockerfile
index 234081ad0..8fd95741f 100644
--- a/yudao-server/Dockerfile
+++ b/yudao-server/Dockerfile
@@ -9,11 +9,15 @@ WORKDIR /yudao-server
 COPY ./target/yudao-server.jar app.jar
 
 ## 设置 TZ 时区
+ENV TZ=Asia/Shanghai
 ## 设置 JAVA_OPTS 环境变量,可通过 docker run -e "JAVA_OPTS=" 进行覆盖
-ENV TZ=Asia/Shanghai JAVA_OPTS="-Xms512m -Xmx512m"
+ENV JAVA_OPTS="-Xms512m -Xmx512m -Djava.security.egd=file:/dev/./urandom"
+
+## 应用参数
+ENV ARGS=""
 
 ## 暴露后端项目的 48080 端口
 EXPOSE 48080
 
 ## 启动后端项目
-CMD java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar app.jar
+CMD java ${JAVA_OPTS} -jar app.jar $ARGS

From 8e64e93d9e8e45f36ca4c60a604587abb25dcf33 Mon Sep 17 00:00:00 2001
From: dhb52 <dhb52@126.com>
Date: Tue, 25 Apr 2023 22:54:56 +0800
Subject: [PATCH 17/58] feat: docker-compose docker.env

---
 docker-compose.yml | 86 ++++++++++++++++++++++++++++++++++++++++++++++
 docker.env         | 25 ++++++++++++++
 2 files changed, 111 insertions(+)
 create mode 100644 docker-compose.yml
 create mode 100644 docker.env

diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 000000000..9f59770dc
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,86 @@
+version: "3.8"
+
+services:
+  mysql:
+    container_name: yudao-mysql
+    image: mysql:8
+    restart: unless-stopped
+    tty: true
+    ports:
+      - 3308:3306
+    environment:
+      MYSQL_DATABASE: ${MYSQL_DATABASE:-ruoyi-vue-pro}
+      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-123456}
+    volumes:
+      - mysql:/var/lib/mysql/
+    networks:
+      - yudao-network
+
+  redis:
+    container_name: yudao-redis
+    image: redis:6-alpine
+    ports:
+      - 6379:6379
+    networks:
+      - yudao-network
+
+  server:
+    container_name: yudao-server
+    build:
+      context: ./yudao-server/
+    image: yudao-server
+    ports:
+      - 48080:48080
+    environment:
+      # https://github.com/polovyivan/docker-pass-configs-to-container
+      SPRING_PROFILES_ACTIVE: local
+      JAVA_OPTS:
+        ${JAVA_OPTS:-
+          -Xms512m
+          -Xmx512m
+          -Djava.security.egd=file:/dev/./urandom
+        }
+      ARGS:
+        --spring.datasource.dynamic.datasource.master.url=${MASTER_DATASOURCE_URL:-jdbc:mysql://yudao-mysql:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true}
+        --spring.datasource.dynamic.datasource.master.username=${MASTER_DATASOURCE_USERNAME:-root}
+        --spring.datasource.dynamic.datasource.master.password=${MASTER_DATASOURCE_PASSWORD:-123456}
+        --spring.datasource.dynamic.datasource.slave.url=${SLAVE_DATASOURCE_URL:-jdbc:mysql://yudao-mysql:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true}
+        --spring.datasource.dynamic.datasource.slave.username=${SLAVE_DATASOURCE_USERNAME:-root}
+        --spring.datasource.dynamic.datasource.slave.password=${SLAVE_DATASOURCE_PASSWORD:-123456}
+        --spring.redis.host=${REDIS_HOST:-yudao-redis}
+    networks:
+      - yudao-network
+    depends_on:
+      - mysql
+      - redis
+
+  admin:
+    container_name: yudao-admin
+    build:
+      context: ./yudao-ui-admin
+      args:
+        NODE_ENV:
+          ENV=${NODE_ENV:-production}
+          PUBLIC_PATH=${PUBLIC_PATH:-/}
+          VUE_APP_TITLE=${VUE_APP_TITLE:-芋道管理系统}
+          VUE_APP_BASE_API=${VUE_APP_BASE_API:-/prod-api}
+          VUE_APP_APP_NAME=${VUE_APP_APP_NAME:-/}
+          VUE_APP_TENANT_ENABLE=${VUE_APP_TENANT_ENABLE:-true}
+          VUE_APP_CAPTCHA_ENABLE=${VUE_APP_CAPTCHA_ENABLE:-true}
+          VUE_APP_DOC_ENABLE=${VUE_APP_DOC_ENABLE:-true}
+          VUE_APP_BAIDU_CODE=${VUE_APP_BAIDU_CODE:-fadc1bd5db1a1d6f581df60a1807f8ab}
+    image: yudao-admin
+    ports:
+      - 8080:80
+    networks:
+      - yudao-network
+    depends_on:
+      - server
+
+networks:
+  yudao-network:
+    driver: bridge
+
+volumes:
+  mysql:
+    driver: local
diff --git a/docker.env b/docker.env
new file mode 100644
index 000000000..0bf6e997e
--- /dev/null
+++ b/docker.env
@@ -0,0 +1,25 @@
+## mysql
+MYSQL_DATABASE=ruoyi-vue-pro
+MYSQL_ROOT_PASSWORD=123456
+
+## server
+JAVA_OPTS=-Xms512m -Xmx512m -Djava.security.egd=file:/dev/./urandom
+
+MASTER_DATASOURCE_URL=jdbc:mysql://yudao-mysql:3306/${MYSQL_DATABASE}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
+MASTER_DATASOURCE_USERNAME=root
+MASTER_DATASOURCE_PASSWORD=${MYSQL_ROOT_PASSWORD}
+SLAVE_DATASOURCE_URL=${MASTER_DATASOURCE_URL}
+SLAVE_DATASOURCE_USERNAME=${MASTER_DATASOURCE_USERNAME}
+SLAVE_DATASOURCE_PASSWORD=${MASTER_DATASOURCE_PASSWORD}
+REDIS_HOST=yudao-redis
+
+## admin
+NODE_ENV=production
+PUBLIC_PATH=/
+VUE_APP_TITLE=芋道管理系统
+VUE_APP_BASE_API=/prod-api
+VUE_APP_APP_NAME=/
+VUE_APP_TENANT_ENABLE=true
+VUE_APP_CAPTCHA_ENABLE=true
+VUE_APP_DOC_ENABLE=true
+VUE_APP_BAIDU_CODE=fadc1bd5db1a1d6f581df60a1807f8ab

From dbb75e1d9e23cbefd19ae30a3ee14bb2038898c5 Mon Sep 17 00:00:00 2001
From: dhb52 <dhb52@126.com>
Date: Tue, 25 Apr 2023 22:55:25 +0800
Subject: [PATCH 18/58] =?UTF-8?q?doc:=20=E6=B7=BB=E5=8A=A0docker/docker-co?=
 =?UTF-8?q?mpose=E6=96=87=E6=A1=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Docker-HOWTO.md | 60 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)
 create mode 100644 Docker-HOWTO.md

diff --git a/Docker-HOWTO.md b/Docker-HOWTO.md
new file mode 100644
index 000000000..87b4a4a02
--- /dev/null
+++ b/Docker-HOWTO.md
@@ -0,0 +1,60 @@
+# Docker Build & Up
+
+目标: 快速部署体验系统,帮助了解系统之间的依赖关系。
+
+## 功能文件列表
+
+```text
+.
+├── Docker-HOWTO.md
+├── docker-compose.yml
+├── docker.env
+├── yudao-server
+│   ├── Dockerfile
+│   └── nginx.conf
+└── yudao-ui-admin
+    ├── .dockerignore
+    └── Dockerfile
+```
+
+## Maven build (Optional)
+
+```shell
+# 创建maven缓存volume
+docker volume create --name yudao-maven-repo
+
+docker run -it --rm --name yudao-maven \
+    -v yudao-maven-repo:/root/.m2 \
+    -v $PWD:/usr/src/mymaven \
+    -w /usr/src/mymaven \
+    maven mvn clean install package '-Dmaven.test.skip=true'
+```
+
+## Docker Compose Build
+
+```shell
+docker compose --env-file docker.env build
+```
+
+## Docker Compose Up
+
+```shell
+docker compose --env-file docker.env up -d
+```
+
+第一次执行,由于数据库未初始化,因此yudao-server容器会运行失败。执行如下命令初始化数据库:
+
+```shell
+docker exec -i yudao-mysql \
+    sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" ruoyi-vue-pro' \
+    < ./sql/mysql/ruoyi-vue-pro.sql
+```
+
+注意:这里用docker compose exec 会出现 `the input device is not a TTY` 报错
+
+## Server:Port
+
+- admin: http://localhost:8080
+- API: http://localhost:48080
+- mysql: root/123456, port: 3308
+- redis: port: 6379

From 3219611a3296922b7925d241513b31df00a45584 Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Wed, 26 Apr 2023 18:42:03 +0800
Subject: [PATCH 19/58] fix: vue3 vben codegen dict

---
 .../codegen/vue3_vben/views/data.ts.vm         | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
index cf130155f..9ab5c4bca 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
@@ -53,7 +53,14 @@ export const searchFormSchema: FormSchema[] = [
     component: 'Select',
     componentProps: {
       #if ("" != $dictType)## 设置了 dictType 数据字典的情况
-        options: getIntDictOptions(DICT_TYPE.$dictType.toUpperCase())
+        #if ($javaType == "Integer" || $javaType == "Long" || $javaType == "Byte" || $javaType == "Short")
+          #set ($dictMethod = "getIntDictOptions")
+        #elseif ($javaType == "String")
+          #set ($dictMethod = "getStrDictOptions")
+        #elseif ($javaType == "Boolean")
+          #set ($dictMethod = "getBoolDictOptions")
+        #end
+        options: $dictMethod(DICT_TYPE.$dictType.toUpperCase())
       #else## 未设置 dictType 数据字典的情况
         options: []
       #end
@@ -99,7 +106,14 @@ export const formSchema: FormSchema[] = [
     component: 'Select',
     componentProps: {
       #if ("" != $dictType)## 有数据字典
-        options: getIntDictOptions(DICT_TYPE.COMMON_STATUS)
+        #if ($javaType == "Integer" || $javaType == "Long" || $javaType == "Byte" || $javaType == "Short")
+          #set ($dictMethod = "getIntDictOptions")
+        #elseif ($javaType == "String")
+          #set ($dictMethod = "getStrDictOptions")
+        #elseif ($javaType == "Boolean")
+          #set ($dictMethod = "getBoolDictOptions")
+        #end
+        options: $dictMethod(DICT_TYPE.$dictType.toUpperCase())
       #else##没数据字典
         options:[]
       #end

From 28f4456bbee1bd54f7a9815d391571db27b08b1b Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Thu, 27 Apr 2023 11:43:48 +0800
Subject: [PATCH 20/58] fix: vue3 vben codegen

---
 .../src/main/resources/codegen/vue3_vben/views/form.vue.vm      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/form.vue.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/form.vue.vm
index 2cee94fb7..6e61869bd 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/form.vue.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/form.vue.vm
@@ -46,8 +46,8 @@ async function handleSubmit() {
     }
     closeModal()
     emit('success')
-  } finally {
     createMessage.success(t('common.saveSuccessText'))
+  } finally {
     setModalProps({ confirmLoading: false })
   }
 }

From 1df0fd1bf8e3e9fd00f8d03625926defdd347ba5 Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Thu, 27 Apr 2023 13:10:32 +0800
Subject: [PATCH 21/58] =?UTF-8?q?fix:=20vue3=20vben=20=E4=BB=A3=E7=A0=81?=
 =?UTF-8?q?=E7=94=9F=E6=88=90=E6=94=AF=E6=8C=81=E5=88=9B=E5=BB=BA=E5=92=8C?=
 =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=B8=A4=E7=A7=8D=E8=A1=A8=E5=8D=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../codegen/vue3_vben/views/data.ts.vm        | 77 ++++++++++++++++++-
 .../codegen/vue3_vben/views/form.vue.vm       |  4 +-
 2 files changed, 77 insertions(+), 4 deletions(-)

diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
index 9ab5c4bca..f2784ce46 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
@@ -74,7 +74,7 @@ export const searchFormSchema: FormSchema[] = [
 #end
 ]
 
-export const formSchema: FormSchema[] = [
+export const createFormSchema: FormSchema[] = [
   {
     label: '编号',
     field: 'id',
@@ -82,7 +82,7 @@ export const formSchema: FormSchema[] = [
     component: 'Input'
   },
 #foreach($column in $columns)
-#if ($column.createOperation || $column.updateOperation)
+#if ($column.createOperation)
   #set ($dictType = $column.dictType)
   #set ($javaField = $column.javaField)
   #set ($AttrName = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
@@ -146,3 +146,76 @@ export const formSchema: FormSchema[] = [
 #end
 #end
 ]
+
+export const updateFormSchema: FormSchema[] = [
+  {
+    label: '编号',
+    field: 'id',
+    show: false,
+    component: 'Input'
+  },
+  #foreach($column in $columns)
+    #if ($column.updateOperation)
+      #set ($dictType = $column.dictType)
+      #set ($javaField = $column.javaField)
+      #set ($AttrName = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
+      #set ($comment = $column.columnComment)
+      #if (!$column.primaryKey)## 忽略主键,不用在表单里
+        {
+          label: '${comment}',
+          field: '${javaField}',
+          #if (($column.createOperation || $column.updateOperation) && !$column.nullable && !${column.primaryKey})## 创建或者更新操作 && 要求非空 && 非主键
+            required: true,
+          #end
+          #if ($column.htmlType == "input")
+            component: 'Input'
+          #elseif($column.htmlType == "imageUpload")## 图片上传
+            component: 'Upload'
+          #elseif($column.htmlType == "fileUpload")## 文件上传
+            component: 'Upload'
+          #elseif($column.htmlType == "editor")## 文本编辑器
+            component: 'InputTextArea'
+          #elseif($column.htmlType == "select")## 下拉框
+            component: 'Select',
+            componentProps: {
+              #if ("" != $dictType)## 有数据字典
+                #if ($javaType == "Integer" || $javaType == "Long" || $javaType == "Byte" || $javaType == "Short")
+                  #set ($dictMethod = "getIntDictOptions")
+                #elseif ($javaType == "String")
+                  #set ($dictMethod = "getStrDictOptions")
+                #elseif ($javaType == "Boolean")
+                  #set ($dictMethod = "getBoolDictOptions")
+                #end
+                options: $dictMethod(DICT_TYPE.$dictType.toUpperCase())
+              #else##没数据字典
+                options:[]
+              #end
+            }
+          #elseif($column.htmlType == "checkbox")## 多选框
+            component: 'Checkbox',
+            componentProps: {
+              #if ("" != $dictType)## 有数据字典
+                options: getIntDictOptions(DICT_TYPE.COMMON_STATUS)
+              #else##没数据字典
+                options:[]
+              #end
+            }
+          #elseif($column.htmlType == "radio")## 单选框
+            component: 'Radio',
+            componentProps: {
+              #if ("" != $dictType)## 有数据字典
+                options: getIntDictOptions(DICT_TYPE.COMMON_STATUS)
+              #else##没数据字典
+                options:[]
+              #end
+            }
+          #elseif($column.htmlType == "datetime")## 时间框
+            component: 'DatePicker'
+          #elseif($column.htmlType == "textarea")## 文本域
+            component: 'InputTextArea'
+          #end
+        },
+      #end
+    #end
+  #end
+]
\ No newline at end of file
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/form.vue.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/form.vue.vm
index 6e61869bd..99dbd3a6b 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/form.vue.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/form.vue.vm
@@ -9,7 +9,7 @@ import { useI18n } from '@/hooks/web/useI18n'
 import { useMessage } from '@/hooks/web/useMessage'
 import { BasicForm, useForm } from '@/components/Form'
 import { BasicModal, useModalInner } from '@/components/Modal'
-import { formSchema } from './${classNameVar}.data'
+import { createFormSchema, updateFormSchema } from './${classNameVar}.data'
 import { create${simpleClassName}, get${simpleClassName}, update${simpleClassName} } from '@/api/${table.moduleName}/${classNameVar}'
 
 const { t } = useI18n()
@@ -20,7 +20,7 @@ const isUpdate = ref(true)
 const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({
   labelWidth: 120,
   baseColProps: { span: 24 },
-  schemas: formSchema,
+  schemas: isUpdate? updateFormSchema : createFormSchema,
   showActionButtonGroup: false,
   actionColOptions: { span: 23 }
 })

From c88794f212f506d69b0228bbb762014c54da13cf Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Thu, 27 Apr 2023 13:17:03 +0800
Subject: [PATCH 22/58] =?UTF-8?q?feat:=20vue3=20vben=20=E4=BB=A3=E7=A0=81?=
 =?UTF-8?q?=E7=94=9F=E6=88=90=E6=94=AF=E6=8C=81=E5=88=9B=E5=BB=BA=E5=92=8C?=
 =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=B8=A4=E7=A7=8D=E8=A1=A8=E5=8D=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../codegen/vue3_vben/views/data.ts.vm        | 126 +++++++++---------
 1 file changed, 63 insertions(+), 63 deletions(-)

diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
index f2784ce46..6c6ae1f38 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
@@ -154,68 +154,68 @@ export const updateFormSchema: FormSchema[] = [
     show: false,
     component: 'Input'
   },
-  #foreach($column in $columns)
-    #if ($column.updateOperation)
-      #set ($dictType = $column.dictType)
-      #set ($javaField = $column.javaField)
-      #set ($AttrName = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-      #set ($comment = $column.columnComment)
-      #if (!$column.primaryKey)## 忽略主键,不用在表单里
-        {
-          label: '${comment}',
-          field: '${javaField}',
-          #if (($column.createOperation || $column.updateOperation) && !$column.nullable && !${column.primaryKey})## 创建或者更新操作 && 要求非空 && 非主键
-            required: true,
-          #end
-          #if ($column.htmlType == "input")
-            component: 'Input'
-          #elseif($column.htmlType == "imageUpload")## 图片上传
-            component: 'Upload'
-          #elseif($column.htmlType == "fileUpload")## 文件上传
-            component: 'Upload'
-          #elseif($column.htmlType == "editor")## 文本编辑器
-            component: 'InputTextArea'
-          #elseif($column.htmlType == "select")## 下拉框
-            component: 'Select',
-            componentProps: {
-              #if ("" != $dictType)## 有数据字典
-                #if ($javaType == "Integer" || $javaType == "Long" || $javaType == "Byte" || $javaType == "Short")
-                  #set ($dictMethod = "getIntDictOptions")
-                #elseif ($javaType == "String")
-                  #set ($dictMethod = "getStrDictOptions")
-                #elseif ($javaType == "Boolean")
-                  #set ($dictMethod = "getBoolDictOptions")
-                #end
-                options: $dictMethod(DICT_TYPE.$dictType.toUpperCase())
-              #else##没数据字典
-                options:[]
-              #end
-            }
-          #elseif($column.htmlType == "checkbox")## 多选框
-            component: 'Checkbox',
-            componentProps: {
-              #if ("" != $dictType)## 有数据字典
-                options: getIntDictOptions(DICT_TYPE.COMMON_STATUS)
-              #else##没数据字典
-                options:[]
-              #end
-            }
-          #elseif($column.htmlType == "radio")## 单选框
-            component: 'Radio',
-            componentProps: {
-              #if ("" != $dictType)## 有数据字典
-                options: getIntDictOptions(DICT_TYPE.COMMON_STATUS)
-              #else##没数据字典
-                options:[]
-              #end
-            }
-          #elseif($column.htmlType == "datetime")## 时间框
-            component: 'DatePicker'
-          #elseif($column.htmlType == "textarea")## 文本域
-            component: 'InputTextArea'
-          #end
-        },
-      #end
+#foreach($column in $columns)
+#if ($column.updateOperation)
+#set ($dictType = $column.dictType)
+#set ($javaField = $column.javaField)
+#set ($AttrName = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
+#set ($comment = $column.columnComment)
+#if (!$column.primaryKey)## 忽略主键,不用在表单里
+  {
+    label: '${comment}',
+    field: '${javaField}',
+    #if (($column.createOperation || $column.updateOperation) && !$column.nullable && !${column.primaryKey})## 创建或者更新操作 && 要求非空 && 非主键
+    required: true,
     #end
-  #end
+    #if ($column.htmlType == "input")
+    component: 'Input'
+    #elseif($column.htmlType == "imageUpload")## 图片上传
+    component: 'Upload'
+    #elseif($column.htmlType == "fileUpload")## 文件上传
+    component: 'Upload'
+    #elseif($column.htmlType == "editor")## 文本编辑器
+    component: 'InputTextArea'
+    #elseif($column.htmlType == "select")## 下拉框
+    component: 'Select',
+    componentProps: {
+      #if ("" != $dictType)## 有数据字典
+        #if ($javaType == "Integer" || $javaType == "Long" || $javaType == "Byte" || $javaType == "Short")
+          #set ($dictMethod = "getIntDictOptions")
+        #elseif ($javaType == "String")
+          #set ($dictMethod = "getStrDictOptions")
+        #elseif ($javaType == "Boolean")
+          #set ($dictMethod = "getBoolDictOptions")
+        #end
+        options: $dictMethod(DICT_TYPE.$dictType.toUpperCase())
+      #else##没数据字典
+        options:[]
+      #end
+    }
+    #elseif($column.htmlType == "checkbox")## 多选框
+    component: 'Checkbox',
+    componentProps: {
+      #if ("" != $dictType)## 有数据字典
+        options: getIntDictOptions(DICT_TYPE.COMMON_STATUS)
+      #else##没数据字典
+        options:[]
+      #end
+    }
+    #elseif($column.htmlType == "radio")## 单选框
+    component: 'Radio',
+    componentProps: {
+      #if ("" != $dictType)## 有数据字典
+        options: getIntDictOptions(DICT_TYPE.COMMON_STATUS)
+      #else##没数据字典
+        options:[]
+      #end
+    }
+    #elseif($column.htmlType == "datetime")## 时间框
+    component: 'DatePicker'
+    #elseif($column.htmlType == "textarea")## 文本域
+    component: 'InputTextArea'
+    #end
+  },
+#end
+#end
+#end
 ]
\ No newline at end of file

From 7549ab26114de315eba3a82da9fc8c6baa31b422 Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Thu, 27 Apr 2023 13:22:22 +0800
Subject: [PATCH 23/58] =?UTF-8?q?feat:=20vue3=20vben=20=E6=94=AF=E6=8C=81?=
 =?UTF-8?q?=E5=AF=8C=E6=96=87=E6=9C=AC=E7=94=9F=E6=88=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../src/main/resources/codegen/vue3_vben/views/data.ts.vm       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
index 6c6ae1f38..4349b4e32 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
@@ -174,7 +174,7 @@ export const updateFormSchema: FormSchema[] = [
     #elseif($column.htmlType == "fileUpload")## 文件上传
     component: 'Upload'
     #elseif($column.htmlType == "editor")## 文本编辑器
-    component: 'InputTextArea'
+    component: 'Editor'
     #elseif($column.htmlType == "select")## 下拉框
     component: 'Select',
     componentProps: {

From 38511493381ca876f251f075d295844ddf01620f Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Thu, 27 Apr 2023 13:22:42 +0800
Subject: [PATCH 24/58] =?UTF-8?q?feat:=20vue3=20vben=20=E6=94=AF=E6=8C=81?=
 =?UTF-8?q?=E5=AF=8C=E6=96=87=E6=9C=AC=E7=94=9F=E6=88=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../src/main/resources/codegen/vue3_vben/views/data.ts.vm       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
index 4349b4e32..9b0258eb5 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
@@ -101,7 +101,7 @@ export const createFormSchema: FormSchema[] = [
   #elseif($column.htmlType == "fileUpload")## 文件上传
     component: 'Upload'
   #elseif($column.htmlType == "editor")## 文本编辑器
-    component: 'InputTextArea'
+    component: 'Editor'
   #elseif($column.htmlType == "select")## 下拉框
     component: 'Select',
     componentProps: {

From 1e3380d0a34735f9258689c87ab0c6ae75819b7b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=B4=94=E5=AE=B6=E8=BE=89?= <rundeepin@qq.com>
Date: Fri, 28 Apr 2023 14:47:06 +0800
Subject: [PATCH 25/58] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8C=85=E5=90=8D?=
 =?UTF-8?q?=E8=B7=AF=E5=BE=84=E9=94=99=E8=AF=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../core/client/impl}/PayClientFactoryImplIntegrationTest.java    | 0
 .../pay/core/client/impl}/alipay/AlipayQrPayClientTest.java       | 0
 2 files changed, 0 insertions(+), 0 deletions(-)
 rename yudao-framework/yudao-spring-boot-starter-biz-pay/src/test/java/{cn.iocoder.yudao.framework.pay.core.client.impl => cn/iocoder/yudao/framework/pay/core/client/impl}/PayClientFactoryImplIntegrationTest.java (100%)
 rename yudao-framework/yudao-spring-boot-starter-biz-pay/src/test/java/{cn.iocoder.yudao.framework.pay.core.client.impl => cn/iocoder/yudao/framework/pay/core/client/impl}/alipay/AlipayQrPayClientTest.java (100%)

diff --git a/yudao-framework/yudao-spring-boot-starter-biz-pay/src/test/java/cn.iocoder.yudao.framework.pay.core.client.impl/PayClientFactoryImplIntegrationTest.java b/yudao-framework/yudao-spring-boot-starter-biz-pay/src/test/java/cn/iocoder/yudao/framework/pay/core/client/impl/PayClientFactoryImplIntegrationTest.java
similarity index 100%
rename from yudao-framework/yudao-spring-boot-starter-biz-pay/src/test/java/cn.iocoder.yudao.framework.pay.core.client.impl/PayClientFactoryImplIntegrationTest.java
rename to yudao-framework/yudao-spring-boot-starter-biz-pay/src/test/java/cn/iocoder/yudao/framework/pay/core/client/impl/PayClientFactoryImplIntegrationTest.java
diff --git a/yudao-framework/yudao-spring-boot-starter-biz-pay/src/test/java/cn.iocoder.yudao.framework.pay.core.client.impl/alipay/AlipayQrPayClientTest.java b/yudao-framework/yudao-spring-boot-starter-biz-pay/src/test/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayQrPayClientTest.java
similarity index 100%
rename from yudao-framework/yudao-spring-boot-starter-biz-pay/src/test/java/cn.iocoder.yudao.framework.pay.core.client.impl/alipay/AlipayQrPayClientTest.java
rename to yudao-framework/yudao-spring-boot-starter-biz-pay/src/test/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayQrPayClientTest.java

From 3905060bbf91bc539341cd6ec4ffd917fc0e182a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=B4=94=E5=AE=B6=E8=BE=89?= <rundeepin@qq.com>
Date: Fri, 28 Apr 2023 14:48:15 +0800
Subject: [PATCH 26/58] =?UTF-8?q?=E4=BF=AE=E5=A4=8DMapper=E4=B8=AD?=
 =?UTF-8?q?=E7=9A=84DO=E7=BC=BA=E5=A4=B1=E5=8C=85=E5=90=8D=E9=94=99?=
 =?UTF-8?q?=E8=AF=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../src/main/resources/mapper/test/TestDemoMapper.xml           | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/mapper/test/TestDemoMapper.xml b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/mapper/test/TestDemoMapper.xml
index d65f2136f..287f58d82 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/mapper/test/TestDemoMapper.xml
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/mapper/test/TestDemoMapper.xml
@@ -9,7 +9,7 @@
         文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
      -->
 
-    <select id="selectList2" resultType="TestDemoDO">
+    <select id="selectList2" resultType="cn.iocoder.yudao.module.infra.dal.dataobject.test.TestDemoDO">
         SELECT * FROM infra_test_demo
     </select>
 

From 97502c8b511aa8a0ff505e2d6eb6f468fe6fb1a9 Mon Sep 17 00:00:00 2001
From: dhb52 <dhb52@126.com>
Date: Tue, 2 May 2023 10:31:24 +0800
Subject: [PATCH 27/58] =?UTF-8?q?fix:=20docker-compose=E6=B7=BB=E5=8A=A0?=
 =?UTF-8?q?=E8=87=AA=E5=90=AF=E5=8A=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 docker-compose.yml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/docker-compose.yml b/docker-compose.yml
index 9f59770dc..0d9e9754d 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -19,6 +19,7 @@ services:
   redis:
     container_name: yudao-redis
     image: redis:6-alpine
+    restart: unless-stopped
     ports:
       - 6379:6379
     networks:
@@ -29,6 +30,7 @@ services:
     build:
       context: ./yudao-server/
     image: yudao-server
+    restart: unless-stopped
     ports:
       - 48080:48080
     environment:
@@ -70,6 +72,7 @@ services:
           VUE_APP_DOC_ENABLE=${VUE_APP_DOC_ENABLE:-true}
           VUE_APP_BAIDU_CODE=${VUE_APP_BAIDU_CODE:-fadc1bd5db1a1d6f581df60a1807f8ab}
     image: yudao-admin
+    restart: unless-stopped
     ports:
       - 8080:80
     networks:

From 023322cb2512f1fa82c93dd48837e31f4a659507 Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Sat, 6 May 2023 16:24:29 +0800
Subject: [PATCH 28/58] chore: up hutool 5.8.18

---
 yudao-dependencies/pom.xml                       | 2 +-
 yudao-example/yudao-sso-demo-by-code/pom.xml     | 2 +-
 yudao-example/yudao-sso-demo-by-password/pom.xml | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml
index abfc23e06..45da32621 100644
--- a/yudao-dependencies/pom.xml
+++ b/yudao-dependencies/pom.xml
@@ -46,7 +46,7 @@
         <jsoup.version>1.15.4</jsoup.version>
         <lombok.version>1.18.26</lombok.version>
         <mapstruct.version>1.5.3.Final</mapstruct.version>
-        <hutool.version>5.8.15</hutool.version>
+        <hutool.version>5.8.18</hutool.version>
         <easyexcel.verion>3.2.1</easyexcel.verion>
         <velocity.version>2.3</velocity.version>
         <screw.version>1.0.5</screw.version>
diff --git a/yudao-example/yudao-sso-demo-by-code/pom.xml b/yudao-example/yudao-sso-demo-by-code/pom.xml
index 2f8648374..402c50ab2 100644
--- a/yudao-example/yudao-sso-demo-by-code/pom.xml
+++ b/yudao-example/yudao-sso-demo-by-code/pom.xml
@@ -52,7 +52,7 @@
         <dependency>
             <groupId>cn.hutool</groupId>
             <artifactId>hutool-all</artifactId>
-            <version>5.8.15</version>
+            <version>5.8.18</version>
         </dependency>
 
         <dependency>
diff --git a/yudao-example/yudao-sso-demo-by-password/pom.xml b/yudao-example/yudao-sso-demo-by-password/pom.xml
index bc805ff69..9e8977e82 100644
--- a/yudao-example/yudao-sso-demo-by-password/pom.xml
+++ b/yudao-example/yudao-sso-demo-by-password/pom.xml
@@ -52,7 +52,7 @@
         <dependency>
             <groupId>cn.hutool</groupId>
             <artifactId>hutool-all</artifactId>
-            <version>5.8.15</version>
+            <version>5.8.18</version>
         </dependency>
 
         <dependency>

From be01cd48947809fb62d82a734c5434f17b257384 Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Sat, 6 May 2023 16:26:31 +0800
Subject: [PATCH 29/58] chore: up mapstruct 1.5.5.Final

---
 README.md                  | 2 +-
 yudao-dependencies/pom.xml | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 9d37689d1..231cba7e6 100644
--- a/README.md
+++ b/README.md
@@ -266,7 +266,7 @@ ps:核心功能已经实现,正在对接微信小程序中...
 | [SkyWalking](https://skywalking.apache.org/)                                                | 分布式应用追踪系统        | 8.12.0      | [文档](http://www.iocoder.cn/Spring-Boot/SkyWalking/?yudao)      |
 | [Spring Boot Admin](https://github.com/codecentric/spring-boot-admin)                       | Spring Boot 监控平台 | 2.7.10      | [文档](http://www.iocoder.cn/Spring-Boot/Admin/?yudao)           |
 | [Jackson](https://github.com/FasterXML/jackson)                                             | JSON 工具库         | 2.13.3      |                                                                |
-| [MapStruct](https://mapstruct.org/)                                                         | Java Bean 转换     | 1.5.3.Final | [文档](http://www.iocoder.cn/Spring-Boot/MapStruct/?yudao)       |
+| [MapStruct](https://mapstruct.org/)                                                         | Java Bean 转换     | 1.5.5.Final | [文档](http://www.iocoder.cn/Spring-Boot/MapStruct/?yudao)       |
 | [Lombok](https://projectlombok.org/)                                                        | 消除冗长的 Java 代码    | 1.18.26     | [文档](http://www.iocoder.cn/Spring-Boot/Lombok/?yudao)          |
 | [JUnit](https://junit.org/junit5/)                                                          | Java 单元测试框架      | 5.8.2       | -                                                              |
 | [Mockito](https://github.com/mockito/mockito)                                               | Java Mock 框架     | 4.8.0       | -                                                              |
diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml
index 45da32621..bc6dcc841 100644
--- a/yudao-dependencies/pom.xml
+++ b/yudao-dependencies/pom.xml
@@ -45,7 +45,7 @@
         <captcha-plus.version>1.0.2</captcha-plus.version>
         <jsoup.version>1.15.4</jsoup.version>
         <lombok.version>1.18.26</lombok.version>
-        <mapstruct.version>1.5.3.Final</mapstruct.version>
+        <mapstruct.version>1.5.5.Final</mapstruct.version>
         <hutool.version>5.8.18</hutool.version>
         <easyexcel.verion>3.2.1</easyexcel.verion>
         <velocity.version>2.3</velocity.version>

From 5b13c07e01f4f8fc44511d957e51f163c25edc8e Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Sat, 6 May 2023 16:28:53 +0800
Subject: [PATCH 30/58] chore: up springboot 2.7.11

---
 README.md                                        | 2 +-
 pom.xml                                          | 4 ++--
 yudao-dependencies/pom.xml                       | 2 +-
 yudao-example/yudao-sso-demo-by-code/pom.xml     | 2 +-
 yudao-example/yudao-sso-demo-by-password/pom.xml | 2 +-
 yudao-server/pom.xml                             | 2 +-
 6 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/README.md b/README.md
index 231cba7e6..4feb387d2 100644
--- a/README.md
+++ b/README.md
@@ -249,7 +249,7 @@ ps:核心功能已经实现,正在对接微信小程序中...
 
 | 框架                                                                                          | 说明               | 版本          | 学习指南                                                           |
 |---------------------------------------------------------------------------------------------|------------------|-------------|----------------------------------------------------------------|
-| [Spring Boot](https://spring.io/projects/spring-boot)                                       | 应用开发框架           | 2.7.10      | [文档](https://github.com/YunaiV/SpringBoot-Labs)                |
+| [Spring Boot](https://spring.io/projects/spring-boot)                                       | 应用开发框架           | 2.7.11      | [文档](https://github.com/YunaiV/SpringBoot-Labs)                |
 | [MySQL](https://www.mysql.com/cn/)                                                          | 数据库服务器           | 5.7 / 8.0+  |                                                                |
 | [Druid](https://github.com/alibaba/druid)                                                   | JDBC 连接池、监控组件    | 1.2.16      | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
 | [MyBatis Plus](https://mp.baomidou.com/)                                                    | MyBatis 增强工具包    | 3.5.3.1     | [文档](http://www.iocoder.cn/Spring-Boot/MyBatis/?yudao)         |
diff --git a/pom.xml b/pom.xml
index d5e1a6192..dead334ee 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,8 +39,8 @@
         <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
         <!-- 看看咋放到 bom 里 -->
         <lombok.version>1.18.26</lombok.version>
-        <spring.boot.version>2.7.10</spring.boot.version>
-        <mapstruct.version>1.5.3.Final</mapstruct.version>
+        <spring.boot.version>2.7.11</spring.boot.version>
+        <mapstruct.version>1.5.5.Final</mapstruct.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     </properties>
 
diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml
index bc6dcc841..ce0a4d5bf 100644
--- a/yudao-dependencies/pom.xml
+++ b/yudao-dependencies/pom.xml
@@ -16,7 +16,7 @@
     <properties>
         <revision>1.7.2-snapshot</revision>
         <!-- 统一依赖管理 -->
-        <spring.boot.version>2.7.10</spring.boot.version>
+        <spring.boot.version>2.7.11</spring.boot.version>
         <!-- Web 相关 -->
         <springdoc.version>1.6.15</springdoc.version>
         <knife4j.version>4.1.0</knife4j.version>
diff --git a/yudao-example/yudao-sso-demo-by-code/pom.xml b/yudao-example/yudao-sso-demo-by-code/pom.xml
index 402c50ab2..e49b573a2 100644
--- a/yudao-example/yudao-sso-demo-by-code/pom.xml
+++ b/yudao-example/yudao-sso-demo-by-code/pom.xml
@@ -21,7 +21,7 @@
         <maven.compiler.target>8</maven.compiler.target>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <!-- 统一依赖管理 -->
-        <spring.boot.version>2.7.10</spring.boot.version>
+        <spring.boot.version>2.7.11</spring.boot.version>
     </properties>
 
     <dependencyManagement>
diff --git a/yudao-example/yudao-sso-demo-by-password/pom.xml b/yudao-example/yudao-sso-demo-by-password/pom.xml
index 9e8977e82..556d2b6c3 100644
--- a/yudao-example/yudao-sso-demo-by-password/pom.xml
+++ b/yudao-example/yudao-sso-demo-by-password/pom.xml
@@ -21,7 +21,7 @@
         <maven.compiler.target>8</maven.compiler.target>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <!-- 统一依赖管理 -->
-        <spring.boot.version>2.7.10</spring.boot.version>
+        <spring.boot.version>2.7.11</spring.boot.version>
     </properties>
 
     <dependencyManagement>
diff --git a/yudao-server/pom.xml b/yudao-server/pom.xml
index bc02d6347..143642226 100644
--- a/yudao-server/pom.xml
+++ b/yudao-server/pom.xml
@@ -111,7 +111,7 @@
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
-                <version>2.7.10</version> <!-- 如果 spring.boot.version 版本修改,则这里也要跟着修改 -->
+                <version>2.7.11</version> <!-- 如果 spring.boot.version 版本修改,则这里也要跟着修改 -->
                 <configuration>
                     <fork>true</fork>
                 </configuration>

From 235882791fbaae4f444ab12430a534662cc6ce04 Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Sat, 6 May 2023 16:30:05 +0800
Subject: [PATCH 31/58] chore: up druid 1.2.17

---
 README.md                  | 2 +-
 yudao-dependencies/pom.xml | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 4feb387d2..6a68e53a5 100644
--- a/README.md
+++ b/README.md
@@ -251,7 +251,7 @@ ps:核心功能已经实现,正在对接微信小程序中...
 |---------------------------------------------------------------------------------------------|------------------|-------------|----------------------------------------------------------------|
 | [Spring Boot](https://spring.io/projects/spring-boot)                                       | 应用开发框架           | 2.7.11      | [文档](https://github.com/YunaiV/SpringBoot-Labs)                |
 | [MySQL](https://www.mysql.com/cn/)                                                          | 数据库服务器           | 5.7 / 8.0+  |                                                                |
-| [Druid](https://github.com/alibaba/druid)                                                   | JDBC 连接池、监控组件    | 1.2.16      | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
+| [Druid](https://github.com/alibaba/druid)                                                   | JDBC 连接池、监控组件    | 1.2.17      | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
 | [MyBatis Plus](https://mp.baomidou.com/)                                                    | MyBatis 增强工具包    | 3.5.3.1     | [文档](http://www.iocoder.cn/Spring-Boot/MyBatis/?yudao)         |
 | [Dynamic Datasource](https://dynamic-datasource.com/)                                       | 动态数据源            | 3.6.1       | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
 | [Redis](https://redis.io/)                                                                  | key-value 数据库    | 5.0 / 6.0   |                                                                |
diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml
index ce0a4d5bf..a01d6caad 100644
--- a/yudao-dependencies/pom.xml
+++ b/yudao-dependencies/pom.xml
@@ -22,7 +22,7 @@
         <knife4j.version>4.1.0</knife4j.version>
         <servlet.versoin>2.5</servlet.versoin>
         <!-- DB 相关 -->
-        <druid.version>1.2.16</druid.version>
+        <druid.version>1.2.17</druid.version>
         <mybatis-plus.version>3.5.3.1</mybatis-plus.version>
         <mybatis-plus-generator.version>3.5.3.1</mybatis-plus-generator.version>
         <dynamic-datasource.version>3.6.1</dynamic-datasource.version>

From 6a4616b6ea8baca8f2eeb6a1b8cc18cfa5fc0b70 Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Sat, 6 May 2023 16:32:28 +0800
Subject: [PATCH 32/58] chore: up springdoc 1.7.0

---
 README.md                  | 2 +-
 yudao-dependencies/pom.xml | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 6a68e53a5..c75ade078 100644
--- a/README.md
+++ b/README.md
@@ -261,7 +261,7 @@ ps:核心功能已经实现,正在对接微信小程序中...
 | [Hibernate Validator](https://github.com/hibernate/hibernate-validator)                     | 参数校验组件           | 6.2.5       | [文档](http://www.iocoder.cn/Spring-Boot/Validation/?yudao)      |
 | [Flowable](https://github.com/flowable/flowable-engine)                                     | 工作流引擎            | 6.8.0       | [文档](https://doc.iocoder.cn/bpm/)                              |
 | [Quartz](https://github.com/quartz-scheduler)                                               | 任务调度组件           | 2.3.2       | [文档](http://www.iocoder.cn/Spring-Boot/Job/?yudao)             |
-| [Springdoc](https://springdoc.org/)                                                         | Swagger 文档       | 1.6.15      | [文档](http://www.iocoder.cn/Spring-Boot/Swagger/?yudao)         |
+| [Springdoc](https://springdoc.org/)                                                         | Swagger 文档       | 1.7.0       | [文档](http://www.iocoder.cn/Spring-Boot/Swagger/?yudao)         |
 | [Resilience4j](https://github.com/resilience4j/resilience4j)                                | 服务保障组件           | 1.7.1       | [文档](http://www.iocoder.cn/Spring-Boot/Resilience4j/?yudao)    |
 | [SkyWalking](https://skywalking.apache.org/)                                                | 分布式应用追踪系统        | 8.12.0      | [文档](http://www.iocoder.cn/Spring-Boot/SkyWalking/?yudao)      |
 | [Spring Boot Admin](https://github.com/codecentric/spring-boot-admin)                       | Spring Boot 监控平台 | 2.7.10      | [文档](http://www.iocoder.cn/Spring-Boot/Admin/?yudao)           |
diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml
index a01d6caad..d6b180382 100644
--- a/yudao-dependencies/pom.xml
+++ b/yudao-dependencies/pom.xml
@@ -18,7 +18,7 @@
         <!-- 统一依赖管理 -->
         <spring.boot.version>2.7.11</spring.boot.version>
         <!-- Web 相关 -->
-        <springdoc.version>1.6.15</springdoc.version>
+        <springdoc.version>1.7.0</springdoc.version>
         <knife4j.version>4.1.0</knife4j.version>
         <servlet.versoin>2.5</servlet.versoin>
         <!-- DB 相关 -->

From da2810decea8888d988b0fc192f5d40ea87eb136 Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Sat, 6 May 2023 16:36:42 +0800
Subject: [PATCH 33/58] chore: up easyexcel 3.3.0

---
 yudao-dependencies/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml
index d6b180382..0ddcddf5b 100644
--- a/yudao-dependencies/pom.xml
+++ b/yudao-dependencies/pom.xml
@@ -47,7 +47,7 @@
         <lombok.version>1.18.26</lombok.version>
         <mapstruct.version>1.5.5.Final</mapstruct.version>
         <hutool.version>5.8.18</hutool.version>
-        <easyexcel.verion>3.2.1</easyexcel.verion>
+        <easyexcel.verion>3.3.0</easyexcel.verion>
         <velocity.version>2.3</velocity.version>
         <screw.version>1.0.5</screw.version>
         <fastjson.version>1.2.83</fastjson.version>

From d25062ec81851cc751651d12f8d9af89209e2c60 Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Mon, 8 May 2023 10:04:57 +0800
Subject: [PATCH 34/58] chore: up springboot 2.7.11

---
 README.md                  | 4 ++--
 yudao-dependencies/pom.xml | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/README.md b/README.md
index c75ade078..4feb387d2 100644
--- a/README.md
+++ b/README.md
@@ -251,7 +251,7 @@ ps:核心功能已经实现,正在对接微信小程序中...
 |---------------------------------------------------------------------------------------------|------------------|-------------|----------------------------------------------------------------|
 | [Spring Boot](https://spring.io/projects/spring-boot)                                       | 应用开发框架           | 2.7.11      | [文档](https://github.com/YunaiV/SpringBoot-Labs)                |
 | [MySQL](https://www.mysql.com/cn/)                                                          | 数据库服务器           | 5.7 / 8.0+  |                                                                |
-| [Druid](https://github.com/alibaba/druid)                                                   | JDBC 连接池、监控组件    | 1.2.17      | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
+| [Druid](https://github.com/alibaba/druid)                                                   | JDBC 连接池、监控组件    | 1.2.16      | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
 | [MyBatis Plus](https://mp.baomidou.com/)                                                    | MyBatis 增强工具包    | 3.5.3.1     | [文档](http://www.iocoder.cn/Spring-Boot/MyBatis/?yudao)         |
 | [Dynamic Datasource](https://dynamic-datasource.com/)                                       | 动态数据源            | 3.6.1       | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
 | [Redis](https://redis.io/)                                                                  | key-value 数据库    | 5.0 / 6.0   |                                                                |
@@ -261,7 +261,7 @@ ps:核心功能已经实现,正在对接微信小程序中...
 | [Hibernate Validator](https://github.com/hibernate/hibernate-validator)                     | 参数校验组件           | 6.2.5       | [文档](http://www.iocoder.cn/Spring-Boot/Validation/?yudao)      |
 | [Flowable](https://github.com/flowable/flowable-engine)                                     | 工作流引擎            | 6.8.0       | [文档](https://doc.iocoder.cn/bpm/)                              |
 | [Quartz](https://github.com/quartz-scheduler)                                               | 任务调度组件           | 2.3.2       | [文档](http://www.iocoder.cn/Spring-Boot/Job/?yudao)             |
-| [Springdoc](https://springdoc.org/)                                                         | Swagger 文档       | 1.7.0       | [文档](http://www.iocoder.cn/Spring-Boot/Swagger/?yudao)         |
+| [Springdoc](https://springdoc.org/)                                                         | Swagger 文档       | 1.6.15      | [文档](http://www.iocoder.cn/Spring-Boot/Swagger/?yudao)         |
 | [Resilience4j](https://github.com/resilience4j/resilience4j)                                | 服务保障组件           | 1.7.1       | [文档](http://www.iocoder.cn/Spring-Boot/Resilience4j/?yudao)    |
 | [SkyWalking](https://skywalking.apache.org/)                                                | 分布式应用追踪系统        | 8.12.0      | [文档](http://www.iocoder.cn/Spring-Boot/SkyWalking/?yudao)      |
 | [Spring Boot Admin](https://github.com/codecentric/spring-boot-admin)                       | Spring Boot 监控平台 | 2.7.10      | [文档](http://www.iocoder.cn/Spring-Boot/Admin/?yudao)           |
diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml
index 0ddcddf5b..77deb6353 100644
--- a/yudao-dependencies/pom.xml
+++ b/yudao-dependencies/pom.xml
@@ -18,11 +18,11 @@
         <!-- 统一依赖管理 -->
         <spring.boot.version>2.7.11</spring.boot.version>
         <!-- Web 相关 -->
-        <springdoc.version>1.7.0</springdoc.version>
+        <springdoc.version>1.6.15</springdoc.version>
         <knife4j.version>4.1.0</knife4j.version>
         <servlet.versoin>2.5</servlet.versoin>
         <!-- DB 相关 -->
-        <druid.version>1.2.17</druid.version>
+        <druid.version>1.2.16</druid.version>
         <mybatis-plus.version>3.5.3.1</mybatis-plus.version>
         <mybatis-plus-generator.version>3.5.3.1</mybatis-plus-generator.version>
         <dynamic-datasource.version>3.6.1</dynamic-datasource.version>

From 0b3640a52258410894bfc43df88124b461227f00 Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Mon, 8 May 2023 10:06:17 +0800
Subject: [PATCH 35/58] fix: required = true ==> requiredMode =
 Schema.RequiredMode.REQUIRED

---
 .../framework/common/pojo/PageParam.java      |  4 +-
 .../framework/common/pojo/PageResult.java     |  4 +-
 .../definition/vo/form/BpmFormBaseVO.java     |  4 +-
 .../vo/form/BpmFormCreateReqVO.java           |  4 +-
 .../definition/vo/form/BpmFormRespVO.java     |  8 +--
 .../vo/form/BpmFormSimpleRespVO.java          |  4 +-
 .../vo/form/BpmFormUpdateReqVO.java           |  6 +-
 .../vo/group/BpmUserGroupBaseVO.java          | 16 ++---
 .../vo/group/BpmUserGroupRespVO.java          |  6 +-
 .../vo/group/BpmUserGroupSimpleRespVO.java    |  4 +-
 .../vo/group/BpmUserGroupUpdateReqVO.java     |  3 +-
 .../vo/model/BpmModeImportReqVO.java          |  2 +-
 .../definition/vo/model/BpmModelBaseVO.java   |  4 +-
 .../vo/model/BpmModelCreateReqVO.java         |  4 +-
 .../vo/model/BpmModelPageItemRespVO.java      | 12 ++--
 .../definition/vo/model/BpmModelRespVO.java   |  6 +-
 .../vo/model/BpmModelUpdateReqVO.java         |  4 +-
 .../vo/model/BpmModelUpdateStateReqVO.java    |  4 +-
 .../BpmProcessDefinitionPageItemRespVO.java   |  2 +-
 .../process/BpmProcessDefinitionRespVO.java   | 13 ++---
 .../vo/rule/BpmTaskAssignRuleBaseVO.java      |  6 +-
 .../vo/rule/BpmTaskAssignRuleCreateReqVO.java |  4 +-
 .../vo/rule/BpmTaskAssignRuleRespVO.java      | 10 ++--
 .../vo/rule/BpmTaskAssignRuleUpdateReqVO.java |  2 +-
 .../admin/oa/vo/BpmOALeaveBaseVO.java         |  9 +--
 .../admin/oa/vo/BpmOALeaveRespVO.java         |  7 ++-
 .../task/vo/activity/BpmActivityRespVO.java   |  8 +--
 .../BpmProcessInstanceCancelReqVO.java        |  6 +-
 .../BpmProcessInstanceCreateReqVO.java        |  2 +-
 .../BpmProcessInstancePageItemRespVO.java     | 20 +++----
 .../vo/instance/BpmProcessInstanceRespVO.java | 32 +++++-----
 .../task/vo/task/BpmTaskApproveReqVO.java     |  4 +-
 .../vo/task/BpmTaskDonePageItemRespVO.java    |  8 +--
 .../task/vo/task/BpmTaskRejectReqVO.java      |  4 +-
 .../admin/task/vo/task/BpmTaskRespVO.java     | 10 ++--
 .../vo/task/BpmTaskTodoPageItemRespVO.java    | 20 +++----
 .../vo/task/BpmTaskUpdateAssigneeReqVO.java   |  7 +--
 .../codegen/vo/CodegenCreateListReqVO.java    |  4 +-
 .../codegen/vo/CodegenPreviewRespVO.java      |  4 +-
 .../admin/codegen/vo/CodegenUpdateReqVO.java  |  4 +-
 .../vo/column/CodegenColumnBaseVO.java        | 33 ++++++-----
 .../vo/column/CodegenColumnRespVO.java        |  4 +-
 .../codegen/vo/table/CodegenTableBaseVO.java  | 27 ++++-----
 .../codegen/vo/table/CodegenTableRespVO.java  |  8 +--
 .../codegen/vo/table/DatabaseTableRespVO.java |  4 +-
 .../admin/config/vo/ConfigBaseVO.java         |  9 +--
 .../admin/config/vo/ConfigCreateReqVO.java    |  2 +-
 .../admin/config/vo/ConfigRespVO.java         |  8 +--
 .../admin/config/vo/ConfigUpdateReqVO.java    |  2 +-
 .../admin/db/vo/DataSourceConfigBaseVO.java   |  6 +-
 .../db/vo/DataSourceConfigCreateReqVO.java    |  3 +-
 .../admin/db/vo/DataSourceConfigRespVO.java   |  5 +-
 .../db/vo/DataSourceConfigUpdateReqVO.java    |  5 +-
 .../file/vo/config/FileConfigBaseVO.java      |  3 +-
 .../file/vo/config/FileConfigCreateReqVO.java |  4 +-
 .../file/vo/config/FileConfigRespVO.java      | 10 ++--
 .../file/vo/config/FileConfigUpdateReqVO.java |  4 +-
 .../admin/file/vo/file/FileRespVO.java        | 14 ++---
 .../admin/file/vo/file/FileUploadReqVO.java   |  2 +-
 .../admin/job/vo/job/JobBaseVO.java           |  9 +--
 .../admin/job/vo/job/JobCreateReqVO.java      |  2 +-
 .../admin/job/vo/job/JobRespVO.java           |  8 +--
 .../admin/job/vo/job/JobUpdateReqVO.java      |  2 +-
 .../admin/job/vo/log/JobLogBaseVO.java        | 11 ++--
 .../admin/job/vo/log/JobLogRespVO.java        |  4 +-
 .../vo/apiaccesslog/ApiAccessLogBaseVO.java   | 25 ++++----
 .../vo/apiaccesslog/ApiAccessLogRespVO.java   |  4 +-
 .../vo/apierrorlog/ApiErrorLogBaseVO.java     | 38 ++++++------
 .../vo/apierrorlog/ApiErrorLogRespVO.java     |  6 +-
 .../admin/redis/vo/RedisKeyDefineRespVO.java  | 12 ++--
 .../admin/redis/vo/RedisKeyValueRespVO.java   |  4 +-
 .../admin/redis/vo/RedisMonitorRespVO.java    | 12 ++--
 .../admin/test/vo/TestDemoBaseVO.java         |  8 +--
 .../admin/test/vo/TestDemoRespVO.java         |  4 +-
 .../admin/test/vo/TestDemoUpdateReqVO.java    |  2 +-
 .../codegen/java/controller/vo/_column.vm     |  2 +-
 .../codegen/java/controller/vo/respVO.vm      |  2 +-
 .../admin/brand/vo/ProductBrandBaseVO.java    |  8 +--
 .../admin/brand/vo/ProductBrandRespVO.java    |  4 +-
 .../brand/vo/ProductBrandUpdateReqVO.java     |  2 +-
 .../category/vo/ProductCategoryBaseVO.java    | 12 ++--
 .../category/vo/ProductCategoryRespVO.java    |  4 +-
 .../vo/ProductCategoryUpdateReqVO.java        |  2 +-
 .../ProductPropertyAndValueRespVO.java        |  8 +--
 .../vo/property/ProductPropertyBaseVO.java    |  2 +-
 .../vo/property/ProductPropertyPageReqVO.java |  2 +-
 .../vo/property/ProductPropertyRespVO.java    |  4 +-
 .../property/ProductPropertyUpdateReqVO.java  |  2 +-
 .../vo/value/ProductPropertyValueBaseVO.java  |  4 +-
 .../ProductPropertyValueDetailRespVO.java     |  8 +--
 .../value/ProductPropertyValuePageReqVO.java  |  2 +-
 .../vo/value/ProductPropertyValueRespVO.java  |  2 +-
 .../ProductPropertyValueUpdateReqVO.java      |  2 +-
 .../admin/sku/vo/ProductSkuBaseVO.java        | 14 ++---
 .../admin/sku/vo/ProductSkuOptionRespVO.java  | 10 ++--
 .../admin/sku/vo/ProductSkuRespVO.java        |  2 +-
 .../admin/spu/vo/ProductSpuBaseVO.java        | 20 +++----
 .../admin/spu/vo/ProductSpuRespVO.java        |  8 +--
 .../admin/spu/vo/ProductSpuSimpleRespVO.java  |  8 +--
 .../admin/spu/vo/ProductSpuUpdateReqVO.java   |  2 +-
 .../app/category/vo/AppCategoryRespVO.java    |  8 +--
 .../AppProductPropertyValueDetailRespVO.java  |  8 +--
 .../app/spu/vo/AppProductSpuDetailRespVO.java | 28 ++++-----
 .../spu/vo/AppProductSpuPageItemRespVO.java   | 12 ++--
 .../admin/banner/vo/BannerBaseVO.java         | 10 ++--
 .../admin/banner/vo/BannerRespVO.java         |  4 +-
 .../admin/banner/vo/BannerUpdateReqVO.java    |  2 +-
 .../admin/coupon/vo/coupon/CouponBaseVO.java  | 16 ++---
 .../admin/coupon/vo/coupon/CouponRespVO.java  |  4 +-
 .../vo/template/CouponTemplateBaseVO.java     | 16 ++---
 .../vo/template/CouponTemplateRespVO.java     | 10 ++--
 .../template/CouponTemplateUpdateReqVO.java   |  2 +-
 .../CouponTemplateUpdateStatusReqVO.java      |  4 +-
 .../discount/vo/DiscountActivityBaseVO.java   | 12 ++--
 .../discount/vo/DiscountActivityRespVO.java   |  6 +-
 .../vo/DiscountActivityUpdateReqVO.java       |  2 +-
 .../admin/reward/vo/RewardActivityBaseVO.java | 18 +++---
 .../admin/reward/vo/RewardActivityRespVO.java |  6 +-
 .../reward/vo/RewardActivityUpdateReqVO.java  |  2 +-
 .../vo/activity/SeckillActivityBaseVO.java    | 12 ++--
 .../activity/SeckillActivityCreateReqVO.java  |  4 +-
 .../vo/activity/SeckillActivityRespVO.java    | 12 ++--
 .../activity/SeckillActivityUpdateReqVO.java  |  6 +-
 .../seckill/vo/time/SeckillTimeBaseVO.java    |  6 +-
 .../seckill/vo/time/SeckillTimeRespVO.java    |  6 +-
 .../vo/time/SeckillTimeUpdateReqVO.java       |  2 +-
 .../aftersale/vo/TradeAfterSaleBaseVO.java    | 28 ++++-----
 .../vo/TradeAfterSaleDisagreeReqVO.java       |  4 +-
 .../vo/TradeAfterSaleRefuseReqVO.java         |  4 +-
 .../vo/TradeAfterSaleRespPageItemVO.java      |  4 +-
 .../vo/log/TradeAfterSaleLogRespVO.java       | 18 +++---
 .../base/member/user/MemberUserRespVO.java    |  4 +-
 .../ProductPropertyValueDetailRespVO.java     |  8 +--
 .../admin/order/vo/TradeOrderBaseVO.java      | 56 +++++++++---------
 .../order/vo/TradeOrderDeliveryReqVO.java     |  6 +-
 .../order/vo/TradeOrderDetailRespVO.java      |  2 +-
 .../admin/order/vo/TradeOrderItemBaseVO.java  | 30 +++++-----
 .../order/vo/TradeOrderPageItemRespVO.java    |  2 +-
 .../vo/AppTradeAfterSaleCreateReqVO.java      |  8 +--
 .../vo/AppTradeAfterSaleDeliveryReqVO.java    |  8 +--
 .../AppProductPropertyValueDetailRespVO.java  |  8 +--
 .../app/base/sku/AppProductSkuBaseRespVO.java |  6 +-
 .../app/base/spu/AppProductSpuBaseRespVO.java |  4 +-
 .../app/cart/vo/AppTradeCartDetailRespVO.java | 36 ++++++------
 .../vo/AppTradeCartItemAddCountReqVO.java     |  4 +-
 .../vo/AppTradeCartItemUpdateCountReqVO.java  |  4 +-
 .../AppTradeCartItemUpdateSelectedReqVO.java  |  4 +-
 .../order/vo/AppTradeOrderCreateReqVO.java    |  8 +--
 .../order/vo/AppTradeOrderDetailRespVO.java   | 58 +++++++++----------
 .../vo/AppTradeOrderGetCreateInfoRespVO.java  |  4 +-
 .../order/vo/AppTradeOrderPageItemRespVO.java | 24 ++++----
 .../app/address/vo/AppAddressBaseVO.java      | 12 ++--
 .../app/address/vo/AppAddressRespVO.java      |  4 +-
 .../app/address/vo/AppAddressUpdateReqVO.java |  2 +-
 .../app/auth/vo/AppAuthCheckCodeReqVO.java    |  2 +-
 .../app/auth/vo/AppAuthLoginReqVO.java        | 10 ++--
 .../app/auth/vo/AppAuthLoginRespVO.java       |  8 +--
 .../auth/vo/AppAuthResetPasswordReqVO.java    |  6 +-
 .../app/auth/vo/AppAuthSmsLoginReqVO.java     | 10 ++--
 .../app/auth/vo/AppAuthSocialLoginReqVO.java  |  6 +-
 .../auth/vo/AppAuthUpdatePasswordReqVO.java   |  4 +-
 .../vo/AppAuthWeixinMiniAppLoginReqVO.java    |  4 +-
 .../app/social/vo/AppSocialUserBindReqVO.java |  6 +-
 .../social/vo/AppSocialUserUnbindReqVO.java   |  4 +-
 .../app/user/vo/AppUserInfoRespVO.java        |  6 +-
 .../app/user/vo/AppUserUpdateMobileReqVO.java |  8 +--
 .../admin/account/vo/MpAccountBaseVO.java     | 10 ++--
 .../admin/account/vo/MpAccountRespVO.java     |  4 +-
 .../account/vo/MpAccountSimpleRespVO.java     |  4 +-
 .../account/vo/MpAccountUpdateReqVO.java      |  2 +-
 .../material/vo/MpMaterialPageReqVO.java      |  2 +-
 .../admin/material/vo/MpMaterialRespVO.java   | 16 ++---
 .../vo/MpMaterialUploadNewsImageReqVO.java    |  4 +-
 .../vo/MpMaterialUploadPermanentReqVO.java    |  6 +-
 .../material/vo/MpMaterialUploadRespVO.java   |  4 +-
 .../vo/MpMaterialUploadTemporaryReqVO.java    |  6 +-
 .../admin/menu/vo/MpMenuRespVO.java           |  8 +--
 .../admin/menu/vo/MpMenuSaveReqVO.java        |  2 +-
 .../vo/autoreply/MpAutoReplyCreateReqVO.java  |  2 +-
 .../vo/autoreply/MpAutoReplyPageReqVO.java    |  2 +-
 .../vo/autoreply/MpAutoReplyRespVO.java       |  8 +--
 .../vo/autoreply/MpAutoReplyUpdateReqVO.java  |  2 +-
 .../vo/message/MpMessagePageReqVO.java        |  2 +-
 .../message/vo/message/MpMessageRespVO.java   | 18 +++---
 .../vo/message/MpMessageSendReqVO.java        | 16 ++---
 .../admin/news/vo/MpDraftPageReqVO.java       |  2 +-
 .../admin/news/vo/MpFreePublishPageReqVO.java |  2 +-
 .../open/vo/MpOpenCheckSignatureReqVO.java    |  8 +--
 .../open/vo/MpOpenHandleMessageReqVO.java     |  8 +--
 .../statistics/vo/MpStatisticsGetReqVO.java   |  2 +-
 .../MpStatisticsInterfaceSummaryRespVO.java   | 10 ++--
 .../vo/MpStatisticsUpstreamMessageRespVO.java |  6 +-
 .../vo/MpStatisticsUserCumulateRespVO.java    |  4 +-
 .../vo/MpStatisticsUserSummaryRespVO.java     |  8 +--
 .../controller/admin/tag/vo/MpTagBaseVO.java  |  2 +-
 .../admin/tag/vo/MpTagCreateReqVO.java        |  2 +-
 .../admin/tag/vo/MpTagPageReqVO.java          |  2 +-
 .../controller/admin/tag/vo/MpTagRespVO.java  |  6 +-
 .../admin/tag/vo/MpTagSimpleRespVO.java       |  6 +-
 .../admin/tag/vo/MpTagUpdateReqVO.java        |  2 +-
 .../admin/user/vo/MpUserPageReqVO.java        |  2 +-
 .../admin/user/vo/MpUserRespVO.java           | 14 ++---
 .../admin/user/vo/MpUserUpdateReqVO.java      |  2 +-
 .../demo/vo/PayDemoOrderCreateReqVO.java      |  2 +-
 .../admin/demo/vo/PayDemoOrderRespVO.java     | 14 ++---
 .../admin/merchant/vo/app/PayAppBaseVO.java   | 10 ++--
 .../merchant/vo/app/PayAppPageItemRespVO.java | 10 ++--
 .../admin/merchant/vo/app/PayAppRespVO.java   |  4 +-
 .../merchant/vo/app/PayAppUpdateReqVO.java    |  2 +-
 .../vo/app/PayAppUpdateStatusReqVO.java       |  4 +-
 .../merchant/vo/channel/PayChannelBaseVO.java | 10 ++--
 .../merchant/vo/channel/PayChannelRespVO.java |  6 +-
 .../vo/channel/PayChannelUpdateReqVO.java     |  2 +-
 .../vo/merchant/PayMerchantBaseVO.java        |  6 +-
 .../vo/merchant/PayMerchantRespVO.java        |  6 +-
 .../vo/merchant/PayMerchantUpdateReqVO.java   |  2 +-
 .../PayMerchantUpdateStatusReqVO.java         |  4 +-
 .../admin/order/vo/PayOrderBaseVO.java        | 28 ++++-----
 .../order/vo/PayOrderPageItemRespVO.java      |  4 +-
 .../admin/order/vo/PayOrderRespVO.java        |  4 +-
 .../admin/order/vo/PayOrderSubmitReqVO.java   |  4 +-
 .../admin/order/vo/PayOrderSubmitRespVO.java  |  4 +-
 .../admin/refund/vo/PayRefundBaseVO.java      | 32 +++++-----
 .../refund/vo/PayRefundDetailsRespVO.java     |  2 +-
 .../refund/vo/PayRefundPageItemRespVO.java    |  4 +-
 .../admin/refund/vo/PayRefundRespVO.java      |  4 +-
 .../admin/refund/vo/PayRefundUpdateReqVO.java |  2 +-
 .../vo/data/GoViewDataGetBySqlReqVO.java      |  2 +-
 .../goview/vo/data/GoViewDataRespVO.java      |  4 +-
 .../vo/project/GoViewProjectCreateReqVO.java  |  2 +-
 .../vo/project/GoViewProjectRespVO.java       | 10 ++--
 .../vo/project/GoViewProjectUpdateReqVO.java  |  6 +-
 .../admin/auth/vo/AuthLoginReqVO.java         | 12 ++--
 .../admin/auth/vo/AuthLoginRespVO.java        |  8 +--
 .../admin/auth/vo/AuthMenuRespVO.java         | 10 ++--
 .../auth/vo/AuthPermissionInfoRespVO.java     | 12 ++--
 .../admin/auth/vo/AuthSmsLoginReqVO.java      |  4 +-
 .../admin/auth/vo/AuthSmsSendReqVO.java       |  4 +-
 .../admin/auth/vo/AuthSocialLoginReqVO.java   |  6 +-
 .../admin/dept/vo/dept/DeptBaseVO.java        |  7 ++-
 .../admin/dept/vo/dept/DeptRespVO.java        |  6 +-
 .../admin/dept/vo/dept/DeptSimpleRespVO.java  |  6 +-
 .../admin/dept/vo/dept/DeptUpdateReqVO.java   |  2 +-
 .../admin/dept/vo/post/PostBaseVO.java        |  8 +--
 .../admin/dept/vo/post/PostRespVO.java        |  4 +-
 .../admin/dept/vo/post/PostSimpleRespVO.java  |  4 +-
 .../admin/dept/vo/post/PostUpdateReqVO.java   |  2 +-
 .../admin/dict/vo/data/DictDataBaseVO.java    | 10 ++--
 .../admin/dict/vo/data/DictDataRespVO.java    |  4 +-
 .../dict/vo/data/DictDataSimpleRespVO.java    |  6 +-
 .../dict/vo/data/DictDataUpdateReqVO.java     |  2 +-
 .../admin/dict/vo/type/DictTypeBaseVO.java    |  4 +-
 .../dict/vo/type/DictTypeCreateReqVO.java     |  2 +-
 .../admin/dict/vo/type/DictTypeRespVO.java    |  6 +-
 .../dict/vo/type/DictTypeSimpleRespVO.java    |  6 +-
 .../dict/vo/type/DictTypeUpdateReqVO.java     |  2 +-
 .../admin/errorcode/vo/ErrorCodeBaseVO.java   |  6 +-
 .../admin/errorcode/vo/ErrorCodeRespVO.java   |  6 +-
 .../errorcode/vo/ErrorCodeUpdateReqVO.java    |  2 +-
 .../admin/ip/vo/AreaNodeRespVO.java           |  4 +-
 .../logger/vo/loginlog/LoginLogBaseVO.java    |  8 +--
 .../logger/vo/loginlog/LoginLogRespVO.java    |  6 +-
 .../vo/operatelog/OperateLogBaseVO.java       | 26 ++++-----
 .../vo/operatelog/OperateLogRespVO.java       |  4 +-
 .../mail/vo/account/MailAccountBaseVO.java    | 12 ++--
 .../mail/vo/account/MailAccountPageReqVO.java |  4 +-
 .../mail/vo/account/MailAccountRespVO.java    |  4 +-
 .../vo/account/MailAccountSimpleRespVO.java   |  4 +-
 .../vo/account/MailAccountUpdateReqVO.java    |  2 +-
 .../admin/mail/vo/log/MailLogBaseVO.java      | 27 ++++-----
 .../admin/mail/vo/log/MailLogRespVO.java      |  4 +-
 .../mail/vo/template/MailTemplateBaseVO.java  | 12 ++--
 .../mail/vo/template/MailTemplateRespVO.java  |  4 +-
 .../vo/template/MailTemplateSendReqVO.java    |  4 +-
 .../vo/template/MailTemplateSimpleRespVO.java |  4 +-
 .../vo/template/MailTemplateUpdateReqVO.java  |  2 +-
 .../admin/notice/vo/NoticeBaseVO.java         |  8 +--
 .../admin/notice/vo/NoticeRespVO.java         |  4 +-
 .../admin/notice/vo/NoticeUpdateReqVO.java    |  2 +-
 .../vo/message/NotifyMessageBaseVO.java       | 18 +++---
 .../vo/message/NotifyMessageRespVO.java       |  4 +-
 .../vo/template/NotifyTemplateBaseVO.java     | 12 ++--
 .../vo/template/NotifyTemplateRespVO.java     |  4 +-
 .../vo/template/NotifyTemplateSendReqVO.java  |  4 +-
 .../template/NotifyTemplateUpdateReqVO.java   |  2 +-
 .../oauth2/vo/client/OAuth2ClientBaseVO.java  | 18 +++---
 .../oauth2/vo/client/OAuth2ClientRespVO.java  |  4 +-
 .../vo/client/OAuth2ClientUpdateReqVO.java    |  2 +-
 .../vo/open/OAuth2OpenAccessTokenRespVO.java  |  8 +--
 .../open/OAuth2OpenAuthorizeInfoRespVO.java   |  6 +-
 .../vo/open/OAuth2OpenCheckTokenRespVO.java   | 14 ++---
 .../vo/token/OAuth2AccessTokenPageReqVO.java  |  6 +-
 .../vo/token/OAuth2AccessTokenRespVO.java     | 16 ++---
 .../oauth2/vo/user/OAuth2UserInfoRespVO.java  | 14 ++---
 .../oauth2/vo/user/OAuth2UserUpdateReqVO.java |  2 +-
 .../admin/permission/vo/menu/MenuBaseVO.java  | 10 ++--
 .../admin/permission/vo/menu/MenuRespVO.java  |  6 +-
 .../permission/vo/menu/MenuSimpleRespVO.java  |  8 +--
 .../permission/vo/menu/MenuUpdateReqVO.java   |  2 +-
 .../PermissionAssignRoleDataScopeReqVO.java   |  4 +-
 .../PermissionAssignRoleMenuReqVO.java        |  2 +-
 .../PermissionAssignUserRoleReqVO.java        |  2 +-
 .../admin/permission/vo/role/RoleBaseVO.java  |  6 +-
 .../admin/permission/vo/role/RoleRespVO.java  | 10 ++--
 .../permission/vo/role/RoleSimpleRespVO.java  |  4 +-
 .../permission/vo/role/RoleUpdateReqVO.java   |  2 +-
 .../vo/role/RoleUpdateStatusReqVO.java        |  4 +-
 .../sensitiveword/vo/SensitiveWordBaseVO.java |  6 +-
 .../sensitiveword/vo/SensitiveWordRespVO.java |  4 +-
 .../vo/SensitiveWordUpdateReqVO.java          |  2 +-
 .../sms/vo/channel/SmsChannelBaseVO.java      |  6 +-
 .../sms/vo/channel/SmsChannelCreateReqVO.java |  2 +-
 .../sms/vo/channel/SmsChannelRespVO.java      |  6 +-
 .../vo/channel/SmsChannelSimpleRespVO.java    |  6 +-
 .../sms/vo/channel/SmsChannelUpdateReqVO.java |  2 +-
 .../admin/sms/vo/log/SmsLogRespVO.java        | 26 ++++-----
 .../sms/vo/template/SmsTemplateBaseVO.java    | 14 ++---
 .../sms/vo/template/SmsTemplateRespVO.java    |  6 +-
 .../sms/vo/template/SmsTemplateSendReqVO.java |  4 +-
 .../vo/template/SmsTemplateUpdateReqVO.java   |  2 +-
 .../admin/socail/vo/SocialUserBindReqVO.java  |  6 +-
 .../socail/vo/SocialUserUnbindReqVO.java      |  4 +-
 .../vo/packages/TenantPackageBaseVO.java      |  6 +-
 .../vo/packages/TenantPackageRespVO.java      |  4 +-
 .../packages/TenantPackageSimpleRespVO.java   |  4 +-
 .../vo/packages/TenantPackageUpdateReqVO.java |  2 +-
 .../admin/tenant/vo/tenant/TenantBaseVO.java  | 12 ++--
 .../tenant/vo/tenant/TenantCreateReqVO.java   |  4 +-
 .../admin/tenant/vo/tenant/TenantRespVO.java  |  4 +-
 .../tenant/vo/tenant/TenantUpdateReqVO.java   |  2 +-
 .../user/vo/profile/UserProfileRespVO.java    | 26 ++++-----
 .../UserProfileUpdatePasswordReqVO.java       |  4 +-
 .../vo/profile/UserProfileUpdateReqVO.java    |  2 +-
 .../admin/user/vo/user/UserBaseVO.java        |  4 +-
 .../admin/user/vo/user/UserCreateReqVO.java   |  2 +-
 .../admin/user/vo/user/UserImportRespVO.java  |  6 +-
 .../user/vo/user/UserPageItemRespVO.java      |  4 +-
 .../admin/user/vo/user/UserRespVO.java        | 10 ++--
 .../admin/user/vo/user/UserSimpleRespVO.java  |  4 +-
 .../user/vo/user/UserUpdatePasswordReqVO.java |  4 +-
 .../admin/user/vo/user/UserUpdateReqVO.java   |  2 +-
 .../user/vo/user/UserUpdateStatusReqVO.java   |  4 +-
 342 files changed, 1242 insertions(+), 1231 deletions(-)

diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/PageParam.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/PageParam.java
index 9c553055a..5738ded67 100644
--- a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/PageParam.java
+++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/PageParam.java
@@ -15,12 +15,12 @@ public class PageParam implements Serializable {
     private static final Integer PAGE_NO = 1;
     private static final Integer PAGE_SIZE = 10;
 
-    @Schema(description = "页码,从 1 开始", required = true,example = "1")
+    @Schema(description = "页码,从 1 开始", requiredMode = Schema.RequiredMode.REQUIRED,example = "1")
     @NotNull(message = "页码不能为空")
     @Min(value = 1, message = "页码最小值为 1")
     private Integer pageNo = PAGE_NO;
 
-    @Schema(description = "每页条数,最大值为 100", required = true, example = "10")
+    @Schema(description = "每页条数,最大值为 100", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     @NotNull(message = "每页条数不能为空")
     @Min(value = 1, message = "每页条数最小值为 1")
     @Max(value = 100, message = "每页条数最大值为 100")
diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/PageResult.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/PageResult.java
index ff167d149..ff9087a81 100644
--- a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/PageResult.java
+++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/PageResult.java
@@ -11,10 +11,10 @@ import java.util.List;
 @Data
 public final class PageResult<T> implements Serializable {
 
-    @Schema(description = "数据", required = true)
+    @Schema(description = "数据", requiredMode = Schema.RequiredMode.REQUIRED)
     private List<T> list;
 
-    @Schema(description = "总量", required = true)
+    @Schema(description = "总量", requiredMode = Schema.RequiredMode.REQUIRED)
     private Long total;
 
     public PageResult() {
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormBaseVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormBaseVO.java
index c51984f0c..50dfd40d8 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormBaseVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormBaseVO.java
@@ -10,11 +10,11 @@ import javax.validation.constraints.*;
 @Data
 public class BpmFormBaseVO {
 
-    @Schema(description = "表单名称", required = true, example = "芋道")
+    @Schema(description = "表单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotNull(message = "表单名称不能为空")
     private String name;
 
-    @Schema(description = "表单状态-参见 CommonStatusEnum 枚举", required = true, example = "1")
+    @Schema(description = "表单状态-参见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "表单状态不能为空")
     private Integer status;
 
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormCreateReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormCreateReqVO.java
index 5a096667a..d2f743c5b 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormCreateReqVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormCreateReqVO.java
@@ -11,11 +11,11 @@ import java.util.List;
 @ToString(callSuper = true)
 public class BpmFormCreateReqVO extends BpmFormBaseVO {
 
-    @Schema(description = "表单的配置-JSON 字符串", required = true)
+    @Schema(description = "表单的配置-JSON 字符串", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "表单的配置不能为空")
     private String conf;
 
-    @Schema(description = "表单项的数组-JSON 字符串的数组", required = true)
+    @Schema(description = "表单项的数组-JSON 字符串的数组", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "表单项的数组不能为空")
     private List<String> fields;
 
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormRespVO.java
index 5d7f4e765..102f64cf4 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormRespVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormRespVO.java
@@ -14,18 +14,18 @@ import java.util.List;
 @ToString(callSuper = true)
 public class BpmFormRespVO extends BpmFormBaseVO {
 
-    @Schema(description = "表单编号", required = true, example = "1024")
+    @Schema(description = "表单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "表单的配置-JSON 字符串", required = true)
+    @Schema(description = "表单的配置-JSON 字符串", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "表单的配置不能为空")
     private String conf;
 
-    @Schema(description = "表单项的数组-JSON 字符串的数组", required = true)
+    @Schema(description = "表单项的数组-JSON 字符串的数组", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "表单项的数组不能为空")
     private List<String> fields;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormSimpleRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormSimpleRespVO.java
index 2e19f441c..71d8a1f80 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormSimpleRespVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormSimpleRespVO.java
@@ -7,10 +7,10 @@ import lombok.Data;
 @Data
 public class BpmFormSimpleRespVO {
 
-    @Schema(description = "表单编号", required = true, example = "1024")
+    @Schema(description = "表单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "表单名称", required = true, example = "芋道")
+    @Schema(description = "表单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String name;
 
 }
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormUpdateReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormUpdateReqVO.java
index e315ef370..1ff105df3 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormUpdateReqVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormUpdateReqVO.java
@@ -10,15 +10,15 @@ import java.util.List;
 @ToString(callSuper = true)
 public class BpmFormUpdateReqVO extends BpmFormBaseVO {
 
-    @Schema(description = "表单编号", required = true, example = "1024")
+    @Schema(description = "表单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "表单编号不能为空")
     private Long id;
 
-    @Schema(description = "表单的配置-JSON 字符串", required = true)
+    @Schema(description = "表单的配置-JSON 字符串", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "表单的配置不能为空")
     private String conf;
 
-    @Schema(description = "表单项的数组-JSON 字符串的数组", required = true)
+    @Schema(description = "表单项的数组-JSON 字符串的数组", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "表单项的数组不能为空")
     private List<String> fields;
 
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupBaseVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupBaseVO.java
index d78d3c02d..8e3e9be08 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupBaseVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupBaseVO.java
@@ -1,8 +1,10 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.group;
+
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-import java.util.*;
-import javax.validation.constraints.*;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.Set;
 
 /**
 * 用户组 Base VO,提供给添加、修改、详细的子 VO 使用
@@ -11,19 +13,19 @@ import javax.validation.constraints.*;
 @Data
 public class BpmUserGroupBaseVO {
 
-    @Schema(description = "组名", required = true, example = "芋道")
+    @Schema(description = "组名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotNull(message = "组名不能为空")
     private String name;
 
-    @Schema(description = "描述", required = true, example = "芋道源码")
+    @Schema(description = "描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道源码")
     @NotNull(message = "描述不能为空")
     private String description;
 
-    @Schema(description = "成员编号数组", required = true, example = "1,2,3")
+    @Schema(description = "成员编号数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "1,2,3")
     @NotNull(message = "成员编号数组不能为空")
     private Set<Long> memberUserIds;
 
-    @Schema(description = "状态", required = true, example = "1")
+    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "状态不能为空")
     private Integer status;
 
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupRespVO.java
index 2a390a9cf..0f89e9538 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupRespVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupRespVO.java
@@ -1,20 +1,20 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.group;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import java.time.LocalDateTime;
 
-
 @Schema(description = "管理后台 - 用户组 Response VO")
 @Data
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
 public class BpmUserGroupRespVO extends BpmUserGroupBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupSimpleRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupSimpleRespVO.java
index aedd100f3..e5e2060bb 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupSimpleRespVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupSimpleRespVO.java
@@ -11,10 +11,10 @@ import lombok.NoArgsConstructor;
 @AllArgsConstructor
 public class BpmUserGroupSimpleRespVO {
 
-    @Schema(description = "用户组编号", required = true, example = "1024")
+    @Schema(description = "用户组编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "用户组名字", required = true, example = "芋道")
+    @Schema(description = "用户组名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String name;
 
 }
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupUpdateReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupUpdateReqVO.java
index 81db5649d..0b2a9f11b 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupUpdateReqVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupUpdateReqVO.java
@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.group;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 import javax.validation.constraints.*;
@@ -9,7 +10,7 @@ import javax.validation.constraints.*;
 @ToString(callSuper = true)
 public class BpmUserGroupUpdateReqVO extends BpmUserGroupBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "编号不能为空")
     private Long id;
 
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModeImportReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModeImportReqVO.java
index 007cfed10..7f5858e79 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModeImportReqVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModeImportReqVO.java
@@ -14,7 +14,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class BpmModeImportReqVO extends BpmModelCreateReqVO {
 
-    @Schema(description = "BPMN 文件", required = true)
+    @Schema(description = "BPMN 文件", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "BPMN 文件不能为空")
     private MultipartFile bpmnFile;
 
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelBaseVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelBaseVO.java
index 8750ad913..5ae2d3950 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelBaseVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelBaseVO.java
@@ -11,11 +11,11 @@ import javax.validation.constraints.NotEmpty;
 @Data
 public class BpmModelBaseVO {
 
-    @Schema(description = "流程标识", required = true, example = "process_yudao")
+    @Schema(description = "流程标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "process_yudao")
     @NotEmpty(message = "流程标识不能为空")
     private String key;
 
-    @Schema(description = "流程名称", required = true, example = "芋道")
+    @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotEmpty(message = "流程名称不能为空")
     private String name;
 
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelCreateReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelCreateReqVO.java
index 5b77bc2de..39e4844f7 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelCreateReqVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelCreateReqVO.java
@@ -11,11 +11,11 @@ import javax.validation.constraints.NotEmpty;
 @Data
 public class BpmModelCreateReqVO {
 
-    @Schema(description = "流程标识", required = true, example = "process_yudao")
+    @Schema(description = "流程标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "process_yudao")
     @NotEmpty(message = "流程标识不能为空")
     private String key;
 
-    @Schema(description = "流程名称", required = true, example = "芋道")
+    @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotEmpty(message = "流程名称不能为空")
     private String name;
 
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelPageItemRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelPageItemRespVO.java
index 9edc119c9..4fc5b61d4 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelPageItemRespVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelPageItemRespVO.java
@@ -13,13 +13,13 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class BpmModelPageItemRespVO extends BpmModelBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private String id;
 
     @Schema(description = "表单名字", example = "请假表单")
     private String formName;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
     /**
@@ -31,16 +31,16 @@ public class BpmModelPageItemRespVO extends BpmModelBaseVO {
     @Data
     public static class ProcessDefinition {
 
-        @Schema(description = "编号", required = true, example = "1024")
+        @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
         private String id;
 
-        @Schema(description = "版本", required = true, example = "1")
+        @Schema(description = "版本", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Integer version;
 
-        @Schema(description = "部署时间", required = true)
+        @Schema(description = "部署时间", requiredMode = Schema.RequiredMode.REQUIRED)
         private LocalDateTime deploymentTime;
 
-        @Schema(description = "中断状态-参见 SuspensionState 枚举", required = true, example = "1")
+        @Schema(description = "中断状态-参见 SuspensionState 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Integer suspensionState;
 
     }
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelRespVO.java
index 26bc2f9a6..df4abf750 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelRespVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelRespVO.java
@@ -13,13 +13,13 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class BpmModelRespVO extends BpmModelBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private String id;
 
-    @Schema(description = "BPMN XML", required = true)
+    @Schema(description = "BPMN XML", requiredMode = Schema.RequiredMode.REQUIRED)
     private String bpmnXml;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateReqVO.java
index 94271034b..ac8bedd2d 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateReqVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateReqVO.java
@@ -9,7 +9,7 @@ import javax.validation.constraints.NotEmpty;
 @Data
 public class BpmModelUpdateReqVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "编号不能为空")
     private String id;
 
@@ -22,7 +22,7 @@ public class BpmModelUpdateReqVO {
     @Schema(description = "流程分类-参见 bpm_model_category 数据字典", example = "1")
     private String category;
 
-    @Schema(description = "BPMN XML", required = true)
+    @Schema(description = "BPMN XML", requiredMode = Schema.RequiredMode.REQUIRED)
     private String bpmnXml;
 
     @Schema(description = "表单类型-参见 bpm_model_form_type 数据字典", example = "1")
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateStateReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateStateReqVO.java
index e59cc32fb..ac8602787 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateStateReqVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateStateReqVO.java
@@ -9,11 +9,11 @@ import javax.validation.constraints.NotNull;
 @Data
 public class BpmModelUpdateStateReqVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "编号不能为空")
     private String id;
 
-    @Schema(description = "状态-见 SuspensionState 枚举", required = true, example = "1")
+    @Schema(description = "状态-见 SuspensionState 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "状态不能为空")
     private Integer state;
 
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionPageItemRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionPageItemRespVO.java
index 26bc79c80..901c8aa77 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionPageItemRespVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionPageItemRespVO.java
@@ -16,7 +16,7 @@ public class BpmProcessDefinitionPageItemRespVO extends BpmProcessDefinitionResp
     @Schema(description = "表单名字", example = "请假表单")
     private String formName;
 
-    @Schema(description = "部署时间", required = true)
+    @Schema(description = "部署时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime deploymentTime;
 
 }
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionRespVO.java
index 5fee0dd4e..9df317f50 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionRespVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionRespVO.java
@@ -4,20 +4,19 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
 import java.util.List;
 
 @Schema(description = "管理后台 - 流程定义 Response VO")
 @Data
 public class BpmProcessDefinitionRespVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private String id;
 
-    @Schema(description = "版本", required = true, example = "1")
+    @Schema(description = "版本", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer version;
 
-    @Schema(description = "流程名称", required = true, example = "芋道")
+    @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotEmpty(message = "流程名称不能为空")
     private String name;
 
@@ -32,9 +31,9 @@ public class BpmProcessDefinitionRespVO {
     private Integer formType;
     @Schema(description = "表单编号-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", example = "1024")
     private Long formId;
-    @Schema(description = "表单的配置-JSON 字符串。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", required = true)
+    @Schema(description = "表单的配置-JSON 字符串。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", requiredMode = Schema.RequiredMode.REQUIRED)
     private String formConf;
-    @Schema(description = "表单项的数组-JSON 字符串的数组。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", required = true)
+    @Schema(description = "表单项的数组-JSON 字符串的数组。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", requiredMode = Schema.RequiredMode.REQUIRED)
     private List<String> formFields;
     @Schema(description = "自定义表单的提交路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空",
             example = "/bpm/oa/leave/create")
@@ -43,7 +42,7 @@ public class BpmProcessDefinitionRespVO {
             example = "/bpm/oa/leave/view")
     private String formCustomViewPath;
 
-    @Schema(description = "中断状态-参见 SuspensionState 枚举", required = true, example = "1")
+    @Schema(description = "中断状态-参见 SuspensionState 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer suspensionState;
 
 }
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleBaseVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleBaseVO.java
index 7efb1c312..31c1c947a 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleBaseVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleBaseVO.java
@@ -1,8 +1,8 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.rule;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
-import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 import java.util.Set;
 
@@ -13,11 +13,11 @@ import java.util.Set;
 @Data
 public class BpmTaskAssignRuleBaseVO {
 
-    @Schema(description = "规则类型", required = true, example = "bpm_task_assign_rule_type")
+    @Schema(description = "规则类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "bpm_task_assign_rule_type")
     @NotNull(message = "规则类型不能为空")
     private Integer type;
 
-    @Schema(description = "规则值数组", required = true, example = "1,2,3")
+    @Schema(description = "规则值数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "1,2,3")
     @NotNull(message = "规则值数组不能为空")
     private Set<Long> options;
 
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleCreateReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleCreateReqVO.java
index 97bb2de8f..3461126a5 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleCreateReqVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleCreateReqVO.java
@@ -13,11 +13,11 @@ import javax.validation.constraints.NotEmpty;
 @ToString(callSuper = true)
 public class BpmTaskAssignRuleCreateReqVO extends BpmTaskAssignRuleBaseVO {
 
-    @Schema(description = "流程模型的编号", required = true, example = "1024")
+    @Schema(description = "流程模型的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "流程模型的编号不能为空")
     private String modelId;
 
-    @Schema(description = "流程任务定义的编号", required = true, example = "2048")
+    @Schema(description = "流程任务定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     @NotEmpty(message = "流程任务定义的编号不能为空")
     private String taskDefinitionKey;
 
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleRespVO.java
index 50626edc7..ac4f85e78 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleRespVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleRespVO.java
@@ -11,18 +11,18 @@ import lombok.ToString;
 @ToString(callSuper = true)
 public class BpmTaskAssignRuleRespVO extends BpmTaskAssignRuleBaseVO {
 
-    @Schema(description = "任务分配规则的编号", required = true, example = "1024")
+    @Schema(description = "任务分配规则的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "流程模型的编号", required = true, example = "2048")
+    @Schema(description = "流程模型的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     private String modelId;
 
-    @Schema(description = "流程定义的编号", required = true, example = "4096")
+    @Schema(description = "流程定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "4096")
     private String processDefinitionId;
 
-    @Schema(description = "流程任务定义的编号", required = true, example = "2048")
+    @Schema(description = "流程任务定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     private String taskDefinitionKey;
-    @Schema(description = "流程任务定义的名字", required = true, example = "关注芋道")
+    @Schema(description = "流程任务定义的名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "关注芋道")
     private String taskDefinitionName;
 
 }
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleUpdateReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleUpdateReqVO.java
index 5799f139f..47bfb6aeb 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleUpdateReqVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleUpdateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class BpmTaskAssignRuleUpdateReqVO extends BpmTaskAssignRuleBaseVO {
 
-    @Schema(description = "任务分配规则的编号", required = true, example = "1024")
+    @Schema(description = "任务分配规则的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "任务分配规则的编号不能为空")
     private Long id;
 
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeaveBaseVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeaveBaseVO.java
index 2ce0b1c52..d61cdc3e9 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeaveBaseVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeaveBaseVO.java
@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 import java.time.LocalDateTime;
@@ -14,19 +15,19 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @Data
 public class BpmOALeaveBaseVO {
 
-    @Schema(description = "请假的开始时间", required = true)
+    @Schema(description = "请假的开始时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "开始时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime startTime;
-    @Schema(description = "请假的结束时间", required = true)
+    @Schema(description = "请假的结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "结束时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime endTime;
 
-    @Schema(description = "请假类型-参见 bpm_oa_type 枚举", required = true, example = "1")
+    @Schema(description = "请假类型-参见 bpm_oa_type 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer type;
 
-    @Schema(description = "原因", required = true, example = "阅读芋道源码")
+    @Schema(description = "原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "阅读芋道源码")
     private String reason;
 
 }
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeaveRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeaveRespVO.java
index d79dac7d3..886211755 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeaveRespVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeaveRespVO.java
@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -14,13 +15,13 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @ToString(callSuper = true)
 public class BpmOALeaveRespVO extends BpmOALeaveBaseVO {
 
-    @Schema(description = "请假表单主键", required = true, example = "1024")
+    @Schema(description = "请假表单主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "状态-参见 bpm_process_instance_result 枚举", required = true, example = "1")
+    @Schema(description = "状态-参见 bpm_process_instance_result 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer result;
 
-    @Schema(description = "申请时间", required = true)
+    @Schema(description = "申请时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "申请时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime createTime;
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/activity/BpmActivityRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/activity/BpmActivityRespVO.java
index 1958fc739..ab6468204 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/activity/BpmActivityRespVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/activity/BpmActivityRespVO.java
@@ -9,14 +9,14 @@ import java.time.LocalDateTime;
 @Data
 public class BpmActivityRespVO {
 
-    @Schema(description = "流程活动的标识", required = true, example = "1024")
+    @Schema(description = "流程活动的标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private String key;
-    @Schema(description = "流程活动的类型", required = true, example = "StartEvent")
+    @Schema(description = "流程活动的类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "StartEvent")
     private String type;
 
-    @Schema(description = "流程活动的开始时间", required = true)
+    @Schema(description = "流程活动的开始时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime startTime;
-    @Schema(description = "流程活动的结束时间", required = true)
+    @Schema(description = "流程活动的结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime endTime;
 
     @Schema(description = "关联的流程任务的编号-关联的流程任务,只有 UserTask 等类型才有", example = "2048")
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceCancelReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceCancelReqVO.java
index c0903279b..496c72c61 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceCancelReqVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceCancelReqVO.java
@@ -4,18 +4,16 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-import java.util.Map;
 
 @Schema(description = "管理后台 - 流程实例的取消 Request VO")
 @Data
 public class BpmProcessInstanceCancelReqVO {
 
-    @Schema(description = "流程实例的编号", required = true, example = "1024")
+    @Schema(description = "流程实例的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "流程实例的编号不能为空")
     private String id;
 
-    @Schema(description = "取消原因", required = true, example = "不请假了!")
+    @Schema(description = "取消原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "不请假了!")
     @NotEmpty(message = "取消原因不能为空")
     private String reason;
 
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceCreateReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceCreateReqVO.java
index 48becaad2..8fc544ef4 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceCreateReqVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceCreateReqVO.java
@@ -10,7 +10,7 @@ import java.util.Map;
 @Data
 public class BpmProcessInstanceCreateReqVO {
 
-    @Schema(description = "流程定义的编号", required = true, example = "1024")
+    @Schema(description = "流程定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "流程定义编号不能为空")
     private String processDefinitionId;
 
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstancePageItemRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstancePageItemRespVO.java
index c38274138..6bb269f1d 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstancePageItemRespVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstancePageItemRespVO.java
@@ -10,28 +10,28 @@ import java.util.List;
 @Data
 public class BpmProcessInstancePageItemRespVO {
 
-    @Schema(description = "流程实例的编号", required = true, example = "1024")
+    @Schema(description = "流程实例的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private String id;
 
-    @Schema(description = "流程名称", required = true, example = "芋道")
+    @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String name;
 
-    @Schema(description = "流程定义的编号", required = true, example = "2048")
+    @Schema(description = "流程定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     private String processDefinitionId;
 
-    @Schema(description = "流程分类-参见 bpm_model_category 数据字典", required = true, example = "1")
+    @Schema(description = "流程分类-参见 bpm_model_category 数据字典", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private String category;
 
-    @Schema(description = "流程实例的状态-参见 bpm_process_instance_status", required = true, example = "1")
+    @Schema(description = "流程实例的状态-参见 bpm_process_instance_status", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
-    @Schema(description = "流程实例的结果-参见 bpm_process_instance_result", required = true, example = "2")
+    @Schema(description = "流程实例的结果-参见 bpm_process_instance_result", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     private Integer result;
 
-    @Schema(description = "提交时间", required = true)
+    @Schema(description = "提交时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
-    @Schema(description = "结束时间", required = true)
+    @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime endTime;
 
     /**
@@ -43,10 +43,10 @@ public class BpmProcessInstancePageItemRespVO {
     @Data
     public static class Task {
 
-        @Schema(description = "流程任务的编号", required = true, example = "1024")
+        @Schema(description = "流程任务的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
         private String id;
 
-        @Schema(description = "任务名称", required = true, example = "芋道")
+        @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
         private String name;
 
     }
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceRespVO.java
index 5c6d381a0..a9cc810f7 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceRespVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceRespVO.java
@@ -11,28 +11,28 @@ import java.util.Map;
 @Data
 public class BpmProcessInstanceRespVO {
 
-    @Schema(description = "流程实例的编号", required = true, example = "1024")
+    @Schema(description = "流程实例的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private String id;
 
-    @Schema(description = "流程名称", required = true, example = "芋道")
+    @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String name;
 
-    @Schema(description = "流程分类-参见 bpm_model_category 数据字典", required = true, example = "1")
+    @Schema(description = "流程分类-参见 bpm_model_category 数据字典", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private String category;
 
-    @Schema(description = "流程实例的状态-参见 bpm_process_instance_status", required = true, example = "1")
+    @Schema(description = "流程实例的状态-参见 bpm_process_instance_status", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
-    @Schema(description = "流程实例的结果-参见 bpm_process_instance_result", required = true, example = "2")
+    @Schema(description = "流程实例的结果-参见 bpm_process_instance_result", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     private Integer result;
 
-    @Schema(description = "提交时间", required = true)
+    @Schema(description = "提交时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
-    @Schema(description = "结束时间", required = true)
+    @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime endTime;
 
-    @Schema(description = "提交的表单值", required = true)
+    @Schema(description = "提交的表单值", requiredMode = Schema.RequiredMode.REQUIRED)
     private Map<String, Object> formVariables;
 
     @Schema(description = "业务的唯一标识-例如说,请假申请的编号", example = "1")
@@ -52,14 +52,14 @@ public class BpmProcessInstanceRespVO {
     @Data
     public static class User {
 
-        @Schema(description = "用户编号", required = true, example = "1")
+        @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long id;
-        @Schema(description = "用户昵称", required = true, example = "芋艿")
+        @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
         private String nickname;
 
-        @Schema(description = "部门编号", required = true, example = "1")
+        @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long deptId;
-        @Schema(description = "部门名称", required = true, example = "研发部")
+        @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部")
         private String deptName;
 
     }
@@ -68,16 +68,16 @@ public class BpmProcessInstanceRespVO {
     @Data
     public static class ProcessDefinition {
 
-        @Schema(description = "编号", required = true, example = "1024")
+        @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
         private String id;
 
         @Schema(description = "表单类型-参见 bpm_model_form_type 数据字典", example = "1")
         private Integer formType;
         @Schema(description = "表单编号-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", example = "1024")
         private Long formId;
-        @Schema(description = "表单的配置-JSON 字符串。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", required = true)
+        @Schema(description = "表单的配置-JSON 字符串。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", requiredMode = Schema.RequiredMode.REQUIRED)
         private String formConf;
-        @Schema(description = "表单项的数组-JSON 字符串的数组。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", required = true)
+        @Schema(description = "表单项的数组-JSON 字符串的数组。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", requiredMode = Schema.RequiredMode.REQUIRED)
         private List<String> formFields;
         @Schema(description = "自定义表单的提交路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空",
                 example = "/bpm/oa/leave/create")
@@ -86,7 +86,7 @@ public class BpmProcessInstanceRespVO {
                 example = "/bpm/oa/leave/view")
         private String formCustomViewPath;
 
-        @Schema(description = "BPMN XML", required = true)
+        @Schema(description = "BPMN XML", requiredMode = Schema.RequiredMode.REQUIRED)
         private String bpmnXml;
 
     }
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskApproveReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskApproveReqVO.java
index 5214f4650..82850e833 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskApproveReqVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskApproveReqVO.java
@@ -9,11 +9,11 @@ import javax.validation.constraints.NotEmpty;
 @Data
 public class BpmTaskApproveReqVO {
 
-    @Schema(description = "任务编号", required = true, example = "1024")
+    @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "任务编号不能为空")
     private String id;
 
-    @Schema(description = "审批意见", required = true, example = "不错不错!")
+    @Schema(description = "审批意见", requiredMode = Schema.RequiredMode.REQUIRED, example = "不错不错!")
     @NotEmpty(message = "审批意见不能为空")
     private String reason;
 
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskDonePageItemRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskDonePageItemRespVO.java
index 12fa019d9..8f5144158 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskDonePageItemRespVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskDonePageItemRespVO.java
@@ -13,14 +13,14 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class BpmTaskDonePageItemRespVO extends BpmTaskTodoPageItemRespVO {
 
-    @Schema(description = "结束时间", required = true)
+    @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime endTime;
-    @Schema(description = "持续时间", required = true, example = "1000")
+    @Schema(description = "持续时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
     private Long durationInMillis;
 
-    @Schema(description = "任务结果-参见 bpm_process_instance_result", required = true, example = "2")
+    @Schema(description = "任务结果-参见 bpm_process_instance_result", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     private Integer result;
-    @Schema(description = "审批建议", required = true, example = "不请假了!")
+    @Schema(description = "审批建议", requiredMode = Schema.RequiredMode.REQUIRED, example = "不请假了!")
     private String reason;
 
 }
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskRejectReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskRejectReqVO.java
index f51a69185..ebbc0fdaa 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskRejectReqVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskRejectReqVO.java
@@ -9,11 +9,11 @@ import javax.validation.constraints.NotEmpty;
 @Data
 public class BpmTaskRejectReqVO {
 
-    @Schema(description = "任务编号", required = true, example = "1024")
+    @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "任务编号不能为空")
     private String id;
 
-    @Schema(description = "审批意见", required = true, example = "不错不错!")
+    @Schema(description = "审批意见", requiredMode = Schema.RequiredMode.REQUIRED, example = "不错不错!")
     @NotEmpty(message = "审批意见不能为空")
     private String reason;
 
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskRespVO.java
index 9459c30c1..3c404678f 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskRespVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskRespVO.java
@@ -11,7 +11,7 @@ import lombok.ToString;
 @ToString(callSuper = true)
 public class BpmTaskRespVO extends BpmTaskDonePageItemRespVO {
 
-    @Schema(description = "任务定义的标识", required = true, example = "user-001")
+    @Schema(description = "任务定义的标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "user-001")
     private String definitionKey;
 
     /**
@@ -23,14 +23,14 @@ public class BpmTaskRespVO extends BpmTaskDonePageItemRespVO {
     @Data
     public static class User {
 
-        @Schema(description = "用户编号", required = true, example = "1")
+        @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long id;
-        @Schema(description = "用户昵称", required = true, example = "芋艿")
+        @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
         private String nickname;
 
-        @Schema(description = "部门编号", required = true, example = "1")
+        @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long deptId;
-        @Schema(description = "部门名称", required = true, example = "研发部")
+        @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部")
         private String deptName;
 
     }
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskTodoPageItemRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskTodoPageItemRespVO.java
index cc71e1b2f..4b57f4777 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskTodoPageItemRespVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskTodoPageItemRespVO.java
@@ -9,19 +9,19 @@ import java.time.LocalDateTime;
 @Data
 public class BpmTaskTodoPageItemRespVO {
 
-    @Schema(description = "任务编号", required = true, example = "1024")
+    @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private String id;
 
-    @Schema(description = "任务名字", required = true, example = "芋道")
+    @Schema(description = "任务名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String name;
 
-    @Schema(description = "接收时间", required = true)
+    @Schema(description = "接收时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime claimTime;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
-    @Schema(description = "激活状态-参见 SuspensionState 枚举", required = true, example = "1")
+    @Schema(description = "激活状态-参见 SuspensionState 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer suspensionState;
 
     /**
@@ -33,19 +33,19 @@ public class BpmTaskTodoPageItemRespVO {
     @Schema(description = "流程实例")
     public static class ProcessInstance {
 
-        @Schema(description = "流程实例编号", required = true, example = "1024")
+        @Schema(description = "流程实例编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
         private String id;
 
-        @Schema(description = "流程实例名称", required = true, example = "芋道")
+        @Schema(description = "流程实例名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
         private String name;
 
-        @Schema(description = "发起人的用户编号", required = true, example = "1024")
+        @Schema(description = "发起人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
         private Long startUserId;
 
-        @Schema(description = "发起人的用户昵称", required = true, example = "芋艿")
+        @Schema(description = "发起人的用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
         private String startUserNickname;
 
-        @Schema(description = "流程定义的编号", required = true, example = "2048")
+        @Schema(description = "流程定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
         private String processDefinitionId;
 
     }
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskUpdateAssigneeReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskUpdateAssigneeReqVO.java
index d0990a142..dfc5fbb93 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskUpdateAssigneeReqVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskUpdateAssigneeReqVO.java
@@ -2,9 +2,6 @@ package cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-import net.bytebuddy.implementation.bind.annotation.Empty;
 
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
@@ -13,11 +10,11 @@ import javax.validation.constraints.NotNull;
 @Data
 public class BpmTaskUpdateAssigneeReqVO {
 
-    @Schema(description = "任务编号", required = true, example = "1024")
+    @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "任务编号不能为空")
     private String id;
 
-    @Schema(description = "新审批人的用户编号", required = true, example = "2048")
+    @Schema(description = "新审批人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     @NotNull(message = "新审批人的用户编号不能为空")
     private Long assigneeUserId;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenCreateListReqVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenCreateListReqVO.java
index da9e2c674..efce9ed58 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenCreateListReqVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenCreateListReqVO.java
@@ -10,11 +10,11 @@ import java.util.List;
 @Data
 public class CodegenCreateListReqVO {
 
-    @Schema(description = "数据源配置的编号", required = true, example = "1")
+    @Schema(description = "数据源配置的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "数据源配置的编号不能为空")
     private Long dataSourceConfigId;
 
-    @Schema(description = "表名数组", required = true, example = "[1, 2, 3]")
+    @Schema(description = "表名数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "[1, 2, 3]")
     @NotNull(message = "表名数组不能为空")
     private List<String> tableNames;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenPreviewRespVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenPreviewRespVO.java
index 89e98e6c0..b349b1769 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenPreviewRespVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenPreviewRespVO.java
@@ -7,10 +7,10 @@ import lombok.Data;
 @Data
 public class CodegenPreviewRespVO {
 
-    @Schema(description = "文件路径", required = true, example = "java/cn/iocoder/yudao/adminserver/modules/system/controller/test/SysTestDemoController.java")
+    @Schema(description = "文件路径", requiredMode = Schema.RequiredMode.REQUIRED, example = "java/cn/iocoder/yudao/adminserver/modules/system/controller/test/SysTestDemoController.java")
     private String filePath;
 
-    @Schema(description = "代码", required = true, example = "Hello World")
+    @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED, example = "Hello World")
     private String code;
 
 }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenUpdateReqVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenUpdateReqVO.java
index cbbb2a008..2531fd768 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenUpdateReqVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenUpdateReqVO.java
@@ -33,7 +33,7 @@ public class CodegenUpdateReqVO {
     @Valid
     public static class Table extends CodegenTableBaseVO {
 
-        @Schema(description = "编号", required = true, example = "1")
+        @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long id;
 
         @AssertTrue(message = "上级菜单不能为空,请前往 [修改生成配置 -> 生成信息] 界面,设置“上级菜单”字段")
@@ -51,7 +51,7 @@ public class CodegenUpdateReqVO {
     @ToString(callSuper = true)
     public static class Column extends CodegenColumnBaseVO {
 
-        @Schema(description = "编号", required = true, example = "1")
+        @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long id;
 
     }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/column/CodegenColumnBaseVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/column/CodegenColumnBaseVO.java
index abbb30983..d0b2d046a 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/column/CodegenColumnBaseVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/column/CodegenColumnBaseVO.java
@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.column;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -11,43 +12,43 @@ import javax.validation.constraints.NotNull;
 @Data
 public class CodegenColumnBaseVO {
 
-    @Schema(description = "表编号", required = true, example = "1")
+    @Schema(description = "表编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "表编号不能为空")
     private Long tableId;
 
-    @Schema(description = "字段名", required = true, example = "user_age")
+    @Schema(description = "字段名", requiredMode = Schema.RequiredMode.REQUIRED, example = "user_age")
     @NotNull(message = "字段名不能为空")
     private String columnName;
 
-    @Schema(description = "字段类型", required = true, example = "int(11)")
+    @Schema(description = "字段类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "int(11)")
     @NotNull(message = "字段类型不能为空")
     private String dataType;
 
-    @Schema(description = "字段描述", required = true, example = "年龄")
+    @Schema(description = "字段描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "年龄")
     @NotNull(message = "字段描述不能为空")
     private String columnComment;
 
-    @Schema(description = "是否允许为空", required = true, example = "true")
+    @Schema(description = "是否允许为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     @NotNull(message = "是否允许为空不能为空")
     private Boolean nullable;
 
-    @Schema(description = "是否主键", required = true, example = "false")
+    @Schema(description = "是否主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "false")
     @NotNull(message = "是否主键不能为空")
     private Boolean primaryKey;
 
-    @Schema(description = "是否自增", required = true, example = "true")
+    @Schema(description = "是否自增", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     @NotNull(message = "是否自增不能为空")
     private String autoIncrement;
 
-    @Schema(description = "排序", required = true, example = "10")
+    @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     @NotNull(message = "排序不能为空")
     private Integer ordinalPosition;
 
-    @Schema(description = "Java 属性类型", required = true, example = "userAge")
+    @Schema(description = "Java 属性类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "userAge")
     @NotNull(message = "Java 属性类型不能为空")
     private String javaType;
 
-    @Schema(description = "Java 属性名", required = true, example = "Integer")
+    @Schema(description = "Java 属性名", requiredMode = Schema.RequiredMode.REQUIRED, example = "Integer")
     @NotNull(message = "Java 属性名不能为空")
     private String javaField;
 
@@ -57,27 +58,27 @@ public class CodegenColumnBaseVO {
     @Schema(description = "数据示例", example = "1024")
     private String example;
 
-    @Schema(description = "是否为 Create 创建操作的字段", required = true, example = "true")
+    @Schema(description = "是否为 Create 创建操作的字段", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     @NotNull(message = "是否为 Create 创建操作的字段不能为空")
     private Boolean createOperation;
 
-    @Schema(description = "是否为 Update 更新操作的字段", required = true, example = "false")
+    @Schema(description = "是否为 Update 更新操作的字段", requiredMode = Schema.RequiredMode.REQUIRED, example = "false")
     @NotNull(message = "是否为 Update 更新操作的字段不能为空")
     private Boolean updateOperation;
 
-    @Schema(description = "是否为 List 查询操作的字段", required = true, example = "true")
+    @Schema(description = "是否为 List 查询操作的字段", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     @NotNull(message = "是否为 List 查询操作的字段不能为空")
     private Boolean listOperation;
 
-    @Schema(description = "List 查询操作的条件类型,参见 CodegenColumnListConditionEnum 枚举", required = true, example = "LIKE")
+    @Schema(description = "List 查询操作的条件类型,参见 CodegenColumnListConditionEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "LIKE")
     @NotNull(message = "List 查询操作的条件类型不能为空")
     private String listOperationCondition;
 
-    @Schema(description = "是否为 List 查询操作的返回字段", required = true, example = "true")
+    @Schema(description = "是否为 List 查询操作的返回字段", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     @NotNull(message = "是否为 List 查询操作的返回字段不能为空")
     private Boolean listOperationResult;
 
-    @Schema(description = "显示类型", required = true, example = "input")
+    @Schema(description = "显示类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "input")
     @NotNull(message = "显示类型不能为空")
     private String htmlType;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/column/CodegenColumnRespVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/column/CodegenColumnRespVO.java
index 1ef17b0ea..57f2c359b 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/column/CodegenColumnRespVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/column/CodegenColumnRespVO.java
@@ -13,10 +13,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class CodegenColumnRespVO extends CodegenColumnBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/CodegenTableBaseVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/CodegenTableBaseVO.java
index ed1b1e290..76c8d6844 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/CodegenTableBaseVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/CodegenTableBaseVO.java
@@ -1,56 +1,57 @@
 package cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.table;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import javax.validation.constraints.NotNull;
 
 /**
-    * 代码生成 Base VO,提供给添加、修改、详细的子 VO 使用
-    * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
-    */
+ * 代码生成 Base VO,提供给添加、修改、详细的子 VO 使用
+ * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
+ */
 @Data
 public class CodegenTableBaseVO {
 
-    @Schema(description = "生成场景,参见 CodegenSceneEnum 枚举", required = true, example = "1")
+    @Schema(description = "生成场景,参见 CodegenSceneEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "导入类型不能为空")
     private Integer scene;
 
-    @Schema(description = "表名称", required = true, example = "yudao")
+    @Schema(description = "表名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao")
     @NotNull(message = "表名称不能为空")
     private String tableName;
 
-    @Schema(description = "表描述", required = true, example = "芋道")
+    @Schema(description = "表描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotNull(message = "表描述不能为空")
     private String tableComment;
 
     @Schema(description = "备注", example = "我是备注")
     private String remark;
 
-    @Schema(description = "模块名", required = true, example = "system")
+    @Schema(description = "模块名", requiredMode = Schema.RequiredMode.REQUIRED, example = "system")
     @NotNull(message = "模块名不能为空")
     private String moduleName;
 
-    @Schema(description = "业务名", required = true, example = "codegen")
+    @Schema(description = "业务名", requiredMode = Schema.RequiredMode.REQUIRED, example = "codegen")
     @NotNull(message = "业务名不能为空")
     private String businessName;
 
-    @Schema(description = "类名称", required = true, example = "CodegenTable")
+    @Schema(description = "类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "CodegenTable")
     @NotNull(message = "类名称不能为空")
     private String className;
 
-    @Schema(description = "类描述", required = true, example = "代码生成器的表定义")
+    @Schema(description = "类描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "代码生成器的表定义")
     @NotNull(message = "类描述不能为空")
     private String classComment;
 
-    @Schema(description = "作者", required = true, example = "芋道源码")
+    @Schema(description = "作者", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道源码")
     @NotNull(message = "作者不能为空")
     private String author;
 
-    @Schema(description = "模板类型,参见 CodegenTemplateTypeEnum 枚举", required = true, example = "1")
+    @Schema(description = "模板类型,参见 CodegenTemplateTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "模板类型不能为空")
     private Integer templateType;
 
-    @Schema(description = "前端类型,参见 CodegenFrontTypeEnum 枚举", required = true, example = "20")
+    @Schema(description = "前端类型,参见 CodegenFrontTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "20")
     @NotNull(message = "前端类型不能为空")
     private Integer frontType;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/CodegenTableRespVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/CodegenTableRespVO.java
index af45018bd..b979ccd14 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/CodegenTableRespVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/CodegenTableRespVO.java
@@ -13,16 +13,16 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class CodegenTableRespVO extends CodegenTableBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
-    @Schema(description = "主键编号", required = true, example = "1024")
+    @Schema(description = "主键编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Integer dataSourceConfigId;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
-    @Schema(description = "更新时间", required = true)
+    @Schema(description = "更新时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime updateTime;
 
 }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/DatabaseTableRespVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/DatabaseTableRespVO.java
index 61668db15..a1f683c25 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/DatabaseTableRespVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/DatabaseTableRespVO.java
@@ -7,10 +7,10 @@ import lombok.Data;
 @Data
 public class DatabaseTableRespVO {
 
-    @Schema(description = "表名称", required = true, example = "yuanma")
+    @Schema(description = "表名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "yuanma")
     private String name;
 
-    @Schema(description = "表描述", required = true, example = "芋道源码")
+    @Schema(description = "表描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道源码")
     private String comment;
 
 }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigBaseVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigBaseVO.java
index 53ca02d12..acd3beee6 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigBaseVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigBaseVO.java
@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.infra.controller.admin.config.vo;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -14,22 +15,22 @@ import javax.validation.constraints.Size;
 @Data
 public class ConfigBaseVO {
 
-    @Schema(description = "参数分组", required = true, example = "biz")
+    @Schema(description = "参数分组", requiredMode = Schema.RequiredMode.REQUIRED, example = "biz")
     @NotEmpty(message = "参数分组不能为空")
     @Size(max = 50, message = "参数名称不能超过50个字符")
     private String category;
 
-    @Schema(description = "参数名称", required = true, example = "数据库名")
+    @Schema(description = "参数名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据库名")
     @NotBlank(message = "参数名称不能为空")
     @Size(max = 100, message = "参数名称不能超过100个字符")
     private String name;
 
-    @Schema(description = "参数键值", required = true, example = "1024")
+    @Schema(description = "参数键值", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotBlank(message = "参数键值不能为空")
     @Size(max = 500, message = "参数键值长度不能超过500个字符")
     private String value;
 
-    @Schema(description = "是否可见", required = true, example = "true")
+    @Schema(description = "是否可见", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     @NotNull(message = "是否可见不能为空")
     private Boolean visible;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigCreateReqVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigCreateReqVO.java
index 186629b0f..ebbdf67fc 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigCreateReqVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigCreateReqVO.java
@@ -12,7 +12,7 @@ import javax.validation.constraints.Size;
 @EqualsAndHashCode(callSuper = true)
 public class ConfigCreateReqVO extends ConfigBaseVO {
 
-    @Schema(description = "参数键名", required = true, example = "yunai.db.username")
+    @Schema(description = "参数键名", requiredMode = Schema.RequiredMode.REQUIRED, example = "yunai.db.username")
     @NotBlank(message = "参数键名长度不能为空")
     @Size(max = 100, message = "参数键名长度不能超过100个字符")
     private String key;
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigRespVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigRespVO.java
index 738cd6481..cf8b1e3ac 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigRespVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigRespVO.java
@@ -13,18 +13,18 @@ import java.time.LocalDateTime;
 @EqualsAndHashCode(callSuper = true)
 public class ConfigRespVO extends ConfigBaseVO {
 
-    @Schema(description = "参数配置序号", required = true, example = "1024")
+    @Schema(description = "参数配置序号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "参数键名", required = true, example = "yunai.db.username")
+    @Schema(description = "参数键名", requiredMode = Schema.RequiredMode.REQUIRED, example = "yunai.db.username")
     @NotBlank(message = "参数键名长度不能为空")
     @Size(max = 100, message = "参数键名长度不能超过100个字符")
     private String key;
 
-    @Schema(description = "参数类型,参见 SysConfigTypeEnum 枚举", required = true, example = "1")
+    @Schema(description = "参数类型,参见 SysConfigTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer type;
 
-    @Schema(description = "创建时间", required = true, example = "时间戳格式")
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式")
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigUpdateReqVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigUpdateReqVO.java
index efa689d42..b2497b1cd 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigUpdateReqVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigUpdateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class ConfigUpdateReqVO extends ConfigBaseVO {
 
-    @Schema(description = "参数配置序号", required = true, example = "1024")
+    @Schema(description = "参数配置序号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "参数配置编号不能为空")
     private Long id;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigBaseVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigBaseVO.java
index a757b0882..800227e3c 100755
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigBaseVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigBaseVO.java
@@ -10,15 +10,15 @@ import javax.validation.constraints.*;
 @Data
 public class DataSourceConfigBaseVO {
 
-    @Schema(description = "数据源名称", required = true, example = "test")
+    @Schema(description = "数据源名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "test")
     @NotNull(message = "数据源名称不能为空")
     private String name;
 
-    @Schema(description = "数据源连接", required = true, example = "jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro")
+    @Schema(description = "数据源连接", requiredMode = Schema.RequiredMode.REQUIRED, example = "jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro")
     @NotNull(message = "数据源连接不能为空")
     private String url;
 
-    @Schema(description = "用户名", required = true, example = "root")
+    @Schema(description = "用户名", requiredMode = Schema.RequiredMode.REQUIRED, example = "root")
     @NotNull(message = "用户名不能为空")
     private String username;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigCreateReqVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigCreateReqVO.java
index e8f4cc97d..598bda81b 100755
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigCreateReqVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigCreateReqVO.java
@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.infra.controller.admin.db.vo;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 import javax.validation.constraints.*;
@@ -9,7 +10,7 @@ import javax.validation.constraints.*;
 @ToString(callSuper = true)
 public class DataSourceConfigCreateReqVO extends DataSourceConfigBaseVO {
 
-    @Schema(description = "密码", required = true, example = "123456")
+    @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
     @NotNull(message = "密码不能为空")
     private String password;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigRespVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigRespVO.java
index 02bdff415..77ecef56c 100755
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigRespVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigRespVO.java
@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.infra.controller.admin.db.vo;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
@@ -10,10 +11,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class DataSourceConfigRespVO extends DataSourceConfigBaseVO {
 
-    @Schema(description = "主键编号", required = true, example = "1024")
+    @Schema(description = "主键编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Integer id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigUpdateReqVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigUpdateReqVO.java
index 5fac798ea..5cc31eab6 100755
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigUpdateReqVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigUpdateReqVO.java
@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.infra.controller.admin.db.vo;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 import javax.validation.constraints.*;
@@ -9,11 +10,11 @@ import javax.validation.constraints.*;
 @ToString(callSuper = true)
 public class DataSourceConfigUpdateReqVO extends DataSourceConfigBaseVO {
 
-    @Schema(description = "主键编号", required = true, example = "1024")
+    @Schema(description = "主键编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "主键编号不能为空")
     private Long id;
 
-    @Schema(description = "密码", required = true, example = "123456")
+    @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
     @NotNull(message = "密码不能为空")
     private String password;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigBaseVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigBaseVO.java
index d7bc42d73..eccbd4bb1 100755
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigBaseVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigBaseVO.java
@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.infra.controller.admin.file.vo.config;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -11,7 +12,7 @@ import javax.validation.constraints.NotNull;
 @Data
 public class FileConfigBaseVO {
 
-    @Schema(description = "配置名", required = true, example = "S3 - 阿里云")
+    @Schema(description = "配置名", requiredMode = Schema.RequiredMode.REQUIRED, example = "S3 - 阿里云")
     @NotNull(message = "配置名不能为空")
     private String name;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigCreateReqVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigCreateReqVO.java
index db64205f4..f3132e970 100755
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigCreateReqVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigCreateReqVO.java
@@ -14,11 +14,11 @@ import java.util.Map;
 @ToString(callSuper = true)
 public class FileConfigCreateReqVO extends FileConfigBaseVO {
 
-    @Schema(description = "存储器,参见 FileStorageEnum 枚举类参见 FileStorageEnum 枚举类", required = true, example = "1")
+    @Schema(description = "存储器,参见 FileStorageEnum 枚举类参见 FileStorageEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "存储器不能为空")
     private Integer storage;
 
-    @Schema(description = "存储配置,配置是动态参数,所以使用 Map 接收", required = true)
+    @Schema(description = "存储配置,配置是动态参数,所以使用 Map 接收", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "存储配置不能为空")
     private Map<String, Object> config;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigRespVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigRespVO.java
index ae194cd31..178317126 100755
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigRespVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigRespVO.java
@@ -15,21 +15,21 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class FileConfigRespVO extends FileConfigBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
-    @Schema(description = "存储器,参见 FileStorageEnum 枚举类", required = true, example = "1")
+    @Schema(description = "存储器,参见 FileStorageEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "存储器不能为空")
     private Integer storage;
 
-    @Schema(description = "是否为主配置", required = true, example = "true")
+    @Schema(description = "是否为主配置", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     @NotNull(message = "是否为主配置不能为空")
     private Boolean master;
 
-    @Schema(description = "存储配置", required = true)
+    @Schema(description = "存储配置", requiredMode = Schema.RequiredMode.REQUIRED)
     private FileClientConfig config;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigUpdateReqVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigUpdateReqVO.java
index cd0c10802..ba599d424 100755
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigUpdateReqVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigUpdateReqVO.java
@@ -14,11 +14,11 @@ import java.util.Map;
 @ToString(callSuper = true)
 public class FileConfigUpdateReqVO extends FileConfigBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "编号不能为空")
     private Long id;
 
-    @Schema(description = "存储配置,配置是动态参数,所以使用 Map 接收", required = true)
+    @Schema(description = "存储配置,配置是动态参数,所以使用 Map 接收", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "存储配置不能为空")
     private Map<String, Object> config;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/file/FileRespVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/file/FileRespVO.java
index 80607d8d0..a0357da15 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/file/FileRespVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/file/FileRespVO.java
@@ -9,28 +9,28 @@ import java.time.LocalDateTime;
 @Data
 public class FileRespVO {
 
-    @Schema(description = "文件编号", required = true, example = "1024")
+    @Schema(description = "文件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "配置编号", required = true, example = "11")
+    @Schema(description = "配置编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "11")
     private Long configId;
 
-    @Schema(description = "文件路径", required = true, example = "yudao.jpg")
+    @Schema(description = "文件路径", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao.jpg")
     private String path;
 
-    @Schema(description = "原文件名", required = true, example = "yudao.jpg")
+    @Schema(description = "原文件名", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao.jpg")
     private String name;
 
-    @Schema(description = "文件 URL", required = true, example = "https://www.iocoder.cn/yudao.jpg")
+    @Schema(description = "文件 URL", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/yudao.jpg")
     private String url;
 
     @Schema(description = "文件MIME类型", example = "application/octet-stream")
     private String type;
 
-    @Schema(description = "文件大小", example = "2048", required = true)
+    @Schema(description = "文件大小", example = "2048", requiredMode = Schema.RequiredMode.REQUIRED)
     private Integer size;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/file/FileUploadReqVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/file/FileUploadReqVO.java
index 7a4dcb1c2..b60b9a180 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/file/FileUploadReqVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/file/FileUploadReqVO.java
@@ -10,7 +10,7 @@ import javax.validation.constraints.NotNull;
 @Data
 public class FileUploadReqVO {
 
-    @Schema(description = "文件附件", required = true)
+    @Schema(description = "文件附件", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "文件附件不能为空")
     private MultipartFile file;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobBaseVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobBaseVO.java
index e5927fe14..9d14846b2 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobBaseVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobBaseVO.java
@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.infra.controller.admin.job.vo.job;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -11,22 +12,22 @@ import javax.validation.constraints.NotNull;
 @Data
 public class JobBaseVO {
 
-    @Schema(description = "任务名称", required = true, example = "测试任务")
+    @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试任务")
     @NotNull(message = "任务名称不能为空")
     private String name;
 
     @Schema(description = "处理器的参数", example = "yudao")
     private String handlerParam;
 
-    @Schema(description = "CRON 表达式", required = true, example = "0/10 * * * * ? *")
+    @Schema(description = "CRON 表达式", requiredMode = Schema.RequiredMode.REQUIRED, example = "0/10 * * * * ? *")
     @NotNull(message = "CRON 表达式不能为空")
     private String cronExpression;
 
-    @Schema(description = "重试次数", required = true, example = "3")
+    @Schema(description = "重试次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "3")
     @NotNull(message = "重试次数不能为空")
     private Integer retryCount;
 
-    @Schema(description = "重试间隔", required = true, example = "1000")
+    @Schema(description = "重试间隔", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
     @NotNull(message = "重试间隔不能为空")
     private Integer retryInterval;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobCreateReqVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobCreateReqVO.java
index 528392b52..be9914532 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobCreateReqVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobCreateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class JobCreateReqVO extends JobBaseVO {
 
-    @Schema(description = "处理器的名字", required = true, example = "sysUserSessionTimeoutJob")
+    @Schema(description = "处理器的名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "sysUserSessionTimeoutJob")
     @NotNull(message = "处理器的名字不能为空")
     private String handlerName;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobRespVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobRespVO.java
index be73b1a06..b0e18a796 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobRespVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobRespVO.java
@@ -14,17 +14,17 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class JobRespVO extends JobBaseVO {
 
-    @Schema(description = "任务编号", required = true, example = "1024")
+    @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "任务状态", required = true, example = "1")
+    @Schema(description = "任务状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
-    @Schema(description = "处理器的名字", required = true, example = "sysUserSessionTimeoutJob")
+    @Schema(description = "处理器的名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "sysUserSessionTimeoutJob")
     @NotNull(message = "处理器的名字不能为空")
     private String handlerName;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobUpdateReqVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobUpdateReqVO.java
index 9587888b6..df1435669 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobUpdateReqVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobUpdateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class JobUpdateReqVO extends JobBaseVO {
 
-    @Schema(description = "任务编号", required = true, example = "1024")
+    @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "任务编号不能为空")
     private Long id;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/log/JobLogBaseVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/log/JobLogBaseVO.java
index de95ca38d..1119c7daf 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/log/JobLogBaseVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/log/JobLogBaseVO.java
@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.infra.controller.admin.job.vo.log;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -15,22 +16,22 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @Data
 public class JobLogBaseVO {
 
-    @Schema(description = "任务编号", required = true, example = "1024")
+    @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "任务编号不能为空")
     private Long jobId;
 
-    @Schema(description = "处理器的名字", required = true, example = "sysUserSessionTimeoutJob")
+    @Schema(description = "处理器的名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "sysUserSessionTimeoutJob")
     @NotNull(message = "处理器的名字不能为空")
     private String handlerName;
 
     @Schema(description = "处理器的参数", example = "yudao")
     private String handlerParam;
 
-    @Schema(description = "第几次执行", required = true, example = "1")
+    @Schema(description = "第几次执行", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "第几次执行不能为空")
     private Integer executeIndex;
 
-    @Schema(description = "开始执行时间", required = true)
+    @Schema(description = "开始执行时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "开始执行时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime beginTime;
@@ -42,7 +43,7 @@ public class JobLogBaseVO {
     @Schema(description = "执行时长", example = "123")
     private Integer duration;
 
-    @Schema(description = "任务状态,参见 JobLogStatusEnum 枚举", required = true, example = "1")
+    @Schema(description = "任务状态,参见 JobLogStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "任务状态不能为空")
     private Integer status;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/log/JobLogRespVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/log/JobLogRespVO.java
index 79cce519b..4da31956a 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/log/JobLogRespVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/log/JobLogRespVO.java
@@ -13,10 +13,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class JobLogRespVO extends JobLogBaseVO {
 
-    @Schema(description = "日志编号", required = true, example = "1024")
+    @Schema(description = "日志编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogBaseVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogBaseVO.java
index ec2a8e377..5830193ba 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogBaseVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogBaseVO.java
@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.infra.controller.admin.logger.vo.apiaccesslog;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -15,56 +16,56 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @Data
 public class ApiAccessLogBaseVO {
 
-    @Schema(description = "链路追踪编号", required = true, example = "66600cb6-7852-11eb-9439-0242ac130002")
+    @Schema(description = "链路追踪编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "66600cb6-7852-11eb-9439-0242ac130002")
     @NotNull(message = "链路追踪编号不能为空")
     private String traceId;
 
-    @Schema(description = "用户编号", required = true, example = "666")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "666")
     @NotNull(message = "用户编号不能为空")
     private Long userId;
 
-    @Schema(description = "用户类型,参见 UserTypeEnum 枚举", required = true, example = "2")
+    @Schema(description = "用户类型,参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     @NotNull(message = "用户类型不能为空")
     private Integer userType;
 
-    @Schema(description = "应用名", required = true, example = "dashboard")
+    @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "dashboard")
     @NotNull(message = "应用名不能为空")
     private String applicationName;
 
-    @Schema(description = "请求方法名", required = true, example = "GET")
+    @Schema(description = "请求方法名", requiredMode = Schema.RequiredMode.REQUIRED, example = "GET")
     @NotNull(message = "请求方法名不能为空")
     private String requestMethod;
 
-    @Schema(description = "请求地址", required = true, example = "/xxx/yyy")
+    @Schema(description = "请求地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "/xxx/yyy")
     @NotNull(message = "请求地址不能为空")
     private String requestUrl;
 
     @Schema(description = "请求参数")
     private String requestParams;
 
-    @Schema(description = "用户 IP", required = true, example = "127.0.0.1")
+    @Schema(description = "用户 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "127.0.0.1")
     @NotNull(message = "用户 IP不能为空")
     private String userIp;
 
-    @Schema(description = "浏览器 UA", required = true, example = "Mozilla/5.0")
+    @Schema(description = "浏览器 UA", requiredMode = Schema.RequiredMode.REQUIRED, example = "Mozilla/5.0")
     @NotNull(message = "浏览器 UA不能为空")
     private String userAgent;
 
-    @Schema(description = "开始请求时间", required = true)
+    @Schema(description = "开始请求时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "开始请求时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime beginTime;
 
-    @Schema(description = "结束请求时间", required = true)
+    @Schema(description = "结束请求时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "结束请求时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime endTime;
 
-    @Schema(description = "执行时长", required = true, example = "100")
+    @Schema(description = "执行时长", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     @NotNull(message = "执行时长不能为空")
     private Integer duration;
 
-    @Schema(description = "结果码", required = true, example = "0")
+    @Schema(description = "结果码", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
     @NotNull(message = "结果码不能为空")
     private Integer resultCode;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogRespVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogRespVO.java
index 52bbb3184..4a6ec8ae5 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogRespVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogRespVO.java
@@ -13,10 +13,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class ApiAccessLogRespVO extends ApiAccessLogBaseVO {
 
-    @Schema(description = "日志主键", required = true, example = "1024")
+    @Schema(description = "日志主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogBaseVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogBaseVO.java
index 6045e903e..92fd9751d 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogBaseVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogBaseVO.java
@@ -15,80 +15,80 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @Data
 public class ApiErrorLogBaseVO {
 
-    @Schema(description = "链路追踪编号", required = true, example = "66600cb6-7852-11eb-9439-0242ac130002")
+    @Schema(description = "链路追踪编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "66600cb6-7852-11eb-9439-0242ac130002")
     @NotNull(message = "链路追踪编号不能为空")
     private String traceId;
 
-    @Schema(description = "用户编号", required = true, example = "666")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "666")
     @NotNull(message = "用户编号不能为空")
     private Integer userId;
 
-    @Schema(description = "用户类型", required = true, example = "1")
+    @Schema(description = "用户类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "用户类型不能为空")
     private Integer userType;
 
-    @Schema(description = "应用名", required = true, example = "dashboard")
+    @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "dashboard")
     @NotNull(message = "应用名不能为空")
     private String applicationName;
 
-    @Schema(description = "请求方法名", required = true, example = "GET")
+    @Schema(description = "请求方法名", requiredMode = Schema.RequiredMode.REQUIRED, example = "GET")
     @NotNull(message = "请求方法名不能为空")
     private String requestMethod;
 
-    @Schema(description = "请求地址", required = true, example = "/xx/yy")
+    @Schema(description = "请求地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "/xx/yy")
     @NotNull(message = "请求地址不能为空")
     private String requestUrl;
 
-    @Schema(description = "请求参数", required = true)
+    @Schema(description = "请求参数", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "请求参数不能为空")
     private String requestParams;
 
-    @Schema(description = "用户 IP", required = true, example = "127.0.0.1")
+    @Schema(description = "用户 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "127.0.0.1")
     @NotNull(message = "用户 IP不能为空")
     private String userIp;
 
-    @Schema(description = "浏览器 UA", required = true, example = "Mozilla/5.0")
+    @Schema(description = "浏览器 UA", requiredMode = Schema.RequiredMode.REQUIRED, example = "Mozilla/5.0")
     @NotNull(message = "浏览器 UA不能为空")
     private String userAgent;
 
-    @Schema(description = "异常发生时间", required = true)
+    @Schema(description = "异常发生时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "异常发生时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime exceptionTime;
 
-    @Schema(description = "异常名", required = true)
+    @Schema(description = "异常名", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "异常名不能为空")
     private String exceptionName;
 
-    @Schema(description = "异常导致的消息", required = true)
+    @Schema(description = "异常导致的消息", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "异常导致的消息不能为空")
     private String exceptionMessage;
 
-    @Schema(description = "异常导致的根消息", required = true)
+    @Schema(description = "异常导致的根消息", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "异常导致的根消息不能为空")
     private String exceptionRootCauseMessage;
 
-    @Schema(description = "异常的栈轨迹", required = true)
+    @Schema(description = "异常的栈轨迹", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "异常的栈轨迹不能为空")
     private String exceptionStackTrace;
 
-    @Schema(description = "异常发生的类全名", required = true)
+    @Schema(description = "异常发生的类全名", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "异常发生的类全名不能为空")
     private String exceptionClassName;
 
-    @Schema(description = "异常发生的类文件", required = true)
+    @Schema(description = "异常发生的类文件", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "异常发生的类文件不能为空")
     private String exceptionFileName;
 
-    @Schema(description = "异常发生的方法名", required = true)
+    @Schema(description = "异常发生的方法名", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "异常发生的方法名不能为空")
     private String exceptionMethodName;
 
-    @Schema(description = "异常发生的方法所在行", required = true)
+    @Schema(description = "异常发生的方法所在行", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "异常发生的方法所在行不能为空")
     private Integer exceptionLineNumber;
 
-    @Schema(description = "处理状态", required = true, example = "0")
+    @Schema(description = "处理状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
     @NotNull(message = "处理状态不能为空")
     private Integer processStatus;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogRespVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogRespVO.java
index c4ce8faf6..5b2c8f8c3 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogRespVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogRespVO.java
@@ -13,13 +13,13 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class ApiErrorLogRespVO extends ApiErrorLogBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Integer id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
-    @Schema(description = "处理时间", required = true)
+    @Schema(description = "处理时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime processTime;
 
     @Schema(description = "处理用户编号", example = "233")
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/redis/vo/RedisKeyDefineRespVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/redis/vo/RedisKeyDefineRespVO.java
index f30ebb623..07864e0bb 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/redis/vo/RedisKeyDefineRespVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/redis/vo/RedisKeyDefineRespVO.java
@@ -14,22 +14,22 @@ import java.time.Duration;
 @AllArgsConstructor
 public class RedisKeyDefineRespVO {
 
-    @Schema(description = "Key 模板", required = true, example = "login_user:%s")
+    @Schema(description = "Key 模板", requiredMode = Schema.RequiredMode.REQUIRED, example = "login_user:%s")
     private String keyTemplate;
 
-    @Schema(description = "Key 类型的枚举", required = true, example = "String")
+    @Schema(description = "Key 类型的枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "String")
     private RedisKeyDefine.KeyTypeEnum keyType;
 
-    @Schema(description = "Value 类型", required = true, example = "java.lang.String")
+    @Schema(description = "Value 类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "java.lang.String")
     private Class<?> valueType;
 
-    @Schema(description = "超时类型", required = true, example = "1")
+    @Schema(description = "超时类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private RedisKeyDefine.TimeoutTypeEnum timeoutType;
 
-    @Schema(description = "过期时间,单位:毫秒", required = true, example = "1024")
+    @Schema(description = "过期时间,单位:毫秒", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Duration timeout;
 
-    @Schema(description = "备注", required = true, example = "啦啦啦啦~")
+    @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "啦啦啦啦~")
     private String memo;
 
 }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/redis/vo/RedisKeyValueRespVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/redis/vo/RedisKeyValueRespVO.java
index 9dc893da0..393e2d199 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/redis/vo/RedisKeyValueRespVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/redis/vo/RedisKeyValueRespVO.java
@@ -9,10 +9,10 @@ import lombok.Data;
 @AllArgsConstructor
 public class RedisKeyValueRespVO {
 
-    @Schema(description = "c5f6990767804a928f4bb96ca249febf", required = true, example = "String")
+    @Schema(description = "c5f6990767804a928f4bb96ca249febf", requiredMode = Schema.RequiredMode.REQUIRED, example = "String")
     private String key;
 
-    @Schema(required = true, example = "String")
+    @Schema(requiredMode = Schema.RequiredMode.REQUIRED, example = "String")
     private String value;
 
 }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/redis/vo/RedisMonitorRespVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/redis/vo/RedisMonitorRespVO.java
index 15d054282..cc0aa277d 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/redis/vo/RedisMonitorRespVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/redis/vo/RedisMonitorRespVO.java
@@ -14,13 +14,13 @@ import java.util.Properties;
 @AllArgsConstructor
 public class RedisMonitorRespVO {
 
-    @Schema(description = "Redis info 指令结果,具体字段,查看 Redis 文档", required = true)
+    @Schema(description = "Redis info 指令结果,具体字段,查看 Redis 文档", requiredMode = Schema.RequiredMode.REQUIRED)
     private Properties info;
 
-    @Schema(description = "Redis key 数量", required = true, example = "1024")
+    @Schema(description = "Redis key 数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long dbSize;
 
-    @Schema(description = "CommandStat 数组", required = true)
+    @Schema(description = "CommandStat 数组", requiredMode = Schema.RequiredMode.REQUIRED)
     private List<CommandStat> commandStats;
 
     @Schema(description = "Redis 命令统计结果")
@@ -29,13 +29,13 @@ public class RedisMonitorRespVO {
     @AllArgsConstructor
     public static class CommandStat {
 
-        @Schema(description = "Redis 命令", required = true, example = "get")
+        @Schema(description = "Redis 命令", requiredMode = Schema.RequiredMode.REQUIRED, example = "get")
         private String command;
 
-        @Schema(description = "调用次数", required = true, example = "1024")
+        @Schema(description = "调用次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
         private Long calls;
 
-        @Schema(description = "消耗 CPU 秒数", required = true, example = "666")
+        @Schema(description = "消耗 CPU 秒数", requiredMode = Schema.RequiredMode.REQUIRED, example = "666")
         private Long usec;
 
     }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoBaseVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoBaseVO.java
index a0216683d..660c31c78 100755
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoBaseVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoBaseVO.java
@@ -10,19 +10,19 @@ import javax.validation.constraints.*;
 @Data
 public class TestDemoBaseVO {
 
-    @Schema(description = "名字", required = true)
+    @Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "名字不能为空")
     private String name;
 
-    @Schema(description = "状态", required = true)
+    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "状态不能为空")
     private Integer status;
 
-    @Schema(description = "类型", required = true)
+    @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "类型不能为空")
     private Integer type;
 
-    @Schema(description = "分类", required = true)
+    @Schema(description = "分类", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "分类不能为空")
     private Integer category;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoRespVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoRespVO.java
index 312a5eb98..eaef24df3 100755
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoRespVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoRespVO.java
@@ -10,10 +10,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class TestDemoRespVO extends TestDemoBaseVO {
 
-    @Schema(description = "编号", required = true)
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED)
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoUpdateReqVO.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoUpdateReqVO.java
index 6df36addb..25af58ed7 100755
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoUpdateReqVO.java
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoUpdateReqVO.java
@@ -9,7 +9,7 @@ import javax.validation.constraints.*;
 @ToString(callSuper = true)
 public class TestDemoUpdateReqVO extends TestDemoBaseVO {
 
-    @Schema(description = "编号", required = true)
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "编号不能为空")
     private Long id;
 
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/_column.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/_column.vm
index 89a8e348f..98b09f272 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/_column.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/_column.vm
@@ -1,5 +1,5 @@
 ## 提供给 baseVO、createVO、updateVO 生成字段
-    @Schema(description = "${column.columnComment}"#if (!${column.nullable}), required = true#end#if ("$!column.example" != ""), example = "${column.example}"#end)
+    @Schema(description = "${column.columnComment}"#if (!${column.nullable}), requiredMode = Schema.RequiredMode.REQUIRED#end#if ("$!column.example" != ""), example = "${column.example}"#end)
 #if (!${column.nullable})## 判断 @NotEmpty 和 @NotNull 注解
 #if (${field.fieldType} == 'String')
     @NotEmpty(message = "${column.columnComment}不能为空")
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/respVO.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/respVO.vm
index 2288ceee8..517d8bcd5 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/respVO.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/respVO.vm
@@ -17,7 +17,7 @@ public class ${sceneEnum.prefixClass}${table.className}RespVO extends ${sceneEnu
 
 #foreach ($column in $columns)
 #if (${column.listOperationResult} && (!${column.createOperation} || !${column.updateOperation}))##不是通用字段
-    @Schema(description = "${column.columnComment}"#if (!${column.nullable}), required = true#end#if ("$!column.example" != ""), example = "${column.example}"#end)
+    @Schema(description = "${column.columnComment}"#if (!${column.nullable}), requiredMode = Schema.RequiredMode.REQUIRED#end#if ("$!column.example" != ""), example = "${column.example}"#end)
     private ${column.javaType} ${column.javaField};
 
 #end
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandBaseVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandBaseVO.java
index e8561fe07..5f1b662fd 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandBaseVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandBaseVO.java
@@ -12,22 +12,22 @@ import javax.validation.constraints.NotNull;
 @Data
 public class ProductBrandBaseVO {
 
-    @Schema(description = "品牌名称", required = true, example = "芋道")
+    @Schema(description = "品牌名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotNull(message = "品牌名称不能为空")
     private String name;
 
-    @Schema(description = "品牌图片", required = true)
+    @Schema(description = "品牌图片", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "品牌图片不能为空")
     private String picUrl;
 
-    @Schema(description = "品牌排序", required = true, example = "1")
+    @Schema(description = "品牌排序", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "品牌排序不能为空")
     private Integer sort;
 
     @Schema(description = "品牌描述", example = "描述")
     private String description;
 
-    @Schema(description = "状态", required = true, example = "0")
+    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
     @NotNull(message = "状态不能为空")
     private Integer status;
 
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandRespVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandRespVO.java
index b68fbc5be..486fe764b 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandRespVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandRespVO.java
@@ -13,10 +13,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class ProductBrandRespVO extends ProductBrandBaseVO {
 
-    @Schema(description = "品牌编号", required = true, example = "1")
+    @Schema(description = "品牌编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandUpdateReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandUpdateReqVO.java
index c01c3c4b7..a39a6830d 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandUpdateReqVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandUpdateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class ProductBrandUpdateReqVO extends ProductBrandBaseVO {
 
-    @Schema(description = "品牌编号", required = true, example = "1")
+    @Schema(description = "品牌编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "品牌编号不能为空")
     private Long id;
 
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/category/vo/ProductCategoryBaseVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/category/vo/ProductCategoryBaseVO.java
index 5182bdadd..616d525c2 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/category/vo/ProductCategoryBaseVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/category/vo/ProductCategoryBaseVO.java
@@ -13,25 +13,25 @@ import javax.validation.constraints.NotNull;
 @Data
 public class ProductCategoryBaseVO {
 
-    @Schema(description = "父分类编号", required = true, example = "1")
+    @Schema(description = "父分类编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "父分类编号不能为空")
     private Long parentId;
 
-    @Schema(description = "分类名称", required = true, example = "办公文具")
+    @Schema(description = "分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "办公文具")
     @NotBlank(message = "分类名称不能为空")
     private String name;
 
-    @Schema(description = "分类图片", required = true)
+    @Schema(description = "分类图片", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotBlank(message = "分类图片不能为空")
     private String picUrl;
 
-    @Schema(description = "分类排序", required = true, example = "1")
+    @Schema(description = "分类排序", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer sort;
 
-    @Schema(description = "分类描述", required = true, example = "描述")
+    @Schema(description = "分类描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "描述")
     private String description;
 
-    @Schema(description = "开启状态", required = true, example = "0")
+    @Schema(description = "开启状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
     @NotNull(message = "开启状态不能为空")
     private Integer status;
 
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/category/vo/ProductCategoryRespVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/category/vo/ProductCategoryRespVO.java
index 484e0e51e..8f46ff60f 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/category/vo/ProductCategoryRespVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/category/vo/ProductCategoryRespVO.java
@@ -13,10 +13,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class ProductCategoryRespVO extends ProductCategoryBaseVO {
 
-    @Schema(description = "分类编号", required = true, example = "2")
+    @Schema(description = "分类编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/category/vo/ProductCategoryUpdateReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/category/vo/ProductCategoryUpdateReqVO.java
index 15f663761..21b37cf60 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/category/vo/ProductCategoryUpdateReqVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/category/vo/ProductCategoryUpdateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class ProductCategoryUpdateReqVO extends ProductCategoryBaseVO {
 
-    @Schema(description = "分类编号", required = true, example = "2")
+    @Schema(description = "分类编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     @NotNull(message = "分类编号不能为空")
     private Long id;
 
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyAndValueRespVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyAndValueRespVO.java
index 4be1bad18..6ef051451 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyAndValueRespVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyAndValueRespVO.java
@@ -9,10 +9,10 @@ import java.util.List;
 @Data
 public class ProductPropertyAndValueRespVO {
 
-    @Schema(description = "属性项的编号", required = true, example = "1024")
+    @Schema(description = "属性项的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "属性项的名称", required = true, example = "颜色")
+    @Schema(description = "属性项的名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "颜色")
     private String name;
 
     /**
@@ -24,10 +24,10 @@ public class ProductPropertyAndValueRespVO {
     @Data
     public static class Value {
 
-        @Schema(description = "属性值的编号", required = true, example = "2048")
+        @Schema(description = "属性值的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
         private Long id;
 
-        @Schema(description = "属性值的名称", required = true, example = "红色")
+        @Schema(description = "属性值的名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "红色")
         private String name;
 
     }
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyBaseVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyBaseVO.java
index 1f05af4b2..0006bd7b3 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyBaseVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyBaseVO.java
@@ -12,7 +12,7 @@ import javax.validation.constraints.NotBlank;
 @Data
 public class ProductPropertyBaseVO {
 
-    @Schema(description = "名称", required = true, example = "颜色")
+    @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "颜色")
     @NotBlank(message = "名称不能为空")
     private String name;
 
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyPageReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyPageReqVO.java
index d729880f0..97b959d6a 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyPageReqVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyPageReqVO.java
@@ -20,7 +20,7 @@ public class ProductPropertyPageReqVO extends PageParam {
     @Schema(description = "名称", example = "颜色")
     private String name;
 
-    @Schema(description = "状态", required = true, example = "1")
+    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyRespVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyRespVO.java
index b33e615fc..5f541230a 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyRespVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyRespVO.java
@@ -13,10 +13,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class ProductPropertyRespVO extends ProductPropertyBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyUpdateReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyUpdateReqVO.java
index 33ba8f2c1..9319f7cf2 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyUpdateReqVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyUpdateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class ProductPropertyUpdateReqVO extends ProductPropertyBaseVO {
 
-    @Schema(description = "主键", required = true, example = "1")
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "主键不能为空")
     private Long id;
 
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueBaseVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueBaseVO.java
index da3bf5068..d46b66b3d 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueBaseVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueBaseVO.java
@@ -13,11 +13,11 @@ import javax.validation.constraints.NotNull;
 @Data
 public class ProductPropertyValueBaseVO {
 
-    @Schema(description = "属性项的编号", required = true, example = "1024")
+    @Schema(description = "属性项的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "属性项的编号不能为空")
     private Long propertyId;
 
-    @Schema(description = "名称", required = true, example = "红色")
+    @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "红色")
     @NotEmpty(message = "名称名字不能为空")
     private String name;
 
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueDetailRespVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueDetailRespVO.java
index 56801cc7d..4d22f0dbf 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueDetailRespVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueDetailRespVO.java
@@ -7,16 +7,16 @@ import lombok.Data;
 @Data
 public class ProductPropertyValueDetailRespVO {
 
-    @Schema(description = "属性的编号", required = true, example = "1")
+    @Schema(description = "属性的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long propertyId;
 
-    @Schema(description = "属性的名称", required = true, example = "颜色")
+    @Schema(description = "属性的名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "颜色")
     private String propertyName;
 
-    @Schema(description = "属性值的编号", required = true, example = "1024")
+    @Schema(description = "属性值的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long valueId;
 
-    @Schema(description = "属性值的名称", required = true, example = "红色")
+    @Schema(description = "属性值的名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "红色")
     private String valueName;
 
 }
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValuePageReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValuePageReqVO.java
index a6088deb9..ff0c32614 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValuePageReqVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValuePageReqVO.java
@@ -18,7 +18,7 @@ public class ProductPropertyValuePageReqVO extends PageParam {
     @Schema(description = "名称", example = "红色")
     private String name;
 
-    @Schema(description = "状态", required = true, example = "1")
+    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
 }
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueRespVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueRespVO.java
index dac075b86..6ef17c32e 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueRespVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueRespVO.java
@@ -13,7 +13,7 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class ProductPropertyValueRespVO extends ProductPropertyValueBaseVO {
 
-    @Schema(description = "编号", required = true, example = "10")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     private Long id;
 
     @Schema(description = "创建时间")
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueUpdateReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueUpdateReqVO.java
index 474a980b8..d0e0d9382 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueUpdateReqVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueUpdateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class ProductPropertyValueUpdateReqVO extends ProductPropertyValueBaseVO {
 
-    @Schema(description = "主键", required = true, example = "1024")
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "主键不能为空")
     private Long id;
 
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuBaseVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuBaseVO.java
index f28220046..507005b36 100755
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuBaseVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuBaseVO.java
@@ -17,11 +17,11 @@ import javax.validation.constraints.NotNull;
 @Data
 public class ProductSkuBaseVO {
 
-    @Schema(description = "商品 SKU 名字", required = true, example = "芋道")
+    @Schema(description = "商品 SKU 名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotEmpty(message = "商品 SKU 名字不能为空")
     private String name;
 
-    @Schema(description = "销售价格,单位:分", required = true, example = "1024")
+    @Schema(description = "销售价格,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "销售价格,单位:分不能为空")
     private Integer price;
 
@@ -34,16 +34,16 @@ public class ProductSkuBaseVO {
     @Schema(description = "条形码", example = "haha")
     private String barCode;
 
-    @Schema(description = "图片地址", required = true, example = "https://www.iocoder.cn/xx.png")
+    @Schema(description = "图片地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/xx.png")
     @NotNull(message = "图片地址不能为空")
     private String picUrl;
 
-    @Schema(description = "SKU 状态", required = true, example = "1")
+    @Schema(description = "SKU 状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "SKU 状态不能为空")
     @InEnum(CommonStatusEnum.class)
     private Integer status;
 
-    @Schema(description = "库存", required = true, example = "1")
+    @Schema(description = "库存", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "库存不能为空")
     private Integer stock;
 
@@ -62,11 +62,11 @@ public class ProductSkuBaseVO {
     @NoArgsConstructor
     public static class Property {
 
-        @Schema(description = "属性编号", required = true, example = "1")
+        @Schema(description = "属性编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         @NotNull(message = "属性编号不能为空")
         private Long propertyId;
 
-        @Schema(description = "属性值编号", required = true, example = "1024")
+        @Schema(description = "属性值编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
         @NotNull(message = "属性值编号不能为空")
         private Long valueId;
 
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuOptionRespVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuOptionRespVO.java
index 861454795..f06ecc358 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuOptionRespVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuOptionRespVO.java
@@ -7,24 +7,24 @@ import lombok.Data;
 @Data
 public class ProductSkuOptionRespVO {
 
-    @Schema(description = "主键", required = true, example = "1024")
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
     @Schema(description = "商品 SKU 名字", example = "红色")
     private String name;
 
-    @Schema(description = "销售价格", required = true, example = "100")
+    @Schema(description = "销售价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private String price;
 
-    @Schema(description = "库存", required = true, example = "100")
+    @Schema(description = "库存", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer stock;
 
     // ========== 商品 SPU 信息 ==========
 
-    @Schema(description = "商品 SPU 编号", required = true, example = "1")
+    @Schema(description = "商品 SPU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long spuId;
 
-    @Schema(description = "商品 SPU 名字", required = true, example = "iPhone 11")
+    @Schema(description = "商品 SPU 名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "iPhone 11")
     private String spuName;
 
 }
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuRespVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuRespVO.java
index 95e394ada..82210b24a 100755
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuRespVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuRespVO.java
@@ -14,7 +14,7 @@ import java.util.List;
 @ToString(callSuper = true)
 public class ProductSkuRespVO extends ProductSkuBaseVO {
 
-    @Schema(description = "主键", required = true, example = "1024")
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
     @Schema(description = "创建时间")
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuBaseVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuBaseVO.java
index 3f0c94a74..2a14aa0dd 100755
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuBaseVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuBaseVO.java
@@ -17,7 +17,7 @@ import java.util.List;
 @Data
 public class ProductSpuBaseVO {
 
-    @Schema(description = "商品名称", required = true, example = "芋道")
+    @Schema(description = "商品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotEmpty(message = "商品名称不能为空")
     private String name;
 
@@ -27,40 +27,40 @@ public class ProductSpuBaseVO {
     @Schema(description = "促销语", example = "好吃!")
     private String sellPoint;
 
-    @Schema(description = "商品详情", required = true, example = "我是商品描述")
+    @Schema(description = "商品详情", requiredMode = Schema.RequiredMode.REQUIRED, example = "我是商品描述")
     @NotNull(message = "商品详情不能为空")
     private String description;
 
-    @Schema(description = "商品分类编号", required = true, example = "1")
+    @Schema(description = "商品分类编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "商品分类编号不能为空")
     private Long categoryId;
 
     @Schema(description = "商品品牌编号", example = "1")
     private Long brandId;
 
-    @Schema(description = "商品图片的数组", required = true)
+    @Schema(description = "商品图片的数组", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "商品图片的数组不能为空")
     private List<String> picUrls;
 
-    @Schema(description = "商品视频", required = true)
+    @Schema(description = "商品视频", requiredMode = Schema.RequiredMode.REQUIRED)
     private String videoUrl;
 
-    @Schema(description = "排序字段", required = true, example = "1")
+    @Schema(description = "排序字段", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer sort;
 
-    @Schema(description = "商品状态", required = true, example = "1")
+    @Schema(description = "商品状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "商品状态不能为空")
     @InEnum(ProductSpuStatusEnum.class)
     private Integer status;
 
     // ========== SKU 相关字段 =========
 
-    @Schema(description = "规格类型", required = true, example = "1")
+    @Schema(description = "规格类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "规格类型不能为空")
     @InEnum(ProductSpuSpecTypeEnum.class)
     private Integer specType;
 
-    @Schema(description = "是否展示库存", required = true, example = "true")
+    @Schema(description = "是否展示库存", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     @NotNull(message = "是否展示库存不能为空")
     private Boolean showStock;
 
@@ -69,7 +69,7 @@ public class ProductSpuBaseVO {
 
     // ========== 统计相关字段 =========
 
-    @Schema(description = "虚拟销量", required = true, example = "1024")
+    @Schema(description = "虚拟销量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "虚拟销量不能为空")
     private Integer virtualSalesCount;
 
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuRespVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuRespVO.java
index 5f088b74b..c32c45e68 100755
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuRespVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuRespVO.java
@@ -13,7 +13,7 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class ProductSpuRespVO extends ProductSpuBaseVO {
 
-    @Schema(description = "主键", required = true, example = "1")
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
     @Schema(description = "创建时间")
@@ -21,13 +21,13 @@ public class ProductSpuRespVO extends ProductSpuBaseVO {
 
     // ========== SKU 相关字段 =========
 
-    @Schema(description = "库存", required = true, example = "true")
+    @Schema(description = "库存", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     private Integer totalStock;
 
-    @Schema(description = " 最小价格,单位使用:分", required = true, example = "1024")
+    @Schema(description = " 最小价格,单位使用:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Integer minPrice;
 
-    @Schema(description = "最大价格,单位使用:分", required = true, example = "1024")
+    @Schema(description = "最大价格,单位使用:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Integer maxPrice;
 
     @Schema(description = "商品销量", example = "1024")
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuSimpleRespVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuSimpleRespVO.java
index 9cc7bf169..4af398893 100755
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuSimpleRespVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuSimpleRespVO.java
@@ -11,16 +11,16 @@ import lombok.ToString;
 @ToString(callSuper = true)
 public class ProductSpuSimpleRespVO extends ProductSpuBaseVO {
 
-    @Schema(description = "主键", required = true, example = "1")
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
-    @Schema(description = "商品名称", required = true, example = "芋道")
+    @Schema(description = "商品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String name;
 
-    @Schema(description = " 最小价格,单位使用:分", required = true, example = "1024")
+    @Schema(description = " 最小价格,单位使用:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Integer minPrice;
 
-    @Schema(description = "最大价格,单位使用:分", required = true, example = "1024")
+    @Schema(description = "最大价格,单位使用:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Integer maxPrice;
 
 }
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuUpdateReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuUpdateReqVO.java
index 6ea84fb9e..c63658bee 100755
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuUpdateReqVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuUpdateReqVO.java
@@ -16,7 +16,7 @@ import java.util.List;
 @ToString(callSuper = true)
 public class ProductSpuUpdateReqVO extends ProductSpuBaseVO {
 
-    @Schema(description = "商品编号", required = true, example = "1")
+    @Schema(description = "商品编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "商品编号不能为空")
     private Long id;
 
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/category/vo/AppCategoryRespVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/category/vo/AppCategoryRespVO.java
index 1dca05a3a..02e5f171a 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/category/vo/AppCategoryRespVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/category/vo/AppCategoryRespVO.java
@@ -10,18 +10,18 @@ import javax.validation.constraints.NotNull;
 @Schema(description = "用户 APP - 商品分类 Response VO")
 public class AppCategoryRespVO {
 
-    @Schema(description = "分类编号", required = true, example = "2")
+    @Schema(description = "分类编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     private Long id;
 
-    @Schema(description = "父分类编号", required = true, example = "1")
+    @Schema(description = "父分类编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "父分类编号不能为空")
     private Long parentId;
 
-    @Schema(description = "分类名称", required = true, example = "办公文具")
+    @Schema(description = "分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "办公文具")
     @NotBlank(message = "分类名称不能为空")
     private String name;
 
-    @Schema(description = "分类图片", required = true)
+    @Schema(description = "分类图片", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotBlank(message = "分类图片不能为空")
     private String picUrl;
 
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/property/vo/value/AppProductPropertyValueDetailRespVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/property/vo/value/AppProductPropertyValueDetailRespVO.java
index ac687e547..5cac09143 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/property/vo/value/AppProductPropertyValueDetailRespVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/property/vo/value/AppProductPropertyValueDetailRespVO.java
@@ -7,16 +7,16 @@ import lombok.Data;
 @Data
 public class AppProductPropertyValueDetailRespVO {
 
-    @Schema(description = "属性的编号", required = true, example = "1")
+    @Schema(description = "属性的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long propertyId;
 
-    @Schema(description = "属性的名称", required = true, example = "颜色")
+    @Schema(description = "属性的名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "颜色")
     private String propertyName;
 
-    @Schema(description = "属性值的编号", required = true, example = "1024")
+    @Schema(description = "属性值的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long valueId;
 
-    @Schema(description = "属性值的名称", required = true, example = "红色")
+    @Schema(description = "属性值的名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "红色")
     private String valueName;
 
 }
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/spu/vo/AppProductSpuDetailRespVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/spu/vo/AppProductSpuDetailRespVO.java
index cf5471cba..a63d6ba62 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/spu/vo/AppProductSpuDetailRespVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/spu/vo/AppProductSpuDetailRespVO.java
@@ -10,41 +10,41 @@ import java.util.List;
 @Data
 public class AppProductSpuDetailRespVO {
 
-    @Schema(description = "商品 SPU 编号", required = true, example = "1")
+    @Schema(description = "商品 SPU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
     // ========== 基本信息 =========
 
-    @Schema(description = "商品名称", required = true, example = "芋道")
+    @Schema(description = "商品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String name;
 
     @Schema(description = "促销语", example = "好吃!")
     private String sellPoint;
 
-    @Schema(description = "商品详情", required = true, example = "我是商品描述")
+    @Schema(description = "商品详情", requiredMode = Schema.RequiredMode.REQUIRED, example = "我是商品描述")
     private String description;
 
-    @Schema(description = "商品分类编号", required = true, example = "1")
+    @Schema(description = "商品分类编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long categoryId;
 
-    @Schema(description = "商品图片的数组", required = true)
+    @Schema(description = "商品图片的数组", requiredMode = Schema.RequiredMode.REQUIRED)
     private List<String> picUrls;
 
-    @Schema(description = "商品视频", required = true)
+    @Schema(description = "商品视频", requiredMode = Schema.RequiredMode.REQUIRED)
     private String videoUrl;
 
     // ========== SKU 相关字段 =========
 
-    @Schema(description = "规格类型", required = true, example = "1")
+    @Schema(description = "规格类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer specType;
 
-    @Schema(description = "是否展示库存", required = true, example = "true")
+    @Schema(description = "是否展示库存", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     private Boolean showStock;
 
-    @Schema(description = " 最小价格,单位使用:分", required = true, example = "1024")
+    @Schema(description = " 最小价格,单位使用:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Integer minPrice;
 
-    @Schema(description = "最大价格,单位使用:分", required = true, example = "1024")
+    @Schema(description = "最大价格,单位使用:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Integer maxPrice;
 
     /**
@@ -54,7 +54,7 @@ public class AppProductSpuDetailRespVO {
 
     // ========== 统计相关字段 =========
 
-    @Schema(description = "商品销量", required = true, example = "1024")
+    @Schema(description = "商品销量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Integer salesCount;
 
     @Schema(description = "用户 App - 商品 SPU 明细的 SKU 信息")
@@ -69,16 +69,16 @@ public class AppProductSpuDetailRespVO {
          */
         private List<AppProductPropertyValueDetailRespVO> properties;
 
-        @Schema(description = "销售价格,单位:分", required = true, example = "1024")
+        @Schema(description = "销售价格,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
         private Integer price;
 
         @Schema(description = "市场价", example = "1024")
         private Integer marketPrice;
 
-        @Schema(description = "图片地址", required = true, example = "https://www.iocoder.cn/xx.png")
+        @Schema(description = "图片地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/xx.png")
         private String picUrl;
 
-        @Schema(description = "库存", required = true, example = "1")
+        @Schema(description = "库存", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Integer stock;
 
         @Schema(description = "商品重量", example = "1") // 单位:kg 千克
diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/spu/vo/AppProductSpuPageItemRespVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/spu/vo/AppProductSpuPageItemRespVO.java
index d826900a6..6467c0b17 100644
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/spu/vo/AppProductSpuPageItemRespVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/spu/vo/AppProductSpuPageItemRespVO.java
@@ -11,24 +11,24 @@ import java.util.List;
 @Data
 public class AppProductSpuPageItemRespVO {
 
-    @Schema(description = "商品 SPU 编号", required = true, example = "1")
+    @Schema(description = "商品 SPU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
-    @Schema(description = "商品名称", required = true, example = "芋道")
+    @Schema(description = "商品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotEmpty(message = "商品名称不能为空")
     private String name;
 
-    @Schema(description = "分类编号", required = true)
+    @Schema(description = "分类编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "分类编号不能为空")
     private Long categoryId;
 
-    @Schema(description = "商品图片的数组", required = true)
+    @Schema(description = "商品图片的数组", requiredMode = Schema.RequiredMode.REQUIRED)
     private List<String> picUrls;
 
-    @Schema(description = " 最小价格,单位使用:分", required = true, example = "1024")
+    @Schema(description = " 最小价格,单位使用:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Integer minPrice;
 
-    @Schema(description = "最大价格,单位使用:分", required = true, example = "1024")
+    @Schema(description = "最大价格,单位使用:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Integer maxPrice;
 
     // ========== 统计相关字段 =========
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/banner/vo/BannerBaseVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/banner/vo/BannerBaseVO.java
index 6c72155f4..ff90cb7a0 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/banner/vo/BannerBaseVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/banner/vo/BannerBaseVO.java
@@ -15,23 +15,23 @@ import javax.validation.constraints.NotNull;
 @Data
 public class BannerBaseVO {
 
-    @Schema(description = "标题", required = true)
+    @Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "标题不能为空")
     private String title;
 
-    @Schema(description = "跳转链接", required = true)
+    @Schema(description = "跳转链接", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "跳转链接不能为空")
     private String url;
 
-    @Schema(description = "图片地址", required = true)
+    @Schema(description = "图片地址", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "图片地址不能为空")
     private String picUrl;
 
-    @Schema(description = "排序", required = true)
+    @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "排序不能为空")
     private Integer sort;
 
-    @Schema(description = "状态", required = true)
+    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "状态不能为空")
     @InEnum(CommonStatusEnum.class)
     private Integer status;
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/banner/vo/BannerRespVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/banner/vo/BannerRespVO.java
index fb0010669..f07644e8a 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/banner/vo/BannerRespVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/banner/vo/BannerRespVO.java
@@ -15,11 +15,11 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class BannerRespVO  extends BannerBaseVO {
 
-    @Schema(description = "banner编号", required = true)
+    @Schema(description = "banner编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "banner编号不能为空")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/banner/vo/BannerUpdateReqVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/banner/vo/BannerUpdateReqVO.java
index 033b6054d..266f28c1b 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/banner/vo/BannerUpdateReqVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/banner/vo/BannerUpdateReqVO.java
@@ -16,7 +16,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class BannerUpdateReqVO extends BannerBaseVO {
 
-    @Schema(description = "banner 编号", required = true)
+    @Schema(description = "banner 编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "banner 编号不能为空")
     private Long id;
 
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/coupon/CouponBaseVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/coupon/CouponBaseVO.java
index 2609c0a2c..742c10cc7 100755
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/coupon/CouponBaseVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/coupon/CouponBaseVO.java
@@ -24,31 +24,31 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.TIME_ZONE_DE
 public class CouponBaseVO {
 
     // ========== 基本信息 BEGIN ==========
-    @Schema(description = "优惠劵模板编号", required = true, example = "1024")
+    @Schema(description = "优惠劵模板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "优惠劵模板编号不能为空")
     private Integer templateId;
 
-    @Schema(description = "优惠劵名", required = true, example = "春节送送送")
+    @Schema(description = "优惠劵名", requiredMode = Schema.RequiredMode.REQUIRED, example = "春节送送送")
     @NotNull(message = "优惠劵名不能为空")
     private String name;
 
-    @Schema(description = "优惠码状态", required = true, example = "1")
+    @Schema(description = "优惠码状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
     // ========== 基本信息 END ==========
 
     // ========== 领取情况 BEGIN ==========
-    @Schema(description = "用户编号", required = true, example = "1")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "用户编号不能为空")
     private Long userId;
 
-    @Schema(description = "领取方式", required = true, example = "1")
+    @Schema(description = "领取方式", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "领取方式不能为空")
     private Integer takeType;
     // ========== 领取情况 END ==========
 
     // ========== 使用规则 BEGIN ==========
-    @Schema(description = "是否设置满多少金额可用", required = true, example = "100") // 单位:分;0 - 不限制
+    @Schema(description = "是否设置满多少金额可用", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") // 单位:分;0 - 不限制
     @NotNull(message = "是否设置满多少金额可用不能为空")
     private Integer usePrice;
 
@@ -62,7 +62,7 @@ public class CouponBaseVO {
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
     private LocalDateTime validEndTime;
 
-    @Schema(description = "商品范围", required = true, example = "1")
+    @Schema(description = "商品范围", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "商品范围不能为空")
     @InEnum(PromotionProductScopeEnum.class)
     private Integer productScope;
@@ -72,7 +72,7 @@ public class CouponBaseVO {
     // ========== 使用规则 END ==========
 
     // ========== 使用效果 BEGIN ==========
-    @Schema(description = "优惠类型", required = true, example = "1")
+    @Schema(description = "优惠类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "优惠类型不能为空")
     @InEnum(PromotionDiscountTypeEnum.class)
     private Integer discountType;
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/coupon/CouponRespVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/coupon/CouponRespVO.java
index 68f0bc44e..7c0fa6c86 100755
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/coupon/CouponRespVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/coupon/CouponRespVO.java
@@ -13,10 +13,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class CouponRespVO extends CouponBaseVO {
 
-    @Schema(description = "优惠劵编号", required = true, example = "1024")
+    @Schema(description = "优惠劵编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/template/CouponTemplateBaseVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/template/CouponTemplateBaseVO.java
index d63d447cc..7c1855d38 100755
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/template/CouponTemplateBaseVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/template/CouponTemplateBaseVO.java
@@ -29,27 +29,27 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.TIME_ZONE_DE
 @Data
 public class CouponTemplateBaseVO {
 
-    @Schema(description = "优惠劵名", required = true, example = "春节送送送")
+    @Schema(description = "优惠劵名", requiredMode = Schema.RequiredMode.REQUIRED, example = "春节送送送")
     @NotNull(message = "优惠劵名不能为空")
     private String name;
 
-    @Schema(description = "发行总量", required = true, example = "1024") // -1 - 则表示不限制发放数量
+    @Schema(description = "发行总量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") // -1 - 则表示不限制发放数量
     @NotNull(message = "发行总量不能为空")
     private Integer totalCount;
 
-    @Schema(description = "每人限领个数", required = true, example = "66") // -1 - 则表示不限制
+    @Schema(description = "每人限领个数", requiredMode = Schema.RequiredMode.REQUIRED, example = "66") // -1 - 则表示不限制
     @NotNull(message = "每人限领个数不能为空")
     private Integer takeLimitCount;
 
-    @Schema(description = "领取方式", required = true, example = "1")
+    @Schema(description = "领取方式", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "领取方式不能为空")
     private Integer takeType;
 
-    @Schema(description = "是否设置满多少金额可用", required = true, example = "100") // 单位:分;0 - 不限制
+    @Schema(description = "是否设置满多少金额可用", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") // 单位:分;0 - 不限制
     @NotNull(message = "是否设置满多少金额可用不能为空")
     private Integer usePrice;
 
-    @Schema(description = "商品范围", required = true, example = "1")
+    @Schema(description = "商品范围", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "商品范围不能为空")
     @InEnum(PromotionProductScopeEnum.class)
     private Integer productScope;
@@ -57,7 +57,7 @@ public class CouponTemplateBaseVO {
     @Schema(description = "商品 SPU 编号的数组", example = "1,3")
     private List<Long> productSpuIds;
 
-    @Schema(description = "生效日期类型", required = true, example = "1")
+    @Schema(description = "生效日期类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "生效日期类型不能为空")
     @InEnum(CouponTemplateValidityTypeEnum.class)
     private Integer validityType;
@@ -80,7 +80,7 @@ public class CouponTemplateBaseVO {
     @Min(value = 1L, message = "开始天数必须大于 1")
     private Integer fixedEndTerm;
 
-    @Schema(description = "优惠类型", required = true, example = "1")
+    @Schema(description = "优惠类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "优惠类型不能为空")
     @InEnum(PromotionDiscountTypeEnum.class)
     private Integer discountType;
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/template/CouponTemplateRespVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/template/CouponTemplateRespVO.java
index b90407b43..d2c9d710a 100755
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/template/CouponTemplateRespVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/template/CouponTemplateRespVO.java
@@ -15,20 +15,20 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class CouponTemplateRespVO extends CouponTemplateBaseVO {
 
-    @Schema(description = "模板编号", required = true, example = "1024")
+    @Schema(description = "模板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "状态", required = true, example = "1")
+    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @InEnum(CommonStatusEnum.class)
     private Integer status;
 
-    @Schema(description = "领取优惠券的数量", required = true, example = "1024")
+    @Schema(description = "领取优惠券的数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Integer takeCount;
 
-    @Schema(description = "使用优惠券的次数", required = true, example = "2048")
+    @Schema(description = "使用优惠券的次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     private Integer useCount;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/template/CouponTemplateUpdateReqVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/template/CouponTemplateUpdateReqVO.java
index 922e4f057..e57bf6209 100755
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/template/CouponTemplateUpdateReqVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/template/CouponTemplateUpdateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class CouponTemplateUpdateReqVO extends CouponTemplateBaseVO {
 
-    @Schema(description = "模板编号", required = true, example = "1024")
+    @Schema(description = "模板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "模板编号不能为空")
     private Long id;
 
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/template/CouponTemplateUpdateStatusReqVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/template/CouponTemplateUpdateStatusReqVO.java
index 630f91fea..a2234e3c5 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/template/CouponTemplateUpdateStatusReqVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/coupon/vo/template/CouponTemplateUpdateStatusReqVO.java
@@ -11,11 +11,11 @@ import javax.validation.constraints.NotNull;
 @Data
 public class CouponTemplateUpdateStatusReqVO {
 
-    @Schema(description = "优惠劵模板编号", required = true, example = "1024")
+    @Schema(description = "优惠劵模板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "优惠劵模板编号不能为空")
     private Long id;
 
-    @Schema(description = "状态", required = true, example = "1")
+    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "状态不能为空")
     @InEnum(value = CommonStatusEnum.class, message = "修改状态必须是 {value}")
     private Integer status;
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/discount/vo/DiscountActivityBaseVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/discount/vo/DiscountActivityBaseVO.java
index 1f0d6e066..a72990531 100755
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/discount/vo/DiscountActivityBaseVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/discount/vo/DiscountActivityBaseVO.java
@@ -22,16 +22,16 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @Data
 public class DiscountActivityBaseVO {
 
-    @Schema(description = "活动标题", required = true, example = "一个标题")
+    @Schema(description = "活动标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "一个标题")
     @NotNull(message = "活动标题不能为空")
     private String name;
 
-    @Schema(description = "开始时间", required = true)
+    @Schema(description = "开始时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "开始时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime startTime;
 
-    @Schema(description = "结束时间", required = true)
+    @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "结束时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime endTime;
@@ -43,15 +43,15 @@ public class DiscountActivityBaseVO {
     @Data
     public static class Product {
 
-        @Schema(description = "商品 SPU 编号", required = true, example = "1")
+        @Schema(description = "商品 SPU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         @NotNull(message = "商品 SPU 编号不能为空")
         private Long spuId;
 
-        @Schema(description = "商品 SKU 编号", required = true, example = "1")
+        @Schema(description = "商品 SKU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         @NotNull(message = "商品 SKU 编号不能为空")
         private Long skuId;
 
-        @Schema(description = "优惠类型", required = true, example = "1")
+        @Schema(description = "优惠类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         @NotNull(message = "优惠类型不能为空")
         @InEnum(PromotionDiscountTypeEnum.class)
         private Integer discountType;
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/discount/vo/DiscountActivityRespVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/discount/vo/DiscountActivityRespVO.java
index b552c56ed..92fae75a2 100755
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/discount/vo/DiscountActivityRespVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/discount/vo/DiscountActivityRespVO.java
@@ -14,14 +14,14 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class DiscountActivityRespVO extends DiscountActivityBaseVO {
 
-    @Schema(description = "活动编号", required = true, example = "1024")
+    @Schema(description = "活动编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "活动状态", required = true, example = "1")
+    @Schema(description = "活动状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "活动状态不能为空")
     private Integer status;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/discount/vo/DiscountActivityUpdateReqVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/discount/vo/DiscountActivityUpdateReqVO.java
index f9bf48c06..83ff6d1e1 100755
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/discount/vo/DiscountActivityUpdateReqVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/discount/vo/DiscountActivityUpdateReqVO.java
@@ -16,7 +16,7 @@ import java.util.List;
 @ToString(callSuper = true)
 public class DiscountActivityUpdateReqVO extends DiscountActivityBaseVO {
 
-    @Schema(description = "活动编号", required = true, example = "1024")
+    @Schema(description = "活动编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "活动编号不能为空")
     private Long id;
 
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/reward/vo/RewardActivityBaseVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/reward/vo/RewardActivityBaseVO.java
index 2cd7c7240..3cb3109f3 100755
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/reward/vo/RewardActivityBaseVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/reward/vo/RewardActivityBaseVO.java
@@ -25,16 +25,16 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @Data
 public class RewardActivityBaseVO {
 
-    @Schema(description = "活动标题", required = true, example = "满啦满啦")
+    @Schema(description = "活动标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "满啦满啦")
     @NotNull(message = "活动标题不能为空")
     private String name;
 
-    @Schema(description = "开始时间", required = true)
+    @Schema(description = "开始时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "开始时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime startTime;
 
-    @Schema(description = "结束时间", required = true)
+    @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "结束时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     @Future(message = "结束时间必须大于当前时间")
@@ -43,12 +43,12 @@ public class RewardActivityBaseVO {
     @Schema(description = "备注", example = "biubiubiu")
     private String remark;
 
-    @Schema(description = "条件类型", required = true, example = "1")
+    @Schema(description = "条件类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "条件类型不能为空")
     @InEnum(value = PromotionConditionTypeEnum.class, message = "条件类型必须是 {value}")
     private Integer conditionType;
 
-    @Schema(description = "商品范围", required = true, example = "1")
+    @Schema(description = "商品范围", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "商品范围不能为空")
     @InEnum(value = PromotionConditionTypeEnum.class, message = "商品范围必须是 {value}")
     private Integer productScope;
@@ -66,18 +66,18 @@ public class RewardActivityBaseVO {
     @Data
     public static class Rule {
 
-        @Schema(description = "优惠门槛", required = true, example = "100") // 1. 满 N 元,单位:分; 2. 满 N 件
+        @Schema(description = "优惠门槛", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") // 1. 满 N 元,单位:分; 2. 满 N 件
         @Min(value = 1L, message = "优惠门槛必须大于等于 1")
         private Integer limit;
 
-        @Schema(description = "优惠价格", required = true, example = "100")
+        @Schema(description = "优惠价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
         @Min(value = 1L, message = "优惠价格必须大于等于 1")
         private Integer discountPrice;
 
-        @Schema(description = "是否包邮", required = true, example = "true")
+        @Schema(description = "是否包邮", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
         private Boolean freeDelivery;
 
-        @Schema(description = "赠送的积分", required = true, example = "100")
+        @Schema(description = "赠送的积分", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
         @Min(value = 1L, message = "赠送的积分必须大于等于 1")
         private Integer point;
 
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/reward/vo/RewardActivityRespVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/reward/vo/RewardActivityRespVO.java
index 8ad93cb59..67bf12153 100755
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/reward/vo/RewardActivityRespVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/reward/vo/RewardActivityRespVO.java
@@ -13,13 +13,13 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class RewardActivityRespVO extends RewardActivityBaseVO {
 
-    @Schema(description = "活动编号", required = true, example = "1024")
+    @Schema(description = "活动编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Integer id;
 
-    @Schema(description = "活动状态", required = true, example = "1")
+    @Schema(description = "活动状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/reward/vo/RewardActivityUpdateReqVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/reward/vo/RewardActivityUpdateReqVO.java
index 66d9c02ba..3185ec81d 100755
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/reward/vo/RewardActivityUpdateReqVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/reward/vo/RewardActivityUpdateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class RewardActivityUpdateReqVO extends RewardActivityBaseVO {
 
-    @Schema(description = "活动编号", required = true, example = "1024")
+    @Schema(description = "活动编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "活动编号不能为空")
     private Long id;
 
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityBaseVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityBaseVO.java
index 1fa803f71..f2f53a47d 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityBaseVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityBaseVO.java
@@ -19,17 +19,17 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.TIME_ZONE_DE
 @Data
 public class SeckillActivityBaseVO {
 
-    @Schema(description = "秒杀活动名称", required = true, example = "晚九点限时秒杀")
+    @Schema(description = "秒杀活动名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "晚九点限时秒杀")
     @NotNull(message = "秒杀活动名称不能为空")
     private String name;
 
-    @Schema(description = "活动开始时间", required = true)
+    @Schema(description = "活动开始时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "活动开始时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
     private LocalDateTime startTime;
 
-    @Schema(description = "活动结束时间", required = true)
+    @Schema(description = "活动结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "活动结束时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
@@ -40,15 +40,15 @@ public class SeckillActivityBaseVO {
     @Data
     public static class Product {
 
-        @Schema(description = "商品 SPU 编号", required = true, example = "1")
+        @Schema(description = "商品 SPU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         @NotNull(message = "商品 SPU 编号不能为空")
         private Long spuId;
 
-        @Schema(description = "商品 SKU 编号", required = true, example = "1")
+        @Schema(description = "商品 SKU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         @NotNull(message = "商品 SKU 编号不能为空")
         private Long skuId;
 
-        @Schema(description = "秒杀金额", required = true, example = "12.00")
+        @Schema(description = "秒杀金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "12.00")
         @NotNull(message = "秒杀金额不能为空")
         private Integer seckillPrice;
 
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityCreateReqVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityCreateReqVO.java
index 37adfc7e4..19d39121c 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityCreateReqVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityCreateReqVO.java
@@ -19,11 +19,11 @@ public class SeckillActivityCreateReqVO extends SeckillActivityBaseVO {
     @Schema(description = "备注", example = "限时秒杀活动")
     private String remark;
 
-    @Schema(description = "排序", required = true, example = "1")
+    @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "排序不能为空")
     private Integer sort;
 
-    @Schema(description = "秒杀时段id", required = true, example = "1,3")
+    @Schema(description = "秒杀时段id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1,3")
     @NotEmpty(message = "参与场次不能为空")
     private List<Long> timeIds;
 
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityRespVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityRespVO.java
index e898a0d4f..09258f596 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityRespVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityRespVO.java
@@ -14,22 +14,22 @@ import java.util.List;
 @ToString(callSuper = true)
 public class SeckillActivityRespVO extends SeckillActivityBaseVO {
 
-    @Schema(description = "秒杀活动id", required = true, example = "1")
+    @Schema(description = "秒杀活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
-    @Schema(description = "付款订单数", required = true, example = "1")
+    @Schema(description = "付款订单数", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer orderCount;
 
-    @Schema(description = "付款人数", required = true, example = "1")
+    @Schema(description = "付款人数", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer userCount;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
-    @Schema(description = "秒杀时段id", required = true, example = "1,3")
+    @Schema(description = "秒杀时段id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1,3")
     private List<Long> timeIds;
 
-    @Schema(description = "排序", required = true, example = "1")
+    @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer sort;
 
     @Schema(description = "备注", example = "限时秒杀活动")
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityUpdateReqVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityUpdateReqVO.java
index 3787d619c..56cc119db 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityUpdateReqVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityUpdateReqVO.java
@@ -16,18 +16,18 @@ import java.util.List;
 @ToString(callSuper = true)
 public class SeckillActivityUpdateReqVO extends SeckillActivityBaseVO {
 
-    @Schema(description = "秒杀活动编号", required = true, example = "224")
+    @Schema(description = "秒杀活动编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "224")
     @NotNull(message = "秒杀活动编号不能为空")
     private Long id;
 
     @Schema(description = "备注", example = "限时秒杀活动")
     private String remark;
 
-    @Schema(description = "排序", required = true, example = "1")
+    @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "排序不能为空")
     private Integer sort;
 
-    @Schema(description = "秒杀时段id", required = true, example = "1,3")
+    @Schema(description = "秒杀时段id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1,3")
     @NotEmpty(message = "秒杀时段id不能为空")
     private List<Long> timeIds;
 
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/time/SeckillTimeBaseVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/time/SeckillTimeBaseVO.java
index c15854da6..0abbfea43 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/time/SeckillTimeBaseVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/time/SeckillTimeBaseVO.java
@@ -13,15 +13,15 @@ import java.time.LocalTime;
 @Data
 public class SeckillTimeBaseVO {
 
-    @Schema(description = "秒杀时段名称", required = true, example = "上午场")
+    @Schema(description = "秒杀时段名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "上午场")
     @NotNull(message = "秒杀时段名称不能为空")
     private String name;
 
-    @Schema(description = "开始时间点", required = true, example = "16:30:40")
+    @Schema(description = "开始时间点", requiredMode = Schema.RequiredMode.REQUIRED, example = "16:30:40")
     @NotNull(message = "开始时间点不能为空")
     private LocalTime startTime;
 
-    @Schema(description = "结束时间点", required = true, example = "16:30:40")
+    @Schema(description = "结束时间点", requiredMode = Schema.RequiredMode.REQUIRED, example = "16:30:40")
     @NotNull(message = "结束时间点不能为空")
     private LocalTime endTime;
 
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/time/SeckillTimeRespVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/time/SeckillTimeRespVO.java
index 8e8c41406..6c45ecd54 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/time/SeckillTimeRespVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/time/SeckillTimeRespVO.java
@@ -13,13 +13,13 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class SeckillTimeRespVO extends SeckillTimeBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
-    @Schema(description = "秒杀活动数量", required = true, example = "1")
+    @Schema(description = "秒杀活动数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer seckillActivityCount;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/time/SeckillTimeUpdateReqVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/time/SeckillTimeUpdateReqVO.java
index 3ef8db3e3..045de4983 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/time/SeckillTimeUpdateReqVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/time/SeckillTimeUpdateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class SeckillTimeUpdateReqVO extends SeckillTimeBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "编号不能为空")
     private Long id;
 
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/TradeAfterSaleBaseVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/TradeAfterSaleBaseVO.java
index a008619a0..456fa1810 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/TradeAfterSaleBaseVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/TradeAfterSaleBaseVO.java
@@ -17,27 +17,27 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @Data
 public class TradeAfterSaleBaseVO {
 
-    @Schema(description = "售后流水号", required = true, example = "202211190847450020500077")
+    @Schema(description = "售后流水号", requiredMode = Schema.RequiredMode.REQUIRED, example = "202211190847450020500077")
     @NotNull(message = "售后流水号不能为空")
     private String no;
 
-    @Schema(description = "售后状态", required = true, example = "10")
+    @Schema(description = "售后状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     @NotNull(message = "售后状态不能为空")
     private Integer status;
 
-    @Schema(description = "售后类型", required = true, example = "20")
+    @Schema(description = "售后类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "20")
     @NotNull(message = "售后类型不能为空")
     private Integer type;
 
-    @Schema(description = "售后方式", required = true, example = "10")
+    @Schema(description = "售后方式", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     @NotNull(message = "售后方式不能为空")
     private Integer way;
 
-    @Schema(description = "用户编号", required = true, example = "30337")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "30337")
     @NotNull(message = "用户编号不能为空")
     private Long userId;
 
-    @Schema(description = "申请原因", required = true, example = "不喜欢")
+    @Schema(description = "申请原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "不喜欢")
     @NotNull(message = "申请原因不能为空")
     private String applyReason;
 
@@ -47,34 +47,34 @@ public class TradeAfterSaleBaseVO {
     @Schema(description = "补充凭证图片", example = "https://www.iocoder.cn/1.png")
     private List<String> applyPicUrls;
 
-    @Schema(description = "订单编号", required = true, example = "18078")
+    @Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18078")
     @NotNull(message = "订单编号不能为空")
     private Long orderId;
 
-    @Schema(description = "订单流水号", required = true, example = "2022111917190001")
+    @Schema(description = "订单流水号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2022111917190001")
     @NotNull(message = "订单流水号不能为空")
     private Long orderNo;
 
-    @Schema(description = "订单项编号", required = true, example = "572")
+    @Schema(description = "订单项编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "572")
     @NotNull(message = "订单项编号不能为空")
     private Long orderItemId;
 
-    @Schema(description = "商品 SPU 编号", required = true, example = "2888")
+    @Schema(description = "商品 SPU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2888")
     @NotNull(message = "商品 SPU 编号不能为空")
     private Long spuId;
 
-    @Schema(description = "商品 SPU 名称", required = true, example = "李四")
+    @Schema(description = "商品 SPU 名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
     @NotNull(message = "商品 SPU 名称不能为空")
     private String spuName;
 
-    @Schema(description = "商品 SKU 编号", required = true, example = "15657")
+    @Schema(description = "商品 SKU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15657")
     @NotNull(message = "商品 SKU 编号不能为空")
     private Long skuId;
 
     @Schema(description = "商品图片", example = "https://www.iocoder.cn/2.png")
     private String picUrl;
 
-    @Schema(description = "购买数量", required = true, example = "20012")
+    @Schema(description = "购买数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "20012")
     @NotNull(message = "购买数量不能为空")
     private Integer count;
 
@@ -88,7 +88,7 @@ public class TradeAfterSaleBaseVO {
     @Schema(description = "审批备注", example = "不香")
     private String auditReason;
 
-    @Schema(description = "退款金额,单位:分", required = true, example = "18077")
+    @Schema(description = "退款金额,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "18077")
     @NotNull(message = "退款金额,单位:分不能为空")
     private Integer refundPrice;
 
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/TradeAfterSaleDisagreeReqVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/TradeAfterSaleDisagreeReqVO.java
index 2ef43f4ce..906728afd 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/TradeAfterSaleDisagreeReqVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/TradeAfterSaleDisagreeReqVO.java
@@ -10,11 +10,11 @@ import javax.validation.constraints.NotNull;
 @Data
 public class TradeAfterSaleDisagreeReqVO {
 
-    @Schema(description = "售后编号", required = true, example = "1024")
+    @Schema(description = "售后编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "售后编号不能为空")
     private Long id;
 
-    @Schema(description = "审批备注", required = true, example = "你猜")
+    @Schema(description = "审批备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜")
     @NotEmpty(message = "审批备注不能为空")
     private String auditReason;
 
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/TradeAfterSaleRefuseReqVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/TradeAfterSaleRefuseReqVO.java
index a9db6a1a5..e82610060 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/TradeAfterSaleRefuseReqVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/TradeAfterSaleRefuseReqVO.java
@@ -9,11 +9,11 @@ import javax.validation.constraints.NotNull;
 @Data
 public class TradeAfterSaleRefuseReqVO {
 
-    @Schema(description = "售后编号", required = true, example = "1024")
+    @Schema(description = "售后编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "售后编号不能为空")
     private Long id;
 
-    @Schema(description = "收货备注", required = true, example = "你猜")
+    @Schema(description = "收货备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜")
     @NotNull(message = "收货备注不能为空")
     private String refuseMemo;
 
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/TradeAfterSaleRespPageItemVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/TradeAfterSaleRespPageItemVO.java
index 29180dcaf..b5af865cc 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/TradeAfterSaleRespPageItemVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/TradeAfterSaleRespPageItemVO.java
@@ -16,10 +16,10 @@ import java.util.List;
 @ToString(callSuper = true)
 public class TradeAfterSaleRespPageItemVO extends TradeAfterSaleBaseVO {
 
-    @Schema(description = "售后编号", required = true, example = "27630")
+    @Schema(description = "售后编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "27630")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
     /**
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/log/TradeAfterSaleLogRespVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/log/TradeAfterSaleLogRespVO.java
index 10b3cecbb..d7a1940df 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/log/TradeAfterSaleLogRespVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/vo/log/TradeAfterSaleLogRespVO.java
@@ -10,41 +10,41 @@ import java.time.LocalDateTime;
 @Data
 public class TradeAfterSaleLogRespVO {
 
-    @Schema(description = "编号", required = true, example = "20669")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "20669")
     private Long id;
 
-    @Schema(description = "用户编号", required = true, example = "22634")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "22634")
     @NotNull(message = "用户编号不能为空")
     private Long userId;
 
-    @Schema(description = "用户类型", required = true, example = "2")
+    @Schema(description = "用户类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     @NotNull(message = "用户类型不能为空")
     private Integer userType;
 
-    @Schema(description = "售后编号", required = true, example = "3023")
+    @Schema(description = "售后编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3023")
     @NotNull(message = "售后编号不能为空")
     private Long afterSaleId;
 
-    @Schema(description = "订单编号", required = true, example = "25870")
+    @Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "25870")
     @NotNull(message = "订单编号不能为空")
     private Long orderId;
 
-    @Schema(description = "订单项编号", required = true, example = "23154")
+    @Schema(description = "订单项编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "23154")
     @NotNull(message = "订单项编号不能为空")
     private Long orderItemId;
 
     @Schema(description = "售后状态(之前)", example = "2")
     private Integer beforeStatus;
 
-    @Schema(description = "售后状态(之后)", required = true, example = "1")
+    @Schema(description = "售后状态(之后)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "售后状态(之后)不能为空")
     private Integer afterStatus;
 
-    @Schema(description = "操作明细", required = true, example = "维权完成,退款金额:¥37776.00")
+    @Schema(description = "操作明细", requiredMode = Schema.RequiredMode.REQUIRED, example = "维权完成,退款金额:¥37776.00")
     @NotNull(message = "操作明细不能为空")
     private String content;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/base/member/user/MemberUserRespVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/base/member/user/MemberUserRespVO.java
index 4177b1c01..2d7c3512d 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/base/member/user/MemberUserRespVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/base/member/user/MemberUserRespVO.java
@@ -7,10 +7,10 @@ import lombok.Data;
 @Data
 public class MemberUserRespVO {
 
-    @Schema(description = "用户 ID", required = true, example = "1")
+    @Schema(description = "用户 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
-    @Schema(description = "用户昵称", required = true, example = "芋道源码")
+    @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道源码")
     private String nickname;
 
     @Schema(description = "用户头像", example = "https://www.iocoder.cn/xxx.png")
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/base/product/property/ProductPropertyValueDetailRespVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/base/product/property/ProductPropertyValueDetailRespVO.java
index 9b8fe88eb..3d6d3b061 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/base/product/property/ProductPropertyValueDetailRespVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/base/product/property/ProductPropertyValueDetailRespVO.java
@@ -7,16 +7,16 @@ import lombok.Data;
 @Data
 public class ProductPropertyValueDetailRespVO {
 
-    @Schema(description = "属性的编号", required = true, example = "1")
+    @Schema(description = "属性的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long propertyId;
 
-    @Schema(description = "属性的名称", required = true, example = "颜色")
+    @Schema(description = "属性的名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "颜色")
     private String propertyName;
 
-    @Schema(description = "属性值的编号", required = true, example = "1024")
+    @Schema(description = "属性值的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long valueId;
 
-    @Schema(description = "属性值的名称", required = true, example = "红色")
+    @Schema(description = "属性值的名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "红色")
     private String valueName;
 
 }
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderBaseVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderBaseVO.java
index b7e034bbb..b2b06c09c 100755
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderBaseVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderBaseVO.java
@@ -15,34 +15,34 @@ public class TradeOrderBaseVO {
 
     // ========== 订单基本信息 ==========
 
-    @Schema(description = "订单编号", required = true, example = "1024")
+    @Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "订单流水号", required = true, example = "1146347329394184195")
+    @Schema(description = "订单流水号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1146347329394184195")
     private String no;
 
-    @Schema(description = "下单时间", required = true)
+    @Schema(description = "下单时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
-    @Schema(description = "订单类型", required = true, example = "1")
+    @Schema(description = "订单类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer type;
 
-    @Schema(description = "订单来源", required = true, example = "1")
+    @Schema(description = "订单来源", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer terminal;
 
-    @Schema(description = "用户编号", required = true, example = "2048")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     private Long userId;
 
-    @Schema(description = "用户 IP", required = true, example = "127.0.0.1")
+    @Schema(description = "用户 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "127.0.0.1")
     private String userIp;
 
-    @Schema(description = "用户备注", required = true, example = "你猜")
+    @Schema(description = "用户备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜")
     private String userRemark;
 
-    @Schema(description = "订单状态", required = true, example = "1")
+    @Schema(description = "订单状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
-    @Schema(description = "购买的商品数量", required = true, example = "10")
+    @Schema(description = "购买的商品数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     private Integer productCount;
 
     @Schema(description = "订单完成时间")
@@ -59,34 +59,34 @@ public class TradeOrderBaseVO {
 
     // ========== 价格 + 支付基本信息 ==========
 
-    @Schema(description = "支付订单编号", required = true, example = "1024")
+    @Schema(description = "支付订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long payOrderId;
 
-    @Schema(description = "是否已支付", required = true, example = "true")
+    @Schema(description = "是否已支付", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     private Boolean payed;
 
     @Schema(description = "付款时间")
     private LocalDateTime payTime;
 
-    @Schema(description = "支付渠道", required = true, example = "wx_lite")
+    @Schema(description = "支付渠道", requiredMode = Schema.RequiredMode.REQUIRED, example = "wx_lite")
     private String payChannelCode;
 
-    @Schema(description = "商品原价(总)", required = true, example = "1000")
+    @Schema(description = "商品原价(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
     private Integer originalPrice;
 
-    @Schema(description = "订单原价(总)", required = true, example = "1000")
+    @Schema(description = "订单原价(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
     private Integer orderPrice;
 
-    @Schema(description = "订单优惠(总)", required = true, example = "100")
+    @Schema(description = "订单优惠(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer discountPrice;
 
-    @Schema(description = "运费金额", required = true, example = "100")
+    @Schema(description = "运费金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer deliveryPrice;
 
-    @Schema(description = "订单调价(总)", required = true, example = "100")
+    @Schema(description = "订单调价(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer adjustPrice;
 
-    @Schema(description = "应付金额(总)", required = true, example = "1000")
+    @Schema(description = "应付金额(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
     private Integer payPrice;
 
     // ========== 收件 + 物流基本信息 ==========
@@ -100,7 +100,7 @@ public class TradeOrderBaseVO {
     @Schema(description = "发货物流单号", example = "1024")
     private String logisticsNo;
 
-    @Schema(description = "发货状态", required = true, example = "1")
+    @Schema(description = "发货状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer deliveryStatus;
 
     @Schema(description = "发货时间")
@@ -109,19 +109,19 @@ public class TradeOrderBaseVO {
     @Schema(description = "收货时间")
     private LocalDateTime receiveTime;
 
-    @Schema(description = "收件人名称", required = true, example = "张三")
+    @Schema(description = "收件人名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
     private String receiverName;
 
-    @Schema(description = "收件人手机", required = true, example = "13800138000")
+    @Schema(description = "收件人手机", requiredMode = Schema.RequiredMode.REQUIRED, example = "13800138000")
     private String receiverMobile;
 
-    @Schema(description = "收件人地区编号", required = true, example = "110000")
+    @Schema(description = "收件人地区编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "110000")
     private Integer receiverAreaId;
 
-    @Schema(description = "收件人邮编", required = true, example = "100000")
+    @Schema(description = "收件人邮编", requiredMode = Schema.RequiredMode.REQUIRED, example = "100000")
     private Integer receiverPostCode;
 
-    @Schema(description = "收件人详细地址", required = true, example = "中关村大街 1 号")
+    @Schema(description = "收件人详细地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "中关村大街 1 号")
     private String receiverDetailAddress;
 
     // ========== 售后基本信息 ==========
@@ -129,7 +129,7 @@ public class TradeOrderBaseVO {
     @Schema(description = "售后状态", example = "1")
     private Integer afterSaleStatus;
 
-    @Schema(description = "退款金额", required = true, example = "100")
+    @Schema(description = "退款金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer refundPrice;
 
     // ========== 营销基本信息 ==========
@@ -137,9 +137,9 @@ public class TradeOrderBaseVO {
     @Schema(description = "优惠劵编号", example = "1024")
     private Long couponId;
 
-    @Schema(description = "优惠劵减免金额", required = true, example = "100")
+    @Schema(description = "优惠劵减免金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer couponPrice;
 
-    @Schema(description = "积分抵扣的金额", required = true, example = "100")
+    @Schema(description = "积分抵扣的金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer pointPrice;
 }
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderDeliveryReqVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderDeliveryReqVO.java
index 8cb16f89f..039fb2f09 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderDeliveryReqVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderDeliveryReqVO.java
@@ -10,15 +10,15 @@ import javax.validation.constraints.NotNull;
 @Data
 public class TradeOrderDeliveryReqVO {
 
-    @Schema(description = "订单编号", required = true, example = "1024")
+    @Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "订单编号不能为空")
     private Long id;
 
-    @Schema(description = "发货物流公司编号", required = true, example = "1")
+    @Schema(description = "发货物流公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "发货物流公司编号不能为空")
     private Long logisticsId;
 
-    @Schema(description = "发货物流单号", required = true, example = "SF123456789")
+    @Schema(description = "发货物流单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "SF123456789")
     @NotEmpty(message = "发货物流单号不能为空")
     private String logisticsNo;
 
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderDetailRespVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderDetailRespVO.java
index f24716e16..ae135c95e 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderDetailRespVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderDetailRespVO.java
@@ -11,7 +11,7 @@ import java.util.List;
 @Data
 public class TradeOrderDetailRespVO extends TradeOrderBaseVO {
 
-    @Schema(description = "收件人地区名字", required = true, example = "上海 上海市 普陀区")
+    @Schema(description = "收件人地区名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "上海 上海市 普陀区")
     private String receiverAreaName;
 
     /**
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderItemBaseVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderItemBaseVO.java
index b927e5e9e..db11548bd 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderItemBaseVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderItemBaseVO.java
@@ -12,50 +12,50 @@ public class TradeOrderItemBaseVO {
 
     // ========== 订单项基本信息 ==========
 
-    @Schema(description = "编号", required = true, example = "1")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
-    @Schema(description = "用户编号", required = true, example = "1")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long userId;
 
-    @Schema(description = "订单编号", required = true, example = "1")
+    @Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long orderId;
 
     // ========== 商品基本信息 ==========
 
-    @Schema(description = "商品 SPU 编号", required = true, example = "1")
+    @Schema(description = "商品 SPU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long spuId;
 
-    @Schema(description = "商品 SPU 名称", required = true, example = "芋道源码")
+    @Schema(description = "商品 SPU 名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道源码")
     private String spuName;
 
-    @Schema(description = "商品 SKU 编号", required = true, example = "1")
+    @Schema(description = "商品 SKU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long skuId;
 
-    @Schema(description = "商品图片", required = true, example = "https://www.iocoder.cn/1.png")
+    @Schema(description = "商品图片", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/1.png")
     private String picUrl;
 
-    @Schema(description = "购买数量", required = true, example = "1")
+    @Schema(description = "购买数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer count;
 
     // ========== 价格 + 支付基本信息 ==========
 
-    @Schema(description = "商品原价(总)", required = true, example = "100")
+    @Schema(description = "商品原价(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer originalPrice;
 
-    @Schema(description = "商品原价(单)", required = true, example = "100")
+    @Schema(description = "商品原价(单)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer originalUnitPrice;
 
-    @Schema(description = "商品优惠(总)", required = true, example = "100")
+    @Schema(description = "商品优惠(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer discountPrice;
 
-    @Schema(description = "商品实付金额(总)", required = true, example = "100")
+    @Schema(description = "商品实付金额(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer payPrice;
 
-    @Schema(description = "子订单分摊金额(总)", required = true, example = "100")
+    @Schema(description = "子订单分摊金额(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer orderPartPrice;
 
-    @Schema(description = "分摊后子订单实付金额(总)", required = true, example = "100")
+    @Schema(description = "分摊后子订单实付金额(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer orderDividePrice;
 
     // ========== 营销基本信息 ==========
@@ -64,7 +64,7 @@ public class TradeOrderItemBaseVO {
 
     // ========== 售后基本信息 ==========
 
-    @Schema(description = "售后状态", required = true, example = "1")
+    @Schema(description = "售后状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer afterSaleStatus;
 
 }
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderPageItemRespVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderPageItemRespVO.java
index fc02acbc5..0b5942adf 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderPageItemRespVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderPageItemRespVO.java
@@ -10,7 +10,7 @@ import java.util.List;
 @Data
 public class TradeOrderPageItemRespVO extends TradeOrderBaseVO {
 
-    @Schema(description = "收件人地区名字", required = true, example = "上海 上海市 普陀区")
+    @Schema(description = "收件人地区名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "上海 上海市 普陀区")
     private String receiverAreaName;
 
     /**
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/aftersale/vo/AppTradeAfterSaleCreateReqVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/aftersale/vo/AppTradeAfterSaleCreateReqVO.java
index d668005e3..3bf8dd944 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/aftersale/vo/AppTradeAfterSaleCreateReqVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/aftersale/vo/AppTradeAfterSaleCreateReqVO.java
@@ -13,21 +13,21 @@ import java.util.List;
 @Data
 public class AppTradeAfterSaleCreateReqVO {
 
-    @Schema(description = "订单项编号", required = true, example = "1024")
+    @Schema(description = "订单项编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "订单项编号不能为空")
     private Long orderItemId;
 
-    @Schema(description = "售后方式", required = true, example = "1")
+    @Schema(description = "售后方式", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "售后方式不能为空")
     @InEnum(value = TradeAfterSaleWayEnum.class, message = "售后方式必须是 {value}")
     private Integer way;
 
-    @Schema(description = "退款金额", required = true, example = "100")
+    @Schema(description = "退款金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     @NotNull(message = "退款金额不能为空")
     @Min(value = 1, message = "退款金额必须大于 0")
     private Integer refundPrice;
 
-    @Schema(description = "申请原因", required = true, example = "1")
+    @Schema(description = "申请原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "申请原因不能为空")
     private String applyReason;
 
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/aftersale/vo/AppTradeAfterSaleDeliveryReqVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/aftersale/vo/AppTradeAfterSaleDeliveryReqVO.java
index 9266d38d1..625542a57 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/aftersale/vo/AppTradeAfterSaleDeliveryReqVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/aftersale/vo/AppTradeAfterSaleDeliveryReqVO.java
@@ -11,19 +11,19 @@ import java.time.LocalDateTime;
 @Data
 public class AppTradeAfterSaleDeliveryReqVO {
 
-    @Schema(description = "售后编号", required = true, example = "1024")
+    @Schema(description = "售后编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "售后编号不能为空")
     private Long id;
 
-    @Schema(description = "退货物流公司编号", required = true, example = "1")
+    @Schema(description = "退货物流公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "退货物流公司编号不能为空")
     private Long logisticsId;
 
-    @Schema(description = "退货物流单号", required = true, example = "SF123456789")
+    @Schema(description = "退货物流单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "SF123456789")
     @NotNull(message = "退货物流单号不能为空")
     private String logisticsNo;
 
-    @Schema(description = "退货时间", required = true)
+    @Schema(description = "退货时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotEmpty(message = "退货时间不能为空")
     private LocalDateTime deliveryTime;
 
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/base/property/AppProductPropertyValueDetailRespVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/base/property/AppProductPropertyValueDetailRespVO.java
index 22dda6a71..750f16bf3 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/base/property/AppProductPropertyValueDetailRespVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/base/property/AppProductPropertyValueDetailRespVO.java
@@ -7,16 +7,16 @@ import lombok.Data;
 @Data
 public class AppProductPropertyValueDetailRespVO {
 
-    @Schema(description = "属性的编号", required = true, example = "1")
+    @Schema(description = "属性的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long propertyId;
 
-    @Schema(description = "属性的名称", required = true, example = "颜色")
+    @Schema(description = "属性的名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "颜色")
     private String propertyName;
 
-    @Schema(description = "属性值的编号", required = true, example = "1024")
+    @Schema(description = "属性值的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long valueId;
 
-    @Schema(description = "属性值的名称", required = true, example = "红色")
+    @Schema(description = "属性值的名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "红色")
     private String valueName;
 
 }
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/base/sku/AppProductSkuBaseRespVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/base/sku/AppProductSkuBaseRespVO.java
index 053e329b4..498f7dafa 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/base/sku/AppProductSkuBaseRespVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/base/sku/AppProductSkuBaseRespVO.java
@@ -14,16 +14,16 @@ import java.util.List;
 @Data
 public class AppProductSkuBaseRespVO {
 
-    @Schema(description = "主键", required = true, example = "1024")
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "商品 SKU 名字", required = true, example = "芋道")
+    @Schema(description = "商品 SKU 名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String name;
 
     @Schema(description = "图片地址", example = "https://www.iocoder.cn/xx.png")
     private String picUrl;
 
-    @Schema(description = "库存", required = true, example = "1")
+    @Schema(description = "库存", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer stock;
 
     /**
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/base/spu/AppProductSpuBaseRespVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/base/spu/AppProductSpuBaseRespVO.java
index b73be6e0c..6e48c6000 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/base/spu/AppProductSpuBaseRespVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/base/spu/AppProductSpuBaseRespVO.java
@@ -13,10 +13,10 @@ import java.util.List;
 @Data
 public class AppProductSpuBaseRespVO {
 
-    @Schema(description = "主键", required = true, example = "1024")
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "商品 SPU 名字", required = true, example = "芋道")
+    @Schema(description = "商品 SPU 名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String name;
 
     @Schema(description = "商品主图地址", example = "https://www.iocoder.cn/xx.png")
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/cart/vo/AppTradeCartDetailRespVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/cart/vo/AppTradeCartDetailRespVO.java
index 769418528..cd68edbbc 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/cart/vo/AppTradeCartDetailRespVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/cart/vo/AppTradeCartDetailRespVO.java
@@ -46,26 +46,26 @@ public class AppTradeCartDetailRespVO {
 
         // ========== 购物车相关的字段 ==========
 
-        @Schema(description = "商品数量", required = true, example = "1")
+        @Schema(description = "商品数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Integer count;
-        @Schema(description = "是否选中", required = true, example = "true")
+        @Schema(description = "是否选中", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
         private Boolean selected;
 
         // ========== 价格相关的字段,对应 PriceCalculateRespDTO.OrderItem 的属性 ==========
 
         // TODO 芋艿:后续可以去除一些无用的字段
 
-        @Schema(description = "商品原价(单)", required = true, example = "100")
+        @Schema(description = "商品原价(单)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
         private Integer originalPrice;
-        @Schema(description = "商品原价(总)", required = true, example = "200")
+        @Schema(description = "商品原价(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "200")
         private Integer totalOriginalPrice;
-        @Schema(description = "商品级优惠(总)", required = true, example = "300")
+        @Schema(description = "商品级优惠(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "300")
         private Integer totalPromotionPrice;
-        @Schema(description = "最终购买金额(总)", required = true, example = "400")
+        @Schema(description = "最终购买金额(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "400")
         private Integer totalPresentPrice;
-        @Schema(description = "最终购买金额(单)", required = true, example = "500")
+        @Schema(description = "最终购买金额(单)", requiredMode = Schema.RequiredMode.REQUIRED, example = "500")
         private Integer presentPrice;
-        @Schema(description = "应付金额(总)", required = true, example = "600")
+        @Schema(description = "应付金额(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "600")
         private Integer totalPayPrice;
 
         // ========== 营销相关的字段 ==========
@@ -82,15 +82,15 @@ public class AppTradeCartDetailRespVO {
 
         // TODO 芋艿:后续可以去除一些无用的字段
 
-        @Schema(description = "商品原价(总)", required = true, example = "100")
+        @Schema(description = "商品原价(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
         private Integer skuOriginalPrice;
-        @Schema(description = "商品优惠(总)", required = true, example = "200")
+        @Schema(description = "商品优惠(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "200")
         private Integer skuPromotionPrice;
-        @Schema(description = "订单优惠(总)", required = true, example = "300")
+        @Schema(description = "订单优惠(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "300")
         private Integer orderPromotionPrice;
-        @Schema(description = "运费金额", required = true, example = "400")
+        @Schema(description = "运费金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "400")
         private Integer deliveryPrice;
-        @Schema(description = "应付金额(总)", required = true, example = "500")
+        @Schema(description = "应付金额(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "500")
         private Integer payPrice;
 
     }
@@ -99,17 +99,17 @@ public class AppTradeCartDetailRespVO {
     @Data
     public static class Promotion {
 
-        @Schema(description = "营销编号", required = true, example = "1024") // 营销活动的编号、优惠劵的编号
+        @Schema(description = "营销编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") // 营销活动的编号、优惠劵的编号
         private Long id;
-        @Schema(description = "营销名字", required = true, example = "xx 活动")
+        @Schema(description = "营销名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "xx 活动")
         private String name;
-        @Schema(description = "营销类型", required = true, example = "1")
+        @Schema(description = "营销类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Integer type;
 
         // ========== 匹配情况 ==========
-        @Schema(description = "是否满足优惠条件", required = true, example = "true")
+        @Schema(description = "是否满足优惠条件", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
         private Boolean meet;
-        @Schema(description = "满足条件的提示", required = true, example = "圣诞价:省 150.00 元")
+        @Schema(description = "满足条件的提示", requiredMode = Schema.RequiredMode.REQUIRED, example = "圣诞价:省 150.00 元")
         private String meetTip;
 
     }
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/cart/vo/AppTradeCartItemAddCountReqVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/cart/vo/AppTradeCartItemAddCountReqVO.java
index 9b4ba6929..6300e9e63 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/cart/vo/AppTradeCartItemAddCountReqVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/cart/vo/AppTradeCartItemAddCountReqVO.java
@@ -10,11 +10,11 @@ import javax.validation.constraints.NotNull;
 @Data
 public class AppTradeCartItemAddCountReqVO {
 
-    @Schema(description = "商品 SKU 编号", required = true,example = "1024")
+    @Schema(description = "商品 SKU 编号", requiredMode = Schema.RequiredMode.REQUIRED,example = "1024")
     @NotNull(message = "商品 SKU 编号不能为空")
     private Long skuId;
 
-    @Schema(description = "新增商品数量", required = true, example = "1")
+    @Schema(description = "新增商品数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "数量不能为空")
     @Min(message = "数量必须大于 0", value = 1L)
     private Integer count;
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/cart/vo/AppTradeCartItemUpdateCountReqVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/cart/vo/AppTradeCartItemUpdateCountReqVO.java
index d3d12487e..017dfb1e4 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/cart/vo/AppTradeCartItemUpdateCountReqVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/cart/vo/AppTradeCartItemUpdateCountReqVO.java
@@ -10,11 +10,11 @@ import javax.validation.constraints.NotNull;
 @Data
 public class AppTradeCartItemUpdateCountReqVO {
 
-    @Schema(description = "商品 SKU 编号", required = true, example = "1024")
+    @Schema(description = "商品 SKU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "商品 SKU 编号不能为空")
     private Long skuId;
 
-    @Schema(description = "商品数量", required = true, example = "1")
+    @Schema(description = "商品数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "数量不能为空")
     @Min(message = "数量必须大于 0", value = 1L)
     private Integer count;
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/cart/vo/AppTradeCartItemUpdateSelectedReqVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/cart/vo/AppTradeCartItemUpdateSelectedReqVO.java
index 62327f320..adf213b93 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/cart/vo/AppTradeCartItemUpdateSelectedReqVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/cart/vo/AppTradeCartItemUpdateSelectedReqVO.java
@@ -10,11 +10,11 @@ import java.util.Collection;
 @Data
 public class AppTradeCartItemUpdateSelectedReqVO {
 
-    @Schema(description = "商品 SKU 编号列表", required = true, example = "1024,2048")
+    @Schema(description = "商品 SKU 编号列表", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024,2048")
     @NotNull(message = "商品 SKU 编号列表不能为空")
     private Collection<Long> skuIds;
 
-    @Schema(description = "是否选中", required = true, example = "true")
+    @Schema(description = "是否选中", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     @NotNull(message = "是否选中不能为空")
     private Boolean selected;
 
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderCreateReqVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderCreateReqVO.java
index 6c881defe..2090179cf 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderCreateReqVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderCreateReqVO.java
@@ -13,7 +13,7 @@ import java.util.List;
 @Data
 public class AppTradeOrderCreateReqVO {
 
-    @Schema(description = "收件地址编号", required = true, example = "1")
+    @Schema(description = "收件地址编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "收件地址不能为空")
     private Long addressId;
 
@@ -23,7 +23,7 @@ public class AppTradeOrderCreateReqVO {
     @Schema(description = "备注", example = "这个是我的订单哟")
     private String remark;
 
-    @Schema(description = "是否来自购物车", required = true, example = "true") // true - 来自购物车;false - 立即购买
+    @Schema(description = "是否来自购物车", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") // true - 来自购物车;false - 立即购买
     @NotNull(message = "是否来自购物车不能为空")
     private Boolean fromCart;
 
@@ -38,11 +38,11 @@ public class AppTradeOrderCreateReqVO {
     @Data
     public static class Item {
 
-        @Schema(description = "商品 SKU 编号", required = true, example = "111")
+        @Schema(description = "商品 SKU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "111")
         @NotNull(message = "商品 SKU 编号不能为空")
         private Long skuId;
 
-        @Schema(description = "商品 SKU 购买数量", required = true, example = "1024")
+        @Schema(description = "商品 SKU 购买数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
         @NotNull(message = "商品 SKU 购买数量不能为空")
         @Min(value = 1, message = "商品 SKU 购买数量必须大于 0")
         private Integer count;
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderDetailRespVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderDetailRespVO.java
index c8a57bacb..9fd6491d0 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderDetailRespVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderDetailRespVO.java
@@ -14,22 +14,22 @@ public class AppTradeOrderDetailRespVO {
 
     // ========== 订单基本信息 ==========
 
-    @Schema(description = "订单编号", required = true, example = "1024")
+    @Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "订单流水号", required = true, example = "1146347329394184195")
+    @Schema(description = "订单流水号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1146347329394184195")
     private String no;
 
-    @Schema(description = "下单时间", required = true)
+    @Schema(description = "下单时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private Date createTime;
 
-    @Schema(description = "用户备注", required = true, example = "你猜")
+    @Schema(description = "用户备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜")
     private String userRemark;
 
-    @Schema(description = "订单状态", required = true, example = "1")
+    @Schema(description = "订单状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
-    @Schema(description = "购买的商品数量", required = true, example = "10")
+    @Schema(description = "购买的商品数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     private Integer productCount;
 
     @Schema(description = "订单完成时间")
@@ -40,28 +40,28 @@ public class AppTradeOrderDetailRespVO {
 
     // ========== 价格 + 支付基本信息 ==========
 
-    @Schema(description = "支付订单编号", required = true, example = "1024")
+    @Schema(description = "支付订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long payOrderId;
 
     @Schema(description = "付款时间")
     private LocalDateTime payTime;
 
-    @Schema(description = "商品原价(总)", required = true, example = "1000")
+    @Schema(description = "商品原价(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
     private Integer originalPrice;
 
-    @Schema(description = "订单原价(总)", required = true, example = "1000")
+    @Schema(description = "订单原价(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
     private Integer orderPrice;
 
-    @Schema(description = "订单优惠(总)", required = true, example = "100")
+    @Schema(description = "订单优惠(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer discountPrice;
 
-    @Schema(description = "运费金额", required = true, example = "100")
+    @Schema(description = "运费金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer deliveryPrice;
 
-    @Schema(description = "订单调价(总)", required = true, example = "100")
+    @Schema(description = "订单调价(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer adjustPrice;
 
-    @Schema(description = "应付金额(总)", required = true, example = "1000")
+    @Schema(description = "应付金额(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
     private Integer payPrice;
 
     // ========== 收件 + 物流基本信息 ==========
@@ -75,22 +75,22 @@ public class AppTradeOrderDetailRespVO {
     @Schema(description = "收货时间")
     private LocalDateTime receiveTime;
 
-    @Schema(description = "收件人名称", required = true, example = "张三")
+    @Schema(description = "收件人名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
     private String receiverName;
 
-    @Schema(description = "收件人手机", required = true, example = "13800138000")
+    @Schema(description = "收件人手机", requiredMode = Schema.RequiredMode.REQUIRED, example = "13800138000")
     private String receiverMobile;
 
-    @Schema(description = "收件人地区编号", required = true, example = "110000")
+    @Schema(description = "收件人地区编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "110000")
     private Integer receiverAreaId;
 
-    @Schema(description = "收件人地区名字", required = true, example = "上海 上海市 普陀区")
+    @Schema(description = "收件人地区名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "上海 上海市 普陀区")
     private String receiverAreaName;
 
-    @Schema(description = "收件人邮编", required = true, example = "100000")
+    @Schema(description = "收件人邮编", requiredMode = Schema.RequiredMode.REQUIRED, example = "100000")
     private Integer receiverPostCode;
 
-    @Schema(description = "收件人详细地址", required = true, example = "中关村大街 1 号")
+    @Schema(description = "收件人详细地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "中关村大街 1 号")
     private String receiverDetailAddress;
 
     // ========== 售后基本信息 ==========
@@ -100,10 +100,10 @@ public class AppTradeOrderDetailRespVO {
     @Schema(description = "优惠劵编号", example = "1024")
     private Long couponId;
 
-    @Schema(description = "优惠劵减免金额", required = true, example = "100")
+    @Schema(description = "优惠劵减免金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer couponPrice;
 
-    @Schema(description = "积分抵扣的金额", required = true, example = "100")
+    @Schema(description = "积分抵扣的金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer pointPrice;
 
     /**
@@ -115,28 +115,28 @@ public class AppTradeOrderDetailRespVO {
     @Data
     public static class Item {
 
-        @Schema(description = "编号", required = true, example = "1")
+        @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long id;
 
-        @Schema(description = "商品 SPU 编号", required = true, example = "1")
+        @Schema(description = "商品 SPU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long spuId;
 
-        @Schema(description = "商品 SPU 名称", required = true, example = "芋道源码")
+        @Schema(description = "商品 SPU 名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道源码")
         private String spuName;
 
-        @Schema(description = "商品 SKU 编号", required = true, example = "1")
+        @Schema(description = "商品 SKU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long skuId;
 
-        @Schema(description = "商品图片", required = true, example = "https://www.iocoder.cn/1.png")
+        @Schema(description = "商品图片", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/1.png")
         private String picUrl;
 
-        @Schema(description = "购买数量", required = true, example = "1")
+        @Schema(description = "购买数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Integer count;
 
-        @Schema(description = "商品原价(总)", required = true, example = "100")
+        @Schema(description = "商品原价(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
         private Integer originalPrice;
 
-        @Schema(description = "商品原价(单)", required = true, example = "100")
+        @Schema(description = "商品原价(单)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
         private Integer originalUnitPrice;
 
         /**
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderGetCreateInfoRespVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderGetCreateInfoRespVO.java
index 86a1b61b7..d7df6863a 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderGetCreateInfoRespVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderGetCreateInfoRespVO.java
@@ -44,7 +44,7 @@ public class AppTradeOrderGetCreateInfoRespVO {
     public static class Sku {
 
         // SKU 自带信息
-        @Schema(description = "SKU 编号", required = true, example = "1024")
+        @Schema(description = "SKU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
         private Integer id;
         /**
          * SPU 信息
@@ -144,7 +144,7 @@ public class AppTradeOrderGetCreateInfoRespVO {
     @AllArgsConstructor
     public static class Fee {
 
-        @Schema(description = "购买总价", required = true, example = "1024")
+        @Schema(description = "购买总价", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
         private Integer buyPrice;
         /**
          * 优惠总价
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderPageItemRespVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderPageItemRespVO.java
index d601553e6..aa27d617f 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderPageItemRespVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderPageItemRespVO.java
@@ -10,16 +10,16 @@ import java.util.List;
 @Data
 public class AppTradeOrderPageItemRespVO {
 
-    @Schema(description = "订单编号", required = true, example = "1024")
+    @Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "订单流水号", required = true, example = "1146347329394184195")
+    @Schema(description = "订单流水号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1146347329394184195")
     private String no;
 
-    @Schema(description = "订单状态", required = true, example = "1")
+    @Schema(description = "订单状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
-    @Schema(description = "购买的商品数量", required = true, example = "10")
+    @Schema(description = "购买的商品数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     private Integer productCount;
 
     /**
@@ -31,28 +31,28 @@ public class AppTradeOrderPageItemRespVO {
     @Data
     public static class Item {
 
-        @Schema(description = "编号", required = true, example = "1")
+        @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long id;
 
-        @Schema(description = "商品 SPU 编号", required = true, example = "1")
+        @Schema(description = "商品 SPU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long spuId;
 
-        @Schema(description = "商品 SPU 名称", required = true, example = "芋道源码")
+        @Schema(description = "商品 SPU 名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道源码")
         private String spuName;
 
-        @Schema(description = "商品 SKU 编号", required = true, example = "1")
+        @Schema(description = "商品 SKU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long skuId;
 
-        @Schema(description = "商品图片", required = true, example = "https://www.iocoder.cn/1.png")
+        @Schema(description = "商品图片", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/1.png")
         private String picUrl;
 
-        @Schema(description = "购买数量", required = true, example = "1")
+        @Schema(description = "购买数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Integer count;
 
-        @Schema(description = "商品原价(总)", required = true, example = "100")
+        @Schema(description = "商品原价(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
         private Integer originalPrice;
 
-        @Schema(description = "商品原价(单)", required = true, example = "100")
+        @Schema(description = "商品原价(单)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
         private Integer originalUnitPrice;
 
         /**
diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/address/vo/AppAddressBaseVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/address/vo/AppAddressBaseVO.java
index f207ad8be..df8d51e37 100644
--- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/address/vo/AppAddressBaseVO.java
+++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/address/vo/AppAddressBaseVO.java
@@ -12,27 +12,27 @@ import javax.validation.constraints.NotNull;
 @Data
 public class AppAddressBaseVO {
 
-    @Schema(description = "收件人名称", required = true)
+    @Schema(description = "收件人名称", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "收件人名称不能为空")
     private String name;
 
-    @Schema(description = "手机号", required = true)
+    @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "手机号不能为空")
     private String mobile;
 
-    @Schema(description = "地区编号", required = true)
+    @Schema(description = "地区编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "地区编号不能为空")
     private Long areaId;
 
-    @Schema(description = "邮编", required = true)
+    @Schema(description = "邮编", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotEmpty(message = "邮编不能为空")
     private String postCode;
 
-    @Schema(description = "收件详细地址", required = true)
+    @Schema(description = "收件详细地址", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "收件详细地址不能为空")
     private String detailAddress;
 
-    @Schema(description = "是否默认地址", required = true)
+    @Schema(description = "是否默认地址", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "是否默认地址不能为空")
     private Boolean defaulted;
 
diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/address/vo/AppAddressRespVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/address/vo/AppAddressRespVO.java
index 4e9df9912..72ceeecd8 100644
--- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/address/vo/AppAddressRespVO.java
+++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/address/vo/AppAddressRespVO.java
@@ -9,10 +9,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class AppAddressRespVO extends AppAddressBaseVO {
 
-    @Schema(description = "编号", required = true)
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED)
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/address/vo/AppAddressUpdateReqVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/address/vo/AppAddressUpdateReqVO.java
index f94197ece..aae8d405b 100644
--- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/address/vo/AppAddressUpdateReqVO.java
+++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/address/vo/AppAddressUpdateReqVO.java
@@ -9,7 +9,7 @@ import javax.validation.constraints.*;
 @ToString(callSuper = true)
 public class AppAddressUpdateReqVO extends AppAddressBaseVO {
 
-    @Schema(description = "编号", required = true)
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "编号不能为空")
     private Long id;
 
diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthCheckCodeReqVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthCheckCodeReqVO.java
index 170ffa504..eee7062cb 100644
--- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthCheckCodeReqVO.java
+++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthCheckCodeReqVO.java
@@ -27,7 +27,7 @@ public class AppAuthCheckCodeReqVO {
     @Mobile
     private String mobile;
 
-    @Schema(description = "手机验证码", required = true, example = "1024")
+    @Schema(description = "手机验证码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotBlank(message = "手机验证码不能为空")
     @Length(min = 4, max = 6, message = "手机验证码长度为 4-6 位")
     @Pattern(regexp = "^[0-9]+$", message = "手机验证码必须都是数字")
diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthLoginReqVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthLoginReqVO.java
index 237cd15dc..fa5d77956 100644
--- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthLoginReqVO.java
+++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthLoginReqVO.java
@@ -21,26 +21,26 @@ import javax.validation.constraints.NotEmpty;
 @Builder
 public class AppAuthLoginReqVO {
 
-    @Schema(description = "手机号", required = true, example = "15601691300")
+    @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15601691300")
     @NotEmpty(message = "手机号不能为空")
     @Mobile
     private String mobile;
 
-    @Schema(description = "密码", required = true, example = "buzhidao")
+    @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "buzhidao")
     @NotEmpty(message = "密码不能为空")
     @Length(min = 4, max = 16, message = "密码长度为 4-16 位")
     private String password;
 
     // ========== 绑定社交登录时,需要传递如下参数 ==========
 
-    @Schema(description = "社交平台的类型,参见 SysUserSocialTypeEnum 枚举值", required = true, example = "10")
+    @Schema(description = "社交平台的类型,参见 SysUserSocialTypeEnum 枚举值", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     @InEnum(SocialTypeEnum.class)
     private Integer socialType;
 
-    @Schema(description = "授权码", required = true, example = "1024")
+    @Schema(description = "授权码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private String socialCode;
 
-    @Schema(description = "state", required = true, example = "9b2ffbc1-7425-4155-9894-9d5c08541d62")
+    @Schema(description = "state", requiredMode = Schema.RequiredMode.REQUIRED, example = "9b2ffbc1-7425-4155-9894-9d5c08541d62")
     private String socialState;
 
     @AssertTrue(message = "授权码不能为空")
diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthLoginRespVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthLoginRespVO.java
index 3794b1f4c..41318fe59 100644
--- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthLoginRespVO.java
+++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthLoginRespVO.java
@@ -15,16 +15,16 @@ import java.time.LocalDateTime;
 @Builder
 public class AppAuthLoginRespVO {
 
-    @Schema(description = "用户编号", required = true, example = "1024")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long userId;
 
-    @Schema(description = "访问令牌", required = true, example = "happy")
+    @Schema(description = "访问令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "happy")
     private String accessToken;
 
-    @Schema(description = "刷新令牌", required = true, example = "nice")
+    @Schema(description = "刷新令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "nice")
     private String refreshToken;
 
-    @Schema(description = "过期时间", required = true)
+    @Schema(description = "过期时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime expiresTime;
 
 }
diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthResetPasswordReqVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthResetPasswordReqVO.java
index e25139a31..9543714d9 100644
--- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthResetPasswordReqVO.java
+++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthResetPasswordReqVO.java
@@ -20,18 +20,18 @@ import javax.validation.constraints.Pattern;
 @Builder
 public class AppAuthResetPasswordReqVO {
 
-    @Schema(description = "新密码", required = true, example = "buzhidao")
+    @Schema(description = "新密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "buzhidao")
     @NotEmpty(message = "新密码不能为空")
     @Length(min = 4, max = 16, message = "密码长度为 4-16 位")
     private String password;
 
-    @Schema(description = "手机验证码", required = true, example = "1024")
+    @Schema(description = "手机验证码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "手机验证码不能为空")
     @Length(min = 4, max = 6, message = "手机验证码长度为 4-6 位")
     @Pattern(regexp = "^[0-9]+$", message = "手机验证码必须都是数字")
     private String code;
 
-    @Schema(description = "手机号",required = true,example = "15878962356")
+    @Schema(description = "手机号",requiredMode = Schema.RequiredMode.REQUIRED,example = "15878962356")
     @NotBlank(message = "手机号不能为空")
     @Mobile
     private String mobile;
diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthSmsLoginReqVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthSmsLoginReqVO.java
index c4fb20528..fb0f8a2ee 100644
--- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthSmsLoginReqVO.java
+++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthSmsLoginReqVO.java
@@ -22,12 +22,12 @@ import javax.validation.constraints.Pattern;
 @Builder
 public class AppAuthSmsLoginReqVO {
 
-    @Schema(description = "手机号", required = true, example = "15601691300")
+    @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15601691300")
     @NotEmpty(message = "手机号不能为空")
     @Mobile
     private String mobile;
 
-    @Schema(description = "手机验证码", required = true, example = "1024")
+    @Schema(description = "手机验证码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "手机验证码不能为空")
     @Length(min = 4, max = 6, message = "手机验证码长度为 4-6 位")
     @Pattern(regexp = "^[0-9]+$", message = "手机验证码必须都是数字")
@@ -35,14 +35,14 @@ public class AppAuthSmsLoginReqVO {
 
     // ========== 绑定社交登录时,需要传递如下参数 ==========
 
-    @Schema(description = "社交平台的类型,参见 SysUserSocialTypeEnum 枚举值", required = true, example = "10")
+    @Schema(description = "社交平台的类型,参见 SysUserSocialTypeEnum 枚举值", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     @InEnum(SocialTypeEnum.class)
     private Integer socialType;
 
-    @Schema(description = "授权码", required = true, example = "1024")
+    @Schema(description = "授权码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private String socialCode;
 
-    @Schema(description = "state", required = true, example = "9b2ffbc1-7425-4155-9894-9d5c08541d62")
+    @Schema(description = "state", requiredMode = Schema.RequiredMode.REQUIRED, example = "9b2ffbc1-7425-4155-9894-9d5c08541d62")
     private String socialState;
 
     @AssertTrue(message = "授权码不能为空")
diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthSocialLoginReqVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthSocialLoginReqVO.java
index 21d328064..c05fcb4f8 100644
--- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthSocialLoginReqVO.java
+++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthSocialLoginReqVO.java
@@ -18,16 +18,16 @@ import javax.validation.constraints.NotNull;
 @Builder
 public class AppAuthSocialLoginReqVO {
 
-    @Schema(description = "社交平台的类型,参见 SysUserSocialTypeEnum 枚举值", required = true, example = "10")
+    @Schema(description = "社交平台的类型,参见 SysUserSocialTypeEnum 枚举值", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     @InEnum(SocialTypeEnum.class)
     @NotNull(message = "社交平台的类型不能为空")
     private Integer type;
 
-    @Schema(description = "授权码", required = true, example = "1024")
+    @Schema(description = "授权码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "授权码不能为空")
     private String code;
 
-    @Schema(description = "state", required = true, example = "9b2ffbc1-7425-4155-9894-9d5c08541d62")
+    @Schema(description = "state", requiredMode = Schema.RequiredMode.REQUIRED, example = "9b2ffbc1-7425-4155-9894-9d5c08541d62")
     @NotEmpty(message = "state 不能为空")
     private String state;
 
diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthUpdatePasswordReqVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthUpdatePasswordReqVO.java
index e2a2d25be..62e21cb23 100644
--- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthUpdatePasswordReqVO.java
+++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthUpdatePasswordReqVO.java
@@ -18,12 +18,12 @@ import javax.validation.constraints.NotEmpty;
 @Builder
 public class AppAuthUpdatePasswordReqVO {
 
-    @Schema(description = "用户旧密码", required = true, example = "123456")
+    @Schema(description = "用户旧密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
     @NotBlank(message = "旧密码不能为空")
     @Length(min = 4, max = 16, message = "密码长度为 4-16 位")
     private String oldPassword;
 
-    @Schema(description = "新密码", required = true, example = "buzhidao")
+    @Schema(description = "新密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "buzhidao")
     @NotEmpty(message = "新密码不能为空")
     @Length(min = 4, max = 16, message = "密码长度为 4-16 位")
     private String password;
diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthWeixinMiniAppLoginReqVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthWeixinMiniAppLoginReqVO.java
index 66475d013..11dcdf957 100644
--- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthWeixinMiniAppLoginReqVO.java
+++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthWeixinMiniAppLoginReqVO.java
@@ -15,11 +15,11 @@ import javax.validation.constraints.NotEmpty;
 @Builder
 public class AppAuthWeixinMiniAppLoginReqVO {
 
-    @Schema(description = "手机 code,小程序通过 wx.getPhoneNumber 方法获得", required = true, example = "hello")
+    @Schema(description = "手机 code,小程序通过 wx.getPhoneNumber 方法获得", requiredMode = Schema.RequiredMode.REQUIRED, example = "hello")
     @NotEmpty(message = "手机 code 不能为空")
     private String phoneCode;
 
-    @Schema(description = "登录 code,小程序通过 wx.login 方法获得", required = true, example = "word")
+    @Schema(description = "登录 code,小程序通过 wx.login 方法获得", requiredMode = Schema.RequiredMode.REQUIRED, example = "word")
     @NotEmpty(message = "登录 code 不能为空")
     private String loginCode;
 
diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/social/vo/AppSocialUserBindReqVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/social/vo/AppSocialUserBindReqVO.java
index bd57ae155..a5f43fcb8 100644
--- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/social/vo/AppSocialUserBindReqVO.java
+++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/social/vo/AppSocialUserBindReqVO.java
@@ -18,16 +18,16 @@ import javax.validation.constraints.NotNull;
 @Builder
 public class AppSocialUserBindReqVO {
 
-    @Schema(description = "社交平台的类型,参见 SysUserSocialTypeEnum 枚举值", required = true, example = "10")
+    @Schema(description = "社交平台的类型,参见 SysUserSocialTypeEnum 枚举值", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     @InEnum(SocialTypeEnum.class)
     @NotNull(message = "社交平台的类型不能为空")
     private Integer type;
 
-    @Schema(description = "授权码", required = true, example = "1024")
+    @Schema(description = "授权码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "授权码不能为空")
     private String code;
 
-    @Schema(description = "state", required = true, example = "9b2ffbc1-7425-4155-9894-9d5c08541d62")
+    @Schema(description = "state", requiredMode = Schema.RequiredMode.REQUIRED, example = "9b2ffbc1-7425-4155-9894-9d5c08541d62")
     @NotEmpty(message = "state 不能为空")
     private String state;
 
diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/social/vo/AppSocialUserUnbindReqVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/social/vo/AppSocialUserUnbindReqVO.java
index 7182643e6..c5337f984 100644
--- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/social/vo/AppSocialUserUnbindReqVO.java
+++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/social/vo/AppSocialUserUnbindReqVO.java
@@ -18,12 +18,12 @@ import javax.validation.constraints.NotNull;
 @Builder
 public class AppSocialUserUnbindReqVO {
 
-    @Schema(description = "社交平台的类型,参见 SysUserSocialTypeEnum 枚举值", required = true, example = "10")
+    @Schema(description = "社交平台的类型,参见 SysUserSocialTypeEnum 枚举值", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     @InEnum(SocialTypeEnum.class)
     @NotNull(message = "社交平台的类型不能为空")
     private Integer type;
 
-    @Schema(description = "社交用户的 openid", required = true, example = "IPRmJ0wvBptiPIlGEZiPewGwiEiE")
+    @Schema(description = "社交用户的 openid", requiredMode = Schema.RequiredMode.REQUIRED, example = "IPRmJ0wvBptiPIlGEZiPewGwiEiE")
     @NotEmpty(message = "社交用户的 openid 不能为空")
     private String openid;
 
diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/vo/AppUserInfoRespVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/vo/AppUserInfoRespVO.java
index ef0c3193b..fc7b59f87 100644
--- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/vo/AppUserInfoRespVO.java
+++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/vo/AppUserInfoRespVO.java
@@ -11,12 +11,12 @@ import lombok.NoArgsConstructor;
 @AllArgsConstructor
 public class AppUserInfoRespVO {
 
-    @Schema(description = "用户昵称", required = true, example = "芋艿")
+    @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
     private String nickname;
 
-    @Schema(description = "用户头像", required = true, example = "/infra/file/get/35a12e57-4297-4faa-bf7d-7ed2f211c952")
+    @Schema(description = "用户头像", requiredMode = Schema.RequiredMode.REQUIRED, example = "/infra/file/get/35a12e57-4297-4faa-bf7d-7ed2f211c952")
     private String avatar;
 
-    @Schema(description = "用户手机号", required = true, example = "15601691300")
+    @Schema(description = "用户手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15601691300")
     private String mobile;
 }
diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/vo/AppUserUpdateMobileReqVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/vo/AppUserUpdateMobileReqVO.java
index d6edf48b9..c6ec7a90c 100644
--- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/vo/AppUserUpdateMobileReqVO.java
+++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/vo/AppUserUpdateMobileReqVO.java
@@ -19,19 +19,19 @@ import javax.validation.constraints.Pattern;
 @Builder
 public class AppUserUpdateMobileReqVO {
 
-    @Schema(description = "手机验证码", required = true, example = "1024")
+    @Schema(description = "手机验证码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "手机验证码不能为空")
     @Length(min = 4, max = 6, message = "手机验证码长度为 4-6 位")
     @Pattern(regexp = "^[0-9]+$", message = "手机验证码必须都是数字")
     private String code;
 
-    @Schema(description = "手机号",required = true,example = "15823654487")
+    @Schema(description = "手机号",requiredMode = Schema.RequiredMode.REQUIRED,example = "15823654487")
     @NotBlank(message = "手机号不能为空")
     @Length(min = 8, max = 11, message = "手机号码长度为 8-11 位")
     @Mobile
     private String mobile;
 
-    @Schema(description = "原手机验证码", required = true, example = "1024")
+    @Schema(description = "原手机验证码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "原手机验证码不能为空")
     @Length(min = 4, max = 6, message = "手机验证码长度为 4-6 位")
     @Pattern(regexp = "^[0-9]+$", message = "手机验证码必须都是数字")
@@ -39,7 +39,7 @@ public class AppUserUpdateMobileReqVO {
 
     // TODO @芋艿:oldMobile 应该不用传递
 
-    @Schema(description = "原手机号",required = true,example = "15823654487")
+    @Schema(description = "原手机号",requiredMode = Schema.RequiredMode.REQUIRED,example = "15823654487")
     @NotBlank(message = "手机号不能为空")
     @Length(min = 8, max = 11, message = "手机号码长度为 8-11 位")
     @Mobile
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountBaseVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountBaseVO.java
index cda7ec629..8f688309d 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountBaseVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountBaseVO.java
@@ -14,23 +14,23 @@ import javax.validation.constraints.NotEmpty;
 @Data
 public class MpAccountBaseVO {
 
-    @Schema(description = "公众号名称", required = true, example = "芋道源码")
+    @Schema(description = "公众号名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道源码")
     @NotEmpty(message = "公众号名称不能为空")
     private String name;
 
-    @Schema(description = "公众号微信号", required = true, example = "yudaoyuanma")
+    @Schema(description = "公众号微信号", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudaoyuanma")
     @NotEmpty(message = "公众号微信号不能为空")
     private String account;
 
-    @Schema(description = "公众号 appId", required = true, example = "wx5b23ba7a5589ecbb")
+    @Schema(description = "公众号 appId", requiredMode = Schema.RequiredMode.REQUIRED, example = "wx5b23ba7a5589ecbb")
     @NotEmpty(message = "公众号 appId 不能为空")
     private String appId;
 
-    @Schema(description = "公众号密钥", required = true, example = "3a7b3b20c537e52e74afd395eb85f61f")
+    @Schema(description = "公众号密钥", requiredMode = Schema.RequiredMode.REQUIRED, example = "3a7b3b20c537e52e74afd395eb85f61f")
     @NotEmpty(message = "公众号密钥不能为空")
     private String appSecret;
 
-    @Schema(description = "公众号 token", required = true, example = "kangdayuzhen")
+    @Schema(description = "公众号 token", requiredMode = Schema.RequiredMode.REQUIRED, example = "kangdayuzhen")
     @NotEmpty(message = "公众号 token 不能为空")
     private String token;
 
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountRespVO.java
index 9914494ce..cb37bb2de 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountRespVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountRespVO.java
@@ -13,13 +13,13 @@ import java.util.Date;
 @ToString(callSuper = true)
 public class MpAccountRespVO extends MpAccountBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
     @Schema(description = "二维码图片URL", example = "https://www.iocoder.cn/1024.png")
     private String qrCodeUrl;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private Date createTime;
 
 }
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountSimpleRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountSimpleRespVO.java
index 6d63f0ef7..db4594f6d 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountSimpleRespVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountSimpleRespVO.java
@@ -7,10 +7,10 @@ import lombok.Data;
 @Data
 public class MpAccountSimpleRespVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "公众号名称", required = true, example = "芋道源码")
+    @Schema(description = "公众号名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道源码")
     private String name;
 
 }
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountUpdateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountUpdateReqVO.java
index c19e0acac..e93123e6c 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountUpdateReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/account/vo/MpAccountUpdateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class MpAccountUpdateReqVO extends MpAccountBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "编号不能为空")
     private Long id;
 
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialPageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialPageReqVO.java
index ce3b0f9e7..8a2b60ff6 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialPageReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialPageReqVO.java
@@ -14,7 +14,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class MpMaterialPageReqVO extends PageParam {
 
-    @Schema(description = "公众号账号的编号", required = true, example = "2048")
+    @Schema(description = "公众号账号的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     @NotNull(message = "公众号账号的编号不能为空")
     private Long accountId;
 
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialRespVO.java
index a93dfd994..222a4225b 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialRespVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialRespVO.java
@@ -9,24 +9,24 @@ import java.util.Date;
 @Data
 public class MpMaterialRespVO {
 
-    @Schema(description = "主键", required = true, example = "1024")
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "公众号账号的编号", required = true, example = "1")
+    @Schema(description = "公众号账号的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long accountId;
-    @Schema(description = "公众号账号的 appId", required = true, example = "wx1234567890")
+    @Schema(description = "公众号账号的 appId", requiredMode = Schema.RequiredMode.REQUIRED, example = "wx1234567890")
     private String appId;
 
-    @Schema(description = "素材的 media_id", required = true, example = "123")
+    @Schema(description = "素材的 media_id", requiredMode = Schema.RequiredMode.REQUIRED, example = "123")
     private String mediaId;
 
-    @Schema(description = "文件类型 参见 WxConsts.MediaFileType 枚举", required = true, example = "image")
+    @Schema(description = "文件类型 参见 WxConsts.MediaFileType 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "image")
     private String type;
 
-    @Schema(description = "是否永久 true - 永久;false - 临时", required = true, example = "true")
+    @Schema(description = "是否永久 true - 永久;false - 临时", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     private Boolean permanent;
 
-    @Schema(description = "素材的 URL", required = true, example = "https://www.iocoder.cn/1.png")
+    @Schema(description = "素材的 URL", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/1.png")
     private String url;
 
 
@@ -41,7 +41,7 @@ public class MpMaterialRespVO {
     @Schema(description = "视频素材的描述 只有【永久素材】使用", example = "我是介绍")
     private String introduction;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private Date createTime;
 
 }
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialUploadNewsImageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialUploadNewsImageReqVO.java
index 5dd689a68..6ede4c5eb 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialUploadNewsImageReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialUploadNewsImageReqVO.java
@@ -11,11 +11,11 @@ import javax.validation.constraints.NotNull;
 @Data
 public class MpMaterialUploadNewsImageReqVO {
 
-    @Schema(description = "公众号账号的编号", required = true, example = "2048")
+    @Schema(description = "公众号账号的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     @NotNull(message = "公众号账号的编号不能为空")
     private Long accountId;
 
-    @Schema(description = "文件附件", required = true)
+    @Schema(description = "文件附件", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "文件不能为空")
     @JsonIgnore // 避免被操作日志,进行序列化,导致报错
     private MultipartFile file;
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialUploadPermanentReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialUploadPermanentReqVO.java
index 93d0a863e..9ca8a4ad8 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialUploadPermanentReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialUploadPermanentReqVO.java
@@ -15,15 +15,15 @@ import javax.validation.constraints.NotNull;
 @Data
 public class MpMaterialUploadPermanentReqVO {
 
-    @Schema(description = "公众号账号的编号", required = true, example = "2048")
+    @Schema(description = "公众号账号的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     @NotNull(message = "公众号账号的编号不能为空")
     private Long accountId;
 
-    @Schema(description = "文件类型 参见 WxConsts.MediaFileType 枚举", required = true, example = "image")
+    @Schema(description = "文件类型 参见 WxConsts.MediaFileType 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "image")
     @NotEmpty(message = "文件类型不能为空")
     private String type;
 
-    @Schema(description = "文件附件", required = true)
+    @Schema(description = "文件附件", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "文件不能为空")
     @JsonIgnore // 避免被操作日志,进行序列化,导致报错
     private MultipartFile file;
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialUploadRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialUploadRespVO.java
index d6a257e03..0174cbcc2 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialUploadRespVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialUploadRespVO.java
@@ -7,10 +7,10 @@ import lombok.Data;
 @Data
 public class MpMaterialUploadRespVO {
 
-    @Schema(description = "素材的 media_id", required = true, example = "123")
+    @Schema(description = "素材的 media_id", requiredMode = Schema.RequiredMode.REQUIRED, example = "123")
     private String mediaId;
 
-    @Schema(description = "素材的 URL", required = true, example = "https://www.iocoder.cn/1.png")
+    @Schema(description = "素材的 URL", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/1.png")
     private String url;
 
 }
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialUploadTemporaryReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialUploadTemporaryReqVO.java
index 5d0f7cafe..abd6d06d1 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialUploadTemporaryReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/material/vo/MpMaterialUploadTemporaryReqVO.java
@@ -12,15 +12,15 @@ import javax.validation.constraints.NotNull;
 @Data
 public class MpMaterialUploadTemporaryReqVO {
 
-    @Schema(description = "公众号账号的编号", required = true, example = "2048")
+    @Schema(description = "公众号账号的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     @NotNull(message = "公众号账号的编号不能为空")
     private Long accountId;
 
-    @Schema(description = "文件类型 参见 WxConsts.MediaFileType 枚举", required = true, example = "image")
+    @Schema(description = "文件类型 参见 WxConsts.MediaFileType 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "image")
     @NotEmpty(message = "文件类型不能为空")
     private String type;
 
-    @Schema(description = "文件附件", required = true)
+    @Schema(description = "文件附件", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "文件不能为空")
     @JsonIgnore // 避免被操作日志,进行序列化,导致报错
     private MultipartFile file;
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/MpMenuRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/MpMenuRespVO.java
index 0d51b1064..253e2d117 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/MpMenuRespVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/MpMenuRespVO.java
@@ -13,16 +13,16 @@ import java.util.Date;
 @ToString(callSuper = true)
 public class MpMenuRespVO extends MpMenuBaseVO {
 
-    @Schema(description = "主键", required = true, example = "1024")
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "公众号账号的编号", required = true, example = "2048")
+    @Schema(description = "公众号账号的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     private Long accountId;
 
-    @Schema(description = "公众号 appId", required = true, example = "wx1234567890ox")
+    @Schema(description = "公众号 appId", requiredMode = Schema.RequiredMode.REQUIRED, example = "wx1234567890ox")
     private String appId;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private Date createTime;
 
 }
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/MpMenuSaveReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/MpMenuSaveReqVO.java
index 43b7ff733..580e62845 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/MpMenuSaveReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/menu/vo/MpMenuSaveReqVO.java
@@ -12,7 +12,7 @@ import java.util.List;
 @Data
 public class MpMenuSaveReqVO {
 
-    @Schema(description = "公众号账号的编号", required = true, example = "2048")
+    @Schema(description = "公众号账号的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     @NotNull(message = "公众号账号的编号不能为空")
     private Long accountId;
 
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/autoreply/MpAutoReplyCreateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/autoreply/MpAutoReplyCreateReqVO.java
index 1e2694886..5eafb3693 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/autoreply/MpAutoReplyCreateReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/autoreply/MpAutoReplyCreateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class MpAutoReplyCreateReqVO extends MpAutoReplyBaseVO {
 
-    @Schema(description = "公众号账号的编号", required = true, example = "1024")
+    @Schema(description = "公众号账号的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "公众号账号的编号不能为空")
     private Long accountId;
 
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/autoreply/MpAutoReplyPageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/autoreply/MpAutoReplyPageReqVO.java
index ee3794f56..a68029e92 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/autoreply/MpAutoReplyPageReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/autoreply/MpAutoReplyPageReqVO.java
@@ -14,7 +14,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class MpAutoReplyPageReqVO extends PageParam {
 
-    @Schema(description = "公众号账号的编号", required = true, example = "1")
+    @Schema(description = "公众号账号的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "公众号账号的编号不能为空")
     private Long accountId;
 
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/autoreply/MpAutoReplyRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/autoreply/MpAutoReplyRespVO.java
index 9bd1aaaa7..65e0c4522 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/autoreply/MpAutoReplyRespVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/autoreply/MpAutoReplyRespVO.java
@@ -13,15 +13,15 @@ import java.util.Date;
 @ToString(callSuper = true)
 public class MpAutoReplyRespVO extends MpAutoReplyBaseVO {
 
-    @Schema(description = "主键", required = true, example = "1024")
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "公众号账号的编号", required = true, example = "1024")
+    @Schema(description = "公众号账号的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long accountId;
-    @Schema(description = "公众号 appId", required = true, example = "wx1234567890")
+    @Schema(description = "公众号 appId", requiredMode = Schema.RequiredMode.REQUIRED, example = "wx1234567890")
     private String appId;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private Date createTime;
 
 }
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/autoreply/MpAutoReplyUpdateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/autoreply/MpAutoReplyUpdateReqVO.java
index 5478c687b..92095d773 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/autoreply/MpAutoReplyUpdateReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/autoreply/MpAutoReplyUpdateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class MpAutoReplyUpdateReqVO extends MpAutoReplyBaseVO {
 
-    @Schema(description = "主键", required = true, example = "1024")
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "主键不能为空")
     private Long id;
 
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/message/MpMessagePageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/message/MpMessagePageReqVO.java
index b4ead5705..3ca643ca6 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/message/MpMessagePageReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/message/MpMessagePageReqVO.java
@@ -18,7 +18,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @ToString(callSuper = true)
 public class MpMessagePageReqVO extends PageParam {
 
-    @Schema(description = "公众号账号的编号", required = true, example = "1024")
+    @Schema(description = "公众号账号的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "公众号账号的编号不能为空")
     private Long accountId;
 
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/message/MpMessageRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/message/MpMessageRespVO.java
index 3e2bfef60..ac2c49c9f 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/message/MpMessageRespVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/message/MpMessageRespVO.java
@@ -13,25 +13,25 @@ import java.util.List;
 @Data
 public class MpMessageRespVO {
 
-    @Schema(description = "主键", required = true, example = "1024")
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Integer id;
 
-    @Schema(description = "微信公众号消息 id", required = true, example = "23953173569869169")
+    @Schema(description = "微信公众号消息 id", requiredMode = Schema.RequiredMode.REQUIRED, example = "23953173569869169")
     private Long msgId;
 
-    @Schema(description = "公众号账号的编号", required = true, example = "1")
+    @Schema(description = "公众号账号的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long accountId;
-    @Schema(description = "公众号账号的 appid", required = true, example = "wx1234567890")
+    @Schema(description = "公众号账号的 appid", requiredMode = Schema.RequiredMode.REQUIRED, example = "wx1234567890")
     private String appId;
 
-    @Schema(description = "公众号粉丝编号", required = true, example = "2048")
+    @Schema(description = "公众号粉丝编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     private Long userId;
-    @Schema(description = "公众号粉丝标志", required = true, example = "o6_bmjrPTlm6_2sgVt7hMZOPfL2M")
+    @Schema(description = "公众号粉丝标志", requiredMode = Schema.RequiredMode.REQUIRED, example = "o6_bmjrPTlm6_2sgVt7hMZOPfL2M")
     private String openid;
 
-    @Schema(description = "消息类型 参见 WxConsts.XmlMsgType 枚举", required = true, example = "text")
+    @Schema(description = "消息类型 参见 WxConsts.XmlMsgType 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "text")
     private String type;
-    @Schema(description = "消息来源 参见 MpMessageSendFromEnum 枚举", required = true, example = "1")
+    @Schema(description = "消息来源 参见 MpMessageSendFromEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer sendFrom;
 
     // ========= 普通消息内容 https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_standard_messages.html
@@ -95,7 +95,7 @@ public class MpMessageRespVO {
     @Schema(description = "事件 Key 参见 WxConsts.EventType 枚举", example = "qrscene_123456")
     private String eventKey;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private Date createTime;
 
 }
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/message/MpMessageSendReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/message/MpMessageSendReqVO.java
index 465cbff60..8e833d443 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/message/MpMessageSendReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/message/vo/message/MpMessageSendReqVO.java
@@ -14,37 +14,37 @@ import java.util.List;
 @Data
 public class MpMessageSendReqVO {
 
-    @Schema(description = "公众号粉丝的编号", required = true, example = "1024")
+    @Schema(description = "公众号粉丝的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "公众号粉丝的编号不能为空")
     private Long userId;
 
     // ========== 消息内容 ==========
 
-    @Schema(description = "消息类型 TEXT/IMAGE/VOICE/VIDEO/NEWS", required = true, example = "text")
+    @Schema(description = "消息类型 TEXT/IMAGE/VOICE/VIDEO/NEWS", requiredMode = Schema.RequiredMode.REQUIRED, example = "text")
     @NotEmpty(message = "消息类型不能为空")
     public String type;
 
-    @Schema(description = "消息内容", required = true, example = "你好呀")
+    @Schema(description = "消息内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "你好呀")
     @NotEmpty(message = "消息内容不能为空", groups = TextMessageGroup.class)
     private String content;
 
-    @Schema(description = "媒体 ID", required = true, example = "qqc_2Fot30Jse-HDoZmo5RrUDijz2nGUkP")
+    @Schema(description = "媒体 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "qqc_2Fot30Jse-HDoZmo5RrUDijz2nGUkP")
     @NotEmpty(message = "消息内容不能为空", groups = {ImageMessageGroup.class, VoiceMessageGroup.class, VideoMessageGroup.class})
     private String mediaId;
 
-    @Schema(description = "标题", required = true, example = "没有标题")
+    @Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "没有标题")
     @NotEmpty(message = "消息内容不能为空", groups = VideoMessageGroup.class)
     private String title;
 
-    @Schema(description = "描述", required = true, example = "你猜")
+    @Schema(description = "描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜")
     @NotEmpty(message = "消息描述不能为空", groups = VideoMessageGroup.class)
     private String description;
 
-    @Schema(description = "缩略图的媒体 id", required = true, example = "qqc_2Fot30Jse-HDoZmo5RrUDijz2nGUkP")
+    @Schema(description = "缩略图的媒体 id", requiredMode = Schema.RequiredMode.REQUIRED, example = "qqc_2Fot30Jse-HDoZmo5RrUDijz2nGUkP")
     @NotEmpty(message = "缩略图的媒体 id 不能为空", groups = MusicMessageGroup.class)
     private String thumbMediaId;
 
-    @Schema(description = "图文消息", required = true)
+    @Schema(description = "图文消息", requiredMode = Schema.RequiredMode.REQUIRED)
     @Valid
     @NotNull(message = "图文消息不能为空", groups = NewsMessageGroup.class)
     private List<MpMessageDO.Article> articles;
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/news/vo/MpDraftPageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/news/vo/MpDraftPageReqVO.java
index 5c285f627..62bc6f8e5 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/news/vo/MpDraftPageReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/news/vo/MpDraftPageReqVO.java
@@ -14,7 +14,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class MpDraftPageReqVO extends PageParam {
 
-    @Schema(description = "公众号账号的编号", required = true, example = "1024")
+    @Schema(description = "公众号账号的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "公众号账号的编号不能为空")
     private Long accountId;
 
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/news/vo/MpFreePublishPageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/news/vo/MpFreePublishPageReqVO.java
index 51f2c6c74..da36248f0 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/news/vo/MpFreePublishPageReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/news/vo/MpFreePublishPageReqVO.java
@@ -14,7 +14,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class MpFreePublishPageReqVO extends PageParam {
 
-    @Schema(description = "公众号账号的编号", required = true, example = "1024")
+    @Schema(description = "公众号账号的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "公众号账号的编号不能为空")
     private Long accountId;
 
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/open/vo/MpOpenCheckSignatureReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/open/vo/MpOpenCheckSignatureReqVO.java
index 67dfa6232..c0c73a8ed 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/open/vo/MpOpenCheckSignatureReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/open/vo/MpOpenCheckSignatureReqVO.java
@@ -9,19 +9,19 @@ import javax.validation.constraints.NotEmpty;
 @Data
 public class MpOpenCheckSignatureReqVO {
 
-    @Schema(description = "微信加密签名", required = true, example = "490eb57f448b87bd5f20ccef58aa4de46aa1908e")
+    @Schema(description = "微信加密签名", requiredMode = Schema.RequiredMode.REQUIRED, example = "490eb57f448b87bd5f20ccef58aa4de46aa1908e")
     @NotEmpty(message = "微信加密签名不能为空")
     private String signature;
 
-    @Schema(description = "时间戳", required = true, example = "1672587863")
+    @Schema(description = "时间戳", requiredMode = Schema.RequiredMode.REQUIRED, example = "1672587863")
     @NotEmpty(message = "时间戳不能为空")
     private String timestamp;
 
-    @Schema(description = "随机数", required = true, example = "1827365808")
+    @Schema(description = "随机数", requiredMode = Schema.RequiredMode.REQUIRED, example = "1827365808")
     @NotEmpty(message = "随机数不能为空")
     private String nonce;
 
-    @Schema(description = "随机字符串", required = true, example = "2721154047828672511")
+    @Schema(description = "随机字符串", requiredMode = Schema.RequiredMode.REQUIRED, example = "2721154047828672511")
     @NotEmpty(message = "随机字符串不能为空")
     @SuppressWarnings("SpellCheckingInspection")
     private String echostr;
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/open/vo/MpOpenHandleMessageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/open/vo/MpOpenHandleMessageReqVO.java
index 4f9e51699..cb8f9abf2 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/open/vo/MpOpenHandleMessageReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/open/vo/MpOpenHandleMessageReqVO.java
@@ -12,19 +12,19 @@ public class MpOpenHandleMessageReqVO {
 
     public static final String ENCRYPT_TYPE_AES = "aes";
 
-    @Schema(description = "微信加密签名", required = true, example = "490eb57f448b87bd5f20ccef58aa4de46aa1908e")
+    @Schema(description = "微信加密签名", requiredMode = Schema.RequiredMode.REQUIRED, example = "490eb57f448b87bd5f20ccef58aa4de46aa1908e")
     @NotEmpty(message = "微信加密签名不能为空")
     private String signature;
 
-    @Schema(description = "时间戳", required = true, example = "1672587863")
+    @Schema(description = "时间戳", requiredMode = Schema.RequiredMode.REQUIRED, example = "1672587863")
     @NotEmpty(message = "时间戳不能为空")
     private String timestamp;
 
-    @Schema(description = "随机数", required = true, example = "1827365808")
+    @Schema(description = "随机数", requiredMode = Schema.RequiredMode.REQUIRED, example = "1827365808")
     @NotEmpty(message = "随机数不能为空")
     private String nonce;
 
-    @Schema(description = "粉丝 openid", required = true, example = "oz-Jdtyn-WGm4C4I5Z-nvBMO_ZfY")
+    @Schema(description = "粉丝 openid", requiredMode = Schema.RequiredMode.REQUIRED, example = "oz-Jdtyn-WGm4C4I5Z-nvBMO_ZfY")
     @NotEmpty(message = "粉丝 openid 不能为空")
     private String openid;
 
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsGetReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsGetReqVO.java
index 19b8537e6..904c5d13e 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsGetReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsGetReqVO.java
@@ -13,7 +13,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @Data
 public class MpStatisticsGetReqVO {
 
-    @Schema(description = "公众号账号的编号", required = true, example = "1024")
+    @Schema(description = "公众号账号的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "公众号账号的编号不能为空")
     private Long accountId;
 
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsInterfaceSummaryRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsInterfaceSummaryRespVO.java
index 78db7666c..c0db71a83 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsInterfaceSummaryRespVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsInterfaceSummaryRespVO.java
@@ -9,19 +9,19 @@ import java.util.Date;
 @Data
 public class MpStatisticsInterfaceSummaryRespVO {
 
-    @Schema(description = "日期", required = true)
+    @Schema(description = "日期", requiredMode = Schema.RequiredMode.REQUIRED)
     private Date refDate;
 
-    @Schema(description = "通过服务器配置地址获得消息后,被动回复粉丝消息的次数", required = true, example = "10")
+    @Schema(description = "通过服务器配置地址获得消息后,被动回复粉丝消息的次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     private Integer callbackCount;
 
-    @Schema(description = "上述动作的失败次数", required = true, example = "20")
+    @Schema(description = "上述动作的失败次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "20")
     private Integer failCount;
 
-    @Schema(description = "总耗时,除以 callback_count 即为平均耗时", required = true, example = "30")
+    @Schema(description = "总耗时,除以 callback_count 即为平均耗时", requiredMode = Schema.RequiredMode.REQUIRED, example = "30")
     private Integer totalTimeCost;
 
-    @Schema(description = "最大耗时", required = true, example = "40")
+    @Schema(description = "最大耗时", requiredMode = Schema.RequiredMode.REQUIRED, example = "40")
     private Integer maxTimeCost;
 
 }
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsUpstreamMessageRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsUpstreamMessageRespVO.java
index 0f2a71916..4c05a82e7 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsUpstreamMessageRespVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsUpstreamMessageRespVO.java
@@ -9,13 +9,13 @@ import java.util.Date;
 @Data
 public class MpStatisticsUpstreamMessageRespVO {
 
-    @Schema(description = "日期", required = true)
+    @Schema(description = "日期", requiredMode = Schema.RequiredMode.REQUIRED)
     private Date refDate;
 
-    @Schema(description = "上行发送了(向公众号发送了)消息的粉丝数", required = true, example = "10")
+    @Schema(description = "上行发送了(向公众号发送了)消息的粉丝数", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     private Integer messageUser;
 
-    @Schema(description = "上行发送了消息的消息总数", required = true, example = "20")
+    @Schema(description = "上行发送了消息的消息总数", requiredMode = Schema.RequiredMode.REQUIRED, example = "20")
     private Integer messageCount;
 
 }
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsUserCumulateRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsUserCumulateRespVO.java
index 630c193b5..300b29ce4 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsUserCumulateRespVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsUserCumulateRespVO.java
@@ -9,10 +9,10 @@ import java.util.Date;
 @Data
 public class MpStatisticsUserCumulateRespVO {
 
-    @Schema(description = "日期", required = true)
+    @Schema(description = "日期", requiredMode = Schema.RequiredMode.REQUIRED)
     private Date refDate;
 
-    @Schema(description = "累计粉丝量", required = true, example = "10")
+    @Schema(description = "累计粉丝量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     private Integer cumulateUser;
 
 }
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsUserSummaryRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsUserSummaryRespVO.java
index b99f554ab..4e957a601 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsUserSummaryRespVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsUserSummaryRespVO.java
@@ -9,16 +9,16 @@ import java.util.Date;
 @Data
 public class MpStatisticsUserSummaryRespVO {
 
-    @Schema(description = "日期", required = true)
+    @Schema(description = "日期", requiredMode = Schema.RequiredMode.REQUIRED)
     private Date refDate;
 
-    @Schema(description = "粉丝来源", required = true, example = "0")
+    @Schema(description = "粉丝来源", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
     private Integer userSource;
 
-    @Schema(description = "新关注的粉丝数量", required = true, example = "10")
+    @Schema(description = "新关注的粉丝数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     private Integer newUser;
 
-    @Schema(description = "取消关注的粉丝数量", required = true, example = "20")
+    @Schema(description = "取消关注的粉丝数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "20")
     private Integer cancelUser;
 
 }
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagBaseVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagBaseVO.java
index f9cc47c35..dc034e3e8 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagBaseVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagBaseVO.java
@@ -14,7 +14,7 @@ import javax.validation.constraints.NotEmpty;
 @Data
 public class MpTagBaseVO {
 
-    @Schema(description = "标签名", required = true, example = "土豆")
+    @Schema(description = "标签名", requiredMode = Schema.RequiredMode.REQUIRED, example = "土豆")
     @NotEmpty(message = "标签名不能为空")
     private String name;
 
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagCreateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagCreateReqVO.java
index 25fc2093e..ba56a0271 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagCreateReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagCreateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class MpTagCreateReqVO extends MpTagBaseVO {
 
-    @Schema(description = "公众号账号的编号", required = true, example = "2048")
+    @Schema(description = "公众号账号的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     @NotNull(message = "公众号账号的编号不能为空")
     private Long accountId;
 
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagPageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagPageReqVO.java
index b2e3a8643..08cc0531b 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagPageReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagPageReqVO.java
@@ -14,7 +14,7 @@ import javax.validation.constraints.NotEmpty;
 @ToString(callSuper = true)
 public class MpTagPageReqVO extends PageParam {
 
-    @Schema(description = "公众号账号的编号", required = true, example = "2048")
+    @Schema(description = "公众号账号的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     @NotEmpty(message = "公众号账号的编号不能为空")
     private Long accountId;
 
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagRespVO.java
index 3a9a1cd9e..19bf82583 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagRespVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagRespVO.java
@@ -13,13 +13,13 @@ import java.util.Date;
 @ToString(callSuper = true)
 public class MpTagRespVO extends MpTagBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "此标签下粉丝数量", required = true, example = "0")
+    @Schema(description = "此标签下粉丝数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
     private Integer count;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private Date createTime;
 
 }
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagSimpleRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagSimpleRespVO.java
index 9918ef563..ca23be1c8 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagSimpleRespVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagSimpleRespVO.java
@@ -7,13 +7,13 @@ import lombok.Data;
 @Data
 public class MpTagSimpleRespVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "公众号的标签编号", required = true, example = "2048")
+    @Schema(description = "公众号的标签编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     private Long tagId;
 
-    @Schema(description = "标签名称", required = true, example = "快乐")
+    @Schema(description = "标签名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "快乐")
     private String name;
 
 }
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagUpdateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagUpdateReqVO.java
index c8032ca96..cb61f1afb 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagUpdateReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/tag/vo/MpTagUpdateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class MpTagUpdateReqVO extends MpTagBaseVO {
 
-    @Schema(description = "编号", required = true)
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "编号不能为空")
     private Long id;
 
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/user/vo/MpUserPageReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/user/vo/MpUserPageReqVO.java
index c6ef1fad3..814a4dbb8 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/user/vo/MpUserPageReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/user/vo/MpUserPageReqVO.java
@@ -14,7 +14,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class MpUserPageReqVO extends PageParam {
 
-    @Schema(description = "公众号账号的编号", required = true, example = "2048")
+    @Schema(description = "公众号账号的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     @NotNull(message = "公众号账号的编号不能为空")
     private Long accountId;
 
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/user/vo/MpUserRespVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/user/vo/MpUserRespVO.java
index af2b1de74..a0adcd0a5 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/user/vo/MpUserRespVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/user/vo/MpUserRespVO.java
@@ -11,15 +11,15 @@ import java.util.List;
 @Data
 public class MpUserRespVO  {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "公众号粉丝标识", required = true, example = "o6_bmjrPTlm6_2sgVt7hMZOPfL2M")
+    @Schema(description = "公众号粉丝标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "o6_bmjrPTlm6_2sgVt7hMZOPfL2M")
     private String openid;
 
-    @Schema(description = "关注状态 参见 CommonStatusEnum 枚举", required = true, example = "1")
+    @Schema(description = "关注状态 参见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer subscribeStatus;
-    @Schema(description = "关注时间", required = true)
+    @Schema(description = "关注时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime subscribeTime;
     @Schema(description = "取消关注时间")
     private LocalDateTime unsubscribeTime;
@@ -42,12 +42,12 @@ public class MpUserRespVO  {
     @Schema(description = "标签编号数组", example = "1,2,3")
     private List<Long> tagIds;
 
-    @Schema(description = "公众号账号的编号", required = true, example = "1")
+    @Schema(description = "公众号账号的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long accountId;
-    @Schema(description = "公众号账号的 appId", required = true, example = "wx1234567890")
+    @Schema(description = "公众号账号的 appId", requiredMode = Schema.RequiredMode.REQUIRED, example = "wx1234567890")
     private String appId;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private Date createTime;
 
 }
diff --git a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/user/vo/MpUserUpdateReqVO.java b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/user/vo/MpUserUpdateReqVO.java
index 6174f6c4c..3089ed3d3 100644
--- a/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/user/vo/MpUserUpdateReqVO.java
+++ b/yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/user/vo/MpUserUpdateReqVO.java
@@ -10,7 +10,7 @@ import java.util.List;
 @Data
 public class MpUserUpdateReqVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "编号不能为空")
     private Long id;
 
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/demo/vo/PayDemoOrderCreateReqVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/demo/vo/PayDemoOrderCreateReqVO.java
index 8b129ce8a..9960ada48 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/demo/vo/PayDemoOrderCreateReqVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/demo/vo/PayDemoOrderCreateReqVO.java
@@ -10,7 +10,7 @@ import javax.validation.constraints.NotNull;
 @Data
 public class PayDemoOrderCreateReqVO {
 
-    @Schema(description = "商品编号", required = true, example = "17682")
+    @Schema(description = "商品编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "17682")
     @NotNull(message = "商品编号不能为空")
     private Long spuId;
 
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/demo/vo/PayDemoOrderRespVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/demo/vo/PayDemoOrderRespVO.java
index fa56d4a84..d825cd18a 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/demo/vo/PayDemoOrderRespVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/demo/vo/PayDemoOrderRespVO.java
@@ -12,22 +12,22 @@ import java.time.LocalDateTime;
 @Data
 public class PayDemoOrderRespVO {
 
-    @Schema(description = "订单编号", required = true, example = "1024")
+    @Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "用户编号", required = true, example = "23199")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "23199")
     private Long userId;
 
-    @Schema(description = "商品编号", required = true, example = "17682")
+    @Schema(description = "商品编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "17682")
     private Long spuId;
 
     @Schema(description = "商家备注", example = "李四")
     private String spuName;
 
-    @Schema(description = "价格,单位:分", required = true, example = "30381")
+    @Schema(description = "价格,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "30381")
     private Integer price;
 
-    @Schema(description = "是否已支付", required = true)
+    @Schema(description = "是否已支付", requiredMode = Schema.RequiredMode.REQUIRED)
     private Boolean payed;
 
     @Schema(description = "支付订单编号", example = "16863")
@@ -42,13 +42,13 @@ public class PayDemoOrderRespVO {
     @Schema(description = "支付退款编号", example = "23366")
     private Long payRefundId;
 
-    @Schema(description = "退款金额,单位:分", required = true, example = "14039")
+    @Schema(description = "退款金额,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "14039")
     private Integer refundPrice;
 
     @Schema(description = "退款时间")
     private LocalDateTime refundTime;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppBaseVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppBaseVO.java
index 54e62320d..86ea5dce7 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppBaseVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppBaseVO.java
@@ -10,26 +10,26 @@ import javax.validation.constraints.*;
 @Data
 public class PayAppBaseVO {
 
-    @Schema(description = "应用名", required = true)
+    @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "应用名不能为空")
     private String name;
 
-    @Schema(description = "开启状态", required = true)
+    @Schema(description = "开启状态", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "开启状态不能为空")
     private Integer status;
 
     @Schema(description = "备注")
     private String remark;
 
-    @Schema(description = "支付结果的回调地址", required = true)
+    @Schema(description = "支付结果的回调地址", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "支付结果的回调地址不能为空")
     private String payNotifyUrl;
 
-    @Schema(description = "退款结果的回调地址", required = true)
+    @Schema(description = "退款结果的回调地址", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "退款结果的回调地址不能为空")
     private String refundNotifyUrl;
 
-    @Schema(description = "商户编号", required = true)
+    @Schema(description = "商户编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "商户编号不能为空")
     private Long merchantId;
 
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppPageItemRespVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppPageItemRespVO.java
index 72655db05..99c095a32 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppPageItemRespVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppPageItemRespVO.java
@@ -14,10 +14,10 @@ import java.util.Set;
 @ToString(callSuper = true)
 public class PayAppPageItemRespVO extends PayAppBaseVO {
 
-    @Schema(description = "应用编号", required = true)
+    @Schema(description = "应用编号", requiredMode = Schema.RequiredMode.REQUIRED)
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
     /**
@@ -29,15 +29,15 @@ public class PayAppPageItemRespVO extends PayAppBaseVO {
     @Data
     public static class PayMerchant {
 
-        @Schema(description = "商户编号", required = true, example = "1")
+        @Schema(description = "商户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long id;
 
-        @Schema(description = "商户名称", required = true, example = "研发部")
+        @Schema(description = "商户名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部")
         private String name;
 
     }
 
-    @Schema(description = "渠道编码集合", required = true, example = "alipay_pc,alipay_wap...")
+    @Schema(description = "渠道编码集合", requiredMode = Schema.RequiredMode.REQUIRED, example = "alipay_pc,alipay_wap...")
     private Set<String> channelCodes;
 
 
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppRespVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppRespVO.java
index 0bb0c5563..78e6b20b0 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppRespVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppRespVO.java
@@ -10,10 +10,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class PayAppRespVO extends PayAppBaseVO {
 
-    @Schema(description = "应用编号", required = true)
+    @Schema(description = "应用编号", requiredMode = Schema.RequiredMode.REQUIRED)
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppUpdateReqVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppUpdateReqVO.java
index 2d940d5c2..66f865acb 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppUpdateReqVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppUpdateReqVO.java
@@ -9,7 +9,7 @@ import javax.validation.constraints.*;
 @ToString(callSuper = true)
 public class PayAppUpdateReqVO extends PayAppBaseVO {
 
-    @Schema(description = "应用编号", required = true)
+    @Schema(description = "应用编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "应用编号不能为空")
     private Long id;
 
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppUpdateStatusReqVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppUpdateStatusReqVO.java
index 8454f5f2a..5ab4a53e3 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppUpdateStatusReqVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/app/PayAppUpdateStatusReqVO.java
@@ -9,11 +9,11 @@ import javax.validation.constraints.NotNull;
 @Data
 public class PayAppUpdateStatusReqVO {
 
-    @Schema(description = "商户编号", required = true, example = "1024")
+    @Schema(description = "商户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "商户编号不能为空")
     private Long id;
 
-    @Schema(description = "状态,见 SysCommonStatusEnum 枚举", required = true, example = "1")
+    @Schema(description = "状态,见 SysCommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "状态不能为空")
     private Integer status;
 
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelBaseVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelBaseVO.java
index a8f0c1ec9..155066f01 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelBaseVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelBaseVO.java
@@ -10,26 +10,26 @@ import javax.validation.constraints.*;
 @Data
 public class PayChannelBaseVO {
 
-    @Schema(description = "渠道编码", required = true)
+    @Schema(description = "渠道编码", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "渠道编码不能为空")
     private String code;
 
-    @Schema(description = "开启状态", required = true)
+    @Schema(description = "开启状态", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "开启状态不能为空")
     private Integer status;
 
     @Schema(description = "备注")
     private String remark;
 
-    @Schema(description = "渠道费率,单位:百分比", required = true)
+    @Schema(description = "渠道费率,单位:百分比", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "渠道费率,单位:百分比不能为空")
     private Double feeRate;
 
-    @Schema(description = "商户编号", required = true)
+    @Schema(description = "商户编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "商户编号不能为空")
     private Long merchantId;
 
-    @Schema(description = "应用编号", required = true)
+    @Schema(description = "应用编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "应用编号不能为空")
     private Long appId;
 
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelRespVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelRespVO.java
index 5fa189e18..3defb466c 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelRespVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelRespVO.java
@@ -10,12 +10,12 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class PayChannelRespVO extends PayChannelBaseVO {
 
-    @Schema(description = "商户编号", required = true)
+    @Schema(description = "商户编号", requiredMode = Schema.RequiredMode.REQUIRED)
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
-    @Schema(description = "配置", required = true)
+    @Schema(description = "配置", requiredMode = Schema.RequiredMode.REQUIRED)
     private String config;
 }
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelUpdateReqVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelUpdateReqVO.java
index 959c069b4..fc078dc70 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelUpdateReqVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/channel/PayChannelUpdateReqVO.java
@@ -9,7 +9,7 @@ import javax.validation.constraints.*;
 @ToString(callSuper = true)
 public class PayChannelUpdateReqVO extends PayChannelBaseVO {
 
-    @Schema(description = "商户编号", required = true)
+    @Schema(description = "商户编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "商户编号不能为空")
     private Long id;
 
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantBaseVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantBaseVO.java
index dd8b3eddc..e2692ec85 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantBaseVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantBaseVO.java
@@ -11,15 +11,15 @@ import javax.validation.constraints.NotNull;
 @Data
 public class PayMerchantBaseVO {
 
-    @Schema(description = "商户全称", required = true)
+    @Schema(description = "商户全称", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "商户全称不能为空")
     private String name;
 
-    @Schema(description = "商户简称", required = true)
+    @Schema(description = "商户简称", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "商户简称不能为空")
     private String shortName;
 
-    @Schema(description = "开启状态", required = true)
+    @Schema(description = "开启状态", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "开启状态不能为空")
     private Integer status;
 
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantRespVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantRespVO.java
index 3e150f71c..ca8d51884 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantRespVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantRespVO.java
@@ -13,13 +13,13 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class PayMerchantRespVO extends PayMerchantBaseVO {
 
-    @Schema(description = "商户编号", required = true)
+    @Schema(description = "商户编号", requiredMode = Schema.RequiredMode.REQUIRED)
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
-    @Schema(description = "商户号", required = true, example = "M233666999")
+    @Schema(description = "商户号", requiredMode = Schema.RequiredMode.REQUIRED, example = "M233666999")
     private String no;
 
 }
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantUpdateReqVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantUpdateReqVO.java
index 2fd70e2d9..103c3d5a9 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantUpdateReqVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantUpdateReqVO.java
@@ -9,7 +9,7 @@ import javax.validation.constraints.*;
 @ToString(callSuper = true)
 public class PayMerchantUpdateReqVO extends PayMerchantBaseVO {
 
-    @Schema(description = "商户编号", required = true)
+    @Schema(description = "商户编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "商户编号不能为空")
     private Long id;
 
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantUpdateStatusReqVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantUpdateStatusReqVO.java
index b42cd61f3..eb3e8f1cf 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantUpdateStatusReqVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/merchant/vo/merchant/PayMerchantUpdateStatusReqVO.java
@@ -9,11 +9,11 @@ import javax.validation.constraints.NotNull;
 @Data
 public class PayMerchantUpdateStatusReqVO {
 
-    @Schema(description = "商户编号", required = true, example = "1024")
+    @Schema(description = "商户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "商户编号不能为空")
     private Long id;
 
-    @Schema(description = "状态,见 SysCommonStatusEnum 枚举", required = true, example = "1")
+    @Schema(description = "状态,见 SysCommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "状态不能为空")
     private Integer status;
 
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderBaseVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderBaseVO.java
index 7991c7c7e..f73afe9af 100755
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderBaseVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderBaseVO.java
@@ -17,11 +17,11 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @Data
 public class PayOrderBaseVO {
 
-    @Schema(description = "商户编号", required = true)
+    @Schema(description = "商户编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "商户编号不能为空")
     private Long merchantId;
 
-    @Schema(description = "应用编号", required = true)
+    @Schema(description = "应用编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "应用编号不能为空")
     private Long appId;
 
@@ -31,27 +31,27 @@ public class PayOrderBaseVO {
     @Schema(description = "渠道编码")
     private String channelCode;
 
-    @Schema(description = "商户订单编号", required = true)
+    @Schema(description = "商户订单编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "商户订单编号不能为空")
     private String merchantOrderId;
 
-    @Schema(description = "商品标题", required = true)
+    @Schema(description = "商品标题", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "商品标题不能为空")
     private String subject;
 
-    @Schema(description = "商品描述", required = true)
+    @Schema(description = "商品描述", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "商品描述不能为空")
     private String body;
 
-    @Schema(description = "异步通知地址", required = true)
+    @Schema(description = "异步通知地址", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "异步通知地址不能为空")
     private String notifyUrl;
 
-    @Schema(description = "通知商户支付结果的回调状态", required = true)
+    @Schema(description = "通知商户支付结果的回调状态", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "通知商户支付结果的回调状态不能为空")
     private Integer notifyStatus;
 
-    @Schema(description = "支付金额,单位:分", required = true)
+    @Schema(description = "支付金额,单位:分", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "支付金额,单位:分不能为空")
     private Long amount;
 
@@ -61,15 +61,15 @@ public class PayOrderBaseVO {
     @Schema(description = "渠道手续金额,单位:分")
     private Long channelFeeAmount;
 
-    @Schema(description = "支付状态", required = true)
+    @Schema(description = "支付状态", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "支付状态不能为空")
     private Integer status;
 
-    @Schema(description = "用户 IP", required = true)
+    @Schema(description = "用户 IP", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "用户 IP不能为空")
     private String userIp;
 
-    @Schema(description = "订单失效时间", required = true)
+    @Schema(description = "订单失效时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "订单失效时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime expireTime;
@@ -85,15 +85,15 @@ public class PayOrderBaseVO {
     @Schema(description = "支付成功的订单拓展单编号")
     private Long successExtensionId;
 
-    @Schema(description = "退款状态", required = true)
+    @Schema(description = "退款状态", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "退款状态不能为空")
     private Integer refundStatus;
 
-    @Schema(description = "退款次数", required = true)
+    @Schema(description = "退款次数", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "退款次数不能为空")
     private Integer refundTimes;
 
-    @Schema(description = "退款总金额,单位:分", required = true)
+    @Schema(description = "退款总金额,单位:分", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "退款总金额,单位:分不能为空")
     private Long refundAmount;
 
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderPageItemRespVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderPageItemRespVO.java
index 8ca5f2162..53ceb13d2 100755
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderPageItemRespVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderPageItemRespVO.java
@@ -13,10 +13,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class PayOrderPageItemRespVO extends PayOrderBaseVO {
 
-    @Schema(description = "支付订单编号", required = true)
+    @Schema(description = "支付订单编号", requiredMode = Schema.RequiredMode.REQUIRED)
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
     @Schema(description = "商户名称")
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderRespVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderRespVO.java
index 57794982d..d48a4db08 100755
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderRespVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderRespVO.java
@@ -13,10 +13,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class PayOrderRespVO extends PayOrderBaseVO {
 
-    @Schema(description = "支付订单编号", required = true)
+    @Schema(description = "支付订单编号", requiredMode = Schema.RequiredMode.REQUIRED)
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderSubmitReqVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderSubmitReqVO.java
index dac965aa0..09ac7381e 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderSubmitReqVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderSubmitReqVO.java
@@ -13,11 +13,11 @@ import java.util.Map;
 @Data
 public class PayOrderSubmitReqVO {
 
-    @Schema(description = "支付单编号", required = true, example = "1024")
+    @Schema(description = "支付单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "支付单编号不能为空")
     private Long id;
 
-    @Schema(description = "支付渠道", required = true, example = "wx_pub")
+    @Schema(description = "支付渠道", requiredMode = Schema.RequiredMode.REQUIRED, example = "wx_pub")
     @NotEmpty(message = "支付渠道不能为空")
     private String channelCode;
 
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderSubmitRespVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderSubmitRespVO.java
index 162569626..8122b9667 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderSubmitRespVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/vo/PayOrderSubmitRespVO.java
@@ -11,10 +11,10 @@ import lombok.experimental.Accessors;
 @Data
 public class PayOrderSubmitRespVO {
 
-    @Schema(description = "展示模式", required = true, example = "url") // 参见 PayDisplayModeEnum 枚举
+    @Schema(description = "展示模式", requiredMode = Schema.RequiredMode.REQUIRED, example = "url") // 参见 PayDisplayModeEnum 枚举
     private String displayMode;
 
-    @Schema(description = "展示内容", required = true)
+    @Schema(description = "展示内容", requiredMode = Schema.RequiredMode.REQUIRED)
     private String displayContent;
 
 }
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundBaseVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundBaseVO.java
index 54ac525d5..222c10bc6 100755
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundBaseVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundBaseVO.java
@@ -15,70 +15,70 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @Data
 public class PayRefundBaseVO {
 
-    @Schema(description = "商户编号", required = true)
+    @Schema(description = "商户编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "商户编号不能为空")
     private Long merchantId;
 
-    @Schema(description = "应用编号", required = true)
+    @Schema(description = "应用编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "应用编号不能为空")
     private Long appId;
 
-    @Schema(description = "渠道编号", required = true)
+    @Schema(description = "渠道编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "渠道编号不能为空")
     private Long channelId;
 
-    @Schema(description = "渠道编码", required = true)
+    @Schema(description = "渠道编码", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "渠道编码不能为空")
     private String channelCode;
 
-    @Schema(description = "支付订单编号 pay_order 表id", required = true)
+    @Schema(description = "支付订单编号 pay_order 表id", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "支付订单编号 pay_order 表id不能为空")
     private Long orderId;
 
-    @Schema(description = "交易订单号 pay_extension 表no 字段", required = true)
+    @Schema(description = "交易订单号 pay_extension 表no 字段", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "交易订单号 pay_extension 表no 字段不能为空")
     private String tradeNo;
 
-    @Schema(description = "商户订单编号(商户系统生成)", required = true)
+    @Schema(description = "商户订单编号(商户系统生成)", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "商户订单编号(商户系统生成)不能为空")
     private String merchantOrderId;
 
-    @Schema(description = "商户退款订单号(商户系统生成)", required = true)
+    @Schema(description = "商户退款订单号(商户系统生成)", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "商户退款订单号(商户系统生成)不能为空")
     private String merchantRefundNo;
 
-    @Schema(description = "异步通知商户地址", required = true)
+    @Schema(description = "异步通知商户地址", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "异步通知商户地址不能为空")
     private String notifyUrl;
 
-    @Schema(description = "通知商户退款结果的回调状态", required = true)
+    @Schema(description = "通知商户退款结果的回调状态", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "通知商户退款结果的回调状态不能为空")
     private Integer notifyStatus;
 
-    @Schema(description = "退款状态", required = true)
+    @Schema(description = "退款状态", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "退款状态不能为空")
     private Integer status;
 
-    @Schema(description = "退款类型(部分退款,全部退款)", required = true)
+    @Schema(description = "退款类型(部分退款,全部退款)", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "退款类型(部分退款,全部退款)不能为空")
     private Integer type;
 
-    @Schema(description = "支付金额,单位分", required = true)
+    @Schema(description = "支付金额,单位分", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "支付金额,单位分不能为空")
     private Long payAmount;
 
-    @Schema(description = "退款金额,单位分", required = true)
+    @Schema(description = "退款金额,单位分", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "退款金额,单位分不能为空")
     private Long refundAmount;
 
-    @Schema(description = "退款原因", required = true)
+    @Schema(description = "退款原因", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "退款原因不能为空")
     private String reason;
 
     @Schema(description = "用户 IP")
     private String userIp;
 
-    @Schema(description = "渠道订单号,pay_order 中的channel_order_no 对应", required = true)
+    @Schema(description = "渠道订单号,pay_order 中的channel_order_no 对应", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "渠道订单号,pay_order 中的channel_order_no 对应不能为空")
     private String channelOrderNo;
 
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundDetailsRespVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundDetailsRespVO.java
index a02099946..4f21dc1ef 100755
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundDetailsRespVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundDetailsRespVO.java
@@ -14,7 +14,7 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class PayRefundDetailsRespVO extends PayRefundBaseVO {
 
-    @Schema(description = "支付退款编号", required = true)
+    @Schema(description = "支付退款编号", requiredMode = Schema.RequiredMode.REQUIRED)
     private Long id;
 
     @Schema(description = "商户名称")
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundPageItemRespVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundPageItemRespVO.java
index df2d0aadd..be719565a 100755
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundPageItemRespVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundPageItemRespVO.java
@@ -13,7 +13,7 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class PayRefundPageItemRespVO extends PayRefundBaseVO {
 
-    @Schema(description = "支付订单编号", required = true)
+    @Schema(description = "支付订单编号", requiredMode = Schema.RequiredMode.REQUIRED)
     private Long id;
 
     @Schema(description = "商户名称")
@@ -25,7 +25,7 @@ public class PayRefundPageItemRespVO extends PayRefundBaseVO {
     @Schema(description = "渠道名称")
     private String channelCodeName;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundRespVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundRespVO.java
index 1374074e8..d3ee9f455 100755
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundRespVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundRespVO.java
@@ -13,10 +13,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class PayRefundRespVO extends PayRefundBaseVO {
 
-    @Schema(description = "支付退款编号", required = true)
+    @Schema(description = "支付退款编号", requiredMode = Schema.RequiredMode.REQUIRED)
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundUpdateReqVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundUpdateReqVO.java
index bb28fe2d0..cf5b0be1f 100755
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundUpdateReqVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/refund/vo/PayRefundUpdateReqVO.java
@@ -9,7 +9,7 @@ import javax.validation.constraints.*;
 @ToString(callSuper = true)
 public class PayRefundUpdateReqVO extends PayRefundBaseVO {
 
-    @Schema(description = "支付退款编号", required = true)
+    @Schema(description = "支付退款编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "支付退款编号不能为空")
     private Long id;
 
diff --git a/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/vo/data/GoViewDataGetBySqlReqVO.java b/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/vo/data/GoViewDataGetBySqlReqVO.java
index 598d7539f..785a4c5e0 100644
--- a/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/vo/data/GoViewDataGetBySqlReqVO.java
+++ b/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/vo/data/GoViewDataGetBySqlReqVO.java
@@ -9,7 +9,7 @@ import javax.validation.constraints.NotEmpty;
 @Data
 public class GoViewDataGetBySqlReqVO {
 
-    @Schema(description = "SQL 语句", required = true, example = "SELECT * FROM user")
+    @Schema(description = "SQL 语句", requiredMode = Schema.RequiredMode.REQUIRED, example = "SELECT * FROM user")
     @NotEmpty(message = "SQL 语句不能为空")
     private String sql;
 
diff --git a/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/vo/data/GoViewDataRespVO.java b/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/vo/data/GoViewDataRespVO.java
index 0d7b86138..38251ddfa 100644
--- a/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/vo/data/GoViewDataRespVO.java
+++ b/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/vo/data/GoViewDataRespVO.java
@@ -10,10 +10,10 @@ import java.util.Map;
 @Data
 public class GoViewDataRespVO {
 
-    @Schema(description = "数据维度", required = true, example = "['product', 'data1', 'data2']")
+    @Schema(description = "数据维度", requiredMode = Schema.RequiredMode.REQUIRED, example = "['product', 'data1', 'data2']")
     private List<String> dimensions;
 
-    @Schema(description = "数据明细列表", required = true)
+    @Schema(description = "数据明细列表", requiredMode = Schema.RequiredMode.REQUIRED)
     private List<Map<String, Object>> source;
 
 }
diff --git a/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/vo/project/GoViewProjectCreateReqVO.java b/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/vo/project/GoViewProjectCreateReqVO.java
index ac5c21019..dce5d9227 100644
--- a/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/vo/project/GoViewProjectCreateReqVO.java
+++ b/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/vo/project/GoViewProjectCreateReqVO.java
@@ -8,7 +8,7 @@ import javax.validation.constraints.*;
 @Data
 public class GoViewProjectCreateReqVO {
 
-    @Schema(description = "项目名称", required = true, example = "王五")
+    @Schema(description = "项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
     @NotEmpty(message = "项目名称不能为空")
     private String name;
 
diff --git a/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/vo/project/GoViewProjectRespVO.java b/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/vo/project/GoViewProjectRespVO.java
index 8c1be5844..3197d995c 100644
--- a/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/vo/project/GoViewProjectRespVO.java
+++ b/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/vo/project/GoViewProjectRespVO.java
@@ -9,13 +9,13 @@ import java.time.LocalDateTime;
 @Data
 public class GoViewProjectRespVO {
 
-    @Schema(description = "编号", required = true, example = "18993")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18993")
     private Long id;
 
-    @Schema(description = "项目名称", required = true, example = "王五")
+    @Schema(description = "项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
     private String name;
 
-    @Schema(description = "发布状态", required = true, example = "1")
+    @Schema(description = "发布状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
     @Schema(description = "报表内容") // JSON 格式
@@ -27,10 +27,10 @@ public class GoViewProjectRespVO {
     @Schema(description = "项目备注", example = "你猜")
     private String remark;
 
-    @Schema(description = "创建人编号", required = true, example = "1024")
+    @Schema(description = "创建人编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private String creator;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/vo/project/GoViewProjectUpdateReqVO.java b/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/vo/project/GoViewProjectUpdateReqVO.java
index d8bda04f0..f5c20046b 100644
--- a/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/vo/project/GoViewProjectUpdateReqVO.java
+++ b/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/vo/project/GoViewProjectUpdateReqVO.java
@@ -11,14 +11,14 @@ import javax.validation.constraints.*;
 @Data
 public class GoViewProjectUpdateReqVO {
 
-    @Schema(description = "编号", required = true, example = "18993")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18993")
     @NotNull(message = "编号不能为空")
     private Long id;
 
-    @Schema(description = "项目名称", required = true, example = "王五")
+    @Schema(description = "项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
     private String name;
 
-    @Schema(description = "发布状态", required = true, example = "1")
+    @Schema(description = "发布状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @InEnum(value = CommonStatusEnum.class, message = "发布状态必须是 {value}")
     private Integer status;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthLoginReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthLoginReqVO.java
index 757e7aef5..7b2629c93 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthLoginReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthLoginReqVO.java
@@ -21,34 +21,34 @@ import javax.validation.constraints.Pattern;
 @Builder
 public class AuthLoginReqVO {
 
-    @Schema(description = "账号", required = true, example = "yudaoyuanma")
+    @Schema(description = "账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudaoyuanma")
     @NotEmpty(message = "登录账号不能为空")
     @Length(min = 4, max = 16, message = "账号长度为 4-16 位")
     @Pattern(regexp = "^[A-Za-z0-9]+$", message = "账号格式为数字以及字母")
     private String username;
 
-    @Schema(description = "密码", required = true, example = "buzhidao")
+    @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "buzhidao")
     @NotEmpty(message = "密码不能为空")
     @Length(min = 4, max = 16, message = "密码长度为 4-16 位")
     private String password;
 
     // ========== 图片验证码相关 ==========
 
-    @Schema(description = "验证码,验证码开启时,需要传递", required = true,
+    @Schema(description = "验证码,验证码开启时,需要传递", requiredMode = Schema.RequiredMode.REQUIRED,
             example = "PfcH6mgr8tpXuMWFjvW6YVaqrswIuwmWI5dsVZSg7sGpWtDCUbHuDEXl3cFB1+VvCC/rAkSwK8Fad52FSuncVg==")
     @NotEmpty(message = "验证码不能为空", groups = CodeEnableGroup.class)
     private String captchaVerification;
 
     // ========== 绑定社交登录时,需要传递如下参数 ==========
 
-    @Schema(description = "社交平台的类型,参见 SysUserSocialTypeEnum 枚举值", required = true, example = "10")
+    @Schema(description = "社交平台的类型,参见 SysUserSocialTypeEnum 枚举值", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     @InEnum(SocialTypeEnum.class)
     private Integer socialType;
 
-    @Schema(description = "授权码", required = true, example = "1024")
+    @Schema(description = "授权码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private String socialCode;
 
-    @Schema(description = "state", required = true, example = "9b2ffbc1-7425-4155-9894-9d5c08541d62")
+    @Schema(description = "state", requiredMode = Schema.RequiredMode.REQUIRED, example = "9b2ffbc1-7425-4155-9894-9d5c08541d62")
     private String socialState;
 
     /**
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthLoginRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthLoginRespVO.java
index 79f745208..1720d073b 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthLoginRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthLoginRespVO.java
@@ -15,16 +15,16 @@ import java.time.LocalDateTime;
 @Builder
 public class AuthLoginRespVO {
 
-    @Schema(description = "用户编号", required = true, example = "1024")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long userId;
 
-    @Schema(description = "访问令牌", required = true, example = "happy")
+    @Schema(description = "访问令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "happy")
     private String accessToken;
 
-    @Schema(description = "刷新令牌", required = true, example = "nice")
+    @Schema(description = "刷新令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "nice")
     private String refreshToken;
 
-    @Schema(description = "过期时间", required = true)
+    @Schema(description = "过期时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime expiresTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthMenuRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthMenuRespVO.java
index 9f681de46..d310bded0 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthMenuRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthMenuRespVO.java
@@ -15,13 +15,13 @@ import java.util.List;
 @Builder
 public class AuthMenuRespVO {
 
-    @Schema(description = "菜单名称", required = true, example = "芋道")
+    @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private Long id;
 
-    @Schema(description = "父菜单 ID", required = true, example = "1024")
+    @Schema(description = "父菜单 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long parentId;
 
-    @Schema(description = "菜单名称", required = true, example = "芋道")
+    @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String name;
 
     @Schema(description = "路由地址,仅菜单类型为菜单或者目录时,才需要传", example = "post")
@@ -36,10 +36,10 @@ public class AuthMenuRespVO {
     @Schema(description = "菜单图标,仅菜单类型为菜单或者目录时,才需要传", example = "/menu/list")
     private String icon;
 
-    @Schema(description = "是否可见", required = true, example = "false")
+    @Schema(description = "是否可见", requiredMode = Schema.RequiredMode.REQUIRED, example = "false")
     private Boolean visible;
 
-    @Schema(description = "是否缓存", required = true, example = "false")
+    @Schema(description = "是否缓存", requiredMode = Schema.RequiredMode.REQUIRED, example = "false")
     private Boolean keepAlive;
 
     @Schema(description = "是否总是显示", example = "false")
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.java
index 957ca4b47..f5fd6da69 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.java
@@ -15,13 +15,13 @@ import java.util.Set;
 @Builder
 public class AuthPermissionInfoRespVO {
 
-    @Schema(description = "用户信息", required = true)
+    @Schema(description = "用户信息", requiredMode = Schema.RequiredMode.REQUIRED)
     private UserVO user;
 
-    @Schema(description = "角色标识数组", required = true)
+    @Schema(description = "角色标识数组", requiredMode = Schema.RequiredMode.REQUIRED)
     private Set<String> roles;
 
-    @Schema(description = "操作权限数组", required = true)
+    @Schema(description = "操作权限数组", requiredMode = Schema.RequiredMode.REQUIRED)
     private Set<String> permissions;
 
     @Schema(description = "用户信息 VO")
@@ -31,13 +31,13 @@ public class AuthPermissionInfoRespVO {
     @Builder
     public static class UserVO {
 
-        @Schema(description = "用户编号", required = true, example = "1024")
+        @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
         private Long id;
 
-        @Schema(description = "用户昵称", required = true, example = "芋道源码")
+        @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道源码")
         private String nickname;
 
-        @Schema(description = "用户头像", required = true, example = "http://www.iocoder.cn/xx.jpg")
+        @Schema(description = "用户头像", requiredMode = Schema.RequiredMode.REQUIRED, example = "http://www.iocoder.cn/xx.jpg")
         private String avatar;
 
     }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSmsLoginReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSmsLoginReqVO.java
index 5245b2f05..51aba6787 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSmsLoginReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSmsLoginReqVO.java
@@ -16,12 +16,12 @@ import javax.validation.constraints.NotEmpty;
 @Builder
 public class AuthSmsLoginReqVO {
 
-    @Schema(description = "手机号", required = true, example = "yudaoyuanma")
+    @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudaoyuanma")
     @NotEmpty(message = "手机号不能为空")
     @Mobile
     private String mobile;
 
-    @Schema(description = "短信验证码", required = true, example = "1024")
+    @Schema(description = "短信验证码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "验证码不能为空")
     private String code;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSmsSendReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSmsSendReqVO.java
index 0f8ce8343..18bdc8170 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSmsSendReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSmsSendReqVO.java
@@ -19,12 +19,12 @@ import javax.validation.constraints.NotNull;
 @Builder
 public class AuthSmsSendReqVO {
 
-    @Schema(description = "手机号", required = true, example = "yudaoyuanma")
+    @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudaoyuanma")
     @NotEmpty(message = "手机号不能为空")
     @Mobile
     private String mobile;
 
-    @Schema(description = "短信场景", required = true, example = "1")
+    @Schema(description = "短信场景", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "发送场景不能为空")
     @InEnum(SmsSceneEnum.class)
     private Integer scene;
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSocialLoginReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSocialLoginReqVO.java
index 9de058c12..f98a4c894 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSocialLoginReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSocialLoginReqVO.java
@@ -18,16 +18,16 @@ import javax.validation.constraints.NotNull;
 @Builder
 public class AuthSocialLoginReqVO {
 
-    @Schema(description = "社交平台的类型,参见 UserSocialTypeEnum 枚举值", required = true, example = "10")
+    @Schema(description = "社交平台的类型,参见 UserSocialTypeEnum 枚举值", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     @InEnum(SocialTypeEnum.class)
     @NotNull(message = "社交平台的类型不能为空")
     private Integer type;
 
-    @Schema(description = "授权码", required = true, example = "1024")
+    @Schema(description = "授权码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "授权码不能为空")
     private String code;
 
-    @Schema(description = "state", required = true, example = "9b2ffbc1-7425-4155-9894-9d5c08541d62")
+    @Schema(description = "state", requiredMode = Schema.RequiredMode.REQUIRED, example = "9b2ffbc1-7425-4155-9894-9d5c08541d62")
     @NotEmpty(message = "state 不能为空")
     private String state;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptBaseVO.java
index 25f32c21a..5d3a4b6d7 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptBaseVO.java
@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -14,7 +15,7 @@ import javax.validation.constraints.Size;
 @Data
 public class DeptBaseVO {
 
-    @Schema(description = "菜单名称", required = true, example = "芋道")
+    @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotBlank(message = "部门名称不能为空")
     @Size(max = 30, message = "部门名称长度不能超过30个字符")
     private String name;
@@ -22,7 +23,7 @@ public class DeptBaseVO {
     @Schema(description = "父菜单 ID", example = "1024")
     private Long parentId;
 
-    @Schema(description = "显示顺序不能为空", required = true, example = "1024")
+    @Schema(description = "显示顺序不能为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "显示顺序不能为空")
     private Integer sort;
 
@@ -38,7 +39,7 @@ public class DeptBaseVO {
     @Size(max = 50, message = "邮箱长度不能超过50个字符")
     private String email;
 
-    @Schema(description = "状态,见 CommonStatusEnum 枚举", required = true, example = "1")
+    @Schema(description = "状态,见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "状态不能为空")
 //    @InEnum(value = CommonStatusEnum.class, message = "修改状态必须是 {value}")
     private Integer status;
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptRespVO.java
index 7d8933a0c..aa062ec7b 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptRespVO.java
@@ -11,13 +11,13 @@ import java.time.LocalDateTime;
 @EqualsAndHashCode(callSuper = true)
 public class DeptRespVO extends DeptBaseVO {
 
-    @Schema(description = "部门编号", required = true, example = "1024")
+    @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "状态,参见 CommonStatusEnum 枚举类", required = true, example = "1")
+    @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
-    @Schema(description = "创建时间", required = true, example = "时间戳格式")
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式")
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptSimpleRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptSimpleRespVO.java
index 582eaae51..31c15d56b 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptSimpleRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptSimpleRespVO.java
@@ -11,13 +11,13 @@ import lombok.NoArgsConstructor;
 @AllArgsConstructor
 public class DeptSimpleRespVO {
 
-    @Schema(description = "部门编号", required = true, example = "1024")
+    @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "部门名称", required = true, example = "芋道")
+    @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String name;
 
-    @Schema(description = "父部门 ID", required = true, example = "1024")
+    @Schema(description = "父部门 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long parentId;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptUpdateReqVO.java
index 18d002438..b63f79d85 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptUpdateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptUpdateReqVO.java
@@ -11,7 +11,7 @@ import javax.validation.constraints.NotNull;
 @EqualsAndHashCode(callSuper = true)
 public class DeptUpdateReqVO extends DeptBaseVO {
 
-    @Schema(description = "部门编号", required = true, example = "1024")
+    @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "部门编号不能为空")
     private Long id;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostBaseVO.java
index df3f10ec5..c447cbc45 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostBaseVO.java
@@ -13,21 +13,21 @@ import javax.validation.constraints.Size;
 @Data
 public class PostBaseVO {
 
-    @Schema(description = "岗位名称", required = true, example = "小博主")
+    @Schema(description = "岗位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "小博主")
     @NotBlank(message = "岗位名称不能为空")
     @Size(max = 50, message = "岗位名称长度不能超过50个字符")
     private String name;
 
-    @Schema(description = "岗位编码", required = true, example = "yudao")
+    @Schema(description = "岗位编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao")
     @NotBlank(message = "岗位编码不能为空")
     @Size(max = 64, message = "岗位编码长度不能超过64个字符")
     private String code;
 
-    @Schema(description = "显示顺序不能为空", required = true, example = "1024")
+    @Schema(description = "显示顺序不能为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "显示顺序不能为空")
     private Integer sort;
 
-    @Schema(description = "状态,参见 CommonStatusEnum 枚举类", required = true, example = "1")
+    @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
     @Schema(description = "备注", example = "快乐的备注")
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostRespVO.java
index 807abadeb..db39fff88 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostRespVO.java
@@ -11,10 +11,10 @@ import java.time.LocalDateTime;
 @EqualsAndHashCode(callSuper = true)
 public class PostRespVO extends PostBaseVO {
 
-    @Schema(description = "岗位序号", required = true, example = "1024")
+    @Schema(description = "岗位序号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "创建时间", required = true, example = "时间戳格式")
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式")
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostSimpleRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostSimpleRespVO.java
index eeb613b40..a4698df16 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostSimpleRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostSimpleRespVO.java
@@ -11,10 +11,10 @@ import lombok.NoArgsConstructor;
 @AllArgsConstructor
 public class PostSimpleRespVO {
 
-    @Schema(description = "岗位编号", required = true, example = "1024")
+    @Schema(description = "岗位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "岗位名称", required = true, example = "芋道")
+    @Schema(description = "岗位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String name;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostUpdateReqVO.java
index e78c8160f..c17685a71 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostUpdateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostUpdateReqVO.java
@@ -11,7 +11,7 @@ import javax.validation.constraints.NotNull;
 @EqualsAndHashCode(callSuper = true)
 public class PostUpdateReqVO extends PostBaseVO {
 
-    @Schema(description = "岗位编号", required = true, example = "1024")
+    @Schema(description = "岗位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "岗位编号不能为空")
     private Long id;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataBaseVO.java
index 90b5b9fea..f1aecc42c 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataBaseVO.java
@@ -14,26 +14,26 @@ import javax.validation.constraints.Size;
 @Data
 public class DictDataBaseVO {
 
-    @Schema(description = "显示顺序不能为空", required = true, example = "1024")
+    @Schema(description = "显示顺序不能为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "显示顺序不能为空")
     private Integer sort;
 
-    @Schema(description = "字典标签", required = true, example = "芋道")
+    @Schema(description = "字典标签", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotBlank(message = "字典标签不能为空")
     @Size(max = 100, message = "字典标签长度不能超过100个字符")
     private String label;
 
-    @Schema(description = "字典值", required = true, example = "iocoder")
+    @Schema(description = "字典值", requiredMode = Schema.RequiredMode.REQUIRED, example = "iocoder")
     @NotBlank(message = "字典键值不能为空")
     @Size(max = 100, message = "字典键值长度不能超过100个字符")
     private String value;
 
-    @Schema(description = "字典类型", required = true, example = "sys_common_sex")
+    @Schema(description = "字典类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "sys_common_sex")
     @NotBlank(message = "字典类型不能为空")
     @Size(max = 100, message = "字典类型长度不能超过100个字符")
     private String dictType;
 
-    @Schema(description = "状态,见 CommonStatusEnum 枚举", required = true, example = "1")
+    @Schema(description = "状态,见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "状态不能为空")
 //    @InEnum(value = CommonStatusEnum.class, message = "修改状态必须是 {value}")
     private Integer status;
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataRespVO.java
index b3afef470..d9786c903 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataRespVO.java
@@ -15,10 +15,10 @@ import java.time.LocalDateTime;
 @EqualsAndHashCode(callSuper = true)
 public class DictDataRespVO extends DictDataBaseVO {
 
-    @Schema(description = "字典数据编号", required = true, example = "1024")
+    @Schema(description = "字典数据编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "创建时间", required = true, example = "时间戳格式")
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式")
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataSimpleRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataSimpleRespVO.java
index 31256e68d..1debf7ece 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataSimpleRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataSimpleRespVO.java
@@ -7,13 +7,13 @@ import lombok.Data;
 @Data
 public class DictDataSimpleRespVO {
 
-    @Schema(description = "字典类型", required = true, example = "gender")
+    @Schema(description = "字典类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "gender")
     private String dictType;
 
-    @Schema(description = "字典键值", required = true, example = "1")
+    @Schema(description = "字典键值", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private String value;
 
-    @Schema(description = "字典标签", required = true, example = "男")
+    @Schema(description = "字典标签", requiredMode = Schema.RequiredMode.REQUIRED, example = "男")
     private String label;
 
     @Schema(description = "颜色类型,default、primary、success、info、warning、danger", example = "default")
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataUpdateReqVO.java
index ddbe8d734..226029f81 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataUpdateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataUpdateReqVO.java
@@ -11,7 +11,7 @@ import javax.validation.constraints.NotNull;
 @EqualsAndHashCode(callSuper = true)
 public class DictDataUpdateReqVO extends DictDataBaseVO {
 
-    @Schema(description = "字典数据编号", required = true, example = "1024")
+    @Schema(description = "字典数据编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "字典数据编号不能为空")
     private Long id;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeBaseVO.java
index 876eb8842..9270ab834 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeBaseVO.java
@@ -14,12 +14,12 @@ import javax.validation.constraints.Size;
 @Data
 public class DictTypeBaseVO {
 
-    @Schema(description = "字典名称", required = true, example = "性别")
+    @Schema(description = "字典名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "性别")
     @NotBlank(message = "字典名称不能为空")
     @Size(max = 100, message = "字典类型名称长度不能超过100个字符")
     private String name;
 
-    @Schema(description = "状态,参见 CommonStatusEnum 枚举类", required = true, example = "1")
+    @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "状态不能为空")
     private Integer status;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeCreateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeCreateReqVO.java
index fc91e9197..59e9ecc78 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeCreateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeCreateReqVO.java
@@ -12,7 +12,7 @@ import javax.validation.constraints.Size;
 @EqualsAndHashCode(callSuper = true)
 public class DictTypeCreateReqVO extends DictTypeBaseVO {
 
-    @Schema(description = "字典类型", required = true, example = "sys_common_sex")
+    @Schema(description = "字典类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "sys_common_sex")
     @NotNull(message = "字典类型不能为空")
     @Size(max = 100, message = "字典类型类型长度不能超过100个字符")
     private String type;
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeRespVO.java
index 06aeb469b..0dcba7007 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeRespVO.java
@@ -15,13 +15,13 @@ import java.time.LocalDateTime;
 @EqualsAndHashCode(callSuper = true)
 public class DictTypeRespVO extends DictTypeBaseVO {
 
-    @Schema(description = "字典类型编号", required = true, example = "1024")
+    @Schema(description = "字典类型编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "字典类型", required = true, example = "sys_common_sex")
+    @Schema(description = "字典类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "sys_common_sex")
     private String type;
 
-    @Schema(description = "创建时间", required = true, example = "时间戳格式")
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式")
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeSimpleRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeSimpleRespVO.java
index 61ca6a7c9..2d8133b75 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeSimpleRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeSimpleRespVO.java
@@ -11,13 +11,13 @@ import lombok.NoArgsConstructor;
 @AllArgsConstructor
 public class DictTypeSimpleRespVO {
 
-    @Schema(description = "字典类型编号", required = true, example = "1024")
+    @Schema(description = "字典类型编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "字典类型名称", required = true, example = "芋道")
+    @Schema(description = "字典类型名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String name;
 
-    @Schema(description = "字典类型", required = true, example = "sys_common_sex")
+    @Schema(description = "字典类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "sys_common_sex")
     private String type;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeUpdateReqVO.java
index 0a3120770..9209317ba 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeUpdateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeUpdateReqVO.java
@@ -11,7 +11,7 @@ import javax.validation.constraints.NotNull;
 @EqualsAndHashCode(callSuper = true)
 public class DictTypeUpdateReqVO extends DictTypeBaseVO {
 
-    @Schema(description = "字典类型编号", required = true, example = "1024")
+    @Schema(description = "字典类型编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "字典类型编号不能为空")
     private Long id;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/errorcode/vo/ErrorCodeBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/errorcode/vo/ErrorCodeBaseVO.java
index 6425e106c..3e222a070 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/errorcode/vo/ErrorCodeBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/errorcode/vo/ErrorCodeBaseVO.java
@@ -12,15 +12,15 @@ import javax.validation.constraints.NotNull;
 @Data
 public class ErrorCodeBaseVO {
 
-    @Schema(description = "应用名", required = true, example = "dashboard")
+    @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "dashboard")
     @NotNull(message = "应用名不能为空")
     private String applicationName;
 
-    @Schema(description = "错误码编码", required = true, example = "1234")
+    @Schema(description = "错误码编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1234")
     @NotNull(message = "错误码编码不能为空")
     private Integer code;
 
-    @Schema(description = "错误码错误提示", required = true, example = "帅气")
+    @Schema(description = "错误码错误提示", requiredMode = Schema.RequiredMode.REQUIRED, example = "帅气")
     @NotNull(message = "错误码错误提示不能为空")
     private String message;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/errorcode/vo/ErrorCodeRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/errorcode/vo/ErrorCodeRespVO.java
index 9fe447f90..de616a3e4 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/errorcode/vo/ErrorCodeRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/errorcode/vo/ErrorCodeRespVO.java
@@ -13,13 +13,13 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class ErrorCodeRespVO extends ErrorCodeBaseVO {
 
-    @Schema(description = "错误码编号", required = true, example = "1024")
+    @Schema(description = "错误码编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "错误码类型,参见 ErrorCodeTypeEnum 枚举类", required = true, example = "1")
+    @Schema(description = "错误码类型,参见 ErrorCodeTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer type;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/errorcode/vo/ErrorCodeUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/errorcode/vo/ErrorCodeUpdateReqVO.java
index 64622acd2..5b17591f0 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/errorcode/vo/ErrorCodeUpdateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/errorcode/vo/ErrorCodeUpdateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class ErrorCodeUpdateReqVO extends ErrorCodeBaseVO {
 
-    @Schema(description = "错误码编号", required = true, example = "1024")
+    @Schema(description = "错误码编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "错误码编号不能为空")
     private Long id;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ip/vo/AreaNodeRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ip/vo/AreaNodeRespVO.java
index 614b84fe0..1360ec66d 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ip/vo/AreaNodeRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ip/vo/AreaNodeRespVO.java
@@ -9,10 +9,10 @@ import java.util.List;
 @Data
 public class AreaNodeRespVO {
 
-    @Schema(description = "编号", required = true, example = "110000")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "110000")
     private Integer id;
 
-    @Schema(description = "名字", required = true, example = "北京")
+    @Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "北京")
     private String name;
 
     /**
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/loginlog/LoginLogBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/loginlog/LoginLogBaseVO.java
index d5769c597..477315946 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/loginlog/LoginLogBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/loginlog/LoginLogBaseVO.java
@@ -15,7 +15,7 @@ import javax.validation.constraints.Size;
 @Data
 public class LoginLogBaseVO {
 
-    @Schema(description = "日志类型,参见 LoginLogTypeEnum 枚举类", required = true, example = "1")
+    @Schema(description = "日志类型,参见 LoginLogTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "日志类型不能为空")
     private Integer logType;
 
@@ -23,16 +23,16 @@ public class LoginLogBaseVO {
     @NotEmpty(message = "链路追踪编号不能为空")
     private String traceId;
 
-    @Schema(description = "用户账号", required = true, example = "yudao")
+    @Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao")
     @NotBlank(message = "用户账号不能为空")
     @Size(max = 30, message = "用户账号长度不能超过30个字符")
     private String username;
 
-    @Schema(description = "登录结果,参见 LoginResultEnum 枚举类", required = true, example = "1")
+    @Schema(description = "登录结果,参见 LoginResultEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "登录结果不能为空")
     private Integer result;
 
-    @Schema(description = "用户 IP", required = true, example = "127.0.0.1")
+    @Schema(description = "用户 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "127.0.0.1")
     @NotEmpty(message = "用户 IP 不能为空")
     private String userIp;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/loginlog/LoginLogRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/loginlog/LoginLogRespVO.java
index a67d871ea..a9f4f2acb 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/loginlog/LoginLogRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/loginlog/LoginLogRespVO.java
@@ -14,17 +14,17 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class LoginLogRespVO extends LoginLogBaseVO {
 
-    @Schema(description = "日志编号", required = true, example = "1024")
+    @Schema(description = "日志编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
     @Schema(description = "用户编号", example = "666")
     private Long userId;
 
-    @Schema(description = "用户类型,参见 UserTypeEnum 枚举", required = true, example = "2")
+    @Schema(description = "用户类型,参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     @NotNull(message = "用户类型不能为空")
     private Integer userType;
 
-    @Schema(description = "登录时间", required = true)
+    @Schema(description = "登录时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogBaseVO.java
index e3187b0d5..dde84ee58 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogBaseVO.java
@@ -15,23 +15,23 @@ import java.util.Map;
 @Data
 public class OperateLogBaseVO {
 
-    @Schema(description = "链路追踪编号", required = true, example = "89aca178-a370-411c-ae02-3f0d672be4ab")
+    @Schema(description = "链路追踪编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "89aca178-a370-411c-ae02-3f0d672be4ab")
     @NotEmpty(message = "链路追踪编号不能为空")
     private String traceId;
 
-    @Schema(description = "用户编号", required = true, example = "1024")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "用户编号不能为空")
     private Long userId;
 
-    @Schema(description = "操作模块", required = true, example = "订单")
+    @Schema(description = "操作模块", requiredMode = Schema.RequiredMode.REQUIRED, example = "订单")
     @NotEmpty(message = "操作模块不能为空")
     private String module;
 
-    @Schema(description = "操作名", required = true, example = "创建订单")
+    @Schema(description = "操作名", requiredMode = Schema.RequiredMode.REQUIRED, example = "创建订单")
     @NotEmpty(message = "操作名")
     private String name;
 
-    @Schema(description = "操作分类,参见 OperateLogTypeEnum 枚举类", required = true, example = "1")
+    @Schema(description = "操作分类,参见 OperateLogTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "操作分类不能为空")
     private Integer type;
 
@@ -41,38 +41,38 @@ public class OperateLogBaseVO {
     @Schema(description = "拓展字段", example = "{'orderId': 1}")
     private Map<String, Object> exts;
 
-    @Schema(description = "请求方法名", required = true, example = "GET")
+    @Schema(description = "请求方法名", requiredMode = Schema.RequiredMode.REQUIRED, example = "GET")
     @NotEmpty(message = "请求方法名不能为空")
     private String requestMethod;
 
-    @Schema(description = "请求地址", required = true, example = "/xxx/yyy")
+    @Schema(description = "请求地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "/xxx/yyy")
     @NotEmpty(message = "请求地址不能为空")
     private String requestUrl;
 
-    @Schema(description = "用户 IP", required = true, example = "127.0.0.1")
+    @Schema(description = "用户 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "127.0.0.1")
     @NotEmpty(message = "用户 IP 不能为空")
     private String userIp;
 
-    @Schema(description = "浏览器 UserAgent", required = true, example = "Mozilla/5.0")
+    @Schema(description = "浏览器 UserAgent", requiredMode = Schema.RequiredMode.REQUIRED, example = "Mozilla/5.0")
     @NotEmpty(message = "浏览器 UserAgent 不能为空")
     private String userAgent;
 
-    @Schema(description = "Java 方法名", required = true, example = "cn.iocoder.yudao.adminserver.UserController.save(...)")
+    @Schema(description = "Java 方法名", requiredMode = Schema.RequiredMode.REQUIRED, example = "cn.iocoder.yudao.adminserver.UserController.save(...)")
     @NotEmpty(message = "Java 方法名不能为空")
     private String javaMethod;
 
     @Schema(description = "Java 方法的参数")
     private String javaMethodArgs;
 
-    @Schema(description = "开始时间", required = true)
+    @Schema(description = "开始时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "开始时间不能为空")
     private LocalDateTime startTime;
 
-    @Schema(description = "执行时长,单位:毫秒", required = true)
+    @Schema(description = "执行时长,单位:毫秒", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "执行时长不能为空")
     private Integer duration;
 
-    @Schema(description = "结果码", required = true)
+    @Schema(description = "结果码", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "结果码不能为空")
     private Integer resultCode;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogRespVO.java
index 1e88408ff..5ed6ae948 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogRespVO.java
@@ -11,10 +11,10 @@ import lombok.ToString;
 @ToString(callSuper = true)
 public class OperateLogRespVO extends OperateLogBaseVO {
 
-    @Schema(description = "日志编号", required = true, example = "1024")
+    @Schema(description = "日志编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "用户昵称", required = true, example = "芋艿")
+    @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
     private String userNickname;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountBaseVO.java
index 2778234a0..799342e58 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountBaseVO.java
@@ -13,28 +13,28 @@ import javax.validation.constraints.NotNull;
 @Data
 public class MailAccountBaseVO {
 
-    @Schema(description = "邮箱", required = true, example = "yudaoyuanma@123.com")
+    @Schema(description = "邮箱", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudaoyuanma@123.com")
     @NotNull(message = "邮箱不能为空")
     @Email(message = "必须是 Email 格式")
     private String mail;
 
-    @Schema(description = "用户名", required = true, example = "yudao")
+    @Schema(description = "用户名", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao")
     @NotNull(message = "用户名不能为空")
     private String username;
 
-    @Schema(description = "密码", required = true, example = "123456")
+    @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
     @NotNull(message = "密码必填")
     private String password;
 
-    @Schema(description = "SMTP 服务器域名", required = true, example = "www.iocoder.cn")
+    @Schema(description = "SMTP 服务器域名", requiredMode = Schema.RequiredMode.REQUIRED, example = "www.iocoder.cn")
     @NotNull(message = "SMTP 服务器域名不能为空")
     private String host;
 
-    @Schema(description = "SMTP 服务器端口", required = true, example = "80")
+    @Schema(description = "SMTP 服务器端口", requiredMode = Schema.RequiredMode.REQUIRED, example = "80")
     @NotNull(message = "SMTP 服务器端口不能为空")
     private Integer port;
 
-    @Schema(description = "是否开启 ssl", required = true, example = "true")
+    @Schema(description = "是否开启 ssl", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     @NotNull(message = "是否开启 ssl 必填")
     private Boolean sslEnable;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountPageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountPageReqVO.java
index ae420d1d2..9de195dd2 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountPageReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountPageReqVO.java
@@ -12,10 +12,10 @@ import lombok.ToString;
 @ToString(callSuper = true)
 public class MailAccountPageReqVO extends PageParam {
 
-    @Schema(description = "邮箱", required = true, example = "yudaoyuanma@123.com")
+    @Schema(description = "邮箱", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudaoyuanma@123.com")
     private String mail;
 
-    @Schema(description = "用户名" , required = true , example = "yudao")
+    @Schema(description = "用户名" , requiredMode = Schema.RequiredMode.REQUIRED , example = "yudao")
     private String username;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountRespVO.java
index 2067d6470..c8065d5b8 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountRespVO.java
@@ -14,11 +14,11 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class MailAccountRespVO extends MailAccountBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "编号不能为空")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountSimpleRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountSimpleRespVO.java
index dd6093ffa..0600633d5 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountSimpleRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountSimpleRespVO.java
@@ -7,10 +7,10 @@ import lombok.Data;
 @Data
 public class MailAccountSimpleRespVO {
 
-    @Schema(description = "邮箱编号", required = true, example = "1024")
+    @Schema(description = "邮箱编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "邮箱", required = true, example = "768541388@qq.com")
+    @Schema(description = "邮箱", requiredMode = Schema.RequiredMode.REQUIRED, example = "768541388@qq.com")
     private String mail;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountUpdateReqVO.java
index c6ced00d6..e961cc70a 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountUpdateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountUpdateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class MailAccountUpdateReqVO extends MailAccountBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "编号不能为空")
     private Long id;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/log/MailLogBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/log/MailLogBaseVO.java
index a7b972af1..a07958817 100755
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/log/MailLogBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/log/MailLogBaseVO.java
@@ -1,12 +1,13 @@
 package cn.iocoder.yudao.module.system.controller.admin.mail.vo.log;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-import java.util.*;
-import java.time.LocalDateTime;
-import javax.validation.constraints.*;
+import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import javax.validation.constraints.NotNull;
+import java.time.LocalDateTime;
+import java.util.Map;
+
 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
 
 /**
@@ -22,42 +23,42 @@ public class MailLogBaseVO {
     @Schema(description = "用户类型 - 参见 UserTypeEnum 枚举", example = "2")
     private Byte userType;
 
-    @Schema(description = "接收邮箱地址", required = true, example = "76854@qq.com")
+    @Schema(description = "接收邮箱地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "76854@qq.com")
     @NotNull(message = "接收邮箱地址不能为空")
     private String toMail;
 
-    @Schema(description = "邮箱账号编号", required = true, example = "18107")
+    @Schema(description = "邮箱账号编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18107")
     @NotNull(message = "邮箱账号编号不能为空")
     private Long accountId;
 
-    @Schema(description = "发送邮箱地址", required = true, example = "85757@qq.com")
+    @Schema(description = "发送邮箱地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "85757@qq.com")
     @NotNull(message = "发送邮箱地址不能为空")
     private String fromMail;
 
-    @Schema(description = "模板编号", required = true, example = "5678")
+    @Schema(description = "模板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "5678")
     @NotNull(message = "模板编号不能为空")
     private Long templateId;
 
-    @Schema(description = "模板编码", required = true, example = "test_01")
+    @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test_01")
     @NotNull(message = "模板编码不能为空")
     private String templateCode;
 
     @Schema(description = "模版发送人名称", example = "李四")
     private String templateNickname;
 
-    @Schema(description = "邮件标题", required = true, example = "测试标题")
+    @Schema(description = "邮件标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试标题")
     @NotNull(message = "邮件标题不能为空")
     private String templateTitle;
 
-    @Schema(description = "邮件内容", required = true, example = "测试内容")
+    @Schema(description = "邮件内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试内容")
     @NotNull(message = "邮件内容不能为空")
     private String templateContent;
 
-    @Schema(description = "邮件参数", required = true)
+    @Schema(description = "邮件参数", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "邮件参数不能为空")
     private Map<String, Object> templateParams;
 
-    @Schema(description = "发送状态 - 参见 MailSendStatusEnum 枚举", required = true, example = "1")
+    @Schema(description = "发送状态 - 参见 MailSendStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "发送状态不能为空")
     private Byte sendStatus;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/log/MailLogRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/log/MailLogRespVO.java
index cf1ecb2a1..25d8498fe 100755
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/log/MailLogRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/log/MailLogRespVO.java
@@ -10,10 +10,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class MailLogRespVO extends MailLogBaseVO {
 
-    @Schema(description = "编号", required = true, example = "31020")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "31020")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateBaseVO.java
index 0b90b2712..73eeb8ac8 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateBaseVO.java
@@ -13,30 +13,30 @@ import javax.validation.constraints.NotNull;
 @Data
 public class MailTemplateBaseVO {
 
-    @Schema(description = "模版名称", required = true, example = "测试名字")
+    @Schema(description = "模版名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试名字")
     @NotNull(message = "名称不能为空")
     private String name;
 
-    @Schema(description = "模版编号", required = true, example = "test")
+    @Schema(description = "模版编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "test")
     @NotNull(message = "模版编号不能为空")
     private String code;
 
-    @Schema(description = "发送的邮箱账号编号", required = true, example = "1")
+    @Schema(description = "发送的邮箱账号编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "发送的邮箱账号编号不能为空")
     private Long accountId;
 
     @Schema(description = "发送人名称", example = "芋头")
     private String nickname;
 
-    @Schema(description = "标题", required = true, example = "注册成功")
+    @Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "注册成功")
     @NotEmpty(message = "标题不能为空")
     private String title;
 
-    @Schema(description = "内容", required = true, example = "你好,注册成功啦")
+    @Schema(description = "内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "你好,注册成功啦")
     @NotEmpty(message = "内容不能为空")
     private String content;
 
-    @Schema(description = "状态 - 参见 CommonStatusEnum 枚举", required = true, example = "1")
+    @Schema(description = "状态 - 参见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "状态不能为空")
     private Integer status;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateRespVO.java
index 561512cd7..c003b0059 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateRespVO.java
@@ -14,13 +14,13 @@ import java.util.List;
 @ToString(callSuper = true)
 public class MailTemplateRespVO extends MailTemplateBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
     @Schema(description = "参数数组", example = "name,code")
     private List<String> params;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateSendReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateSendReqVO.java
index 5d1d9a00d..8dd0887ed 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateSendReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateSendReqVO.java
@@ -11,11 +11,11 @@ import java.util.Map;
 @Data
 public class MailTemplateSendReqVO {
 
-    @Schema(description = "接收邮箱", required = true, example = "7685413@qq.com")
+    @Schema(description = "接收邮箱", requiredMode = Schema.RequiredMode.REQUIRED, example = "7685413@qq.com")
     @NotEmpty(message = "接收邮箱不能为空")
     private String mail;
 
-    @Schema(description = "模板编码", required = true, example = "test_01")
+    @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test_01")
     @NotNull(message = "模板编码不能为空")
     private String templateCode;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateSimpleRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateSimpleRespVO.java
index 3146e8546..29833ffb7 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateSimpleRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateSimpleRespVO.java
@@ -7,10 +7,10 @@ import lombok.Data;
 @Data
 public class MailTemplateSimpleRespVO {
 
-    @Schema(description = "模版编号", required = true, example = "1024")
+    @Schema(description = "模版编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "模版名字", required = true, example = "哒哒哒")
+    @Schema(description = "模版名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "哒哒哒")
     private String name;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateUpdateReqVO.java
index 1f50821ba..bc99db508 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateUpdateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateUpdateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class MailTemplateUpdateReqVO extends MailTemplateBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "编号不能为空")
     private Long id;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/vo/NoticeBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/vo/NoticeBaseVO.java
index 0b90841be..359c3c5b2 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/vo/NoticeBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/vo/NoticeBaseVO.java
@@ -14,19 +14,19 @@ import javax.validation.constraints.Size;
 @Data
 public class NoticeBaseVO {
 
-    @Schema(description = "公告标题", required = true, example = "小博主")
+    @Schema(description = "公告标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "小博主")
     @NotBlank(message = "公告标题不能为空")
     @Size(max = 50, message = "公告标题不能超过50个字符")
     private String title;
 
-    @Schema(description = "公告类型", required = true, example = "小博主")
+    @Schema(description = "公告类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "小博主")
     @NotNull(message = "公告类型不能为空")
     private Integer type;
 
-    @Schema(description = "公告内容", required = true, example = "半生编码")
+    @Schema(description = "公告内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "半生编码")
     private String content;
 
-    @Schema(description = "状态,参见 CommonStatusEnum 枚举类", required = true, example = "1")
+    @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/vo/NoticeRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/vo/NoticeRespVO.java
index 7b83d9d15..621c1d301 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/vo/NoticeRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/vo/NoticeRespVO.java
@@ -11,10 +11,10 @@ import java.time.LocalDateTime;
 @EqualsAndHashCode(callSuper = true)
 public class NoticeRespVO extends NoticeBaseVO {
 
-    @Schema(description = "通知公告序号", required = true, example = "1024")
+    @Schema(description = "通知公告序号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "创建时间", required = true, example = "时间戳格式")
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式")
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/vo/NoticeUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/vo/NoticeUpdateReqVO.java
index af1d53ed1..695bd2863 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/vo/NoticeUpdateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/vo/NoticeUpdateReqVO.java
@@ -11,7 +11,7 @@ import javax.validation.constraints.NotNull;
 @EqualsAndHashCode(callSuper = true)
 public class NoticeUpdateReqVO extends NoticeBaseVO {
 
-    @Schema(description = "岗位公告编号", required = true, example = "1024")
+    @Schema(description = "岗位公告编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "岗位公告编号不能为空")
     private Long id;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/message/NotifyMessageBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/message/NotifyMessageBaseVO.java
index 5cb1e0b45..8e4b3fd03 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/message/NotifyMessageBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/message/NotifyMessageBaseVO.java
@@ -17,39 +17,39 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @Data
 public class NotifyMessageBaseVO {
 
-    @Schema(description = "用户编号", required = true, example = "25025")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "25025")
     @NotNull(message = "用户编号不能为空")
     private Long userId;
 
-    @Schema(description = "用户类型 - 参见 UserTypeEnum 枚举", required = true, example = "1")
+    @Schema(description = "用户类型 - 参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "用户类型不能为空")
     private Byte userType;
 
-    @Schema(description = "模版编号", required = true, example = "13013")
+    @Schema(description = "模版编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13013")
     @NotNull(message = "模版编号不能为空")
     private Long templateId;
 
-    @Schema(description = "模板编码", required = true, example = "test_01")
+    @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test_01")
     @NotNull(message = "模板编码不能为空")
     private String templateCode;
 
-    @Schema(description = "模版发送人名称", required = true, example = "芋艿")
+    @Schema(description = "模版发送人名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
     @NotNull(message = "模版发送人名称不能为空")
     private String templateNickname;
 
-    @Schema(description = "模版内容", required = true, example = "测试内容")
+    @Schema(description = "模版内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试内容")
     @NotNull(message = "模版内容不能为空")
     private String templateContent;
 
-    @Schema(description = "模版类型", required = true, example = "2")
+    @Schema(description = "模版类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     @NotNull(message = "模版类型不能为空")
     private Integer templateType;
 
-    @Schema(description = "模版参数", required = true)
+    @Schema(description = "模版参数", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "模版参数不能为空")
     private Map<String, Object> templateParams;
 
-    @Schema(description = "是否已读", required = true, example = "true")
+    @Schema(description = "是否已读", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     @NotNull(message = "是否已读不能为空")
     private Boolean readStatus;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/message/NotifyMessageRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/message/NotifyMessageRespVO.java
index f109c36fb..285970945 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/message/NotifyMessageRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/message/NotifyMessageRespVO.java
@@ -10,10 +10,10 @@ import java.util.*;
 @ToString(callSuper = true)
 public class NotifyMessageRespVO extends NotifyMessageBaseVO {
 
-    @Schema(description = "ID", required = true, example = "1024")
+    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private Date createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateBaseVO.java
index 1e8762ca0..1af2ec128 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateBaseVO.java
@@ -15,27 +15,27 @@ import javax.validation.constraints.NotNull;
 @Data
 public class NotifyTemplateBaseVO {
 
-    @Schema(description = "模版名称", required = true, example = "测试模版")
+    @Schema(description = "模版名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试模版")
     @NotEmpty(message = "模版名称不能为空")
     private String name;
 
-    @Schema(description = "模版编码", required = true, example = "SEND_TEST")
+    @Schema(description = "模版编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "SEND_TEST")
     @NotNull(message = "模版编码不能为空")
     private String code;
 
-    @Schema(description = "模版类型 - 对应 system_notify_template_type 字典", required = true, example = "1")
+    @Schema(description = "模版类型 - 对应 system_notify_template_type 字典", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "模版类型不能为空")
     private Integer type;
 
-    @Schema(description = "发送人名称", required = true, example = "土豆")
+    @Schema(description = "发送人名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "土豆")
     @NotEmpty(message = "发送人名称不能为空")
     private String nickname;
 
-    @Schema(description = "模版内容", required = true, example = "我是模版内容")
+    @Schema(description = "模版内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "我是模版内容")
     @NotEmpty(message = "模版内容不能为空")
     private String content;
 
-    @Schema(description = "状态 - 参见 CommonStatusEnum 枚举", required = true, example = "1")
+    @Schema(description = "状态 - 参见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "状态不能为空")
     @InEnum(value = CommonStatusEnum.class, message = "状态必须是 {value}")
     private Integer status;
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateRespVO.java
index acfed3013..a0dd095b3 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateRespVO.java
@@ -10,13 +10,13 @@ import java.util.*;
 @ToString(callSuper = true)
 public class NotifyTemplateRespVO extends NotifyTemplateBaseVO {
 
-    @Schema(description = "ID", required = true, example = "1024")
+    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
     @Schema(description = "参数数组", example = "name,code")
     private List<String> params;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private Date createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateSendReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateSendReqVO.java
index adb73b00c..d04c609f5 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateSendReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateSendReqVO.java
@@ -11,11 +11,11 @@ import java.util.Map;
 @Data
 public class NotifyTemplateSendReqVO {
 
-    @Schema(description = "用户id", required = true, example = "01")
+    @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "01")
     @NotNull(message = "用户id不能为空")
     private Long userId;
 
-    @Schema(description = "模板编码", required = true, example = "01")
+    @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "01")
     @NotEmpty(message = "模板编码不能为空")
     private String templateCode;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateUpdateReqVO.java
index cdbeade2d..17927a1e2 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateUpdateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateUpdateReqVO.java
@@ -10,7 +10,7 @@ import javax.validation.constraints.*;
 @ToString(callSuper = true)
 public class NotifyTemplateUpdateReqVO extends NotifyTemplateBaseVO {
 
-    @Schema(description = "ID", required = true, example = "1024")
+    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "ID 不能为空")
     private Long id;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/client/OAuth2ClientBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/client/OAuth2ClientBaseVO.java
index c0056ed3d..cd38f8b17 100755
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/client/OAuth2ClientBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/client/OAuth2ClientBaseVO.java
@@ -18,19 +18,19 @@ import java.util.List;
 @Data
 public class OAuth2ClientBaseVO {
 
-    @Schema(description = "客户端编号", required = true, example = "tudou")
+    @Schema(description = "客户端编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "tudou")
     @NotNull(message = "客户端编号不能为空")
     private String clientId;
 
-    @Schema(description = "客户端密钥", required = true, example = "fan")
+    @Schema(description = "客户端密钥", requiredMode = Schema.RequiredMode.REQUIRED, example = "fan")
     @NotNull(message = "客户端密钥不能为空")
     private String secret;
 
-    @Schema(description = "应用名", required = true, example = "土豆")
+    @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "土豆")
     @NotNull(message = "应用名不能为空")
     private String name;
 
-    @Schema(description = "应用图标", required = true, example = "https://www.iocoder.cn/xx.png")
+    @Schema(description = "应用图标", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/xx.png")
     @NotNull(message = "应用图标不能为空")
     @URL(message = "应用图标的地址不正确")
     private String logo;
@@ -38,24 +38,24 @@ public class OAuth2ClientBaseVO {
     @Schema(description = "应用描述", example = "我是一个应用")
     private String description;
 
-    @Schema(description = "状态,参见 CommonStatusEnum 枚举", required = true, example = "1")
+    @Schema(description = "状态,参见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "状态不能为空")
     private Integer status;
 
-    @Schema(description = "访问令牌的有效期", required = true, example = "8640")
+    @Schema(description = "访问令牌的有效期", requiredMode = Schema.RequiredMode.REQUIRED, example = "8640")
     @NotNull(message = "访问令牌的有效期不能为空")
     private Integer accessTokenValiditySeconds;
 
-    @Schema(description = "刷新令牌的有效期", required = true, example = "8640000")
+    @Schema(description = "刷新令牌的有效期", requiredMode = Schema.RequiredMode.REQUIRED, example = "8640000")
     @NotNull(message = "刷新令牌的有效期不能为空")
     private Integer refreshTokenValiditySeconds;
 
-    @Schema(description = "可重定向的 URI 地址", required = true, example = "https://www.iocoder.cn")
+    @Schema(description = "可重定向的 URI 地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
     @NotNull(message = "可重定向的 URI 地址不能为空")
     private List<@NotEmpty(message = "重定向的 URI 不能为空")
         @URL(message = "重定向的 URI 格式不正确") String> redirectUris;
 
-    @Schema(description = "授权类型,参见 OAuth2GrantTypeEnum 枚举", required = true, example = "password")
+    @Schema(description = "授权类型,参见 OAuth2GrantTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "password")
     @NotNull(message = "授权类型不能为空")
     private List<String> authorizedGrantTypes;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/client/OAuth2ClientRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/client/OAuth2ClientRespVO.java
index 28aff686c..7a106fd97 100755
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/client/OAuth2ClientRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/client/OAuth2ClientRespVO.java
@@ -13,10 +13,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class OAuth2ClientRespVO extends OAuth2ClientBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/client/OAuth2ClientUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/client/OAuth2ClientUpdateReqVO.java
index ba76eaeb9..8f7d9a095 100755
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/client/OAuth2ClientUpdateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/client/OAuth2ClientUpdateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class OAuth2ClientUpdateReqVO extends OAuth2ClientBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "编号不能为空")
     private Long id;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAccessTokenRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAccessTokenRespVO.java
index 745095403..1cdc6cb02 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAccessTokenRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAccessTokenRespVO.java
@@ -12,19 +12,19 @@ import lombok.NoArgsConstructor;
 @AllArgsConstructor
 public class OAuth2OpenAccessTokenRespVO {
 
-    @Schema(description = "访问令牌", required = true, example = "tudou")
+    @Schema(description = "访问令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "tudou")
     @JsonProperty("access_token")
     private String accessToken;
 
-    @Schema(description = "刷新令牌", required = true, example = "nice")
+    @Schema(description = "刷新令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "nice")
     @JsonProperty("refresh_token")
     private String refreshToken;
 
-    @Schema(description = "令牌类型", required = true, example = "bearer")
+    @Schema(description = "令牌类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "bearer")
     @JsonProperty("token_type")
     private String tokenType;
 
-    @Schema(description = "过期时间,单位:秒", required = true, example = "42430")
+    @Schema(description = "过期时间,单位:秒", requiredMode = Schema.RequiredMode.REQUIRED, example = "42430")
     @JsonProperty("expires_in")
     private Long expiresIn;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAuthorizeInfoRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAuthorizeInfoRespVO.java
index 984f87916..2aa3d77c1 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAuthorizeInfoRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAuthorizeInfoRespVO.java
@@ -19,7 +19,7 @@ public class OAuth2OpenAuthorizeInfoRespVO {
      */
     private Client client;
 
-    @Schema(description = "scope 的选中信息,使用 List 保证有序性,Key 是 scope,Value 为是否选中", required = true)
+    @Schema(description = "scope 的选中信息,使用 List 保证有序性,Key 是 scope,Value 为是否选中", requiredMode = Schema.RequiredMode.REQUIRED)
     private List<KeyValue<String, Boolean>> scopes;
 
     @Data
@@ -27,10 +27,10 @@ public class OAuth2OpenAuthorizeInfoRespVO {
     @AllArgsConstructor
     public static class Client {
 
-        @Schema(description = "应用名", required = true, example = "土豆")
+        @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "土豆")
         private String name;
 
-        @Schema(description = "应用图标", required = true, example = "https://www.iocoder.cn/xx.png")
+        @Schema(description = "应用图标", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/xx.png")
         private String logo;
 
     }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/open/OAuth2OpenCheckTokenRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/open/OAuth2OpenCheckTokenRespVO.java
index d2dc8eb46..fd74f336c 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/open/OAuth2OpenCheckTokenRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/open/OAuth2OpenCheckTokenRespVO.java
@@ -14,27 +14,27 @@ import java.util.List;
 @AllArgsConstructor
 public class OAuth2OpenCheckTokenRespVO {
 
-    @Schema(description = "用户编号", required = true, example = "666")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "666")
     @JsonProperty("user_id")
     private Long userId;
-    @Schema(description = "用户类型,参见 UserTypeEnum 枚举", required = true, example = "2")
+    @Schema(description = "用户类型,参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     @JsonProperty("user_type")
     private Integer userType;
-    @Schema(description = "租户编号", required = true, example = "1024")
+    @Schema(description = "租户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @JsonProperty("tenant_id")
     private Long tenantId;
 
-    @Schema(description = "客户端编号", required = true, example = "car")
+    @Schema(description = "客户端编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "car")
     @JsonProperty("client_id")
     private String clientId;
-    @Schema(description = "授权范围", required = true, example = "user_info")
+    @Schema(description = "授权范围", requiredMode = Schema.RequiredMode.REQUIRED, example = "user_info")
     private List<String> scopes;
 
-    @Schema(description = "访问令牌", required = true, example = "tudou")
+    @Schema(description = "访问令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "tudou")
     @JsonProperty("access_token")
     private String accessToken;
 
-    @Schema(description = "过期时间,时间戳 / 1000,即单位:秒", required = true, example = "1593092157")
+    @Schema(description = "过期时间,时间戳 / 1000,即单位:秒", requiredMode = Schema.RequiredMode.REQUIRED, example = "1593092157")
     private Long exp;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenPageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenPageReqVO.java
index 1a54fdcb6..4e4a6af7a 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenPageReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenPageReqVO.java
@@ -10,13 +10,13 @@ import lombok.EqualsAndHashCode;
 @EqualsAndHashCode(callSuper = true)
 public class OAuth2AccessTokenPageReqVO extends PageParam {
 
-    @Schema(description = "用户编号", required = true, example = "666")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "666")
     private Long userId;
 
-    @Schema(description = "用户类型,参见 UserTypeEnum 枚举", required = true, example = "2")
+    @Schema(description = "用户类型,参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     private Integer userType;
 
-    @Schema(description = "客户端编号", required = true, example = "2")
+    @Schema(description = "客户端编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     private String clientId;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenRespVO.java
index 125e37f46..e0f93d954 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenRespVO.java
@@ -13,28 +13,28 @@ import java.time.LocalDateTime;
 @AllArgsConstructor
 public class OAuth2AccessTokenRespVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "访问令牌", required = true, example = "tudou")
+    @Schema(description = "访问令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "tudou")
     private String accessToken;
 
-    @Schema(description = "刷新令牌", required = true, example = "nice")
+    @Schema(description = "刷新令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "nice")
     private String refreshToken;
 
-    @Schema(description = "用户编号", required = true, example = "666")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "666")
     private Long userId;
 
-    @Schema(description = "用户类型,参见 UserTypeEnum 枚举", required = true, example = "2")
+    @Schema(description = "用户类型,参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     private Integer userType;
 
-    @Schema(description = "客户端编号", required = true, example = "2")
+    @Schema(description = "客户端编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     private String clientId;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
-    @Schema(description = "过期时间", required = true)
+    @Schema(description = "过期时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime expiresTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/user/OAuth2UserInfoRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/user/OAuth2UserInfoRespVO.java
index 0a1002f7c..ff19b2b65 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/user/OAuth2UserInfoRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/user/OAuth2UserInfoRespVO.java
@@ -13,13 +13,13 @@ import java.util.List;
 @AllArgsConstructor
 public class OAuth2UserInfoRespVO {
 
-    @Schema(description = "用户编号", required = true, example = "1")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
-    @Schema(description = "用户账号", required = true, example = "芋艿")
+    @Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
     private String username;
 
-    @Schema(description = "用户昵称", required = true, example = "芋道")
+    @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String nickname;
 
     @Schema(description = "用户邮箱", example = "yudao@iocoder.cn")
@@ -47,10 +47,10 @@ public class OAuth2UserInfoRespVO {
     @Data
     public static class Dept {
 
-        @Schema(description = "部门编号", required = true, example = "1")
+        @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long id;
 
-        @Schema(description = "部门名称", required = true, example = "研发部")
+        @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部")
         private String name;
 
     }
@@ -59,10 +59,10 @@ public class OAuth2UserInfoRespVO {
     @Data
     public static class Post {
 
-        @Schema(description = "岗位编号", required = true, example = "1")
+        @Schema(description = "岗位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long id;
 
-        @Schema(description = "岗位名称", required = true, example = "开发")
+        @Schema(description = "岗位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "开发")
         private String name;
 
     }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/user/OAuth2UserUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/user/OAuth2UserUpdateReqVO.java
index 739b12d6b..b9970741a 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/user/OAuth2UserUpdateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/user/OAuth2UserUpdateReqVO.java
@@ -15,7 +15,7 @@ import javax.validation.constraints.Size;
 @AllArgsConstructor
 public class OAuth2UserUpdateReqVO {
 
-    @Schema(description = "用户昵称", required = true, example = "芋艿")
+    @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
     @Size(max = 30, message = "用户昵称长度不能超过 30 个字符")
     private String nickname;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuBaseVO.java
index ddaf16c5a..a1d2e022e 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuBaseVO.java
@@ -14,7 +14,7 @@ import javax.validation.constraints.Size;
 @Data
 public class MenuBaseVO {
 
-    @Schema(description = "菜单名称", required = true, example = "芋道")
+    @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotBlank(message = "菜单名称不能为空")
     @Size(max = 50, message = "菜单名称长度不能超过50个字符")
     private String name;
@@ -23,15 +23,15 @@ public class MenuBaseVO {
     @Size(max = 100)
     private String permission;
 
-    @Schema(description = "类型,参见 MenuTypeEnum 枚举类", required = true, example = "1")
+    @Schema(description = "类型,参见 MenuTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "菜单类型不能为空")
     private Integer type;
 
-    @Schema(description = "显示顺序不能为空", required = true, example = "1024")
+    @Schema(description = "显示顺序不能为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "显示顺序不能为空")
     private Integer sort;
 
-    @Schema(description = "父菜单 ID", required = true, example = "1024")
+    @Schema(description = "父菜单 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "父菜单 ID 不能为空")
     private Long parentId;
 
@@ -49,7 +49,7 @@ public class MenuBaseVO {
     @Schema(description = "组件名", example = "SystemUser")
     private String componentName;
 
-    @Schema(description = "状态,见 CommonStatusEnum 枚举", required = true, example = "1")
+    @Schema(description = "状态,见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "状态不能为空")
     private Integer status;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuRespVO.java
index f85532639..5d149feb6 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuRespVO.java
@@ -15,13 +15,13 @@ import java.time.LocalDateTime;
 @EqualsAndHashCode(callSuper = true)
 public class MenuRespVO extends MenuBaseVO {
 
-    @Schema(description = "菜单编号", required = true, example = "1024")
+    @Schema(description = "菜单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "状态,参见 CommonStatusEnum 枚举类", required = true, example = "1")
+    @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
-    @Schema(description = "创建时间", required = true, example = "时间戳格式")
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式")
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuSimpleRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuSimpleRespVO.java
index bc8665ec1..9e27dc925 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuSimpleRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuSimpleRespVO.java
@@ -13,16 +13,16 @@ import javax.validation.constraints.NotNull;
 @AllArgsConstructor
 public class MenuSimpleRespVO {
 
-    @Schema(description = "菜单编号", required = true, example = "1024")
+    @Schema(description = "菜单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "菜单名称", required = true, example = "芋道")
+    @Schema(description = "菜单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String name;
 
-    @Schema(description = "父菜单 ID", required = true, example = "1024")
+    @Schema(description = "父菜单 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long parentId;
 
-    @Schema(description = "类型,参见 MenuTypeEnum 枚举类", required = true, example = "1")
+    @Schema(description = "类型,参见 MenuTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer type;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuUpdateReqVO.java
index 9346be045..a931f16e4 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuUpdateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuUpdateReqVO.java
@@ -10,7 +10,7 @@ import javax.validation.constraints.NotNull;
 @EqualsAndHashCode(callSuper = true)
 public class MenuUpdateReqVO extends MenuBaseVO {
 
-    @Schema(description = "菜单编号", required = true, example = "1024")
+    @Schema(description = "菜单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "菜单编号不能为空")
     private Long id;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/permission/PermissionAssignRoleDataScopeReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/permission/PermissionAssignRoleDataScopeReqVO.java
index 3d6449c99..1311faf7a 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/permission/PermissionAssignRoleDataScopeReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/permission/PermissionAssignRoleDataScopeReqVO.java
@@ -11,11 +11,11 @@ import java.util.Set;
 @Data
 public class PermissionAssignRoleDataScopeReqVO {
 
-    @Schema(description = "角色编号", required = true, example = "1")
+    @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "角色编号不能为空")
     private Long roleId;
 
-    @Schema(description = "数据范围,参见 DataScopeEnum 枚举类", required = true, example = "1")
+    @Schema(description = "数据范围,参见 DataScopeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "数据范围不能为空")
 //    TODO 这里要多一个枚举校验
     private Integer dataScope;
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/permission/PermissionAssignRoleMenuReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/permission/PermissionAssignRoleMenuReqVO.java
index 393ab47b2..28ae7e4af 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/permission/PermissionAssignRoleMenuReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/permission/PermissionAssignRoleMenuReqVO.java
@@ -11,7 +11,7 @@ import java.util.Set;
 @Data
 public class PermissionAssignRoleMenuReqVO {
 
-    @Schema(description = "角色编号", required = true, example = "1")
+    @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "角色编号不能为空")
     private Long roleId;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/permission/PermissionAssignUserRoleReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/permission/PermissionAssignUserRoleReqVO.java
index 74971401f..9ca43f943 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/permission/PermissionAssignUserRoleReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/permission/PermissionAssignUserRoleReqVO.java
@@ -11,7 +11,7 @@ import java.util.Set;
 @Data
 public class PermissionAssignUserRoleReqVO {
 
-    @Schema(description = "用户编号", required = true, example = "1")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "用户编号不能为空")
     private Long userId;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleBaseVO.java
index 84acfad92..f03ac05e1 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleBaseVO.java
@@ -14,17 +14,17 @@ import javax.validation.constraints.Size;
 @Data
 public class RoleBaseVO {
 
-    @Schema(description = "角色名称", required = true, example = "管理员")
+    @Schema(description = "角色名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "管理员")
     @NotBlank(message = "角色名称不能为空")
     @Size(max = 30, message = "角色名称长度不能超过30个字符")
     private String name;
 
     @NotBlank(message = "角色标志不能为空")
     @Size(max = 100, message = "角色标志长度不能超过100个字符")
-    @Schema(description = "角色编码", required = true, example = "ADMIN")
+    @Schema(description = "角色编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "ADMIN")
     private String code;
 
-    @Schema(description = "显示顺序不能为空", required = true, example = "1024")
+    @Schema(description = "显示顺序不能为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "显示顺序不能为空")
     private Integer sort;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleRespVO.java
index b4090f40e..d6b4dcf44 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleRespVO.java
@@ -16,22 +16,22 @@ import java.util.Set;
 @EqualsAndHashCode(callSuper = true)
 public class RoleRespVO extends RoleBaseVO {
 
-    @Schema(description = "角色编号", required = true, example = "1")
+    @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
-    @Schema(description = "数据范围,参见 DataScopeEnum 枚举类", required = true, example = "1")
+    @Schema(description = "数据范围,参见 DataScopeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer dataScope;
 
     @Schema(description = "数据范围(指定部门数组)", example = "1")
     private Set<Long> dataScopeDeptIds;
 
-    @Schema(description = "状态,参见 CommonStatusEnum 枚举类", required = true, example = "1")
+    @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
-    @Schema(description = "角色类型,参见 RoleTypeEnum 枚举类", required = true, example = "1")
+    @Schema(description = "角色类型,参见 RoleTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer type;
 
-    @Schema(description = "创建时间", required = true, example = "时间戳格式")
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式")
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleSimpleRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleSimpleRespVO.java
index d0404da61..bd177148e 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleSimpleRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleSimpleRespVO.java
@@ -11,10 +11,10 @@ import lombok.NoArgsConstructor;
 @AllArgsConstructor
 public class RoleSimpleRespVO {
 
-    @Schema(description = "角色编号", required = true, example = "1024")
+    @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "角色名称", required = true, example = "芋道")
+    @Schema(description = "角色名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String name;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleUpdateReqVO.java
index 367fcf943..713989c19 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleUpdateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleUpdateReqVO.java
@@ -11,7 +11,7 @@ import javax.validation.constraints.NotNull;
 @EqualsAndHashCode(callSuper = true)
 public class RoleUpdateReqVO extends RoleBaseVO {
 
-    @Schema(description = "角色编号", required = true, example = "1024")
+    @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "角色编号不能为空")
     private Long id;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleUpdateStatusReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleUpdateStatusReqVO.java
index 5f51b5757..f11e56980 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleUpdateStatusReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleUpdateStatusReqVO.java
@@ -11,11 +11,11 @@ import javax.validation.constraints.NotNull;
 @Data
 public class RoleUpdateStatusReqVO {
 
-    @Schema(description = "角色编号", required = true, example = "1024")
+    @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "角色编号不能为空")
     private Long id;
 
-    @Schema(description = "状态,见 CommonStatusEnum 枚举", required = true, example = "1")
+    @Schema(description = "状态,见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "状态不能为空")
     @InEnum(value = CommonStatusEnum.class, message = "修改状态必须是 {value}")
     private Integer status;
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordBaseVO.java
index 408e952de..906c168ac 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordBaseVO.java
@@ -13,15 +13,15 @@ import java.util.List;
 @Data
 public class SensitiveWordBaseVO {
 
-    @Schema(description = "敏感词", required = true, example = "敏感词")
+    @Schema(description = "敏感词", requiredMode = Schema.RequiredMode.REQUIRED, example = "敏感词")
     @NotNull(message = "敏感词不能为空")
     private String name;
 
-    @Schema(description = "标签", required = true, example = "短信,评论")
+    @Schema(description = "标签", requiredMode = Schema.RequiredMode.REQUIRED, example = "短信,评论")
     @NotNull(message = "标签不能为空")
     private List<String> tags;
 
-    @Schema(description = "状态,参见 CommonStatusEnum 枚举类", required = true, example = "1")
+    @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "状态不能为空")
     private Integer status;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordRespVO.java
index 28849b408..750d733cf 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordRespVO.java
@@ -13,10 +13,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class SensitiveWordRespVO extends SensitiveWordBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordUpdateReqVO.java
index 58828115e..7c8100383 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordUpdateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordUpdateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class SensitiveWordUpdateReqVO extends SensitiveWordBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "编号不能为空")
     private Long id;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelBaseVO.java
index 6c97f06de..56f503998 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelBaseVO.java
@@ -12,18 +12,18 @@ import javax.validation.constraints.NotNull;
 @Data
 public class SmsChannelBaseVO {
 
-    @Schema(description = "短信签名", required = true, example = "芋道源码")
+    @Schema(description = "短信签名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道源码")
     @NotNull(message = "短信签名不能为空")
     private String signature;
 
-    @Schema(description = "启用状态", required = true, example = "1")
+    @Schema(description = "启用状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "启用状态不能为空")
     private Integer status;
 
     @Schema(description = "备注", example = "好吃!")
     private String remark;
 
-    @Schema(description = "短信 API 的账号", required = true, example = "yudao")
+    @Schema(description = "短信 API 的账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao")
     @NotNull(message = "短信 API 的账号不能为空")
     private String apiKey;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelCreateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelCreateReqVO.java
index 31671a572..d1dde92fd 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelCreateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelCreateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class SmsChannelCreateReqVO extends SmsChannelBaseVO {
 
-    @Schema(description = "渠道编码,参见 SmsChannelEnum 枚举类", required = true, example = "YUN_PIAN")
+    @Schema(description = "渠道编码,参见 SmsChannelEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "YUN_PIAN")
     @NotNull(message = "渠道编码不能为空")
     private String code;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelRespVO.java
index 27b09d60b..8623c085d 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelRespVO.java
@@ -13,13 +13,13 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class SmsChannelRespVO extends SmsChannelBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "渠道编码,参见 SmsChannelEnum 枚举类", required = true, example = "YUN_PIAN")
+    @Schema(description = "渠道编码,参见 SmsChannelEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "YUN_PIAN")
     private String code;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelSimpleRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelSimpleRespVO.java
index b9a3f46c0..9d3cffda9 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelSimpleRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelSimpleRespVO.java
@@ -9,15 +9,15 @@ import javax.validation.constraints.NotNull;
 @Data
 public class SmsChannelSimpleRespVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "编号不能为空")
     private Long id;
 
-    @Schema(description = "短信签名", required = true, example = "芋道源码")
+    @Schema(description = "短信签名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道源码")
     @NotNull(message = "短信签名不能为空")
     private String signature;
 
-    @Schema(description = "渠道编码,参见 SmsChannelEnum 枚举类", required = true, example = "YUN_PIAN")
+    @Schema(description = "渠道编码,参见 SmsChannelEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "YUN_PIAN")
     private String code;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelUpdateReqVO.java
index 3379649f1..594854705 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelUpdateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelUpdateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class SmsChannelUpdateReqVO extends SmsChannelBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "编号不能为空")
     private Long id;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/log/SmsLogRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/log/SmsLogRespVO.java
index 2780b5de1..6f31e6d04 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/log/SmsLogRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/log/SmsLogRespVO.java
@@ -10,34 +10,34 @@ import java.util.Map;
 @Data
 public class SmsLogRespVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "短信渠道编号", required = true, example = "10")
+    @Schema(description = "短信渠道编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     private Long channelId;
 
-    @Schema(description = "短信渠道编码", required = true, example = "ALIYUN")
+    @Schema(description = "短信渠道编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "ALIYUN")
     private String channelCode;
 
-    @Schema(description = "模板编号", required = true, example = "20")
+    @Schema(description = "模板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "20")
     private Long templateId;
 
-    @Schema(description = "模板编码", required = true, example = "test-01")
+    @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test-01")
     private String templateCode;
 
-    @Schema(description = "短信类型", required = true, example = "1")
+    @Schema(description = "短信类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer templateType;
 
-    @Schema(description = "短信内容", required = true, example = "你好,你的验证码是 1024")
+    @Schema(description = "短信内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "你好,你的验证码是 1024")
     private String templateContent;
 
-    @Schema(description = "短信参数", required = true, example = "name,code")
+    @Schema(description = "短信参数", requiredMode = Schema.RequiredMode.REQUIRED, example = "name,code")
     private Map<String, Object> templateParams;
 
-    @Schema(description = "短信 API 的模板编号", required = true, example = "SMS_207945135")
+    @Schema(description = "短信 API 的模板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "SMS_207945135")
     private String apiTemplateId;
 
-    @Schema(description = "手机号", required = true, example = "15601691300")
+    @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15601691300")
     private String mobile;
 
     @Schema(description = "用户编号", example = "10")
@@ -46,7 +46,7 @@ public class SmsLogRespVO {
     @Schema(description = "用户类型", example = "1")
     private Integer userType;
 
-    @Schema(description = "发送状态", required = true, example = "1")
+    @Schema(description = "发送状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer sendStatus;
 
     @Schema(description = "发送时间")
@@ -70,7 +70,7 @@ public class SmsLogRespVO {
     @Schema(description = "短信 API 发送返回的序号", example = "62923244790")
     private String apiSerialNo;
 
-    @Schema(description = "接收状态", required = true, example = "0")
+    @Schema(description = "接收状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
     private Integer receiveStatus;
 
     @Schema(description = "接收时间")
@@ -82,7 +82,7 @@ public class SmsLogRespVO {
     @Schema(description = "API 接收结果的说明", example = "用户接收成功")
     private String apiReceiveMsg;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateBaseVO.java
index dc33b45c0..6ea78bbc6 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateBaseVO.java
@@ -11,34 +11,34 @@ import javax.validation.constraints.NotNull;
 @Data
 public class SmsTemplateBaseVO {
 
-    @Schema(description = "短信类型,参见 SmsTemplateTypeEnum 枚举类", required = true, example = "1")
+    @Schema(description = "短信类型,参见 SmsTemplateTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "短信类型不能为空")
     private Integer type;
 
-    @Schema(description = "开启状态,参见 CommonStatusEnum 枚举类", required = true, example = "1")
+    @Schema(description = "开启状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "开启状态不能为空")
     private Integer status;
 
-    @Schema(description = "模板编码", required = true, example = "test_01")
+    @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test_01")
     @NotNull(message = "模板编码不能为空")
     private String code;
 
-    @Schema(description = "模板名称", required = true, example = "yudao")
+    @Schema(description = "模板名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao")
     @NotNull(message = "模板名称不能为空")
     private String name;
 
-    @Schema(description = "模板内容", required = true, example = "你好,{name}。你长的太{like}啦!")
+    @Schema(description = "模板内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "你好,{name}。你长的太{like}啦!")
     @NotNull(message = "模板内容不能为空")
     private String content;
 
     @Schema(description = "备注", example = "哈哈哈")
     private String remark;
 
-    @Schema(description = "短信 API 的模板编号", required = true, example = "4383920")
+    @Schema(description = "短信 API 的模板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "4383920")
     @NotNull(message = "短信 API 的模板编号不能为空")
     private String apiTemplateId;
 
-    @Schema(description = "短信渠道编号", required = true, example = "10")
+    @Schema(description = "短信渠道编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     @NotNull(message = "短信渠道编号不能为空")
     private Long channelId;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateRespVO.java
index e1874ce67..3139d20dc 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateRespVO.java
@@ -14,16 +14,16 @@ import java.util.List;
 @ToString(callSuper = true)
 public class SmsTemplateRespVO extends SmsTemplateBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "短信渠道编码", required = true, example = "ALIYUN")
+    @Schema(description = "短信渠道编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "ALIYUN")
     private String channelCode;
 
     @Schema(description = "参数数组", example = "name,code")
     private List<String> params;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateSendReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateSendReqVO.java
index 11561fae9..e42096641 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateSendReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateSendReqVO.java
@@ -10,11 +10,11 @@ import java.util.Map;
 @Data
 public class SmsTemplateSendReqVO {
 
-    @Schema(description = "手机号", required = true, example = "15601691300")
+    @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15601691300")
     @NotNull(message = "手机号不能为空")
     private String mobile;
 
-    @Schema(description = "模板编码", required = true, example = "test_01")
+    @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test_01")
     @NotNull(message = "模板编码不能为空")
     private String templateCode;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateUpdateReqVO.java
index 6cfcdfe5f..d347f6950 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateUpdateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateUpdateReqVO.java
@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class SmsTemplateUpdateReqVO extends SmsTemplateBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "编号不能为空")
     private Long id;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/SocialUserBindReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/SocialUserBindReqVO.java
index c4d36e986..d91173958 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/SocialUserBindReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/SocialUserBindReqVO.java
@@ -18,16 +18,16 @@ import javax.validation.constraints.NotNull;
 @Builder
 public class SocialUserBindReqVO {
 
-    @Schema(description = "社交平台的类型,参见 UserSocialTypeEnum 枚举值", required = true, example = "10")
+    @Schema(description = "社交平台的类型,参见 UserSocialTypeEnum 枚举值", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     @InEnum(SocialTypeEnum.class)
     @NotNull(message = "社交平台的类型不能为空")
     private Integer type;
 
-    @Schema(description = "授权码", required = true, example = "1024")
+    @Schema(description = "授权码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "授权码不能为空")
     private String code;
 
-    @Schema(description = "state", required = true, example = "9b2ffbc1-7425-4155-9894-9d5c08541d62")
+    @Schema(description = "state", requiredMode = Schema.RequiredMode.REQUIRED, example = "9b2ffbc1-7425-4155-9894-9d5c08541d62")
     @NotEmpty(message = "state 不能为空")
     private String state;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/SocialUserUnbindReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/SocialUserUnbindReqVO.java
index aa293ca5c..9a1e841fb 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/SocialUserUnbindReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/SocialUserUnbindReqVO.java
@@ -18,12 +18,12 @@ import javax.validation.constraints.NotNull;
 @Builder
 public class SocialUserUnbindReqVO {
 
-    @Schema(description = "社交平台的类型,参见 UserSocialTypeEnum 枚举值", required = true, example = "10")
+    @Schema(description = "社交平台的类型,参见 UserSocialTypeEnum 枚举值", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     @InEnum(SocialTypeEnum.class)
     @NotNull(message = "社交平台的类型不能为空")
     private Integer type;
 
-    @Schema(description = "社交用户的 openid", required = true, example = "IPRmJ0wvBptiPIlGEZiPewGwiEiE")
+    @Schema(description = "社交用户的 openid", requiredMode = Schema.RequiredMode.REQUIRED, example = "IPRmJ0wvBptiPIlGEZiPewGwiEiE")
     @NotEmpty(message = "社交用户的 openid 不能为空")
     private String openid;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackageBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackageBaseVO.java
index 53adc072f..d8f14f6f0 100755
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackageBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackageBaseVO.java
@@ -13,18 +13,18 @@ import java.util.Set;
 @Data
 public class TenantPackageBaseVO {
 
-    @Schema(description = "套餐名", required = true, example = "VIP")
+    @Schema(description = "套餐名", requiredMode = Schema.RequiredMode.REQUIRED, example = "VIP")
     @NotNull(message = "套餐名不能为空")
     private String name;
 
-    @Schema(description = "状态,参见 CommonStatusEnum 枚举", required = true, example = "1")
+    @Schema(description = "状态,参见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "状态不能为空")
     private Integer status;
 
     @Schema(description = "备注", example = "好")
     private String remark;
 
-    @Schema(description = "关联的菜单编号", required = true)
+    @Schema(description = "关联的菜单编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "关联的菜单编号不能为空")
     private Set<Long> menuIds;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackageRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackageRespVO.java
index f1a0d2f46..29b985df6 100755
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackageRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackageRespVO.java
@@ -13,10 +13,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class TenantPackageRespVO extends TenantPackageBaseVO {
 
-    @Schema(description = "套餐编号", required = true, example = "1024")
+    @Schema(description = "套餐编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackageSimpleRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackageSimpleRespVO.java
index feeff1fe8..bc3d62ae8 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackageSimpleRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackageSimpleRespVO.java
@@ -9,11 +9,11 @@ import javax.validation.constraints.NotNull;
 @Data
 public class TenantPackageSimpleRespVO {
 
-    @Schema(description = "套餐编号", required = true, example = "1024")
+    @Schema(description = "套餐编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "套餐编号不能为空")
     private Long id;
 
-    @Schema(description = "套餐名", required = true, example = "VIP")
+    @Schema(description = "套餐名", requiredMode = Schema.RequiredMode.REQUIRED, example = "VIP")
     @NotNull(message = "套餐名不能为空")
     private String name;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackageUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackageUpdateReqVO.java
index a91f2fb3d..0d7e74c25 100755
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackageUpdateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackageUpdateReqVO.java
@@ -10,7 +10,7 @@ import javax.validation.constraints.*;
 @ToString(callSuper = true)
 public class TenantPackageUpdateReqVO extends TenantPackageBaseVO {
 
-    @Schema(description = "套餐编号", required = true, example = "1024")
+    @Schema(description = "套餐编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "套餐编号不能为空")
     private Long id;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantBaseVO.java
index 4673e2990..76899be85 100755
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantBaseVO.java
@@ -13,33 +13,33 @@ import java.time.LocalDateTime;
 @Data
 public class TenantBaseVO {
 
-    @Schema(description = "租户名", required = true, example = "芋道")
+    @Schema(description = "租户名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotNull(message = "租户名不能为空")
     private String name;
 
-    @Schema(description = "联系人", required = true, example = "芋艿")
+    @Schema(description = "联系人", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
     @NotNull(message = "联系人不能为空")
     private String contactName;
 
     @Schema(description = "联系手机", example = "15601691300")
     private String contactMobile;
 
-    @Schema(description = "租户状态", required = true, example = "1")
+    @Schema(description = "租户状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "租户状态")
     private Integer status;
 
     @Schema(description = "绑定域名", example = "https://www.iocoder.cn")
     private String domain;
 
-    @Schema(description = "租户套餐编号", required = true, example = "1024")
+    @Schema(description = "租户套餐编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "租户套餐编号不能为空")
     private Long packageId;
 
-    @Schema(description = "过期时间", required = true)
+    @Schema(description = "过期时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "过期时间不能为空")
     private LocalDateTime expireTime;
 
-    @Schema(description = "账号数量", required = true, example = "1024")
+    @Schema(description = "账号数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "账号数量不能为空")
     private Integer accountCount;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantCreateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantCreateReqVO.java
index 8db44c2c1..b45ac59ba 100755
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantCreateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantCreateReqVO.java
@@ -15,13 +15,13 @@ import javax.validation.constraints.Size;
 @ToString(callSuper = true)
 public class TenantCreateReqVO extends TenantBaseVO {
 
-    @Schema(description = "用户账号", required = true, example = "yudao")
+    @Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao")
     @NotBlank(message = "用户账号不能为空")
     @Pattern(regexp = "^[a-zA-Z0-9]{4,30}$", message = "用户账号由 数字、字母 组成")
     @Size(min = 4, max = 30, message = "用户账号长度为 4-30 个字符")
     private String username;
 
-    @Schema(description = "密码", required = true, example = "123456")
+    @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
     @NotEmpty(message = "密码不能为空")
     @Length(min = 4, max = 16, message = "密码长度为 4-16 位")
     private String password;
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantRespVO.java
index 10e1aa552..13754d669 100755
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantRespVO.java
@@ -11,10 +11,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class TenantRespVO extends TenantBaseVO {
 
-    @Schema(description = "租户编号", required = true, example = "1024")
+    @Schema(description = "租户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantUpdateReqVO.java
index 1969fe302..6555bcec0 100755
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantUpdateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantUpdateReqVO.java
@@ -10,7 +10,7 @@ import javax.validation.constraints.*;
 @ToString(callSuper = true)
 public class TenantUpdateReqVO extends TenantBaseVO {
 
-    @Schema(description = "租户编号", required = true, example = "1024")
+    @Schema(description = "租户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "租户编号不能为空")
     private Long id;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileRespVO.java
index 9e8298f45..fd1c26eac 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileRespVO.java
@@ -18,19 +18,19 @@ import java.util.List;
 @Schema(description = "管理后台 - 用户个人中心信息 Response VO")
 public class UserProfileRespVO extends UserBaseVO {
 
-    @Schema(description = "用户编号", required = true, example = "1")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
-    @Schema(description = "状态,参见 CommonStatusEnum 枚举类", required = true, example = "1")
+    @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
-    @Schema(description = "最后登录 IP", required = true, example = "192.168.1.1")
+    @Schema(description = "最后登录 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "192.168.1.1")
     private String loginIp;
 
-    @Schema(description = "最后登录时间", required = true, example = "时间戳格式")
+    @Schema(description = "最后登录时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式")
     private LocalDateTime loginDate;
 
-    @Schema(description = "创建时间", required = true, example = "时间戳格式")
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式")
     private LocalDateTime createTime;
 
     /**
@@ -56,10 +56,10 @@ public class UserProfileRespVO extends UserBaseVO {
     @Data
     public static class Role {
 
-        @Schema(description = "角色编号", required = true, example = "1")
+        @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long id;
 
-        @Schema(description = "角色名称", required = true, example = "普通角色")
+        @Schema(description = "角色名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "普通角色")
         private String name;
 
     }
@@ -68,10 +68,10 @@ public class UserProfileRespVO extends UserBaseVO {
     @Data
     public static class Dept {
 
-        @Schema(description = "部门编号", required = true, example = "1")
+        @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long id;
 
-        @Schema(description = "部门名称", required = true, example = "研发部")
+        @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部")
         private String name;
 
     }
@@ -80,10 +80,10 @@ public class UserProfileRespVO extends UserBaseVO {
     @Data
     public static class Post {
 
-        @Schema(description = "岗位编号", required = true, example = "1")
+        @Schema(description = "岗位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long id;
 
-        @Schema(description = "岗位名称", required = true, example = "开发")
+        @Schema(description = "岗位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "开发")
         private String name;
 
     }
@@ -92,10 +92,10 @@ public class UserProfileRespVO extends UserBaseVO {
     @Data
     public static class SocialUser {
 
-        @Schema(description = "社交平台的类型,参见 SocialTypeEnum 枚举类", required = true, example = "10")
+        @Schema(description = "社交平台的类型,参见 SocialTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
         private Integer type;
 
-        @Schema(description = "社交用户的 openid", required = true, example = "IPRmJ0wvBptiPIlGEZiPewGwiEiE")
+        @Schema(description = "社交用户的 openid", requiredMode = Schema.RequiredMode.REQUIRED, example = "IPRmJ0wvBptiPIlGEZiPewGwiEiE")
         private String openid;
 
     }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileUpdatePasswordReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileUpdatePasswordReqVO.java
index d784537cf..e7312082a 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileUpdatePasswordReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileUpdatePasswordReqVO.java
@@ -10,12 +10,12 @@ import javax.validation.constraints.NotEmpty;
 @Data
 public class UserProfileUpdatePasswordReqVO {
 
-    @Schema(description = "旧密码", required = true, example = "123456")
+    @Schema(description = "旧密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
     @NotEmpty(message = "旧密码不能为空")
     @Length(min = 4, max = 16, message = "密码长度为 4-16 位")
     private String oldPassword;
 
-    @Schema(description = "新密码", required = true, example = "654321")
+    @Schema(description = "新密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "654321")
     @NotEmpty(message = "新密码不能为空")
     @Length(min = 4, max = 16, message = "密码长度为 4-16 位")
     private String newPassword;
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileUpdateReqVO.java
index 727f28178..8abc07af6 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileUpdateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileUpdateReqVO.java
@@ -11,7 +11,7 @@ import javax.validation.constraints.Size;
 @Data
 public class UserProfileUpdateReqVO {
 
-    @Schema(description = "用户昵称", required = true, example = "芋艿")
+    @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
     @Size(max = 30, message = "用户昵称长度不能超过 30 个字符")
     private String nickname;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserBaseVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserBaseVO.java
index 93467b2ab..ce3af1302 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserBaseVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserBaseVO.java
@@ -17,13 +17,13 @@ import java.util.Set;
 @Data
 public class UserBaseVO {
 
-    @Schema(description = "用户账号", required = true, example = "yudao")
+    @Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao")
     @NotBlank(message = "用户账号不能为空")
     @Pattern(regexp = "^[a-zA-Z0-9]{4,30}$", message = "用户账号由 数字、字母 组成")
     @Size(min = 4, max = 30, message = "用户账号长度为 4-30 个字符")
     private String username;
 
-    @Schema(description = "用户昵称", required = true, example = "芋艿")
+    @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
     @Size(max = 30, message = "用户昵称长度不能超过30个字符")
     private String nickname;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserCreateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserCreateReqVO.java
index 1a80ac2d0..8b84685f1 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserCreateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserCreateReqVO.java
@@ -12,7 +12,7 @@ import javax.validation.constraints.NotEmpty;
 @EqualsAndHashCode(callSuper = true)
 public class UserCreateReqVO extends UserBaseVO {
 
-    @Schema(description = "密码", required = true, example = "123456")
+    @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
     @NotEmpty(message = "密码不能为空")
     @Length(min = 4, max = 16, message = "密码长度为 4-16 位")
     private String password;
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserImportRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserImportRespVO.java
index c0dcd09aa..6843ef5c3 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserImportRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserImportRespVO.java
@@ -12,13 +12,13 @@ import java.util.Map;
 @Builder
 public class UserImportRespVO {
 
-    @Schema(description = "创建成功的用户名数组", required = true)
+    @Schema(description = "创建成功的用户名数组", requiredMode = Schema.RequiredMode.REQUIRED)
     private List<String> createUsernames;
 
-    @Schema(description = "更新成功的用户名数组", required = true)
+    @Schema(description = "更新成功的用户名数组", requiredMode = Schema.RequiredMode.REQUIRED)
     private List<String> updateUsernames;
 
-    @Schema(description = "导入失败的用户集合,key 为用户名,value 为失败原因", required = true)
+    @Schema(description = "导入失败的用户集合,key 为用户名,value 为失败原因", requiredMode = Schema.RequiredMode.REQUIRED)
     private Map<String, String> failureUsernames;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserPageItemRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserPageItemRespVO.java
index 52ae7b7ea..4f609de46 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserPageItemRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserPageItemRespVO.java
@@ -22,10 +22,10 @@ public class UserPageItemRespVO extends UserRespVO {
     @Data
     public static class Dept {
 
-        @Schema(description = "部门编号", required = true, example = "1")
+        @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long id;
 
-        @Schema(description = "部门名称", required = true, example = "研发部")
+        @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部")
         private String name;
 
     }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserRespVO.java
index 93a53b74e..4859b520d 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserRespVO.java
@@ -13,19 +13,19 @@ import java.time.LocalDateTime;
 @EqualsAndHashCode(callSuper = true)
 public class UserRespVO extends UserBaseVO {
 
-    @Schema(description = "用户编号", required = true, example = "1")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
-    @Schema(description = "状态,参见 CommonStatusEnum 枚举类", required = true, example = "1")
+    @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
-    @Schema(description = "最后登录 IP", required = true, example = "192.168.1.1")
+    @Schema(description = "最后登录 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "192.168.1.1")
     private String loginIp;
 
-    @Schema(description = "最后登录时间", required = true, example = "时间戳格式")
+    @Schema(description = "最后登录时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式")
     private LocalDateTime loginDate;
 
-    @Schema(description = "创建时间", required = true, example = "时间戳格式")
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式")
     private LocalDateTime createTime;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserSimpleRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserSimpleRespVO.java
index f08e8c132..f021d7213 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserSimpleRespVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserSimpleRespVO.java
@@ -11,10 +11,10 @@ import lombok.NoArgsConstructor;
 @AllArgsConstructor
 public class UserSimpleRespVO {
 
-    @Schema(description = "用户编号", required = true, example = "1024")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "用户昵称", required = true, example = "芋道")
+    @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String nickname;
 
 }
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserUpdatePasswordReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserUpdatePasswordReqVO.java
index 786fca8ca..42d8c5d7d 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserUpdatePasswordReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserUpdatePasswordReqVO.java
@@ -11,11 +11,11 @@ import javax.validation.constraints.NotNull;
 @Data
 public class UserUpdatePasswordReqVO {
 
-    @Schema(description = "用户编号", required = true, example = "1024")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "用户编号不能为空")
     private Long id;
 
-    @Schema(description = "密码", required = true, example = "123456")
+    @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
     @NotEmpty(message = "密码不能为空")
     @Length(min = 4, max = 16, message = "密码长度为 4-16 位")
     private String password;
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserUpdateReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserUpdateReqVO.java
index d11a6e493..2267c506f 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserUpdateReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserUpdateReqVO.java
@@ -11,7 +11,7 @@ import javax.validation.constraints.NotNull;
 @EqualsAndHashCode(callSuper = true)
 public class UserUpdateReqVO extends UserBaseVO {
 
-    @Schema(description = "用户编号", required = true, example = "1024")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "用户编号不能为空")
     private Long id;
 
diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserUpdateStatusReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserUpdateStatusReqVO.java
index 0f8e21d0c..af1b73cdb 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserUpdateStatusReqVO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserUpdateStatusReqVO.java
@@ -9,11 +9,11 @@ import javax.validation.constraints.NotNull;
 @Data
 public class UserUpdateStatusReqVO {
 
-    @Schema(description = "用户编号", required = true, example = "1024")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "角色编号不能为空")
     private Long id;
 
-    @Schema(description = "状态,见 CommonStatusEnum 枚举", required = true, example = "1")
+    @Schema(description = "状态,见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "状态不能为空")
 //    @InEnum(value = CommonStatusEnum.class, message = "修改状态必须是 {value}")
     private Integer status;

From 6ac96facf63935bf78d0de1a60c4c5957015dcd5 Mon Sep 17 00:00:00 2001
From: LiuZijian <lzj@123>
Date: Tue, 9 May 2023 10:10:13 +0800
Subject: [PATCH 36/58] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E8=BE=BE?=
 =?UTF-8?q?=E6=A2=A6=E6=95=B0=E6=8D=AE=E5=BA=93dm8=20sql=E6=96=87=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 sql/dm/ruoyi-vue-pro-dm8.sql | 5713 ++++++++++++++++++++++++++++++++++
 1 file changed, 5713 insertions(+)
 create mode 100644 sql/dm/ruoyi-vue-pro-dm8.sql

diff --git a/sql/dm/ruoyi-vue-pro-dm8.sql b/sql/dm/ruoyi-vue-pro-dm8.sql
new file mode 100644
index 000000000..8275065b4
--- /dev/null
+++ b/sql/dm/ruoyi-vue-pro-dm8.sql
@@ -0,0 +1,5713 @@
+CREATE TABLE "RUOYI_VUE_PRO"."BPM_FORM"
+(
+ "ID" BIGINT IDENTITY(24,1) NOT NULL,
+ "NAME" VARCHAR(64) NOT NULL,
+ "STATUS" TINYINT NOT NULL,
+ "CONF" VARCHAR(1000) NOT NULL,
+ "FIELDS" VARCHAR(5000) NOT NULL,
+ "REMARK" VARCHAR(255) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."BPM_OA_LEAVE"
+(
+ "ID" BIGINT IDENTITY(35,1) NOT NULL,
+ "USER_ID" BIGINT NOT NULL,
+ "TYPE" TINYINT NOT NULL,
+ "REASON" VARCHAR(200) NOT NULL,
+ "START_TIME" TIMESTAMP(0) NOT NULL,
+ "END_TIME" TIMESTAMP(0) NOT NULL,
+ "DAY" TINYINT NOT NULL,
+ "RESULT" TINYINT NOT NULL,
+ "PROCESS_INSTANCE_ID" VARCHAR(64) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT"
+(
+ "ID" BIGINT IDENTITY(141,1) NOT NULL,
+ "PROCESS_DEFINITION_ID" VARCHAR(64) NOT NULL,
+ "MODEL_ID" VARCHAR(64) NOT NULL,
+ "DESCRIPTION" VARCHAR(255) NULL,
+ "FORM_TYPE" TINYINT NOT NULL,
+ "FORM_ID" BIGINT NULL,
+ "FORM_CONF" VARCHAR(1000) NULL,
+ "FORM_FIELDS" VARCHAR(5000) NULL,
+ "FORM_CUSTOM_CREATE_PATH" VARCHAR(255) NULL,
+ "FORM_CUSTOM_VIEW_PATH" VARCHAR(255) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT"
+(
+ "ID" BIGINT IDENTITY(296,1) NOT NULL,
+ "START_USER_ID" BIGINT NOT NULL,
+ "NAME" VARCHAR(64) NULL,
+ "PROCESS_INSTANCE_ID" VARCHAR(64) NOT NULL,
+ "PROCESS_DEFINITION_ID" VARCHAR(64) NOT NULL,
+ "CATEGORY" VARCHAR(64) NULL,
+ "STATUS" TINYINT NOT NULL,
+ "RESULT" TINYINT NOT NULL,
+ "END_TIME" TIMESTAMP(0) NULL,
+ "FORM_VARIABLES" VARCHAR(5000) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."BPM_TASK_ASSIGN_RULE"
+(
+ "ID" BIGINT IDENTITY(275,1) NOT NULL,
+ "MODEL_ID" VARCHAR(64) NOT NULL,
+ "PROCESS_DEFINITION_ID" VARCHAR(64) NOT NULL,
+ "TASK_DEFINITION_KEY" VARCHAR(64) NOT NULL,
+ "TYPE" TINYINT NOT NULL,
+ "OPTIONS" VARCHAR(1024) NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."BPM_TASK_EXT"
+(
+ "ID" BIGINT IDENTITY(351,1) NOT NULL,
+ "ASSIGNEE_USER_ID" BIGINT NULL,
+ "NAME" VARCHAR(64) NULL,
+ "TASK_ID" VARCHAR(64) NOT NULL,
+ "RESULT" TINYINT NOT NULL,
+ "REASON" VARCHAR(255) NULL,
+ "END_TIME" TIMESTAMP(0) NULL,
+ "PROCESS_INSTANCE_ID" VARCHAR(64) NOT NULL,
+ "PROCESS_DEFINITION_ID" VARCHAR(64) NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."BPM_USER_GROUP"
+(
+ "ID" BIGINT IDENTITY(113,1) NOT NULL,
+ "NAME" VARCHAR(30) DEFAULT ''
+ NOT NULL,
+ "DESCRIPTION" VARCHAR(255) DEFAULT ''
+ NOT NULL,
+ "MEMBER_USER_IDS" VARCHAR(1024) DEFAULT '0'
+ NOT NULL,
+ "STATUS" TINYINT NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"
+(
+ "ID" BIGINT IDENTITY(35832,1) NOT NULL,
+ "TRACE_ID" VARCHAR(64) DEFAULT ''
+ NOT NULL,
+ "USER_ID" BIGINT DEFAULT 0
+ NOT NULL,
+ "USER_TYPE" TINYINT DEFAULT 0
+ NOT NULL,
+ "APPLICATION_NAME" VARCHAR(50) NOT NULL,
+ "REQUEST_METHOD" VARCHAR(16) DEFAULT ''
+ NOT NULL,
+ "REQUEST_URL" VARCHAR(255) DEFAULT ''
+ NOT NULL,
+ "REQUEST_PARAMS" VARCHAR(8000) DEFAULT ''
+ NOT NULL,
+ "USER_IP" VARCHAR(50) NOT NULL,
+ "USER_AGENT" VARCHAR(512) NOT NULL,
+ "BEGIN_TIME" TIMESTAMP(0) NOT NULL,
+ "END_TIME" TIMESTAMP(0) NOT NULL,
+ "DURATION" INT NOT NULL,
+ "RESULT_CODE" INT DEFAULT 0
+ NOT NULL,
+ "RESULT_MSG" VARCHAR(512) DEFAULT ''
+ NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"
+(
+ "ID" INT IDENTITY(1110,1) NOT NULL,
+ "TRACE_ID" VARCHAR(64) NOT NULL,
+ "USER_ID" INT DEFAULT 0
+ NOT NULL,
+ "USER_TYPE" TINYINT DEFAULT 0
+ NOT NULL,
+ "APPLICATION_NAME" VARCHAR(50) NOT NULL,
+ "REQUEST_METHOD" VARCHAR(16) NOT NULL,
+ "REQUEST_URL" VARCHAR(255) NOT NULL,
+ "REQUEST_PARAMS" VARCHAR(8000) NOT NULL,
+ "USER_IP" VARCHAR(50) NOT NULL,
+ "USER_AGENT" VARCHAR(512) NOT NULL,
+ "EXCEPTION_TIME" TIMESTAMP(0) NOT NULL,
+ "EXCEPTION_NAME" VARCHAR(128) DEFAULT ''
+ NOT NULL,
+ "EXCEPTION_MESSAGE" TEXT NOT NULL,
+ "EXCEPTION_ROOT_CAUSE_MESSAGE" TEXT NOT NULL,
+ "EXCEPTION_STACK_TRACE" TEXT NOT NULL,
+ "EXCEPTION_CLASS_NAME" VARCHAR(512) NOT NULL,
+ "EXCEPTION_FILE_NAME" VARCHAR(512) NOT NULL,
+ "EXCEPTION_METHOD_NAME" VARCHAR(512) NOT NULL,
+ "EXCEPTION_LINE_NUMBER" INT NOT NULL,
+ "PROCESS_STATUS" TINYINT NOT NULL,
+ "PROCESS_TIME" TIMESTAMP(0) NULL,
+ "PROCESS_USER_ID" INT DEFAULT 0
+ NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"
+(
+ "ID" BIGINT IDENTITY(1688,1) NOT NULL,
+ "TABLE_ID" BIGINT NOT NULL,
+ "COLUMN_NAME" VARCHAR(200) NOT NULL,
+ "DATA_TYPE" VARCHAR(100) NOT NULL,
+ "COLUMN_COMMENT" VARCHAR(500) NOT NULL,
+ "NULLABLE" BIT NOT NULL,
+ "PRIMARY_KEY" BIT NOT NULL,
+ "AUTO_INCREMENT" CHAR(1) NOT NULL,
+ "ORDINAL_POSITION" INT NOT NULL,
+ "JAVA_TYPE" VARCHAR(32) NOT NULL,
+ "JAVA_FIELD" VARCHAR(64) NOT NULL,
+ "DICT_TYPE" VARCHAR(200) DEFAULT ''
+ NULL,
+ "EXAMPLE" VARCHAR(64) NULL,
+ "CREATE_OPERATION" BIT NOT NULL,
+ "UPDATE_OPERATION" BIT NOT NULL,
+ "LIST_OPERATION" BIT NOT NULL,
+ "LIST_OPERATION_CONDITION" VARCHAR(32) DEFAULT '='
+ NOT NULL,
+ "LIST_OPERATION_RESULT" BIT NOT NULL,
+ "HTML_TYPE" VARCHAR(32) NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE"
+(
+ "ID" BIGINT IDENTITY(131,1) NOT NULL,
+ "DATA_SOURCE_CONFIG_ID" BIGINT NOT NULL,
+ "SCENE" TINYINT DEFAULT 1
+ NOT NULL,
+ "TABLE_NAME" VARCHAR(200) DEFAULT ''
+ NOT NULL,
+ "TABLE_COMMENT" VARCHAR(500) DEFAULT ''
+ NOT NULL,
+ "REMARK" VARCHAR(500) NULL,
+ "MODULE_NAME" VARCHAR(30) NOT NULL,
+ "BUSINESS_NAME" VARCHAR(30) NOT NULL,
+ "CLASS_NAME" VARCHAR(100) DEFAULT ''
+ NOT NULL,
+ "CLASS_COMMENT" VARCHAR(50) NOT NULL,
+ "AUTHOR" VARCHAR(50) NOT NULL,
+ "TEMPLATE_TYPE" TINYINT DEFAULT 1
+ NOT NULL,
+ "FRONT_TYPE" TINYINT NOT NULL,
+ "PARENT_MENU_ID" BIGINT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."INFRA_CONFIG"
+(
+ "ID" INT IDENTITY(11,1) NOT NULL,
+ "CATEGORY" VARCHAR(50) NOT NULL,
+ "TYPE" TINYINT NOT NULL,
+ "NAME" VARCHAR(100) DEFAULT ''
+ NOT NULL,
+ "CONFIG_KEY" VARCHAR(100) DEFAULT ''
+ NOT NULL,
+ "VALUE" VARCHAR(500) DEFAULT ''
+ NOT NULL,
+ "VISIBLE" BIT NOT NULL,
+ "REMARK" VARCHAR(500) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."INFRA_DATA_SOURCE_CONFIG"
+(
+ "ID" BIGINT IDENTITY(13,1) NOT NULL,
+ "NAME" VARCHAR(100) DEFAULT ''
+ NOT NULL,
+ "URL" VARCHAR(1024) NOT NULL,
+ "USERNAME" VARCHAR(255) NOT NULL,
+ "PASSWORD" VARCHAR(255) DEFAULT ''
+ NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."INFRA_FILE"
+(
+ "ID" BIGINT IDENTITY(912,1) NOT NULL,
+ "CONFIG_ID" BIGINT NULL,
+ "NAME" VARCHAR(256) NULL,
+ "PATH" VARCHAR(512) NOT NULL,
+ "URL" VARCHAR(1024) NOT NULL,
+ "TYPE" VARCHAR(128) NULL,
+ "SIZE" INT NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG"
+(
+ "ID" BIGINT IDENTITY(18,1) NOT NULL,
+ "NAME" VARCHAR(63) NOT NULL,
+ "STORAGE" TINYINT NOT NULL,
+ "REMARK" VARCHAR(255) NULL,
+ "MASTER" BIT NOT NULL,
+ "CONFIG" VARCHAR(4096) NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."INFRA_FILE_CONTENT"
+(
+ "ID" BIGINT IDENTITY(3,1) NOT NULL,
+ "CONFIG_ID" BIGINT NOT NULL,
+ "PATH" VARCHAR(512) NOT NULL,
+ "CONTENT" BLOB NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."INFRA_JOB"
+(
+ "ID" BIGINT IDENTITY(17,1) NOT NULL,
+ "NAME" VARCHAR(32) NOT NULL,
+ "STATUS" TINYINT NOT NULL,
+ "HANDLER_NAME" VARCHAR(64) NOT NULL,
+ "HANDLER_PARAM" VARCHAR(255) NULL,
+ "CRON_EXPRESSION" VARCHAR(32) NOT NULL,
+ "RETRY_COUNT" INT DEFAULT 0
+ NOT NULL,
+ "RETRY_INTERVAL" INT DEFAULT 0
+ NOT NULL,
+ "MONITOR_TIMEOUT" INT DEFAULT 0
+ NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."INFRA_JOB_LOG"
+(
+ "ID" BIGINT IDENTITY(168767,1) NOT NULL,
+ "JOB_ID" BIGINT NOT NULL,
+ "HANDLER_NAME" VARCHAR(64) NOT NULL,
+ "HANDLER_PARAM" VARCHAR(255) NULL,
+ "EXECUTE_INDEX" TINYINT DEFAULT 1
+ NOT NULL,
+ "BEGIN_TIME" TIMESTAMP(0) NOT NULL,
+ "END_TIME" TIMESTAMP(0) NULL,
+ "DURATION" INT NULL,
+ "STATUS" TINYINT NOT NULL,
+ "RESULT" VARCHAR(4000) DEFAULT ''
+ NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."INFRA_TEST_DEMO"
+(
+ "ID" BIGINT IDENTITY(1,1) NOT NULL,
+ "NAME" VARCHAR(100) DEFAULT ''
+ NOT NULL,
+ "STATUS" TINYINT DEFAULT 0
+ NOT NULL,
+ "TYPE" TINYINT NOT NULL,
+ "CATEGORY" TINYINT NOT NULL,
+ "REMARK" VARCHAR(500) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."MEMBER_USER"
+(
+ "ID" BIGINT IDENTITY(247,1) NOT NULL,
+ "NICKNAME" VARCHAR(30) DEFAULT ''
+ NOT NULL,
+ "AVATAR" VARCHAR(255) DEFAULT ''
+ NOT NULL,
+ "STATUS" TINYINT NOT NULL,
+ "MOBILE" VARCHAR(11) NOT NULL,
+ "PASSWORD" VARCHAR(100) DEFAULT ''
+ NOT NULL,
+ "REGISTER_IP" VARCHAR(32) NOT NULL,
+ "LOGIN_IP" VARCHAR(50) DEFAULT ''
+ NULL,
+ "LOGIN_DATE" TIMESTAMP(0) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."PAY_APP"
+(
+ "ID" BIGINT IDENTITY(7,1) NOT NULL,
+ "NAME" VARCHAR(64) NOT NULL,
+ "STATUS" TINYINT NOT NULL,
+ "REMARK" VARCHAR(255) NULL,
+ "PAY_NOTIFY_URL" VARCHAR(1024) NOT NULL,
+ "REFUND_NOTIFY_URL" VARCHAR(1024) NOT NULL,
+ "MERCHANT_ID" BIGINT NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."PAY_CHANNEL"
+(
+ "ID" BIGINT IDENTITY(22,1) NOT NULL,
+ "CODE" VARCHAR(32) NOT NULL,
+ "STATUS" TINYINT NOT NULL,
+ "REMARK" VARCHAR(255) NULL,
+ "FEE_RATE" NUMBER(22,0) DEFAULT 0
+ NOT NULL,
+ "MERCHANT_ID" BIGINT NOT NULL,
+ "APP_ID" BIGINT NOT NULL,
+ "CONFIG" VARCHAR(4096) NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."PAY_DEMO_ORDER"
+(
+ "ID" BIGINT IDENTITY(72,1) NOT NULL,
+ "USER_ID" DECIMAL(20,0) NOT NULL,
+ "SPU_ID" BIGINT NOT NULL,
+ "SPU_NAME" VARCHAR(255) NOT NULL,
+ "PRICE" INT NOT NULL,
+ "PAYED" BIT DEFAULT '0'
+ NOT NULL,
+ "PAY_ORDER_ID" BIGINT NULL,
+ "PAY_CHANNEL_CODE" VARCHAR(16) NULL,
+ "PAY_TIME" TIMESTAMP(0) NULL,
+ "PAY_REFUND_ID" BIGINT NULL,
+ "REFUND_PRICE" INT DEFAULT 0
+ NOT NULL,
+ "REFUND_TIME" TIMESTAMP(0) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."PAY_MERCHANT"
+(
+ "ID" BIGINT IDENTITY(6,1) NOT NULL,
+ "NO" VARCHAR(32) NOT NULL,
+ "NAME" VARCHAR(64) NOT NULL,
+ "SHORT_NAME" VARCHAR(64) NOT NULL,
+ "STATUS" TINYINT NOT NULL,
+ "REMARK" VARCHAR(255) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."PAY_NOTIFY_LOG"
+(
+ "ID" BIGINT IDENTITY(371964,1) NOT NULL,
+ "TASK_ID" BIGINT NOT NULL,
+ "NOTIFY_TIMES" TINYINT NOT NULL,
+ "RESPONSE" VARCHAR(2048) NOT NULL,
+ "STATUS" TINYINT NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK"
+(
+ "ID" BIGINT IDENTITY(151,1) NOT NULL,
+ "MERCHANT_ID" BIGINT NOT NULL,
+ "APP_ID" BIGINT NOT NULL,
+ "TYPE" TINYINT NOT NULL,
+ "DATA_ID" BIGINT NOT NULL,
+ "STATUS" TINYINT NOT NULL,
+ "MERCHANT_ORDER_ID" VARCHAR(64) NOT NULL,
+ "NEXT_NOTIFY_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "LAST_EXECUTE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "NOTIFY_TIMES" TINYINT NOT NULL,
+ "MAX_NOTIFY_TIMES" TINYINT NOT NULL,
+ "NOTIFY_URL" VARCHAR(1024) NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."PAY_ORDER"
+(
+ "ID" BIGINT IDENTITY(171,1) NOT NULL,
+ "MERCHANT_ID" BIGINT NOT NULL,
+ "APP_ID" BIGINT NOT NULL,
+ "CHANNEL_ID" BIGINT NULL,
+ "CHANNEL_CODE" VARCHAR(32) NULL,
+ "MERCHANT_ORDER_ID" VARCHAR(64) NOT NULL,
+ "SUBJECT" VARCHAR(32) NOT NULL,
+ "BODY" VARCHAR(128) NOT NULL,
+ "NOTIFY_URL" VARCHAR(1024) NOT NULL,
+ "NOTIFY_STATUS" TINYINT NOT NULL,
+ "AMOUNT" BIGINT NOT NULL,
+ "CHANNEL_FEE_RATE" NUMBER(22,0) DEFAULT 0
+ NULL,
+ "CHANNEL_FEE_AMOUNT" BIGINT DEFAULT 0
+ NULL,
+ "STATUS" TINYINT NOT NULL,
+ "USER_IP" VARCHAR(50) NOT NULL,
+ "EXPIRE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "SUCCESS_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NULL,
+ "NOTIFY_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NULL,
+ "SUCCESS_EXTENSION_ID" BIGINT NULL,
+ "REFUND_STATUS" TINYINT NOT NULL,
+ "REFUND_TIMES" TINYINT NOT NULL,
+ "REFUND_AMOUNT" BIGINT NOT NULL,
+ "CHANNEL_USER_ID" VARCHAR(255) NULL,
+ "CHANNEL_ORDER_NO" VARCHAR(64) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."PAY_ORDER_EXTENSION"
+(
+ "ID" BIGINT IDENTITY(383,1) NOT NULL,
+ "NO" VARCHAR(64) NOT NULL,
+ "ORDER_ID" BIGINT NOT NULL,
+ "CHANNEL_ID" BIGINT NOT NULL,
+ "CHANNEL_CODE" VARCHAR(32) NOT NULL,
+ "USER_IP" VARCHAR(50) NOT NULL,
+ "STATUS" TINYINT NOT NULL,
+ "CHANNEL_EXTRAS" VARCHAR(256) NULL,
+ "CHANNEL_NOTIFY_DATA" VARCHAR(4096) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."PAY_REFUND"
+(
+ "ID" BIGINT IDENTITY(26,1) NOT NULL,
+ "MERCHANT_ID" BIGINT NOT NULL,
+ "APP_ID" BIGINT NOT NULL,
+ "CHANNEL_ID" BIGINT NOT NULL,
+ "CHANNEL_CODE" VARCHAR(32) NOT NULL,
+ "ORDER_ID" BIGINT NOT NULL,
+ "TRADE_NO" VARCHAR(64) NOT NULL,
+ "MERCHANT_ORDER_ID" VARCHAR(64) NOT NULL,
+ "MERCHANT_REFUND_NO" VARCHAR(64) NOT NULL,
+ "NOTIFY_URL" VARCHAR(1024) NOT NULL,
+ "NOTIFY_STATUS" TINYINT NOT NULL,
+ "STATUS" TINYINT NOT NULL,
+ "TYPE" TINYINT NOT NULL,
+ "PAY_AMOUNT" BIGINT NOT NULL,
+ "REFUND_AMOUNT" BIGINT NOT NULL,
+ "REASON" VARCHAR(256) NOT NULL,
+ "USER_IP" VARCHAR(50) NULL,
+ "CHANNEL_ORDER_NO" VARCHAR(64) NOT NULL,
+ "CHANNEL_REFUND_NO" VARCHAR(64) NULL,
+ "CHANNEL_ERROR_CODE" VARCHAR(128) NULL,
+ "CHANNEL_ERROR_MSG" VARCHAR(256) NULL,
+ "CHANNEL_EXTRAS" VARCHAR(1024) NULL,
+ "EXPIRE_TIME" TIMESTAMP(0) NULL,
+ "SUCCESS_TIME" TIMESTAMP(0) NULL,
+ "NOTIFY_TIME" TIMESTAMP(0) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."QRTZ_BLOB_TRIGGERS"
+(
+ "SCHED_NAME" VARCHAR(120) NOT NULL,
+ "TRIGGER_NAME" VARCHAR(190) NOT NULL,
+ "TRIGGER_GROUP" VARCHAR(190) NOT NULL,
+ "BLOB_DATA" BLOB NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."QRTZ_CALENDARS"
+(
+ "SCHED_NAME" VARCHAR(120) NOT NULL,
+ "CALENDAR_NAME" VARCHAR(190) NOT NULL,
+ "CALENDAR" BLOB NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."QRTZ_CRON_TRIGGERS"
+(
+ "SCHED_NAME" VARCHAR(120) NOT NULL,
+ "TRIGGER_NAME" VARCHAR(190) NOT NULL,
+ "TRIGGER_GROUP" VARCHAR(190) NOT NULL,
+ "CRON_EXPRESSION" VARCHAR(120) NOT NULL,
+ "TIME_ZONE_ID" VARCHAR(80) NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."QRTZ_FIRED_TRIGGERS"
+(
+ "SCHED_NAME" VARCHAR(120) NOT NULL,
+ "ENTRY_ID" VARCHAR(95) NOT NULL,
+ "TRIGGER_NAME" VARCHAR(190) NOT NULL,
+ "TRIGGER_GROUP" VARCHAR(190) NOT NULL,
+ "INSTANCE_NAME" VARCHAR(190) NOT NULL,
+ "FIRED_TIME" BIGINT NOT NULL,
+ "SCHED_TIME" BIGINT NOT NULL,
+ "PRIORITY" INT NOT NULL,
+ "STATE" VARCHAR(16) NOT NULL,
+ "JOB_NAME" VARCHAR(190) NULL,
+ "JOB_GROUP" VARCHAR(190) NULL,
+ "IS_NONCONCURRENT" VARCHAR(1) NULL,
+ "REQUESTS_RECOVERY" VARCHAR(1) NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."QRTZ_JOB_DETAILS"
+(
+ "SCHED_NAME" VARCHAR(120) NOT NULL,
+ "JOB_NAME" VARCHAR(190) NOT NULL,
+ "JOB_GROUP" VARCHAR(190) NOT NULL,
+ "DESCRIPTION" VARCHAR(250) NULL,
+ "JOB_CLASS_NAME" VARCHAR(250) NOT NULL,
+ "IS_DURABLE" VARCHAR(1) NOT NULL,
+ "IS_NONCONCURRENT" VARCHAR(1) NOT NULL,
+ "IS_UPDATE_DATA" VARCHAR(1) NOT NULL,
+ "REQUESTS_RECOVERY" VARCHAR(1) NOT NULL,
+ "JOB_DATA" BLOB NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."QRTZ_LOCKS"
+(
+ "SCHED_NAME" VARCHAR(120) NOT NULL,
+ "LOCK_NAME" VARCHAR(40) NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."QRTZ_PAUSED_TRIGGER_GRPS"
+(
+ "SCHED_NAME" VARCHAR(120) NOT NULL,
+ "TRIGGER_GROUP" VARCHAR(190) NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."QRTZ_SCHEDULER_STATE"
+(
+ "SCHED_NAME" VARCHAR(120) NOT NULL,
+ "INSTANCE_NAME" VARCHAR(190) NOT NULL,
+ "LAST_CHECKIN_TIME" BIGINT NOT NULL,
+ "CHECKIN_INTERVAL" BIGINT NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."QRTZ_SIMPLE_TRIGGERS"
+(
+ "SCHED_NAME" VARCHAR(120) NOT NULL,
+ "TRIGGER_NAME" VARCHAR(190) NOT NULL,
+ "TRIGGER_GROUP" VARCHAR(190) NOT NULL,
+ "REPEAT_COUNT" BIGINT NOT NULL,
+ "REPEAT_INTERVAL" BIGINT NOT NULL,
+ "TIMES_TRIGGERED" BIGINT NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."QRTZ_SIMPROP_TRIGGERS"
+(
+ "SCHED_NAME" VARCHAR(120) NOT NULL,
+ "TRIGGER_NAME" VARCHAR(190) NOT NULL,
+ "TRIGGER_GROUP" VARCHAR(190) NOT NULL,
+ "STR_PROP_1" VARCHAR(512) NULL,
+ "STR_PROP_2" VARCHAR(512) NULL,
+ "STR_PROP_3" VARCHAR(512) NULL,
+ "INT_PROP_1" INT NULL,
+ "INT_PROP_2" INT NULL,
+ "LONG_PROP_1" BIGINT NULL,
+ "LONG_PROP_2" BIGINT NULL,
+ "DEC_PROP_1" DEC(13,4) NULL,
+ "DEC_PROP_2" DEC(13,4) NULL,
+ "BOOL_PROP_1" VARCHAR(1) NULL,
+ "BOOL_PROP_2" VARCHAR(1) NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."QRTZ_TRIGGERS"
+(
+ "SCHED_NAME" VARCHAR(120) NOT NULL,
+ "TRIGGER_NAME" VARCHAR(190) NOT NULL,
+ "TRIGGER_GROUP" VARCHAR(190) NOT NULL,
+ "JOB_NAME" VARCHAR(190) NOT NULL,
+ "JOB_GROUP" VARCHAR(190) NOT NULL,
+ "DESCRIPTION" VARCHAR(250) NULL,
+ "NEXT_FIRE_TIME" BIGINT NULL,
+ "PREV_FIRE_TIME" BIGINT NULL,
+ "PRIORITY" INT NULL,
+ "TRIGGER_STATE" VARCHAR(16) NOT NULL,
+ "TRIGGER_TYPE" VARCHAR(8) NOT NULL,
+ "START_TIME" BIGINT NOT NULL,
+ "END_TIME" BIGINT NULL,
+ "CALENDAR_NAME" VARCHAR(190) NULL,
+ "MISFIRE_INSTR" SMALLINT NULL,
+ "JOB_DATA" BLOB NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_DEPT"
+(
+ "ID" BIGINT IDENTITY(112,1) NOT NULL,
+ "NAME" VARCHAR(30) DEFAULT ''
+ NOT NULL,
+ "PARENT_ID" BIGINT DEFAULT 0
+ NOT NULL,
+ "SORT" INT DEFAULT 0
+ NOT NULL,
+ "LEADER_USER_ID" BIGINT NULL,
+ "PHONE" VARCHAR(11) NULL,
+ "EMAIL" VARCHAR(50) NULL,
+ "STATUS" TINYINT NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"
+(
+ "ID" BIGINT IDENTITY(1235,1) NOT NULL,
+ "SORT" INT DEFAULT 0
+ NOT NULL,
+ "LABEL" VARCHAR(100) DEFAULT ''
+ NOT NULL,
+ "VALUE" VARCHAR(100) DEFAULT ''
+ NOT NULL,
+ "DICT_TYPE" VARCHAR(100) DEFAULT ''
+ NOT NULL,
+ "STATUS" TINYINT DEFAULT 0
+ NOT NULL,
+ "COLOR_TYPE" VARCHAR(100) DEFAULT ''
+ NULL,
+ "CSS_CLASS" VARCHAR(100) DEFAULT ''
+ NULL,
+ "REMARK" VARCHAR(500) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_DICT_TYPE"
+(
+ "ID" BIGINT IDENTITY(169,1) NOT NULL,
+ "NAME" VARCHAR(100) DEFAULT ''
+ NOT NULL,
+ "TYPE" VARCHAR(100) DEFAULT ''
+ NOT NULL,
+ "STATUS" TINYINT DEFAULT 0
+ NOT NULL,
+ "REMARK" VARCHAR(500) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "DELETED_TIME" TIMESTAMP(0) NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_ERROR_CODE"
+(
+ "ID" BIGINT IDENTITY(5832,1) NOT NULL,
+ "TYPE" TINYINT DEFAULT 0
+ NOT NULL,
+ "APPLICATION_NAME" VARCHAR(50) NOT NULL,
+ "CODE" INT DEFAULT 0
+ NOT NULL,
+ "MESSAGE" VARCHAR(512) DEFAULT ''
+ NOT NULL,
+ "MEMO" VARCHAR(512) DEFAULT ''
+ NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_LOGIN_LOG"
+(
+ "ID" BIGINT IDENTITY(2163,1) NOT NULL,
+ "LOG_TYPE" BIGINT NOT NULL,
+ "TRACE_ID" VARCHAR(64) DEFAULT ''
+ NOT NULL,
+ "USER_ID" BIGINT DEFAULT 0
+ NOT NULL,
+ "USER_TYPE" TINYINT DEFAULT 0
+ NOT NULL,
+ "USERNAME" VARCHAR(50) DEFAULT ''
+ NOT NULL,
+ "RESULT" TINYINT NOT NULL,
+ "USER_IP" VARCHAR(50) NOT NULL,
+ "USER_AGENT" VARCHAR(512) NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_MAIL_ACCOUNT"
+(
+ "ID" BIGINT IDENTITY(5,1) NOT NULL,
+ "MAIL" VARCHAR(255) NOT NULL,
+ "USERNAME" VARCHAR(255) NOT NULL,
+ "PASSWORD" VARCHAR(255) NOT NULL,
+ "HOST" VARCHAR(255) NOT NULL,
+ "PORT" INT NOT NULL,
+ "SSL_ENABLE" BIT DEFAULT '0'
+ NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"
+(
+ "ID" BIGINT IDENTITY(354,1) NOT NULL,
+ "USER_ID" BIGINT NULL,
+ "USER_TYPE" TINYINT NULL,
+ "TO_MAIL" VARCHAR(255) NOT NULL,
+ "ACCOUNT_ID" BIGINT NOT NULL,
+ "FROM_MAIL" VARCHAR(255) NOT NULL,
+ "TEMPLATE_ID" BIGINT NOT NULL,
+ "TEMPLATE_CODE" VARCHAR(63) NOT NULL,
+ "TEMPLATE_NICKNAME" VARCHAR(255) NULL,
+ "TEMPLATE_TITLE" VARCHAR(255) NOT NULL,
+ "TEMPLATE_CONTENT" VARCHAR(10240) NOT NULL,
+ "TEMPLATE_PARAMS" VARCHAR(255) NOT NULL,
+ "SEND_STATUS" TINYINT DEFAULT 0
+ NOT NULL,
+ "SEND_TIME" TIMESTAMP(0) NULL,
+ "SEND_MESSAGE_ID" VARCHAR(255) NULL,
+ "SEND_EXCEPTION" VARCHAR(4096) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_MAIL_TEMPLATE"
+(
+ "ID" BIGINT IDENTITY(16,1) NOT NULL,
+ "NAME" VARCHAR(63) NOT NULL,
+ "CODE" VARCHAR(63) NOT NULL,
+ "ACCOUNT_ID" BIGINT NOT NULL,
+ "NICKNAME" VARCHAR(255) NULL,
+ "TITLE" VARCHAR(255) NOT NULL,
+ "CONTENT" VARCHAR(10240) NOT NULL,
+ "PARAMS" VARCHAR(255) NOT NULL,
+ "STATUS" TINYINT NOT NULL,
+ "REMARK" VARCHAR(255) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_MENU"
+(
+ "ID" BIGINT IDENTITY(2162,1) NOT NULL,
+ "NAME" VARCHAR(50) NOT NULL,
+ "PERMISSION" VARCHAR(100) DEFAULT ''
+ NOT NULL,
+ "TYPE" TINYINT NOT NULL,
+ "SORT" INT DEFAULT 0
+ NOT NULL,
+ "PARENT_ID" BIGINT DEFAULT 0
+ NOT NULL,
+ "PATH" VARCHAR(200) DEFAULT ''
+ NULL,
+ "ICON" VARCHAR(100) DEFAULT '#'
+ NULL,
+ "COMPONENT" VARCHAR(255) NULL,
+ "COMPONENT_NAME" VARCHAR(255) NULL,
+ "STATUS" TINYINT DEFAULT 0
+ NOT NULL,
+ "VISIBLE" BIT DEFAULT '1'
+ NOT NULL,
+ "KEEP_ALIVE" BIT DEFAULT '1'
+ NOT NULL,
+ "ALWAYS_SHOW" BIT DEFAULT '1'
+ NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_NOTICE"
+(
+ "ID" BIGINT IDENTITY(5,1) NOT NULL,
+ "TITLE" VARCHAR(50) NOT NULL,
+ "CONTENT" TEXT NOT NULL,
+ "TYPE" TINYINT NOT NULL,
+ "STATUS" TINYINT DEFAULT 0
+ NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."BPM_FORM" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."BPM_FORM" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."BPM_OA_LEAVE" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."BPM_OA_LEAVE" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."BPM_TASK_ASSIGN_RULE" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."BPM_TASK_ASSIGN_RULE" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."BPM_TASK_EXT" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."BPM_TASK_EXT" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."BPM_USER_GROUP" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."BPM_USER_GROUP" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_CONFIG" ON;
+INSERT INTO "RUOYI_VUE_PRO"."INFRA_CONFIG"("ID","CATEGORY","TYPE","NAME","CONFIG_KEY","VALUE","VISIBLE","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2,'biz',1,'用户管理-账号初始密码','sys.user.init-password','123456',0,'初始化密码 123456','admin','2021-01-05 17:03:48','1','2022-03-20 02:25:51',0);
+INSERT INTO "RUOYI_VUE_PRO"."INFRA_CONFIG"("ID","CATEGORY","TYPE","NAME","CONFIG_KEY","VALUE","VISIBLE","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(7,'url',2,'MySQL 监控的地址','url.druid','',1,'','1','2023-04-07 13:41:16','1','2023-04-07 14:33:38',0);
+INSERT INTO "RUOYI_VUE_PRO"."INFRA_CONFIG"("ID","CATEGORY","TYPE","NAME","CONFIG_KEY","VALUE","VISIBLE","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(8,'url',2,'SkyWalking 监控的地址','url.skywalking','',1,'','1','2023-04-07 13:41:16','1','2023-04-07 14:57:03',0);
+INSERT INTO "RUOYI_VUE_PRO"."INFRA_CONFIG"("ID","CATEGORY","TYPE","NAME","CONFIG_KEY","VALUE","VISIBLE","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(9,'url',2,'Spring Boot Admin 监控的地址','url.spring-boot-admin','',1,'','1','2023-04-07 13:41:16','1','2023-04-07 14:52:07',0);
+INSERT INTO "RUOYI_VUE_PRO"."INFRA_CONFIG"("ID","CATEGORY","TYPE","NAME","CONFIG_KEY","VALUE","VISIBLE","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(10,'url',2,'Swagger 接口文档的地址','url.swagger','',1,'','1','2023-04-07 13:41:16','1','2023-04-07 14:59:00',0);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_CONFIG" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_DATA_SOURCE_CONFIG" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_DATA_SOURCE_CONFIG" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_FILE" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_FILE" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG" ON;
+INSERT INTO "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG"("ID","NAME","STORAGE","REMARK","MASTER","CONFIG","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(4,'数据库',1,'我是数据库',1,'{"@class":"cn.iocoder.yudao.framework.file.core.client.db.DBFileClientConfig","domain":"http://127.0.0.1:48080"}','1','2022-03-15 23:56:24','1','2023-04-08 09:44:47',0);
+INSERT INTO "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG"("ID","NAME","STORAGE","REMARK","MASTER","CONFIG","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(5,'本地磁盘',10,'测试下本地存储',0,'{"@class":"cn.iocoder.yudao.framework.file.core.client.local.LocalFileClientConfig","basePath":"/Users/yunai/file_test","domain":"http://127.0.0.1:48080"}','1','2022-03-15 23:57:00','1','2023-04-08 09:44:47',0);
+INSERT INTO "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG"("ID","NAME","STORAGE","REMARK","MASTER","CONFIG","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(11,'S3 - 七牛云',20,null,0,'{"@class":"cn.iocoder.yudao.framework.file.core.client.s3.S3FileClientConfig","endpoint":"s3-cn-south-1.qiniucs.com","domain":"http://test.yudao.iocoder.cn","bucket":"ruoyi-vue-pro","accessKey":"b7yvuhBSAGjmtPhMFcn9iMOxUOY_I06cA_p0ZUx8","accessSecret":"kXM1l5ia1RvSX3QaOEcwI3RLz3Y2rmNszWonKZtP"}','1','2022-03-19 18:00:03','1','2023-04-08 09:44:47',0);
+INSERT INTO "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG"("ID","NAME","STORAGE","REMARK","MASTER","CONFIG","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(15,'S3 - 七牛云',20,'',0,'{"@class":"cn.iocoder.yudao.framework.file.core.client.s3.S3FileClientConfig","endpoint":"s3-cn-south-1.qiniucs.com","domain":"http://test.yudao.iocoder.cn","bucket":"ruoyi-vue-pro","accessKey":"b7yvuhBSAGjmtPhMFcn9iMOxUOY_I06cA_p0ZUx8","accessSecret":"kXM1l5ia1RvSX3QaOEcwI3RLz3Y2rmNszWonKZtP"}','1','2022-06-10 20:50:41','1','2023-04-08 09:44:47',0);
+INSERT INTO "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG"("ID","NAME","STORAGE","REMARK","MASTER","CONFIG","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(16,'S3 - 七牛云',20,'',0,'{"@class":"cn.iocoder.yudao.framework.file.core.client.s3.S3FileClientConfig","endpoint":"s3-cn-south-1.qiniucs.com","domain":"http://test.yudao.iocoder.cn","bucket":"ruoyi-vue-pro","accessKey":"b7yvuhBSAGjmtPhMFcn9iMOxUOY_I06cA_p0ZUx8","accessSecret":"kXM1l5ia1RvSX3QaOEcwI3RLz3Y2rmNszWonKZtP"}','1','2022-06-11 20:32:08','1','2023-04-08 09:44:47',0);
+INSERT INTO "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG"("ID","NAME","STORAGE","REMARK","MASTER","CONFIG","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(17,'S3 - 七牛云',20,'',0,'{"@class":"cn.iocoder.yudao.framework.file.core.client.s3.S3FileClientConfig","endpoint":"s3-cn-south-1.qiniucs.com","domain":"http://test.yudao.iocoder.cn","bucket":"ruoyi-vue-pro","accessKey":"b7yvuhBSAGjmtPhMFcn9iMOxUOY_I06cA_p0ZUx8","accessSecret":"kXM1l5ia1RvSX3QaOEcwI3RLz3Y2rmNszWonKZtP"}','1','2022-06-11 20:32:47','1','2023-04-08 09:44:47',0);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_FILE_CONTENT" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_FILE_CONTENT" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_JOB" ON;
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_JOB" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_JOB_LOG" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_JOB_LOG" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_TEST_DEMO" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."INFRA_TEST_DEMO" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."MEMBER_USER" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."MEMBER_USER" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."PAY_APP" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."PAY_APP" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."PAY_CHANNEL" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."PAY_CHANNEL" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."PAY_DEMO_ORDER" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."PAY_DEMO_ORDER" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."PAY_MERCHANT" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."PAY_MERCHANT" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."PAY_NOTIFY_LOG" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."PAY_NOTIFY_LOG" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."PAY_ORDER" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."PAY_ORDER" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."PAY_ORDER_EXTENSION" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."PAY_ORDER_EXTENSION" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."PAY_REFUND" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."PAY_REFUND" OFF;
+INSERT INTO "RUOYI_VUE_PRO"."QRTZ_CRON_TRIGGERS"("SCHED_NAME","TRIGGER_NAME","TRIGGER_GROUP","CRON_EXPRESSION","TIME_ZONE_ID") VALUES('schedulerName','payNotifyJob','DEFAULT','* * * * * ?','Asia/Shanghai');
+
+INSERT INTO "RUOYI_VUE_PRO"."QRTZ_JOB_DETAILS"("SCHED_NAME","JOB_NAME","JOB_GROUP","DESCRIPTION","JOB_CLASS_NAME","IS_DURABLE","IS_NONCONCURRENT","IS_UPDATE_DATA","REQUESTS_RECOVERY","JOB_DATA") VALUES('schedulerName','payNotifyJob','DEFAULT',null,'cn.iocoder.yudao.framework.quartz.core.handler.JobHandlerInvoker','0','1','1','0',0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C770800000010000000027400064A4F425F49447372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000057400104A4F425F48414E444C45525F4E414D4574000C7061794E6F746966794A6F627800);
+
+INSERT INTO "RUOYI_VUE_PRO"."QRTZ_LOCKS"("SCHED_NAME","LOCK_NAME") VALUES('schedulerName','STATE_ACCESS');
+INSERT INTO "RUOYI_VUE_PRO"."QRTZ_LOCKS"("SCHED_NAME","LOCK_NAME") VALUES('schedulerName','TRIGGER_ACCESS');
+
+INSERT INTO "RUOYI_VUE_PRO"."QRTZ_SCHEDULER_STATE"("SCHED_NAME","INSTANCE_NAME","LAST_CHECKIN_TIME","CHECKIN_INTERVAL") VALUES('schedulerName','Yunai1677076619095',1677076631456,15000);
+
+INSERT INTO "RUOYI_VUE_PRO"."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,1677076638000,1677076637000,5,'WAITING','CRON',1635294882000,0,null,0,0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C770800000010000000037400114A4F425F48414E444C45525F504152414D707400124A4F425F52455452595F494E54455256414C737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000074000F4A4F425F52455452595F434F554E5471007E000B7800);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_DEPT" ON;
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DEPT"("ID","NAME","PARENT_ID","SORT","LEADER_USER_ID","PHONE","EMAIL","STATUS","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(100,'芋道源码',0,0,1,'15888888888','ry@qq.com',0,'admin','2021-01-05 17:03:47','1','2022-06-19 00:29:10',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DEPT"("ID","NAME","PARENT_ID","SORT","LEADER_USER_ID","PHONE","EMAIL","STATUS","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(101,'深圳总公司',100,1,104,'15888888888','ry@qq.com',0,'admin','2021-01-05 17:03:47','1','2022-05-16 20:25:23',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DEPT"("ID","NAME","PARENT_ID","SORT","LEADER_USER_ID","PHONE","EMAIL","STATUS","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(102,'长沙分公司',100,2,null,'15888888888','ry@qq.com',0,'admin','2021-01-05 17:03:47','','2021-12-15 05:01:40',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DEPT"("ID","NAME","PARENT_ID","SORT","LEADER_USER_ID","PHONE","EMAIL","STATUS","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(103,'研发部门',101,1,104,'15888888888','ry@qq.com',0,'admin','2021-01-05 17:03:47','103','2022-01-14 01:04:14',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DEPT"("ID","NAME","PARENT_ID","SORT","LEADER_USER_ID","PHONE","EMAIL","STATUS","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(104,'市场部门',101,2,null,'15888888888','ry@qq.com',0,'admin','2021-01-05 17:03:47','','2021-12-15 05:01:38',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DEPT"("ID","NAME","PARENT_ID","SORT","LEADER_USER_ID","PHONE","EMAIL","STATUS","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(105,'测试部门',101,3,null,'15888888888','ry@qq.com',0,'admin','2021-01-05 17:03:47','1','2022-05-16 20:25:15',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DEPT"("ID","NAME","PARENT_ID","SORT","LEADER_USER_ID","PHONE","EMAIL","STATUS","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(106,'财务部门',101,4,103,'15888888888','ry@qq.com',0,'admin','2021-01-05 17:03:47','103','2022-01-15 21:32:22',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_DEPT" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA" ON;
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1,1,'男','1','system_user_sex',0,'default','A','性别男','admin','2021-01-05 17:03:48','1','2022-03-29 00:14:39',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2,2,'女','2','system_user_sex',1,'success','','性别女','admin','2021-01-05 17:03:48','1','2022-02-16 01:30:51',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(8,1,'正常','1','infra_job_status',0,'success','','正常状态','admin','2021-01-05 17:03:48','1','2022-02-16 19:33:38',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(9,2,'暂停','2','infra_job_status',0,'danger','','停用状态','admin','2021-01-05 17:03:48','1','2022-02-16 19:33:45',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(12,1,'系统内置','1','infra_config_type',0,'danger','','参数类型 - 系统内置','admin','2021-01-05 17:03:48','1','2022-02-16 19:06:02',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(13,2,'自定义','2','infra_config_type',0,'primary','','参数类型 - 自定义','admin','2021-01-05 17:03:48','1','2022-02-16 19:06:07',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(14,1,'通知','1','system_notice_type',0,'success','','通知','admin','2021-01-05 17:03:48','1','2022-02-16 13:05:57',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(15,2,'公告','2','system_notice_type',0,'info','','公告','admin','2021-01-05 17:03:48','1','2022-02-16 13:06:01',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(16,0,'其它','0','system_operate_type',0,'default','','其它操作','admin','2021-01-05 17:03:48','1','2022-02-16 09:32:46',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(17,1,'查询','1','system_operate_type',0,'info','','查询操作','admin','2021-01-05 17:03:48','1','2022-02-16 09:33:16',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(18,2,'新增','2','system_operate_type',0,'primary','','新增操作','admin','2021-01-05 17:03:48','1','2022-02-16 09:33:13',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(19,3,'修改','3','system_operate_type',0,'warning','','修改操作','admin','2021-01-05 17:03:48','1','2022-02-16 09:33:22',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(20,4,'删除','4','system_operate_type',0,'danger','','删除操作','admin','2021-01-05 17:03:48','1','2022-02-16 09:33:27',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(22,5,'导出','5','system_operate_type',0,'default','','导出操作','admin','2021-01-05 17:03:48','1','2022-02-16 09:33:32',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(23,6,'导入','6','system_operate_type',0,'default','','导入操作','admin','2021-01-05 17:03:48','1','2022-02-16 09:33:35',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(27,1,'开启','0','common_status',0,'primary','','开启状态','admin','2021-01-05 17:03:48','1','2022-02-16 08:00:39',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(28,2,'关闭','1','common_status',0,'info','','关闭状态','admin','2021-01-05 17:03:48','1','2022-02-16 08:00:44',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(29,1,'目录','1','system_menu_type',0,'','','目录','admin','2021-01-05 17:03:48','','2022-02-01 16:43:45',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(30,2,'菜单','2','system_menu_type',0,'','','菜单','admin','2021-01-05 17:03:48','','2022-02-01 16:43:41',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(31,3,'按钮','3','system_menu_type',0,'','','按钮','admin','2021-01-05 17:03:48','','2022-02-01 16:43:39',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(32,1,'内置','1','system_role_type',0,'danger','','内置角色','admin','2021-01-05 17:03:48','1','2022-02-16 13:02:08',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(33,2,'自定义','2','system_role_type',0,'primary','','自定义角色','admin','2021-01-05 17:03:48','1','2022-02-16 13:02:12',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(34,1,'全部数据权限','1','system_data_scope',0,'','','全部数据权限','admin','2021-01-05 17:03:48','','2022-02-01 16:47:17',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(35,2,'指定部门数据权限','2','system_data_scope',0,'','','指定部门数据权限','admin','2021-01-05 17:03:48','','2022-02-01 16:47:18',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(36,3,'本部门数据权限','3','system_data_scope',0,'','','本部门数据权限','admin','2021-01-05 17:03:48','','2022-02-01 16:47:16',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(37,4,'本部门及以下数据权限','4','system_data_scope',0,'','','本部门及以下数据权限','admin','2021-01-05 17:03:48','','2022-02-01 16:47:21',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(38,5,'仅本人数据权限','5','system_data_scope',0,'','','仅本人数据权限','admin','2021-01-05 17:03:48','','2022-02-01 16:47:23',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(39,0,'成功','0','system_login_result',0,'success','','登陆结果 - 成功','','2021-01-18 06:17:36','1','2022-02-16 13:23:49',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(40,10,'账号或密码不正确','10','system_login_result',0,'primary','','登陆结果 - 账号或密码不正确','','2021-01-18 06:17:54','1','2022-02-16 13:24:27',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(41,20,'用户被禁用','20','system_login_result',0,'warning','','登陆结果 - 用户被禁用','','2021-01-18 06:17:54','1','2022-02-16 13:23:57',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(42,30,'验证码不存在','30','system_login_result',0,'info','','登陆结果 - 验证码不存在','','2021-01-18 06:17:54','1','2022-02-16 13:24:07',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(43,31,'验证码不正确','31','system_login_result',0,'info','','登陆结果 - 验证码不正确','','2021-01-18 06:17:54','1','2022-02-16 13:24:11',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(44,100,'未知异常','100','system_login_result',0,'danger','','登陆结果 - 未知异常','','2021-01-18 06:17:54','1','2022-02-16 13:24:23',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(45,1,'是','true','infra_boolean_string',0,'danger','','Boolean 是否类型 - 是','','2021-01-19 03:20:55','1','2022-03-15 23:01:45',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(46,1,'否','false','infra_boolean_string',0,'info','','Boolean 是否类型 - 否','','2021-01-19 03:20:55','1','2022-03-15 23:09:45',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(47,1,'永不超时','1','infra_redis_timeout_type',0,'primary','','Redis 未设置超时的情况','','2021-01-26 00:53:17','1','2022-02-16 19:03:35',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(48,1,'动态超时','2','infra_redis_timeout_type',0,'info','','程序里动态传入超时时间,无法固定','','2021-01-26 00:55:00','1','2022-02-16 19:03:41',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(49,3,'固定超时','3','infra_redis_timeout_type',0,'success','','Redis 设置了过期时间','','2021-01-26 00:55:26','1','2022-02-16 19:03:45',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(50,1,'单表(增删改查)','1','infra_codegen_template_type',0,'','',null,'','2021-02-05 07:09:06','','2022-03-10 16:33:15',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(51,2,'树表(增删改查)','2','infra_codegen_template_type',0,'','',null,'','2021-02-05 07:14:46','','2022-03-10 16:33:19',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(53,0,'初始化中','0','infra_job_status',0,'primary','',null,'','2021-02-07 07:46:49','1','2022-02-16 19:33:29',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(57,0,'运行中','0','infra_job_log_status',0,'primary','','RUNNING','','2021-02-08 10:04:24','1','2022-02-16 19:07:48',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(58,1,'成功','1','infra_job_log_status',0,'success','',null,'','2021-02-08 10:06:57','1','2022-02-16 19:07:52',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(59,2,'失败','2','infra_job_log_status',0,'warning','','失败','','2021-02-08 10:07:38','1','2022-02-16 19:07:56',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(60,1,'会员','1','user_type',0,'primary','',null,'','2021-02-26 00:16:27','1','2022-02-16 10:22:19',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(61,2,'管理员','2','user_type',0,'success','',null,'','2021-02-26 00:16:34','1','2022-02-16 10:22:22',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(62,0,'未处理','0','infra_api_error_log_process_status',0,'primary','',null,'','2021-02-26 07:07:19','1','2022-02-16 20:14:17',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(63,1,'已处理','1','infra_api_error_log_process_status',0,'success','',null,'','2021-02-26 07:07:26','1','2022-02-16 20:14:08',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(64,2,'已忽略','2','infra_api_error_log_process_status',0,'danger','',null,'','2021-02-26 07:07:34','1','2022-02-16 20:14:14',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(66,2,'阿里云','ALIYUN','system_sms_channel_code',0,'primary','',null,'1','2021-04-05 01:05:26','1','2022-02-16 10:09:52',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(67,1,'验证码','1','system_sms_template_type',0,'warning','',null,'1','2021-04-05 21:50:57','1','2022-02-16 12:48:30',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(68,2,'通知','2','system_sms_template_type',0,'primary','',null,'1','2021-04-05 21:51:08','1','2022-02-16 12:48:27',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(69,0,'营销','3','system_sms_template_type',0,'danger','',null,'1','2021-04-05 21:51:15','1','2022-02-16 12:48:22',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(70,0,'初始化','0','system_sms_send_status',0,'primary','',null,'1','2021-04-11 20:18:33','1','2022-02-16 10:26:07',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(71,1,'发送成功','10','system_sms_send_status',0,'success','',null,'1','2021-04-11 20:18:43','1','2022-02-16 10:25:56',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(72,2,'发送失败','20','system_sms_send_status',0,'danger','',null,'1','2021-04-11 20:18:49','1','2022-02-16 10:26:03',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(73,3,'不发送','30','system_sms_send_status',0,'info','',null,'1','2021-04-11 20:19:44','1','2022-02-16 10:26:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(74,0,'等待结果','0','system_sms_receive_status',0,'primary','',null,'1','2021-04-11 20:27:43','1','2022-02-16 10:28:24',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(75,1,'接收成功','10','system_sms_receive_status',0,'success','',null,'1','2021-04-11 20:29:25','1','2022-02-16 10:28:28',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(76,2,'接收失败','20','system_sms_receive_status',0,'danger','',null,'1','2021-04-11 20:29:31','1','2022-02-16 10:28:32',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(77,0,'调试(钉钉)','DEBUG_DING_TALK','system_sms_channel_code',0,'info','',null,'1','2021-04-13 00:20:37','1','2022-02-16 10:10:00',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(78,1,'自动生成','1','system_error_code_type',0,'warning','',null,'1','2021-04-21 00:06:48','1','2022-02-16 13:57:20',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(79,2,'手动编辑','2','system_error_code_type',0,'primary','',null,'1','2021-04-21 00:07:14','1','2022-02-16 13:57:24',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(80,100,'账号登录','100','system_login_type',0,'primary','','账号登录','1','2021-10-06 00:52:02','1','2022-02-16 13:11:34',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(81,101,'社交登录','101','system_login_type',0,'info','','社交登录','1','2021-10-06 00:52:17','1','2022-02-16 13:11:40',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(83,200,'主动登出','200','system_login_type',0,'primary','','主动登出','1','2021-10-06 00:52:58','1','2022-02-16 13:11:49',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(85,202,'强制登出','202','system_login_type',0,'danger','','强制退出','1','2021-10-06 00:53:41','1','2022-02-16 13:11:57',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(86,0,'病假','1','bpm_oa_leave_type',0,'primary','',null,'1','2021-09-21 22:35:28','1','2022-02-16 10:00:41',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(87,1,'事假','2','bpm_oa_leave_type',0,'info','',null,'1','2021-09-21 22:36:11','1','2022-02-16 10:00:49',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(88,2,'婚假','3','bpm_oa_leave_type',0,'warning','',null,'1','2021-09-21 22:36:38','1','2022-02-16 10:00:53',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(98,1,'v2','v2','pay_channel_wechat_version',0,'','','v2版本','1','2021-11-08 17:00:58','1','2021-11-08 17:00:58',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(99,2,'v3','v3','pay_channel_wechat_version',0,'','','v3版本','1','2021-11-08 17:01:07','1','2021-11-08 17:01:07',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(108,1,'RSA2','RSA2','pay_channel_alipay_sign_type',0,'','','RSA2','1','2021-11-18 15:39:29','1','2021-11-18 15:39:29',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(109,1,'公钥模式','1','pay_channel_alipay_mode',0,'','','公钥模式:privateKey + alipayPublicKey','1','2021-11-18 15:45:23','1','2021-11-18 15:45:23',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(110,2,'证书模式','2','pay_channel_alipay_mode',0,'','','证书模式:appCertContent + alipayPublicCertContent + rootCertContent','1','2021-11-18 15:45:40','1','2021-11-18 15:45:40',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(111,1,'线上','https://openapi.alipay.com/gateway.do','pay_channel_alipay_server_type',0,'','','网关地址 - 线上','1','2021-11-18 16:59:32','1','2021-11-21 17:37:29',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(112,2,'沙箱','https://openapi.alipaydev.com/gateway.do','pay_channel_alipay_server_type',0,'','','网关地址 - 沙箱','1','2021-11-18 16:59:48','1','2021-11-21 17:37:39',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(113,1,'微信 JSAPI 支付','wx_pub','pay_channel_code_type',0,'','','微信 JSAPI(公众号) 支付','1','2021-12-03 10:40:24','1','2021-12-04 16:41:00',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(114,2,'微信小程序支付','wx_lite','pay_channel_code_type',0,'','','微信小程序支付','1','2021-12-03 10:41:06','1','2021-12-03 10:41:06',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(115,3,'微信 App 支付','wx_app','pay_channel_code_type',0,'','','微信 App 支付','1','2021-12-03 10:41:20','1','2021-12-03 10:41:20',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(116,4,'支付宝 PC 网站支付','alipay_pc','pay_channel_code_type',0,'','','支付宝 PC 网站支付','1','2021-12-03 10:42:09','1','2021-12-03 10:42:09',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(117,5,'支付宝 Wap 网站支付','alipay_wap','pay_channel_code_type',0,'','','支付宝 Wap 网站支付','1','2021-12-03 10:42:26','1','2021-12-03 10:42:26',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(118,6,'支付宝App 支付','alipay_app','pay_channel_code_type',0,'','','支付宝App 支付','1','2021-12-03 10:42:55','1','2021-12-03 10:42:55',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(119,7,'支付宝扫码支付','alipay_qr','pay_channel_code_type',0,'','','支付宝扫码支付','1','2021-12-03 10:43:10','1','2021-12-03 10:43:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(120,1,'通知成功','10','pay_order_notify_status',0,'success','','通知成功','1','2021-12-03 11:02:41','1','2022-02-16 13:59:13',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(121,2,'通知失败','20','pay_order_notify_status',0,'danger','','通知失败','1','2021-12-03 11:02:59','1','2022-02-16 13:59:17',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(122,3,'未通知','0','pay_order_notify_status',0,'info','','未通知','1','2021-12-03 11:03:10','1','2022-02-16 13:59:23',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(123,1,'支付成功','10','pay_order_status',0,'success','','支付成功','1','2021-12-03 11:18:29','1','2022-02-16 15:24:25',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(124,2,'支付关闭','20','pay_order_status',0,'danger','','支付关闭','1','2021-12-03 11:18:42','1','2022-02-16 15:24:31',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(125,3,'未支付','0','pay_order_status',0,'info','','未支付','1','2021-12-03 11:18:18','1','2022-02-16 15:24:35',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(126,1,'未退款','0','pay_order_refund_status',0,'','','未退款','1','2021-12-03 11:30:35','1','2021-12-03 11:34:05',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(127,2,'部分退款','10','pay_order_refund_status',0,'','','部分退款','1','2021-12-03 11:30:44','1','2021-12-03 11:34:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(128,3,'全部退款','20','pay_order_refund_status',0,'','','全部退款','1','2021-12-03 11:30:52','1','2021-12-03 11:34:14',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1117,1,'退款订单生成','0','pay_refund_order_status',0,'primary','','退款订单生成','1','2021-12-10 16:44:44','1','2022-02-16 14:05:24',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1118,2,'退款成功','1','pay_refund_order_status',0,'success','','退款成功','1','2021-12-10 16:44:59','1','2022-02-16 14:05:28',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1119,3,'退款失败','2','pay_refund_order_status',0,'danger','','退款失败','1','2021-12-10 16:45:10','1','2022-02-16 14:05:34',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1124,8,'退款关闭','99','pay_refund_order_status',0,'info','','退款关闭','1','2021-12-10 16:46:26','1','2022-02-16 14:05:40',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1125,0,'默认','1','bpm_model_category',0,'primary','','流程分类 - 默认','1','2022-01-02 08:41:11','1','2022-02-16 20:01:42',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1126,0,'OA','2','bpm_model_category',0,'success','','流程分类 - OA','1','2022-01-02 08:41:22','1','2022-02-16 20:01:50',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1127,0,'进行中','1','bpm_process_instance_status',0,'primary','','流程实例的状态 - 进行中','1','2022-01-07 23:47:22','1','2022-02-16 20:07:49',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1128,2,'已完成','2','bpm_process_instance_status',0,'success','','流程实例的状态 - 已完成','1','2022-01-07 23:47:49','1','2022-02-16 20:07:54',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1129,1,'处理中','1','bpm_process_instance_result',0,'primary','','流程实例的结果 - 处理中','1','2022-01-07 23:48:32','1','2022-02-16 09:53:26',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1130,2,'通过','2','bpm_process_instance_result',0,'success','','流程实例的结果 - 通过','1','2022-01-07 23:48:45','1','2022-02-16 09:53:31',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1131,3,'不通过','3','bpm_process_instance_result',0,'danger','','流程实例的结果 - 不通过','1','2022-01-07 23:48:55','1','2022-02-16 09:53:38',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1132,4,'已取消','4','bpm_process_instance_result',0,'info','','流程实例的结果 - 撤销','1','2022-01-07 23:49:06','1','2022-02-16 09:53:42',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1133,10,'流程表单','10','bpm_model_form_type',0,'','','流程的表单类型 - 流程表单','103','2022-01-11 23:51:30','103','2022-01-11 23:51:30',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1134,20,'业务表单','20','bpm_model_form_type',0,'','','流程的表单类型 - 业务表单','103','2022-01-11 23:51:47','103','2022-01-11 23:51:47',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1135,10,'角色','10','bpm_task_assign_rule_type',0,'info','','任务分配规则的类型 - 角色','103','2022-01-12 23:21:22','1','2022-02-16 20:06:14',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1136,20,'部门的成员','20','bpm_task_assign_rule_type',0,'primary','','任务分配规则的类型 - 部门的成员','103','2022-01-12 23:21:47','1','2022-02-16 20:05:28',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1137,21,'部门的负责人','21','bpm_task_assign_rule_type',0,'primary','','任务分配规则的类型 - 部门的负责人','103','2022-01-12 23:33:36','1','2022-02-16 20:05:31',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1138,30,'用户','30','bpm_task_assign_rule_type',0,'info','','任务分配规则的类型 - 用户','103','2022-01-12 23:34:02','1','2022-02-16 20:05:50',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1139,40,'用户组','40','bpm_task_assign_rule_type',0,'warning','','任务分配规则的类型 - 用户组','103','2022-01-12 23:34:21','1','2022-02-16 20:05:57',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1140,50,'自定义脚本','50','bpm_task_assign_rule_type',0,'danger','','任务分配规则的类型 - 自定义脚本','103','2022-01-12 23:34:43','1','2022-02-16 20:06:01',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1141,22,'岗位','22','bpm_task_assign_rule_type',0,'success','','任务分配规则的类型 - 岗位','103','2022-01-14 18:41:55','1','2022-02-16 20:05:39',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1142,10,'流程发起人','10','bpm_task_assign_script',0,'','','任务分配自定义脚本 - 流程发起人','103','2022-01-15 00:10:57','103','2022-01-15 21:24:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1143,20,'流程发起人的一级领导','20','bpm_task_assign_script',0,'','','任务分配自定义脚本 - 流程发起人的一级领导','103','2022-01-15 21:24:31','103','2022-01-15 21:24:31',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1144,21,'流程发起人的二级领导','21','bpm_task_assign_script',0,'','','任务分配自定义脚本 - 流程发起人的二级领导','103','2022-01-15 21:24:46','103','2022-01-15 21:24:57',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1145,1,'管理后台','1','infra_codegen_scene',0,'','','代码生成的场景枚举 - 管理后台','1','2022-02-02 13:15:06','1','2022-03-10 16:32:59',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1146,2,'用户 APP','2','infra_codegen_scene',0,'','','代码生成的场景枚举 - 用户 APP','1','2022-02-02 13:15:19','1','2022-03-10 16:33:03',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1147,0,'未退款','0','pay_refund_order_type',0,'info','','退款类型 - 未退款','1','2022-02-16 14:09:01','1','2022-02-16 14:09:01',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1148,10,'部分退款','10','pay_refund_order_type',0,'success','','退款类型 - 部分退款','1','2022-02-16 14:09:25','1','2022-02-16 14:11:38',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1149,20,'全部退款','20','pay_refund_order_type',0,'warning','','退款类型 - 全部退款','1','2022-02-16 14:11:33','1','2022-02-16 14:11:33',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1150,1,'数据库','1','infra_file_storage',0,'default','',null,'1','2022-03-15 00:25:28','1','2022-03-15 00:25:28',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1151,10,'本地磁盘','10','infra_file_storage',0,'default','',null,'1','2022-03-15 00:25:41','1','2022-03-15 00:25:56',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1152,11,'FTP 服务器','11','infra_file_storage',0,'default','',null,'1','2022-03-15 00:26:06','1','2022-03-15 00:26:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1153,12,'SFTP 服务器','12','infra_file_storage',0,'default','',null,'1','2022-03-15 00:26:22','1','2022-03-15 00:26:22',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1154,20,'S3 对象存储','20','infra_file_storage',0,'default','',null,'1','2022-03-15 00:26:31','1','2022-03-15 00:26:45',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1155,103,'短信登录','103','system_login_type',0,'default','',null,'1','2022-05-09 23:57:58','1','2022-05-09 23:58:09',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1156,1,'password','password','system_oauth2_grant_type',0,'default','','密码模式','1','2022-05-12 00:22:05','1','2022-05-11 16:26:01',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1157,2,'authorization_code','authorization_code','system_oauth2_grant_type',0,'primary','','授权码模式','1','2022-05-12 00:22:59','1','2022-05-11 16:26:02',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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','','邮件发送状态 - 初始化
+','1','2023-01-26 09:53:49','1','2023-01-26 16:36:14',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1229,0,'模拟支付','mock','pay_channel_code_type',0,'default','',null,'1','2023-02-12 21:50:22','1','2023-02-12 21:50:22',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1230,8,'支付宝条码支付','alipay_bar','pay_channel_code_type',0,'default','',null,'1','2023-02-18 23:32:24','1','2023-02-18 23:32:32',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1231,10,'Vue2 Element UI 标准模版','10','infra_codegen_front_type',0,'','','','1','2023-04-13 00:03:55','1','2023-04-13 00:03:55',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1232,20,'Vue3 Element Plus 标准模版','20','infra_codegen_front_type',0,'','','','1','2023-04-13 00:04:08','1','2023-04-13 00:04:08',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1233,21,'Vue3 Element Plus Schema 模版','21','infra_codegen_front_type',0,'','','','1','2023-04-13 00:04:26','1','2023-04-13 00:04:26',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"("ID","SORT","LABEL","VALUE","DICT_TYPE","STATUS","COLOR_TYPE","CSS_CLASS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1234,30,'Vue3 vben 模版','30','infra_codegen_front_type',0,'','','','1','2023-04-13 00:04:26','1','2023-04-13 00:04:26',0);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_DICT_TYPE" ON;
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,null);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,'1970-01-01 00:00:00');
+INSERT INTO "RUOYI_VUE_PRO"."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',0,'1970-01-01 00:00:00');
+INSERT INTO "RUOYI_VUE_PRO"."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',0,'1970-01-01 00:00:00');
+INSERT INTO "RUOYI_VUE_PRO"."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',0,'1970-01-01 00:00:00');
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_DICT_TYPE"("ID","NAME","TYPE","STATUS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","DELETED_TIME") VALUES(168,'代码生成的前端类型','infra_codegen_front_type',0,'','1','2023-04-12 23:57:52','1','2023-04-12 23:57:52',0,'1970-01-01 00:00:00');
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_DICT_TYPE" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_ERROR_CODE" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_ERROR_CODE" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_LOGIN_LOG" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_LOGIN_LOG" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_MAIL_ACCOUNT" ON;
+INSERT INTO "RUOYI_VUE_PRO"."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,0,'1','2023-01-25 17:39:52','1','2023-04-12 23:04:49',0);
+INSERT INTO "RUOYI_VUE_PRO"."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,1,'1','2023-01-26 01:26:03','1','2023-04-12 22:39:38',0);
+INSERT INTO "RUOYI_VUE_PRO"."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,0,'1','2023-01-27 15:06:38','1','2023-01-27 07:08:36',1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MAIL_ACCOUNT"("ID","MAIL","USERNAME","PASSWORD","HOST","PORT","SSL_ENABLE","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(4,'7685413x@qq.com','2','3','4',5,1,'1','2023-04-12 23:05:06','1','2023-04-12 15:05:11',1);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_MAIL_ACCOUNT" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_MAIL_TEMPLATE" ON;
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_MAIL_TEMPLATE" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_MENU" ON;
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1,'系统管理','',1,10,0,'/system','system',null,null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2,'基础设施','',1,20,0,'/infra','monitor',null,null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(5,'OA 示例','',1,40,1185,'oa','people',null,null,0,1,1,1,'admin','2021-09-20 16:26:19','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(100,'用户管理','system:user:list',2,1,1,'user','user','system/user/index','SystemUser',0,1,1,1,'admin','2021-01-05 17:03:48','1','2023-04-08 08:31:59',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(101,'角色管理','',2,2,1,'role','peoples','system/role/index','SystemRole',0,1,1,1,'admin','2021-01-05 17:03:48','1','2023-04-08 08:33:59',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(102,'菜单管理','',2,3,1,'menu','tree-table','system/menu/index','SystemMenu',0,1,1,1,'admin','2021-01-05 17:03:48','1','2023-04-08 08:34:32',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(103,'部门管理','',2,4,1,'dept','tree','system/dept/index','SystemDept',0,1,1,1,'admin','2021-01-05 17:03:48','1','2023-04-08 08:35:32',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(104,'岗位管理','',2,5,1,'post','post','system/post/index','SystemPost',0,1,1,1,'admin','2021-01-05 17:03:48','1','2023-04-08 08:36:21',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(105,'字典管理','',2,6,1,'dict','dict','system/dict/index','SystemDictType',0,1,1,1,'admin','2021-01-05 17:03:48','1','2023-04-08 08:36:45',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(106,'配置管理','',2,6,2,'config','edit','infra/config/index','InfraConfig',0,1,1,1,'admin','2021-01-05 17:03:48','1','2023-04-08 10:31:17',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(107,'通知公告','',2,8,1,'notice','message','system/notice/index','SystemNotice',0,1,1,1,'admin','2021-01-05 17:03:48','1','2023-04-08 08:45:06',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(108,'审计日志','',1,9,1,'log','log','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(109,'令牌管理','',2,2,1261,'token','online','system/oauth2/token/index','SystemTokenClient',0,1,1,1,'admin','2021-01-05 17:03:48','1','2023-04-08 08:47:41',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(110,'定时任务','',2,12,2,'job','job','infra/job/index','InfraJob',0,1,1,1,'admin','2021-01-05 17:03:48','1','2023-04-08 10:36:49',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(111,'MySQL 监控','',2,9,2,'druid','druid','infra/druid/index','InfraDruid',0,1,1,1,'admin','2021-01-05 17:03:48','1','2023-04-08 09:09:30',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(112,'Java 监控','',2,11,2,'admin-server','server','infra/server/index','InfraAdminServer',0,1,1,1,'admin','2021-01-05 17:03:48','1','2023-04-08 10:34:08',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(113,'Redis 监控','',2,10,2,'redis','redis','infra/redis/index','InfraRedis',0,1,1,1,'admin','2021-01-05 17:03:48','1','2023-04-08 10:33:30',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(114,'表单构建','infra:build:list',2,2,2,'build','build','infra/build/index','InfraBuild',0,1,1,1,'admin','2021-01-05 17:03:48','1','2023-04-08 09:06:12',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(115,'代码生成','infra:codegen:query',2,1,2,'codegen','code','infra/codegen/index','InfraCodegen',0,1,1,1,'admin','2021-01-05 17:03:48','1','2023-04-08 09:02:24',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(116,'系统接口','infra:swagger:list',2,3,2,'swagger','swagger','infra/swagger/index','InfraSwagger',0,1,1,1,'admin','2021-01-05 17:03:48','1','2023-04-08 09:11:28',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(500,'操作日志','',2,1,108,'operate-log','form','system/operatelog/index','SystemOperateLog',0,1,1,1,'admin','2021-01-05 17:03:48','1','2023-04-08 08:47:00',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(501,'登录日志','',2,2,108,'login-log','logininfor','system/loginlog/index','SystemLoginLog',0,1,1,1,'admin','2021-01-05 17:03:48','1','2023-04-08 08:46:18',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1001,'用户查询','system:user:query',3,1,100,'','#','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1002,'用户新增','system:user:create',3,2,100,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1003,'用户修改','system:user:update',3,3,100,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1004,'用户删除','system:user:delete',3,4,100,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1005,'用户导出','system:user:export',3,5,100,'','#','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1006,'用户导入','system:user:import',3,6,100,'','#','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1007,'重置密码','system:user:update-password',3,7,100,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1008,'角色查询','system:role:query',3,1,101,'','#','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1009,'角色新增','system:role:create',3,2,101,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1010,'角色修改','system:role:update',3,3,101,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1011,'角色删除','system:role:delete',3,4,101,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1012,'角色导出','system:role:export',3,5,101,'','#','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1013,'菜单查询','system:menu:query',3,1,102,'','#','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1014,'菜单新增','system:menu:create',3,2,102,'','#','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1015,'菜单修改','system:menu:update',3,3,102,'','#','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1016,'菜单删除','system:menu:delete',3,4,102,'','#','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1017,'部门查询','system:dept:query',3,1,103,'','#','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1018,'部门新增','system:dept:create',3,2,103,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1019,'部门修改','system:dept:update',3,3,103,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1020,'部门删除','system:dept:delete',3,4,103,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1021,'岗位查询','system:post:query',3,1,104,'','#','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1022,'岗位新增','system:post:create',3,2,104,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1023,'岗位修改','system:post:update',3,3,104,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1024,'岗位删除','system:post:delete',3,4,104,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1025,'岗位导出','system:post:export',3,5,104,'','#','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1026,'字典查询','system:dict:query',3,1,105,'#','#','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1027,'字典新增','system:dict:create',3,2,105,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1028,'字典修改','system:dict:update',3,3,105,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1029,'字典删除','system:dict:delete',3,4,105,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1030,'字典导出','system:dict:export',3,5,105,'#','#','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1031,'配置查询','infra:config:query',3,1,106,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1032,'配置新增','infra:config:create',3,2,106,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1033,'配置修改','infra:config:update',3,3,106,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1034,'配置删除','infra:config:delete',3,4,106,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1035,'配置导出','infra:config:export',3,5,106,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1036,'公告查询','system:notice:query',3,1,107,'#','#','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1037,'公告新增','system:notice:create',3,2,107,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1038,'公告修改','system:notice:update',3,3,107,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1039,'公告删除','system:notice:delete',3,4,107,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1040,'操作查询','system:operate-log:query',3,1,500,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1042,'日志导出','system:operate-log:export',3,2,500,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1043,'登录查询','system:login-log:query',3,1,501,'#','#','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1045,'日志导出','system:login-log:export',3,3,501,'#','#','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1046,'令牌列表','system:oauth2-token:page',3,1,109,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-05-09 23:54:42',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1048,'令牌删除','system:oauth2-token:delete',3,2,109,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-05-09 23:54:53',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1050,'任务新增','infra:job:create',3,2,110,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1051,'任务修改','infra:job:update',3,3,110,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1052,'任务删除','infra:job:delete',3,4,110,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1053,'状态修改','infra:job:update',3,5,110,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1054,'任务导出','infra:job:export',3,7,110,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1056,'生成修改','infra:codegen:update',3,2,115,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1057,'生成删除','infra:codegen:delete',3,3,115,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1058,'导入代码','infra:codegen:create',3,2,115,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1059,'预览代码','infra:codegen:preview',3,4,115,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1060,'生成代码','infra:codegen:download',3,5,115,'','','',null,0,1,1,1,'admin','2021-01-05 17:03:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1063,'设置角色菜单权限','system:permission:assign-role-menu',3,6,101,'','','',null,0,1,1,1,'','2021-01-06 17:53:44','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1064,'设置角色数据权限','system:permission:assign-role-data-scope',3,7,101,'','','',null,0,1,1,1,'','2021-01-06 17:56:31','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1065,'设置用户角色','system:permission:assign-user-role',3,8,101,'','','',null,0,1,1,1,'','2021-01-07 10:23:28','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1066,'获得 Redis 监控信息','infra:redis:get-monitor-info',3,1,113,'','','',null,0,1,1,1,'','2021-01-26 01:02:31','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1067,'获得 Redis Key 列表','infra:redis:get-key-list',3,2,113,'','','',null,0,1,1,1,'','2021-01-26 01:02:52','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1070,'代码生成示例','infra:test-demo:query',2,1,2,'test-demo','validCode','infra/testDemo/index',null,0,1,1,1,'','2021-02-06 12:42:49','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1071,'测试示例表创建','infra:test-demo:create',3,1,1070,'','','',null,0,1,1,1,'','2021-02-06 12:42:49','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1072,'测试示例表更新','infra:test-demo:update',3,2,1070,'','','',null,0,1,1,1,'','2021-02-06 12:42:49','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1073,'测试示例表删除','infra:test-demo:delete',3,3,1070,'','','',null,0,1,1,1,'','2021-02-06 12:42:49','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1074,'测试示例表导出','infra:test-demo:export',3,4,1070,'','','',null,0,1,1,1,'','2021-02-06 12:42:49','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1075,'任务触发','infra:job:trigger',3,8,110,'','','',null,0,1,1,1,'','2021-02-07 13:03:10','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1076,'数据库文档','',2,4,2,'db-doc','table','infra/dbDoc/index','InfraDBDoc',0,1,1,1,'','2021-02-08 01:41:47','1','2023-04-08 09:13:38',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1077,'监控平台','',2,13,2,'skywalking','eye-open','infra/skywalking/index','InfraSkyWalking',0,1,1,1,'','2021-02-08 20:41:31','1','2023-04-08 10:39:06',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1078,'访问日志','',2,1,1083,'api-access-log','log','infra/apiAccessLog/index','InfraApiAccessLog',0,1,1,1,'','2021-02-26 01:32:59','1','2023-04-08 10:31:34',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1082,'日志导出','infra:api-access-log:export',3,2,1078,'','','',null,0,1,1,1,'','2021-02-26 01:32:59','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1083,'API 日志','',2,8,2,'log','log',null,null,0,1,1,1,'','2021-02-26 02:18:24','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1084,'错误日志','infra:api-error-log:query',2,2,1083,'api-error-log','log','infra/apiErrorLog/index','InfraApiErrorLog',0,1,1,1,'','2021-02-26 07:53:20','1','2023-04-08 10:32:25',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1085,'日志处理','infra:api-error-log:update-status',3,2,1084,'','','',null,0,1,1,1,'','2021-02-26 07:53:20','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1086,'日志导出','infra:api-error-log:export',3,3,1084,'','','',null,0,1,1,1,'','2021-02-26 07:53:20','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1087,'任务查询','infra:job:query',3,1,110,'','','',null,0,1,1,1,'1','2021-03-10 01:26:19','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1088,'日志查询','infra:api-access-log:query',3,1,1078,'','','',null,0,1,1,1,'1','2021-03-10 01:28:04','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1089,'日志查询','infra:api-error-log:query',3,1,1084,'','','',null,0,1,1,1,'1','2021-03-10 01:29:09','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1090,'文件列表','',2,5,1243,'file','upload','infra/file/index','InfraFile',0,1,1,1,'','2021-03-12 20:16:20','1','2023-04-08 09:21:31',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1091,'文件查询','infra:file:query',3,1,1090,'','','',null,0,1,1,1,'','2021-03-12 20:16:20','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1092,'文件删除','infra:file:delete',3,4,1090,'','','',null,0,1,1,1,'','2021-03-12 20:16:20','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1093,'短信管理','',1,11,1,'sms','validCode',null,null,0,1,1,1,'1','2021-04-05 01:10:16','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1094,'短信渠道','',2,0,1093,'sms-channel','phone','system/sms/channel/index','SystemSmsChannel',0,1,1,1,'','2021-04-01 11:07:15','1','2023-04-08 08:50:41',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1095,'短信渠道查询','system:sms-channel:query',3,1,1094,'','','',null,0,1,1,1,'','2021-04-01 11:07:15','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1096,'短信渠道创建','system:sms-channel:create',3,2,1094,'','','',null,0,1,1,1,'','2021-04-01 11:07:15','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1097,'短信渠道更新','system:sms-channel:update',3,3,1094,'','','',null,0,1,1,1,'','2021-04-01 11:07:15','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1098,'短信渠道删除','system:sms-channel:delete',3,4,1094,'','','',null,0,1,1,1,'','2021-04-01 11:07:15','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1100,'短信模板','',2,1,1093,'sms-template','phone','system/sms/template/index','SystemSmsTemplate',0,1,1,1,'','2021-04-01 17:35:17','1','2023-04-08 08:50:50',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1101,'短信模板查询','system:sms-template:query',3,1,1100,'','','',null,0,1,1,1,'','2021-04-01 17:35:17','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1102,'短信模板创建','system:sms-template:create',3,2,1100,'','','',null,0,1,1,1,'','2021-04-01 17:35:17','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1103,'短信模板更新','system:sms-template:update',3,3,1100,'','','',null,0,1,1,1,'','2021-04-01 17:35:17','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1104,'短信模板删除','system:sms-template:delete',3,4,1100,'','','',null,0,1,1,1,'','2021-04-01 17:35:17','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1105,'短信模板导出','system:sms-template:export',3,5,1100,'','','',null,0,1,1,1,'','2021-04-01 17:35:17','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1106,'发送测试短信','system:sms-template:send-sms',3,6,1100,'','','',null,0,1,1,1,'1','2021-04-11 00:26:40','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1107,'短信日志','',2,2,1093,'sms-log','phone','system/sms/log/index','SystemSmsLog',0,1,1,1,'','2021-04-11 08:37:05','1','2023-04-08 08:50:58',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1108,'短信日志查询','system:sms-log:query',3,1,1107,'','','',null,0,1,1,1,'','2021-04-11 08:37:05','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1109,'短信日志导出','system:sms-log:export',3,5,1107,'','','',null,0,1,1,1,'','2021-04-11 08:37:05','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1110,'错误码管理','',2,12,1,'error-code','code','system/errorCode/index','SystemErrorCode',0,1,1,1,'','2021-04-13 21:46:42','1','2023-04-08 09:01:15',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1111,'错误码查询','system:error-code:query',3,1,1110,'','','',null,0,1,1,1,'','2021-04-13 21:46:42','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1112,'错误码创建','system:error-code:create',3,2,1110,'','','',null,0,1,1,1,'','2021-04-13 21:46:42','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1113,'错误码更新','system:error-code:update',3,3,1110,'','','',null,0,1,1,1,'','2021-04-13 21:46:42','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1114,'错误码删除','system:error-code:delete',3,4,1110,'','','',null,0,1,1,1,'','2021-04-13 21:46:42','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1115,'错误码导出','system:error-code:export',3,5,1110,'','','',null,0,1,1,1,'','2021-04-13 21:46:42','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1117,'支付管理','',1,30,0,'/pay','money',null,null,0,1,1,1,'1','2021-12-25 16:43:41','1','2022-12-10 16:33:19',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1118,'请假查询','',2,0,5,'leave','user','bpm/oa/leave/index','BpmOALeave',0,1,1,1,'','2021-09-20 08:51:03','1','2023-04-08 11:30:40',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1119,'请假申请查询','bpm:oa-leave:query',3,1,1118,'','','',null,0,1,1,1,'','2021-09-20 08:51:03','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1120,'请假申请创建','bpm:oa-leave:create',3,2,1118,'','','',null,0,1,1,1,'','2021-09-20 08:51:03','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1126,'应用信息','',2,1,1117,'app','table','pay/app/index','PayMerchant',0,1,1,1,'','2021-11-10 01:13:30','1','2023-04-08 10:43:14',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1127,'支付应用信息查询','pay:app:query',3,1,1126,'','','',null,0,1,1,1,'','2021-11-10 01:13:31','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1128,'支付应用信息创建','pay:app:create',3,2,1126,'','','',null,0,1,1,1,'','2021-11-10 01:13:31','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1129,'支付应用信息更新','pay:app:update',3,3,1126,'','','',null,0,1,1,1,'','2021-11-10 01:13:31','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1130,'支付应用信息删除','pay:app:delete',3,4,1126,'','','',null,0,1,1,1,'','2021-11-10 01:13:31','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1131,'支付应用信息导出','pay:app:export',3,5,1126,'','','',null,0,1,1,1,'','2021-11-10 01:13:31','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1132,'秘钥解析','pay:channel:parsing',3,6,1129,'','','',null,0,1,1,1,'1','2021-11-08 15:15:47','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1133,'支付商户信息查询','pay:merchant:query',3,1,1132,'','','',null,0,1,1,1,'','2021-11-10 01:13:41','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1134,'支付商户信息创建','pay:merchant:create',3,2,1132,'','','',null,0,1,1,1,'','2021-11-10 01:13:41','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1135,'支付商户信息更新','pay:merchant:update',3,3,1132,'','','',null,0,1,1,1,'','2021-11-10 01:13:41','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1136,'支付商户信息删除','pay:merchant:delete',3,4,1132,'','','',null,0,1,1,1,'','2021-11-10 01:13:41','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1137,'支付商户信息导出','pay:merchant:export',3,5,1132,'','','',null,0,1,1,1,'','2021-11-10 01:13:41','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1138,'租户列表','',2,0,1224,'list','peoples','system/tenant/index','SystemTenant',0,1,1,1,'','2021-12-14 12:31:43','1','2023-04-08 08:29:08',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1139,'租户查询','system:tenant:query',3,1,1138,'','','',null,0,1,1,1,'','2021-12-14 12:31:44','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1140,'租户创建','system:tenant:create',3,2,1138,'','','',null,0,1,1,1,'','2021-12-14 12:31:44','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1141,'租户更新','system:tenant:update',3,3,1138,'','','',null,0,1,1,1,'','2021-12-14 12:31:44','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1142,'租户删除','system:tenant:delete',3,4,1138,'','','',null,0,1,1,1,'','2021-12-14 12:31:44','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1143,'租户导出','system:tenant:export',3,5,1138,'','','',null,0,1,1,1,'','2021-12-14 12:31:44','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1150,'秘钥解析','',3,6,1129,'','','',null,0,1,1,1,'1','2021-11-08 15:15:47','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1161,'退款订单','',2,3,1117,'refund','order','pay/refund/index','PayRefund',0,1,1,1,'','2021-12-25 08:29:07','1','2023-04-08 10:46:02',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1162,'退款订单查询','pay:refund:query',3,1,1161,'','','',null,0,1,1,1,'','2021-12-25 08:29:07','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1163,'退款订单创建','pay:refund:create',3,2,1161,'','','',null,0,1,1,1,'','2021-12-25 08:29:07','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1164,'退款订单更新','pay:refund:update',3,3,1161,'','','',null,0,1,1,1,'','2021-12-25 08:29:07','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1165,'退款订单删除','pay:refund:delete',3,4,1161,'','','',null,0,1,1,1,'','2021-12-25 08:29:07','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1166,'退款订单导出','pay:refund:export',3,5,1161,'','','',null,0,1,1,1,'','2021-12-25 08:29:07','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1173,'支付订单','',2,2,1117,'order','pay','pay/order/index','PayOrder',0,1,1,1,'','2021-12-25 08:49:43','1','2023-04-08 10:43:37',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1174,'支付订单查询','pay:order:query',3,1,1173,'','','',null,0,1,1,1,'','2021-12-25 08:49:43','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1175,'支付订单创建','pay:order:create',3,2,1173,'','','',null,0,1,1,1,'','2021-12-25 08:49:43','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1176,'支付订单更新','pay:order:update',3,3,1173,'','','',null,0,1,1,1,'','2021-12-25 08:49:43','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1177,'支付订单删除','pay:order:delete',3,4,1173,'','','',null,0,1,1,1,'','2021-12-25 08:49:43','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1178,'支付订单导出','pay:order:export',3,5,1173,'','','',null,0,1,1,1,'','2021-12-25 08:49:43','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1179,'商户信息','',2,0,1117,'merchant','merchant','pay/merchant/index','PayApp',0,1,1,1,'','2021-12-25 09:01:44','1','2023-04-08 10:42:32',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1180,'支付商户信息查询','pay:merchant:query',3,1,1179,'','','',null,0,1,1,1,'','2021-12-25 09:01:44','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1181,'支付商户信息创建','pay:merchant:create',3,2,1179,'','','',null,0,1,1,1,'','2021-12-25 09:01:44','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1182,'支付商户信息更新','pay:merchant:update',3,3,1179,'','','',null,0,1,1,1,'','2021-12-25 09:01:44','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1183,'支付商户信息删除','',3,4,1179,'','','',null,0,1,1,1,'','2021-12-25 09:01:44','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1184,'支付商户信息导出','pay:merchant:export',3,5,1179,'','','',null,0,1,1,1,'','2021-12-25 09:01:44','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1185,'工作流程','',1,50,0,'/bpm','tool',null,null,0,1,1,1,'1','2021-12-30 20:26:36','103','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1186,'流程管理','',1,10,1185,'manager','nested',null,null,0,1,1,1,'1','2021-12-30 20:28:30','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1187,'流程表单','',2,0,1186,'form','form','bpm/form/index','BpmForm',0,1,1,1,'','2021-12-30 12:38:22','1','2023-04-08 10:50:37',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1188,'表单查询','bpm:form:query',3,1,1187,'','','',null,0,1,1,1,'','2021-12-30 12:38:22','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1189,'表单创建','bpm:form:create',3,2,1187,'','','',null,0,1,1,1,'','2021-12-30 12:38:22','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1190,'表单更新','bpm:form:update',3,3,1187,'','','',null,0,1,1,1,'','2021-12-30 12:38:22','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1191,'表单删除','bpm:form:delete',3,4,1187,'','','',null,0,1,1,1,'','2021-12-30 12:38:22','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1192,'表单导出','bpm:form:export',3,5,1187,'','','',null,0,1,1,1,'','2021-12-30 12:38:22','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1193,'流程模型','',2,5,1186,'model','guide','bpm/model/index','BpmModel',0,1,1,1,'1','2021-12-31 23:24:58','1','2023-04-08 10:53:38',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1194,'模型查询','bpm:model:query',3,1,1193,'','','',null,0,1,1,1,'1','2022-01-03 19:01:10','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1195,'模型创建','bpm:model:create',3,2,1193,'','','',null,0,1,1,1,'1','2022-01-03 19:01:24','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1196,'模型导入','bpm:model:import',3,3,1193,'','','',null,0,1,1,1,'1','2022-01-03 19:01:35','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1197,'模型更新','bpm:model:update',3,4,1193,'','','',null,0,1,1,1,'1','2022-01-03 19:02:28','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1198,'模型删除','bpm:model:delete',3,5,1193,'','','',null,0,1,1,1,'1','2022-01-03 19:02:43','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1199,'模型发布','bpm:model:deploy',3,6,1193,'','','',null,0,1,1,1,'1','2022-01-03 19:03:24','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1200,'任务管理','',1,20,1185,'task','cascader',null,null,0,1,1,1,'1','2022-01-07 23:51:48','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1201,'我的流程','',2,0,1200,'my','people','bpm/processInstance/index','BpmProcessInstance',0,1,1,1,'','2022-01-07 15:53:44','1','2023-04-08 11:16:55',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1202,'流程实例的查询','bpm:process-instance:query',3,1,1201,'','','',null,0,1,1,1,'','2022-01-07 15:53:44','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1207,'待办任务','',2,10,1200,'todo','eye-open','bpm/task/todo/index','BpmTodoTask',0,1,1,1,'1','2022-01-08 10:33:37','1','2023-04-08 11:29:08',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1208,'已办任务','',2,20,1200,'done','eye','bpm/task/done/index','BpmDoneTask',0,1,1,1,'1','2022-01-08 10:34:13','1','2023-04-08 11:29:00',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1209,'用户分组','',2,2,1186,'user-group','people','bpm/group/index','BpmUserGroup',0,1,1,1,'','2022-01-14 02:14:20','1','2023-04-08 10:51:06',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1210,'用户组查询','bpm:user-group:query',3,1,1209,'','','',null,0,1,1,1,'','2022-01-14 02:14:20','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1211,'用户组创建','bpm:user-group:create',3,2,1209,'','','',null,0,1,1,1,'','2022-01-14 02:14:20','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1212,'用户组更新','bpm:user-group:update',3,3,1209,'','','',null,0,1,1,1,'','2022-01-14 02:14:20','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1213,'用户组删除','bpm:user-group:delete',3,4,1209,'','','',null,0,1,1,1,'','2022-01-14 02:14:20','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1215,'流程定义查询','bpm:process-definition:query',3,10,1193,'','','',null,0,1,1,1,'1','2022-01-23 00:21:43','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1216,'流程任务分配规则查询','bpm:task-assign-rule:query',3,20,1193,'','','',null,0,1,1,1,'1','2022-01-23 00:26:53','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1217,'流程任务分配规则创建','bpm:task-assign-rule:create',3,21,1193,'','','',null,0,1,1,1,'1','2022-01-23 00:28:15','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1218,'流程任务分配规则更新','bpm:task-assign-rule:update',3,22,1193,'','','',null,0,1,1,1,'1','2022-01-23 00:28:41','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1219,'流程实例的创建','bpm:process-instance:create',3,2,1201,'','','',null,0,1,1,1,'1','2022-01-23 00:36:15','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1220,'流程实例的取消','bpm:process-instance:cancel',3,3,1201,'','','',null,0,1,1,1,'1','2022-01-23 00:36:33','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1221,'流程任务的查询','bpm:task:query',3,1,1207,'','','',null,0,1,1,1,'1','2022-01-23 00:38:52','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1222,'流程任务的更新','bpm:task:update',3,2,1207,'','','',null,0,1,1,1,'1','2022-01-23 00:39:24','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1224,'租户管理','',2,0,1,'tenant','peoples',null,null,0,1,1,1,'1','2022-02-20 01:41:13','1','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1225,'租户套餐','',2,0,1224,'package','eye','system/tenantPackage/index','SystemTenantPackage',0,1,1,1,'','2022-02-19 17:44:06','1','2023-04-08 08:17:08',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1226,'租户套餐查询','system:tenant-package:query',3,1,1225,'','','',null,0,1,1,1,'','2022-02-19 17:44:06','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1227,'租户套餐创建','system:tenant-package:create',3,2,1225,'','','',null,0,1,1,1,'','2022-02-19 17:44:06','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1228,'租户套餐更新','system:tenant-package:update',3,3,1225,'','','',null,0,1,1,1,'','2022-02-19 17:44:06','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1229,'租户套餐删除','system:tenant-package:delete',3,4,1225,'','','',null,0,1,1,1,'','2022-02-19 17:44:06','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1237,'文件配置','',2,0,1243,'file-config','config','infra/fileConfig/index','InfraFileConfig',0,1,1,1,'','2022-03-15 14:35:28','1','2023-04-08 09:16:05',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1238,'文件配置查询','infra:file-config:query',3,1,1237,'','','',null,0,1,1,1,'','2022-03-15 14:35:28','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1239,'文件配置创建','infra:file-config:create',3,2,1237,'','','',null,0,1,1,1,'','2022-03-15 14:35:28','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1240,'文件配置更新','infra:file-config:update',3,3,1237,'','','',null,0,1,1,1,'','2022-03-15 14:35:28','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1241,'文件配置删除','infra:file-config:delete',3,4,1237,'','','',null,0,1,1,1,'','2022-03-15 14:35:28','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1242,'文件配置导出','infra:file-config:export',3,5,1237,'','','',null,0,1,1,1,'','2022-03-15 14:35:28','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1243,'文件管理','',2,5,2,'file','download',null,'',0,1,1,1,'1','2022-03-16 23:47:40','1','2023-02-10 13:47:46',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1247,'敏感词管理','',2,13,1,'sensitive-word','education','system/sensitiveWord/index','SystemSensitiveWord',0,1,1,1,'','2022-04-07 16:55:03','1','2023-04-08 09:00:40',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1248,'敏感词查询','system:sensitive-word:query',3,1,1247,'','','',null,0,1,1,1,'','2022-04-07 16:55:03','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1249,'敏感词创建','system:sensitive-word:create',3,2,1247,'','','',null,0,1,1,1,'','2022-04-07 16:55:03','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1250,'敏感词更新','system:sensitive-word:update',3,3,1247,'','','',null,0,1,1,1,'','2022-04-07 16:55:03','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1251,'敏感词删除','system:sensitive-word:delete',3,4,1247,'','','',null,0,1,1,1,'','2022-04-07 16:55:03','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1252,'敏感词导出','system:sensitive-word:export',3,5,1247,'','','',null,0,1,1,1,'','2022-04-07 16:55:03','','2022-04-20 17:03:10',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1254,'作者动态','',1,0,0,'https://www.iocoder.cn','people',null,null,0,1,1,1,'1','2022-04-23 01:03:15','1','2023-02-10 00:06:52',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1255,'数据源配置','',2,1,2,'data-source-config','rate','infra/dataSourceConfig/index','InfraDataSourceConfig',0,1,1,1,'','2022-04-27 14:37:32','1','2023-04-08 09:05:21',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1256,'数据源配置查询','infra:data-source-config:query',3,1,1255,'','','',null,0,1,1,1,'','2022-04-27 14:37:32','','2022-04-27 14:37:32',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1257,'数据源配置创建','infra:data-source-config:create',3,2,1255,'','','',null,0,1,1,1,'','2022-04-27 14:37:32','','2022-04-27 14:37:32',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1258,'数据源配置更新','infra:data-source-config:update',3,3,1255,'','','',null,0,1,1,1,'','2022-04-27 14:37:32','','2022-04-27 14:37:32',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1259,'数据源配置删除','infra:data-source-config:delete',3,4,1255,'','','',null,0,1,1,1,'','2022-04-27 14:37:32','','2022-04-27 14:37:32',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1260,'数据源配置导出','infra:data-source-config:export',3,5,1255,'','','',null,0,1,1,1,'','2022-04-27 14:37:32','','2022-04-27 14:37:32',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1261,'OAuth 2.0','',1,10,1,'oauth2','people',null,null,0,1,1,1,'1','2022-05-09 23:38:17','1','2022-05-11 23:51:46',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1263,'应用管理','',2,0,1261,'oauth2/application','tool','system/oauth2/client/index','SystemOAuth2Client',0,1,1,1,'','2022-05-10 16:26:33','1','2023-04-08 08:47:31',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1264,'客户端查询','system:oauth2-client:query',3,1,1263,'','','',null,0,1,1,1,'','2022-05-10 16:26:33','1','2022-05-11 00:31:06',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1265,'客户端创建','system:oauth2-client:create',3,2,1263,'','','',null,0,1,1,1,'','2022-05-10 16:26:33','1','2022-05-11 00:31:23',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1266,'客户端更新','system:oauth2-client:update',3,3,1263,'','','',null,0,1,1,1,'','2022-05-10 16:26:33','1','2022-05-11 00:31:28',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1267,'客户端删除','system:oauth2-client:delete',3,4,1263,'','','',null,0,1,1,1,'','2022-05-10 16:26:33','1','2022-05-11 00:31:33',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1281,'报表管理','',1,40,0,'/report','chart',null,null,0,1,1,1,'1','2022-07-10 20:22:15','1','2023-02-07 17:16:40',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(1282,'报表设计器','',2,1,1281,'jimu-report','example','report/jmreport/index','GoView',0,1,1,1,'1','2022-07-10 20:26:36','1','2023-04-08 10:47:59',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2000,'商品中心','',1,60,0,'/product','merchant',null,null,0,1,1,1,'','2022-07-29 15:53:53','1','2022-07-30 22:26:19',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2002,'商品分类','',2,2,2000,'category','dict','mall/product/category/index','ProductCategory',0,1,1,1,'','2022-07-29 15:53:53','1','2023-04-08 11:34:59',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2003,'分类查询','product:category:query',3,1,2002,'','','',null,0,1,1,1,'','2022-07-29 15:53:53','','2022-07-29 15:53:53',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2004,'分类创建','product:category:create',3,2,2002,'','','',null,0,1,1,1,'','2022-07-29 15:53:53','','2022-07-29 15:53:53',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2005,'分类更新','product:category:update',3,3,2002,'','','',null,0,1,1,1,'','2022-07-29 15:53:53','','2022-07-29 15:53:53',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2006,'分类删除','product:category:delete',3,4,2002,'','','',null,0,1,1,1,'','2022-07-29 15:53:53','','2022-07-29 15:53:53',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2008,'商品品牌','',2,3,2000,'brand','dashboard','mall/product/brand/index','ProductBrand',0,1,1,1,'','2022-07-30 13:52:44','1','2023-04-08 11:35:29',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2009,'品牌查询','product:brand:query',3,1,2008,'','','',null,0,1,1,1,'','2022-07-30 13:52:44','','2022-07-30 13:52:44',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2010,'品牌创建','product:brand:create',3,2,2008,'','','',null,0,1,1,1,'','2022-07-30 13:52:44','','2022-07-30 13:52:44',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2011,'品牌更新','product:brand:update',3,3,2008,'','','',null,0,1,1,1,'','2022-07-30 13:52:44','','2022-07-30 13:52:44',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2012,'品牌删除','product:brand:delete',3,4,2008,'','','',null,0,1,1,1,'','2022-07-30 13:52:44','','2022-07-30 13:52:44',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2014,'商品列表','',2,1,2000,'spu','list','mall/product/spu/index','ProductSpu',0,1,1,1,'','2022-07-30 14:22:58','1','2023-04-08 11:34:47',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2015,'商品查询','product:spu:query',3,1,2014,'','','',null,0,1,1,1,'','2022-07-30 14:22:58','','2022-07-30 14:22:58',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2016,'商品创建','product:spu:create',3,2,2014,'','','',null,0,1,1,1,'','2022-07-30 14:22:58','','2022-07-30 14:22:58',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2017,'商品更新','product:spu:update',3,3,2014,'','','',null,0,1,1,1,'','2022-07-30 14:22:58','','2022-07-30 14:22:58',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2018,'商品删除','product:spu:delete',3,4,2014,'','','',null,0,1,1,1,'','2022-07-30 14:22:58','','2022-07-30 14:22:58',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2019,'商品属性','',2,3,2000,'property','eye','mall/product/property/index','ProductProperty',0,1,1,1,'','2022-08-01 14:55:35','1','2023-04-08 11:35:15',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2020,'规格查询','product:property:query',3,1,2019,'','','',null,0,1,1,1,'','2022-08-01 14:55:35','','2022-12-12 20:26:24',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2021,'规格创建','product:property:create',3,2,2019,'','','',null,0,1,1,1,'','2022-08-01 14:55:35','','2022-12-12 20:26:30',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2022,'规格更新','product:property:update',3,3,2019,'','','',null,0,1,1,1,'','2022-08-01 14:55:35','','2022-12-12 20:26:33',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2023,'规格删除','product:property:delete',3,4,2019,'','','',null,0,1,1,1,'','2022-08-01 14:55:35','','2022-12-12 20:26:37',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2025,'Banner管理','',2,100,2000,'banner','','mall/market/banner/index',null,0,1,1,1,'','2022-08-01 14:56:14','1','2022-10-24 22:29:39',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2026,'Banner查询','market:banner:query',3,1,2025,'','','',null,0,1,1,1,'','2022-08-01 14:56:14','','2022-08-01 14:56:14',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2027,'Banner创建','market:banner:create',3,2,2025,'','','',null,0,1,1,1,'','2022-08-01 14:56:14','','2022-08-01 14:56:14',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2028,'Banner更新','market:banner:update',3,3,2025,'','','',null,0,1,1,1,'','2022-08-01 14:56:14','','2022-08-01 14:56:14',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2029,'Banner删除','market:banner:delete',3,4,2025,'','','',null,0,1,1,1,'','2022-08-01 14:56:14','','2022-08-01 14:56:14',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2030,'营销中心','',1,70,0,'/promotion','rate',null,null,0,1,1,1,'1','2022-10-31 21:25:09','1','2022-10-31 21:25:09',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2032,'优惠劵','',2,2,2030,'coupon-template','textarea','mall/promotion/couponTemplate/index','PromotionCouponTemplate',0,1,1,1,'','2022-10-31 22:27:14','1','2023-04-08 11:44:23',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2033,'优惠劵模板查询','promotion:coupon-template:query',3,1,2032,'','','',null,0,1,1,1,'','2022-10-31 22:27:14','','2022-10-31 22:27:14',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2034,'优惠劵模板创建','promotion:coupon-template:create',3,2,2032,'','','',null,0,1,1,1,'','2022-10-31 22:27:14','','2022-10-31 22:27:14',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2035,'优惠劵模板更新','promotion:coupon-template:update',3,3,2032,'','','',null,0,1,1,1,'','2022-10-31 22:27:14','','2022-10-31 22:27:14',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2036,'优惠劵模板删除','promotion:coupon-template:delete',3,4,2032,'','','',null,0,1,1,1,'','2022-10-31 22:27:14','','2022-10-31 22:27:14',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2038,'会员优惠劵','',2,2,2030,'coupon','','mall/promotion/coupon/index','PromotionCoupon',0,0,1,1,'','2022-11-03 23:21:31','1','2023-04-08 11:44:17',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2039,'优惠劵查询','promotion:coupon:query',3,1,2038,'','','',null,0,1,1,1,'','2022-11-03 23:21:31','','2022-11-03 23:21:31',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2040,'优惠劵删除','promotion:coupon:delete',3,4,2038,'','','',null,0,1,1,1,'','2022-11-03 23:21:31','','2022-11-03 23:21:31',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2041,'满减送活动','',2,10,2030,'reward-activity','radio','mall/promotion/rewardActivity/index','PromotionRewardActivity',0,1,1,1,'','2022-11-04 23:47:49','1','2023-04-08 11:45:35',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2042,'满减送活动查询','promotion:reward-activity:query',3,1,2041,'','','',null,0,1,1,1,'','2022-11-04 23:47:49','','2022-11-04 23:47:49',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2043,'满减送活动创建','promotion:reward-activity:create',3,2,2041,'','','',null,0,1,1,1,'','2022-11-04 23:47:49','','2022-11-04 23:47:49',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2044,'满减送活动更新','promotion:reward-activity:update',3,3,2041,'','','',null,0,1,1,1,'','2022-11-04 23:47:50','','2022-11-04 23:47:50',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2045,'满减送活动删除','promotion:reward-activity:delete',3,4,2041,'','','',null,0,1,1,1,'','2022-11-04 23:47:50','','2022-11-04 23:47:50',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2046,'满减送活动关闭','promotion:reward-activity:close',3,5,2041,'','','',null,0,1,1,1,'1','2022-11-05 10:42:53','1','2022-11-05 10:42:53',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2047,'限时折扣活动','',2,7,2030,'discount-activity','time','mall/promotion/discountActivity/index','PromotionDiscountActivity',0,1,1,1,'','2022-11-05 17:12:15','1','2023-04-08 11:45:44',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2048,'限时折扣活动查询','promotion:discount-activity:query',3,1,2047,'','','',null,0,1,1,1,'','2022-11-05 17:12:15','','2022-11-05 17:12:15',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2049,'限时折扣活动创建','promotion:discount-activity:create',3,2,2047,'','','',null,0,1,1,1,'','2022-11-05 17:12:15','','2022-11-05 17:12:15',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2050,'限时折扣活动更新','promotion:discount-activity:update',3,3,2047,'','','',null,0,1,1,1,'','2022-11-05 17:12:16','','2022-11-05 17:12:16',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2051,'限时折扣活动删除','promotion:discount-activity:delete',3,4,2047,'','','',null,0,1,1,1,'','2022-11-05 17:12:16','','2022-11-05 17:12:16',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2052,'限时折扣活动关闭','promotion:discount-activity:close',3,5,2047,'','','',null,0,1,1,1,'','2022-11-05 17:12:16','','2022-11-05 17:12:16',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2059,'秒杀活动管理','',2,0,2030,'seckill-activity','time-range','mall/promotion/seckill/seckillActivity/index','PromotionSeckillActivity',0,1,1,1,'','2022-11-06 22:24:49','1','2023-04-08 11:46:02',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2060,'秒杀活动查询','promotion:seckill-activity:query',3,1,2059,'','','',null,0,1,1,1,'','2022-11-06 22:24:49','','2022-11-06 22:24:49',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2061,'秒杀活动创建','promotion:seckill-activity:create',3,2,2059,'','','',null,0,1,1,1,'','2022-11-06 22:24:49','','2022-11-06 22:24:49',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2062,'秒杀活动更新','promotion:seckill-activity:update',3,3,2059,'','','',null,0,1,1,1,'','2022-11-06 22:24:49','','2022-11-06 22:24:49',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2063,'秒杀活动删除','promotion:seckill-activity:delete',3,4,2059,'','','',null,0,1,1,1,'','2022-11-06 22:24:49','','2022-11-06 22:24:49',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2064,'秒杀活动导出','promotion:seckill-activity:export',3,5,2059,'','','',null,0,1,1,1,'','2022-11-06 22:24:49','','2022-11-06 22:24:49',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2066,'秒杀时段管理','',2,0,2030,'seckill-time','','mall/promotion/seckill/seckillTime/index','PromotionSeckillTime',0,0,1,1,'','2022-11-15 19:46:50','1','2023-04-08 11:46:17',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2067,'秒杀时段查询','promotion:seckill-time:query',3,1,2066,'','','',null,0,1,1,1,'','2022-11-15 19:46:51','','2022-11-15 19:46:51',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2068,'秒杀时段创建','promotion:seckill-time:create',3,2,2066,'','','',null,0,1,1,1,'','2022-11-15 19:46:51','','2022-11-15 19:46:51',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2069,'秒杀时段更新','promotion:seckill-time:update',3,3,2066,'','','',null,0,1,1,1,'','2022-11-15 19:46:51','','2022-11-15 19:46:51',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2070,'秒杀时段删除','promotion:seckill-time:delete',3,4,2066,'','','',null,0,1,1,1,'','2022-11-15 19:46:51','','2022-11-15 19:46:51',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2071,'秒杀时段导出','promotion:seckill-time:export',3,5,2066,'','','',null,0,1,1,1,'','2022-11-15 19:46:51','','2022-11-15 19:46:51',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2072,'订单中心','',1,65,0,'/trade','order',null,null,0,1,1,1,'1','2022-11-19 18:57:19','1','2022-12-10 16:32:57',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2073,'售后退款','',2,1,2072,'trade/after-sale','education','mall/trade/afterSale/index','TradeAfterSale',0,1,1,1,'','2022-11-19 20:15:32','1','2023-04-08 11:43:19',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2074,'售后查询','trade:after-sale:query',3,1,2073,'','','',null,0,1,1,1,'','2022-11-19 20:15:33','1','2022-12-10 21:04:29',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2075,'秒杀活动关闭','promotion:sekill-activity:close',3,6,2059,'','','',null,0,1,1,1,'1','2022-11-28 20:20:15','1','2022-11-28 20:20:15',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2076,'订单列表','',2,0,2072,'trade/order','list','mall/trade/order/index','TradeOrder',0,1,1,1,'1','2022-12-10 21:05:44','1','2023-04-08 11:42:23',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2077,'物流公司管理管理','',2,0,2072,'express-company','','mall/trade/expressCompany/index',null,0,1,1,1,'','2022-12-20 23:27:55','1','2022-12-20 23:36:20',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2078,'物流公司管理查询','trade:express-company:query',3,1,2077,'','','',null,0,1,1,1,'','2022-12-20 23:27:55','','2022-12-20 23:27:55',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2079,'物流公司管理创建','trade:express-company:create',3,2,2077,'','','',null,0,1,1,1,'','2022-12-20 23:27:55','','2022-12-20 23:27:55',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2080,'物流公司管理更新','trade:express-company:update',3,3,2077,'','','',null,0,1,1,1,'','2022-12-20 23:27:55','','2022-12-20 23:27:55',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2081,'物流公司管理删除','trade:express-company:delete',3,4,2077,'','','',null,0,1,1,1,'','2022-12-20 23:27:55','','2022-12-20 23:27:55',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2082,'物流公司管理导出','trade:express-company:export',3,5,2077,'','','',null,0,1,1,1,'','2022-12-20 23:27:55','','2022-12-20 23:27:55',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2083,'地区管理','',2,14,1,'area','row','system/area/index','SystemArea',0,1,1,1,'1','2022-12-23 17:35:05','1','2023-04-08 09:01:37',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2084,'公众号管理','',1,100,0,'/mp','wechat',null,null,0,1,1,1,'1','2023-01-01 20:11:04','1','2023-01-15 11:28:57',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2085,'账号管理','',2,1,2084,'account','phone','mp/account/index','MpAccount',0,1,1,1,'1','2023-01-01 20:13:31','1','2023-02-09 23:56:39',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2086,'新增账号','mp:account:create',3,1,2085,'','','',null,0,1,1,1,'1','2023-01-01 20:21:40','1','2023-01-07 17:32:53',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2087,'修改账号','mp:account:update',3,2,2085,'','','',null,0,1,1,1,'1','2023-01-07 17:32:46','1','2023-01-07 17:32:46',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2088,'查询账号','mp:account:query',3,0,2085,'','','',null,0,1,1,1,'1','2023-01-07 17:33:07','1','2023-01-07 17:33:07',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2089,'删除账号','mp:account:delete',3,3,2085,'','','',null,0,1,1,1,'1','2023-01-07 17:33:21','1','2023-01-07 17:33:21',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2090,'生成二维码','mp:account:qr-code',3,4,2085,'','','',null,0,1,1,1,'1','2023-01-07 17:33:58','1','2023-01-07 17:33:58',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2091,'清空 API 配额','mp:account:clear-quota',3,5,2085,'','','',null,0,1,1,1,'1','2023-01-07 18:20:32','1','2023-01-07 18:20:59',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2092,'数据统计','mp:statistics:query',2,2,2084,'statistics','chart','mp/statistics/index','MpStatistics',0,1,1,1,'1','2023-01-07 20:17:36','1','2023-02-09 23:58:34',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2093,'标签管理','',2,3,2084,'tag','rate','mp/tag/index','MpTag',0,1,1,1,'1','2023-01-08 11:37:32','1','2023-02-09 23:58:47',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2094,'查询标签','mp:tag:query',3,0,2093,'','','',null,0,1,1,1,'1','2023-01-08 11:59:03','1','2023-01-08 11:59:03',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2095,'新增标签','mp:tag:create',3,1,2093,'','','',null,0,1,1,1,'1','2023-01-08 11:59:23','1','2023-01-08 11:59:23',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2096,'修改标签','mp:tag:update',3,2,2093,'','','',null,0,1,1,1,'1','2023-01-08 11:59:41','1','2023-01-08 11:59:41',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2097,'删除标签','mp:tag:delete',3,3,2093,'','','',null,0,1,1,1,'1','2023-01-08 12:00:04','1','2023-01-08 12:00:13',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2098,'同步标签','mp:tag:sync',3,4,2093,'','','',null,0,1,1,1,'1','2023-01-08 12:00:29','1','2023-01-08 12:00:29',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2099,'粉丝管理','',2,4,2084,'user','people','mp/user/index','MpUser',0,1,1,1,'1','2023-01-08 16:51:20','1','2023-02-09 23:58:21',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2100,'查询粉丝','mp:user:query',3,0,2099,'','','',null,0,1,1,1,'1','2023-01-08 17:16:59','1','2023-01-08 17:17:23',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2101,'修改粉丝','mp:user:update',3,1,2099,'','','',null,0,1,1,1,'1','2023-01-08 17:17:11','1','2023-01-08 17:17:11',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2102,'同步粉丝','mp:user:sync',3,2,2099,'','','',null,0,1,1,1,'1','2023-01-08 17:17:40','1','2023-01-08 17:17:40',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2103,'消息管理','',2,5,2084,'message','email','mp/message/index','MpMessage',0,1,1,1,'1','2023-01-08 18:44:19','1','2023-02-09 23:58:02',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2104,'图文发表记录','',2,10,2084,'free-publish','education','mp/freePublish/index','MpFreePublish',0,1,1,1,'1','2023-01-13 00:30:50','1','2023-02-09 23:57:22',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2105,'查询发布列表','mp:free-publish:query',3,1,2104,'','','',null,0,1,1,1,'1','2023-01-13 07:19:17','1','2023-01-13 07:19:17',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2106,'发布草稿','mp:free-publish:submit',3,2,2104,'','','',null,0,1,1,1,'1','2023-01-13 07:19:46','1','2023-01-13 07:19:46',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2107,'删除发布记录','mp:free-publish:delete',3,3,2104,'','','',null,0,1,1,1,'1','2023-01-13 07:20:01','1','2023-01-13 07:20:01',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2108,'图文草稿箱','',2,9,2084,'draft','edit','mp/draft/index','MpDraft',0,1,1,1,'1','2023-01-13 07:40:21','1','2023-02-09 23:56:58',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2109,'新建草稿','mp:draft:create',3,1,2108,'','','',null,0,1,1,1,'1','2023-01-13 23:15:30','1','2023-01-13 23:15:44',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2110,'修改草稿','mp:draft:update',3,2,2108,'','','',null,0,1,1,1,'1','2023-01-14 10:08:47','1','2023-01-14 10:08:47',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2111,'查询草稿','mp:draft:query',3,0,2108,'','','',null,0,1,1,1,'1','2023-01-14 10:09:01','1','2023-01-14 10:09:01',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2112,'删除草稿','mp:draft:delete',3,3,2108,'','','',null,0,1,1,1,'1','2023-01-14 10:09:19','1','2023-01-14 10:09:19',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2113,'素材管理','',2,8,2084,'material','skill','mp/material/index','MpMaterial',0,1,1,1,'1','2023-01-14 14:12:07','1','2023-02-09 23:57:36',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2114,'上传临时素材','mp:material:upload-temporary',3,1,2113,'','','',null,0,1,1,1,'1','2023-01-14 15:33:55','1','2023-01-14 15:33:55',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2115,'上传永久素材','mp:material:upload-permanent',3,2,2113,'','','',null,0,1,1,1,'1','2023-01-14 15:34:14','1','2023-01-14 15:34:14',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2116,'删除素材','mp:material:delete',3,3,2113,'','','',null,0,1,1,1,'1','2023-01-14 15:35:37','1','2023-01-14 15:35:37',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2117,'上传图文图片','mp:material:upload-news-image',3,4,2113,'','','',null,0,1,1,1,'1','2023-01-14 15:36:31','1','2023-01-14 15:36:31',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2118,'查询素材','mp:material:query',3,5,2113,'','','',null,0,1,1,1,'1','2023-01-14 15:39:22','1','2023-01-14 15:39:22',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2119,'菜单管理','',2,6,2084,'menu','button','mp/menu/index','MpMenu',0,1,1,1,'1','2023-01-14 17:43:54','1','2023-02-09 23:57:50',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2120,'自动回复','',2,7,2084,'auto-reply','eye','mp/autoReply/index','MpAutoReply',0,1,1,1,'1','2023-01-15 22:13:09','1','2023-02-09 23:56:28',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2121,'查询回复','mp:auto-reply:query',3,0,2120,'','','',null,0,1,1,1,'1','2023-01-16 22:28:41','1','2023-01-16 22:28:41',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2122,'新增回复','mp:auto-reply:create',3,1,2120,'','','',null,0,1,1,1,'1','2023-01-16 22:28:54','1','2023-01-16 22:28:54',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2123,'修改回复','mp:auto-reply:update',3,2,2120,'','','',null,0,1,1,1,'1','2023-01-16 22:29:05','1','2023-01-16 22:29:05',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2124,'删除回复','mp:auto-reply:delete',3,3,2120,'','','',null,0,1,1,1,'1','2023-01-16 22:29:34','1','2023-01-16 22:29:34',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2125,'查询菜单','mp:menu:query',3,0,2119,'','','',null,0,1,1,1,'1','2023-01-17 23:05:41','1','2023-01-17 23:05:41',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2126,'保存菜单','mp:menu:save',3,1,2119,'','','',null,0,1,1,1,'1','2023-01-17 23:06:01','1','2023-01-17 23:06:01',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2127,'删除菜单','mp:menu:delete',3,2,2119,'','','',null,0,1,1,1,'1','2023-01-17 23:06:16','1','2023-01-17 23:06:16',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2128,'查询消息','mp:message:query',3,0,2103,'','','',null,0,1,1,1,'1','2023-01-17 23:07:14','1','2023-01-17 23:07:14',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2129,'发送消息','mp:message:send',3,1,2103,'','','',null,0,1,1,1,'1','2023-01-17 23:07:26','1','2023-01-17 23:07:26',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2130,'邮箱管理','',2,11,1,'mail','email',null,null,0,1,1,1,'1','2023-01-25 17:27:44','1','2023-01-25 17:27:44',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2131,'邮箱账号','',2,0,2130,'mail-account','user','system/mail/account/index','SystemMailAccount',0,1,1,1,'','2023-01-25 09:33:48','1','2023-04-08 08:53:43',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2132,'账号查询','system:mail-account:query',3,1,2131,'','','',null,0,1,1,1,'','2023-01-25 09:33:48','','2023-01-25 09:33:48',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2133,'账号创建','system:mail-account:create',3,2,2131,'','','',null,0,1,1,1,'','2023-01-25 09:33:48','','2023-01-25 09:33:48',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2134,'账号更新','system:mail-account:update',3,3,2131,'','','',null,0,1,1,1,'','2023-01-25 09:33:48','','2023-01-25 09:33:48',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2135,'账号删除','system:mail-account:delete',3,4,2131,'','','',null,0,1,1,1,'','2023-01-25 09:33:48','','2023-01-25 09:33:48',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2136,'邮件模版','',2,0,2130,'mail-template','education','system/mail/template/index','SystemMailTemplate',0,1,1,1,'','2023-01-25 12:05:31','1','2023-04-08 08:53:34',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2137,'模版查询','system:mail-template:query',3,1,2136,'','','',null,0,1,1,1,'','2023-01-25 12:05:31','','2023-01-25 12:05:31',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2138,'模版创建','system:mail-template:create',3,2,2136,'','','',null,0,1,1,1,'','2023-01-25 12:05:31','','2023-01-25 12:05:31',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2139,'模版更新','system:mail-template:update',3,3,2136,'','','',null,0,1,1,1,'','2023-01-25 12:05:31','','2023-01-25 12:05:31',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2140,'模版删除','system:mail-template:delete',3,4,2136,'','','',null,0,1,1,1,'','2023-01-25 12:05:31','','2023-01-25 12:05:31',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2141,'邮件记录','',2,0,2130,'mail-log','log','system/mail/log/index','SystemMailLog',0,1,1,1,'','2023-01-26 02:16:50','1','2023-04-08 08:53:49',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2142,'日志查询','system:mail-log:query',3,1,2141,'','','',null,0,1,1,1,'','2023-01-26 02:16:50','','2023-01-26 02:16:50',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2143,'发送测试邮件','system:mail-template:send-mail',3,5,2136,'','','',null,0,1,1,1,'1','2023-01-26 23:29:15','1','2023-01-26 23:29:15',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2144,'站内信管理','',1,11,1,'notify','message',null,null,0,1,1,1,'1','2023-01-28 10:25:18','1','2023-01-28 10:25:46',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2145,'模板管理','',2,0,2144,'notify-template','education','system/notify/template/index','SystemNotifyTemplate',0,1,1,1,'','2023-01-28 02:26:42','1','2023-04-08 08:54:39',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2146,'站内信模板查询','system:notify-template:query',3,1,2145,'','','',null,0,1,1,1,'','2023-01-28 02:26:42','','2023-01-28 02:26:42',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2147,'站内信模板创建','system:notify-template:create',3,2,2145,'','','',null,0,1,1,1,'','2023-01-28 02:26:42','','2023-01-28 02:26:42',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2148,'站内信模板更新','system:notify-template:update',3,3,2145,'','','',null,0,1,1,1,'','2023-01-28 02:26:42','','2023-01-28 02:26:42',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2149,'站内信模板删除','system:notify-template:delete',3,4,2145,'','','',null,0,1,1,1,'','2023-01-28 02:26:42','','2023-01-28 02:26:42',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2150,'发送测试站内信','system:notify-template:send-notify',3,5,2145,'','','',null,0,1,1,1,'1','2023-01-28 10:54:43','1','2023-01-28 10:54:43',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2151,'消息记录','',2,0,2144,'notify-message','edit','system/notify/message/index','SystemNotifyMessage',0,1,1,1,'','2023-01-28 04:28:22','1','2023-04-08 08:54:11',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2152,'站内信消息查询','system:notify-message:query',3,1,2151,'','','',null,0,1,1,1,'','2023-01-28 04:28:22','','2023-01-28 04:28:22',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2153,'大屏设计器','',2,2,1281,'go-view','dashboard','report/goview/index','JimuReport',0,1,1,1,'1','2023-02-07 00:03:19','1','2023-04-08 10:48:15',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2154,'创建项目','report:go-view-project:create',3,1,2153,'','','',null,0,1,1,1,'1','2023-02-07 19:25:14','1','2023-02-07 19:25:14',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2155,'更新项目','report:go-view-project:delete',3,2,2153,'','','',null,0,1,1,1,'1','2023-02-07 19:25:34','1','2023-02-07 19:25:34',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2156,'查询项目','report:go-view-project:query',3,0,2153,'','','',null,0,1,1,1,'1','2023-02-07 19:25:53','1','2023-02-07 19:25:53',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2157,'使用 SQL 查询数据','report:go-view-data:get-by-sql',3,3,2153,'','','',null,0,1,1,1,'1','2023-02-07 19:26:15','1','2023-02-07 19:26:15',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2158,'使用 HTTP 查询数据','report:go-view-data:get-by-http',3,4,2153,'','','',null,0,1,1,1,'1','2023-02-07 19:26:35','1','2023-02-07 19:26:35',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2159,'Boot 开发文档','',1,1,0,'https://doc.iocoder.cn/','education',null,null,0,1,1,1,'1','2023-02-10 22:46:28','1','2023-02-10 22:46:28',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2160,'Cloud 开发文档','',1,2,0,'https://cloud.iocoder.cn','documentation',null,null,0,1,1,1,'1','2023-02-10 22:47:07','1','2023-02-10 22:47:07',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_MENU"("ID","NAME","PERMISSION","TYPE","SORT","PARENT_ID","PATH","ICON","COMPONENT","COMPONENT_NAME","STATUS","VISIBLE","KEEP_ALIVE","ALWAYS_SHOW","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2161,'接入示例','',2,99,1117,'demo-order','drag','pay/demo/index',null,0,1,1,1,'','2023-02-11 14:21:42','1','2023-02-11 22:26:35',0);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_MENU" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_NOTICE" ON;
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_NOTICE"("ID","TITLE","CONTENT","TYPE","STATUS","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1,'芋道的公众','<p>新版本内容133</p>',1,0,'admin','2021-01-05 17:03:48','1','2022-05-04 21:00:20',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_NOTICE"("ID","TITLE","CONTENT","TYPE","STATUS","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2,'维护通知:2018-07-01 若依系统凌晨维护','<p><img src="http://test.yudao.iocoder.cn/b7cb3cf49b4b3258bf7309a09dd2f4e5.jpg">维护内容</p>',2,1,'admin','2021-01-05 17:03:48','1','2022-05-11 12:34:24',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_NOTICE"("ID","TITLE","CONTENT","TYPE","STATUS","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(4,'我是测试标题','<p>哈哈哈哈123</p>',1,0,'110','2022-02-22 01:01:25','110','2022-02-22 01:01:46',0,121);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_NOTICE" OFF;
+ALTER TABLE "RUOYI_VUE_PRO"."BPM_FORM" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."BPM_OA_LEAVE" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."BPM_TASK_ASSIGN_RULE" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."BPM_TASK_EXT" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."BPM_USER_GROUP" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."INFRA_CONFIG" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."INFRA_DATA_SOURCE_CONFIG" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."INFRA_FILE" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."INFRA_FILE_CONTENT" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."INFRA_JOB" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."INFRA_JOB_LOG" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."INFRA_TEST_DEMO" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."MEMBER_USER" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."PAY_APP" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."PAY_CHANNEL" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."PAY_DEMO_ORDER" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."PAY_MERCHANT" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."PAY_NOTIFY_LOG" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."PAY_ORDER" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."PAY_ORDER_EXTENSION" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."PAY_REFUND" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."QRTZ_BLOB_TRIGGERS" ADD CONSTRAINT  PRIMARY KEY("SCHED_NAME","TRIGGER_NAME","TRIGGER_GROUP") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."QRTZ_CALENDARS" ADD CONSTRAINT  PRIMARY KEY("SCHED_NAME","CALENDAR_NAME") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."QRTZ_CRON_TRIGGERS" ADD CONSTRAINT  PRIMARY KEY("SCHED_NAME","TRIGGER_NAME","TRIGGER_GROUP") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."QRTZ_FIRED_TRIGGERS" ADD CONSTRAINT  PRIMARY KEY("SCHED_NAME","ENTRY_ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."QRTZ_JOB_DETAILS" ADD CONSTRAINT  PRIMARY KEY("SCHED_NAME","JOB_NAME","JOB_GROUP") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."QRTZ_LOCKS" ADD CONSTRAINT  PRIMARY KEY("SCHED_NAME","LOCK_NAME") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."QRTZ_PAUSED_TRIGGER_GRPS" ADD CONSTRAINT  PRIMARY KEY("SCHED_NAME","TRIGGER_GROUP") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."QRTZ_SCHEDULER_STATE" ADD CONSTRAINT  PRIMARY KEY("SCHED_NAME","INSTANCE_NAME") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."QRTZ_SIMPLE_TRIGGERS" ADD CONSTRAINT  PRIMARY KEY("SCHED_NAME","TRIGGER_NAME","TRIGGER_GROUP") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."QRTZ_SIMPROP_TRIGGERS" ADD CONSTRAINT  PRIMARY KEY("SCHED_NAME","TRIGGER_NAME","TRIGGER_GROUP") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."QRTZ_TRIGGERS" ADD CONSTRAINT  PRIMARY KEY("SCHED_NAME","TRIGGER_NAME","TRIGGER_GROUP") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_DEPT" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_DICT_TYPE" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_ERROR_CODE" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_LOGIN_LOG" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_MAIL_ACCOUNT" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_MAIL_TEMPLATE" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_MENU" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_NOTICE" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+CREATE INDEX "SCHED_NAME"
+ON "RUOYI_VUE_PRO"."QRTZ_BLOB_TRIGGERS"("SCHED_NAME","TRIGGER_NAME","TRIGGER_GROUP");
+
+CREATE INDEX "IDX_QRTZ_FT_INST_JOB_REQ_RCVRY"
+ON "RUOYI_VUE_PRO"."QRTZ_FIRED_TRIGGERS"("SCHED_NAME","INSTANCE_NAME","REQUESTS_RECOVERY");
+
+CREATE INDEX "IDX_QRTZ_FT_JG"
+ON "RUOYI_VUE_PRO"."QRTZ_FIRED_TRIGGERS"("SCHED_NAME","JOB_GROUP");
+
+CREATE INDEX "IDX_QRTZ_FT_J_G"
+ON "RUOYI_VUE_PRO"."QRTZ_FIRED_TRIGGERS"("SCHED_NAME","JOB_NAME","JOB_GROUP");
+
+CREATE INDEX "IDX_QRTZ_FT_TG"
+ON "RUOYI_VUE_PRO"."QRTZ_FIRED_TRIGGERS"("SCHED_NAME","TRIGGER_GROUP");
+
+CREATE INDEX "IDX_QRTZ_FT_TRIG_INST_NAME"
+ON "RUOYI_VUE_PRO"."QRTZ_FIRED_TRIGGERS"("SCHED_NAME","INSTANCE_NAME");
+
+CREATE INDEX "IDX_QRTZ_FT_T_G"
+ON "RUOYI_VUE_PRO"."QRTZ_FIRED_TRIGGERS"("SCHED_NAME","TRIGGER_NAME","TRIGGER_GROUP");
+
+CREATE INDEX "IDX_QRTZ_J_GRP"
+ON "RUOYI_VUE_PRO"."QRTZ_JOB_DETAILS"("SCHED_NAME","JOB_GROUP");
+
+CREATE INDEX "IDX_QRTZ_J_REQ_RECOVERY"
+ON "RUOYI_VUE_PRO"."QRTZ_JOB_DETAILS"("SCHED_NAME","REQUESTS_RECOVERY");
+
+CREATE INDEX "IDX_QRTZ_T_C"
+ON "RUOYI_VUE_PRO"."QRTZ_TRIGGERS"("SCHED_NAME","CALENDAR_NAME");
+
+CREATE INDEX "IDX_QRTZ_T_G"
+ON "RUOYI_VUE_PRO"."QRTZ_TRIGGERS"("SCHED_NAME","TRIGGER_GROUP");
+
+CREATE INDEX "IDX_QRTZ_T_J"
+ON "RUOYI_VUE_PRO"."QRTZ_TRIGGERS"("SCHED_NAME","JOB_NAME","JOB_GROUP");
+
+CREATE INDEX "IDX_QRTZ_T_JG"
+ON "RUOYI_VUE_PRO"."QRTZ_TRIGGERS"("SCHED_NAME","JOB_GROUP");
+
+CREATE INDEX "IDX_QRTZ_T_NEXT_FIRE_TIME"
+ON "RUOYI_VUE_PRO"."QRTZ_TRIGGERS"("SCHED_NAME","NEXT_FIRE_TIME");
+
+CREATE INDEX "IDX_QRTZ_T_NFT_MISFIRE"
+ON "RUOYI_VUE_PRO"."QRTZ_TRIGGERS"("SCHED_NAME","MISFIRE_INSTR","NEXT_FIRE_TIME");
+
+CREATE INDEX "IDX_QRTZ_T_NFT_ST"
+ON "RUOYI_VUE_PRO"."QRTZ_TRIGGERS"("SCHED_NAME","TRIGGER_STATE","NEXT_FIRE_TIME");
+
+CREATE INDEX "IDX_QRTZ_T_NFT_ST_MISFIRE"
+ON "RUOYI_VUE_PRO"."QRTZ_TRIGGERS"("SCHED_NAME","MISFIRE_INSTR","NEXT_FIRE_TIME","TRIGGER_STATE");
+
+CREATE INDEX "IDX_QRTZ_T_NFT_ST_MISFIRE_GRP"
+ON "RUOYI_VUE_PRO"."QRTZ_TRIGGERS"("SCHED_NAME","MISFIRE_INSTR","NEXT_FIRE_TIME","TRIGGER_GROUP","TRIGGER_STATE");
+
+CREATE INDEX "IDX_QRTZ_T_N_G_STATE"
+ON "RUOYI_VUE_PRO"."QRTZ_TRIGGERS"("SCHED_NAME","TRIGGER_GROUP","TRIGGER_STATE");
+
+CREATE INDEX "IDX_QRTZ_T_N_STATE"
+ON "RUOYI_VUE_PRO"."QRTZ_TRIGGERS"("SCHED_NAME","TRIGGER_NAME","TRIGGER_GROUP","TRIGGER_STATE");
+
+CREATE INDEX "IDX_QRTZ_T_STATE"
+ON "RUOYI_VUE_PRO"."QRTZ_TRIGGERS"("SCHED_NAME","TRIGGER_STATE");
+
+ALTER TABLE "RUOYI_VUE_PRO"."PAY_DEMO_ORDER" ADD CHECK("USER_ID" >= 0) ENABLE ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."MEMBER_USER" ADD CONSTRAINT "UK_MOBILE" UNIQUE("MOBILE") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_DICT_TYPE" ADD CONSTRAINT "DICT_TYPE" UNIQUE("TYPE") ;
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."BPM_FORM" IS '工作流的表单定义';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_FORM"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_FORM"."NAME" IS '表单名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_FORM"."STATUS" IS '开启状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_FORM"."CONF" IS '表单的配置';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_FORM"."FIELDS" IS '表单项的数组';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_FORM"."REMARK" IS '备注';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_FORM"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_FORM"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_FORM"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_FORM"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_FORM"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_FORM"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."BPM_OA_LEAVE" IS 'OA 请假申请表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_OA_LEAVE"."ID" IS '请假表单主键';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_OA_LEAVE"."USER_ID" IS '申请人的用户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_OA_LEAVE"."TYPE" IS '请假类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_OA_LEAVE"."REASON" IS '请假原因';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_OA_LEAVE"."START_TIME" IS '开始时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_OA_LEAVE"."END_TIME" IS '结束时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_OA_LEAVE"."DAY" IS '请假天数';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_OA_LEAVE"."RESULT" IS '请假结果';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_OA_LEAVE"."PROCESS_INSTANCE_ID" IS '流程实例的编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_OA_LEAVE"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_OA_LEAVE"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_OA_LEAVE"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_OA_LEAVE"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_OA_LEAVE"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_OA_LEAVE"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT" IS 'Bpm 流程定义的拓展表
+';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT"."PROCESS_DEFINITION_ID" IS '流程定义的编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT"."MODEL_ID" IS '流程模型的编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT"."DESCRIPTION" IS '描述';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT"."FORM_TYPE" IS '表单类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT"."FORM_ID" IS '表单编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT"."FORM_CONF" IS '表单的配置';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT"."FORM_FIELDS" IS '表单项的数组';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT"."FORM_CUSTOM_CREATE_PATH" IS '自定义表单的提交路径';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT"."FORM_CUSTOM_VIEW_PATH" IS '自定义表单的查看路径';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_DEFINITION_EXT"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT" IS '工作流的流程实例的拓展';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT"."START_USER_ID" IS '发起流程的用户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT"."NAME" IS '流程实例的名字';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT"."PROCESS_INSTANCE_ID" IS '流程实例的编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT"."PROCESS_DEFINITION_ID" IS '流程定义的编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT"."CATEGORY" IS '流程分类';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT"."STATUS" IS '流程实例的状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT"."RESULT" IS '流程实例的结果';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT"."END_TIME" IS '结束时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT"."FORM_VARIABLES" IS '表单值';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_PROCESS_INSTANCE_EXT"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."BPM_TASK_ASSIGN_RULE" IS 'Bpm 任务规则表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_ASSIGN_RULE"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_ASSIGN_RULE"."MODEL_ID" IS '流程模型的编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_ASSIGN_RULE"."PROCESS_DEFINITION_ID" IS '流程定义的编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_ASSIGN_RULE"."TASK_DEFINITION_KEY" IS '流程任务定义的 key';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_ASSIGN_RULE"."TYPE" IS '规则类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_ASSIGN_RULE"."OPTIONS" IS '规则值,JSON 数组';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_ASSIGN_RULE"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_ASSIGN_RULE"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_ASSIGN_RULE"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_ASSIGN_RULE"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_ASSIGN_RULE"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_ASSIGN_RULE"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."BPM_TASK_EXT" IS '工作流的流程任务的拓展表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_EXT"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_EXT"."ASSIGNEE_USER_ID" IS '任务的审批人';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_EXT"."NAME" IS '任务的名字';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_EXT"."TASK_ID" IS '任务的编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_EXT"."RESULT" IS '任务的结果';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_EXT"."REASON" IS '审批建议';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_EXT"."END_TIME" IS '任务的结束时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_EXT"."PROCESS_INSTANCE_ID" IS '流程实例的编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_EXT"."PROCESS_DEFINITION_ID" IS '流程定义的编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_EXT"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_EXT"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_EXT"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_EXT"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_EXT"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_TASK_EXT"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."BPM_USER_GROUP" IS '用户组';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_USER_GROUP"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_USER_GROUP"."NAME" IS '组名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_USER_GROUP"."DESCRIPTION" IS '描述';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_USER_GROUP"."MEMBER_USER_IDS" IS '成员编号数组';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_USER_GROUP"."STATUS" IS '状态(0正常 1停用)';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_USER_GROUP"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_USER_GROUP"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_USER_GROUP"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_USER_GROUP"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_USER_GROUP"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."BPM_USER_GROUP"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG" IS 'API 访问日志表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."ID" IS '日志主键';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."TRACE_ID" IS '链路追踪编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."USER_ID" IS '用户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."USER_TYPE" IS '用户类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."APPLICATION_NAME" IS '应用名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."REQUEST_METHOD" IS '请求方法名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."REQUEST_URL" IS '请求地址';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."REQUEST_PARAMS" IS '请求参数';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."USER_IP" IS '用户 IP';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."USER_AGENT" IS '浏览器 UA';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."BEGIN_TIME" IS '开始请求时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."END_TIME" IS '结束请求时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."DURATION" IS '执行时长';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."RESULT_CODE" IS '结果码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."RESULT_MSG" IS '结果提示';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ACCESS_LOG"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG" IS '系统异常日志';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."TRACE_ID" IS '链路追踪编号
+     *
+     * 一般来说,通过链路追踪编号,可以将访问日志,错误日志,链路追踪日志,logger 打印日志等,结合在一起,从而进行排错。';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."USER_ID" IS '用户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."USER_TYPE" IS '用户类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."APPLICATION_NAME" IS '应用名
+     *
+     * 目前读取 spring.application.name';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."REQUEST_METHOD" IS '请求方法名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."REQUEST_URL" IS '请求地址';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."REQUEST_PARAMS" IS '请求参数';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."USER_IP" IS '用户 IP';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."USER_AGENT" IS '浏览器 UA';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."EXCEPTION_TIME" IS '异常发生时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."EXCEPTION_NAME" IS '异常名
+     *
+     * {@link Throwable#getClass()} 的类全名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."EXCEPTION_MESSAGE" IS '异常导致的消息
+     *
+     * {@link cn.iocoder.common.framework.util.ExceptionUtil#getMessage(Throwable)}';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."EXCEPTION_ROOT_CAUSE_MESSAGE" IS '异常导致的根消息
+     *
+     * {@link cn.iocoder.common.framework.util.ExceptionUtil#getRootCauseMessage(Throwable)}';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."EXCEPTION_STACK_TRACE" IS '异常的栈轨迹
+     *
+     * {@link cn.iocoder.common.framework.util.ExceptionUtil#getServiceException(Exception)}';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."EXCEPTION_CLASS_NAME" IS '异常发生的类全名
+     *
+     * {@link StackTraceElement#getClassName()}';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."EXCEPTION_FILE_NAME" IS '异常发生的类文件
+     *
+     * {@link StackTraceElement#getFileName()}';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."EXCEPTION_METHOD_NAME" IS '异常发生的方法名
+     *
+     * {@link StackTraceElement#getMethodName()}';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."EXCEPTION_LINE_NUMBER" IS '异常发生的方法所在行
+     *
+     * {@link StackTraceElement#getLineNumber()}';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."PROCESS_STATUS" IS '处理状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."PROCESS_TIME" IS '处理时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."PROCESS_USER_ID" IS '处理用户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_API_ERROR_LOG"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN" IS '代码生成表字段定义';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."TABLE_ID" IS '表编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."COLUMN_NAME" IS '字段名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."DATA_TYPE" IS '字段类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."COLUMN_COMMENT" IS '字段描述';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."NULLABLE" IS '是否允许为空';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."PRIMARY_KEY" IS '是否主键';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."AUTO_INCREMENT" IS '是否自增';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."ORDINAL_POSITION" IS '排序';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."JAVA_TYPE" IS 'Java 属性类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."JAVA_FIELD" IS 'Java 属性名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."DICT_TYPE" IS '字典类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."EXAMPLE" IS '数据示例';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."CREATE_OPERATION" IS '是否为 Create 创建操作的字段';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."UPDATE_OPERATION" IS '是否为 Update 更新操作的字段';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."LIST_OPERATION" IS '是否为 List 查询操作的字段';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."LIST_OPERATION_CONDITION" IS 'List 查询操作的条件类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."LIST_OPERATION_RESULT" IS '是否为 List 查询操作的返回字段';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."HTML_TYPE" IS '显示类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_COLUMN"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE" IS '代码生成表定义';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE"."DATA_SOURCE_CONFIG_ID" IS '数据源配置的编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE"."SCENE" IS '生成场景';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE"."TABLE_NAME" IS '表名称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE"."TABLE_COMMENT" IS '表描述';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE"."REMARK" IS '备注';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE"."MODULE_NAME" IS '模块名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE"."BUSINESS_NAME" IS '业务名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE"."CLASS_NAME" IS '类名称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE"."CLASS_COMMENT" IS '类描述';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE"."AUTHOR" IS '作者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE"."TEMPLATE_TYPE" IS '模板类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE"."FRONT_TYPE" IS '前端类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE"."PARENT_MENU_ID" IS '父菜单编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CODEGEN_TABLE"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."INFRA_CONFIG" IS '参数配置表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CONFIG"."ID" IS '参数主键';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CONFIG"."CATEGORY" IS '参数分组';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CONFIG"."TYPE" IS '参数类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CONFIG"."NAME" IS '参数名称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CONFIG"."CONFIG_KEY" IS '参数键名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CONFIG"."VALUE" IS '参数键值';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CONFIG"."VISIBLE" IS '是否可见';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CONFIG"."REMARK" IS '备注';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CONFIG"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CONFIG"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CONFIG"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CONFIG"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_CONFIG"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."INFRA_DATA_SOURCE_CONFIG" IS '数据源配置表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_DATA_SOURCE_CONFIG"."ID" IS '主键编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_DATA_SOURCE_CONFIG"."NAME" IS '参数名称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_DATA_SOURCE_CONFIG"."URL" IS '数据源连接';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_DATA_SOURCE_CONFIG"."USERNAME" IS '用户名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_DATA_SOURCE_CONFIG"."PASSWORD" IS '密码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_DATA_SOURCE_CONFIG"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_DATA_SOURCE_CONFIG"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_DATA_SOURCE_CONFIG"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_DATA_SOURCE_CONFIG"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_DATA_SOURCE_CONFIG"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."INFRA_FILE" IS '文件表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE"."ID" IS '文件编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE"."CONFIG_ID" IS '配置编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE"."NAME" IS '文件名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE"."PATH" IS '文件路径';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE"."URL" IS '文件 URL';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE"."TYPE" IS '文件类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE"."SIZE" IS '文件大小';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG" IS '文件配置表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG"."NAME" IS '配置名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG"."STORAGE" IS '存储器';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG"."REMARK" IS '备注';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG"."MASTER" IS '是否为主配置';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG"."CONFIG" IS '存储配置';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE_CONFIG"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."INFRA_FILE_CONTENT" IS '文件表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE_CONTENT"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE_CONTENT"."CONFIG_ID" IS '配置编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE_CONTENT"."PATH" IS '文件路径';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE_CONTENT"."CONTENT" IS '文件内容';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE_CONTENT"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE_CONTENT"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE_CONTENT"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE_CONTENT"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_FILE_CONTENT"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."INFRA_JOB" IS '定时任务表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB"."ID" IS '任务编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB"."NAME" IS '任务名称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB"."STATUS" IS '任务状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB"."HANDLER_NAME" IS '处理器的名字';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB"."HANDLER_PARAM" IS '处理器的参数';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB"."CRON_EXPRESSION" IS 'CRON 表达式';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB"."RETRY_COUNT" IS '重试次数';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB"."RETRY_INTERVAL" IS '重试间隔';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB"."MONITOR_TIMEOUT" IS '监控超时时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."INFRA_JOB_LOG" IS '定时任务日志表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB_LOG"."ID" IS '日志编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB_LOG"."JOB_ID" IS '任务编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB_LOG"."HANDLER_NAME" IS '处理器的名字';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB_LOG"."HANDLER_PARAM" IS '处理器的参数';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB_LOG"."EXECUTE_INDEX" IS '第几次执行';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB_LOG"."BEGIN_TIME" IS '开始执行时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB_LOG"."END_TIME" IS '结束执行时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB_LOG"."DURATION" IS '执行时长';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB_LOG"."STATUS" IS '任务状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB_LOG"."RESULT" IS '结果数据';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB_LOG"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB_LOG"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB_LOG"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB_LOG"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_JOB_LOG"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."INFRA_TEST_DEMO" IS '字典类型表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_TEST_DEMO"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_TEST_DEMO"."NAME" IS '名字';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_TEST_DEMO"."STATUS" IS '状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_TEST_DEMO"."TYPE" IS '类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_TEST_DEMO"."CATEGORY" IS '分类';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_TEST_DEMO"."REMARK" IS '备注';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_TEST_DEMO"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_TEST_DEMO"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_TEST_DEMO"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_TEST_DEMO"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."INFRA_TEST_DEMO"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."MEMBER_USER" IS '用户';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."MEMBER_USER"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."MEMBER_USER"."NICKNAME" IS '用户昵称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."MEMBER_USER"."AVATAR" IS '头像';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."MEMBER_USER"."STATUS" IS '状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."MEMBER_USER"."MOBILE" IS '手机号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."MEMBER_USER"."PASSWORD" IS '密码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."MEMBER_USER"."REGISTER_IP" IS '注册 IP';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."MEMBER_USER"."LOGIN_IP" IS '最后登录IP';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."MEMBER_USER"."LOGIN_DATE" IS '最后登录时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."MEMBER_USER"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."MEMBER_USER"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."MEMBER_USER"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."MEMBER_USER"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."MEMBER_USER"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."MEMBER_USER"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."PAY_APP" IS '支付应用信息';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_APP"."ID" IS '应用编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_APP"."NAME" IS '应用名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_APP"."STATUS" IS '开启状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_APP"."REMARK" IS '备注';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_APP"."PAY_NOTIFY_URL" IS '支付结果的回调地址';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_APP"."REFUND_NOTIFY_URL" IS '退款结果的回调地址';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_APP"."MERCHANT_ID" IS '商户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_APP"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_APP"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_APP"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_APP"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_APP"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_APP"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."PAY_CHANNEL" IS '支付渠道
+';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_CHANNEL"."ID" IS '商户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_CHANNEL"."CODE" IS '渠道编码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_CHANNEL"."STATUS" IS '开启状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_CHANNEL"."REMARK" IS '备注';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_CHANNEL"."FEE_RATE" IS '渠道费率,单位:百分比';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_CHANNEL"."MERCHANT_ID" IS '商户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_CHANNEL"."APP_ID" IS '应用编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_CHANNEL"."CONFIG" IS '支付渠道配置';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_CHANNEL"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_CHANNEL"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_CHANNEL"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_CHANNEL"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_CHANNEL"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_CHANNEL"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."PAY_DEMO_ORDER" IS '示例订单
+';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_DEMO_ORDER"."ID" IS '订单编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_DEMO_ORDER"."USER_ID" IS '用户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_DEMO_ORDER"."SPU_ID" IS '商品编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_DEMO_ORDER"."SPU_NAME" IS '商品名字';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_DEMO_ORDER"."PRICE" IS '价格,单位:分';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_DEMO_ORDER"."PAYED" IS '是否已支付:[0:未支付 1:已经支付过]';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_DEMO_ORDER"."PAY_ORDER_ID" IS '支付订单编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_DEMO_ORDER"."PAY_CHANNEL_CODE" IS '支付成功的支付渠道';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_DEMO_ORDER"."PAY_TIME" IS '订单支付时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_DEMO_ORDER"."PAY_REFUND_ID" IS '退款订单编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_DEMO_ORDER"."REFUND_PRICE" IS '退款金额,单位:分';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_DEMO_ORDER"."REFUND_TIME" IS '退款时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_DEMO_ORDER"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_DEMO_ORDER"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_DEMO_ORDER"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_DEMO_ORDER"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_DEMO_ORDER"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_DEMO_ORDER"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."PAY_MERCHANT" IS '支付商户信息';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_MERCHANT"."ID" IS '商户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_MERCHANT"."NO" IS '商户号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_MERCHANT"."NAME" IS '商户全称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_MERCHANT"."SHORT_NAME" IS '商户简称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_MERCHANT"."STATUS" IS '开启状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_MERCHANT"."REMARK" IS '备注';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_MERCHANT"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_MERCHANT"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_MERCHANT"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_MERCHANT"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_MERCHANT"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_MERCHANT"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."PAY_NOTIFY_LOG" IS '支付通知 App 的日志';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_LOG"."ID" IS '日志编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_LOG"."TASK_ID" IS '通知任务编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_LOG"."NOTIFY_TIMES" IS '第几次被通知';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_LOG"."RESPONSE" IS '请求参数';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_LOG"."STATUS" IS '通知状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_LOG"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_LOG"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_LOG"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_LOG"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_LOG"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_LOG"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK" IS '商户支付、退款等的通知
+';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK"."ID" IS '任务编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK"."MERCHANT_ID" IS '商户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK"."APP_ID" IS '应用编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK"."TYPE" IS '通知类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK"."DATA_ID" IS '数据编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK"."STATUS" IS '通知状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK"."MERCHANT_ORDER_ID" IS '商户订单编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK"."NEXT_NOTIFY_TIME" IS '下一次通知时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK"."LAST_EXECUTE_TIME" IS '最后一次执行时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK"."NOTIFY_TIMES" IS '当前通知次数';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK"."MAX_NOTIFY_TIMES" IS '最大可通知次数';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK"."NOTIFY_URL" IS '异步通知地址';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_NOTIFY_TASK"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."PAY_ORDER" IS '支付订单
+';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."ID" IS '支付订单编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."MERCHANT_ID" IS '商户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."APP_ID" IS '应用编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."CHANNEL_ID" IS '渠道编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."CHANNEL_CODE" IS '渠道编码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."MERCHANT_ORDER_ID" IS '商户订单编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."SUBJECT" IS '商品标题';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."BODY" IS '商品描述';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."NOTIFY_URL" IS '异步通知地址';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."NOTIFY_STATUS" IS '通知商户支付结果的回调状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."AMOUNT" IS '支付金额,单位:分';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."CHANNEL_FEE_RATE" IS '渠道手续费,单位:百分比';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."CHANNEL_FEE_AMOUNT" IS '渠道手续金额,单位:分';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."STATUS" IS '支付状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."USER_IP" IS '用户 IP';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."EXPIRE_TIME" IS '订单失效时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."SUCCESS_TIME" IS '订单支付成功时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."NOTIFY_TIME" IS '订单支付通知时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."SUCCESS_EXTENSION_ID" IS '支付成功的订单拓展单编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."REFUND_STATUS" IS '退款状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."REFUND_TIMES" IS '退款次数';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."REFUND_AMOUNT" IS '退款总金额,单位:分';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."CHANNEL_USER_ID" IS '渠道用户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."CHANNEL_ORDER_NO" IS '渠道订单号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."PAY_ORDER_EXTENSION" IS '支付订单
+';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER_EXTENSION"."ID" IS '支付订单编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER_EXTENSION"."NO" IS '支付订单号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER_EXTENSION"."ORDER_ID" IS '支付订单编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER_EXTENSION"."CHANNEL_ID" IS '渠道编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER_EXTENSION"."CHANNEL_CODE" IS '渠道编码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER_EXTENSION"."USER_IP" IS '用户 IP';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER_EXTENSION"."STATUS" IS '支付状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER_EXTENSION"."CHANNEL_EXTRAS" IS '支付渠道的额外参数';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER_EXTENSION"."CHANNEL_NOTIFY_DATA" IS '支付渠道异步通知的内容';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER_EXTENSION"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER_EXTENSION"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER_EXTENSION"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER_EXTENSION"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER_EXTENSION"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_ORDER_EXTENSION"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."PAY_REFUND" IS '退款订单';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."ID" IS '支付退款编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."MERCHANT_ID" IS '商户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."APP_ID" IS '应用编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."CHANNEL_ID" IS '渠道编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."CHANNEL_CODE" IS '渠道编码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."ORDER_ID" IS '支付订单编号 pay_order 表id';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."TRADE_NO" IS '交易订单号 pay_extension 表no 字段';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."MERCHANT_ORDER_ID" IS '商户订单编号(商户系统生成)';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."MERCHANT_REFUND_NO" IS '商户退款订单号(商户系统生成)';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."NOTIFY_URL" IS '异步通知商户地址';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."NOTIFY_STATUS" IS '通知商户退款结果的回调状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."STATUS" IS '退款状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."TYPE" IS '退款类型(部分退款,全部退款)';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."PAY_AMOUNT" IS '支付金额,单位分';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."REFUND_AMOUNT" IS '退款金额,单位分';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."REASON" IS '退款原因';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."USER_IP" IS '用户 IP';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."CHANNEL_ORDER_NO" IS '渠道订单号,pay_order 中的channel_order_no 对应';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."CHANNEL_REFUND_NO" IS '渠道退款单号,渠道返回';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."CHANNEL_ERROR_CODE" IS '渠道调用报错时,错误码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."CHANNEL_ERROR_MSG" IS '渠道调用报错时,错误信息';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."CHANNEL_EXTRAS" IS '支付渠道的额外参数';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."EXPIRE_TIME" IS '退款失效时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."SUCCESS_TIME" IS '退款成功时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."NOTIFY_TIME" IS '退款通知时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."PAY_REFUND"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_DEPT" IS '部门表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DEPT"."ID" IS '部门id';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DEPT"."NAME" IS '部门名称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DEPT"."PARENT_ID" IS '父部门id';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DEPT"."SORT" IS '显示顺序';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DEPT"."LEADER_USER_ID" IS '负责人';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DEPT"."PHONE" IS '联系电话';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DEPT"."EMAIL" IS '邮箱';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DEPT"."STATUS" IS '部门状态(0正常 1停用)';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DEPT"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DEPT"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DEPT"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DEPT"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DEPT"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DEPT"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA" IS '字典数据表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"."ID" IS '字典编码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"."SORT" IS '字典排序';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"."LABEL" IS '字典标签';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"."VALUE" IS '字典键值';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"."DICT_TYPE" IS '字典类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"."STATUS" IS '状态(0正常 1停用)';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"."COLOR_TYPE" IS '颜色类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"."CSS_CLASS" IS 'css 样式';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"."REMARK" IS '备注';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_DATA"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_DICT_TYPE" IS '字典类型表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_TYPE"."ID" IS '字典主键';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_TYPE"."NAME" IS '字典名称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_TYPE"."TYPE" IS '字典类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_TYPE"."STATUS" IS '状态(0正常 1停用)';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_TYPE"."REMARK" IS '备注';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_TYPE"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_TYPE"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_TYPE"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_TYPE"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_TYPE"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_DICT_TYPE"."DELETED_TIME" IS '删除时间';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_ERROR_CODE" IS '错误码表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ERROR_CODE"."ID" IS '错误码编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ERROR_CODE"."TYPE" IS '错误码类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ERROR_CODE"."APPLICATION_NAME" IS '应用名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ERROR_CODE"."CODE" IS '错误码编码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ERROR_CODE"."MESSAGE" IS '错误码错误提示';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ERROR_CODE"."MEMO" IS '备注';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ERROR_CODE"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ERROR_CODE"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ERROR_CODE"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ERROR_CODE"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ERROR_CODE"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_LOGIN_LOG" IS '系统访问记录';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_LOGIN_LOG"."ID" IS '访问ID';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_LOGIN_LOG"."LOG_TYPE" IS '日志类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_LOGIN_LOG"."TRACE_ID" IS '链路追踪编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_LOGIN_LOG"."USER_ID" IS '用户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_LOGIN_LOG"."USER_TYPE" IS '用户类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_LOGIN_LOG"."USERNAME" IS '用户账号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_LOGIN_LOG"."RESULT" IS '登陆结果';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_LOGIN_LOG"."USER_IP" IS '用户 IP';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_LOGIN_LOG"."USER_AGENT" IS '浏览器 UA';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_LOGIN_LOG"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_LOGIN_LOG"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_LOGIN_LOG"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_LOGIN_LOG"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_LOGIN_LOG"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_LOGIN_LOG"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_MAIL_ACCOUNT" IS '邮箱账号表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_ACCOUNT"."ID" IS '主键';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_ACCOUNT"."MAIL" IS '邮箱';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_ACCOUNT"."USERNAME" IS '用户名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_ACCOUNT"."PASSWORD" IS '密码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_ACCOUNT"."HOST" IS 'SMTP 服务器域名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_ACCOUNT"."PORT" IS 'SMTP 服务器端口';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_ACCOUNT"."SSL_ENABLE" IS '是否开启 SSL';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_ACCOUNT"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_ACCOUNT"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_ACCOUNT"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_ACCOUNT"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_ACCOUNT"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG" IS '邮件日志表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."USER_ID" IS '用户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."USER_TYPE" IS '用户类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."TO_MAIL" IS '接收邮箱地址';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."ACCOUNT_ID" IS '邮箱账号编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."FROM_MAIL" IS '发送邮箱地址';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."TEMPLATE_ID" IS '模板编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."TEMPLATE_CODE" IS '模板编码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."TEMPLATE_NICKNAME" IS '模版发送人名称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."TEMPLATE_TITLE" IS '邮件标题';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."TEMPLATE_CONTENT" IS '邮件内容';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."TEMPLATE_PARAMS" IS '邮件参数';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."SEND_STATUS" IS '发送状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."SEND_TIME" IS '发送时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."SEND_MESSAGE_ID" IS '发送返回的消息 ID';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."SEND_EXCEPTION" IS '发送异常';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_LOG"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_MAIL_TEMPLATE" IS '邮件模版表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_TEMPLATE"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_TEMPLATE"."NAME" IS '模板名称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_TEMPLATE"."CODE" IS '模板编码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_TEMPLATE"."ACCOUNT_ID" IS '发送的邮箱账号编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_TEMPLATE"."NICKNAME" IS '发送人名称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_TEMPLATE"."TITLE" IS '模板标题';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_TEMPLATE"."CONTENT" IS '模板内容';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_TEMPLATE"."PARAMS" IS '参数数组';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_TEMPLATE"."STATUS" IS '开启状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_TEMPLATE"."REMARK" IS '备注';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_TEMPLATE"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_TEMPLATE"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_TEMPLATE"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_TEMPLATE"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MAIL_TEMPLATE"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_MENU" IS '菜单权限表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MENU"."ID" IS '菜单ID';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MENU"."NAME" IS '菜单名称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MENU"."PERMISSION" IS '权限标识';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MENU"."TYPE" IS '菜单类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MENU"."SORT" IS '显示顺序';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MENU"."PARENT_ID" IS '父菜单ID';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MENU"."PATH" IS '路由地址';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MENU"."ICON" IS '菜单图标';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MENU"."COMPONENT" IS '组件路径';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MENU"."COMPONENT_NAME" IS '组件名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MENU"."STATUS" IS '菜单状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MENU"."VISIBLE" IS '是否可见';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MENU"."KEEP_ALIVE" IS '是否缓存';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MENU"."ALWAYS_SHOW" IS '是否总是显示';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MENU"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MENU"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MENU"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MENU"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_MENU"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_NOTICE" IS '通知公告表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTICE"."ID" IS '公告ID';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTICE"."TITLE" IS '公告标题';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTICE"."CONTENT" IS '公告内容';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTICE"."TYPE" IS '公告类型(1通知 2公告)';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTICE"."STATUS" IS '公告状态(0正常 1关闭)';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTICE"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTICE"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTICE"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTICE"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTICE"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTICE"."TENANT_ID" IS '租户编号';
+
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE"
+(
+ "ID" BIGINT IDENTITY(9,1) NOT NULL,
+ "USER_ID" BIGINT NOT NULL,
+ "USER_TYPE" TINYINT NOT NULL,
+ "TEMPLATE_ID" BIGINT NOT NULL,
+ "TEMPLATE_CODE" VARCHAR(64) NOT NULL,
+ "TEMPLATE_NICKNAME" VARCHAR(63) NOT NULL,
+ "TEMPLATE_CONTENT" VARCHAR(1024) NOT NULL,
+ "TEMPLATE_TYPE" INT NOT NULL,
+ "TEMPLATE_PARAMS" VARCHAR(255) NOT NULL,
+ "READ_STATUS" BIT NOT NULL,
+ "READ_TIME" TIMESTAMP(0) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_TEMPLATE"
+(
+ "ID" BIGINT IDENTITY(4,1) NOT NULL,
+ "NAME" VARCHAR(63) NOT NULL,
+ "CODE" VARCHAR(64) NOT NULL,
+ "NICKNAME" VARCHAR(255) NOT NULL,
+ "CONTENT" VARCHAR(1024) NOT NULL,
+ "TYPE" TINYINT NOT NULL,
+ "PARAMS" VARCHAR(255) NULL,
+ "STATUS" TINYINT NOT NULL,
+ "REMARK" VARCHAR(255) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_ACCESS_TOKEN"
+(
+ "ID" BIGINT IDENTITY(1785,1) NOT NULL,
+ "USER_ID" BIGINT NOT NULL,
+ "USER_TYPE" TINYINT NOT NULL,
+ "ACCESS_TOKEN" VARCHAR(255) NOT NULL,
+ "REFRESH_TOKEN" VARCHAR(32) NOT NULL,
+ "CLIENT_ID" VARCHAR(255) NOT NULL,
+ "SCOPES" VARCHAR(255) NULL,
+ "EXPIRES_TIME" TIMESTAMP(0) NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_APPROVE"
+(
+ "ID" BIGINT IDENTITY(82,1) NOT NULL,
+ "USER_ID" BIGINT NOT NULL,
+ "USER_TYPE" TINYINT NOT NULL,
+ "CLIENT_ID" VARCHAR(255) NOT NULL,
+ "SCOPE" VARCHAR(255) DEFAULT ''
+ NOT NULL,
+ "APPROVED" BIT DEFAULT '0'
+ NOT NULL,
+ "EXPIRES_TIME" TIMESTAMP(0) NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"
+(
+ "ID" BIGINT IDENTITY(43,1) NOT NULL,
+ "CLIENT_ID" VARCHAR(255) NOT NULL,
+ "SECRET" VARCHAR(255) NOT NULL,
+ "NAME" VARCHAR(255) NOT NULL,
+ "LOGO" VARCHAR(255) NOT NULL,
+ "DESCRIPTION" VARCHAR(255) NULL,
+ "STATUS" TINYINT NOT NULL,
+ "ACCESS_TOKEN_VALIDITY_SECONDS" INT NOT NULL,
+ "REFRESH_TOKEN_VALIDITY_SECONDS" INT NOT NULL,
+ "REDIRECT_URIS" VARCHAR(255) NOT NULL,
+ "AUTHORIZED_GRANT_TYPES" VARCHAR(255) NOT NULL,
+ "SCOPES" VARCHAR(255) NULL,
+ "AUTO_APPROVE_SCOPES" VARCHAR(255) NULL,
+ "AUTHORITIES" VARCHAR(255) NULL,
+ "RESOURCE_IDS" VARCHAR(255) NULL,
+ "ADDITIONAL_INFORMATION" VARCHAR(4096) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CODE"
+(
+ "ID" BIGINT IDENTITY(147,1) NOT NULL,
+ "USER_ID" BIGINT NOT NULL,
+ "USER_TYPE" TINYINT NOT NULL,
+ "CODE" VARCHAR(32) NOT NULL,
+ "CLIENT_ID" VARCHAR(255) NOT NULL,
+ "SCOPES" VARCHAR(255) DEFAULT ''
+ NULL,
+ "EXPIRES_TIME" TIMESTAMP(0) NOT NULL,
+ "REDIRECT_URI" VARCHAR(255) NULL,
+ "STATE" VARCHAR(255) DEFAULT ''
+ NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_REFRESH_TOKEN"
+(
+ "ID" BIGINT IDENTITY(738,1) NOT NULL,
+ "USER_ID" BIGINT NOT NULL,
+ "REFRESH_TOKEN" VARCHAR(32) NOT NULL,
+ "USER_TYPE" TINYINT NOT NULL,
+ "CLIENT_ID" VARCHAR(255) NOT NULL,
+ "SCOPES" VARCHAR(255) NULL,
+ "EXPIRES_TIME" TIMESTAMP(0) NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"
+(
+ "ID" BIGINT IDENTITY(6440,1) NOT NULL,
+ "TRACE_ID" VARCHAR(64) DEFAULT ''
+ NOT NULL,
+ "USER_ID" BIGINT NOT NULL,
+ "USER_TYPE" TINYINT DEFAULT 0
+ NOT NULL,
+ "MODULE" VARCHAR(50) NOT NULL,
+ "NAME" VARCHAR(50) NOT NULL,
+ "TYPE" BIGINT DEFAULT 0
+ NOT NULL,
+ "CONTENT" VARCHAR(2000) DEFAULT ''
+ NOT NULL,
+ "EXTS" VARCHAR(512) DEFAULT ''
+ NOT NULL,
+ "REQUEST_METHOD" VARCHAR(16) DEFAULT ''
+ NULL,
+ "REQUEST_URL" VARCHAR(255) DEFAULT ''
+ NULL,
+ "USER_IP" VARCHAR(50) NULL,
+ "USER_AGENT" VARCHAR(200) NULL,
+ "JAVA_METHOD" VARCHAR(512) DEFAULT ''
+ NOT NULL,
+ "JAVA_METHOD_ARGS" VARCHAR(8000) DEFAULT ''
+ NULL,
+ "START_TIME" TIMESTAMP(0) NOT NULL,
+ "DURATION" INT NOT NULL,
+ "RESULT_CODE" INT DEFAULT 0
+ NOT NULL,
+ "RESULT_MSG" VARCHAR(512) DEFAULT ''
+ NULL,
+ "RESULT_DATA" VARCHAR(4000) DEFAULT ''
+ NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_POST"
+(
+ "ID" BIGINT IDENTITY(5,1) NOT NULL,
+ "CODE" VARCHAR(64) NOT NULL,
+ "NAME" VARCHAR(50) NOT NULL,
+ "SORT" INT NOT NULL,
+ "STATUS" TINYINT NOT NULL,
+ "REMARK" VARCHAR(500) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_ROLE"
+(
+ "ID" BIGINT IDENTITY(139,1) NOT NULL,
+ "NAME" VARCHAR(30) NOT NULL,
+ "CODE" VARCHAR(100) NOT NULL,
+ "SORT" INT NOT NULL,
+ "DATA_SCOPE" TINYINT DEFAULT 1
+ NOT NULL,
+ "DATA_SCOPE_DEPT_IDS" VARCHAR(500) DEFAULT ''
+ NOT NULL,
+ "STATUS" TINYINT NOT NULL,
+ "TYPE" TINYINT NOT NULL,
+ "REMARK" VARCHAR(500) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"
+(
+ "ID" BIGINT IDENTITY(2873,1) NOT NULL,
+ "ROLE_ID" BIGINT NOT NULL,
+ "MENU_ID" BIGINT NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_SENSITIVE_WORD"
+(
+ "ID" BIGINT IDENTITY(6,1) NOT NULL,
+ "NAME" VARCHAR(255) NOT NULL,
+ "DESCRIPTION" VARCHAR(512) NULL,
+ "TAGS" VARCHAR(255) NULL,
+ "STATUS" TINYINT NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL"
+(
+ "ID" BIGINT IDENTITY(7,1) NOT NULL,
+ "SIGNATURE" VARCHAR(12) NOT NULL,
+ "CODE" VARCHAR(63) NOT NULL,
+ "STATUS" TINYINT NOT NULL,
+ "REMARK" VARCHAR(255) NULL,
+ "API_KEY" VARCHAR(128) NOT NULL,
+ "API_SECRET" VARCHAR(128) NULL,
+ "CALLBACK_URL" VARCHAR(255) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE"
+(
+ "ID" BIGINT IDENTITY(484,1) NOT NULL,
+ "MOBILE" VARCHAR(11) NOT NULL,
+ "CODE" VARCHAR(6) NOT NULL,
+ "CREATE_IP" VARCHAR(15) NOT NULL,
+ "SCENE" TINYINT NOT NULL,
+ "TODAY_INDEX" TINYINT NOT NULL,
+ "USED" TINYINT NOT NULL,
+ "USED_TIME" TIMESTAMP(0) NULL,
+ "USED_IP" VARCHAR(255) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"
+(
+ "ID" BIGINT IDENTITY(349,1) NOT NULL,
+ "CHANNEL_ID" BIGINT NOT NULL,
+ "CHANNEL_CODE" VARCHAR(63) NOT NULL,
+ "TEMPLATE_ID" BIGINT NOT NULL,
+ "TEMPLATE_CODE" VARCHAR(63) NOT NULL,
+ "TEMPLATE_TYPE" TINYINT NOT NULL,
+ "TEMPLATE_CONTENT" VARCHAR(255) NOT NULL,
+ "TEMPLATE_PARAMS" VARCHAR(255) NOT NULL,
+ "API_TEMPLATE_ID" VARCHAR(63) NOT NULL,
+ "MOBILE" VARCHAR(11) NOT NULL,
+ "USER_ID" BIGINT NULL,
+ "USER_TYPE" TINYINT NULL,
+ "SEND_STATUS" TINYINT DEFAULT 0
+ NOT NULL,
+ "SEND_TIME" TIMESTAMP(0) NULL,
+ "SEND_CODE" INT NULL,
+ "SEND_MSG" VARCHAR(255) NULL,
+ "API_SEND_CODE" VARCHAR(63) NULL,
+ "API_SEND_MSG" VARCHAR(255) NULL,
+ "API_REQUEST_ID" VARCHAR(255) NULL,
+ "API_SERIAL_NO" VARCHAR(255) NULL,
+ "RECEIVE_STATUS" TINYINT DEFAULT 0
+ NOT NULL,
+ "RECEIVE_TIME" TIMESTAMP(0) NULL,
+ "API_RECEIVE_CODE" VARCHAR(63) NULL,
+ "API_RECEIVE_MSG" VARCHAR(255) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE"
+(
+ "ID" BIGINT IDENTITY(14,1) NOT NULL,
+ "TYPE" TINYINT NOT NULL,
+ "STATUS" TINYINT NOT NULL,
+ "CODE" VARCHAR(63) NOT NULL,
+ "NAME" VARCHAR(63) NOT NULL,
+ "CONTENT" VARCHAR(255) NOT NULL,
+ "PARAMS" VARCHAR(255) NOT NULL,
+ "REMARK" VARCHAR(255) NULL,
+ "API_TEMPLATE_ID" VARCHAR(63) NOT NULL,
+ "CHANNEL_ID" BIGINT NOT NULL,
+ "CHANNEL_CODE" VARCHAR(63) NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER"
+(
+ "ID" BIGINT IDENTITY(20,1) NOT NULL,
+ "TYPE" TINYINT NOT NULL,
+ "OPENID" VARCHAR(32) NOT NULL,
+ "TOKEN" VARCHAR(256) NULL,
+ "RAW_TOKEN_INFO" VARCHAR(1024) NOT NULL,
+ "NICKNAME" VARCHAR(32) NOT NULL,
+ "AVATAR" VARCHAR(255) NULL,
+ "RAW_USER_INFO" VARCHAR(1024) NOT NULL,
+ "CODE" VARCHAR(256) NOT NULL,
+ "STATE" VARCHAR(256) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER_BIND"
+(
+ "ID" BIGINT IDENTITY(39,1) NOT NULL,
+ "USER_ID" BIGINT NOT NULL,
+ "USER_TYPE" TINYINT NOT NULL,
+ "SOCIAL_TYPE" TINYINT NOT NULL,
+ "SOCIAL_USER_ID" BIGINT NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_TENANT"
+(
+ "ID" BIGINT IDENTITY(150,1) NOT NULL,
+ "NAME" VARCHAR(30) NOT NULL,
+ "CONTACT_USER_ID" BIGINT NULL,
+ "CONTACT_NAME" VARCHAR(30) NOT NULL,
+ "CONTACT_MOBILE" VARCHAR(500) NULL,
+ "STATUS" TINYINT DEFAULT 0
+ NOT NULL,
+ "DOMAIN" VARCHAR(256) DEFAULT ''
+ NULL,
+ "PACKAGE_ID" BIGINT NOT NULL,
+ "EXPIRE_TIME" TIMESTAMP(0) NOT NULL,
+ "ACCOUNT_COUNT" INT NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NOT NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_TENANT_PACKAGE"
+(
+ "ID" BIGINT IDENTITY(112,1) NOT NULL,
+ "NAME" VARCHAR(30) NOT NULL,
+ "STATUS" TINYINT DEFAULT 0
+ NOT NULL,
+ "REMARK" VARCHAR(256) DEFAULT ''
+ NULL,
+ "MENU_IDS" VARCHAR(2048) NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NOT NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_USERS"
+(
+ "ID" BIGINT IDENTITY(126,1) NOT NULL,
+ "USERNAME" VARCHAR(30) NOT NULL,
+ "PASSWORD" VARCHAR(100) DEFAULT ''
+ NOT NULL,
+ "NICKNAME" VARCHAR(30) NOT NULL,
+ "REMARK" VARCHAR(500) NULL,
+ "DEPT_ID" BIGINT NULL,
+ "POST_IDS" VARCHAR(255) NULL,
+ "EMAIL" VARCHAR(50) DEFAULT ''
+ NULL,
+ "MOBILE" VARCHAR(11) DEFAULT ''
+ NULL,
+ "SEX" TINYINT DEFAULT 0
+ NULL,
+ "AVATAR" VARCHAR(512) DEFAULT ''
+ NULL,
+ "STATUS" TINYINT DEFAULT 0
+ NOT NULL,
+ "LOGIN_IP" VARCHAR(50) DEFAULT ''
+ NULL,
+ "LOGIN_DATE" TIMESTAMP(0) NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_USER_POST"
+(
+ "ID" BIGINT IDENTITY(118,1) NOT NULL,
+ "USER_ID" BIGINT DEFAULT 0
+ NOT NULL,
+ "POST_ID" BIGINT DEFAULT 0
+ NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NOT NULL,
+ "DELETED" BIT DEFAULT '0'
+ NOT NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+CREATE TABLE "RUOYI_VUE_PRO"."SYSTEM_USER_ROLE"
+(
+ "ID" BIGINT IDENTITY(31,1) NOT NULL,
+ "USER_ID" BIGINT NOT NULL,
+ "ROLE_ID" BIGINT NOT NULL,
+ "CREATOR" VARCHAR(64) DEFAULT ''
+ NULL,
+ "CREATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NULL,
+ "UPDATER" VARCHAR(64) DEFAULT ''
+ NULL,
+ "UPDATE_TIME" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
+ NULL,
+ "DELETED" BIT DEFAULT '0'
+ NULL,
+ "TENANT_ID" BIGINT DEFAULT 0
+ NOT NULL
+);
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE" ON;
+INSERT INTO "RUOYI_VUE_PRO"."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"}',1,'2023-02-10 00:47:04','1','2023-01-28 11:44:08','1','2023-02-10 00:47:04',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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"}',1,'2023-02-10 00:47:04','1','2023-01-28 11:45:04','1','2023-02-10 00:47:04',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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":"哈哈"}',0,null,'1','2023-01-28 21:02:20','1','2023-01-28 21:02:20',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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":"写代码"}',1,'2023-02-10 00:47:04','1','2023-01-28 22:21:42','1','2023-02-10 00:47:04',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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":"写代码"}',1,'2023-01-29 10:52:06','1','2023-01-28 22:22:07','1','2023-01-29 10:52:06',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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"}',1,'2023-01-29 10:52:06','1','2023-01-28 23:45:21','1','2023-01-29 10:52:06',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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"}',1,'2023-01-29 10:52:06','1','2023-01-28 23:50:21','1','2023-01-29 10:52:06',0,1);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_TEMPLATE" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_TEMPLATE" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_ACCESS_TOKEN" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_ACCESS_TOKEN" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_APPROVE" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_APPROVE" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT" ON;
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CODE" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CODE" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_REFRESH_TOKEN" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_REFRESH_TOKEN" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_POST" ON;
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_POST"("ID","CODE","NAME","SORT","STATUS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1,'ceo','董事长',1,0,'','admin','2021-01-06 17:03:48','1','2023-02-11 15:19:04',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_POST"("ID","CODE","NAME","SORT","STATUS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2,'se','项目经理',2,0,'','admin','2021-01-05 17:03:48','1','2021-12-12 10:47:47',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_POST"("ID","CODE","NAME","SORT","STATUS","REMARK","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(4,'user','普通员工',4,0,'111','admin','2021-01-05 17:03:48','1','2023-02-11 15:19:00',0,1);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_POST" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_ROLE" ON;
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,124);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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(136,'租户管理员','tenant_admin',0,1,'',0,1,'系统自动生成','1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."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(137,'租户管理员','tenant_admin',0,1,'',0,1,'系统自动生成','1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."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(138,'租户管理员','tenant_admin',0,1,'',0,1,'系统自动生成','1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_ROLE" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU" ON;
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(263,109,1,'1','2022-02-22 00:56:14','1','2022-02-22 00:56:14',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(434,2,1,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(454,2,1093,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(455,2,1094,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(460,2,1100,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(467,2,1107,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(470,2,1110,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(476,2,1117,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(477,2,100,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(478,2,101,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(479,2,102,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(480,2,1126,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(481,2,103,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(483,2,104,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(485,2,105,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(488,2,107,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(490,2,108,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(492,2,109,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(498,2,1138,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(523,2,1224,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(524,2,1225,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(541,2,500,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(543,2,501,'1','2022-02-22 13:09:12','1','2022-02-22 13:09:12',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(675,2,2,'1','2022-02-22 13:16:57','1','2022-02-22 13:16:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(689,2,1077,'1','2022-02-22 13:16:57','1','2022-02-22 13:16:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(690,2,1078,'1','2022-02-22 13:16:57','1','2022-02-22 13:16:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(692,2,1083,'1','2022-02-22 13:16:57','1','2022-02-22 13:16:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(693,2,1084,'1','2022-02-22 13:16:57','1','2022-02-22 13:16:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(699,2,1090,'1','2022-02-22 13:16:57','1','2022-02-22 13:16:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(703,2,106,'1','2022-02-22 13:16:57','1','2022-02-22 13:16:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(704,2,110,'1','2022-02-22 13:16:57','1','2022-02-22 13:16:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(705,2,111,'1','2022-02-22 13:16:57','1','2022-02-22 13:16:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1495,1,1078,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1496,1,1083,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1497,1,1084,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1498,1,1090,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1499,1,1093,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1500,1,1094,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1501,1,1100,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1502,1,1107,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1503,1,1110,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1505,1,1117,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1506,1,100,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1507,1,101,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1508,1,102,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1509,1,1126,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1510,1,103,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1511,1,104,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1512,1,105,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1513,1,106,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1514,1,107,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1515,1,108,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1516,1,109,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1517,1,110,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1518,1,111,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1519,1,112,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1520,1,113,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1522,1,1138,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1525,1,1224,'1','2022-02-23 20:03:57','1','2022-02-23 20:03:57',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1607,101,1219,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1608,101,1220,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1609,101,1221,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1610,101,5,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1611,101,1222,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1612,101,1118,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1613,101,1119,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1614,101,1120,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1615,101,1185,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1616,101,1186,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1617,101,1187,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1618,101,1188,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1619,101,1189,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1620,101,1190,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1621,101,1191,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1622,101,1192,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1623,101,1193,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1624,101,1194,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1625,101,1195,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1626,101,1196,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1627,101,1197,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1628,101,1198,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1629,101,1199,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1630,101,1200,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1631,101,1201,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1632,101,1202,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1633,101,1207,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1634,101,1208,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1635,101,1209,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1636,101,1210,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1637,101,1211,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1638,101,1212,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1639,101,1213,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1640,101,1215,'1','2022-03-19 21:45:52','1','2022-03-19 21:45:52',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1641,101,2,'1','2022-04-01 22:21:24','1','2022-04-01 22:21:24',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1642,101,1031,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1643,101,1032,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1644,101,1033,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1645,101,1034,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1646,101,1035,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1647,101,1050,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1648,101,1051,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1649,101,1052,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1650,101,1053,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1651,101,1054,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1652,101,1056,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1653,101,1057,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1654,101,1058,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1655,101,1059,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1656,101,1060,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1657,101,1066,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1658,101,1067,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1659,101,1070,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1660,101,1071,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1661,101,1072,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1662,101,1073,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1663,101,1074,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1664,101,1075,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1665,101,1076,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1666,101,1077,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1667,101,1078,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1668,101,1082,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1669,101,1083,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1670,101,1084,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1671,101,1085,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1672,101,1086,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1673,101,1087,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1674,101,1088,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1675,101,1089,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1679,101,1237,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1680,101,1238,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1681,101,1239,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1682,101,1240,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1683,101,1241,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1684,101,1242,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1685,101,1243,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1687,101,106,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1688,101,110,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1689,101,111,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1690,101,112,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1691,101,113,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1692,101,114,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1693,101,115,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1694,101,116,'1','2022-04-01 22:21:37','1','2022-04-01 22:21:37',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1712,113,1024,'1','2022-05-17 10:07:10','1','2022-05-17 10:07:10',0,124);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1713,113,1025,'1','2022-05-17 10:07:10','1','2022-05-17 10:07:10',0,124);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1714,113,1,'1','2022-05-17 10:07:10','1','2022-05-17 10:07:10',0,124);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1715,113,102,'1','2022-05-17 10:07:10','1','2022-05-17 10:07:10',0,124);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1716,113,103,'1','2022-05-17 10:07:10','1','2022-05-17 10:07:10',0,124);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1717,113,104,'1','2022-05-17 10:07:10','1','2022-05-17 10:07:10',0,124);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1718,113,1013,'1','2022-05-17 10:07:10','1','2022-05-17 10:07:10',0,124);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1719,113,1014,'1','2022-05-17 10:07:10','1','2022-05-17 10:07:10',0,124);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1720,113,1015,'1','2022-05-17 10:07:10','1','2022-05-17 10:07:10',0,124);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1721,113,1016,'1','2022-05-17 10:07:10','1','2022-05-17 10:07:10',0,124);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1722,113,1017,'1','2022-05-17 10:07:10','1','2022-05-17 10:07:10',0,124);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1723,113,1018,'1','2022-05-17 10:07:10','1','2022-05-17 10:07:10',0,124);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1724,113,1019,'1','2022-05-17 10:07:10','1','2022-05-17 10:07:10',0,124);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(1725,113,1020,'1','2022-05-17 10:07:10','1','2022-05-17 10:07:10',0,124);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,124);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,124);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,124);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2188,101,1024,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2189,101,1,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2190,101,1025,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2191,101,1026,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2192,101,1027,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2193,101,1028,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2194,101,1029,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2195,101,1030,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2196,101,1036,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2197,101,1037,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2198,101,1038,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2199,101,1039,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2200,101,1040,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2201,101,1042,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2202,101,1043,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2203,101,1045,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2204,101,1046,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2205,101,1048,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2206,101,2083,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2207,101,1063,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2208,101,1064,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2209,101,1065,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2210,101,1093,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2211,101,1094,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2212,101,1095,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2213,101,1096,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2214,101,1097,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2215,101,1098,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2216,101,1100,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2217,101,1101,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2218,101,1102,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2219,101,1103,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2220,101,1104,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2221,101,1105,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2222,101,1106,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2223,101,2130,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2224,101,1107,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2225,101,2131,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2226,101,1108,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2227,101,2132,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2228,101,1109,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2229,101,2133,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2230,101,2134,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2231,101,1110,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2232,101,2135,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2233,101,1111,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2234,101,2136,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2235,101,1112,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2236,101,2137,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2237,101,1113,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2238,101,2138,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2239,101,1114,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2240,101,2139,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2241,101,1115,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2242,101,2140,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2243,101,2141,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2244,101,2142,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2245,101,2143,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2246,101,2144,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2247,101,2145,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2248,101,2146,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2249,101,2147,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2250,101,100,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2251,101,2148,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2252,101,101,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2253,101,2149,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2254,101,102,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2255,101,2150,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2256,101,103,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2257,101,2151,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2258,101,104,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2259,101,2152,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2260,101,105,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2261,101,107,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2262,101,108,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2263,101,109,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2264,101,1138,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2265,101,1139,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2266,101,1140,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2267,101,1141,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2268,101,1142,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2269,101,1143,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2270,101,1224,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2271,101,1225,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2272,101,1226,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2273,101,1227,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2274,101,1228,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2275,101,1229,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2276,101,1247,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2277,101,1248,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2278,101,1249,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2279,101,1250,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2280,101,1251,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2281,101,1252,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2282,101,1261,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2283,101,1263,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2284,101,1264,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2285,101,1265,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2286,101,1266,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2287,101,1267,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2288,101,1001,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2289,101,1002,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2290,101,1003,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2291,101,1004,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2292,101,1005,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2293,101,1006,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2294,101,1007,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2295,101,1008,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2296,101,1009,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2297,101,1010,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2298,101,1011,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2299,101,1012,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2300,101,500,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2301,101,1013,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2302,101,501,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2303,101,1014,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2304,101,1015,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2305,101,1016,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2306,101,1017,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2307,101,1018,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2308,101,1019,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2309,101,1020,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2310,101,1021,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2311,101,1022,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2312,101,1023,'1','2023-02-09 23:49:46','1','2023-02-09 23:49:46',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2789,136,1,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2790,136,1036,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2791,136,1037,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2792,136,1038,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2793,136,1039,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2794,136,100,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2795,136,101,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2796,136,1063,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2797,136,103,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2798,136,1064,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2799,136,1001,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2800,136,1065,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2801,136,1002,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2802,136,1003,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2803,136,107,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2804,136,1004,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2805,136,1005,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2806,136,1006,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2807,136,1007,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2808,136,1008,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2809,136,1009,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2810,136,1010,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2811,136,1011,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2812,136,1012,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2813,136,1017,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2814,136,1018,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2815,136,1019,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2816,136,1020,'1','2023-03-05 21:23:32','1','2023-03-05 21:23:32',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2817,137,1,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2818,137,1036,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2819,137,1037,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2820,137,1038,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2821,137,1039,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2822,137,100,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2823,137,101,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2824,137,1063,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2825,137,103,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2826,137,1064,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2827,137,1001,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2828,137,1065,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2829,137,1002,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2830,137,1003,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2831,137,107,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2832,137,1004,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2833,137,1005,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2834,137,1006,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2835,137,1007,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2836,137,1008,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2837,137,1009,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2838,137,1010,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2839,137,1011,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2840,137,1012,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2841,137,1017,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2842,137,1018,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2843,137,1019,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2844,137,1020,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2845,138,1,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2846,138,1036,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2847,138,1037,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2848,138,1038,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2849,138,1039,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2850,138,100,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2851,138,101,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2852,138,1063,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2853,138,103,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2854,138,1064,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2855,138,1001,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2856,138,1065,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2857,138,1002,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2858,138,1003,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2859,138,107,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2860,138,1004,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2861,138,1005,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2862,138,1006,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2863,138,1007,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2864,138,1008,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2865,138,1009,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2866,138,1010,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2867,138,1011,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2868,138,1012,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2869,138,1017,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2870,138,1018,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2871,138,1019,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"("ID","ROLE_ID","MENU_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(2872,138,1020,'1','2023-03-05 21:59:02','1','2023-03-05 21:59:02',0,149);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_SENSITIVE_WORD" ON;
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_SENSITIVE_WORD" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL" ON;
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL"("ID","SIGNATURE","CODE","STATUS","REMARK","API_KEY","API_SECRET","CALLBACK_URL","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(2,'Ballcat','ALIYUN',0,'啦啦啦','LTAI5tCnKso2uG3kJ5gRav88','fGJ5SNXL7P1NHNRmJ7DJaMJGPyE55C',null,'','2021-03-31 11:53:10','1','2021-04-14 00:08:37',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL"("ID","SIGNATURE","CODE","STATUS","REMARK","API_KEY","API_SECRET","CALLBACK_URL","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(4,'测试渠道','DEBUG_DING_TALK',0,'123','696b5d8ead48071237e4aa5861ff08dbadb2b4ded1c688a7b7c9afc615579859','SEC5c4e5ff888bc8a9923ae47f59e7ccd30af1f14d93c55b4e2c9cb094e35aeed67',null,'1','2021-04-13 00:23:14','1','2022-03-27 20:29:49',0);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL"("ID","SIGNATURE","CODE","STATUS","REMARK","API_KEY","API_SECRET","CALLBACK_URL","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED") VALUES(6,'测试演示','DEBUG_DING_TALK',0,null,'696b5d8ead48071237e4aa5861ff08dbadb2b4ded1c688a7b7c9afc615579859','SEC5c4e5ff888bc8a9923ae47f59e7ccd30af1f14d93c55b4e2c9cb094e35aeed67',null,'1','2022-04-10 23:07:59','1','2022-06-19 00:33:54',0);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE" ON;
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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','2023-03-24 23:45:07',0);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER_BIND" ON;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER_BIND" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_TENANT" ON;
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_TENANT" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_TENANT_PACKAGE" ON;
+INSERT INTO "RUOYI_VUE_PRO"."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',0);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_TENANT_PACKAGE" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_USERS" ON;
+INSERT INTO "RUOYI_VUE_PRO"."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,'0:0:0:0:0:0:0:1','2023-04-13 23:09:16','admin','2021-01-05 17:03:47',null,'2023-04-13 23:09:16',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,118);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,119);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,120);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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$3alwklxqfq8/hKoW6oUV0OJp0IdQpBDauLy4633SpUjrRsStl6kMa','新对象',null,100,'[]','','',1,'',0,'0:0:0:0:0:0:0:1','2023-02-10 13:48:13','1','2022-02-23 19:08:03',null,'2023-02-10 13:48:13',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_USERS"("ID","USERNAME","PASSWORD","NICKNAME","REMARK","DEPT_ID","POST_IDS","EMAIL","MOBILE","SEX","AVATAR","STATUS","LOGIN_IP","LOGIN_DATE","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(114,'hrmgr','$2a$10$TR4eybBioGRhBmDBWkqWLO6NIh3mzYa8KBKDDB5woiGYFVlRAi.fu','hr 小姐姐',null,null,'[3]','','',0,'',0,'127.0.0.1','2022-03-19 22:15:43','1','2022-03-19 21:50:58',null,'2022-03-19 22:15:43',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,124);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."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(123,'tudou','$2a$10$m33ROHSPa9lshwQIaiVlFeoG1TZjCoQmfvExn4QWS8r5X59AEsTz2','15601691234',null,null,null,'','',0,'',0,'',null,'1','2023-03-05 21:23:35','1','2023-03-05 21:23:35',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."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(124,'tudou','$2a$10$1pzAJAEIRf/vYyMy8FTFiOzX40Q/NnozXixun/ExPZwv8A/CQkR4q','15601691234',null,null,null,'','',0,'',0,'',null,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."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(125,'admin','$2a$10$E49momkI6Uf9v6pkfjoRP.dHzK4RjDIK39AWHz9eXRmqUR5sbJpoy','秃头',null,null,null,'','',0,'',0,'',null,'1','2023-03-05 21:59:03','1','2023-03-05 21:59:03',0,149);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_USERS" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_USER_POST" ON;
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_USER_POST" OFF;
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_USER_ROLE" ON;
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,118);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,119);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,120);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,121);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,122);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,124);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,125);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,126);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,127);
+INSERT INTO "RUOYI_VUE_PRO"."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',0,129);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_USER_ROLE"("ID","USER_ID","ROLE_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(27,112,101,'1','2023-02-09 23:18:51','1','2023-02-09 23:18:51',0,1);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_USER_ROLE"("ID","USER_ID","ROLE_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(28,123,136,'1','2023-03-05 21:23:35','1','2023-03-05 21:23:35',0,147);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_USER_ROLE"("ID","USER_ID","ROLE_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(29,124,137,'1','2023-03-05 21:42:27','1','2023-03-05 21:42:27',0,148);
+INSERT INTO "RUOYI_VUE_PRO"."SYSTEM_USER_ROLE"("ID","USER_ID","ROLE_ID","CREATOR","CREATE_TIME","UPDATER","UPDATE_TIME","DELETED","TENANT_ID") VALUES(30,125,138,'1','2023-03-05 21:59:03','1','2023-03-05 21:59:03',0,149);
+
+SET IDENTITY_INSERT "RUOYI_VUE_PRO"."SYSTEM_USER_ROLE" OFF;
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_TEMPLATE" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_ACCESS_TOKEN" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_APPROVE" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CODE" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_REFRESH_TOKEN" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_POST" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_ROLE" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_SENSITIVE_WORD" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER_BIND" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_TENANT" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_TENANT_PACKAGE" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_USERS" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_USER_POST" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_USER_ROLE" ADD CONSTRAINT  PRIMARY KEY("ID") ;
+
+CREATE INDEX "IDX_MOBILE"
+ON "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE"("MOBILE");
+
+ALTER TABLE "RUOYI_VUE_PRO"."SYSTEM_USERS" ADD CONSTRAINT "IDX_USERNAME" UNIQUE("USERNAME","UPDATE_TIME","TENANT_ID") ;
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE" IS '站内信消息表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE"."ID" IS '用户ID';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE"."USER_ID" IS '用户id';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE"."USER_TYPE" IS '用户类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE"."TEMPLATE_ID" IS '模版编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE"."TEMPLATE_CODE" IS '模板编码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE"."TEMPLATE_NICKNAME" IS '模版发送人名称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE"."TEMPLATE_CONTENT" IS '模版内容';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE"."TEMPLATE_TYPE" IS '模版类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE"."TEMPLATE_PARAMS" IS '模版参数';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE"."READ_STATUS" IS '是否已读';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE"."READ_TIME" IS '阅读时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_MESSAGE"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_TEMPLATE" IS '站内信模板表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_TEMPLATE"."ID" IS '主键';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_TEMPLATE"."NAME" IS '模板名称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_TEMPLATE"."CODE" IS '模版编码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_TEMPLATE"."NICKNAME" IS '发送人名称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_TEMPLATE"."CONTENT" IS '模版内容';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_TEMPLATE"."TYPE" IS '类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_TEMPLATE"."PARAMS" IS '参数数组';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_TEMPLATE"."STATUS" IS '状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_TEMPLATE"."REMARK" IS '备注';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_TEMPLATE"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_TEMPLATE"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_TEMPLATE"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_TEMPLATE"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_NOTIFY_TEMPLATE"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_ACCESS_TOKEN" IS 'OAuth2 访问令牌';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_ACCESS_TOKEN"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_ACCESS_TOKEN"."USER_ID" IS '用户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_ACCESS_TOKEN"."USER_TYPE" IS '用户类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_ACCESS_TOKEN"."ACCESS_TOKEN" IS '访问令牌';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_ACCESS_TOKEN"."REFRESH_TOKEN" IS '刷新令牌';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_ACCESS_TOKEN"."CLIENT_ID" IS '客户端编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_ACCESS_TOKEN"."SCOPES" IS '授权范围';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_ACCESS_TOKEN"."EXPIRES_TIME" IS '过期时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_ACCESS_TOKEN"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_ACCESS_TOKEN"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_ACCESS_TOKEN"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_ACCESS_TOKEN"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_ACCESS_TOKEN"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_ACCESS_TOKEN"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_APPROVE" IS 'OAuth2 批准表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_APPROVE"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_APPROVE"."USER_ID" IS '用户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_APPROVE"."USER_TYPE" IS '用户类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_APPROVE"."CLIENT_ID" IS '客户端编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_APPROVE"."SCOPE" IS '授权范围';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_APPROVE"."APPROVED" IS '是否接受';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_APPROVE"."EXPIRES_TIME" IS '过期时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_APPROVE"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_APPROVE"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_APPROVE"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_APPROVE"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_APPROVE"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_APPROVE"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT" IS 'OAuth2 客户端表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."CLIENT_ID" IS '客户端编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."SECRET" IS '客户端密钥';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."NAME" IS '应用名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."LOGO" IS '应用图标';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."DESCRIPTION" IS '应用描述';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."STATUS" IS '状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."ACCESS_TOKEN_VALIDITY_SECONDS" IS '访问令牌的有效期';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."REFRESH_TOKEN_VALIDITY_SECONDS" IS '刷新令牌的有效期';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."REDIRECT_URIS" IS '可重定向的 URI 地址';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."AUTHORIZED_GRANT_TYPES" IS '授权类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."SCOPES" IS '授权范围';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."AUTO_APPROVE_SCOPES" IS '自动通过的授权范围';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."AUTHORITIES" IS '权限';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."RESOURCE_IDS" IS '资源';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."ADDITIONAL_INFORMATION" IS '附加信息';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CLIENT"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CODE" IS 'OAuth2 授权码表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CODE"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CODE"."USER_ID" IS '用户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CODE"."USER_TYPE" IS '用户类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CODE"."CODE" IS '授权码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CODE"."CLIENT_ID" IS '客户端编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CODE"."SCOPES" IS '授权范围';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CODE"."EXPIRES_TIME" IS '过期时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CODE"."REDIRECT_URI" IS '可重定向的 URI 地址';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CODE"."STATE" IS '状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CODE"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CODE"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CODE"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CODE"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CODE"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_CODE"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_REFRESH_TOKEN" IS 'OAuth2 刷新令牌';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_REFRESH_TOKEN"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_REFRESH_TOKEN"."USER_ID" IS '用户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_REFRESH_TOKEN"."REFRESH_TOKEN" IS '刷新令牌';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_REFRESH_TOKEN"."USER_TYPE" IS '用户类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_REFRESH_TOKEN"."CLIENT_ID" IS '客户端编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_REFRESH_TOKEN"."SCOPES" IS '授权范围';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_REFRESH_TOKEN"."EXPIRES_TIME" IS '过期时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_REFRESH_TOKEN"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_REFRESH_TOKEN"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_REFRESH_TOKEN"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_REFRESH_TOKEN"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_REFRESH_TOKEN"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OAUTH2_REFRESH_TOKEN"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG" IS '操作日志记录';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."ID" IS '日志主键';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."TRACE_ID" IS '链路追踪编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."USER_ID" IS '用户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."USER_TYPE" IS '用户类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."MODULE" IS '模块标题';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."NAME" IS '操作名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."TYPE" IS '操作分类';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."CONTENT" IS '操作内容';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."EXTS" IS '拓展字段';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."REQUEST_METHOD" IS '请求方法名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."REQUEST_URL" IS '请求地址';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."USER_IP" IS '用户 IP';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."USER_AGENT" IS '浏览器 UA';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."JAVA_METHOD" IS 'Java 方法名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."JAVA_METHOD_ARGS" IS 'Java 方法的参数';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."START_TIME" IS '操作时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."DURATION" IS '执行时长';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."RESULT_CODE" IS '结果码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."RESULT_MSG" IS '结果提示';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."RESULT_DATA" IS '结果数据';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_OPERATE_LOG"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_POST" IS '岗位信息表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_POST"."ID" IS '岗位ID';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_POST"."CODE" IS '岗位编码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_POST"."NAME" IS '岗位名称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_POST"."SORT" IS '显示顺序';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_POST"."STATUS" IS '状态(0正常 1停用)';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_POST"."REMARK" IS '备注';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_POST"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_POST"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_POST"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_POST"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_POST"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_POST"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_ROLE" IS '角色信息表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE"."ID" IS '角色ID';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE"."NAME" IS '角色名称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE"."CODE" IS '角色权限字符串';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE"."SORT" IS '显示顺序';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE"."DATA_SCOPE" IS '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE"."DATA_SCOPE_DEPT_IDS" IS '数据范围(指定部门数组)';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE"."STATUS" IS '角色状态(0正常 1停用)';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE"."TYPE" IS '角色类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE"."REMARK" IS '备注';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU" IS '角色和菜单关联表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"."ID" IS '自增编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"."ROLE_ID" IS '角色ID';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"."MENU_ID" IS '菜单ID';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_ROLE_MENU"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_SENSITIVE_WORD" IS '敏感词';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SENSITIVE_WORD"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SENSITIVE_WORD"."NAME" IS '敏感词';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SENSITIVE_WORD"."DESCRIPTION" IS '描述';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SENSITIVE_WORD"."TAGS" IS '标签数组';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SENSITIVE_WORD"."STATUS" IS '状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SENSITIVE_WORD"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SENSITIVE_WORD"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SENSITIVE_WORD"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SENSITIVE_WORD"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SENSITIVE_WORD"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL" IS '短信渠道';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL"."SIGNATURE" IS '短信签名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL"."CODE" IS '渠道编码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL"."STATUS" IS '开启状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL"."REMARK" IS '备注';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL"."API_KEY" IS '短信 API 的账号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL"."API_SECRET" IS '短信 API 的秘钥';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL"."CALLBACK_URL" IS '短信发送回调 URL';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CHANNEL"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE" IS '手机验证码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE"."MOBILE" IS '手机号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE"."CODE" IS '验证码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE"."CREATE_IP" IS '创建 IP';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE"."SCENE" IS '发送场景';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE"."TODAY_INDEX" IS '今日发送的第几条';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE"."USED" IS '是否使用';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE"."USED_TIME" IS '使用时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE"."USED_IP" IS '使用 IP';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_CODE"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG" IS '短信日志';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."CHANNEL_ID" IS '短信渠道编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."CHANNEL_CODE" IS '短信渠道编码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."TEMPLATE_ID" IS '模板编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."TEMPLATE_CODE" IS '模板编码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."TEMPLATE_TYPE" IS '短信类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."TEMPLATE_CONTENT" IS '短信内容';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."TEMPLATE_PARAMS" IS '短信参数';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."API_TEMPLATE_ID" IS '短信 API 的模板编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."MOBILE" IS '手机号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."USER_ID" IS '用户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."USER_TYPE" IS '用户类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."SEND_STATUS" IS '发送状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."SEND_TIME" IS '发送时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."SEND_CODE" IS '发送结果的编码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."SEND_MSG" IS '发送结果的提示';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."API_SEND_CODE" IS '短信 API 发送结果的编码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."API_SEND_MSG" IS '短信 API 发送失败的提示';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."API_REQUEST_ID" IS '短信 API 发送返回的唯一请求 ID';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."API_SERIAL_NO" IS '短信 API 发送返回的序号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."RECEIVE_STATUS" IS '接收状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."RECEIVE_TIME" IS '接收时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."API_RECEIVE_CODE" IS 'API 接收结果的编码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."API_RECEIVE_MSG" IS 'API 接收结果的说明';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_LOG"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE" IS '短信模板';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE"."ID" IS '编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE"."TYPE" IS '短信签名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE"."STATUS" IS '开启状态';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE"."CODE" IS '模板编码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE"."NAME" IS '模板名称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE"."CONTENT" IS '模板内容';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE"."PARAMS" IS '参数数组';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE"."REMARK" IS '备注';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE"."API_TEMPLATE_ID" IS '短信 API 的模板编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE"."CHANNEL_ID" IS '短信渠道编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE"."CHANNEL_CODE" IS '短信渠道编码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SMS_TEMPLATE"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER" IS '社交用户表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER"."ID" IS '主键(自增策略)';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER"."TYPE" IS '社交平台的类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER"."OPENID" IS '社交 openid';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER"."TOKEN" IS '社交 token';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER"."RAW_TOKEN_INFO" IS '原始 Token 数据,一般是 JSON 格式';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER"."NICKNAME" IS '用户昵称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER"."AVATAR" IS '用户头像';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER"."RAW_USER_INFO" IS '原始用户数据,一般是 JSON 格式';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER"."CODE" IS '最后一次的认证 code';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER"."STATE" IS '最后一次的认证 state';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER_BIND" IS '社交绑定表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER_BIND"."ID" IS '主键(自增策略)';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER_BIND"."USER_ID" IS '用户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER_BIND"."USER_TYPE" IS '用户类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER_BIND"."SOCIAL_TYPE" IS '社交平台的类型';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER_BIND"."SOCIAL_USER_ID" IS '社交用户的编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER_BIND"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER_BIND"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER_BIND"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER_BIND"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER_BIND"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_SOCIAL_USER_BIND"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_TENANT" IS '租户表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT"."ID" IS '租户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT"."NAME" IS '租户名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT"."CONTACT_USER_ID" IS '联系人的用户编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT"."CONTACT_NAME" IS '联系人';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT"."CONTACT_MOBILE" IS '联系手机';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT"."STATUS" IS '租户状态(0正常 1停用)';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT"."DOMAIN" IS '绑定域名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT"."PACKAGE_ID" IS '租户套餐编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT"."EXPIRE_TIME" IS '过期时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT"."ACCOUNT_COUNT" IS '账号数量';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_TENANT_PACKAGE" IS '租户套餐表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT_PACKAGE"."ID" IS '套餐编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT_PACKAGE"."NAME" IS '套餐名';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT_PACKAGE"."STATUS" IS '租户状态(0正常 1停用)';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT_PACKAGE"."REMARK" IS '备注';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT_PACKAGE"."MENU_IDS" IS '关联的菜单编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT_PACKAGE"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT_PACKAGE"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT_PACKAGE"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT_PACKAGE"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_TENANT_PACKAGE"."DELETED" IS '是否删除';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_USERS" IS '用户信息表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USERS"."ID" IS '用户ID';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USERS"."USERNAME" IS '用户账号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USERS"."PASSWORD" IS '密码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USERS"."NICKNAME" IS '用户昵称';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USERS"."REMARK" IS '备注';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USERS"."DEPT_ID" IS '部门ID';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USERS"."POST_IDS" IS '岗位编号数组';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USERS"."EMAIL" IS '用户邮箱';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USERS"."MOBILE" IS '手机号码';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USERS"."SEX" IS '用户性别';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USERS"."AVATAR" IS '头像地址';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USERS"."STATUS" IS '帐号状态(0正常 1停用)';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USERS"."LOGIN_IP" IS '最后登录IP';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USERS"."LOGIN_DATE" IS '最后登录时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USERS"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USERS"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USERS"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USERS"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USERS"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USERS"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_USER_POST" IS '用户岗位表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USER_POST"."ID" IS 'id';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USER_POST"."USER_ID" IS '用户ID';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USER_POST"."POST_ID" IS '岗位ID';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USER_POST"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USER_POST"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USER_POST"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USER_POST"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USER_POST"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USER_POST"."TENANT_ID" IS '租户编号';
+
+COMMENT ON TABLE "RUOYI_VUE_PRO"."SYSTEM_USER_ROLE" IS '用户和角色关联表';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USER_ROLE"."ID" IS '自增编号';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USER_ROLE"."USER_ID" IS '用户ID';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USER_ROLE"."ROLE_ID" IS '角色ID';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USER_ROLE"."CREATOR" IS '创建者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USER_ROLE"."CREATE_TIME" IS '创建时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USER_ROLE"."UPDATER" IS '更新者';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USER_ROLE"."UPDATE_TIME" IS '更新时间';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USER_ROLE"."DELETED" IS '是否删除';
+
+COMMENT ON COLUMN "RUOYI_VUE_PRO"."SYSTEM_USER_ROLE"."TENANT_ID" IS '租户编号';
+

From 8ec0be01a8a5356e4fd04ab7d36e5c20fdde70ec Mon Sep 17 00:00:00 2001
From: LiuZijian <lzj@123>
Date: Tue, 9 May 2023 14:03:45 +0800
Subject: [PATCH 37/58] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E8=BE=BE?=
 =?UTF-8?q?=E6=A2=A6=E6=95=B0=E6=8D=AE=E5=BA=93=E9=A9=B1=E5=8A=A8=EF=BC=8C?=
 =?UTF-8?q?KeyGenerator?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 yudao-dependencies/pom.xml                                | 8 ++++++++
 yudao-framework/yudao-spring-boot-starter-mybatis/pom.xml | 5 ++++-
 .../mybatis/config/YudaoMybatisAutoConfiguration.java     | 7 +++----
 3 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml
index abfc23e06..a13cf8c7f 100644
--- a/yudao-dependencies/pom.xml
+++ b/yudao-dependencies/pom.xml
@@ -28,6 +28,7 @@
         <dynamic-datasource.version>3.6.1</dynamic-datasource.version>
         <mybatis-plus-join-boot-starter.version>1.4.3.2</mybatis-plus-join-boot-starter.version>
         <redisson.version>3.18.0</redisson.version>
+        <dm8.jdbc.version>8.1.2.141</dm8.jdbc.version>
         <!-- 服务保障相关 -->
         <lock4j.version>2.2.3</lock4j.version>
         <resilience4j.version>1.7.1</resilience4j.version>
@@ -228,6 +229,13 @@
                 <version>${redisson.version}</version>
             </dependency>
 
+            <dependency>
+                <groupId>com.dameng</groupId>
+                <artifactId>DmJdbcDriver18</artifactId>
+                <version>${dm8.jdbc.version}</version>
+            </dependency>
+
+
             <!-- Job 定时任务相关 -->
             <dependency>
                 <groupId>cn.iocoder.boot</groupId>
diff --git a/yudao-framework/yudao-spring-boot-starter-mybatis/pom.xml b/yudao-framework/yudao-spring-boot-starter-mybatis/pom.xml
index 4424c72b6..14a7eaf30 100644
--- a/yudao-framework/yudao-spring-boot-starter-mybatis/pom.xml
+++ b/yudao-framework/yudao-spring-boot-starter-mybatis/pom.xml
@@ -45,7 +45,10 @@
             <groupId>com.microsoft.sqlserver</groupId>
             <artifactId>mssql-jdbc</artifactId>
         </dependency>
-
+        <dependency>
+            <groupId>com.dameng</groupId>
+            <artifactId>DmJdbcDriver18</artifactId>
+        </dependency>
         <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>druid-spring-boot-starter</artifactId>
diff --git a/yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/config/YudaoMybatisAutoConfiguration.java b/yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/config/YudaoMybatisAutoConfiguration.java
index 78ee259c8..d5ea3069a 100644
--- a/yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/config/YudaoMybatisAutoConfiguration.java
+++ b/yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/config/YudaoMybatisAutoConfiguration.java
@@ -5,10 +5,7 @@ import cn.iocoder.yudao.framework.mybatis.core.handler.DefaultDBFieldHandler;
 import com.baomidou.mybatisplus.annotation.DbType;
 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
 import com.baomidou.mybatisplus.core.incrementer.IKeyGenerator;
-import com.baomidou.mybatisplus.extension.incrementer.H2KeyGenerator;
-import com.baomidou.mybatisplus.extension.incrementer.KingbaseKeyGenerator;
-import com.baomidou.mybatisplus.extension.incrementer.OracleKeyGenerator;
-import com.baomidou.mybatisplus.extension.incrementer.PostgreKeyGenerator;
+import com.baomidou.mybatisplus.extension.incrementer.*;
 import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
 import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
 import org.apache.ibatis.annotations.Mapper;
@@ -55,6 +52,8 @@ public class YudaoMybatisAutoConfiguration {
                     return new H2KeyGenerator();
                 case KINGBASE_ES:
                     return new KingbaseKeyGenerator();
+                case DM:
+                    return new DmKeyGenerator();
             }
         }
         // 找不到合适的 IKeyGenerator 实现类

From c3d943903042d9d68c27a6ce6f58fb9ddccdf300 Mon Sep 17 00:00:00 2001
From: dhb52 <dhb52@126.com>
Date: Tue, 9 May 2023 23:38:39 +0800
Subject: [PATCH 38/58] =?UTF-8?q?perf:=20admin/Dockerfile=20=E6=8C=82?=
 =?UTF-8?q?=E8=BD=BD=E5=8C=85=E7=AE=A1=E7=90=86=E5=99=A8=E7=BC=93=E5=AD=98?=
 =?UTF-8?q?=E7=9B=AE=E5=BD=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 yudao-ui-admin/Dockerfile | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/yudao-ui-admin/Dockerfile b/yudao-ui-admin/Dockerfile
index 382c3eb41..6c74b4eaa 100644
--- a/yudao-ui-admin/Dockerfile
+++ b/yudao-ui-admin/Dockerfile
@@ -1,11 +1,10 @@
-FROM node:16-alpine as DIST
+FROM node:16-alpine as build-stage
 
 WORKDIR /admim
 
-COPY ./package.json .
-COPY ./yarn.lock .
-COPY ./.npmrc .
-RUN yarn install
+COPY .npmrc package.json yarn.lock ./
+RUN --mount=type=cache,id=yarn-store,target=/root/.yarn-store \
+    yarn install
 
 COPY . .
 ARG NODE_ENV=""
@@ -17,6 +16,6 @@ FROM nginx:alpine
 ENV TZ=Asia/Shanghai
 
 COPY ./nginx.conf /etc/nginx/conf.d/default.conf
-COPY --from=DIST /admim/dist /usr/share/nginx/html
+COPY --from=build-stage /admim/dist /usr/share/nginx/html
 
 EXPOSE 80

From 912e18857a1767e5b954ad4c4a62282a1f6fc3c6 Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Wed, 10 May 2023 17:28:41 +0800
Subject: [PATCH 39/58] =?UTF-8?q?feat:=20vben=20=E6=96=87=E4=BB=B6?=
 =?UTF-8?q?=E4=B8=8A=E4=BC=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../resources/codegen/vue3_vben/views/data.ts.vm     | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
index 9b0258eb5..1a88d5253 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
@@ -97,9 +97,17 @@ export const createFormSchema: FormSchema[] = [
   #if ($column.htmlType == "input")
     component: 'Input'
   #elseif($column.htmlType == "imageUpload")## 图片上传
-    component: 'Upload'
+    component: 'FileUpload',
+    componentProps: {
+      fileType: 'file',
+      maxCount: 1
+    }
   #elseif($column.htmlType == "fileUpload")## 文件上传
-    component: 'Upload'
+    component: 'FileUpload',
+    componentProps: {
+      fileType: 'image',
+      maxCount: 1
+    }
   #elseif($column.htmlType == "editor")## 文本编辑器
     component: 'Editor'
   #elseif($column.htmlType == "select")## 下拉框

From d794c2c1982964291af51c4a47a48f9682373103 Mon Sep 17 00:00:00 2001
From: dhb52 <dhb52@126.com>
Date: Wed, 10 May 2023 23:12:12 +0800
Subject: [PATCH 40/58] =?UTF-8?q?fix:=20bpm/task=E8=B7=AF=E7=94=B1?=
 =?UTF-8?q?=E9=94=99=E8=AF=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 yudao-ui-admin/src/views/bpm/task/{done.vue => done/index.vue} | 0
 yudao-ui-admin/src/views/bpm/task/{todo.vue => todo/index.vue} | 0
 2 files changed, 0 insertions(+), 0 deletions(-)
 rename yudao-ui-admin/src/views/bpm/task/{done.vue => done/index.vue} (100%)
 rename yudao-ui-admin/src/views/bpm/task/{todo.vue => todo/index.vue} (100%)

diff --git a/yudao-ui-admin/src/views/bpm/task/done.vue b/yudao-ui-admin/src/views/bpm/task/done/index.vue
similarity index 100%
rename from yudao-ui-admin/src/views/bpm/task/done.vue
rename to yudao-ui-admin/src/views/bpm/task/done/index.vue
diff --git a/yudao-ui-admin/src/views/bpm/task/todo.vue b/yudao-ui-admin/src/views/bpm/task/todo/index.vue
similarity index 100%
rename from yudao-ui-admin/src/views/bpm/task/todo.vue
rename to yudao-ui-admin/src/views/bpm/task/todo/index.vue

From 4891f1853848782da3e17708b6146b09ce988972 Mon Sep 17 00:00:00 2001
From: dhb52 <dhb52@126.com>
Date: Wed, 10 May 2023 23:39:31 +0800
Subject: [PATCH 41/58] =?UTF-8?q?perf:=20=E6=B7=BB=E5=8A=A0docker-compose/?=
 =?UTF-8?q?name=E5=AD=97=E6=AE=B5=EF=BC=8Cui/Dockerfile=20--frozen-lockfil?=
 =?UTF-8?q?e?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 docker-compose.yml        | 2 ++
 yudao-ui-admin/Dockerfile | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/docker-compose.yml b/docker-compose.yml
index 0d9e9754d..29f935367 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,5 +1,7 @@
 version: "3.8"
 
+name: yudao-system
+
 services:
   mysql:
     container_name: yudao-mysql
diff --git a/yudao-ui-admin/Dockerfile b/yudao-ui-admin/Dockerfile
index 6c74b4eaa..4764e741b 100644
--- a/yudao-ui-admin/Dockerfile
+++ b/yudao-ui-admin/Dockerfile
@@ -4,7 +4,7 @@ WORKDIR /admim
 
 COPY .npmrc package.json yarn.lock ./
 RUN --mount=type=cache,id=yarn-store,target=/root/.yarn-store \
-    yarn install
+    yarn install --frozen-lockfile
 
 COPY . .
 ARG NODE_ENV=""

From 9d68c621776585567f5bc42f130cce74fe4a5fdf Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Thu, 11 May 2023 17:36:58 +0800
Subject: [PATCH 42/58] refactor: vben dict

---
 .../codegen/vue3_vben/views/data.ts.vm        | 37 ++++---------------
 1 file changed, 8 insertions(+), 29 deletions(-)

diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
index 1a88d5253..981b136d3 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
@@ -1,5 +1,5 @@
 import { BasicColumn, FormSchema, useRender } from '@/components/Table'
-import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
+import { DICT_TYPE, getDictOpts } from '@/utils/dict'
 
 export const columns: BasicColumn[] = [
 #foreach($column in $columns)
@@ -53,14 +53,7 @@ export const searchFormSchema: FormSchema[] = [
     component: 'Select',
     componentProps: {
       #if ("" != $dictType)## 设置了 dictType 数据字典的情况
-        #if ($javaType == "Integer" || $javaType == "Long" || $javaType == "Byte" || $javaType == "Short")
-          #set ($dictMethod = "getIntDictOptions")
-        #elseif ($javaType == "String")
-          #set ($dictMethod = "getStrDictOptions")
-        #elseif ($javaType == "Boolean")
-          #set ($dictMethod = "getBoolDictOptions")
-        #end
-        options: $dictMethod(DICT_TYPE.$dictType.toUpperCase())
+        options: getDictOpts(DICT_TYPE.$dictType.toUpperCase())
       #else## 未设置 dictType 数据字典的情况
         options: []
       #end
@@ -114,14 +107,7 @@ export const createFormSchema: FormSchema[] = [
     component: 'Select',
     componentProps: {
       #if ("" != $dictType)## 有数据字典
-        #if ($javaType == "Integer" || $javaType == "Long" || $javaType == "Byte" || $javaType == "Short")
-          #set ($dictMethod = "getIntDictOptions")
-        #elseif ($javaType == "String")
-          #set ($dictMethod = "getStrDictOptions")
-        #elseif ($javaType == "Boolean")
-          #set ($dictMethod = "getBoolDictOptions")
-        #end
-        options: $dictMethod(DICT_TYPE.$dictType.toUpperCase())
+        options: getDictOpts(DICT_TYPE.$dictType.toUpperCase())
       #else##没数据字典
         options:[]
       #end
@@ -130,7 +116,7 @@ export const createFormSchema: FormSchema[] = [
     component: 'Checkbox',
     componentProps: {
       #if ("" != $dictType)## 有数据字典
-        options: getIntDictOptions(DICT_TYPE.COMMON_STATUS)
+        options: getDictOpts(DICT_TYPE.$dictType.toUpperCase())
       #else##没数据字典
         options:[]
       #end
@@ -139,7 +125,7 @@ export const createFormSchema: FormSchema[] = [
     component: 'Radio',
     componentProps: {
       #if ("" != $dictType)## 有数据字典
-        options: getIntDictOptions(DICT_TYPE.COMMON_STATUS)
+        options: getDictOpts(DICT_TYPE.$dictType.toUpperCase())
       #else##没数据字典
         options:[]
       #end
@@ -187,14 +173,7 @@ export const updateFormSchema: FormSchema[] = [
     component: 'Select',
     componentProps: {
       #if ("" != $dictType)## 有数据字典
-        #if ($javaType == "Integer" || $javaType == "Long" || $javaType == "Byte" || $javaType == "Short")
-          #set ($dictMethod = "getIntDictOptions")
-        #elseif ($javaType == "String")
-          #set ($dictMethod = "getStrDictOptions")
-        #elseif ($javaType == "Boolean")
-          #set ($dictMethod = "getBoolDictOptions")
-        #end
-        options: $dictMethod(DICT_TYPE.$dictType.toUpperCase())
+        options: getDictOpts(DICT_TYPE.$dictType.toUpperCase())
       #else##没数据字典
         options:[]
       #end
@@ -203,7 +182,7 @@ export const updateFormSchema: FormSchema[] = [
     component: 'Checkbox',
     componentProps: {
       #if ("" != $dictType)## 有数据字典
-        options: getIntDictOptions(DICT_TYPE.COMMON_STATUS)
+        options: getDictOpts(DICT_TYPE.$dictType.toUpperCase())
       #else##没数据字典
         options:[]
       #end
@@ -212,7 +191,7 @@ export const updateFormSchema: FormSchema[] = [
     component: 'Radio',
     componentProps: {
       #if ("" != $dictType)## 有数据字典
-        options: getIntDictOptions(DICT_TYPE.COMMON_STATUS)
+        options: getDictOpts(DICT_TYPE.$dictType.toUpperCase())
       #else##没数据字典
         options:[]
       #end

From 7c1a4db5a9acbedb599545ae5894f4a0f4afc278 Mon Sep 17 00:00:00 2001
From: dhb52 <dhb52@126.com>
Date: Fri, 12 May 2023 11:03:13 +0800
Subject: [PATCH 43/58] =?UTF-8?q?fix:=20=E6=B7=BB=E5=8A=A0redis=E5=8D=B7,?=
 =?UTF-8?q?=20=E4=BF=AE=E6=94=B9host=E7=BB=91=E5=AE=9A=E7=AB=AF=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 docker-compose.yml | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/docker-compose.yml b/docker-compose.yml
index 29f935367..cec84d55a 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -9,7 +9,7 @@ services:
     restart: unless-stopped
     tty: true
     ports:
-      - 3308:3306
+      - 13306:3306
     environment:
       MYSQL_DATABASE: ${MYSQL_DATABASE:-ruoyi-vue-pro}
       MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-123456}
@@ -23,7 +23,9 @@ services:
     image: redis:6-alpine
     restart: unless-stopped
     ports:
-      - 6379:6379
+      - 16379:6379
+    volumes:
+      - redis:/data
     networks:
       - yudao-network
 
@@ -89,3 +91,5 @@ networks:
 volumes:
   mysql:
     driver: local
+  redis:
+    driver: local

From 69ebfbe1053f392f0c066b0f3f8d5d1a30e7aa7c Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Fri, 12 May 2023 11:19:57 +0800
Subject: [PATCH 44/58] =?UTF-8?q?feat:=20=E9=80=82=E9=85=8Dvue3.3=20define?=
 =?UTF-8?q?Options?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../codegen/vue3_vben/views/form.vue.vm       |   4 +-
 .../codegen/vue3_vben/views/index.vue.vm      | 100 +++++++++---------
 2 files changed, 54 insertions(+), 50 deletions(-)

diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/form.vue.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/form.vue.vm
index 99dbd3a6b..5815a4daa 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/form.vue.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/form.vue.vm
@@ -3,7 +3,7 @@
     <BasicForm @register="registerForm" />
   </BasicModal>
 </template>
-<script lang="ts" setup name="${table.className}Modal">
+<script lang="ts" setup>
 import { ref, unref } from 'vue'
 import { useI18n } from '@/hooks/web/useI18n'
 import { useMessage } from '@/hooks/web/useMessage'
@@ -12,6 +12,8 @@ import { BasicModal, useModalInner } from '@/components/Modal'
 import { createFormSchema, updateFormSchema } from './${classNameVar}.data'
 import { create${simpleClassName}, get${simpleClassName}, update${simpleClassName} } from '@/api/${table.moduleName}/${classNameVar}'
 
+defineOptions({ name: '${table.className}Modal' })
+
 const { t } = useI18n()
 const { createMessage } = useMessage()
 const emit = defineEmits(['success', 'register'])
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/index.vue.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/index.vue.vm
index 9130ec9b3..e5faddd29 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/index.vue.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/index.vue.vm
@@ -33,58 +33,60 @@
     <${simpleClassName}Modal @register="registerModal" @success="reload()" />
   </div>
 </template>
-<script lang="ts" setup name="${table.className}">
-  import { useI18n } from '@/hooks/web/useI18n'
-  import { useMessage } from '@/hooks/web/useMessage'
-  import { useModal } from '@/components/Modal'
-  import ${simpleClassName}Modal from './${simpleClassName}Modal.vue'
-  import { IconEnum } from '@/enums/appEnum'
-  import { BasicTable, useTable, TableAction } from '@/components/Table'
-  import { delete${simpleClassName}, export${simpleClassName}, get${simpleClassName}Page } from '@/api/${table.moduleName}/${classNameVar}'
-  import { columns, searchFormSchema } from './${classNameVar}.data'
+<script lang="ts" setup>
+import { useI18n } from '@/hooks/web/useI18n'
+import { useMessage } from '@/hooks/web/useMessage'
+import { useModal } from '@/components/Modal'
+import ${simpleClassName}Modal from './${simpleClassName}Modal.vue'
+import { IconEnum } from '@/enums/appEnum'
+import { BasicTable, useTable, TableAction } from '@/components/Table'
+import { delete${simpleClassName}, export${simpleClassName}, get${simpleClassName}Page } from '@/api/${table.moduleName}/${classNameVar}'
+import { columns, searchFormSchema } from './${classNameVar}.data'
 
-  const { t } = useI18n()
-  const { createConfirm, createMessage } = useMessage()
-  const [registerModal, { openModal }] = useModal()
+defineOptions({ name: '${table.className}' })
 
-  const [registerTable, { getForm, reload }] = useTable({
-    title: '${table.classComment}列表',
-    api: get${simpleClassName}Page,
-    columns,
-    formConfig: { labelWidth: 120, schemas: searchFormSchema },
-    useSearchForm: true,
-    showTableSetting: true,
-    actionColumn: {
-      width: 140,
-      title: t('common.action'),
-      dataIndex: 'action',
-      fixed: 'right'
+const { t } = useI18n()
+const { createConfirm, createMessage } = useMessage()
+const [registerModal, { openModal }] = useModal()
+
+const [registerTable, { getForm, reload }] = useTable({
+  title: '${table.classComment}列表',
+  api: get${simpleClassName}Page,
+  columns,
+  formConfig: { labelWidth: 120, schemas: searchFormSchema },
+  useSearchForm: true,
+  showTableSetting: true,
+  actionColumn: {
+    width: 140,
+    title: t('common.action'),
+    dataIndex: 'action',
+    fixed: 'right'
+  }
+})
+
+function handleCreate() {
+  openModal(true, { isUpdate: false })
+}
+
+function handleEdit(record: Recordable) {
+  openModal(true, { record, isUpdate: true })
+}
+
+async function handleExport() {
+  createConfirm({
+    title: t('common.exportTitle'),
+    iconType: 'warning',
+    content: t('common.exportMessage'),
+    async onOk() {
+      await export${simpleClassName}(getForm().getFieldsValue())
+      createMessage.success(t('common.exportSuccessText'))
     }
   })
+}
 
-  function handleCreate() {
-    openModal(true, { isUpdate: false })
-  }
-
-  function handleEdit(record: Recordable) {
-    openModal(true, { record, isUpdate: true })
-  }
-
-  async function handleExport() {
-    createConfirm({
-      title: t('common.exportTitle'),
-      iconType: 'warning',
-      content: t('common.exportMessage'),
-      async onOk() {
-        await export${simpleClassName}(getForm().getFieldsValue())
-        createMessage.success(t('common.exportSuccessText'))
-      }
-    })
-  }
-
-  async function handleDelete(record: Recordable) {
-    await delete${simpleClassName}(record.id)
-    createMessage.success(t('common.delSuccessText'))
-    reload()
-  }
+async function handleDelete(record: Recordable) {
+  await delete${simpleClassName}(record.id)
+  createMessage.success(t('common.delSuccessText'))
+  reload()
+}
 </script>

From e4a5a5672f4b192f50498efca6053a00b8cdfdab Mon Sep 17 00:00:00 2001
From: "jian.li" <jian.li@china.zhaogang.com>
Date: Fri, 12 May 2023 16:36:55 +0800
Subject: [PATCH 45/58] =?UTF-8?q?StrUtils.maxLength=E4=BC=9A=E5=BC=BA?=
 =?UTF-8?q?=E5=88=B6=E7=BB=99=E5=90=8E=E9=9D=A2=E5=8A=A0=E4=B8=89=E4=B8=AA?=
 =?UTF-8?q?=E7=82=B9=EF=BC=8C=E5=93=AA=E6=80=95=E9=95=BF=E5=BA=A6=E6=B2=A1?=
 =?UTF-8?q?=E6=9C=89=E8=B6=85=E8=BF=87=EF=BC=8C=E4=BC=98=E5=8C=96=E9=95=BF?=
 =?UTF-8?q?=E5=BA=A6=E4=B8=8D=E8=B6=85=E8=BF=87=E4=B8=8D=E5=8A=A0...?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../framework/common/util/collection/SetUtils.java  |  6 +++---
 .../framework/common/util/string/StrUtils.java      | 13 ++++++++++++-
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/collection/SetUtils.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/collection/SetUtils.java
index bc5bc5cb8..e8eba6624 100644
--- a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/collection/SetUtils.java
+++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/collection/SetUtils.java
@@ -1,7 +1,7 @@
 package cn.iocoder.yudao.framework.common.util.collection;
 
-import java.util.Arrays;
-import java.util.HashSet;
+import cn.hutool.core.collection.CollUtil;
+
 import java.util.Set;
 
 /**
@@ -13,7 +13,7 @@ public class SetUtils {
 
     @SafeVarargs
     public static <T> Set<T> asSet(T... objs) {
-        return new HashSet<>(Arrays.asList(objs));
+        return CollUtil.newHashSet(objs);
     }
 
 }
diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/string/StrUtils.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/string/StrUtils.java
index 88ba22d87..46539082c 100644
--- a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/string/StrUtils.java
+++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/string/StrUtils.java
@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.framework.common.util.string;
 
+import cn.hutool.core.lang.Assert;
 import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.StrUtil;
 
@@ -16,7 +17,14 @@ import java.util.stream.Collectors;
 public class StrUtils {
 
     public static String maxLength(CharSequence str, int maxLength) {
-        return StrUtil.maxLength(str, maxLength - 3); // -3 的原因,是该方法会补充 ... 恰好
+        Assert.isTrue(maxLength > 0);
+        if (null == str) {
+            return null;
+        }
+        if (str.length() <= maxLength) {
+            return str.toString();
+        }
+        return StrUtil.sub(str, 0, maxLength - 3) + "..."; // -3 的原因,是该方法会补充 ... 恰好
     }
 
     /**
@@ -45,4 +53,7 @@ public class StrUtils {
         return Arrays.stream(longs).boxed().collect(Collectors.toList());
     }
 
+    public static void main(String[] args) {
+        System.out.println(maxLength("aaaaa", 4));
+    }
 }

From 85047bca7b6ad145bc902c0686e54180b4cf15c3 Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Sun, 14 May 2023 16:48:35 +0800
Subject: [PATCH 46/58] feat: vben dict

---
 .../resources/codegen/vue3_vben/views/data.ts.vm | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
index 981b136d3..0724d5c57 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
@@ -1,5 +1,5 @@
 import { BasicColumn, FormSchema, useRender } from '@/components/Table'
-import { DICT_TYPE, getDictOpts } from '@/utils/dict'
+import { DICT_TYPE, getDictOptions } from '@/utils/dict'
 
 export const columns: BasicColumn[] = [
 #foreach($column in $columns)
@@ -53,7 +53,7 @@ export const searchFormSchema: FormSchema[] = [
     component: 'Select',
     componentProps: {
       #if ("" != $dictType)## 设置了 dictType 数据字典的情况
-        options: getDictOpts(DICT_TYPE.$dictType.toUpperCase())
+        options: getDictOptions(DICT_TYPE.$dictType.toUpperCase())
       #else## 未设置 dictType 数据字典的情况
         options: []
       #end
@@ -107,7 +107,7 @@ export const createFormSchema: FormSchema[] = [
     component: 'Select',
     componentProps: {
       #if ("" != $dictType)## 有数据字典
-        options: getDictOpts(DICT_TYPE.$dictType.toUpperCase())
+        options: getDictOptions(DICT_TYPE.$dictType.toUpperCase(), 'number')
       #else##没数据字典
         options:[]
       #end
@@ -116,7 +116,7 @@ export const createFormSchema: FormSchema[] = [
     component: 'Checkbox',
     componentProps: {
       #if ("" != $dictType)## 有数据字典
-        options: getDictOpts(DICT_TYPE.$dictType.toUpperCase())
+        options: getDictOptions(DICT_TYPE.$dictType.toUpperCase(), 'number')
       #else##没数据字典
         options:[]
       #end
@@ -125,7 +125,7 @@ export const createFormSchema: FormSchema[] = [
     component: 'Radio',
     componentProps: {
       #if ("" != $dictType)## 有数据字典
-        options: getDictOpts(DICT_TYPE.$dictType.toUpperCase())
+        options: getDictOptions(DICT_TYPE.$dictType.toUpperCase(), 'number')
       #else##没数据字典
         options:[]
       #end
@@ -173,7 +173,7 @@ export const updateFormSchema: FormSchema[] = [
     component: 'Select',
     componentProps: {
       #if ("" != $dictType)## 有数据字典
-        options: getDictOpts(DICT_TYPE.$dictType.toUpperCase())
+        options: getDictOptions(DICT_TYPE.$dictType.toUpperCase(), 'number')
       #else##没数据字典
         options:[]
       #end
@@ -182,7 +182,7 @@ export const updateFormSchema: FormSchema[] = [
     component: 'Checkbox',
     componentProps: {
       #if ("" != $dictType)## 有数据字典
-        options: getDictOpts(DICT_TYPE.$dictType.toUpperCase())
+        options: getDictOptions(DICT_TYPE.$dictType.toUpperCase(), 'number')
       #else##没数据字典
         options:[]
       #end
@@ -191,7 +191,7 @@ export const updateFormSchema: FormSchema[] = [
     component: 'Radio',
     componentProps: {
       #if ("" != $dictType)## 有数据字典
-        options: getDictOpts(DICT_TYPE.$dictType.toUpperCase())
+        options: getDictOptions(DICT_TYPE.$dictType.toUpperCase(), 'number')
       #else##没数据字典
         options:[]
       #end

From 21499a4d40f6716c158873220fc5b6382ca45e83 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=81=AC=E9=9C=8D=E9=9C=8D?= <416970882@qq.com>
Date: Mon, 15 May 2023 01:42:48 +0000
Subject: [PATCH 47/58] =?UTF-8?q?update=20yudao-dependencies/pom.xml.=20?=
 =?UTF-8?q?=E8=A7=A3=E5=86=B3tika=E6=8A=A5=E9=94=99=EF=BC=8C=E5=8D=87?=
 =?UTF-8?q?=E7=BA=A7common-io=E5=88=B02.11.0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: 灬霍霍 <416970882@qq.com>
---
 yudao-dependencies/pom.xml | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml
index abfc23e06..f41f92226 100644
--- a/yudao-dependencies/pom.xml
+++ b/yudao-dependencies/pom.xml
@@ -62,6 +62,7 @@
         <!-- 三方云服务相关 -->
         <okio.version>3.0.0</okio.version>
         <okhttp3.version>4.10.0</okhttp3.version>
+        <commons-io.version>2.11.0</commons-io.version>
         <minio.version>8.5.2</minio.version>
         <aliyun-java-sdk-core.version>4.6.3</aliyun-java-sdk-core.version>
         <aliyun-java-sdk-dysmsapi.version>2.2.1</aliyun-java-sdk-dysmsapi.version>
@@ -437,7 +438,11 @@
                 <artifactId>easyexcel</artifactId>
                 <version>${easyexcel.verion}</version>
             </dependency>
-
+            <dependency>
+                <groupId>commons-io</groupId>
+                <artifactId>commons-io</artifactId>
+                <version>${commons-io.version}</version>
+            </dependency>
             <dependency>
                 <groupId>org.apache.tika</groupId>
                 <artifactId>tika-core</artifactId> <!-- 文件类型的识别 -->

From cf61b6056af36d686c93e67458331d5c521659e4 Mon Sep 17 00:00:00 2001
From: YunaiV <zhijiantianya@gmail.com>
Date: Mon, 15 May 2023 21:18:48 +0800
Subject: [PATCH 48/58] =?UTF-8?q?!474=20=E5=A2=9E=E5=8A=A0=E8=BE=BE?=
 =?UTF-8?q?=E6=A2=A6=E6=95=B0=E6=8D=AE=E5=BA=93=E7=9A=84=E9=A9=B1=E5=8A=A8?=
 =?UTF-8?q?=E5=92=8CSQL=E6=96=87=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 yudao-dependencies/pom.xml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml
index a13cf8c7f..36eddba7b 100644
--- a/yudao-dependencies/pom.xml
+++ b/yudao-dependencies/pom.xml
@@ -235,7 +235,6 @@
                 <version>${dm8.jdbc.version}</version>
             </dependency>
 
-
             <!-- Job 定时任务相关 -->
             <dependency>
                 <groupId>cn.iocoder.boot</groupId>

From c74ab7450d1add880e7bf62ca5137a33aa30e628 Mon Sep 17 00:00:00 2001
From: YunaiV <zhijiantianya@gmail.com>
Date: Mon, 15 May 2023 21:56:02 +0800
Subject: [PATCH 49/58] =?UTF-8?q?!470=20fix:=20=E4=BB=A3=E7=A0=81=E7=94=9F?=
 =?UTF-8?q?=E6=88=90=EF=BC=9A=E8=A7=A3=E5=86=B3Java=E4=BB=A3=E7=A0=81DO?=
 =?UTF-8?q?=E5=92=8CVO=E4=B8=AD=E7=9A=84=E8=AD=A6=E5=91=8A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../src/main/resources/codegen/java/controller/vo/pageReqVO.vm  | 2 --
 .../src/main/resources/codegen/java/dal/do.vm                   | 2 --
 2 files changed, 4 deletions(-)

diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/pageReqVO.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/pageReqVO.vm
index 39a8e7684..6f9868da3 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/pageReqVO.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/pageReqVO.vm
@@ -26,8 +26,6 @@ import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
 @ToString(callSuper = true)
 public class ${sceneEnum.prefixClass}${table.className}PageReqVO extends PageParam {
 
-    private static final long serialVersionUID = 1L;
-
 #foreach ($column in $columns)
 #if (${column.listOperation})##查询操作
 #if (${column.listOperationCondition} == "BETWEEN")## 情况一,Between 的时候
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/dal/do.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/dal/do.vm
index 4d2157d97..d551d4b30 100644
--- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/dal/do.vm
+++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/dal/do.vm
@@ -28,8 +28,6 @@ import ${BaseDOClassName};
 @AllArgsConstructor
 public class ${table.className}DO extends BaseDO {
 
-    private static final long serialVersionUID = 1L;
-
 #foreach ($column in $columns)
 #if (!${baseDOFields.contains(${column.javaField})})##排除 BaseDO 的字段
     /**

From 39e52cb145aa2fc9594056be1e2f2c9226818d2f Mon Sep 17 00:00:00 2001
From: walker_lee <lixinforlove@gmail.com>
Date: Thu, 18 May 2023 17:30:54 +0800
Subject: [PATCH 50/58] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Deasyexecl3.3.0?=
 =?UTF-8?q?=20bug=E5=BC=95=E8=B5=B7=E5=AF=BC=E5=87=BA=E8=A1=A8=E6=A0=BC?=
 =?UTF-8?q?=E5=BC=82=E5=B8=B8(java.lang.NoClassDefFoundError:=20com/alibab?=
 =?UTF-8?q?a/excel/support/util/CollectionUtils),=E8=AF=A6=E8=A7=81https:/?=
 =?UTF-8?q?/github.com/alibaba/easyexcel/issues/3174?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 yudao-dependencies/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml
index cde7020dd..b0bf67dd2 100644
--- a/yudao-dependencies/pom.xml
+++ b/yudao-dependencies/pom.xml
@@ -48,7 +48,7 @@
         <lombok.version>1.18.26</lombok.version>
         <mapstruct.version>1.5.5.Final</mapstruct.version>
         <hutool.version>5.8.18</hutool.version>
-        <easyexcel.verion>3.3.0</easyexcel.verion>
+        <easyexcel.verion>3.3.1</easyexcel.verion>
         <velocity.version>2.3</velocity.version>
         <screw.version>1.0.5</screw.version>
         <fastjson.version>1.2.83</fastjson.version>

From e25099a49e31251068b52d1178f180e68c47ce5c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=A8=E6=96=87?= <wen.y@medcloud.cn>
Date: Fri, 19 May 2023 11:08:56 +0800
Subject: [PATCH 51/58] =?UTF-8?q?=E5=8F=91=E9=80=81=E9=82=AE=E4=BB=B6?=
 =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96=EF=BC=8C=E9=82=AE=E4=BB=B6?=
 =?UTF-8?q?=E6=A0=87=E9=A2=98=E6=94=AF=E6=8C=81=E6=A8=A1=E7=89=88=E5=8F=82?=
 =?UTF-8?q?=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../yudao/module/system/service/mail/MailSendServiceImpl.java  | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailSendServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailSendServiceImpl.java
index 72da3cf89..aa93f101a 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailSendServiceImpl.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailSendServiceImpl.java
@@ -89,13 +89,14 @@ public class MailSendServiceImpl implements MailSendService {
 
         // 创建发送日志。如果模板被禁用,则不发送短信,只记录日志
         Boolean isSend = CommonStatusEnum.ENABLE.getStatus().equals(template.getStatus());
+        String title = mailTemplateService.formatMailTemplateContent(template.getTitle(), templateParams);
         String content = mailTemplateService.formatMailTemplateContent(template.getContent(), templateParams);
         Long sendLogId = mailLogService.createMailLog(userId, userType, mail,
                 account, template, content, templateParams, isSend);
         // 发送 MQ 消息,异步执行发送短信
         if (isSend) {
             mailProducer.sendMailSendMessage(sendLogId, mail, account.getId(),
-                    template.getNickname(), template.getTitle(), content);
+                    template.getNickname(), title, content);
         }
         return sendLogId;
     }

From 22c70df11156911a8a445ddb62b590091db4d1c4 Mon Sep 17 00:00:00 2001
From: VT1996 <845855376@qq.com>
Date: Sun, 28 May 2023 14:56:41 +0800
Subject: [PATCH 52/58] =?UTF-8?q?bugfix:=E8=A7=A3=E5=86=B3=E5=85=AC?=
 =?UTF-8?q?=E4=BC=97=E5=8F=B7=E7=B2=89=E4=B8=9D=E5=90=8C=E6=AD=A5api?=
 =?UTF-8?q?=E9=85=8D=E7=BD=AE=E9=94=99=E8=AF=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 yudao-ui-admin/src/api/mp/mpuser.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/yudao-ui-admin/src/api/mp/mpuser.js b/yudao-ui-admin/src/api/mp/mpuser.js
index bde0bd215..200d19052 100644
--- a/yudao-ui-admin/src/api/mp/mpuser.js
+++ b/yudao-ui-admin/src/api/mp/mpuser.js
@@ -29,7 +29,7 @@ export function getUserPage(query) {
 // 同步公众号粉丝
 export function syncUser(accountId) {
   return request({
-    url: '/mp/tag/sync?accountId=' + accountId,
+    url: '/mp/user/sync?accountId=' + accountId,
     method: 'post'
   })
 }

From cc049566d12a58e8fc2da4269d448ea24752754e Mon Sep 17 00:00:00 2001
From: YunaiV <zhijiantianya@gmail.com>
Date: Mon, 29 May 2023 00:05:06 +0800
Subject: [PATCH 53/58] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=82=AE=E4=BB=B6?=
 =?UTF-8?q?=E6=97=A5=E5=BF=97=20sendTime=20=E7=B1=BB=E5=9E=8B=E4=B8=8D?=
 =?UTF-8?q?=E4=B8=80=E8=87=B4=EF=BC=88=E5=BA=94=E8=AF=A5=E4=B8=BA=20LocalD?=
 =?UTF-8?q?ateTime=EF=BC=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../yudao/module/system/dal/dataobject/mail/MailLogDO.java    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailLogDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailLogDO.java
index e2b2c3cc9..0d08c7117 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailLogDO.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailLogDO.java
@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
 import lombok.*;
 
 import java.io.Serializable;
-import java.util.Date;
+import java.time.LocalDateTime;
 import java.util.Map;
 
 /**
@@ -108,7 +108,7 @@ public class MailLogDO extends BaseDO implements Serializable {
     /**
      * 发送时间
      */
-    private Date sendTime;
+    private LocalDateTime sendTime;
     /**
      * 发送返回的消息 ID
      */

From 8004a11036779a364a2a3be654898fe9f8a865bd Mon Sep 17 00:00:00 2001
From: JiangQi <jiangqichina@gmail.com>
Date: Mon, 29 May 2023 09:17:11 +0800
Subject: [PATCH 54/58] =?UTF-8?q?master=E4=BB=A3=E7=A0=81=E9=94=99?=
 =?UTF-8?q?=E8=AF=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../yudao/module/system/service/mail/MailLogServiceImpl.java | 5 +++--
 .../module/system/service/mail/MailLogServiceImplTest.java   | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailLogServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailLogServiceImpl.java
index 743c3a4c7..3e7cdc48b 100644
--- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailLogServiceImpl.java
+++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailLogServiceImpl.java
@@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
+import java.time.LocalDateTime;
 import java.util.Date;
 import java.util.Map;
 import java.util.Objects;
@@ -65,12 +66,12 @@ public class MailLogServiceImpl implements MailLogService {
     public void updateMailSendResult(Long logId, String messageId, Exception exception) {
         // 1. 成功
         if (exception == null) {
-            mailLogMapper.updateById(new MailLogDO().setId(logId).setSendTime(new Date())
+            mailLogMapper.updateById(new MailLogDO().setId(logId).setSendTime(LocalDateTime.now())
                     .setSendStatus(MailSendStatusEnum.SUCCESS.getStatus()).setSendMessageId(messageId));
             return;
         }
         // 2. 失败
-        mailLogMapper.updateById(new MailLogDO().setId(logId).setSendTime(new Date())
+        mailLogMapper.updateById(new MailLogDO().setId(logId).setSendTime(LocalDateTime.now())
                 .setSendStatus(MailSendStatusEnum.FAILURE.getStatus()).setSendException(getRootCauseMessage(exception)));
 
     }
diff --git a/yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/mail/MailLogServiceImplTest.java b/yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/mail/MailLogServiceImplTest.java
index 53acd0ef0..9c2a4806e 100755
--- a/yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/mail/MailLogServiceImplTest.java
+++ b/yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/mail/MailLogServiceImplTest.java
@@ -17,7 +17,7 @@ import javax.annotation.Resource;
 import java.util.Map;
 
 import static cn.hutool.core.util.RandomUtil.randomEle;
-import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime;
+import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildTime;
 import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildBetweenTime;
 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;

From 382c3a46996a74188ac993de77368ffc4d101a6a Mon Sep 17 00:00:00 2001
From: YunaiV <zhijiantianya@gmail.com>
Date: Mon, 29 May 2023 23:13:45 +0800
Subject: [PATCH 55/58] =?UTF-8?q?v1.7.3=20=E7=89=88=E6=9C=AC=E5=8F=91?=
 =?UTF-8?q?=E5=B8=83=E5=95=A6~~~?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 pom.xml                     | 2 +-
 yudao-dependencies/pom.xml  | 2 +-
 yudao-ui-admin/package.json | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/pom.xml b/pom.xml
index dead334ee..dcaa35c12 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,7 +30,7 @@
     <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
 
     <properties>
-        <revision>1.7.2-snapshot</revision>
+        <revision>1.7.3-snapshot</revision>
         <!-- Maven 相关 -->
         <java.version>1.8</java.version>
         <maven.compiler.source>${java.version}</maven.compiler.source>
diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml
index b0bf67dd2..b34b01f63 100644
--- a/yudao-dependencies/pom.xml
+++ b/yudao-dependencies/pom.xml
@@ -14,7 +14,7 @@
     <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
 
     <properties>
-        <revision>1.7.2-snapshot</revision>
+        <revision>1.7.3-snapshot</revision>
         <!-- 统一依赖管理 -->
         <spring.boot.version>2.7.11</spring.boot.version>
         <!-- Web 相关 -->
diff --git a/yudao-ui-admin/package.json b/yudao-ui-admin/package.json
index e0777abd0..e8acd5c97 100644
--- a/yudao-ui-admin/package.json
+++ b/yudao-ui-admin/package.json
@@ -1,6 +1,6 @@
 {
   "name": "yudao-ui-admin",
-  "version": "1.7.2-snapshot",
+  "version": "1.7.3-snapshot",
   "description": "芋道管理系统",
   "author": "芋道",
   "license": "MIT",

From 51cf5b7c6760293f2a584a7f7dcb865de58a319f Mon Sep 17 00:00:00 2001
From: zbk <540064991@qq.com>
Date: Thu, 1 Jun 2023 03:57:13 +0000
Subject: [PATCH 56/58] =?UTF-8?q?=E5=AF=8C=E6=96=87=E6=9C=AC=E7=BC=96?=
 =?UTF-8?q?=E8=BE=91=E5=99=A8=E8=87=AA=E5=8A=A8=E8=81=9A=E7=84=A6=E9=97=AE?=
 =?UTF-8?q?=E9=A2=98=20update=20yudao-ui-admin/src/components/Editor/index?=
 =?UTF-8?q?.vue.=20=E4=BF=AE=E5=A4=8D=E5=AF=8C=E6=96=87=E6=9C=AC=E7=BC=96?=
 =?UTF-8?q?=E8=BE=91=E5=99=A8=E8=87=AA=E5=8A=A8=E8=81=9A=E7=84=A6=E9=97=AE?=
 =?UTF-8?q?=E9=A2=98=EF=BC=9B=20=E6=80=9D=E8=B7=AF=EF=BC=9A=E5=88=9D?=
 =?UTF-8?q?=E5=A7=8B=E5=8C=96=E6=97=B6=E5=88=9D=E5=A7=8B=E5=8C=96=E5=8F=AA?=
 =?UTF-8?q?=E8=AF=BB=E6=A8=A1=E5=BC=8F=E7=9A=84=E7=BC=96=E8=BE=91=E5=99=A8?=
 =?UTF-8?q?=EF=BC=8C=E5=9B=A0=E4=B8=BA=E5=8F=AA=E8=AF=BB=E6=A8=A1=E5=BC=8F?=
 =?UTF-8?q?=E7=9A=84=E7=BC=96=E8=BE=91=E5=99=A8=E4=B8=8D=E4=BC=9A=E5=9B=A0?=
 =?UTF-8?q?=E4=B8=BA=E8=81=9A=E7=84=A6=E9=97=AE=E9=A2=98=E5=B8=A6=E8=B7=91?=
 =?UTF-8?q?=E6=BB=9A=E5=8A=A8=E6=9D=A1=EF=BC=8C=E7=84=B6=E5=90=8E=E6=A0=B9?=
 =?UTF-8?q?=E6=8D=AE=E4=BC=A0=E9=80=92=E7=9A=84=E6=98=AF=E5=90=A6=E5=8F=AA?=
 =?UTF-8?q?=E8=AF=BB=E5=8F=82=E6=95=B0=E8=AE=BE=E7=BD=AE=E7=BC=96=E8=BE=91?=
 =?UTF-8?q?=E5=99=A8=E6=98=AF=E5=90=A6=E5=90=AF=E7=94=A8=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: zbk <540064991@qq.com>
---
 yudao-ui-admin/src/components/Editor/index.vue | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/yudao-ui-admin/src/components/Editor/index.vue b/yudao-ui-admin/src/components/Editor/index.vue
index 61d62434e..bc14fc3a9 100644
--- a/yudao-ui-admin/src/components/Editor/index.vue
+++ b/yudao-ui-admin/src/components/Editor/index.vue
@@ -84,7 +84,7 @@ export default {
           ],
         },
         placeholder: "请输入内容",
-        readOnly: this.readOnly,
+        readOnly: true,
       },
     };
   },
@@ -123,6 +123,13 @@ export default {
     init() {
       const editor = this.$refs.editor;
       this.Quill = new Quill(editor, this.options);
+      // 取消自动聚焦 start
+      this.$nextTick(()=>{
+        this.Quill.blur();
+        if(!this.readOnly){
+          this.Quill.enable();
+        }
+      });
       // 如果设置了上传地址则自定义图片上传事件
       if (this.type === 'url') {
         let toolbar = this.Quill.getModule("toolbar");

From e23fb5024a386503c704205b92947405a96387f0 Mon Sep 17 00:00:00 2001
From: xingyu <xingyu4j@vip.qq.com>
Date: Wed, 14 Jun 2023 15:21:41 +0800
Subject: [PATCH 57/58] =?UTF-8?q?fix:=20required=20=3D=20true=20=E5=B7=B2?=
 =?UTF-8?q?=E8=BF=87=E6=9C=9F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../admin/spu/vo/ProductSpuUpdateReqVO.java   |  6 ++--
 .../admin/order/vo/TradeOrderItemBaseVO.java  | 28 +++++++++----------
 2 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuUpdateReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuUpdateReqVO.java
index 4eac7409c..c7c424fa0 100755
--- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuUpdateReqVO.java
+++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuUpdateReqVO.java
@@ -27,13 +27,13 @@ public class ProductSpuUpdateReqVO extends ProductSpuBaseVO {
     @NotNull(message = "商品编号不能为空")
     private Long id;
 
-    @Schema(description = "商品销量", required = true, example = "1999")
+    @Schema(description = "商品销量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1999")
     private Integer salesCount;
 
-    @Schema(description = "浏览量", required = true, example = "1999")
+    @Schema(description = "浏览量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1999")
     private Integer browseCount;
 
-    @Schema(description = "商品状态", required = true, example = "1")
+    @Schema(description = "商品状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @InEnum(ProductSpuStatusEnum.class)
     private Integer status;
 
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderItemBaseVO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderItemBaseVO.java
index 351d5a787..ded1fe7a1 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderItemBaseVO.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderItemBaseVO.java
@@ -12,47 +12,47 @@ public class TradeOrderItemBaseVO {
 
     // ========== 订单项基本信息 ==========
 
-    @Schema(description = "编号", required = true, example = "1")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
-    @Schema(description = "用户编号", required = true, example = "1")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long userId;
 
-    @Schema(description = "订单编号", required = true, example = "1")
+    @Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long orderId;
 
     // ========== 商品基本信息 ==========
 
-    @Schema(description = "商品 SPU 编号", required = true, example = "1")
+    @Schema(description = "商品 SPU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long spuId;
 
-    @Schema(description = "商品 SPU 名称", required = true, example = "芋道源码")
+    @Schema(description = "商品 SPU 名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道源码")
     private String spuName;
 
-    @Schema(description = "商品 SKU 编号", required = true, example = "1")
+    @Schema(description = "商品 SKU 编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long skuId;
 
-    @Schema(description = "商品图片", required = true, example = "https://www.iocoder.cn/1.png")
+    @Schema(description = "商品图片", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/1.png")
     private String picUrl;
 
-    @Schema(description = "购买数量", required = true, example = "1")
+    @Schema(description = "购买数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer count;
 
     // ========== 价格 + 支付基本信息 ==========
 
-    @Schema(description = "商品原价(单)", required = true, example = "100")
+    @Schema(description = "商品原价(单)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer price;
 
-    @Schema(description = "商品优惠(总)", required = true, example = "100")
+    @Schema(description = "商品优惠(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer discountPrice;
 
-    @Schema(description = "商品实付金额(总)", required = true, example = "100")
+    @Schema(description = "商品实付金额(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer payPrice;
 
-    @Schema(description = "子订单分摊金额(总)", required = true, example = "100")
+    @Schema(description = "子订单分摊金额(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer orderPartPrice;
 
-    @Schema(description = "分摊后子订单实付金额(总)", required = true, example = "100")
+    @Schema(description = "分摊后子订单实付金额(总)", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     private Integer orderDividePrice;
 
     // ========== 营销基本信息 ==========
@@ -61,7 +61,7 @@ public class TradeOrderItemBaseVO {
 
     // ========== 售后基本信息 ==========
 
-    @Schema(description = "售后状态", required = true, example = "1")
+    @Schema(description = "售后状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer afterSaleStatus;
 
 }

From b74991e24261edde587713ffbe9b612c56d5be50 Mon Sep 17 00:00:00 2001
From: YunaiV <zhijiantianya@gmail.com>
Date: Wed, 14 Jun 2023 23:08:22 +0800
Subject: [PATCH 58/58] =?UTF-8?q?mall=20+=20trade=EF=BC=9Amock=20=E6=8B=BC?=
 =?UTF-8?q?=E5=9B=A2=E6=B4=BB=E5=8A=A8=E8=AF=A6=E6=83=85=E7=9A=84=E6=8E=A5?=
 =?UTF-8?q?=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../combination/AppCombinationController.java | 70 +++++++++++++++++++
 .../AppCombinationActivityDetailRespVO.java   | 67 ++++++++++++++++++
 .../vo/AppSeckillActivitiDetailRespVO.java    |  7 +-
 3 files changed, 142 insertions(+), 2 deletions(-)
 create mode 100644 yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/combination/AppCombinationController.java
 create mode 100644 yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/combination/vo/activity/AppCombinationActivityDetailRespVO.java

diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/combination/AppCombinationController.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/combination/AppCombinationController.java
new file mode 100644
index 000000000..cd6d142a2
--- /dev/null
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/combination/AppCombinationController.java
@@ -0,0 +1,70 @@
+package cn.iocoder.yudao.module.promotion.controller.app.combination;
+
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.module.promotion.controller.app.combination.vo.activity.AppCombinationActivityDetailRespVO;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "用户 APP - 拼团活动")
+@RestController
+@RequestMapping("/promotion/combination-activity")
+@Validated
+public class AppCombinationController {
+
+    @GetMapping("/get-detail")
+    @Operation(summary = "获得拼团活动明细")
+    @Parameter(name = "id", description = "活动编号", required = true, example = "1024")
+    public CommonResult<AppCombinationActivityDetailRespVO> getCombinationActivity(@RequestParam("id") Long id) {
+        // TODO 芋艿:如果禁用的时候,需要抛出异常;
+        AppCombinationActivityDetailRespVO obj = new AppCombinationActivityDetailRespVO();
+        // 设置其属性的值
+        obj.setId(id);
+        obj.setName("晚九点限时秒杀");
+        obj.setStatus(1);
+        obj.setStartTime(LocalDateTime.of(2023, 6, 11, 0, 0, 0));
+        obj.setEndTime(LocalDateTime.of(2023, 6, 11, 23, 59, 0));
+        obj.setSpuId(633L);
+        // 创建一个Product对象的列表
+        List<AppCombinationActivityDetailRespVO.Product> productList = new ArrayList<>();
+        // 创建三个新的Product对象并设置其属性的值
+        AppCombinationActivityDetailRespVO.Product product1 = new AppCombinationActivityDetailRespVO.Product();
+        product1.setSkuId(1L);
+        product1.setCombinationPrice(100);
+        product1.setQuota(50);
+        product1.setLimitCount(3);
+        // 将第一个Product对象添加到列表中
+        productList.add(product1);
+        // 创建第二个Product对象并设置其属性的值
+        AppCombinationActivityDetailRespVO.Product product2 = new AppCombinationActivityDetailRespVO.Product();
+        product2.setSkuId(2L);
+        product2.setCombinationPrice(200);
+        product2.setQuota(100);
+        product2.setLimitCount(4);
+        // 将第二个Product对象添加到列表中
+        productList.add(product2);
+        // 创建第三个Product对象并设置其属性的值
+        AppCombinationActivityDetailRespVO.Product product3 = new AppCombinationActivityDetailRespVO.Product();
+        product3.setSkuId(3L);
+        product3.setCombinationPrice(300);
+        product3.setQuota(150);
+        product3.setLimitCount(5);
+        // 将第三个Product对象添加到列表中
+        productList.add(product3);
+        // 将Product列表设置为对象的属性值
+        obj.setProducts(productList);
+        return success(obj);
+    }
+
+}
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/combination/vo/activity/AppCombinationActivityDetailRespVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/combination/vo/activity/AppCombinationActivityDetailRespVO.java
new file mode 100644
index 000000000..553a31fd8
--- /dev/null
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/combination/vo/activity/AppCombinationActivityDetailRespVO.java
@@ -0,0 +1,67 @@
+package cn.iocoder.yudao.module.promotion.controller.app.combination.vo.activity;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Schema(description = "用户 App - 拼团活动明细 Response VO")
+@Data
+public class AppCombinationActivityDetailRespVO {
+
+    @Schema(description = "拼团活动编号", required = true, example = "1024")
+    private Long id;
+
+    @Schema(description = "拼团活动名称", required = true, example = "618 大拼团")
+    private String name;
+
+    @Schema(description = "活动状态", required = true, example = "1")
+    private Integer status;
+
+    @Schema(description = "活动开始时间", required = true)
+    private LocalDateTime startTime;
+
+    @Schema(description = "活动结束时间", required = true)
+    private LocalDateTime endTime;
+
+    @Schema(description = "商品 SPU 编号", required = true, example = "2048")
+    private Long spuId;
+
+    @Schema(description = "商品信息数组", required = true)
+    private List<Product> products;
+
+    @Schema(description = "成功的拼团记录", required = true)
+    private List<Record> successRecords;
+
+    @Schema(description = "进行中的拼团记录", required = true)
+    private List<Record> runningRecords;
+
+    @Schema(description = "商品信息")
+    @Data
+    public static class Product {
+
+        @Schema(description = "商品 SKU 编号", required = true, example = "4096")
+        private Long skuId;
+
+        @Schema(description = "拼团金额,单位:分", required = true, example = "100")
+        private Integer combinationPrice;
+
+        @Schema(description = "拼团限量库存", required = true, example = "50")
+        private Integer quota;
+
+        @Schema(description = "每人限购数量", required = true, example = "10")
+        private Integer limitCount;
+
+    }
+
+    @Schema(description = "拼团记录")
+    @Data
+    public static class Record {
+
+        @Schema(description = "拼团记录编号", required = true, example = "1024")
+        private Long id;
+
+    }
+
+}
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/seckill/vo/AppSeckillActivitiDetailRespVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/seckill/vo/AppSeckillActivitiDetailRespVO.java
index 0f1408928..a643fc1b3 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/seckill/vo/AppSeckillActivitiDetailRespVO.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/seckill/vo/AppSeckillActivitiDetailRespVO.java
@@ -27,10 +27,13 @@ public class AppSeckillActivitiDetailRespVO {
     @Schema(description = "活动结束时间", required = true)
     private LocalDateTime endTime;
 
+
+    private Long successGruopCount;
+
     @Schema(description = "商品 SPU 编号", required = true, example = "2048")
     private Long spuId;
 
-    @Schema(description = "商品 SPU 名字", required = true)
+    @Schema(description = "商品信息数组", required = true)
     private List<Product> products;
 
     @Schema(description = "商品信息")
@@ -46,7 +49,7 @@ public class AppSeckillActivitiDetailRespVO {
         @Schema(description = "秒杀限量库存", required = true, example = "50")
         private Integer quota;
 
-        @Schema(description = "limitCount", required = true, example = "10")
+        @Schema(description = "每人限购数量", required = true, example = "10")
         private Integer limitCount;
 
     }