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); + } }