diff --git a/cloud-auth/src/main/java/com/muyu/auth/service/SysLoginService.java b/cloud-auth/src/main/java/com/muyu/auth/service/SysLoginService.java
index ff0af1a..ad14e53 100644
--- a/cloud-auth/src/main/java/com/muyu/auth/service/SysLoginService.java
+++ b/cloud-auth/src/main/java/com/muyu/auth/service/SysLoginService.java
@@ -123,5 +123,6 @@ public class SysLoginService {
throw new ServiceException(registerResult.getMsg());
}
recordLogService.recordLogininfor(username, Constants.REGISTER, "注册成功");
+
}
}
diff --git a/cloud-auth/src/main/resources/bootstrap.yml b/cloud-auth/src/main/resources/bootstrap.yml
index 45285f9..1cdb12c 100644
--- a/cloud-auth/src/main/resources/bootstrap.yml
+++ b/cloud-auth/src/main/resources/bootstrap.yml
@@ -4,7 +4,7 @@ server:
# nacos线上地址
nacos:
- addr: 47.116.173.119:8848
+ addr: 159.75.188.178:8848
user-name: nacos
password: nacos
namespace: eight
diff --git a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/constant/SecurityConstants.java b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/constant/SecurityConstants.java
index c862929..5fbd20a 100644
--- a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/constant/SecurityConstants.java
+++ b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/constant/SecurityConstants.java
@@ -11,6 +11,11 @@ public class SecurityConstants {
*/
public static final String DETAILS_USER_ID = "user_id";
+ /**
+ * 企业ID字段
+ */
+ public static final String DETAILS_FIRM_ID = "firm_id";
+
/**
* 用户名字段
*/
@@ -45,4 +50,6 @@ public class SecurityConstants {
* 角色权限
*/
public static final String ROLE_PERMISSION = "role_permission";
+
+ public static final String SAAS_KEY = "ent_code";
}
diff --git a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/constant/TokenConstants.java b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/constant/TokenConstants.java
index 38abd57..b1de420 100644
--- a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/constant/TokenConstants.java
+++ b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/constant/TokenConstants.java
@@ -21,4 +21,9 @@ public class TokenConstants {
*/
public final static String SECRET = "abcdefghijklmnsalieopadfaqawefwerstuvwxyz";
+ /**
+ * token
+ */
+ private static final String TOKEN = "token";
+
}
diff --git a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/exception/ServiceException.java b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/exception/ServiceException.java
index 5039bc0..11bb283 100644
--- a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/exception/ServiceException.java
+++ b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/exception/ServiceException.java
@@ -5,7 +5,7 @@ package com.muyu.common.core.exception;
*
* @author muyu
*/
-public final class ServiceException extends RuntimeException {
+public class ServiceException extends RuntimeException {
private static final long serialVersionUID = 1L;
/**
diff --git a/cloud-common/cloud-common-saas/pom.xml b/cloud-common/cloud-common-saas/pom.xml
new file mode 100644
index 0000000..ed99b7f
--- /dev/null
+++ b/cloud-common/cloud-common-saas/pom.xml
@@ -0,0 +1,33 @@
+
+
+ 4.0.0
+
+ com.muyu
+ cloud-common
+ 3.6.3
+
+
+ cloud-common-saas
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+
+
+ com.muyu
+ cloud-common-security
+
+
+
+ com.muyu
+ cloud-common-datasource
+
+
+
diff --git a/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/ManyDataSource.java b/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/ManyDataSource.java
new file mode 100644
index 0000000..9f28b73
--- /dev/null
+++ b/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/ManyDataSource.java
@@ -0,0 +1,98 @@
+package com.muyu.cloud.common.many.datasource;
+
+import com.alibaba.druid.pool.DruidDataSource;
+import com.alibaba.fastjson2.JSON;
+import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;
+import com.muyu.cloud.common.many.datasource.constents.DatasourceContent;
+import com.muyu.cloud.common.many.datasource.domain.model.DataSourceInfo;
+import com.muyu.cloud.common.many.datasource.factory.DruidDataSourceFactory;
+import com.muyu.cloud.common.many.datasource.role.DynamicDataSource;
+import com.muyu.cloud.common.saas.domain.model.EntInfo;
+import com.muyu.cloud.common.saas.exception.SaaSException;
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.core.utils.SpringUtils;
+import com.muyu.common.system.domain.SysUser;
+import com.muyu.common.system.remote.RemoteUserService;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.boot.autoconfigure.AutoConfiguration;
+import org.springframework.context.annotation.Bean;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author: DongZeLiang
+ * @date: 2024/6/3
+ * @Description: 多数据源
+ * @Version: 1.0
+ */
+@Log4j2
+@Component
+@AutoConfiguration(before = MybatisPlusAutoConfiguration.class)
+public class ManyDataSource implements ApplicationRunner{
+
+
+ private List dataSourceInfoList(){
+ RemoteUserService remoteUserService = SpringUtils.getBean(RemoteUserService.class);
+ Result> tableDataInfoResult = remoteUserService.companyList();
+ if (tableDataInfoResult==null){
+ throw new SaaSException("saas远调数据源错误");
+ }
+ List data = tableDataInfoResult.getData();
+ if (tableDataInfoResult.getCode() ==Result.SUCCESS && data !=null){
+ List list = new ArrayList<>();
+ for (SysUser row : data) {
+ list.add(
+ EntInfo.builder()
+ .entCode(row.getDatabaseName())
+ .ip(DatasourceContent.IP)
+ .port(DatasourceContent.PORT)
+ .build()
+ );
+ }
+ return list;
+ }else {
+ log.error("远调数据源错误,远调数据为:{}", JSON.toJSONString(data));
+ return null;
+ }
+ }
+
+ @Bean
+ public DynamicDataSource dynamicDataSource(DruidDataSourceFactory druidDataSourceFactory) {
+ // 企业列表 企业CODE,端口,IP
+ Map