From 5589803de6917478f0a7774c319780fc0e88aef3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=A2=81=E5=AD=90=E9=BE=99?=
<14096380+qwe963852@user.noreply.gitee.com>
Date: Wed, 2 Oct 2024 10:29:40 +0800
Subject: [PATCH] =?UTF-8?q?feat:=E6=96=B0=E5=A2=9E=E4=BC=81=E4=B8=9A?=
=?UTF-8?q?=E5=85=A5=E9=A9=BB=E6=96=B0=E5=A2=9E=E6=95=B0=E6=8D=AE=E5=BA=93?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
cloud-auth/pom.xml | 5 +++
.../muyu/auth/controller/TokenController.java | 38 +++++++++++++++++++
cloud-common/cloud-common-saas/pom.xml | 9 +++++
.../many/datasource/ManyDataSource.java | 2 +-
.../constents/DatasourceContent.java | 4 ++
5 files changed, 57 insertions(+), 1 deletion(-)
diff --git a/cloud-auth/pom.xml b/cloud-auth/pom.xml
index 340bd56..59dba47 100644
--- a/cloud-auth/pom.xml
+++ b/cloud-auth/pom.xml
@@ -62,6 +62,11 @@
mysql-connector-j
+
+ com.muyu
+ cloud-common-saas
+
+
diff --git a/cloud-auth/src/main/java/com/muyu/auth/controller/TokenController.java b/cloud-auth/src/main/java/com/muyu/auth/controller/TokenController.java
index a03b64c..500acc4 100644
--- a/cloud-auth/src/main/java/com/muyu/auth/controller/TokenController.java
+++ b/cloud-auth/src/main/java/com/muyu/auth/controller/TokenController.java
@@ -6,6 +6,7 @@ import com.muyu.auth.form.LoginBody;
import com.muyu.auth.form.RegisterBody;
import com.muyu.auth.service.SysFirmService;
import com.muyu.auth.service.SysLoginService;
+import com.muyu.cloud.common.many.datasource.constents.DatasourceContent;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.JwtUtils;
import com.muyu.common.core.utils.StringUtils;
@@ -13,6 +14,7 @@ import com.muyu.common.security.auth.AuthUtil;
import com.muyu.common.security.service.TokenService;
import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.common.system.domain.LoginUser;
+import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PostMapping;
@@ -21,11 +23,17 @@ import org.springframework.web.bind.annotation.RestController;
import jakarta.servlet.http.HttpServletRequest;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.sql.Statement;
+
/**
* token 控制
*
* @author muyu
*/
+@Log4j2
@RestController
public class TokenController {
@Autowired
@@ -81,9 +89,39 @@ public class TokenController {
return Result.success();
}
+ /**
+ * 企业入入驻
+ * @param settlement
+ * @return
+ */
@PostMapping("/enterprise")
public Result> enterprise( @RequestBody EnterpriseSettlement settlement){
+
+ String createDatabaseUrl="jdbc:mysql://"+ DatasourceContent.IP+":"+DatasourceContent.PORT+"?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8";
+ String createDatabaseSql = "CREATE DATABASE IF NOT EXISTS " + settlement.getDatabaseName() + ";";
+ try (Connection adminConn = DriverManager.getConnection(createDatabaseUrl, DatasourceContent.USER_NAME, DatasourceContent.PASSWORD);
+ Statement stmt = adminConn.createStatement()) {
+
+ boolean success = stmt.execute(createDatabaseSql);
+ if (success) {
+ log.info("数据库 {} 创建成功", settlement.getDatabaseName());
+
+ } else {
+ log.warn("数据库 {} 创建失败", settlement.getDatabaseName());
+ }
+
+ } catch (SQLException e) {
+ e.printStackTrace();
+ log.error("连接数据库时发生错误或创建数据库失败", e);
+ }
+ //企业入组
sysLoginService.enterprise(settlement.getDatabaseName(),settlement.getFirmName());
+
+
+
+
+
+
return Result.success();
}
}
diff --git a/cloud-common/cloud-common-saas/pom.xml b/cloud-common/cloud-common-saas/pom.xml
index 41b57fd..fd450d4 100644
--- a/cloud-common/cloud-common-saas/pom.xml
+++ b/cloud-common/cloud-common-saas/pom.xml
@@ -11,6 +11,10 @@
cloud-common-saas
+
+ cloud-common-saas 模块
+
+
17
17
@@ -31,6 +35,11 @@
+
+ mysql
+ mysql-connector-java
+ 8.0.29
+
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
index 8ea974e..04bf3b3 100644
--- 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
@@ -40,7 +40,7 @@ import java.util.Map;
public class ManyDataSource implements ApplicationRunner{
private List dataSourceInfoList(){
RemoteSaaSService remoteSaaSService = SpringUtils.getBean(RemoteSaaSService.class);
-Result> tableDataInfoResult = remoteSaaSService.findDatabaseList();
+ Result> tableDataInfoResult = remoteSaaSService.findDatabaseList();
if (tableDataInfoResult==null){
throw new SaaSException("saas远调数据源错误");
}
diff --git a/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/constents/DatasourceContent.java b/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/constents/DatasourceContent.java
index b69b858..6152cad 100644
--- a/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/constents/DatasourceContent.java
+++ b/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/constents/DatasourceContent.java
@@ -16,4 +16,8 @@ public class DatasourceContent {
public final static String IP = "47.101.53.251";
public final static Integer PORT = 3306;
+
+ public static String getDatasourceUrl(String databaseName) {
+ return String.format(DATASOURCE_URL,USER_NAME,PASSWORD,IP,PORT, databaseName);
+ }
}