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); + } } diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java index 1e0a8aa..a558d0a 100644 --- a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java @@ -52,6 +52,6 @@ public interface RemoteUserService { * @param source * @return */ - @PostMapping("/user/settlement") + @PostMapping("/user/enterprise") ResultsettlementEnterpriseInfo(@RequestBody Enterprise enterprise, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysUserMapper.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysUserMapper.java index a4fcd51..d02260f 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysUserMapper.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysUserMapper.java @@ -67,8 +67,20 @@ public interface SysUserMapper extends BaseMapper { */ int insertUser(SysUser user); + /** + * 企业入驻 + * @param enterprise + * @return + */ int enterprise(Enterprise enterprise); + /** + * 企业管理添加 + * @param enterprise + * @return + */ + int enterPriseAdd(Enterprise enterprise); + /** * 修改用户信息 * diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysConfigService.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysConfigService.java index 4ebc241..dadf990 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysConfigService.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysConfigService.java @@ -6,6 +6,7 @@ import com.muyu.system.domain.SysConfig; import java.util.List; /** + * 配置plus业务层 * @author DongZl * @description: 配置plus业务层 * @Date 2023-11-13 上午 10:06 diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysConfigServiceImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysConfigServiceImpl.java index bc07cc8..a08ad64 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysConfigServiceImpl.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysConfigServiceImpl.java @@ -18,6 +18,7 @@ import java.util.List; import java.util.Objects; /** + * 配置plus业务实现层 * @author DongZl * @description: 配置plus业务实现层 * @Date 2023-11-13 上午 10:06 diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java index 9ab3ad4..4e30574 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java @@ -258,8 +258,14 @@ public class SysUserServiceImpl extends ServiceImpl impl return userMapper.insertUser(user) > 0; } + /** + * 企业入驻 + * @param enterprise + * @return + */ @Override public boolean enterprise(Enterprise enterprise){ + userMapper.enterPriseAdd(enterprise); return userMapper.enterprise(enterprise) > 0; } diff --git a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysUserMapper.xml b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysUserMapper.xml index 364d8a3..6023ef5 100644 --- a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -224,6 +224,10 @@ INSERT INTO `datasource`.`datasource` (`id`, `firm_name`, `database_name`) VALUES (NULL, #{firmName}, #{databaseName}); + + INSERT INTO `saas`.`tb_enterprise` (`enterprise_id`, `enterprise_name`, `enterprise_car_count`, `enterprise_fence_count`, `enterprise_database_name`) + VALUES (NULL, #{firmName}, 0, 0, #{databaseName}); + update sys_user diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/Enterprise.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/Enterprise.java index ac1f9b4..f4f1a88 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/Enterprise.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/Enterprise.java @@ -1,6 +1,8 @@ package com.muyu.common.domain; import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.common.core.annotation.Excel; +import jakarta.validation.constraints.NotNull; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -20,17 +22,27 @@ public class Enterprise { /** * 企业编号 */ + @Excel(name = "企业编号") private Integer enterpriseId; /** * 企业名称 */ + @Excel(name = "企业名称") private String enterpriseName; /** * 企业车辆数量 */ + @Excel(name = "企业拥有车辆数据") private Integer enterpriseCarCount; /** * 企业电子围栏数量 */ + @Excel(name = "企业所属电子围栏") private Integer enterpriseFenceCount; + + /** + * 企业数据库名称 + */ + @Excel(name = "企业所属数据库") + private String enterpriseDatabaseName; } diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/MessageTemplateType.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/MessageTemplateType.java index 6d84684..3c2cd95 100644 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/MessageTemplateType.java +++ b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/MessageTemplateType.java @@ -11,7 +11,8 @@ import lombok.experimental.SuperBuilder; import java.io.Serializable; /** - * @Author:liuxinyue + * 报文模版 + * @author liuxinyue * @Package:com.sheep.message.domain * @Project:cloud-server-c * @name:MessageTemplateType diff --git a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/SysCarEnterprise.java b/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/SysCarEnterprise.java deleted file mode 100644 index b6bf5a6..0000000 --- a/cloud-modules/saas/saas-common/src/main/java/com/muyu/common/domain/SysCarEnterprise.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.muyu.common.domain; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.muyu.common.core.annotation.Excel; -import com.muyu.common.core.web.domain.BaseEntity; -import lombok.*; - -/** - * 企业信息 sys_car_enterprise - * @author 袁子龙 - * @package com.muyu.breakdown.domain - * @name: SysCarEnterprise - * @date: 2024/9/26 19:54 - */ - -@Data -@Setter -@Getter -@NoArgsConstructor -@AllArgsConstructor -@TableName("sys_car_enterprise") -public class SysCarEnterprise extends BaseEntity { - private static final long serialVersionUID = 1L; - - /** 企业id*/ - @TableId(type = IdType.AUTO) - private Long id; - - /** 企业名称*/ - @Excel(name = "企业名称") - private String enterpriseName; - /** 用户姓名 */ - @Excel(name = "用户姓名") - private String name; - - @Excel(name = "用户职位") - private String position; - - @Excel(name = "公司所在省") - private String province; - - @Excel(name = "公司所在市") - private String city; - - @Excel(name = "公司所在县/区") - private String county; - - @Excel(name = "公司详细地址") - private String address; - - @Excel(name = "统一社会信用代码") - private String creditCode; - - @Excel(name = "营业执照") - private String businessLicense; - -} diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/TemplateController.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/TemplateController.java index 6d6209e..9126fff 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/TemplateController.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/TemplateController.java @@ -18,7 +18,8 @@ import java.util.List; import java.util.concurrent.ExecutionException; /** - * @Author:liuxinyue + * 报文模版管理 + * @author liuxinyue * @Package:com.template.controller * @Project:cloud-server-c * @name:TemplateController diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/form/InsertEnterprise.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/form/InsertEnterprise.java index ef2c82e..7a2225b 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/form/InsertEnterprise.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/form/InsertEnterprise.java @@ -22,4 +22,7 @@ public class InsertEnterprise { @NotNull(message = "enterpriseFenceCount企业围栏组不能为空") private Integer enterpriseFenceCount; + + @NotNull(message = "enterpriseDatabaseName企业数据库名称不能为空") + private String enterpriseDatabaseName; } diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/form/UpdateEnterprise.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/form/UpdateEnterprise.java index 2b62125..9fda537 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/form/UpdateEnterprise.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/controller/form/UpdateEnterprise.java @@ -28,4 +28,7 @@ public class UpdateEnterprise { @NotNull(message = "enterpriseFenceCount企业围栏组不能为空") private Integer enterpriseFenceCount; + + @NotNull(message = "enterpriseDatabaseName企业数据库名称不能为空") + private String enterpriseDatabaseName; } diff --git a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/KafkaMapper.java b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/KafkaMapper.java index 9b36ff6..3afe4f4 100644 --- a/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/KafkaMapper.java +++ b/cloud-modules/saas/saas-server/src/main/java/com/muyu/server/mapper/KafkaMapper.java @@ -3,6 +3,7 @@ package com.muyu.server.mapper; import org.apache.ibatis.annotations.Mapper; /** + * kafka * @author liuxinyue * @Package:com.muyu.server.mapper * @name:KafkaMapper diff --git a/cloud-modules/saas/saas-server/src/main/resources/mapper/EnterpriseMapper.xml b/cloud-modules/saas/saas-server/src/main/resources/mapper/EnterpriseMapper.xml index 76e2c13..511435b 100644 --- a/cloud-modules/saas/saas-server/src/main/resources/mapper/EnterpriseMapper.xml +++ b/cloud-modules/saas/saas-server/src/main/resources/mapper/EnterpriseMapper.xml @@ -31,14 +31,15 @@ insert into tb_enterprise set enterprise_name = #{enterpriseName}, enterprise_car_count = #{enterpriseCarCount}, - enterprise_fence_count = #{enterpriseFenceCount} + enterprise_fence_count = #{enterpriseFenceCount}, + enterprise_database_name=#{enterpriseDatabaseName} @@ -47,7 +48,8 @@ update tb_enterprise set enterprise_name = #{enterpriseName}, enterprise_car_count = #{enterpriseCarCount}, - enterprise_fence_count = #{enterpriseFenceCount} + enterprise_fence_count = #{enterpriseFenceCount}, + enterprise_database_name=#{enterpriseDatabaseName} where enterprise_id = #{enterpriseId} and enterprise_id != 0