diff --git a/cloud-auth/src/main/java/com/muyu/auth/form/RegisterBody.java b/cloud-auth/src/main/java/com/muyu/auth/form/RegisterBody.java
index a3d1251..b9fa745 100644
--- a/cloud-auth/src/main/java/com/muyu/auth/form/RegisterBody.java
+++ b/cloud-auth/src/main/java/com/muyu/auth/form/RegisterBody.java
@@ -30,6 +30,10 @@ public class RegisterBody extends LoginBody {
/**
* 手机号
*/
- private String phoneNumber;
+ private String phonenumber;
+ /**
+ * 公司注册人名称
+ */
+ private String nickName;
}
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 e49b481..6233ff5 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
@@ -127,10 +127,18 @@ public class SysLoginService {
// 注册用户信息
SysUser sysUser = new SysUser();
+ //公司账号
sysUser.setUserName(registerBody.getUsername());
+ //公司邮箱
sysUser.setEmail(registerBody.getEmail());
- sysUser.setPhonenumber(registerBody.getPhoneNumber());
+ //公司号码
+ sysUser.setPhonenumber(registerBody.getPhonenumber());
+ //密码
sysUser.setPassword(SecurityUtils.encryptPassword(registerBody.getPassword()));
+ //公司注册人名称
+ sysUser.setNickName(registerBody.getNickName());
+ //企业名称
+ sysUser.setFirmName(registerBody.getFirmName());
Result> registerResult = remoteUserService.registerUserInfo(sysUser, SecurityConstants.INNER);
if (Result.FAIL == registerResult.getCode()) {
diff --git a/cloud-auth/src/main/resources/bootstrap.yml b/cloud-auth/src/main/resources/bootstrap.yml
index 9a56e49..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: 127.0.0.1:8848
+ addr: 159.75.188.178:8848
user-name: nacos
password: nacos
namespace: eight
diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java
index 7633bca..3efe4cc 100644
--- a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java
+++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java
@@ -87,7 +87,6 @@ public class SysUser extends BaseEntity {
* 企业ID
*/
private Integer firmId;
-
/**
* 所属数据库
*/
@@ -145,6 +144,12 @@ public class SysUser extends BaseEntity {
*/
private Long roleId;
+ /**
+ * 公司名称
+ * @param userId
+ */
+ private String firmName;
+
public SysUser (Long userId) {
this.userId = userId;
}
diff --git a/cloud-common/pom.xml b/cloud-common/pom.xml
index 79c42b6..eead750 100644
--- a/cloud-common/pom.xml
+++ b/cloud-common/pom.xml
@@ -22,6 +22,7 @@
cloud-common-rabbit
cloud-common-saas
cloud-common-wechat
+ cloud-common-kafka
cloud-common
diff --git a/cloud-gateway/src/main/resources/bootstrap.yml b/cloud-gateway/src/main/resources/bootstrap.yml
index a9335ac..7f67420 100644
--- a/cloud-gateway/src/main/resources/bootstrap.yml
+++ b/cloud-gateway/src/main/resources/bootstrap.yml
@@ -4,7 +4,7 @@ server:
# nacos线上地址
nacos:
- addr: 127.0.0.1:8848
+ addr: 159.75.188.178:8848
user-name: nacos
password: nacos
namespace: eight
diff --git a/cloud-modules/cloud-modules-carData/pom.xml b/cloud-modules/cloud-modules-carData/pom.xml
index c1ab988..53d679b 100644
--- a/cloud-modules/cloud-modules-carData/pom.xml
+++ b/cloud-modules/cloud-modules-carData/pom.xml
@@ -92,5 +92,9 @@
iotdb-session
0.13.1
+
+ com.muyu
+ cloud-common-rabbit
+
diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/CarDataApplication.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/CarDataApplication.java
index 6ee448e..50b42da 100644
--- a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/CarDataApplication.java
+++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/CarDataApplication.java
@@ -1,5 +1,6 @@
package com.muyu.carData;
+import com.muyu.carData.listener.MyListener;
import com.muyu.common.security.annotation.EnableMyFeignClients;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -19,7 +20,8 @@ import javax.swing.*;
public class CarDataApplication {
public static void main(String[] args) {
- SpringApplication.run(CarDataApplication.class,args);
- System.out.println("caused: Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer;;caused: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer;");
+ SpringApplication application = new SpringApplication(CarDataApplication.class);
+ application.addListeners(new MyListener());
+ application.run(args);
}
}
diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/config/kafkaconfig/KafkaConfig.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/config/kafkaconfig/KafkaConfig.java
index 23b395b..bcf8999 100644
--- a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/config/kafkaconfig/KafkaConfig.java
+++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/config/kafkaconfig/KafkaConfig.java
@@ -28,7 +28,7 @@ public class KafkaConfig {
//生产者可用于缓冲等待发送到服务器的记录的总内存字节数
configs.put("buffer-memory",3554432);
/**
- *生产者producer要求leader节点在考虑完成请求之前收到的确认数,用于控制发送记录在服务端的持久化
+ * ,用于控制发送记录在服务端的持久化
*acks=0,设置为0,则生产者producer将不会等待来自服务器的任何确认.该记录将立即添加到套接字(socket)缓冲区并视为已发送
* .在这种情况下,无法保证服务器已收到记录,并且重试配置(retries)将不会生效(因为客户端通常不会知道任何故障),每条记录返回的偏移量始终设置为-1.
*acks=1,设置为1,leader节点会把记录写入本地日志,不需要等待所有follower节点完全确认就会立即应答producer.在这种情况下,
diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/consumer/MyKafkaConsumer.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/consumer/MyKafkaConsumer.java
index 7e6fcb9..a661bfc 100644
--- a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/consumer/MyKafkaConsumer.java
+++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/consumer/MyKafkaConsumer.java
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
import java.time.Duration;
import java.util.Collection;
-/**
+/**卡夫卡消费者
* @Author:张腾
* @Package:com.muyu.carData.consumer
* @Project:cloud-server-8
diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/testcontroller/CacheController.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/controller/CacheController.java
similarity index 97%
rename from cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/testcontroller/CacheController.java
rename to cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/controller/CacheController.java
index 436c63f..f2d2c53 100644
--- a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/testcontroller/CacheController.java
+++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/controller/CacheController.java
@@ -1,4 +1,4 @@
-package com.muyu.carData.testcontroller;
+package com.muyu.carData.controller;
import com.github.benmanes.caffeine.cache.Cache;
import com.muyu.carData.config.cacheconfig.CaffeineConfig;
diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/testcontroller/IotDBController.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/controller/IotDBController.java
similarity index 97%
rename from cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/testcontroller/IotDBController.java
rename to cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/controller/IotDBController.java
index d93c8d3..0becba4 100644
--- a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/testcontroller/IotDBController.java
+++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/controller/IotDBController.java
@@ -1,4 +1,4 @@
-package com.muyu.carData.testcontroller;
+package com.muyu.carData.controller;
import com.muyu.carData.config.lotdbconfig.IotDBSessionConfig;
import lombok.extern.log4j.Log4j2;
@@ -44,11 +44,13 @@ public class IotDBController {
@GetMapping("/insertData/{insertSize}/{count}")
public String insert(@PathVariable(name = "insertSize") int insertSize,@PathVariable(name = "count") int count) throws IoTDBConnectionException, StatementExecutionException {
Session session = iotDBSessionConfig.iotSession();
+ //schemaList 属性及类型
List schemaList = new ArrayList<>();
schemaList.add(new MeasurementSchema("id", TSDataType.INT32));
schemaList.add(new MeasurementSchema("name", TSDataType.TEXT));
schemaList.add(new MeasurementSchema("sex", TSDataType.TEXT));
+ //tablet 封装数据
Tablet tablet = new Tablet("root.yang.baling", schemaList);
//以当前时间戳作为插入的起始时间戳
diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/testcontroller/KafkaProducerController.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/controller/KafkaProducerController.java
similarity index 68%
rename from cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/testcontroller/KafkaProducerController.java
rename to cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/controller/KafkaProducerController.java
index 2dc6bb9..b167ef7 100644
--- a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/testcontroller/KafkaProducerController.java
+++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/controller/KafkaProducerController.java
@@ -1,7 +1,6 @@
-package com.muyu.carData.testcontroller;
+package com.muyu.carData.controller;
import com.alibaba.fastjson.JSONObject;
-import com.muyu.carData.pojo.Student;
import lombok.extern.log4j.Log4j2;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
@@ -25,21 +24,15 @@ public class KafkaProducerController {
@Autowired
private KafkaProducer kafkaProducer;
- private final String topicName = "test";
+ private final String topicName = "carJsons";
- @GetMapping("/produceTest")
- public String produceTest() {
+ @GetMapping("/producer")
+ public String produceTest(JSONObject data) {
try {
- Student stu = Student.builder().id(2)
- .name("杨闪闪")
- .sex("男")
- .build();
- String stuStr = JSONObject.toJSONString(stu);
log.info("Topic:{}", topicName);
- log.info("Java对象:{}",stu);
- log.info("转换为JSON:{}",stuStr);
+ log.info("转换为JSON:{}",data);
//使用KafkaProducer发送消息
- ProducerRecord stringProducerRecord = new ProducerRecord<>(topicName, stuStr);
+ ProducerRecord stringProducerRecord = new ProducerRecord(topicName, data);
kafkaProducer.send(stringProducerRecord);
}catch (Exception e){
log.error("Producer写入Topic异常,异常信息是:{}",e.getMessage());
@@ -47,4 +40,6 @@ public class KafkaProducerController {
return "消息发送成功";
}
+
+
}
diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/event/EsSaveEvent.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/event/EsSaveEvent.java
new file mode 100644
index 0000000..f4d689f
--- /dev/null
+++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/event/EsSaveEvent.java
@@ -0,0 +1,22 @@
+package com.muyu.carData.event;
+
+import com.alibaba.fastjson.JSONObject;
+import org.springframework.context.ApplicationEvent;
+
+/**自定义事件
+ * @Author:张腾
+ * @Package:com.muyu.carData.event
+ * @Project:cloud-server-8
+ * @name:EsSaveEvent
+ * @Date:2024/9/29 21:15
+ */
+public class EsSaveEvent extends ApplicationEvent {
+
+ private JSONObject data;
+
+
+ public EsSaveEvent(JSONObject source) {
+ super(source);
+ this.data = source;
+ }
+}
diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/listener/CustomEventListener.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/listener/CustomEventListener.java
new file mode 100644
index 0000000..4d63af0
--- /dev/null
+++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/listener/CustomEventListener.java
@@ -0,0 +1,22 @@
+package com.muyu.carData.listener;
+
+import com.muyu.carData.event.EsSaveEvent;
+import org.springframework.context.event.EventListener;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Author:张腾
+ * @Package:com.muyu.carData.listener
+ * @Project:cloud-server-8
+ * @name:CustomEventListener
+ * @Date:2024/9/29 23:49
+ */
+@Component
+public class CustomEventListener {
+
+ @EventListener
+ public void handMyEvent(EsSaveEvent event){
+ //处理事件详情
+
+ }
+}
diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/listener/MyListener.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/listener/MyListener.java
new file mode 100644
index 0000000..5bfcb26
--- /dev/null
+++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/listener/MyListener.java
@@ -0,0 +1,20 @@
+package com.muyu.carData.listener;
+
+import com.muyu.carData.event.EsSaveEvent;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.context.ApplicationListener;
+
+/**自定义监听器
+ * @Author:张腾
+ * @Package:com.muyu.carData.listener
+ * @Project:cloud-server-8
+ * @name:MyListener
+ * @Date:2024/9/29 21:18
+ */
+@Log4j2
+public class MyListener implements ApplicationListener {
+ @Override
+ public void onApplicationEvent(EsSaveEvent event) {
+ log.info("监听到自定义事件........");
+ }
+}
diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/pulisher/CustomEventPublisher.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/pulisher/CustomEventPublisher.java
new file mode 100644
index 0000000..2a32391
--- /dev/null
+++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/pulisher/CustomEventPublisher.java
@@ -0,0 +1,29 @@
+package com.muyu.carData.pulisher;
+
+import com.alibaba.fastjson.JSONObject;
+import com.muyu.carData.event.EsSaveEvent;
+import lombok.AllArgsConstructor;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.context.ApplicationEventPublisher;
+import org.springframework.stereotype.Component;
+
+/**事件发布测试
+ * @Author:张腾
+ * @Package:com.muyu.carData.pulisher
+ * @Project:cloud-server-8
+ * @name:CustomEventPublisher
+ * @Date:2024/9/29 23:51
+ */
+@Log4j2
+@Component
+@AllArgsConstructor
+public class CustomEventPublisher {
+
+ private ApplicationEventPublisher applicationEventPublisher;
+
+ public void publish(JSONObject data){
+ EsSaveEvent esSaveEvent = new EsSaveEvent(data);
+ applicationEventPublisher.publishEvent(esSaveEvent);
+ log.info("事件发布成功 - 消息是:{}",data);
+ }
+}
diff --git a/cloud-modules/cloud-modules-carData/src/main/resources/banner.txt b/cloud-modules/cloud-modules-carData/src/main/resources/banner.txt
new file mode 100644
index 0000000..0dd5eee
--- /dev/null
+++ b/cloud-modules/cloud-modules-carData/src/main/resources/banner.txt
@@ -0,0 +1,2 @@
+Spring Boot Version: ${spring-boot.version}
+Spring Application Name: ${spring.application.name}
diff --git a/cloud-modules/cloud-modules-carData/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-carData/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..8bc6afd
--- /dev/null
+++ b/cloud-modules/cloud-modules-carData/src/main/resources/bootstrap.yml
@@ -0,0 +1,63 @@
+# Tomcat
+server:
+ port: 9702
+
+# nacos线上地址
+nacos:
+ addr: 159.75.188.178:8848
+ user-name: nacos
+ password: nacos
+ namespace: eight
+# SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all
+# Spring
+spring:
+ iotdb:
+ username: root
+ password: root
+ ip: 60.204.221.52
+ port: 6667
+ maxSize: 100
+ fetchSize: 10000
+ main:
+ allow-bean-definition-overriding: true
+ application:
+ # 应用名称
+ name: cloud-carData
+ profiles:
+ # 环境配置
+ active: dev
+ cloud:
+ nacos:
+ discovery:
+ # 服务注册地址
+ server-addr: ${nacos.addr}
+ # nacos用户名
+ username: ${nacos.user-name}
+ # nacos密码
+ password: ${nacos.password}
+ # 命名空间
+ namespace: ${nacos.namespace}
+ config:
+ # 服务注册地址
+ server-addr: ${nacos.addr}
+ # nacos用户名
+ username: ${nacos.user-name}
+ # nacos密码
+ password: ${nacos.password}
+ # 命名空间
+ namespace: ${nacos.namespace}
+ # 配置文件格式
+ file-extension: yml
+ # 共享配置
+ shared-configs:
+ # 系统共享配置
+ - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+ # 系统环境Config共享配置
+ - application-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+ # xxl-job 配置文件
+ - application-xxl-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+ # rabbit 配置文件
+ - application-rabbit-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+logging:
+ level:
+ com.muyu.system.mapper: DEBUG
diff --git a/cloud-modules/cloud-modules-carData/src/main/resources/logback/dev.xml b/cloud-modules/cloud-modules-carData/src/main/resources/logback/dev.xml
new file mode 100644
index 0000000..8f19f70
--- /dev/null
+++ b/cloud-modules/cloud-modules-carData/src/main/resources/logback/dev.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+ ${log.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cloud-modules/cloud-modules-carData/src/main/resources/logback/prod.xml b/cloud-modules/cloud-modules-carData/src/main/resources/logback/prod.xml
new file mode 100644
index 0000000..260f145
--- /dev/null
+++ b/cloud-modules/cloud-modules-carData/src/main/resources/logback/prod.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+ ${log.sky.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+ ${log.sky.pattern}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cloud-modules/cloud-modules-carData/src/main/resources/logback/test.xml b/cloud-modules/cloud-modules-carData/src/main/resources/logback/test.xml
new file mode 100644
index 0000000..260f145
--- /dev/null
+++ b/cloud-modules/cloud-modules-carData/src/main/resources/logback/test.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+ ${log.sky.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+ ${log.sky.pattern}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/pom.xml b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/pom.xml
index 2d3421d..68857c5 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/pom.xml
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/pom.xml
@@ -54,5 +54,9 @@
fastjson
1.2.83
+
+ com.muyu
+ cloud-common-system
+
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/CarInformation.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/CarInformation.java
index d5ac309..313f32c 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/CarInformation.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/CarInformation.java
@@ -44,7 +44,7 @@ public class CarInformation {
*/
// @TableName(value = "car_information_VIN")
@TableField(value = "car_information_VIN")
- private String carInformationVin;
+ private String carInformationVIN;
/**
* 车牌号
*/
@@ -133,7 +133,7 @@ public class CarInformation {
public static CarInformation carInformationAddBuilder(CarInformationAddReq carInformation) {
return CarInformation.builder()
- .carInformationVin(carInformation.getCarInformationVin())
+ .carInformationVIN(carInformation.getCarInformationVIN())
.carInformationLicensePlate(carInformation.getCarInformationLicensePlate())
.carInformationBrand(carInformation.getCarInformationBrand())
.carInformationColor(carInformation.getCarInformationColor())
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/Firm.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/Firm.java
new file mode 100644
index 0000000..eb5d0b7
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/Firm.java
@@ -0,0 +1,40 @@
+package com.muyu.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * 企业名称
+ * @Author:weiran
+ * @Package:com.muyu.firmmanage.domain
+ * @Project:cloud-server-8
+ * @name:Firm
+ * @Date:2024/9/27 12:29
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+public class Firm {
+
+ /**
+ * 企业ID
+ */
+ @TableId(value = "firm_id")
+ private Long firmId;
+ /**
+ * 企业名称
+ */
+ @TableField(exist = false)
+ private String firmName;
+ /**
+ * 数据库名称
+ */
+ private String databaseName;
+
+
+}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/SysUser.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/SysUser.java
new file mode 100644
index 0000000..64014c2
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/SysUser.java
@@ -0,0 +1,119 @@
+package com.muyu.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.muyu.common.core.web.domain.BaseEntity;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+import java.util.Date;
+
+/**
+ * 用户信息
+ * @Author:weiran
+ * @Package:com.muyu.firmmanage.domain
+ * @Project:cloud-server-8
+ * @name:SysUser
+ * @Date:2024/9/28 22:37
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@SuperBuilder
+@Tag(name = "用户信息")
+@TableName("sys_user")
+public class SysUser extends BaseEntity {
+ /**
+ * 用户ID
+ */
+ @TableId(value = "user_id")
+ private Long userId;
+
+ /**
+ * 部门ID
+ */
+ private Long deptId;
+
+ /**
+ * 用户账号
+ */
+ private String userName;
+
+ /**
+ * 用户昵称
+ */
+ private String nickName;
+
+ /**
+ * 用户类型(00系统用户)
+ */
+ private String userType;
+
+ /**
+ * 用户邮箱
+ */
+ private String email;
+
+ /**
+ * 手机号码
+ */
+ private String phonenumber;
+
+ /**
+ * 用户性别(0男 1女 2未知)
+ */
+ private Integer sex;
+
+ /**
+ * 头像地址
+ */
+ private String avatar;
+
+ /**
+ * 密码
+ */
+ private String password;
+
+ /**
+ * 帐号状态(0正常 1停用)
+ */
+ private Integer status;
+
+ /**
+ * 删除标志(0代表存在 2代表删除)
+ */
+ private String delFlag;
+
+ /**
+ * 最后登录IP
+ */
+ private String loginIp;
+
+ /**
+ * 最后登录时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date loginDate;
+
+ /**
+ * 数据库名称
+ */
+ private String databaseName;
+
+ /**
+ * 企业ID
+ */
+ private Long firmId;
+ /**
+ * 企业名称
+ */
+ @TableField(exist = false)
+ private String firmName;
+}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/req/CarInformationAddReq.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/req/CarInformationAddReq.java
index 78ff170..ac596f9 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/req/CarInformationAddReq.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/req/CarInformationAddReq.java
@@ -21,7 +21,7 @@ public class CarInformationAddReq {
/**
* 车辆唯一VIN
*/
- private String carInformationVin;
+ private String carInformationVIN;
/**
* 车牌号
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/req/FirmListReq.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/req/FirmListReq.java
new file mode 100644
index 0000000..ccc7e0a
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/req/FirmListReq.java
@@ -0,0 +1,37 @@
+package com.muyu.domain.req;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 公司信息请求对象
+ * @Author:weiran
+ * @Package:com.muyu.firmmanage.domain.req
+ * @Project:cloud-server-8
+ * @name:FirmListReq
+ * @Date:2024/9/27 19:19
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@Tag(name = "公司信息请求对象",description = "公司信息请求对象")
+public class FirmListReq {
+
+ /**
+ * 公司名称
+ */
+ private String firmName;
+ /**
+ * 页码,从1开始
+ */
+ private Integer pageNum=1;
+ /**
+ * 每页大小
+ */
+ private Integer pageSize=10;
+
+}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/resp/FirmListResp.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/resp/FirmListResp.java
new file mode 100644
index 0000000..2f64e8b
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/resp/FirmListResp.java
@@ -0,0 +1,138 @@
+package com.muyu.domain.resp;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.muyu.domain.SysUser;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * 企业信息响应对象
+ * @Author:weiran
+ * @Package:com.muyu.firmmanage.domain.resp
+ * @Project:cloud-server-8
+ * @name:FirmListResp
+ * @Date:2024/9/27 19:33
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@Tag(name="企业信息响应对象",description = "企业信息响应对象")
+public class FirmListResp {
+ /**
+ * 用户ID
+ */
+ private Long userId;
+
+ /**
+ * 部门ID
+ */
+ private Long deptId;
+
+ /**
+ * 用户账号
+ */
+ private String userName;
+
+ /**
+ * 用户昵称
+ */
+ private String nickName;
+
+ /**
+ * 用户类型(00系统用户)
+ */
+ private String userType;
+
+ /**
+ * 用户邮箱
+ */
+ private String email;
+
+ /**
+ * 手机号码
+ */
+ private String phonenumber;
+
+ /**
+ * 用户性别(0男 1女 2未知)
+ */
+ private Integer sex;
+
+ /**
+ * 头像地址
+ */
+ private String avatar;
+
+ /**
+ * 密码
+ */
+ private String password;
+
+ /**
+ * 帐号状态(0正常 1停用)
+ */
+ private Integer status;
+
+ /**
+ * 删除标志(0代表存在 2代表删除)
+ */
+ private String delFlag;
+
+ /**
+ * 最后登录IP
+ */
+ private String loginIp;
+
+ /**
+ * 最后登录时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date loginDate;
+
+ /**
+ * 数据库名称
+ */
+ private String databaseName;
+
+ /**
+ * 企业ID
+ */
+ private Long firmId;
+ /**
+ * 企业名称
+ */
+ @TableField(exist = false)
+ private String firmName;
+
+ /**
+ * 数据库对象构建为返回结果对象
+ */
+ public static FirmListResp firmListResp(SysUser sysUser){
+ return FirmListResp.builder()
+ .userId(sysUser.getUserId())
+ .deptId(sysUser.getDeptId())
+ .userName(sysUser.getUserName())
+ .nickName(sysUser.getNickName())
+ .userType((sysUser.getUserType()))
+ .email(sysUser.getEmail())
+ .phonenumber(sysUser.getPhonenumber())
+ .sex(sysUser.getSex())
+ .avatar(sysUser.getAvatar())
+ .password(sysUser.getPassword())
+ .status(sysUser.getStatus())
+ .delFlag(sysUser.getDelFlag())
+ .loginDate(sysUser.getLoginDate())
+ .databaseName(sysUser.getDatabaseName())
+ .firmId(sysUser.getFirmId())
+ .build();
+ }
+
+
+}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/resp/FirmTotalListResp.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/resp/FirmTotalListResp.java
new file mode 100644
index 0000000..e3e1e84
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/domain/resp/FirmTotalListResp.java
@@ -0,0 +1,36 @@
+package com.muyu.domain.resp;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * 公司数据总数响应对象
+ * @Author:weiran
+ * @Package:com.muyu.firmmanage.domain.resp.firmlist
+ * @Project:cloud-server-8
+ * @name:FirmTotalListResp
+ * @Date:2024/9/27 19:42
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@Tag(name = "公司数据总数列表",description = "数据总数响应")
+public class FirmTotalListResp {
+
+ private List firmListRespList;
+
+ private long total;
+
+ public static FirmTotalListResp firmTotalListResp(List firmListRespList,long toal){
+ FirmTotalListResp firmTotalListResp = new FirmTotalListResp();
+ firmTotalListResp.setFirmListRespList(firmListRespList);
+ firmTotalListResp.setTotal(toal);
+ return firmTotalListResp;
+ }
+}
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 e0e09eb..b7bfbc8 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
@@ -33,6 +33,22 @@
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-config
+
+
+ org.apache.kafka
+ kafka-clients
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
+
+
+ org.eclipse.paho
+ org.eclipse.paho.client.mqttv3
+ 1.2.2
+
com.alibaba.cloud
@@ -83,6 +99,12 @@
pagehelper
6.0.0
+
+ com.muyu
+ cloud-common-kafka
+ 3.6.3
+ compile
+
cloud-electronic
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/controller/CarFenceClazzController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/controller/CarFenceClazzController.java
index 8b350cd..67609f3 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/controller/CarFenceClazzController.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/controller/CarFenceClazzController.java
@@ -37,7 +37,9 @@ public class CarFenceClazzController {
@Operation(summary = "查询数据",description = "查询数据")
public Result> selectConnect(){
List connects = carFenceClazzService.list();
+ log.info("查询数据成功");
return Result.success(
+
connects, "操作成功"
);
}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/controller/CarFenceController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/controller/CarFenceController.java
index bb4599f..eb25bc3 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/controller/CarFenceController.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/controller/CarFenceController.java
@@ -43,6 +43,7 @@ public class CarFenceController {
@Validated @RequestBody CarFenceReq req
){
Page connects = carFenceService.selectCarFence(req);
+ log.info("查询数据:"+ connects);
return Result.success(
connects, "操作成功"
);
@@ -57,11 +58,13 @@ public class CarFenceController {
@Validated @RequestBody CarFence carFence
){
Boolean connects = carFenceService.addCarFence(carFence);
+ log.info("shd");
return connects?Result.success(
null, "操作成功"
):Result.success(
null, "操作失败"
);
+
}
/**
@@ -73,6 +76,8 @@ public class CarFenceController {
@Validated @RequestBody CarGroupReq req
){
Boolean connects = carFenceService.addCarGroup(req);
+ log.info("添加数据:"+ connects);
+
return connects?Result.success(
null, "操作成功"
):Result.success(
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/controller/FirmManageController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/controller/FirmManageController.java
new file mode 100644
index 0000000..47f9004
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/controller/FirmManageController.java
@@ -0,0 +1,47 @@
+package com.muyu.server.controller;
+
+import com.muyu.common.core.domain.Result;
+import com.muyu.domain.req.FirmListReq;
+import com.muyu.domain.resp.FirmTotalListResp;
+import com.muyu.server.service.FirmManageService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 企业信息控制层
+ * @Author:weiran
+ * @Package:com.muyu.firmmanage.controller
+ * @Project:cloud-server-8
+ * @name:FirmManageController
+ * @Date:2024/9/27 12:27
+ */
+@RestController
+@RequestMapping("/firmmanage")
+@Tag(name = "公司相关事务",description = "公司相关事务操作")
+public class FirmManageController {
+
+ @Autowired
+ private FirmManageService firmManageService;
+
+
+ /**
+ * 公司列表信息展示
+ * @param firmListReq
+ * @return
+ */
+ @PostMapping("/firmmessageList")
+ @Operation(summary = "公司信息列表展示",description = "展示公司信息的列表")
+ public Result firmmessageList(@Validated @RequestBody FirmListReq firmListReq){
+ FirmTotalListResp firmTotalListResp = firmManageService.firmmessageList(firmListReq);
+ return Result.success(firmTotalListResp);
+ }
+
+
+
+}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/feign/KafkaClient.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/feign/KafkaClient.java
new file mode 100644
index 0000000..24e4999
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/feign/KafkaClient.java
@@ -0,0 +1,18 @@
+//package com.muyu.server.feign;
+//
+//import org.springframework.cloud.openfeign.FeignClient;
+//import org.springframework.web.bind.annotation.GetMapping;
+//
+//@FeignClient(name = "cloud-modules-carData",value = "KafkaProducerController")
+//public abstract class KafkaClient {
+// /**
+// * 处理"/produceTest"的GET请求,用于执行特定的测试任务
+// * 此方法的具体实现将在子类中定义
+// * @return 返回类型为String,表示该方法的执行结果
+// * @return
+// */
+// @GetMapping("/produceTest")
+// public abstract String produceTest();
+//
+//
+//}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/mapper/CarInformationMapper.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/mapper/CarInformationMapper.java
index 1e08ebc..3cf4ba0 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/mapper/CarInformationMapper.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/mapper/CarInformationMapper.java
@@ -9,6 +9,8 @@ import com.muyu.domain.req.CarInformationListReq;
import com.muyu.domain.req.CarInformationUpdReq;
import com.muyu.domain.resp.CarInformationResp;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
import java.util.List;
@@ -18,4 +20,12 @@ import java.util.List;
@Mapper
public interface CarInformationMapper extends MPJBaseMapper {
+
+ /**
+ * 根据车辆VIN码获取车辆类型(报文模板分类用的值)
+ * @param carInformationVIN
+ * @return
+ */
+ @Select("SELECT `car_information`.car_Information_Type FROM `car_information` WHERE `car_information`.car_information_VIN = #{carInformationVIN}")
+ Long selectcarMessageCartype(@Param("carInformationVIN") String carInformationVIN);
}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/mapper/FirmManageMapper.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/mapper/FirmManageMapper.java
new file mode 100644
index 0000000..ed33d65
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/mapper/FirmManageMapper.java
@@ -0,0 +1,23 @@
+package com.muyu.server.mapper;
+
+import com.github.yulichang.base.MPJBaseMapper;
+import com.muyu.domain.Firm;
+import com.muyu.domain.SysUser;
+import com.muyu.domain.req.FirmListReq;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 公司+员工持久层
+ * @Author:weiran
+ * @Package:com.muyu.firmmanage.mapper
+ * @Project:cloud-server-8
+ * @name:FirmManageMapper
+ * @Date:2024/9/27 12:28
+ */
+@Mapper
+public interface FirmManageMapper extends MPJBaseMapper {
+
+ List firmmessageList(FirmListReq firmListReq);
+}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/mapper/FirmMapper.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/mapper/FirmMapper.java
new file mode 100644
index 0000000..a1ee530
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/mapper/FirmMapper.java
@@ -0,0 +1,17 @@
+package com.muyu.server.mapper;
+
+import com.github.yulichang.base.MPJBaseMapper;
+import com.muyu.domain.Firm;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 公司表持久层
+ * @Author:weiran
+ * @Package:com.muyu.firmmanage.mapper
+ * @Project:cloud-server-8
+ * @name:FirmMapper
+ * @Date:2024/9/29 16:56
+ */
+@Mapper
+public interface FirmMapper extends MPJBaseMapper {
+}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/mqtt/Demo.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/mqtt/Demo.java
new file mode 100644
index 0000000..007c82e
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/mqtt/Demo.java
@@ -0,0 +1,105 @@
+package com.muyu.server.mqtt;
+
+import com.alibaba.fastjson.JSONObject;
+
+import com.muyu.common.kafka.constants.KafkaConstants;
+import com.muyu.domain.CarMessage;
+import com.muyu.server.service.CarMessageService;
+import jakarta.annotation.PostConstruct;
+import org.apache.kafka.clients.producer.KafkaProducer;
+import org.apache.kafka.clients.producer.ProducerRecord;
+import org.eclipse.paho.client.mqttv3.*;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+
+
+@Component
+public class Demo {
+ @Resource
+ private CarMessageService service;
+ @Resource
+ private KafkaProducer kafkaProducer;
+ @PostConstruct
+ public void test() {
+
+ String topic = "vehicle";
+ String content = "Message from MqttPublishSample";
+ int qos = 2;
+ String broker = "tcp://106.15.136.7:1883";
+ String clientId = "JavaSample";
+
+ try {
+ // 第三个参数为空,默认持久化策略
+ MqttClient sampleClient = new MqttClient(broker, clientId);
+ MqttConnectOptions connOpts = new MqttConnectOptions();
+ connOpts.setCleanSession(true);
+ System.out.println("Connecting to broker: "+broker);
+ sampleClient.connect(connOpts);
+ sampleClient.subscribe(topic,0);
+ sampleClient.setCallback(new MqttCallback() {
+ // 连接丢失
+ @Override
+ public void connectionLost(Throwable throwable) {
+
+ }
+ // 连接成功
+ @Override
+ public void messageArrived(String s, MqttMessage mqttMessage) throws Exception {
+
+ List list= service.selectCarMessageList(1,2);
+ String str = new String( mqttMessage.getPayload() );
+ System.out.println(str);
+ String[] test = str.split(" ");
+ String[] results = new String[list.size()];
+ List> futures = new ArrayList<>();
+ for (CarMessage carmsg : list) {
+ futures.add(CompletableFuture.supplyAsync(() -> {
+ int startIndex = Integer.parseInt(String.valueOf(carmsg.getCarMessageStartIndex())) - 1;
+ int endIndex = Integer.parseInt(String.valueOf(carmsg.getCarMessageEndIndex()));
+ StringBuilder hexBuilder = new StringBuilder();
+ for (int j = startIndex; j < endIndex; j++) {
+ hexBuilder.append(test[j]);
+ }
+ // 创建16进制的对象
+ String hex = hexBuilder.toString();
+ // 转橙字符数组
+ char[] result = new char[hex.length() / 2];
+ for (int x = 0; x < hex.length(); x += 2) {
+ // 先转十进制
+ int high = Character.digit(hex.charAt(x), 16);
+ // 转二进制
+ int low = Character.digit(hex.charAt(x + 1), 16);
+ // 转字符
+ result[x / 2] = (char) ((high << 4) + low);
+ }
+ return new String(result);
+ }));
+ }
+ for (int i = 0; i < futures.size(); i++) {
+ results[i] = futures.get(i).get();
+ }
+ String jsonString = JSONObject.toJSONString( results );
+ ProducerRecord producerRecord = new ProducerRecord<>( KafkaConstants.KafkaTopic, jsonString);
+ kafkaProducer.send(producerRecord);
+ }
+ // 接收信息
+ @Override
+ public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {
+
+ }
+ });
+ } catch(MqttException me) {
+ System.out.println("reason "+me.getReasonCode());
+ System.out.println("msg "+me.getMessage());
+ System.out.println("loc "+me.getLocalizedMessage());
+ System.out.println("cause "+me.getCause());
+ System.out.println("excep "+me);
+ me.printStackTrace();
+ }
+ }
+
+}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/CarMessageService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/CarMessageService.java
index 14e60f3..b44b376 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/CarMessageService.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/CarMessageService.java
@@ -1,7 +1,9 @@
package com.muyu.server.service;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.domain.CarMessage;
+import com.muyu.domain.resp.CarInformationResp;
import com.muyu.domain.resp.CarMessageResp;
import java.util.List;
@@ -43,4 +45,19 @@ public interface CarMessageService extends IService {
*/
List selectJoinList(Long id);
+
+ //报文切割
+ /**
+ * 分割字符串
+ * 解析字符
+ * 获取报文最终信息
+ */
+ JSONObject inciseCarMessage(String testString);
+
+
+ List selectCarMessageList(int i, int i1);
+
+
+
+
}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/FirmManageService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/FirmManageService.java
new file mode 100644
index 0000000..1831e27
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/FirmManageService.java
@@ -0,0 +1,26 @@
+package com.muyu.server.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.domain.SysUser;
+import com.muyu.domain.req.FirmListReq;
+import com.muyu.domain.resp.FirmTotalListResp;
+
+import java.util.List;
+
+/**
+ * 公司+员工业务层
+ * @Author:weiran
+ * @Package:com.muyu.firmmanage.service
+ * @Project:cloud-server-8
+ * @name:FirmManageService
+ * @Date:2024/9/27 12:28
+ */
+public interface FirmManageService extends IService {
+
+ /**
+ * 公司列表信息展示
+ * @param firmListReq
+ * @return
+ */
+ FirmTotalListResp firmmessageList(FirmListReq firmListReq);
+}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/FirmService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/FirmService.java
new file mode 100644
index 0000000..3483947
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/FirmService.java
@@ -0,0 +1,21 @@
+package com.muyu.server.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.domain.Firm;
+
+/**
+ * 公司业务层
+ * @Author:weiran
+ * @Package:com.muyu.firmmanage.service
+ * @Project:cloud-server-8
+ * @name:FirmService
+ * @Date:2024/9/29 16:57
+ */
+public interface FirmService extends IService {
+ /**
+ * 查询公司数目
+ * @return
+ */
+ long findcount();
+}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/CarInformationServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/CarInformationServiceImpl.java
index 5fe85ee..372800d 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/CarInformationServiceImpl.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/CarInformationServiceImpl.java
@@ -65,7 +65,7 @@ public class CarInformationServiceImpl
.leftJoin(CarType.class, CarType::getCarTypeId, CarInformation::getCarInformationType)
.eq(StringUtils.isNotEmpty(carInformationListReq.getCarInformationVIN())
- ,CarInformation::getCarInformationVin
+ ,CarInformation::getCarInformationVIN
, carInformationListReq.getCarInformationVIN())
.eq(StringUtils.isNotNull(carInformationListReq.getCarTypeId())
,CarType::getCarTypeId, carInformationListReq.getCarTypeId())
@@ -76,7 +76,7 @@ public class CarInformationServiceImpl
,CarInformation::getCarInformationState
, carInformationListReq.getCarInformationState())
.like(StringUtils.isNotEmpty(carInformationListReq.getCarInformationVIN())
- ,CarInformation::getCarInformationVin
+ ,CarInformation::getCarInformationVIN
, carInformationListReq.getCarInformationVIN())
.eq(StringUtils.isNotEmpty( carInformationListReq.getCarInformationMotorModel())
,CarInformation::getCarInformationMotorModel
@@ -148,4 +148,5 @@ public class CarInformationServiceImpl
});
return carInformationResps;
}
+
}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/CarMessageServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/CarMessageServiceImpl.java
index 3ea977e..74341ef 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/CarMessageServiceImpl.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/CarMessageServiceImpl.java
@@ -1,5 +1,8 @@
package com.muyu.server.service.impl;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.muyu.common.core.utils.StringUtils;
@@ -7,15 +10,21 @@ import com.muyu.domain.CarMessage;
import com.muyu.domain.CarMessageType;
import com.muyu.domain.CarType;
import com.muyu.domain.resp.CarMessageResp;
+import com.muyu.server.mapper.CarInformationMapper;
import com.muyu.server.mapper.CarMessageMapper;
import com.muyu.server.service.CarMessageService;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.util.Collection;
import java.util.List;
+import java.util.Objects;
/**
* 报文模板展示列表业务实现层
*/
+@Log4j2
@Service
public class CarMessageServiceImpl
extends ServiceImpl
@@ -23,6 +32,11 @@ public class CarMessageServiceImpl
@Resource
private CarMessageMapper carMessageMapper;
+ @Resource
+ private CarInformationMapper carInformationMapper;
+
+
+
/**
* 根据所属车类别 解析 车辆报文模板
* @param
@@ -91,5 +105,89 @@ public class CarMessageServiceImpl
.eq(StringUtils.isNotNull(id),CarMessage::getCarMessageCartype, id));
}
+ @Override
+ public JSONObject inciseCarMessage(String testString) {
+ return null;
+ }
+
+ @Override
+ public List selectCarMessageList(int id, int modelCode) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(CarMessage::getCarMessageId, id);
+ queryWrapper.eq(CarMessage::getCarMessageType, modelCode);
+ return this.list(queryWrapper);
+ }
+
+
+
+ //报文处理
+// @Resource
+// private RedisTemplate redisTemplate;
+//
+// /**
+// * 报文解析
+// * @param testString
+// * @return
+// */
+// @Override
+// public JSONObject inciseCarMessage(String testString) {
+// //根据空格拆分切割数据字符串
+// String[] split = testString.split(" ");
+// StringBuilder stringBuilder = new StringBuilder();
+// for (String conversion : split) {
+// //将16进制字符串转换为对应的10进制
+// int inciseindex = Integer.parseInt(conversion, 16);
+// // 将10进制转换为对应的字符
+// stringBuilder.append((char) inciseindex);
+// }
+// //切取车辆VIN
+// String substring = stringBuilder.substring(1, 18);
+// log.info("车辆的VIN码:" + substring);
+// //根据给定的vehicleVin(车辆VIN号)获取对应的模板车辆分类carMessageCartype
+// String selectcared = carInformationMapper.selectcarMessageCartype(substring);
+// //创建接受数据的数组
+// List messagesList ;
+//
+// try{
+// String redisKey = "carMessageList" + selectcared;
+//
+// if (redisTemplate.hasKey(redisKey)){
+// List list = redisTemplate.opsForList().range(redisKey , 0, -1);
+// messagesList = list.stream()
+// .map(objects -> JSON.parseObject(objects.toString(), CarMessage.class))
+// .toList();
+// log.info("Redis缓存查询成功");
+// }else {
+// messagesList = carInformationMapper.selectcarMessageCartype(selectcared);
+//
+// messagesList.forEach(
+// listReq -> redisTemplate.opsForList().rightPushAll(redisKey, JSON.toString(listReq) )
+// );
+// log.info("数据库查询成功");
+// }
+// }catch(Exception e){
+// throw new RuntimeException("获取报文模板失败");
+// }
+// //判断报文模板 列表 不为空
+// if(messagesList.isEmpty()){
+// throw new RuntimeException("报文模版为空");
+// }
+// //存储报文模板解析后的数据
+// JSONObject jsonObject = new JSONObject();
+// for (CarMessage carMessage : messagesList) {
+// //起始位下标
+// Integer startIndex = carMessage.getCarMessageStartIndex();
+// //结束位下标
+// Integer endIndex = carMessage.getCarMessageEndIndex();
+// //根据报文模板获取保温截取位置
+// String value = stringBuilder.substring(startIndex, endIndex);
+// //存入数据
+// jsonObject.put(carMessage.getMessageTypeName(), value);
+//
+// }
+// return jsonObject;
+//
+// }
+
}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/FaultLogServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/FaultLogServiceImpl.java
index 4e7ac48..3ba09e9 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/FaultLogServiceImpl.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/FaultLogServiceImpl.java
@@ -47,7 +47,7 @@ public class FaultLogServiceImpl extends ServiceImpl i
FaultLog::getStartwarningTime,
FaultLog::getEndwarningTime)
.select(FaultCode::getFaultcodeNumber)
- .select(CarInformation::getCarInformationVin)
+ .select(CarInformation::getCarInformationVIN)
.leftJoin(FaultCode.class,FaultCode::getFaultcodeId,FaultLog::getFaultcodeId)
.leftJoin(CarInformation.class,CarInformation::getCarInformationId,FaultLog::getCarInformationId)
.eq(StringUtils.isNotEmpty(faultLogListReq.getCarVin()),
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/FaultRuleServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/FaultRuleServiceImpl.java
index b8d530e..3502d65 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/FaultRuleServiceImpl.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/FaultRuleServiceImpl.java
@@ -12,6 +12,7 @@ import com.muyu.server.mapper.CarFenceMapper;
import com.muyu.server.mapper.CarInformationMapper;
import com.muyu.server.mapper.FaultConditionMapper;
import com.muyu.server.mapper.FaultRuleMapper;
+import com.muyu.server.service.CarInformationService;
import com.muyu.server.service.FaultRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -33,6 +34,8 @@ import java.util.List;
@Service
public class FaultRuleServiceImpl extends ServiceImpl implements FaultRuleService {
+ @Autowired
+ private CarInformationService carInformationService;
@Autowired
private CarInformationMapper carInformationMapper;
@Autowired
@@ -49,7 +52,7 @@ public class FaultRuleServiceImpl extends ServiceImpl carInformationList = carInformationMapper.selectList(
new LambdaQueryWrapper()
- .eq(CarInformation::getCarInformationVin, carFaultRule.getVin()));
+ .eq(CarInformation::getCarInformationVIN, carFaultRule.getVin()));
//根据车辆类型,查询表获取对应的类型的故障规则
Integer carInformationType = null;
for (CarInformation carInformation : carInformationList) {
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/FirmManageServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/FirmManageServiceImpl.java
new file mode 100644
index 0000000..e4f3501
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/FirmManageServiceImpl.java
@@ -0,0 +1,53 @@
+package com.muyu.server.service.impl;
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.muyu.common.core.utils.StringUtils;
+import com.muyu.domain.Firm;
+import com.muyu.domain.SysUser;
+import com.muyu.domain.req.FirmListReq;
+import com.muyu.domain.resp.FirmListResp;
+import com.muyu.domain.resp.FirmTotalListResp;
+import com.muyu.server.mapper.FirmManageMapper;
+import com.muyu.server.service.FirmManageService;
+import com.muyu.server.service.FirmService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 公司+员工业务实现层
+ * @Author:weiran
+ * @Package:com.muyu.firmmanage.service.impl
+ * @Project:cloud-server-8
+ * @name:FirmManageServiceImpl
+ * @Date:2024/9/27 12:28
+ */
+@Service
+public class FirmManageServiceImpl extends ServiceImpl implements FirmManageService {
+ @Autowired
+ private FirmManageMapper firmManageMapper;
+ @Autowired
+ private FirmService firmService;
+ /**
+ * 公司列表信息展示
+ * @param firmListReq
+ * @return
+ */
+ @Override
+ public FirmTotalListResp firmmessageList(FirmListReq firmListReq) {
+ long findcount = firmService.findcount();
+ MPJLambdaWrapper wrapper = new MPJLambdaWrapper<>();
+ wrapper.selectAll(SysUser.class)
+ .selectAll(Firm.class)
+ .leftJoin(Firm.class,Firm::getFirmId,SysUser::getFirmId)
+ .eq(StringUtils.isNotEmpty(firmListReq.getFirmName()),
+ Firm::getFirmName, firmListReq.getFirmName());
+ wrapper.last("LIMIT "+((firmListReq.getPageNum()-1)*firmListReq.getPageSize())+","+firmListReq.getPageSize());
+ List firmListResps = firmManageMapper.selectJoinList(FirmListResp.class, wrapper);
+ return FirmTotalListResp.firmTotalListResp(firmListResps,findcount);
+
+ }
+}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/FirmServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/FirmServiceImpl.java
new file mode 100644
index 0000000..0ba35c7
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/FirmServiceImpl.java
@@ -0,0 +1,32 @@
+package com.muyu.server.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.muyu.domain.Firm;
+import com.muyu.server.mapper.FirmMapper;
+import com.muyu.server.service.FirmService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 公司业务实现层
+ * @Author:weiran
+ * @Package:com.muyu.firmmanage.service.impl
+ * @Project:cloud-server-8
+ * @name:FirmServiceImpl
+ * @Date:2024/9/29 16:57
+ */
+@Service
+public class FirmServiceImpl extends ServiceImpl implements FirmService {
+
+ /**
+ * 查询公司数目
+ * @return
+ */
+ @Override
+ public long findcount() {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ long count = this.count(queryWrapper);
+ return count;
+
+ }
+}
diff --git a/cloud-modules/cloud-modules-file/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-file/src/main/resources/bootstrap.yml
index 2863945..a02fcfb 100644
--- a/cloud-modules/cloud-modules-file/src/main/resources/bootstrap.yml
+++ b/cloud-modules/cloud-modules-file/src/main/resources/bootstrap.yml
@@ -4,7 +4,7 @@ server:
# nacos线上地址
nacos:
- addr: 127.0.0.1:8848
+ addr: 159.75.188.178:8848
user-name: nacos
password: nacos
namespace: eight
diff --git a/cloud-modules/cloud-modules-gen/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-gen/src/main/resources/bootstrap.yml
index 5735ae2..4663d03 100644
--- a/cloud-modules/cloud-modules-gen/src/main/resources/bootstrap.yml
+++ b/cloud-modules/cloud-modules-gen/src/main/resources/bootstrap.yml
@@ -4,7 +4,7 @@ server:
# nacos线上地址
nacos:
- addr: 127.0.0.1:8848
+ addr: 159.75.188.178:8848
user-name: nacos
password: nacos
namespace: eight
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 fa92973..6775a94 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
@@ -142,4 +142,11 @@ public interface SysUserMapper extends BaseMapper {
List companyList();
+ /**
+ * 添加公司名称
+ * @param firmName
+ * @param datbaseName
+ * @return
+ */
+ Integer insertFirm(@Param("firmName") String firmName, @Param("datbaseName") String datbaseName);
}
diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/DataBaseCreator.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/DataBaseCreator.java
new file mode 100644
index 0000000..47b2206
--- /dev/null
+++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/DataBaseCreator.java
@@ -0,0 +1,16 @@
+package com.muyu.system.service;
+
+import com.muyu.common.system.domain.SysUser;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.system.service
+ * @Project:cloud-server-8
+ * @name:DataBaseCreator
+ * @Date:2024/9/26 20:40
+ */
+public interface DataBaseCreator {
+
+
+ String createDatbase(SysUser user);
+}
diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/DataBaseCreatorImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/DataBaseCreatorImpl.java
new file mode 100644
index 0000000..850d44d
--- /dev/null
+++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/DataBaseCreatorImpl.java
@@ -0,0 +1,49 @@
+package com.muyu.system.service.impl;
+
+import cn.hutool.core.util.RandomUtil;
+import com.muyu.common.system.domain.SysUser;
+import com.muyu.system.service.DataBaseCreator;
+import org.springframework.stereotype.Service;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.Statement;
+
+/**
+ * @Author:weiran
+ * @Package:com.muyu.system.service.impl
+ * @Project:cloud-server-8
+ * @name:DataBaseCreatorImpl
+ * @Date:2024/9/26 20:40
+ */
+@Service
+public class DataBaseCreatorImpl implements DataBaseCreator {
+
+
+ private static final String DB_URL="jdbc:mysql://159.75.188.178:3306?useSSL=false";
+ private static final String USER="root";
+ private static final String PASS="bwie-8666";
+
+
+ @Override
+ public String createDatbase(SysUser user) {
+ try {
+ Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);
+ Statement statement = conn.createStatement();
+ String datbaseName="company"+RandomUtil.randomNumbers(5);
+ //创建数据库
+ String sqlCreateDatabase ="CREATE DATABASE IF NOT EXISTS "+datbaseName;
+ String sqlUseDatabase="USE "+datbaseName;
+ String sqlCreateTable="CREATE TABLE user ("+
+ "user_id INT AUTO_INCREMENT PRIMARY KEY,"+
+ "user_name VARCHAR(50) NOT NULL )";
+ statement.execute(sqlCreateDatabase);
+ statement.execute(sqlUseDatabase);
+ statement.execute(sqlCreateTable);
+ return datbaseName;
+ }catch (Exception e){
+ e.printStackTrace();
+ throw new RuntimeException("数据库创建失败");
+ }
+ }
+}
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 7e17f2c..fd58fb7 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
@@ -14,6 +14,7 @@ import com.muyu.system.domain.SysPost;
import com.muyu.system.domain.SysUserPost;
import com.muyu.system.domain.SysUserRole;
import com.muyu.system.mapper.*;
+import com.muyu.system.service.DataBaseCreator;
import com.muyu.system.service.SysUserService;
import com.muyu.system.service.SysConfigService;
import jakarta.validation.Validator;
@@ -50,6 +51,8 @@ public class SysUserServiceImpl extends ServiceImpl impl
private SysUserPostMapper userPostMapper;
@Autowired
private SysConfigService configService;
+ @Autowired
+ private DataBaseCreator baseCreator;
/**
* 根据条件分页查询用户列表
@@ -254,7 +257,24 @@ public class SysUserServiceImpl extends ServiceImpl impl
*/
@Override
public boolean registerUser (SysUser user) {
- return userMapper.insertUser(user) > 0;
+ //根据新注册的用户创建对应数据库
+ String datbaseName = baseCreator.createDatbase(user);
+ //添加公司名称
+ userMapper.insertFirm(user.getFirmName(),datbaseName);
+ Integer firmId = user.getFirmId();
+ user.setFirmId(firmId);
+ //添加用户表
+ int i = userMapper.insertUser(user);
+ List userList = userMapper.selectUserList(user);
+ Long userId = userList.get(0).getUserId();
+ ArrayList list = new ArrayList<>();
+ //将用户和角色进行关联
+ SysUserRole userRole = new SysUserRole();
+ userRole.setUserId(userId);
+ userRole.setRoleId(2L);
+ list.add(userRole);
+ userRoleMapper.batchUserRole(list);
+ return i > 0;
}
/**
diff --git a/cloud-modules/cloud-modules-system/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-system/src/main/resources/bootstrap.yml
index a0052fd..91799f9 100644
--- a/cloud-modules/cloud-modules-system/src/main/resources/bootstrap.yml
+++ b/cloud-modules/cloud-modules-system/src/main/resources/bootstrap.yml
@@ -4,7 +4,7 @@ server:
# nacos线上地址
nacos:
- addr: 127.0.0.1:8848
+ addr: 159.75.188.178:8848
user-name: nacos
password: nacos
namespace: eight
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 6ea2ddd..16baeea 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
@@ -222,6 +222,11 @@
sysdate()
)
+
+ INSERT INTO `eight`.`firm`
+ (`firm_id`, `firm_name`, `database_name`) VALUES
+ (0, #{firmName}, #{datbaseName});
+
update sys_user
diff --git a/cloud-visual/cloud-visual-monitor/src/main/resources/bootstrap.yml b/cloud-visual/cloud-visual-monitor/src/main/resources/bootstrap.yml
index 10e7fb8..ae51cac 100644
--- a/cloud-visual/cloud-visual-monitor/src/main/resources/bootstrap.yml
+++ b/cloud-visual/cloud-visual-monitor/src/main/resources/bootstrap.yml
@@ -4,7 +4,7 @@ server:
# nacos线上地址
nacos:
- addr: 127.0.0.1:8848
+ addr: 159.75.188.178:8848
user-name: nacos
password: nacos
namespace: eight