From 0c7795ea717ed7cbaea966ca0e676deb86334ca1 Mon Sep 17 00:00:00 2001 From: crj <1518542096@qq.com> Date: Mon, 30 Sep 2024 16:41:06 +0800 Subject: [PATCH] =?UTF-8?q?feax:()=E6=B7=BB=E5=8A=A0=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E5=80=99=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=8D=95=E7=8B=AC=E7=9A=84=E5=BA=93=E5=92=8C=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/auth/service/SysLoginService.java | 1 + .../many/datasource/ManyDataSource.java | 16 ++--- .../constents/DatasourceContent.java | 5 +- .../domain/model/DataSourceInfo.java | 1 + .../factory/DruidDataSourceFactory.java | 1 + .../holder/DynamicDataSourceHolder.java | 1 + .../muyu/enterprise/domain/SysCarFault.java | 7 -- .../cloud-modules-enterprise-server/pom.xml | 8 +++ .../controller/SysCarFaultController.java | 2 +- .../system/controller/SysEntController.java | 12 ++-- .../system/controller/SysUserController.java | 72 ++++++++++++++++++- 11 files changed, 99 insertions(+), 27 deletions(-) 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 9de01cc..2a5cba4 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 @@ -136,6 +136,7 @@ public class SysLoginService { if (Result.FAIL == registerResult.getCode()) { throw new ServiceException(registerResult.getMsg()); } + recordLogService.recordLogininfor(username,Constants.REGISTER,"注册成功"); } } 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 bd0c111..2a1cd5d 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 @@ -91,21 +91,19 @@ public class ManyDataSource implements ApplicationRunner { @Bean public DynamicDataSource dynamicDataSource(DruidDataSourceFactory druidDataSourceFactory) { List entInfoList = dataSourceInfoList(); - if(StringUtils.isEmpty(entInfoList)){ - throw new SaaSException("数据源信息列表为空或为null"); + if (StringUtils.isNotEmpty(entInfoList)) { + throw new SaaSException("数据元信息列表为空或为null"); } - Map dataSourceMap = dataSourceInfoList().stream() + Map dataSourceMap = dataSourceInfoList().stream() .map(entInfo -> DataSourceInfo.hostAndPortBuild( - entInfo.getEntCode(), - entInfo.getIp(), - entInfo.getPort() - ) + entInfo.getEntCode(), + entInfo.getIp(), + entInfo.getPort() ) - .collect(Collectors.toMap( + ).collect(Collectors.toMap( dataSourceInfo -> dataSourceInfo.getKey(), dataSourceInfo -> druidDataSourceFactory.create(dataSourceInfo) )); - //设置动态数据源 DynamicDataSource dynamicDataSource = new DynamicDataSource(); dynamicDataSource.setTargetDataSources(dataSourceMap); 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 95f79bf..13ee87d 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 @@ -1,8 +1,9 @@ package com.muyu.cloud.common.many.datasource.constents; /** - * @Author: zi run - * @Date 2024/9/20 14:52 + * 数据源常量 + * @Author chenruijia + * @Date 2024/9/29 17:52 * @Description 数据源常量 */ public class DatasourceContent { diff --git a/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/domain/model/DataSourceInfo.java b/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/domain/model/DataSourceInfo.java index c1af5f2..798fa72 100644 --- a/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/domain/model/DataSourceInfo.java +++ b/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/domain/model/DataSourceInfo.java @@ -8,6 +8,7 @@ import lombok.Data; import lombok.NoArgsConstructor; /** + * 数据源实体类 * @Author: zi run * @Date 2024/9/20 14:52 * @Description 数据源实体类 diff --git a/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/factory/DruidDataSourceFactory.java b/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/factory/DruidDataSourceFactory.java index 3edd2b2..55ef746 100644 --- a/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/factory/DruidDataSourceFactory.java +++ b/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/factory/DruidDataSourceFactory.java @@ -8,6 +8,7 @@ import org.springframework.stereotype.Component; import java.sql.SQLException; /** + * Druid工厂 * @Author: zi run * @Date 2024/9/20 14:52 * @Description Druid工厂 diff --git a/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/holder/DynamicDataSourceHolder.java b/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/holder/DynamicDataSourceHolder.java index 9e5eb96..58c20af 100644 --- a/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/holder/DynamicDataSourceHolder.java +++ b/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/holder/DynamicDataSourceHolder.java @@ -4,6 +4,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.util.Assert; /** + * 数据源切换处理 * @Author: zi run * @Date 2024/9/20 14:52 * @Description 数据源切换处理 diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/SysCarFault.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/SysCarFault.java index 4697cbb..01320b3 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/SysCarFault.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/SysCarFault.java @@ -37,7 +37,6 @@ public class SysCarFault extends BaseEntity { * 车辆故障编码 */ @Schema(defaultValue = "车辆故障编码",type = "String",description = "车辆故障编码") - @Excel private String faultCode; /** * 车辆故障类型ID @@ -53,31 +52,26 @@ public class SysCarFault extends BaseEntity { * 故障VIN编码 */ @Schema(defaultValue = "故障VIN编码",type = "String",description = "故障VIN编码") - @Excel private String carVin; /** * 车辆故障标签 */ @Schema(defaultValue = "车辆故障标签",type = "String",description = "车辆故障标签") - @Excel private String faultLabel; /** * 车辆故障位 */ @Schema(defaultValue = "车辆故障位",type = "String",description = "车辆故障位") - @Excel private String faultBit; /** * 车辆故障值 */ @Schema(defaultValue = "车辆故障值",type = "String",description = "车辆故障值") - @Excel private String faultValue; /** * 故障级别 */ @Schema(defaultValue = "故障级别",type = "String",description = "故障级别") - @Excel private String faultWarn; /** * 报警状态(Y.是,N.否) @@ -88,7 +82,6 @@ public class SysCarFault extends BaseEntity { * 故障描述信息 */ @Schema(defaultValue = "故障描述信息",type = "String",description = "故障描述信息") - @Excel private String faultDesc; /** * 启用状态(1.待处理 2.处理中 3.已处理 4.忽略) diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/pom.xml b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/pom.xml index 100e143..e49e01b 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/pom.xml +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/pom.xml @@ -83,6 +83,14 @@ cloud-modules-enterprise-common + + + com.mysql + mysql-connector-j + runtime + + + com.github.yulichang mybatis-plus-join diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/SysCarFaultController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/SysCarFaultController.java index 700eb21..d2bf065 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/SysCarFaultController.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/SysCarFaultController.java @@ -40,7 +40,7 @@ public class SysCarFaultController extends BaseController * 查询车辆故障列表 */ @RequestMapping(value = "/list", method = RequestMethod.GET) - public Result> list(@RequestBody SysCarFault sysCarFault) + public Result> list(SysCarFault sysCarFault) { List list = sysCarFaultService.selectSysCarFaultList(sysCarFault); return success(list); diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysEntController.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysEntController.java index 276c3ca..75fb6a0 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysEntController.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysEntController.java @@ -28,7 +28,7 @@ import java.util.List; @RestController @RequiredArgsConstructor @RequestMapping(value = "/ent") -@Tag(name = "SysEntController",description = "企业管理") +@Tag(name = "企业信息",description = "企业管理") public class SysEntController extends BaseController { /** @@ -66,7 +66,7 @@ public class SysEntController extends BaseController { * @param entId 企业ID * @return 响应结果 */ - @GetMapping(value = "/{entId}") + @GetMapping(value = "/getById/{entId}") @Operation(summary = "根据ID获取企业信息", description = "根据企业唯一标识获取单体企业信息") public Result getById( @Schema(title = "企业ID", type = "Long", defaultValue = "1", description = "企业唯一标识") @@ -79,7 +79,7 @@ public class SysEntController extends BaseController { * @param entAddReq 企业添加请求对象 * @return 响应结果 */ - @PostMapping + @PostMapping(value = "/save") @Operation(summary = "添加企业信息", description = "将企业信息添加到系统中") public Result save(@Validated @RequestBody EntAddReq entAddReq) { sysEntService.save(EntAddReq.addBuild(entAddReq)); @@ -92,7 +92,7 @@ public class SysEntController extends BaseController { * @param entUpdateReq 企业修改请求对象 * @return 响应结果 */ - @PutMapping(value = "/{entId}") + @PutMapping(value = "/update/{entId}") @Operation(summary = "修改企业信息",description = "根据企业唯一标识修改企业信息") public Result update(@Schema(title = "企业ID",type = "Long",defaultValue = "1",description = "企业唯一标识") @NotNull(message = "企业ID不能为空") @PathVariable(value = "entId") Long entId, @@ -106,13 +106,11 @@ public class SysEntController extends BaseController { * @param entId 企业ID * @return */ - @RequestMapping(value = "/entId",method = RequestMethod.DELETE) + @RequestMapping(value = "/remove/{entId}",method = RequestMethod.DELETE) @Operation(summary = "删除企业信息",description = "根据企业唯一标识删除企业记录") public Result remove(@Schema(title = "企业ID",type = "Long",defaultValue = "1",description = "企业唯一标识") @NotNull(message = "企业ID不能为空") @PathVariable(value = "entId")Long entId){ sysEntService.removeById(entId); return Result.success(null,Constants.SUCCESS_MESSAGE); } - -// @RequestMapping(value = "findId",) } diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java index 2a8c084..7b1f483 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java @@ -16,6 +16,7 @@ import com.muyu.system.domain.resp.AuthRoleResp; import com.muyu.system.domain.resp.UserDetailInfoResp; import com.muyu.system.domain.resp.UserInfoResp; import com.muyu.system.service.*; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; @@ -23,6 +24,11 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.Collection; import java.util.List; import java.util.Set; import java.util.stream.Collectors; @@ -32,6 +38,7 @@ import java.util.stream.Collectors; * * @author muyu */ +@Slf4j @RestController @RequestMapping("/user") public class SysUserController extends BaseController { @@ -119,11 +126,17 @@ public class SysUserController extends BaseController { @InnerAuth @PostMapping("/register") public Result register (@RequestBody RegisterBody registerBody) { +// String username = registerBody.getUsername(); String username = registerBody.getUsername(); + SysUser sysUser = new SysUser(); + sysUser.setUserName(username); + if (!userService.checkUserNameUnique(sysUser)) { + return Result.error("保存用户'" + username + "'失败,注册账号已存在"); + } if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) { return Result.error("当前系统没有开启注册功能!"); } - SysUser sysUser = SysUser.builder().userName(username).build(); +// SysUser sysUser = SysUser.builder().userName(username).build(); if (!userService.checkUserNameUnique(sysUser)) { return Result.error("保存用户'" + username + "'失败,注册账号已存在"); } @@ -151,7 +164,64 @@ public class SysUserController extends BaseController { sysUser.setDeptId(sysDept.getDeptId()); sysUser.setNickName(registerBody.getUsername()); sysUser.setPassword(SecurityUtils.encryptPassword(registerBody.getPassword())); + sysUser.setNickName("注册"); + boolean b = userService.registerUser(sysUser); + if (b == true) { + //数据库驱动 + String mysqlDriver = "com.mysql.jdbc.Driver"; + //数据库地址 + String url = "jdbc:mysql://106.15.136.7:3306/"; + //数据库用户名 + String name = "root"; + //数据库密码 + String password = "Six@211206"; + Collection collection = null; + Collection stmt = null; + //创建数据库SQL + try { + Class.forName(mysqlDriver); + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } + String databaseSQL = "create database "+username ; + //添加企业信息 + String tableSQL = "create table sys_ent (id int auto_increment primary key comment '主键id'," + + "name varchar(16) comment '企业名称'," + + "leader varchar(16) comment '负责人'," + + "phone varchar(11) comment '联系电话'," + + "email varchar(32) comment '邮箱'," + + "ent_code varchar(64) comment '企业编码'," + + "ent_status varchar(64) comment '企业状态'," + + "create_by varchar(32) comment '创建人'," + + "update_by varchar(32) comment '创建时间'," + + "create_time datetime comment '修改人'," + + "update_time datetime comment '修改时间'," + + "remark varchar(32) comment '备注')"; + //连接数据库 + try { + Connection connection = DriverManager.getConnection(url, name, password); + //用于执行编译sql语句的对象 + Statement connStatement = connection.createStatement(); + if (connection != null) { + //执行建库语句 + connStatement.executeUpdate(databaseSQL); + log.info("创建数据库成功"); + //连接新建数据库 + Connection connection1 = DriverManager.getConnection(url + username, name, password); + if (connection1 != null) { + log.info("连接数据库成功"+username); + Statement statement = connection1.createStatement(); + //执行建表语句 + statement.executeUpdate(tableSQL); + log.info("创建表成功"); + return Result.success(); + } + } + } catch (SQLException e) { + throw new RuntimeException(e); + } + } return Result.success(userService.registerUser(sysUser)); }