ソースを参照

:tada: 增加多租户数据库隔离、动态数据源切换功能

smallchill 5 年 前
コミット
02c8dddfa4
46 ファイル変更147 行追加9 行削除
  1. 2 1
      doc/sql/mysql/bladex-saber-mysql.sql
  2. 2 1
      doc/sql/mysql/bladex-sword-mysql.sql
  3. 3 1
      doc/sql/oracle/bladex-saber-oracle.sql
  4. 2 0
      doc/sql/oracle/bladex-sword-oracle.sql
  5. 3 1
      doc/sql/postgresql/bladex-saber-postgresql.sql
  6. 3 1
      doc/sql/postgresql/bladex-sword-postgresql.sql
  7. 9 1
      doc/sql/sqlserver/bladex-saber-sqlserver.sql
  8. 9 1
      doc/sql/sqlserver/bladex-sword-sqlserver.sql
  9. 6 0
      doc/sql/update/mysql-update-2.5.1~2.5.2.sql
  10. 7 0
      doc/sql/update/oracle-update-2.5.1~2.5.2.sql
  11. 7 0
      doc/sql/update/postgresql-update-2.5.1~2.5.2.sql
  12. 2 0
      src/main/java/org/springblade/flow/demo/leave/controller/LeaveController.java
  13. 2 0
      src/main/java/org/springblade/flow/engine/controller/FlowFollowController.java
  14. 2 0
      src/main/java/org/springblade/flow/engine/controller/FlowManagerController.java
  15. 2 0
      src/main/java/org/springblade/flow/engine/controller/FlowModelController.java
  16. 2 0
      src/main/java/org/springblade/flow/engine/controller/FlowProcessController.java
  17. 2 0
      src/main/java/org/springblade/modules/auth/endpoint/BladeSocialEndpoint.java
  18. 2 0
      src/main/java/org/springblade/modules/auth/endpoint/BladeTokenEndPoint.java
  19. 2 0
      src/main/java/org/springblade/modules/desk/controller/DashBoardController.java
  20. 2 0
      src/main/java/org/springblade/modules/desk/controller/NoticeController.java
  21. 2 0
      src/main/java/org/springblade/modules/develop/controller/CodeController.java
  22. 2 0
      src/main/java/org/springblade/modules/develop/controller/DatasourceController.java
  23. 2 0
      src/main/java/org/springblade/modules/resource/controller/AttachController.java
  24. 2 0
      src/main/java/org/springblade/modules/resource/controller/OssController.java
  25. 2 0
      src/main/java/org/springblade/modules/resource/controller/SmsController.java
  26. 2 0
      src/main/java/org/springblade/modules/resource/endpoint/OssEndpoint.java
  27. 2 0
      src/main/java/org/springblade/modules/resource/endpoint/SmsEndpoint.java
  28. 2 0
      src/main/java/org/springblade/modules/system/controller/ApiScopeController.java
  29. 2 0
      src/main/java/org/springblade/modules/system/controller/AuthClientController.java
  30. 2 0
      src/main/java/org/springblade/modules/system/controller/DataScopeController.java
  31. 2 0
      src/main/java/org/springblade/modules/system/controller/DeptController.java
  32. 2 0
      src/main/java/org/springblade/modules/system/controller/DictBizController.java
  33. 2 0
      src/main/java/org/springblade/modules/system/controller/DictController.java
  34. 2 0
      src/main/java/org/springblade/modules/system/controller/LogApiController.java
  35. 2 0
      src/main/java/org/springblade/modules/system/controller/LogErrorController.java
  36. 2 0
      src/main/java/org/springblade/modules/system/controller/LogUsualController.java
  37. 2 0
      src/main/java/org/springblade/modules/system/controller/MenuController.java
  38. 2 0
      src/main/java/org/springblade/modules/system/controller/ParamController.java
  39. 2 0
      src/main/java/org/springblade/modules/system/controller/PostController.java
  40. 2 0
      src/main/java/org/springblade/modules/system/controller/RegionController.java
  41. 2 0
      src/main/java/org/springblade/modules/system/controller/RoleController.java
  42. 20 2
      src/main/java/org/springblade/modules/system/controller/TenantController.java
  43. 2 0
      src/main/java/org/springblade/modules/system/controller/TopMenuController.java
  44. 2 0
      src/main/java/org/springblade/modules/system/controller/UserController.java
  45. 5 0
      src/main/java/org/springblade/modules/system/entity/Tenant.java
  46. 5 0
      src/main/resources/application.yml

+ 2 - 1
doc/sql/mysql/bladex-saber-mysql.sql

