From d9713d0f8cf5b8df5be60949c0aada0e759f359b Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期三, 22 一月 2025 16:32:17 +0800
Subject: [PATCH] update 优化 测试用户增加工作流业务查看审批权限

---
 script/sql/sqlserver/sqlserver_ry_vue_5.X.sql |  925 +++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 665 insertions(+), 260 deletions(-)

diff --git a/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql b/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql
index 193a14a..9f8481a 100644
--- a/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql
+++ b/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql
@@ -2,7 +2,7 @@
 (
     id                 bigint            NOT NULL,
     user_id            bigint            NOT NULL,
-    tenant_id          nvarchar(20)      NULL,
+    tenant_id          nvarchar(20)      DEFAULT ('000000') NULL,
     auth_id            nvarchar(255)     NOT NULL,
     source             nvarchar(255)     NOT NULL,
     open_id            nvarchar(255)     NULL,
@@ -17,7 +17,7 @@
     union_id           nvarchar(255)     NULL,
     scope              nvarchar(255)     NULL,
     token_type         nvarchar(255)     NULL,
-    id_token           nvarchar(255)     NULL,
+    id_token           nvarchar(2000)    NULL,
     mac_algorithm      nvarchar(255)     NULL,
     mac_key            nvarchar(255)     NULL,
     code               nvarchar(255)     NULL,
@@ -175,7 +175,7 @@
     'COLUMN', N'oauth_token_secret'
 GO
 EXEC sys.sp_addextendedproperty
-    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛�' ,
+    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 1浠h〃鍒犻櫎锛�' ,
     'SCHEMA', N'dbo',
     'TABLE', N'sys_social',
     'COLUMN', N'del_flag'
@@ -210,7 +210,11 @@
     'TABLE', N'sys_social',
     'COLUMN', N'update_time'
 GO
-
+EXEC sp_addextendedproperty
+    'MS_Description', N'绀句細鍖栧叧绯昏〃',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social'
+GO
 
 CREATE TABLE sys_tenant
 (
@@ -326,7 +330,7 @@
     'COLUMN', N'status'
 GO
 EXEC sys.sp_addextendedproperty
-    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛�' ,
+    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 1浠h〃鍒犻櫎锛�' ,
     'SCHEMA', N'dbo',
     'TABLE', N'sys_tenant',
     'COLUMN', N'del_flag'
@@ -423,7 +427,7 @@
     'COLUMN', N'status'
 GO
 EXEC sys.sp_addextendedproperty
-    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛�' ,
+    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 1浠h〃鍒犻櫎锛�' ,
     'SCHEMA', N'dbo',
     'TABLE', N'sys_tenant_package',
     'COLUMN', N'del_flag'
@@ -926,9 +930,10 @@
     tenant_id   nvarchar(20) DEFAULT ('000000') NULL,
     parent_id   bigint       DEFAULT ((0)) NULL,
     ancestors   nvarchar(500)DEFAULT ''    NULL,
-    dept_name   nvarchar(30) DEFAULT ''    NULL,
+    dept_name   nvarchar(30)               NULL,
+    dept_category nvarchar(100) DEFAULT '' NULL,
     order_num   int          DEFAULT ((0)) NULL,
-    leader      nvarchar(20)               NULL,
+    leader      bigint                     NULL,
     phone       nvarchar(11)               NULL,
     email       nvarchar(50)               NULL,
     status      nchar(1)     DEFAULT ('0') NULL,
@@ -976,6 +981,12 @@
     'COLUMN', N'dept_name'
 GO
 EXEC sys.sp_addextendedproperty
+    'MS_Description', N'閮ㄩ棬绫诲埆缂栫爜' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_dept',
+    'COLUMN', N'dept_category'
+GO
+EXEC sys.sp_addextendedproperty
     'MS_Description', N'鏄剧ず椤哄簭' ,
     'SCHEMA', N'dbo',
     'TABLE', N'sys_dept',
@@ -1006,7 +1017,7 @@
     'COLUMN', N'status'
 GO
 EXEC sys.sp_addextendedproperty
-    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛�' ,
+    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 1浠h〃鍒犻櫎锛�' ,
     'SCHEMA', N'dbo',
     'TABLE', N'sys_dept',
     'COLUMN', N'del_flag'
@@ -1047,25 +1058,25 @@
     'TABLE', N'sys_dept'
 GO
 
-INSERT sys_dept VALUES (100, N'000000', 0, N'0', N'XXX绉戞妧', 0, N'鐤媯鐨勭嫯瀛怢i', N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
+INSERT sys_dept VALUES (100, N'000000', 0, N'0', N'XXX绉戞妧', NULL, 0, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
 GO
-INSERT sys_dept VALUES (101, N'000000', 100, N'0,100', N'娣卞湷鎬诲叕鍙�', 1, N'鐤媯鐨勭嫯瀛怢i', N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
+INSERT sys_dept VALUES (101, N'000000', 100, N'0,100', N'娣卞湷鎬诲叕鍙�', NULL, 1, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
 GO
-INSERT sys_dept VALUES (102, N'000000', 100, N'0,100', N'闀挎矙鍒嗗叕鍙�', 2, N'鐤媯鐨勭嫯瀛怢i', N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
+INSERT sys_dept VALUES (102, N'000000', 100, N'0,100', N'闀挎矙鍒嗗叕鍙�', NULL, 2, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
 GO
-INSERT sys_dept VALUES (103, N'000000', 101, N'0,100,101', N'鐮斿彂閮ㄩ棬', 1, N'鐤媯鐨勭嫯瀛怢i', N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
+INSERT sys_dept VALUES (103, N'000000', 101, N'0,100,101', N'鐮斿彂閮ㄩ棬', NULL, 1, 1, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
 GO
-INSERT sys_dept VALUES (104, N'000000', 101, N'0,100,101', N'甯傚満閮ㄩ棬', 2, N'鐤媯鐨勭嫯瀛怢i', N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
+INSERT sys_dept VALUES (104, N'000000', 101, N'0,100,101', N'甯傚満閮ㄩ棬', NULL, 2, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
 GO
-INSERT sys_dept VALUES (105, N'000000', 101, N'0,100,101', N'娴嬭瘯閮ㄩ棬', 3, N'鐤媯鐨勭嫯瀛怢i', N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
+INSERT sys_dept VALUES (105, N'000000', 101, N'0,100,101', N'娴嬭瘯閮ㄩ棬', NULL, 3, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
 GO
-INSERT sys_dept VALUES (106, N'000000', 101, N'0,100,101', N'璐㈠姟閮ㄩ棬', 4, N'鐤媯鐨勭嫯瀛怢i', N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
+INSERT sys_dept VALUES (106, N'000000', 101, N'0,100,101', N'璐㈠姟閮ㄩ棬', NULL, 4, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
 GO
-INSERT sys_dept VALUES (107, N'000000', 101, N'0,100,101', N'杩愮淮閮ㄩ棬', 5, N'鐤媯鐨勭嫯瀛怢i', N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
+INSERT sys_dept VALUES (107, N'000000', 101, N'0,100,101', N'杩愮淮閮ㄩ棬', NULL, 5, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
 GO
-INSERT sys_dept VALUES (108, N'000000', 102, N'0,100,102', N'甯傚満閮ㄩ棬', 1, N'鐤媯鐨勭嫯瀛怢i', N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
+INSERT sys_dept VALUES (108, N'000000', 102, N'0,100,102', N'甯傚満閮ㄩ棬', NULL, 1, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
 GO
-INSERT sys_dept VALUES (109, N'000000', 102, N'0,100,102', N'璐㈠姟閮ㄩ棬', 2, N'鐤媯鐨勭嫯瀛怢i', N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
+INSERT sys_dept VALUES (109, N'000000', 102, N'0,100,102', N'璐㈠姟閮ㄩ棬', NULL, 2, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
 GO
 
 CREATE TABLE sys_dict_data
@@ -1079,7 +1090,6 @@
     css_class   nvarchar(100)               NULL,
     list_class  nvarchar(100)               NULL,
     is_default  nchar(1)      DEFAULT ('N') NULL,
-    status      nchar(1)      DEFAULT ('0') NULL,
     create_dept bigint                      NULL,
     create_by   bigint                      NULL,
     create_time datetime2(7)                NULL,
@@ -1148,12 +1158,6 @@
     'COLUMN', N'is_default'
 GO
 EXEC sys.sp_addextendedproperty
-    'MS_Description', N'鐘舵�侊紙0姝e父 1鍋滅敤锛�' ,
-    'SCHEMA', N'dbo',
-    'TABLE', N'sys_dict_data',
-    'COLUMN', N'status'
-GO
-EXEC sys.sp_addextendedproperty
     'MS_Description', N'鍒涘缓閮ㄩ棬' ,
     'SCHEMA', N'dbo',
     'TABLE', N'sys_dict_data',
@@ -1195,77 +1199,81 @@
     'TABLE', N'sys_dict_data'
 GO
 
-INSERT sys_dict_data VALUES (1, N'000000', 1, N'鐢�', N'0', N'sys_user_sex', N'', N'', N'Y', N'0', 103, 1, getdate(), NULL, NULL, N'鎬у埆鐢�')
+INSERT sys_dict_data VALUES (1, N'000000', 1, N'鐢�', N'0', N'sys_user_sex', N'', N'', N'Y', 103, 1, getdate(), NULL, NULL, N'鎬у埆鐢�')
 GO
-INSERT sys_dict_data VALUES (2, N'000000', 2, N'濂�', N'1', N'sys_user_sex', N'', N'', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鎬у埆濂�')
+INSERT sys_dict_data VALUES (2, N'000000', 2, N'濂�', N'1', N'sys_user_sex', N'', N'', N'N', 103, 1, getdate(), NULL, NULL, N'鎬у埆濂�')
 GO
-INSERT sys_dict_data VALUES (3, N'000000', 3, N'鏈煡', N'2', N'sys_user_sex', N'', N'', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鎬у埆鏈煡')
+INSERT sys_dict_data VALUES (3, N'000000', 3, N'鏈煡', N'2', N'sys_user_sex', N'', N'', N'N', 103, 1, getdate(), NULL, NULL, N'鎬у埆鏈煡')
 GO
-INSERT sys_dict_data VALUES (4, N'000000', 1, N'鏄剧ず', N'0', N'sys_show_hide', N'', N'primary', N'Y', N'0', 103, 1, getdate(), NULL, NULL, N'鏄剧ず鑿滃崟')
+INSERT sys_dict_data VALUES (4, N'000000', 1, N'鏄剧ず', N'0', N'sys_show_hide', N'', N'primary', N'Y', 103, 1, getdate(), NULL, NULL, N'鏄剧ず鑿滃崟')
 GO
-INSERT sys_dict_data VALUES (5, N'000000', 2, N'闅愯棌', N'1', N'sys_show_hide', N'', N'danger', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'闅愯棌鑿滃崟')
+INSERT sys_dict_data VALUES (5, N'000000', 2, N'闅愯棌', N'1', N'sys_show_hide', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'闅愯棌鑿滃崟')
 GO
-INSERT sys_dict_data VALUES (6, N'000000', 1, N'姝e父', N'0', N'sys_normal_disable', N'', N'primary', N'Y', N'0', 103, 1, getdate(), NULL, NULL, N'姝e父鐘舵��')
+INSERT sys_dict_data VALUES (6, N'000000', 1, N'姝e父', N'0', N'sys_normal_disable', N'', N'primary', N'Y', 103, 1, getdate(), NULL, NULL, N'姝e父鐘舵��')
 GO
-INSERT sys_dict_data VALUES (7, N'000000', 2, N'鍋滅敤', N'1', N'sys_normal_disable', N'', N'danger', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鍋滅敤鐘舵��')
+INSERT sys_dict_data VALUES (7, N'000000', 2, N'鍋滅敤', N'1', N'sys_normal_disable', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'鍋滅敤鐘舵��')
 GO
-INSERT sys_dict_data VALUES (8, N'000000', 1, N'姝e父', N'0', N'sys_job_status', N'', N'primary', N'Y', N'0', 103, 1, getdate(), NULL, NULL, N'姝e父鐘舵��')
+INSERT sys_dict_data VALUES (8, N'000000', 1, N'姝e父', N'0', N'sys_job_status', N'', N'primary', N'Y', 103, 1, getdate(), NULL, NULL, N'姝e父鐘舵��')
 GO
-INSERT sys_dict_data VALUES (9, N'000000', 2, N'鏆傚仠', N'1', N'sys_job_status', N'', N'danger', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鍋滅敤鐘舵��')
+INSERT sys_dict_data VALUES (9, N'000000', 2, N'鏆傚仠', N'1', N'sys_job_status', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'鍋滅敤鐘舵��')
 GO
-INSERT sys_dict_data VALUES (10, N'000000', 1, N'榛樿', N'DEFAULT', N'sys_job_group', N'', N'', N'Y', N'0', 103, 1, getdate(), NULL, NULL, N'榛樿鍒嗙粍')
+INSERT sys_dict_data VALUES (10, N'000000', 1, N'榛樿', N'DEFAULT', N'sys_job_group', N'', N'', N'Y', 103, 1, getdate(), NULL, NULL, N'榛樿鍒嗙粍')
 GO
-INSERT sys_dict_data VALUES (11, N'000000', 2, N'绯荤粺', N'SYSTEM', N'sys_job_group', N'', N'', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'绯荤粺鍒嗙粍')
+INSERT sys_dict_data VALUES (11, N'000000', 2, N'绯荤粺', N'SYSTEM', N'sys_job_group', N'', N'', N'N', 103, 1, getdate(), NULL, NULL, N'绯荤粺鍒嗙粍')
 GO
-INSERT sys_dict_data VALUES (12, N'000000', 1, N'鏄�', N'Y', N'sys_yes_no', N'', N'primary', N'Y', N'0', 103, 1, getdate(), NULL, NULL, N'绯荤粺榛樿鏄�')
+INSERT sys_dict_data VALUES (12, N'000000', 1, N'鏄�', N'Y', N'sys_yes_no', N'', N'primary', N'Y', 103, 1, getdate(), NULL, NULL, N'绯荤粺榛樿鏄�')
 GO
-INSERT sys_dict_data VALUES (13, N'000000', 2, N'鍚�', N'N', N'sys_yes_no', N'', N'danger', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'绯荤粺榛樿鍚�')
+INSERT sys_dict_data VALUES (13, N'000000', 2, N'鍚�', N'N', N'sys_yes_no', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'绯荤粺榛樿鍚�')
 GO
-INSERT sys_dict_data VALUES (14, N'000000', 1, N'閫氱煡', N'1', N'sys_notice_type', N'', N'warning', N'Y', N'0', 103, 1, getdate(), NULL, NULL, N'閫氱煡')
+INSERT sys_dict_data VALUES (14, N'000000', 1, N'閫氱煡', N'1', N'sys_notice_type', N'', N'warning', N'Y', 103, 1, getdate(), NULL, NULL, N'閫氱煡')
 GO
-INSERT sys_dict_data VALUES (15, N'000000', 2, N'鍏憡', N'2', N'sys_notice_type', N'', N'success', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鍏憡')
+INSERT sys_dict_data VALUES (15, N'000000', 2, N'鍏憡', N'2', N'sys_notice_type', N'', N'success', N'N', 103, 1, getdate(), NULL, NULL, N'鍏憡')
 GO
-INSERT sys_dict_data VALUES (16, N'000000', 1, N'姝e父', N'0', N'sys_notice_status', N'', N'primary', N'Y', N'0', 103, 1, getdate(), NULL, NULL, N'姝e父鐘舵��')
+INSERT sys_dict_data VALUES (16, N'000000', 1, N'姝e父', N'0', N'sys_notice_status', N'', N'primary', N'Y', 103, 1, getdate(), NULL, NULL, N'姝e父鐘舵��')
 GO
-INSERT sys_dict_data VALUES (17, N'000000', 2, N'鍏抽棴', N'1', N'sys_notice_status', N'', N'danger', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鍏抽棴鐘舵��')
+INSERT sys_dict_data VALUES (17, N'000000', 2, N'鍏抽棴', N'1', N'sys_notice_status', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'鍏抽棴鐘舵��')
 GO
-INSERT sys_dict_data VALUES (29, N'000000', 99, N'鍏朵粬', N'0', N'sys_oper_type', N'', N'info', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鍏朵粬鎿嶄綔');
+INSERT sys_dict_data VALUES (29, N'000000', 99, N'鍏朵粬', N'0', N'sys_oper_type', N'', N'info', N'N', 103, 1, getdate(), NULL, NULL, N'鍏朵粬鎿嶄綔');
 GO
-INSERT sys_dict_data VALUES (18, N'000000', 1, N'鏂板', N'1', N'sys_oper_type', N'', N'info', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鏂板鎿嶄綔')
+INSERT sys_dict_data VALUES (18, N'000000', 1, N'鏂板', N'1', N'sys_oper_type', N'', N'info', N'N', 103, 1, getdate(), NULL, NULL, N'鏂板鎿嶄綔')
 GO
-INSERT sys_dict_data VALUES (19, N'000000', 2, N'淇敼', N'2', N'sys_oper_type', N'', N'info', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'淇敼鎿嶄綔')
+INSERT sys_dict_data VALUES (19, N'000000', 2, N'淇敼', N'2', N'sys_oper_type', N'', N'info', N'N', 103, 1, getdate(), NULL, NULL, N'淇敼鎿嶄綔')
 GO
-INSERT sys_dict_data VALUES (20, N'000000', 3, N'鍒犻櫎', N'3', N'sys_oper_type', N'', N'danger', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鍒犻櫎鎿嶄綔')
+INSERT sys_dict_data VALUES (20, N'000000', 3, N'鍒犻櫎', N3, N'sys_oper_type', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'鍒犻櫎鎿嶄綔')
 GO
-INSERT sys_dict_data VALUES (21, N'000000', 4, N'鎺堟潈', N'4', N'sys_oper_type', N'', N'primary', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鎺堟潈鎿嶄綔')
+INSERT sys_dict_data VALUES (21, N'000000', 4, N'鎺堟潈', N'4', N'sys_oper_type', N'', N'primary', N'N', 103, 1, getdate(), NULL, NULL, N'鎺堟潈鎿嶄綔')
 GO
-INSERT sys_dict_data VALUES (22, N'000000', 5, N'瀵煎嚭', N'5', N'sys_oper_type', N'', N'warning', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'瀵煎嚭鎿嶄綔')
+INSERT sys_dict_data VALUES (22, N'000000', 5, N'瀵煎嚭', N'5', N'sys_oper_type', N'', N'warning', N'N', 103, 1, getdate(), NULL, NULL, N'瀵煎嚭鎿嶄綔')
 GO
-INSERT sys_dict_data VALUES (23, N'000000', 6, N'瀵煎叆', N'6', N'sys_oper_type', N'', N'warning', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'瀵煎叆鎿嶄綔')
+INSERT sys_dict_data VALUES (23, N'000000', 6, N'瀵煎叆', N'6', N'sys_oper_type', N'', N'warning', N'N', 103, 1, getdate(), NULL, NULL, N'瀵煎叆鎿嶄綔')
 GO
-INSERT sys_dict_data VALUES (24, N'000000', 7, N'寮洪��', N'7', N'sys_oper_type', N'', N'danger', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'寮洪��鎿嶄綔')
+INSERT sys_dict_data VALUES (24, N'000000', 7, N'寮洪��', N'7', N'sys_oper_type', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'寮洪��鎿嶄綔')
 GO
-INSERT sys_dict_data VALUES (25, N'000000', 8, N'鐢熸垚浠g爜', N'8', N'sys_oper_type', N'', N'warning', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鐢熸垚鎿嶄綔')
+INSERT sys_dict_data VALUES (25, N'000000', 8, N'鐢熸垚浠g爜', N'8', N'sys_oper_type', N'', N'warning', N'N', 103, 1, getdate(), NULL, NULL, N'鐢熸垚鎿嶄綔')
 GO
-INSERT sys_dict_data VALUES (26, N'000000', 9, N'娓呯┖鏁版嵁', N'9', N'sys_oper_type', N'', N'danger', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'娓呯┖鎿嶄綔')
+INSERT sys_dict_data VALUES (26, N'000000', 9, N'娓呯┖鏁版嵁', N'9', N'sys_oper_type', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'娓呯┖鎿嶄綔')
 GO
-INSERT sys_dict_data VALUES (27, N'000000', 1, N'鎴愬姛', N'0', N'sys_common_status', N'', N'primary', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'姝e父鐘舵��')
+INSERT sys_dict_data VALUES (27, N'000000', 1, N'鎴愬姛', N'0', N'sys_common_status', N'', N'primary', N'N', 103, 1, getdate(), NULL, NULL, N'姝e父鐘舵��')
 GO
-INSERT sys_dict_data VALUES (28, N'000000', 2, N'澶辫触', N'1', N'sys_common_status', N'', N'danger', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鍋滅敤鐘舵��')
+INSERT sys_dict_data VALUES (28, N'000000', 2, N'澶辫触', N'1', N'sys_common_status', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'鍋滅敤鐘舵��')
 GO
-INSERT sys_dict_data VALUES (30, N'000000', 0, N'瀵嗙爜璁よ瘉', N'password', N'sys_grant_type', N'', N'default', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'瀵嗙爜璁よ瘉')
+INSERT sys_dict_data VALUES (30, N'000000', 0, N'瀵嗙爜璁よ瘉', N'password', N'sys_grant_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'瀵嗙爜璁よ瘉')
 GO
-INSERT sys_dict_data VALUES (31, N'000000', 0, N'鐭俊璁よ瘉', N'sms', N'sys_grant_type', N'', N'default', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鐭俊璁よ瘉')
+INSERT sys_dict_data VALUES (31, N'000000', 0, N'鐭俊璁よ瘉', N'sms', N'sys_grant_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'鐭俊璁よ瘉')
 GO
-INSERT sys_dict_data VALUES (32, N'000000', 0, N'閭欢璁よ瘉', N'email', N'sys_grant_type', N'', N'default', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'閭欢璁よ瘉')
+INSERT sys_dict_data VALUES (32, N'000000', 0, N'閭欢璁よ瘉', N'email', N'sys_grant_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'閭欢璁よ瘉')
 GO
-INSERT sys_dict_data VALUES (33, N'000000', 0, N'灏忕▼搴忚璇�', N'xcx', N'sys_grant_type', N'', N'default', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'灏忕▼搴忚璇�')
+INSERT sys_dict_data VALUES (33, N'000000', 0, N'灏忕▼搴忚璇�', N'xcx', N'sys_grant_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'灏忕▼搴忚璇�')
 GO
-INSERT sys_dict_data VALUES (34, N'000000', 0, N'涓夋柟鐧诲綍璁よ瘉', N'`social`', N'sys_grant_type', N'', N'default', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'涓夋柟鐧诲綍璁よ瘉')
+INSERT sys_dict_data VALUES (34, N'000000', 0, N'涓夋柟鐧诲綍璁よ瘉', N'`social`', N'sys_grant_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'涓夋柟鐧诲綍璁よ瘉')
 GO
-INSERT sys_dict_data VALUES (35, N'000000', 0, N'PC绔�', N'`pc`', N'sys_device_type', N'', N'default', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'PC绔�')
+INSERT sys_dict_data VALUES (35, N'000000', 0, N'PC', N'`pc`', N'sys_device_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'PC')
 GO
-INSERT sys_dict_data VALUES (36, N'000000', 0, N'APP绔�', N'`app`', N'sys_device_type', N'', N'default', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'APP绔�')
+INSERT sys_dict_data VALUES (36, N'000000', 0, N'瀹夊崜', N'`android`', N'sys_device_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'瀹夊崜')
+GO
+INSERT sys_dict_data VALUES (37, N'000000', 0, N'iOS', N'`ios`', N'sys_device_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'iOS')
+GO
+INSERT sys_dict_data VALUES (38, N'000000', 0, N'灏忕▼搴�', N'`xcx`', N'sys_device_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'灏忕▼搴�')
 GO
 
 CREATE TABLE sys_dict_type
@@ -1274,7 +1282,6 @@
     tenant_id   nvarchar(20)  DEFAULT ('000000') NULL,
     dict_name   nvarchar(100) DEFAULT ''    NULL,
     dict_type   nvarchar(100) DEFAULT ''    NULL,
-    status      nchar(1)      DEFAULT ('0') NULL,
     create_dept bigint                      NULL,
     create_by   bigint                      NULL,
     create_time datetime2(7)                NULL,
@@ -1314,12 +1321,6 @@
     'SCHEMA', N'dbo',
     'TABLE', N'sys_dict_type',
     'COLUMN', N'dict_type'
-GO
-EXEC sys.sp_addextendedproperty
-    'MS_Description', N'鐘舵�侊紙0姝e父 1鍋滅敤锛�' ,
-    'SCHEMA', N'dbo',
-    'TABLE', N'sys_dict_type',
-    'COLUMN', N'status'
 GO
 EXEC sys.sp_addextendedproperty
     'MS_Description', N'鍒涘缓閮ㄩ棬' ,
@@ -1363,29 +1364,29 @@
     'TABLE', N'sys_dict_type'
 GO
 
-INSERT sys_dict_type VALUES (1, N'000000', N'鐢ㄦ埛鎬у埆', N'sys_user_sex', N'0', 103, 1, getdate(), NULL, NULL, N'鐢ㄦ埛鎬у埆鍒楄〃')
+INSERT sys_dict_type VALUES (1, N'000000', N'鐢ㄦ埛鎬у埆', N'sys_user_sex', 103, 1, getdate(), NULL, NULL, N'鐢ㄦ埛鎬у埆鍒楄〃')
 GO
-INSERT sys_dict_type VALUES (2, N'000000', N'鑿滃崟鐘舵��', N'sys_show_hide', N'0', 103, 1, getdate(), NULL, NULL, N'鑿滃崟鐘舵�佸垪琛�')
+INSERT sys_dict_type VALUES (2, N'000000', N'鑿滃崟鐘舵��', N'sys_show_hide', 103, 1, getdate(), NULL, NULL, N'鑿滃崟鐘舵�佸垪琛�')
 GO
-INSERT sys_dict_type VALUES (3, N'000000', N'绯荤粺寮�鍏�', N'sys_normal_disable', N'0', 103, 1, getdate(), NULL, NULL, N'绯荤粺寮�鍏冲垪琛�')
+INSERT sys_dict_type VALUES (3, N'000000', N'绯荤粺寮�鍏�', N'sys_normal_disable', 103, 1, getdate(), NULL, NULL, N'绯荤粺寮�鍏冲垪琛�')
 GO
-INSERT sys_dict_type VALUES (4, N'000000', N'浠诲姟鐘舵��', N'sys_job_status', N'0', 103, 1, getdate(), NULL, NULL, N'浠诲姟鐘舵�佸垪琛�')
+INSERT sys_dict_type VALUES (4, N'000000', N'浠诲姟鐘舵��', N'sys_job_status', 103, 1, getdate(), NULL, NULL, N'浠诲姟鐘舵�佸垪琛�')
 GO
-INSERT sys_dict_type VALUES (5, N'000000', N'浠诲姟鍒嗙粍', N'sys_job_group', N'0', 103, 1, getdate(), NULL, NULL, N'浠诲姟鍒嗙粍鍒楄〃')
+INSERT sys_dict_type VALUES (5, N'000000', N'浠诲姟鍒嗙粍', N'sys_job_group', 103, 1, getdate(), NULL, NULL, N'浠诲姟鍒嗙粍鍒楄〃')
 GO
-INSERT sys_dict_type VALUES (6, N'000000', N'绯荤粺鏄惁', N'sys_yes_no', N'0', 103, 1, getdate(), NULL, NULL, N'绯荤粺鏄惁鍒楄〃')
+INSERT sys_dict_type VALUES (6, N'000000', N'绯荤粺鏄惁', N'sys_yes_no', 103, 1, getdate(), NULL, NULL, N'绯荤粺鏄惁鍒楄〃')
 GO
-INSERT sys_dict_type VALUES (7, N'000000', N'閫氱煡绫诲瀷', N'sys_notice_type', N'0', 103, 1, getdate(), NULL, NULL, N'閫氱煡绫诲瀷鍒楄〃')
+INSERT sys_dict_type VALUES (7, N'000000', N'閫氱煡绫诲瀷', N'sys_notice_type', 103, 1, getdate(), NULL, NULL, N'閫氱煡绫诲瀷鍒楄〃')
 GO
-INSERT sys_dict_type VALUES (8, N'000000', N'閫氱煡鐘舵��', N'sys_notice_status', N'0', 103, 1, getdate(), NULL, NULL, N'閫氱煡鐘舵�佸垪琛�')
+INSERT sys_dict_type VALUES (8, N'000000', N'閫氱煡鐘舵��', N'sys_notice_status', 103, 1, getdate(), NULL, NULL, N'閫氱煡鐘舵�佸垪琛�')
 GO
-INSERT sys_dict_type VALUES (9, N'000000', N'鎿嶄綔绫诲瀷', N'sys_oper_type', N'0', 103, 1, getdate(), NULL, NULL, N'鎿嶄綔绫诲瀷鍒楄〃')
+INSERT sys_dict_type VALUES (9, N'000000', N'鎿嶄綔绫诲瀷', N'sys_oper_type', 103, 1, getdate(), NULL, NULL, N'鎿嶄綔绫诲瀷鍒楄〃')
 GO
-INSERT sys_dict_type VALUES (10, N'000000', N'绯荤粺鐘舵��', N'sys_common_status', N'0', 103, 1, getdate(), NULL, NULL, N'鐧诲綍鐘舵�佸垪琛�')
+INSERT sys_dict_type VALUES (10, N'000000', N'绯荤粺鐘舵��', N'sys_common_status', 103, 1, getdate(), NULL, NULL, N'鐧诲綍鐘舵�佸垪琛�')
 GO
-INSERT sys_dict_type VALUES (11, N'000000', N'鎺堟潈绫诲瀷', N'sys_grant_type', N'0', 103, 1, getdate(), NULL, NULL, N'璁よ瘉鎺堟潈绫诲瀷')
+INSERT sys_dict_type VALUES (11, N'000000', N'鎺堟潈绫诲瀷', N'sys_grant_type', 103, 1, getdate(), NULL, NULL, N'璁よ瘉鎺堟潈绫诲瀷')
 GO
-INSERT sys_dict_type VALUES (12, N'000000', N'璁惧绫诲瀷', N'sys_device_type', N'0', 103, 1, getdate(), NULL, NULL, N'瀹㈡埛绔澶囩被鍨�')
+INSERT sys_dict_type VALUES (12, N'000000', N'璁惧绫诲瀷', N'sys_device_type', 103, 1, getdate(), NULL, NULL, N'瀹㈡埛绔澶囩被鍨�')
 GO
 
 CREATE TABLE sys_logininfor
@@ -1393,6 +1394,8 @@
     info_id        bigint                      NOT NULL,
     tenant_id      nvarchar(20)  DEFAULT ('000000') NULL,
     user_name      nvarchar(50)  DEFAULT ''    NULL,
+    client_key     nvarchar(32)  DEFAULT ''    NULL,
+    device_type    nvarchar(32)  DEFAULT ''    NULL,
     ipaddr         nvarchar(128) DEFAULT ''    NULL,
     login_location nvarchar(255) DEFAULT ''    NULL,
     browser        nvarchar(50)  DEFAULT ''    NULL,
@@ -1429,6 +1432,18 @@
     'SCHEMA', N'dbo',
     'TABLE', N'sys_logininfor',
     'COLUMN', N'user_name'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'瀹㈡埛绔�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_logininfor',
+    'COLUMN', N'client_key'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'璁惧绫诲瀷' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_logininfor',
+    'COLUMN', N'device_type'
 GO
 EXEC sys.sp_addextendedproperty
     'MS_Description', N'鐧诲綍IP鍦板潃' ,
@@ -1643,6 +1658,8 @@
 GO
 INSERT sys_menu VALUES (4, N'PLUS瀹樼綉', 0, 5, N'https://gitee.com/dromara/RuoYi-Vue-Plus', null, N'', 0, 0, N'M', N'0', N'0', N'', N'guide', 103, 1, getdate(), null, null, N'RuoYi-Vue-Plus瀹樼綉鍦板潃');
 GO
+INSERT sys_menu VALUES (5, N'娴嬭瘯鑿滃崟', 0, 5, N'demo', NULL, N'', 1, 0, N'M', N'0', N'0', NULL, N'star', 103, 1, getdate(), NULL, NULL, N'');
+GO
 INSERT sys_menu VALUES (100, N'鐢ㄦ埛绠$悊', 1, 1, N'user', N'system/user/index', N'', 1, 0, N'C', N'0', N'0', N'system:user:list', N'user', 103, 1, getdate(), NULL, NULL, N'鐢ㄦ埛绠$悊鑿滃崟')
 GO
 INSERT sys_menu VALUES (101, N'瑙掕壊绠$悊', 1, 2, N'role', N'system/role/index', N'', 1, 0, N'C', N'0', N'0', N'system:role:list', N'peoples', 103, 1, getdate(), NULL, NULL, N'瑙掕壊绠$悊鑿滃崟')
@@ -1665,8 +1682,6 @@
 GO
 INSERT sys_menu VALUES (113, N'缂撳瓨鐩戞帶', 2, 5, N'cache', N'monitor/cache/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:cache:list', N'redis', 103, 1, getdate(), NULL, NULL, N'缂撳瓨鐩戞帶鑿滃崟')
 GO
-INSERT sys_menu VALUES (114, N'琛ㄥ崟鏋勫缓', 3, 1, N'build', N'tool/build/index', N'', 1, 0, N'C', N'0', N'0', N'tool:build:list', N'build', 103, 1, getdate(), NULL, NULL, N'琛ㄥ崟鏋勫缓鑿滃崟')
-GO
 INSERT sys_menu VALUES (115, N'浠g爜鐢熸垚', 3, 2, N'gen', N'tool/gen/index', N'', 1, 0, N'C', N'0', N'0', N'tool:gen:list', N'code', 103, 1, getdate(), NULL, NULL, N'浠g爜鐢熸垚鑿滃崟')
 GO
 INSERT sys_menu VALUES (121, N'绉熸埛绠$悊', 6, 1, N'tenant', N'system/tenant/index', N'', 1, 0, N'C', N'0', N'0', N'system:tenant:list', N'code', 103, 1, getdate(), NULL, NULL, N'绉熸埛绠$悊鑿滃崟')
@@ -1679,7 +1694,7 @@
 GO
 INSERT sys_menu VALUES (118, N'鏂囦欢绠$悊', 1, 10, N'oss', N'system/oss/index', N'', 1, 0, N'C', '0', N'0', N'system:oss:list', N'upload', 103, 1, getdate(), NULL, NULL, N'鏂囦欢绠$悊鑿滃崟');
 GO
-INSERT sys_menu VALUES (120, N'浠诲姟璋冨害涓績', 2, 5, N'powerjob', N'monitor/powerjob/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:powerjob:list', N'job', 103, 1, getdate(), NULL, NULL, N'PowerJob鎺у埗鍙拌彍鍗�');
+INSERT sys_menu VALUES (120, N'浠诲姟璋冨害涓績', 2, 5, N'snailjob', N'monitor/snailjob/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:snailjob:list', N'job', 103, 1, getdate(), NULL, NULL, N'SnailJob鎺у埗鍙拌彍鍗�');
 GO
 INSERT sys_menu VALUES (500, N'鎿嶄綔鏃ュ織', 108, 1, N'operlog', N'monitor/operlog/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:operlog:list', N'form', 103, 1, getdate(), NULL, NULL, N'鎿嶄綔鏃ュ織鑿滃崟')
 GO
@@ -1804,9 +1819,13 @@
 GO
 INSERT sys_menu VALUES (1603, N'鏂囦欢鍒犻櫎', 118, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:oss:remove', N'#', 103, 1, getdate(), NULL, NULL, N'');
 GO
-INSERT sys_menu VALUES (1604, N'閰嶇疆娣诲姞', 118, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:oss:add', N'#', 103, 1, getdate(), NULL, NULL, N'');
+INSERT sys_menu VALUES (1620, N'閰嶇疆鍒楄〃', 118, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:ossConfig:list', N'#', 103, 1, getdate(), NULL, NULL, N'');
 GO
-INSERT sys_menu VALUES (1605, N'閰嶇疆缂栬緫', 118, 6, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:oss:edit', N'#', 103, 1, getdate(), NULL, NULL, N'');
+INSERT sys_menu VALUES (1621, N'閰嶇疆娣诲姞', 118, 6, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:ossConfig:add', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1622, N'閰嶇疆缂栬緫', 118, 6, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:ossConfig:edit', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1623, N'閰嶇疆鍒犻櫎', 118, 6, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:ossConfig:remove', N'#', 103, 1, getdate(), NULL, NULL, N'');
 GO
 -- 绉熸埛绠$悊鐩稿叧鎸夐挳
 INSERT sys_menu VALUES (1606, N'绉熸埛鏌ヨ', 121, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenant:query', N'#', 103, 1, getdate(), NULL, NULL, N'');
@@ -1840,6 +1859,32 @@
 INSERT sys_menu VALUES (1064, N'瀹㈡埛绔鐞嗗垹闄�', 123, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:client:remove', N'#', 103, 1, getdate(), NULL, NULL, N'');
 GO
 INSERT sys_menu VALUES (1065, N'瀹㈡埛绔鐞嗗鍑�', 123, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:client:export', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+-- 娴嬭瘯鑿滃崟
+INSERT sys_menu VALUES (1500, N'娴嬭瘯鍗曡〃', 5, 1, N'demo', N'demo/demo/index', N'', 1, 0, N'C', N'0', N'0', N'demo:demo:list', N'#', 103, 1, getdate(), NULL, NULL, N'娴嬭瘯鍗曡〃鑿滃崟');
+GO
+INSERT sys_menu VALUES (1501, N'娴嬭瘯鍗曡〃鏌ヨ', 1500, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:demo:query', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1502, N'娴嬭瘯鍗曡〃鏂板', 1500, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:demo:add', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1503, N'娴嬭瘯鍗曡〃淇敼', 1500, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:demo:edit', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1504, N'娴嬭瘯鍗曡〃鍒犻櫎', 1500, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:demo:remove', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1505, N'娴嬭瘯鍗曡〃瀵煎嚭', 1500, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:demo:export', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+
+INSERT sys_menu VALUES (1506, N'娴嬭瘯鏍戣〃', 5, 1, N'tree', N'demo/tree/index', N'', 1, 0, N'C', N'0', N'0', N'demo:tree:list', N'#', 103, 1, getdate(), NULL, NULL, N'娴嬭瘯鏍戣〃鑿滃崟');
+GO
+INSERT sys_menu VALUES (1507, N'娴嬭瘯鏍戣〃鏌ヨ', 1506, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:tree:query', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1508, N'娴嬭瘯鏍戣〃鏂板', 1506, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:tree:add', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1509, N'娴嬭瘯鏍戣〃淇敼', 1506, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:tree:edit', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1510, N'娴嬭瘯鏍戣〃鍒犻櫎', 1506, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:tree:remove', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1511, N'娴嬭瘯鏍戣〃瀵煎嚭', 1506, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:tree:export', N'#', 103, 1, getdate(), NULL, NULL, N'');
 GO
 
 CREATE TABLE sys_notice
@@ -1961,10 +2006,10 @@
     oper_url       nvarchar(255)  DEFAULT ''    NULL,
     oper_ip        nvarchar(128)  DEFAULT ''    NULL,
     oper_location  nvarchar(255)  DEFAULT ''    NULL,
-    oper_param     nvarchar(2000) DEFAULT ''    NULL,
-    json_result    nvarchar(2000) DEFAULT ''    NULL,
+    oper_param     nvarchar(4000) DEFAULT ''    NULL,
+    json_result    nvarchar(4000) DEFAULT ''    NULL,
     status         int            DEFAULT ((0)) NULL,
-    error_msg      nvarchar(2000) DEFAULT ''    NULL,
+    error_msg      nvarchar(4000) DEFAULT ''    NULL,
     oper_time      datetime2(7)                 NULL,
     cost_time      bigint         DEFAULT ((0)) NULL,
     CONSTRAINT PK__sys_oper__34723BF9BD954573 PRIMARY KEY CLUSTERED (oper_id)
@@ -2099,7 +2144,9 @@
 (
     post_id     bigint                          NOT NULL,
     tenant_id   nvarchar(20) DEFAULT ('000000') NULL,
+    dept_id     bigint                          NOT NULL,
     post_code   nvarchar(64)                    NOT NULL,
+    post_category nvarchar(100)                 NULL,
     post_name   nvarchar(50)                    NOT NULL,
     post_sort   int                             NOT NULL,
     status      nchar(1)                        NOT NULL,
@@ -2129,10 +2176,22 @@
     'COLUMN', N'tenant_id'
 GO
 EXEC sys.sp_addextendedproperty
+    'MS_Description', N'閮ㄩ棬id' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_post',
+    'COLUMN', N'dept_id'
+GO
+EXEC sys.sp_addextendedproperty
     'MS_Description', N'宀椾綅缂栫爜' ,
     'SCHEMA', N'dbo',
     'TABLE', N'sys_post',
     'COLUMN', N'post_code'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'宀椾綅绫诲埆缂栫爜' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_post',
+    'COLUMN', N'post_category'
 GO
 EXEC sys.sp_addextendedproperty
     'MS_Description', N'宀椾綅鍚嶇О' ,
@@ -2194,13 +2253,13 @@
     'TABLE', N'sys_post'
 GO
 
-INSERT sys_post VALUES (1, N'000000', N'ceo', N'钁d簨闀�', 1, N'0', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_post VALUES (1, N'000000', 103, N'ceo', NULL,  N'钁d簨闀�', 1, N'0', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT sys_post VALUES (2, N'000000', N'se', N'椤圭洰缁忕悊', 2, N'0', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_post VALUES (2, N'000000', 100, N'se', NULL,  N'椤圭洰缁忕悊', 2, N'0', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT sys_post VALUES (3, N'000000', N'hr', N'浜哄姏璧勬簮', 3, N'0', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_post VALUES (3, N'000000', 100, N'hr', NULL,  N'浜哄姏璧勬簮', 3, N'0', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT sys_post VALUES (4, N'000000', N'user', N'鏅�氬憳宸�', 4, N'0', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_post VALUES (4, N'000000', 100, N'user', NULL,  N'鏅�氬憳宸�', 4, N'0', 103, 1, getdate(), NULL, NULL, N'')
 GO
 
 CREATE TABLE sys_role
@@ -2283,7 +2342,7 @@
     'COLUMN', N'status'
 GO
 EXEC sys.sp_addextendedproperty
-    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛�' ,
+    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 1浠h〃鍒犻櫎锛�' ,
     'SCHEMA', N'dbo',
     'TABLE', N'sys_role',
     'COLUMN', N'del_flag'
@@ -2332,7 +2391,9 @@
 
 INSERT sys_role VALUES (1, N'000000', N'瓒呯骇绠$悊鍛�', N'superadmin', 1, N'1', 1, 1, N'0', N'0', 103, 1, getdate(), NULL, NULL, N'瓒呯骇绠$悊鍛�')
 GO
-INSERT sys_role VALUES (2, N'000000', N'鏅�氳鑹�', N'common', 2, N'2', 1, 1, N'0', N'0', 103, 1, getdate(), NULL, NULL, N'鏅�氳鑹�')
+INSERT sys_role VALUES (3, N'000000', N'鏈儴闂ㄥ強浠ヤ笅', N'test1', 3, N'4', 1, 1, N'0', N'0', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_role VALUES (4, N'000000', N'浠呮湰浜�', N'test2', 4, N'5', 1, 1, N'0', N'0', 103, 1, getdate(), NULL, NULL, N'');
 GO
 
 CREATE TABLE sys_role_dept
@@ -2364,13 +2425,6 @@
     'TABLE', N'sys_role_dept'
 GO
 
-INSERT sys_role_dept VALUES (2, 100)
-GO
-INSERT sys_role_dept VALUES (2, 101)
-GO
-INSERT sys_role_dept VALUES (2, 105)
-GO
-
 CREATE TABLE sys_role_menu
 (
     role_id bigint NOT NULL,
@@ -2400,179 +2454,228 @@
     'TABLE', N'sys_role_menu'
 GO
 
-INSERT sys_role_menu VALUES (2, 1)
+-- ----------------------------
+-- 鍒濆鍖�-瑙掕壊鍜岃彍鍗曞叧鑱旇〃鏁版嵁
+-- ----------------------------
+INSERT sys_role_menu VALUES (3, 1);
 GO
-INSERT sys_role_menu VALUES (2, 2)
+INSERT sys_role_menu VALUES (3, 5);
 GO
-INSERT sys_role_menu VALUES (2, 3)
+INSERT sys_role_menu VALUES (3, 100);
 GO
-INSERT sys_role_menu VALUES (2, 100)
+INSERT sys_role_menu VALUES (3, 101);
 GO
-INSERT sys_role_menu VALUES (2, 101)
+INSERT sys_role_menu VALUES (3, 102);
 GO
-INSERT sys_role_menu VALUES (2, 102)
+INSERT sys_role_menu VALUES (3, 103);
 GO
-INSERT sys_role_menu VALUES (2, 103)
+INSERT sys_role_menu VALUES (3, 104);
 GO
-INSERT sys_role_menu VALUES (2, 104)
+INSERT sys_role_menu VALUES (3, 105);
 GO
-INSERT sys_role_menu VALUES (2, 105)
+INSERT sys_role_menu VALUES (3, 106);
 GO
-INSERT sys_role_menu VALUES (2, 106)
+INSERT sys_role_menu VALUES (3, 107);
 GO
-INSERT sys_role_menu VALUES (2, 107)
+INSERT sys_role_menu VALUES (3, 108);
 GO
-INSERT sys_role_menu VALUES (2, 108)
+INSERT sys_role_menu VALUES (3, 118);
 GO
-INSERT sys_role_menu VALUES (2, 109)
+INSERT sys_role_menu VALUES (3, 123);
 GO
-INSERT sys_role_menu VALUES (2, 110)
+INSERT sys_role_menu VALUES (3, 500);
 GO
-INSERT sys_role_menu VALUES (2, 111)
+INSERT sys_role_menu VALUES (3, 501);
 GO
-INSERT sys_role_menu VALUES (2, 112)
+INSERT sys_role_menu VALUES (3, 1001);
 GO
-INSERT sys_role_menu VALUES (2, 113)
+INSERT sys_role_menu VALUES (3, 1002);
 GO
-INSERT sys_role_menu VALUES (2, 114)
+INSERT sys_role_menu VALUES (3, 1003);
 GO
-INSERT sys_role_menu VALUES (2, 115)
+INSERT sys_role_menu VALUES (3, 1004);
 GO
-INSERT sys_role_menu VALUES (2, 116)
+INSERT sys_role_menu VALUES (3, 1005);
 GO
-INSERT sys_role_menu VALUES (2, 500)
+INSERT sys_role_menu VALUES (3, 1006);
 GO
-INSERT sys_role_menu VALUES (2, 501)
+INSERT sys_role_menu VALUES (3, 1007);
 GO
-INSERT sys_role_menu VALUES (2, 1001)
+INSERT sys_role_menu VALUES (3, 1008);
 GO
-INSERT sys_role_menu VALUES (2, 1002)
+INSERT sys_role_menu VALUES (3, 1009);
 GO
-INSERT sys_role_menu VALUES (2, 1003)
+INSERT sys_role_menu VALUES (3, 1010);
 GO
-INSERT sys_role_menu VALUES (2, 1004)
+INSERT sys_role_menu VALUES (3, 1011);
 GO
-INSERT sys_role_menu VALUES (2, 1005)
+INSERT sys_role_menu VALUES (3, 1012);
 GO
-INSERT sys_role_menu VALUES (2, 1006)
+INSERT sys_role_menu VALUES (3, 1013);
 GO
-INSERT sys_role_menu VALUES (2, 1007)
+INSERT sys_role_menu VALUES (3, 1014);
 GO
-INSERT sys_role_menu VALUES (2, 1008)
+INSERT sys_role_menu VALUES (3, 1015);
 GO
-INSERT sys_role_menu VALUES (2, 1009)
+INSERT sys_role_menu VALUES (3, 1016);
 GO
-INSERT sys_role_menu VALUES (2, 1010)
+INSERT sys_role_menu VALUES (3, 1017);
+GO
+INSERT sys_role_menu VALUES (3, 1018);
+GO
+INSERT sys_role_menu VALUES (3, 1019);
+GO
+INSERT sys_role_menu VALUES (3, 1020);
+GO
+INSERT sys_role_menu VALUES (3, 1021);
+GO
+INSERT sys_role_menu VALUES (3, 1022);
+GO
+INSERT sys_role_menu VALUES (3, 1023);
+GO
+INSERT sys_role_menu VALUES (3, 1024);
+GO
+INSERT sys_role_menu VALUES (3, 1025);
+GO
+INSERT sys_role_menu VALUES (3, 1026);
+GO
+INSERT sys_role_menu VALUES (3, 1027);
+GO
+INSERT sys_role_menu VALUES (3, 1028);
+GO
+INSERT sys_role_menu VALUES (3, 1029);
+GO
+INSERT sys_role_menu VALUES (3, 1030);
+GO
+INSERT sys_role_menu VALUES (3, 1031);
+GO
+INSERT sys_role_menu VALUES (3, 1032);
+GO
+INSERT sys_role_menu VALUES (3, 1033);
+GO
+INSERT sys_role_menu VALUES (3, 1034);
+GO
+INSERT sys_role_menu VALUES (3, 1035);
+GO
+INSERT sys_role_menu VALUES (3, 1036);
+GO
+INSERT sys_role_menu VALUES (3, 1037);
+GO
+INSERT sys_role_menu VALUES (3, 1038);
+GO
+INSERT sys_role_menu VALUES (3, 1039);
+GO
+INSERT sys_role_menu VALUES (3, 1040);
 GO
-INSERT sys_role_menu VALUES (2, 1011)
+INSERT sys_role_menu VALUES (3, 1041);
 GO
-INSERT sys_role_menu VALUES (2, 1012)
+INSERT sys_role_menu VALUES (3, 1042);
 GO
-INSERT sys_role_menu VALUES (2, 1013)
+INSERT sys_role_menu VALUES (3, 1043);
 GO
-INSERT sys_role_menu VALUES (2, 1014)
+INSERT sys_role_menu VALUES (3, 1044);
 GO
-INSERT sys_role_menu VALUES (2, 1015)
+INSERT sys_role_menu VALUES (3, 1045);
 GO
-INSERT sys_role_menu VALUES (2, 1016)
+INSERT sys_role_menu VALUES (3, 1050);
 GO
-INSERT sys_role_menu VALUES (2, 1017)
+INSERT sys_role_menu VALUES (3, 1061);
 GO
-INSERT sys_role_menu VALUES (2, 1018)
+INSERT sys_role_menu VALUES (3, 1062);
 GO
-INSERT sys_role_menu VALUES (2, 1019)
+INSERT sys_role_menu VALUES (3, 1063);
 GO
-INSERT sys_role_menu VALUES (2, 1020)
+INSERT sys_role_menu VALUES (3, 1064);
 GO
-INSERT sys_role_menu VALUES (2, 1021)
+INSERT sys_role_menu VALUES (3, 1065);
 GO
-INSERT sys_role_menu VALUES (2, 1022)
+INSERT sys_role_menu VALUES (3, 1500);
 GO
-INSERT sys_role_menu VALUES (2, 1023)
+INSERT sys_role_menu VALUES (3, 1501);
 GO
-INSERT sys_role_menu VALUES (2, 1024)
+INSERT sys_role_menu VALUES (3, 1502);
 GO
-INSERT sys_role_menu VALUES (2, 1025)
+INSERT sys_role_menu VALUES (3, 1503);
 GO
-INSERT sys_role_menu VALUES (2, 1026)
+INSERT sys_role_menu VALUES (3, 1504);
 GO
-INSERT sys_role_menu VALUES (2, 1027)
+INSERT sys_role_menu VALUES (3, 1505);
 GO
-INSERT sys_role_menu VALUES (2, 1028)
+INSERT sys_role_menu VALUES (3, 1506);
 GO
-INSERT sys_role_menu VALUES (2, 1029)
+INSERT sys_role_menu VALUES (3, 1507);
 GO
-INSERT sys_role_menu VALUES (2, 1030)
+INSERT sys_role_menu VALUES (3, 1508);
 GO
-INSERT sys_role_menu VALUES (2, 1031)
+INSERT sys_role_menu VALUES (3, 1509);
 GO
-INSERT sys_role_menu VALUES (2, 1032)
+INSERT sys_role_menu VALUES (3, 1510);
 GO
-INSERT sys_role_menu VALUES (2, 1033)
+INSERT sys_role_menu VALUES (3, 1511);
 GO
-INSERT sys_role_menu VALUES (2, 1034)
+INSERT sys_role_menu VALUES (3, 1600);
 GO
-INSERT sys_role_menu VALUES (2, 1035)
+INSERT sys_role_menu VALUES (3, 1601);
 GO
-INSERT sys_role_menu VALUES (2, 1036)
+INSERT sys_role_menu VALUES (3, 1602);
 GO
-INSERT sys_role_menu VALUES (2, 1037)
+INSERT sys_role_menu VALUES (3, 1603);
 GO
-INSERT sys_role_menu VALUES (2, 1038)
+INSERT sys_role_menu VALUES (3, 1620);
 GO
-INSERT sys_role_menu VALUES (2, 1039)
+INSERT sys_role_menu VALUES (3, 1621);
 GO
-INSERT sys_role_menu VALUES (2, 1040)
+INSERT sys_role_menu VALUES (3, 1622);
 GO
-INSERT sys_role_menu VALUES (2, 1041)
+INSERT sys_role_menu VALUES (3, 1623);
 GO
-INSERT sys_role_menu VALUES (2, 1042)
+INSERT sys_role_menu VALUES (3, 11618);
 GO
-INSERT sys_role_menu VALUES (2, 1043)
+INSERT sys_role_menu VALUES (3, 11619);
 GO
-INSERT sys_role_menu VALUES (2, 1044)
+INSERT sys_role_menu VALUES (3, 11629);
 GO
-INSERT sys_role_menu VALUES (2, 1045)
+INSERT sys_role_menu VALUES (3, 11632);
 GO
-INSERT sys_role_menu VALUES (2, 1046)
+INSERT sys_role_menu VALUES (3, 11633);
 GO
-INSERT sys_role_menu VALUES (2, 1047)
+INSERT sys_role_menu VALUES (3, 11638);
 GO
-INSERT sys_role_menu VALUES (2, 1048)
+INSERT sys_role_menu VALUES (3, 11639);
 GO
-INSERT sys_role_menu VALUES (2, 1049)
+INSERT sys_role_menu VALUES (3, 11640);
 GO
-INSERT sys_role_menu VALUES (2, 1050)
+INSERT sys_role_menu VALUES (3, 11641);
 GO
-INSERT sys_role_menu VALUES (2, 1051)
+INSERT sys_role_menu VALUES (3, 11642);
 GO
-INSERT sys_role_menu VALUES (2, 1052)
+INSERT sys_role_menu VALUES (3, 11643);
 GO
-INSERT sys_role_menu VALUES (2, 1053)
+INSERT sys_role_menu VALUES (4, 5);
 GO
-INSERT sys_role_menu VALUES (2, 1054)
+INSERT sys_role_menu VALUES (4, 1500);
 GO
-INSERT sys_role_menu VALUES (2, 1055)
+INSERT sys_role_menu VALUES (4, 1501);
 GO
-INSERT sys_role_menu VALUES (2, 1056)
+INSERT sys_role_menu VALUES (4, 1502);
 GO
-INSERT sys_role_menu VALUES (2, 1057)
+INSERT sys_role_menu VALUES (4, 1503);
 GO
-INSERT sys_role_menu VALUES (2, 1058)
+INSERT sys_role_menu VALUES (4, 1504);
 GO
-INSERT sys_role_menu VALUES (2, 1059)
+INSERT sys_role_menu VALUES (4, 1505);
 GO
-INSERT sys_role_menu VALUES (2, 1060)
+INSERT sys_role_menu VALUES (4, 1506);
 GO
-INSERT sys_role_menu VALUES (2, 1061)
+INSERT sys_role_menu VALUES (4, 1507);
 GO
-INSERT sys_role_menu VALUES (2, 1062)
+INSERT sys_role_menu VALUES (4, 1508);
 GO
-INSERT sys_role_menu VALUES (2, 1063)
+INSERT sys_role_menu VALUES (4, 1509);
 GO
-INSERT sys_role_menu VALUES (2, 1064)
+INSERT sys_role_menu VALUES (4, 1510);
 GO
-INSERT sys_role_menu VALUES (2, 1065)
+INSERT sys_role_menu VALUES (4, 1511);
 GO
 
 CREATE TABLE sys_user
@@ -2678,7 +2781,7 @@
     'COLUMN', N'status'
 GO
 EXEC sys.sp_addextendedproperty
-    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛�' ,
+    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 1浠h〃鍒犻櫎锛�' ,
     'SCHEMA', N'dbo',
     'TABLE', N'sys_user',
     'COLUMN', N'del_flag'
@@ -2739,7 +2842,9 @@
 
 INSERT sys_user VALUES (1, N'000000', 103,  N'admin', N'鐤媯鐨勭嫯瀛怢i', N'sys_user', N'crazyLionLi@163.com', N'15888888888', N'1', NULL, N'$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', N'0', N'0', N'127.0.0.1', getdate(), 103, 1, getdate(), NULL, NULL, N'绠$悊鍛�')
 GO
-INSERT sys_user VALUES (2, N'000000', 105,  N'lionli', N'鐤媯鐨勭嫯瀛怢i', N'sys_user', N'crazyLionLi@qq.com', N'15666666666', N'1', NULL, N'$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', N'0', N'0', N'127.0.0.1', getdate(), 103, 1, getdate(), NULL, NULL, N'娴嬭瘯鍛�')
+INSERT sys_user VALUES (3, N'000000', 108, N'test', N'鏈儴闂ㄥ強浠ヤ笅 瀵嗙爜666666', N'sys_user', N'', N'', N'0', NULL, N'$2a$10$b8yUzN0C71sbz.PhNOCgJe.Tu1yWC3RNrTyjSQ8p1W0.aaUXUJ.Ne', N'0', N'0', N'127.0.0.1', getdate(), 103, 1, getdate(), 3, getdate(), NULL);
+GO
+INSERT sys_user VALUES (4, N'000000', 102, N'test1', N'浠呮湰浜� 瀵嗙爜666666', N'sys_user', N'', N'', N'0', NULL, N'$2a$10$b8yUzN0C71sbz.PhNOCgJe.Tu1yWC3RNrTyjSQ8p1W0.aaUXUJ.Ne', N'0', N'0', N'127.0.0.1', getdate(), 103, 1, getdate(), 4, getdate(), NULL);
 GO
 
 CREATE TABLE sys_user_post
@@ -2773,8 +2878,6 @@
 
 INSERT sys_user_post VALUES (1, 1)
 GO
-INSERT sys_user_post VALUES (2, 2)
-GO
 
 CREATE TABLE sys_user_role
 (
@@ -2807,7 +2910,9 @@
 
 INSERT sys_user_role VALUES (1, 1)
 GO
-INSERT sys_user_role VALUES (2, 2)
+INSERT sys_user_role VALUES (3, 3);
+GO
+INSERT sys_user_role VALUES (4, 4);
 GO
 
 CREATE TABLE sys_oss
@@ -2939,7 +3044,7 @@
 GO
 
 EXEC sp_addextendedproperty
-    'MS_Description', N'涓诲缓',
+    'MS_Description', N'涓婚敭',
     'SCHEMA', N'dbo',
     'TABLE', N'sys_oss_config',
     'COLUMN', N'oss_config_id'
@@ -3068,7 +3173,7 @@
 GO
 INSERT INTO sys_oss_config VALUES (N'2', N'000000', N'qiniu', N'XXXXXXXXXXXXXXXX', N'XXXXXXXXXXXXXXX', N'ruoyi',            N'', N's3-cn-north-1.qiniucs.com',         N'',N'N', N'',           N'1', N'1', N'', 103, 1, getdate(), 1, getdate(), NULL)
 GO
-INSERT INTO sys_oss_config VALUES (N'3', N'000000', N'aliyun', N'XXXXXXXXXXXXXXX', N'XXXXXXXXXXXXXXX', N'ruoyi',            N'', N'oss-cn-beijing.aliyuncs.com',       N'',N'N', N'',           N'1', N'1', N'', 103, 1, getdate(), 1, getdate(), NULL)
+INSERT INTO sys_oss_config VALUES (N3, N'000000', N'aliyun', N'XXXXXXXXXXXXXXX', N'XXXXXXXXXXXXXXX', N'ruoyi',            N'', N'oss-cn-beijing.aliyuncs.com',       N'',N'N', N'',           N'1', N'1', N'', 103, 1, getdate(), 1, getdate(), NULL)
 GO
 INSERT INTO sys_oss_config VALUES (N'4', N'000000', N'qcloud', N'XXXXXXXXXXXXXXX', N'XXXXXXXXXXXXXXX', N'ruoyi-1250000000', N'', N'cos.ap-beijing.myqcloud.com',       N'',N'N', N'ap-beijing', N'1', N'1', N'', 103, 1, getdate(), 1, getdate(), NULL)
 GO
@@ -3101,102 +3206,402 @@
 GO
 
 EXEC sp_addextendedproperty
-'MS_Description', N'涓诲缓',
-'SCHEMA', N'dbo',
-'TABLE', N'sys_client',
-'COLUMN', N'id'
+    'MS_Description', N'涓婚敭',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'id'
 GO
 EXEC sys.sp_addextendedproperty
-'MS_Description', N'瀹㈡埛绔痠d' ,
-'SCHEMA', N'dbo',
-'TABLE', N'sys_client',
-'COLUMN', N'client_id'
+    'MS_Description', N'瀹㈡埛绔痠d' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'client_id'
 GO
 EXEC sp_addextendedproperty
-'MS_Description', N'瀹㈡埛绔痥ey',
-'SCHEMA', N'dbo',
-'TABLE', N'sys_client',
-'COLUMN', N'client_key'
+    'MS_Description', N'瀹㈡埛绔痥ey',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'client_key'
 GO
 EXEC sp_addextendedproperty
-'MS_Description', N'瀹㈡埛绔閽�',
-'SCHEMA', N'dbo',
-'TABLE', N'sys_client',
-'COLUMN', N'client_secret'
+    'MS_Description', N'瀹㈡埛绔閽�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'client_secret'
 GO
 EXEC sp_addextendedproperty
-'MS_Description', N'鎺堟潈绫诲瀷',
-'SCHEMA', N'dbo',
-'TABLE', N'sys_client',
-'COLUMN', N'grant_type'
+    'MS_Description', N'鎺堟潈绫诲瀷',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'grant_type'
 GO
 EXEC sp_addextendedproperty
-'MS_Description', N'璁惧绫诲瀷',
-'SCHEMA', N'dbo',
-'TABLE', N'sys_client',
-'COLUMN', N'device_type'
+    'MS_Description', N'璁惧绫诲瀷',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'device_type'
 GO
 EXEC sp_addextendedproperty
-'MS_Description', N'token娲昏穬瓒呮椂鏃堕棿',
-'SCHEMA', N'dbo',
-'TABLE', N'sys_client',
-'COLUMN', N'active_timeout'
+    'MS_Description', N'token娲昏穬瓒呮椂鏃堕棿',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'active_timeout'
 GO
 EXEC sp_addextendedproperty
-'MS_Description', N'token鍥哄畾瓒呮椂',
-'SCHEMA', N'dbo',
-'TABLE', N'sys_client',
-'COLUMN', N'timeout'
+    'MS_Description', N'token鍥哄畾瓒呮椂',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'timeout'
 GO
 EXEC sp_addextendedproperty
-'MS_Description', N'鐘舵�侊紙0姝e父 1鍋滅敤锛�',
-'SCHEMA', N'dbo',
-'TABLE', N'sys_client',
-'COLUMN', N'status'
+    'MS_Description', N'鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'status'
 GO
 EXEC sp_addextendedproperty
-'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛�',
-'SCHEMA', N'dbo',
-'TABLE', N'sys_client',
-'COLUMN', N'del_flag'
+    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 1浠h〃鍒犻櫎锛�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'del_flag'
 GO
 EXEC sys.sp_addextendedproperty
-'MS_Description', N'鍒涘缓閮ㄩ棬' ,
-'SCHEMA', N'dbo',
-'TABLE', N'sys_client',
-'COLUMN', N'create_dept'
+    'MS_Description', N'鍒涘缓閮ㄩ棬' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'create_dept'
 GO
 EXEC sp_addextendedproperty
-'MS_Description', N'鍒涘缓鑰�',
-'SCHEMA', N'dbo',
-'TABLE', N'sys_client',
-'COLUMN', N'create_by'
+    'MS_Description', N'鍒涘缓鑰�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'create_by'
 GO
 EXEC sp_addextendedproperty
-'MS_Description', N'鍒涘缓鏃堕棿',
-'SCHEMA', N'dbo',
-'TABLE', N'sys_client',
-'COLUMN', N'create_time'
+    'MS_Description', N'鍒涘缓鏃堕棿',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'create_time'
 GO
 EXEC sp_addextendedproperty
-'MS_Description', N'鏇存柊鑰�',
-'SCHEMA', N'dbo',
-'TABLE', N'sys_client',
-'COLUMN', N'update_by'
+    'MS_Description', N'鏇存柊鑰�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'update_by'
 GO
 EXEC sp_addextendedproperty
-'MS_Description', N'鏇存柊鏃堕棿',
-'SCHEMA', N'dbo',
-'TABLE', N'sys_client',
-'COLUMN', N'update_time'
+    'MS_Description', N'鏇存柊鏃堕棿',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'update_time'
 GO
 EXEC sp_addextendedproperty
-'MS_Description', N'绯荤粺鎺堟潈琛�',
-'SCHEMA', N'dbo',
-'TABLE', N'sys_client'
+    'MS_Description', N'绯荤粺鎺堟潈琛�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client'
 GO
 
 INSERT INTO sys_client VALUES (N'1', N'e5cd7e4891bf95d1d19206ce24a7b32e', N'pc', N'pc123', N'password,social', N'pc', 1800, 604800, N'0', N'0', 103, 1, getdate(), 1, getdate())
 GO
-INSERT INTO sys_client VALUES (N'2', N'428a8310cd442757ae699df5d894f051', N'app', N'app123', N'password,sms,social', N'app', 1800, 604800, N'0', N'0', 103, 1, getdate(), 1, getdate())
+INSERT INTO sys_client VALUES (N'2', N'428a8310cd442757ae699df5d894f051', N'app', N'app123', N'password,sms,social', N'android', 1800, 604800, N'0', N'0', 103, 1, getdate(), 1, getdate())
+GO
+
+CREATE TABLE test_demo
+(
+    id          bigint            NOT NULL,
+    tenant_id   nvarchar(20)      DEFAULT ('000000') NULL,
+    dept_id     bigint            NULL,
+    user_id     bigint            NULL,
+    order_num   int DEFAULT ((0)) NULL,
+    test_key    nvarchar(255)     NULL,
+    value       nvarchar(255)     NULL,
+    version     int DEFAULT ((0)) NULL,
+    create_dept bigint            NULL,
+    create_time datetime2(0)      NULL,
+    create_by   bigint            NULL,
+    update_time datetime2(0)      NULL,
+    update_by   bigint            NULL,
+    del_flag    int DEFAULT ((0)) NULL,
+    CONSTRAINT PK__test_dem__3213E83F176051C8 PRIMARY KEY CLUSTERED (id)
+        WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
+        ON [PRIMARY]
+)
+ON [PRIMARY]
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'涓婚敭',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'绉熸埛id',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'tenant_id'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'閮ㄩ棬id',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'dept_id'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鐢ㄦ埛id',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'user_id'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鎺掑簭鍙�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'order_num'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'key閿�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'test_key'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鍊�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'value'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鐗堟湰',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'version'
+GO
+
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍒涘缓閮ㄩ棬' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'create_dept'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鍒涘缓鏃堕棿',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'create_time'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鍒涘缓浜�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'create_by'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鏇存柊鏃堕棿',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'update_time'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鏇存柊浜�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'update_by'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鍒犻櫎鏍囧織',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'del_flag'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'娴嬭瘯鍗曡〃',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo'
+GO
+
+CREATE TABLE test_tree
+(
+    id          bigint               NOT NULL,
+    tenant_id   nvarchar(20)         DEFAULT ('000000') NULL,
+    parent_id   bigint DEFAULT ((0)) NULL,
+    dept_id     bigint               NULL,
+    user_id     bigint               NULL,
+    tree_name   nvarchar(255)        NULL,
+    version     int    DEFAULT ((0)) NULL,
+    create_dept bigint               NULL,
+    create_time datetime2(0)         NULL,
+    create_by   bigint               NULL,
+    update_time datetime2(0)         NULL,
+    update_by   bigint               NULL,
+    del_flag    int    DEFAULT ((0)) NULL,
+    CONSTRAINT PK__test_tre__3213E83FC75A1B63 PRIMARY KEY CLUSTERED (id)
+        WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
+        ON [PRIMARY]
+)
+ON [PRIMARY]
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'涓婚敭',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'绉熸埛id',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'tenant_id'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鐖秈d',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'parent_id'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'閮ㄩ棬id',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'dept_id'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鐢ㄦ埛id',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'user_id'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鍊�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'tree_name'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鐗堟湰',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'version'
+GO
+
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍒涘缓閮ㄩ棬' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'create_dept'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鍒涘缓鏃堕棿',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'create_time'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鍒涘缓浜�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'create_by'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鏇存柊鏃堕棿',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'update_time'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鏇存柊浜�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'update_by'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鍒犻櫎鏍囧織',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'del_flag'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'娴嬭瘯鏍戣〃',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree'
+GO
+
+INSERT test_demo VALUES (1, N'000000', 102, 4, 1, N'娴嬭瘯鏁版嵁鏉冮檺', N'娴嬭瘯', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (2, N'000000', 102, 3, 2, N'瀛愯妭鐐�1', N'111', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (3, N'000000', 102, 3, 3, N'瀛愯妭鐐�2', N'222', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (4, N'000000', 108, 4, 4, N'娴嬭瘯鏁版嵁', N'demo', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (5, N'000000', 108, 3, 13, N'瀛愯妭鐐�11', N'1111', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (6, N'000000', 108, 3, 12, N'瀛愯妭鐐�22', N'2222', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (7, N'000000', 108, 3, 11, N'瀛愯妭鐐�33', N'3333', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (8, N'000000', 108, 3, 10, N'瀛愯妭鐐�44', N'4444', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (9, N'000000', 108, 3, 9, N'瀛愯妭鐐�55', N'5555', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (10, N'000000', 108, 3, 8, N'瀛愯妭鐐�66', N'6666', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (11, N'000000', 108, 3, 7, N'瀛愯妭鐐�77', N'7777', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (12, N'000000', 108, 3, 6, N'瀛愯妭鐐�88', N'8888', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (13, N'000000', 108, 3, 5, N'瀛愯妭鐐�99', N'9999', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+
+INSERT test_tree VALUES (1, N'000000', 0, 102, 4, N'娴嬭瘯鏁版嵁鏉冮檺', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (2, N'000000', 1, 102, 3, N'瀛愯妭鐐�1', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (3, N'000000', 2, 102, 3, N'瀛愯妭鐐�2', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (4, N'000000', 0, 108, 4, N'娴嬭瘯鏍�1', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (5, N'000000', 4, 108, 3, N'瀛愯妭鐐�11', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (6, N'000000', 4, 108, 3, N'瀛愯妭鐐�22', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (7, N'000000', 4, 108, 3, N'瀛愯妭鐐�33', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (8, N'000000', 5, 108, 3, N'瀛愯妭鐐�44', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (9, N'000000', 6, 108, 3, N'瀛愯妭鐐�55', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (10, N'000000', 7, 108, 3, N'瀛愯妭鐐�66', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (11, N'000000', 7, 108, 3, N'瀛愯妭鐐�77', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (12, N'000000', 10, 108, 3, N'瀛愯妭鐐�88', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (13, N'000000', 10, 108, 3, N'瀛愯妭鐐�99', 0, 103, getdate(), 1, NULL, NULL, 0);
 GO

--
Gitblit v1.9.3