@@ -623,6 +623,7 @@ CREATE TABLE `blade_tenant`  (
   `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '联系地址',
   `account_number` int(11) NULL DEFAULT -1 COMMENT '账号额度',
   `expire_time` datetime(0) NULL DEFAULT NULL COMMENT '过期时间',
+  `datasource_id` bigint(64) NULL DEFAULT NULL COMMENT '数据源ID',
   `license_key` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '授权码',
   `create_user` bigint(64) NULL DEFAULT NULL COMMENT '创建人',
   `create_dept` bigint(64) NULL DEFAULT NULL COMMENT '创建部门',
@@ -638,7 +639,7 @@ CREATE TABLE `blade_tenant`  (
 -- Records of blade_tenant
 -- ----------------------------
 BEGIN;
-INSERT INTO `blade_tenant` VALUES (1123598820738675201, '000000', '管理组', NULL, NULL, 'admin', '666666', '管理组', -1, NULL, NULL, 1123598821738675201, 1123598813738675201, '2019-01-01 00:00:39', 1123598821738675201, '2019-01-01 00:00:39', 1, 0);
+INSERT INTO `blade_tenant` VALUES (1123598820738675201, '000000', '管理组', NULL, NULL, 'admin', '666666', '管理组', -1, NULL, NULL, NULL, 1123598821738675201, 1123598813738675201, '2019-01-01 00:00:39', 1123598821738675201, '2019-01-01 00:00:39', 1, 0);
 COMMIT;
 
 -- ----------------------------

+ 2 - 1
doc/sql/mysql/bladex-sword-mysql.sql

@@ -623,6 +623,7 @@ CREATE TABLE `blade_tenant`  (
   `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '联系地址',
   `account_number` int(11) NULL DEFAULT -1 COMMENT '账号额度',
   `expire_time` datetime(0) NULL DEFAULT NULL COMMENT '过期时间',
+  `datasource_id` bigint(64) NULL DEFAULT NULL COMMENT '数据源ID',
   `license_key` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '授权码',
   `create_user` bigint(64) NULL DEFAULT NULL COMMENT '创建人',
   `create_dept` bigint(64) NULL DEFAULT NULL COMMENT '创建部门',
@@ -638,7 +639,7 @@ CREATE TABLE `blade_tenant`  (
 -- Records of blade_tenant
 -- ----------------------------
 BEGIN;
-INSERT INTO `blade_tenant` VALUES (1123598820738675201, '000000', '管理组', NULL, NULL, 'admin', '666666', '管理组', -1, NULL, NULL, 1123598821738675201, 1123598813738675201, '2019-01-01 00:00:39', 1123598821738675201, '2019-01-01 00:00:39', 1, 0);
+INSERT INTO `blade_tenant` VALUES (1123598820738675201, '000000', '管理组', NULL, NULL, 'admin', '666666', '管理组', -1, NULL, NULL, NULL, 1123598821738675201, 1123598813738675201, '2019-01-01 00:00:39', 1123598821738675201, '2019-01-01 00:00:39', 1, 0);
 COMMIT;
 
 -- ----------------------------

+ 3 - 1
doc/sql/oracle/bladex-saber-oracle.sql

@@ -4992,6 +4992,7 @@ CREATE TABLE "BLADE_TENANT" (
   "ADDRESS" NVARCHAR2(255) ,
   "ACCOUNT_NUMBER" NUMBER DEFAULT -1      ,
   "EXPIRE_TIME" DATE ,
+  "DATASOURCE_ID" NUMBER(20) ,
   "LICENSE_KEY" VARCHAR2(1000 BYTE) ,
   "CREATE_USER" NUMBER(20) ,
   "CREATE_DEPT" NUMBER(20) ,
@@ -5027,6 +5028,7 @@ COMMENT ON COLUMN "BLADE_TENANT"."CONTACT_NUMBER" IS '联系电话';
 COMMENT ON COLUMN "BLADE_TENANT"."ADDRESS" IS '联系地址';
 COMMENT ON COLUMN "BLADE_TENANT"."ACCOUNT_NUMBER" IS '账号额度';
 COMMENT ON COLUMN "BLADE_TENANT"."EXPIRE_TIME" IS '过期时间';
+COMMENT ON COLUMN "BLADE_TENANT"."DATASOURCE_ID" IS '数据源ID';
 COMMENT ON COLUMN "BLADE_TENANT"."LICENSE_KEY" IS '授权码';
 COMMENT ON COLUMN "BLADE_TENANT"."CREATE_USER" IS '创建人';
 COMMENT ON COLUMN "BLADE_TENANT"."CREATE_DEPT" IS '创建部门';
@@ -5040,7 +5042,7 @@ COMMENT ON TABLE "BLADE_TENANT" IS '租户表';
 -- ----------------------------
 -- Records of BLADE_TENANT
 -- ----------------------------
-INSERT INTO "BLADE_TENANT" VALUES ('1123598820738675201', '000000', '管理组', NULL, NULL, 'admin', '666666', '管理组', '-1', NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2019-01-01 00:00:39', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2019-01-01 00:00:39', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "BLADE_TENANT" VALUES ('1123598820738675201', '000000', '管理组', NULL, NULL, 'admin', '666666', '管理组', '-1', NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2019-01-01 00:00:39', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2019-01-01 00:00:39', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
 COMMIT;
 
 -- ----------------------------

+ 2 - 0
doc/sql/oracle/bladex-sword-oracle.sql

@@ -4990,6 +4990,7 @@ CREATE TABLE "BLADE_TENANT" (
   "ADDRESS" NVARCHAR2(255) ,
   "ACCOUNT_NUMBER" NUMBER DEFAULT -1      ,
   "EXPIRE_TIME" DATE ,
+  "DATASOURCE_ID" NUMBER(20) ,
   "LICENSE_KEY" VARCHAR2(1000 BYTE) ,
   "CREATE_USER" NUMBER(20) ,
   "CREATE_DEPT" NUMBER(20) ,
@@ -5025,6 +5026,7 @@ COMMENT ON COLUMN "BLADE_TENANT"."CONTACT_NUMBER" IS '联系电话';
 COMMENT ON COLUMN "BLADE_TENANT"."ADDRESS" IS '联系地址';
 COMMENT ON COLUMN "BLADE_TENANT"."ACCOUNT_NUMBER" IS '账号额度';
 COMMENT ON COLUMN "BLADE_TENANT"."EXPIRE_TIME" IS '过期时间';
+COMMENT ON COLUMN "BLADE_TENANT"."DATASOURCE_ID" IS '数据源ID';
 COMMENT ON COLUMN "BLADE_TENANT"."LICENSE_KEY" IS '授权码';
 COMMENT ON COLUMN "BLADE_TENANT"."CREATE_USER" IS '创建人';
 COMMENT ON COLUMN "BLADE_TENANT"."CREATE_DEPT" IS '创建部门';

+ 3 - 1
doc/sql/postgresql/bladex-saber-postgresql.sql

@@ -4664,6 +4664,7 @@ CREATE TABLE "blade_tenant" (
   "address" varchar(255) COLLATE "pg_catalog"."default",
   "account_number" int2 DEFAULT '-1'::integer,
   "expire_time" timestamp(6),
+  "datasource_id" int8,
   "license_key" varchar(1000) COLLATE "pg_catalog"."default",
   "create_user" int8,
   "create_dept" int8,
@@ -4684,6 +4685,7 @@ COMMENT ON COLUMN "blade_tenant"."contact_number" IS '联系电话';
 COMMENT ON COLUMN "blade_tenant"."address" IS '联系地址';
 COMMENT ON COLUMN "blade_tenant"."account_number" IS '账号额度';
 COMMENT ON COLUMN "blade_tenant"."expire_time" IS '过期时间';
+COMMENT ON COLUMN "blade_tenant"."datasource_id" IS '数据源ID';
 COMMENT ON COLUMN "blade_tenant"."license_key" IS '授权码';
 COMMENT ON COLUMN "blade_tenant"."create_user" IS '创建人';
 COMMENT ON COLUMN "blade_tenant"."create_dept" IS '创建部门';
@@ -4698,7 +4700,7 @@ COMMENT ON TABLE "blade_tenant" IS '租户表';
 -- Records of blade_tenant
 -- ----------------------------
 BEGIN;
-INSERT INTO "blade_tenant" VALUES (1123598820738675201, '000000', '管理组', NULL, NULL, 'admin', '666666', '管理组', -1, NULL, NULL, 1123598821738675201, 1123598813738675201, '2019-01-01 00:00:39', 1123598821738675201, '2019-01-01 00:00:39', 1, 0);
+INSERT INTO "blade_tenant" VALUES (1123598820738675201, '000000', '管理组', NULL, NULL, 'admin', '666666', '管理组', -1, NULL, NULL, NULL, 1123598821738675201, 1123598813738675201, '2019-01-01 00:00:39', 1123598821738675201, '2019-01-01 00:00:39', 1, 0);
 COMMIT;
 
 -- ----------------------------

+ 3 - 1
doc/sql/postgresql/bladex-sword-postgresql.sql

@@ -4662,6 +4662,7 @@ CREATE TABLE "blade_tenant" (
   "address" varchar(255) COLLATE "pg_catalog"."default",
   "account_number" int2 DEFAULT '-1'::integer,
   "expire_time" timestamp(6),
+  "datasource_id" int8,
   "license_key" varchar(1000) COLLATE "pg_catalog"."default",
   "create_user" int8,
   "create_dept" int8,
@@ -4682,6 +4683,7 @@ COMMENT ON COLUMN "blade_tenant"."contact_number" IS '联系电话';
 COMMENT ON COLUMN "blade_tenant"."address" IS '联系地址';
 COMMENT ON COLUMN "blade_tenant"."account_number" IS '账号额度';
 COMMENT ON COLUMN "blade_tenant"."expire_time" IS '过期时间';
+COMMENT ON COLUMN "blade_tenant"."datasource_id" IS '数据源ID';
 COMMENT ON COLUMN "blade_tenant"."license_key" IS '授权码';
 COMMENT ON COLUMN "blade_tenant"."create_user" IS '创建人';
 COMMENT ON COLUMN "blade_tenant"."create_dept" IS '创建部门';
@@ -4696,7 +4698,7 @@ COMMENT ON TABLE "blade_tenant" IS '租户表';
 -- Records of blade_tenant
 -- ----------------------------
 BEGIN;
-INSERT INTO "blade_tenant" VALUES (1123598820738675201, '000000', '管理组', NULL, NULL, 'admin', '666666', '管理组', -1, NULL, NULL, 1123598821738675201, 1123598813738675201, '2019-01-01 00:00:39', 1123598821738675201, '2019-01-01 00:00:39', 1, 0);
+INSERT INTO "blade_tenant" VALUES (1123598820738675201, '000000', '管理组', NULL, NULL, 'admin', '666666', '管理组', -1, NULL, NULL, NULL, 1123598821738675201, 1123598813738675201, '2019-01-01 00:00:39', 1123598821738675201, '2019-01-01 00:00:39', 1, 0);
 COMMIT;
 
 -- ----------------------------

+ 9 - 1
doc/sql/sqlserver/bladex-saber-sqlserver.sql

@@ -3187,6 +3187,7 @@ CREATE TABLE [dbo].[blade_tenant] (
   [address] nvarchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
   [account_number] int  NULL,
   [expire_time] datetime2(0)  NULL,
+  [datasource_id] bigint  NULL,
   [license_key] nvarchar(1000) COLLATE Chinese_PRC_CI_AS  NULL,
   [create_user] bigint  NULL,
   [create_dept] bigint  NULL,
@@ -3271,6 +3272,13 @@ EXEC sp_addextendedproperty
 'COLUMN', N'expire_time'
 GO
 
+EXEC sp_addextendedproperty
+'MS_Description', N'数据源ID',
+'SCHEMA', N'dbo',
+'TABLE', N'blade_tenant',
+'COLUMN', N'datasource_id'
+GO
+
 EXEC sp_addextendedproperty
 'MS_Description', N'授权码',
 'SCHEMA', N'dbo',
@@ -3340,7 +3348,7 @@ GO
 BEGIN TRANSACTION
 GO
 
-INSERT INTO [dbo].[blade_tenant] VALUES (N'1123598820738675201', N'000000', N'管理组', NULL, NULL, N'admin', N'666666', N'管理组', N'-1', NULL, NULL, N'1123598821738675201', N'1123598813738675201', N'2019-01-01 00:00:39', N'1123598821738675201', N'2019-01-01 00:00:39', N'1', N'0')
+INSERT INTO [dbo].[blade_tenant] VALUES (N'1123598820738675201', N'000000', N'管理组', NULL, NULL, N'admin', N'666666', N'管理组', N'-1', NULL, NULL, NULL, N'1123598821738675201', N'1123598813738675201', N'2019-01-01 00:00:39', N'1123598821738675201', N'2019-01-01 00:00:39', N'1', N'0')
 GO
 
 COMMIT

+ 9 - 1
doc/sql/sqlserver/bladex-sword-sqlserver.sql

@@ -3187,6 +3187,7 @@ CREATE TABLE [dbo].[blade_tenant] (
   [address] nvarchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
   [account_number] int  NULL,
   [expire_time] datetime2(0)  NULL,
+  [datasource_id] bigint  NULL,
   [license_key] nvarchar(1000) COLLATE Chinese_PRC_CI_AS  NULL,
   [create_user] bigint  NULL,
   [create_dept] bigint  NULL,
@@ -3271,6 +3272,13 @@ EXEC sp_addextendedproperty
 'COLUMN', N'expire_time'
 GO
 
+EXEC sp_addextendedproperty
+'MS_Description', N'数据源ID',
+'SCHEMA', N'dbo',
+'TABLE', N'blade_tenant',
+'COLUMN', N'datasource_id'
+GO
+
 EXEC sp_addextendedproperty
 'MS_Description', N'授权码',
 'SCHEMA', N'dbo',
@@ -3340,7 +3348,7 @@ GO
 BEGIN TRANSACTION
 GO
 
-INSERT INTO [dbo].[blade_tenant] VALUES (N'1123598820738675201', N'000000', N'管理组', NULL, NULL, N'admin', N'666666', N'管理组', N'-1', NULL, NULL, N'1123598821738675201', N'1123598813738675201', N'2019-01-01 00:00:39', N'1123598821738675201', N'2019-01-01 00:00:39', N'1', N'0')
+INSERT INTO [dbo].[blade_tenant] VALUES (N'1123598820738675201', N'000000', N'管理组', NULL, NULL, N'admin', N'666666', N'管理组', N'-1', NULL, NULL, NULL, N'1123598821738675201', N'1123598813738675201', N'2019-01-01 00:00:39', N'1123598821738675201', N'2019-01-01 00:00:39', N'1', N'0')
 GO
 
 COMMIT

+ 6 - 0
doc/sql/update/mysql-update-2.5.1~2.5.2.sql

@@ -4,6 +4,12 @@
 ALTER TABLE `blade_user_oauth`
     ADD COLUMN `uuid` varchar(64) NULL COMMENT '第三方系统用户ID' AFTER `tenant_id`;
 
+-- ----------------------------
+-- 租户数据源ID
+-- ----------------------------
+ALTER TABLE `blade_tenant`
+    ADD COLUMN `datasource_id` bigint(64) NULL COMMENT '数据源' AFTER `expire_time`;
+
 -- ----------------------------
 -- 附件表
 -- ----------------------------

+ 7 - 0
doc/sql/update/oracle-update-2.5.1~2.5.2.sql

@@ -5,6 +5,13 @@ ALTER TABLE "BLADE_USER_OAUTH"
     ADD ("UUID" VARCHAR2(64) );
 COMMENT ON COLUMN "BLADE_USER_OAUTH"."UUID" IS '第三方系统用户ID';
 
+-- ----------------------------
+-- 租户数据源ID
+-- ----------------------------
+ALTER TABLE "BLADE_TENANT"
+    ADD ("DATASOURCE_ID" NUMBER(20) );
+COMMENT ON COLUMN "BLADE_TENANT"."DATASOURCE_ID" IS '数据源ID'
+
 -- ----------------------------
 -- 附件表
 -- ----------------------------

+ 7 - 0
doc/sql/update/postgresql-update-2.5.1~2.5.2.sql

@@ -5,6 +5,13 @@ ALTER TABLE "blade_user_oauth"
     ADD COLUMN "uuid" varchar(64) COLLATE "pg_catalog"."default";
 COMMENT ON COLUMN "blade_user_oauth"."uuid" IS '第三方系统用户ID';
 
+-- ----------------------------
+-- 租户数据源ID
+-- ----------------------------
+ALTER TABLE "blade_tenant"
+    ADD COLUMN "datasource_id" int8;
+COMMENT ON COLUMN "blade_tenant"."datasource_id" IS '数据源ID';
+
 -- ----------------------------
 -- 附件表
 -- ----------------------------

+ 2 - 0
src/main/java/org/springblade/flow/demo/leave/controller/LeaveController.java

@@ -19,6 +19,7 @@ package org.springblade.flow.demo.leave.controller;
 import lombok.AllArgsConstructor;
 import org.springblade.common.cache.UserCache;
 import org.springblade.core.launch.constant.AppConstant;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.flow.demo.leave.entity.ProcessLeave;
 import org.springblade.flow.demo.leave.service.ILeaveService;
@@ -30,6 +31,7 @@ import springfox.documentation.annotations.ApiIgnore;
  *
  * @author Chill
  */
+@NonDS
 @ApiIgnore
 @RestController
 @RequestMapping(AppConstant.APPLICATION_DESK_NAME + "/process/leave")

+ 2 - 0
src/main/java/org/springblade/flow/engine/controller/FlowFollowController.java

@@ -25,6 +25,7 @@ import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.annotation.PreAuth;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.RoleConstant;
 import org.springblade.flow.engine.entity.FlowExecution;
@@ -37,6 +38,7 @@ import springfox.documentation.annotations.ApiIgnore;
  *
  * @author Chill
  */
+@NonDS
 @RestController
 @RequestMapping(AppConstant.APPLICATION_FLOW_NAME + "/follow")
 @AllArgsConstructor

+ 2 - 0
src/main/java/org/springblade/flow/engine/controller/FlowManagerController.java

@@ -26,6 +26,7 @@ import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.annotation.PreAuth;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.RoleConstant;
 import org.springblade.core.tool.support.Kv;
@@ -45,6 +46,7 @@ import java.util.Objects;
  *
  * @author Chill
  */
+@NonDS
 @RestController
 @RequestMapping(AppConstant.APPLICATION_FLOW_NAME + "/manager")
 @AllArgsConstructor

+ 2 - 0
src/main/java/org/springblade/flow/engine/controller/FlowModelController.java

@@ -27,6 +27,7 @@ import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.annotation.PreAuth;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.RoleConstant;
 import org.springblade.core.tool.utils.Func;
@@ -42,6 +43,7 @@ import java.util.Map;
  *
  * @author Chill
  */
+@NonDS
 @RestController
 @RequestMapping(AppConstant.APPLICATION_FLOW_NAME + "/model")
 @AllArgsConstructor

+ 2 - 0
src/main/java/org/springblade/flow/engine/controller/FlowProcessController.java

@@ -27,6 +27,7 @@ import org.flowable.engine.repository.ProcessDefinition;
 import org.flowable.engine.runtime.ProcessInstance;
 import org.flowable.image.ProcessDiagramGenerator;
 import org.springblade.core.launch.constant.AppConstant;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.flow.core.entity.BladeFlow;
@@ -49,6 +50,7 @@ import java.util.List;
  *
  * @author Chill
  */
+@NonDS
 @Slf4j
 @RestController
 @AllArgsConstructor

+ 2 - 0
src/main/java/org/springblade/modules/auth/endpoint/BladeSocialEndpoint.java

@@ -27,6 +27,7 @@ import me.zhyd.oauth.utils.AuthStateUtils;
 import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.social.props.SocialProperties;
 import org.springblade.core.social.utils.SocialUtil;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -40,6 +41,7 @@ import java.io.IOException;
  *
  * @author Chill
  */
+@NonDS
 @Slf4j
 @RestController
 @AllArgsConstructor

+ 2 - 0
src/main/java/org/springblade/modules/auth/endpoint/BladeTokenEndPoint.java

@@ -33,6 +33,7 @@ import org.springblade.core.log.annotation.ApiLog;
 import org.springblade.core.redis.cache.BladeRedis;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.support.Kv;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.WebUtil;
@@ -52,6 +53,7 @@ import java.util.UUID;
  *
  * @author Chill
  */
+@NonDS
 @ApiSort(1)
 @RestController
 @AllArgsConstructor

+ 2 - 0
src/main/java/org/springblade/modules/desk/controller/DashBoardController.java

@@ -5,6 +5,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.springblade.core.launch.constant.AppConstant;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.support.Kv;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -22,6 +23,7 @@ import java.util.Map;
  *
  * @author zhuangqian
  */
+@NonDS
 @ApiIgnore
 @RestController
 @RequestMapping(AppConstant.APPLICATION_DESK_NAME)

+ 2 - 0
src/main/java/org/springblade/modules/desk/controller/NoticeController.java

@@ -25,6 +25,7 @@ import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.tenant.annotation.TenantDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.desk.entity.Notice;
@@ -41,6 +42,7 @@ import java.util.Map;
  *
  * @author Chill
  */
+@TenantDS
 @RestController
 @RequestMapping(AppConstant.APPLICATION_DESK_NAME + "/notice")
 @AllArgsConstructor

+ 2 - 0
src/main/java/org/springblade/modules/develop/controller/CodeController.java

@@ -25,6 +25,7 @@ import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.annotation.PreAuth;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.RoleConstant;
 import org.springblade.core.tool.utils.Func;
@@ -45,6 +46,7 @@ import java.util.Map;
  *
  * @author Chill
  */
+@NonDS
 @ApiIgnore
 @RestController
 @AllArgsConstructor

+ 2 - 0
src/main/java/org/springblade/modules/develop/controller/DatasourceController.java

@@ -26,6 +26,7 @@ import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.develop.entity.Datasource;
@@ -40,6 +41,7 @@ import java.util.List;
  *
  * @author Chill
  */
+@NonDS
 @RestController
 @AllArgsConstructor
 @RequestMapping(AppConstant.APPLICATION_DEVELOP_NAME + "/datasource")

+ 2 - 0
src/main/java/org/springblade/modules/resource/controller/AttachController.java

@@ -26,6 +26,7 @@ import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.resource.entity.Attach;
@@ -40,6 +41,7 @@ import javax.validation.Valid;
  *
  * @author Chill
  */
+@NonDS
 @RestController
 @AllArgsConstructor
 @RequestMapping(AppConstant.APPLICATION_RESOURCE_NAME + "/attach")

+ 2 - 0
src/main/java/org/springblade/modules/resource/controller/OssController.java

@@ -28,6 +28,7 @@ import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.annotation.PreAuth;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.RoleConstant;
 import org.springblade.core.tool.utils.Func;
@@ -47,6 +48,7 @@ import static org.springblade.core.cache.constant.CacheConstant.RESOURCE_CACHE;
  *
  * @author BladeX
  */
+@NonDS
 @ApiIgnore
 @RestController
 @AllArgsConstructor

+ 2 - 0
src/main/java/org/springblade/modules/resource/controller/SmsController.java

@@ -28,6 +28,7 @@ import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.annotation.PreAuth;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.RoleConstant;
 import org.springblade.core.tool.utils.Func;
@@ -47,6 +48,7 @@ import static org.springblade.core.cache.constant.CacheConstant.RESOURCE_CACHE;
  *
  * @author BladeX
  */
+@NonDS
 @ApiIgnore
 @RestController
 @AllArgsConstructor

+ 2 - 0
src/main/java/org/springblade/modules/resource/endpoint/OssEndpoint.java

@@ -23,6 +23,7 @@ import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.oss.model.BladeFile;
 import org.springblade.core.oss.model.OssFile;
 import org.springblade.core.secure.annotation.PreAuth;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.RoleConstant;
 import org.springblade.core.tool.utils.FileUtil;
@@ -38,6 +39,7 @@ import org.springframework.web.multipart.MultipartFile;
  *
  * @author Chill
  */
+@NonDS
 @RestController
 @AllArgsConstructor
 @Api(value = "对象存储端点", tags = "对象存储端点")

+ 2 - 0
src/main/java/org/springblade/modules/resource/endpoint/SmsEndpoint.java

@@ -23,6 +23,7 @@ import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.sms.model.SmsCode;
 import org.springblade.core.sms.model.SmsData;
 import org.springblade.core.sms.model.SmsResponse;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.jackson.JsonUtil;
 import org.springblade.core.tool.utils.Func;
@@ -43,6 +44,7 @@ import static org.springblade.modules.resource.utils.SmsUtil.*;
  *
  * @author Chill
  */
+@NonDS
 @RestController
 @AllArgsConstructor
 @RequestMapping(AppConstant.APPLICATION_RESOURCE_NAME + "/sms/endpoint")

+ 2 - 0
src/main/java/org/springblade/modules/system/controller/ApiScopeController.java

@@ -27,6 +27,7 @@ import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.system.entity.ApiScope;
@@ -44,6 +45,7 @@ import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
  *
  * @author BladeX
  */
+@NonDS
 @RestController
 @AllArgsConstructor
 @RequestMapping(AppConstant.APPLICATION_SYSTEM_NAME + "/api-scope")

+ 2 - 0
src/main/java/org/springblade/modules/system/controller/AuthClientController.java

@@ -27,6 +27,7 @@ import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.annotation.PreAuth;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.RoleConstant;
 import org.springblade.core.tool.utils.Func;
@@ -41,6 +42,7 @@ import javax.validation.Valid;
  *
  * @author Chill
  */
+@NonDS
 @RestController
 @AllArgsConstructor
 @RequestMapping(AppConstant.APPLICATION_SYSTEM_NAME + "/client")

+ 2 - 0
src/main/java/org/springblade/modules/system/controller/DataScopeController.java

@@ -27,6 +27,7 @@ import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.system.entity.DataScope;
@@ -44,6 +45,7 @@ import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
  *
  * @author BladeX
  */
+@NonDS
 @RestController
 @AllArgsConstructor
 @RequestMapping(AppConstant.APPLICATION_SYSTEM_NAME + "/data-scope")

+ 2 - 0
src/main/java/org/springblade/modules/system/controller/DeptController.java

@@ -28,6 +28,7 @@ import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.annotation.PreAuth;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.constant.RoleConstant;
@@ -51,6 +52,7 @@ import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
  *
  * @author Chill
  */
+@NonDS
 @RestController
 @AllArgsConstructor
 @RequestMapping(AppConstant.APPLICATION_SYSTEM_NAME + "/dept")

+ 2 - 0
src/main/java/org/springblade/modules/system/controller/DictBizController.java

@@ -25,6 +25,7 @@ import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.modules.system.entity.DictBiz;
 import org.springblade.modules.system.service.IDictBizService;
@@ -44,6 +45,7 @@ import static org.springblade.core.cache.constant.CacheConstant.DICT_CACHE;
  *
  * @author Chill
  */
+@NonDS
 @RestController
 @AllArgsConstructor
 @RequestMapping(AppConstant.APPLICATION_SYSTEM_NAME + "/dict-biz")

+ 2 - 0
src/main/java/org/springblade/modules/system/controller/DictController.java

@@ -25,6 +25,7 @@ import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.modules.system.entity.Dict;
 import org.springblade.modules.system.service.IDictService;
@@ -44,6 +45,7 @@ import static org.springblade.core.cache.constant.CacheConstant.DICT_CACHE;
  *
  * @author Chill
  */
+@NonDS
 @RestController
 @AllArgsConstructor
 @RequestMapping(AppConstant.APPLICATION_SYSTEM_NAME + "/dict")

+ 2 - 0
src/main/java/org/springblade/modules/system/controller/LogApiController.java

@@ -23,6 +23,7 @@ import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.log.model.LogApi;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.modules.system.service.ILogApiService;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -38,6 +39,7 @@ import java.util.Map;
  *
  * @author Chill
  */
+@NonDS
 @ApiIgnore
 @RestController
 @AllArgsConstructor

+ 2 - 0
src/main/java/org/springblade/modules/system/controller/LogErrorController.java

@@ -23,6 +23,7 @@ import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.log.model.LogError;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.modules.system.service.ILogErrorService;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -38,6 +39,7 @@ import java.util.Map;
  *
  * @author Chill
  */
+@NonDS
 @ApiIgnore
 @RestController
 @AllArgsConstructor

+ 2 - 0
src/main/java/org/springblade/modules/system/controller/LogUsualController.java

@@ -23,6 +23,7 @@ import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.log.model.LogUsual;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.modules.system.service.ILogUsualService;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -38,6 +39,7 @@ import java.util.Map;
  *
  * @author Chill
  */
+@NonDS
 @ApiIgnore
 @RestController
 @AllArgsConstructor

+ 2 - 0
src/main/java/org/springblade/modules/system/controller/MenuController.java

@@ -26,6 +26,7 @@ import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.annotation.PreAuth;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.RoleConstant;
 import org.springblade.core.tool.support.Kv;
@@ -52,6 +53,7 @@ import static org.springblade.core.cache.constant.CacheConstant.MENU_CACHE;
  *
  * @author Chill
  */
+@NonDS
 @RestController
 @AllArgsConstructor
 @RequestMapping(AppConstant.APPLICATION_SYSTEM_NAME + "/menu")

+ 2 - 0
src/main/java/org/springblade/modules/system/controller/ParamController.java

@@ -25,6 +25,7 @@ import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.system.entity.Param;
@@ -42,6 +43,7 @@ import static org.springblade.core.cache.constant.CacheConstant.PARAM_CACHE;
  *
  * @author Chill
  */
+@NonDS
 @RestController
 @AllArgsConstructor
 @RequestMapping(AppConstant.APPLICATION_SYSTEM_NAME + "/param")

+ 2 - 0
src/main/java/org/springblade/modules/system/controller/PostController.java

@@ -29,6 +29,7 @@ import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.BladeUser;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.system.entity.Post;
@@ -47,6 +48,7 @@ import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
  *
  * @author Chill
  */
+@NonDS
 @RestController
 @AllArgsConstructor
 @RequestMapping(AppConstant.APPLICATION_SYSTEM_NAME + "/post")

+ 2 - 0
src/main/java/org/springblade/modules/system/controller/RegionController.java

@@ -27,6 +27,7 @@ import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.modules.system.entity.Region;
@@ -50,6 +51,7 @@ import java.util.Map;
  *
  * @author Chill
  */
+@NonDS
 @RestController
 @AllArgsConstructor
 @RequestMapping(AppConstant.APPLICATION_SYSTEM_NAME + "/region")

+ 2 - 0
src/main/java/org/springblade/modules/system/controller/RoleController.java

@@ -26,6 +26,7 @@ import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.annotation.PreAuth;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.constant.RoleConstant;
@@ -49,6 +50,7 @@ import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
  *
  * @author Chill
  */
+@NonDS
 @RestController
 @AllArgsConstructor
 @RequestMapping(AppConstant.APPLICATION_SYSTEM_NAME + "/role")

+ 20 - 2
src/main/java/org/springblade/modules/system/controller/TenantController.java

@@ -23,11 +23,13 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.*;
 import lombok.AllArgsConstructor;
 import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.annotation.PreAuth;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.constant.RoleConstant;
@@ -43,11 +45,15 @@ import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
+import static org.springblade.core.tenant.constant.TenantConstant.TENANT_DATASOURCE_CACHE;
+import static org.springblade.core.tenant.constant.TenantConstant.TENANT_DATASOURCE_EXIST_KEY;
+
 /**
  * 控制器
  *
  * @author Chill
  */
+@NonDS
 @RestController
 @AllArgsConstructor
 @RequestMapping(AppConstant.APPLICATION_SYSTEM_NAME + "/tenant")
@@ -145,13 +151,25 @@ public class TenantController extends BladeController {
 		return R.status(tenantService.setting(accountNumber, expireTime, ids));
 	}
 
+	/**
+	 * 数据源配置
+	 */
+	@PostMapping("datasource")
+	@ApiOperationSupport(order = 8)
+	@PreAuth(RoleConstant.HAS_ROLE_ADMINISTRATOR)
+	@ApiOperation(value = "数据源配置", notes = "传入datasource_id")
+	public R datasource(@ApiParam(value = "租户ID", required = true) @RequestParam String tenantId, @ApiParam(value = "数据源ID", required = true) @RequestParam Long datasourceId){
+		CacheUtil.evict(TENANT_DATASOURCE_CACHE, TENANT_DATASOURCE_EXIST_KEY, tenantId, Boolean.FALSE);
+		return R.status(tenantService.update(Wrappers.<Tenant>update().lambda().set(Tenant::getDatasourceId, datasourceId).eq(Tenant::getTenantId, tenantId)));
+	}
+
 	/**
 	 * 根据名称查询列表
 	 *
 	 * @param name 租户名称
 	 */
 	@GetMapping("/find-by-name")
-	@ApiOperationSupport(order = 8)
+	@ApiOperationSupport(order = 9)
 	@ApiOperation(value = "详情", notes = "传入tenant")
 	@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
 	public R<List<Tenant>> findByName(String name) {
@@ -165,7 +183,7 @@ public class TenantController extends BladeController {
 	 * @param domain 域名
 	 */
 	@GetMapping("/info")
-	@ApiOperationSupport(order = 9)
+	@ApiOperationSupport(order = 10)
 	@ApiOperation(value = "配置信息", notes = "传入domain")
 	public R<Kv> info(String domain) {
 		Tenant tenant = tenantService.getOne(Wrappers.<Tenant>query().lambda().eq(Tenant::getDomain, domain));

+ 2 - 0
src/main/java/org/springblade/modules/system/controller/TopMenuController.java

@@ -28,6 +28,7 @@ import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.annotation.PreAuth;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.RoleConstant;
 import org.springblade.core.tool.utils.Func;
@@ -45,6 +46,7 @@ import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
  *
  * @author BladeX
  */
+@NonDS
 @RestController
 @AllArgsConstructor
 @RequestMapping(AppConstant.APPLICATION_SYSTEM_NAME + "/topmenu")

+ 2 - 0
src/main/java/org/springblade/modules/system/controller/UserController.java

@@ -33,6 +33,7 @@ import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.annotation.PreAuth;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.constant.RoleConstant;
@@ -61,6 +62,7 @@ import static org.springblade.core.cache.constant.CacheConstant.USER_CACHE;
  *
  * @author Chill
  */
+@NonDS
 @ApiIgnore
 @RestController
 @RequestMapping(AppConstant.APPLICATION_USER_NAME)

+ 5 - 0
src/main/java/org/springblade/modules/system/entity/Tenant.java

@@ -88,6 +88,11 @@ public class Tenant extends BaseEntity {
 	@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
 	@ApiModelProperty(value = "过期时间")
 	private Date expireTime;
+	/**
+	 * 数据源ID
+	 */
+	@ApiModelProperty(value = "数据源ID")
+	private Long datasourceId;
 	/**
 	 * 授权码
 	 */

+ 5 - 0
src/main/resources/application.yml

@@ -185,9 +185,14 @@ blade:
     enhance: true
     #多租户授权保护
     license: false
+    #动态数据源功能
+    dynamic-datasource: false
+    #动态数据源全局扫描
+    dynamic-global: false
     #多租户字段名
     column: tenant_id
     #排除多租户逻辑
     exclude-tables:
       - blade_user
 
+