From 1a3b267685aa747621633f7f548901b03e08a2d1 Mon Sep 17 00:00:00 2001
From: chentaisen <14615430+chentaisen@user.noreply.gitee.com>
Date: Sun, 29 Sep 2024 01:29:47 +0800
Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
cloud-common/cloud-common-kafka/pom.xml | 5 +-
.../kafka/config/KafkaConsumerConfig.java | 54 ++++
.../kafka/config/KafkaProducerConfig.java | 45 ----
.../kafka/config/KafkaProviderConfig.java | 45 ++++
.../kafka/constants/KafkaConstants.java | 2 -
...ot.autoconfigure.AutoConfiguration.imports | 3 +-
cloud-data-processing/pom.xml | 52 ++--
.../data/processing/MyDataApplication.java | 7 +-
.../controller/DataProcessingController.java | 160 ++++++++++++
.../processing/controller/TestController.java | 34 ++-
.../data/processing/domain/IotDbData.java | 37 +++
.../data/processing/domain/KafkaData.java | 33 +++
.../data/processing/domain/StrategyEums.java | 62 +++++
.../data/processing/domain/req/TestReq.java | 28 +++
.../data/processing/domain/resp/TestResp.java | 24 ++
.../kafka/KafkaConsumerService.java | 43 +++-
.../mapper/DataProcessingMapper.java | 37 +++
.../service/DataProcessingService.java | 63 +++++
.../impl/DataProcessingServiceImpl.java | 70 ++++++
.../processing/strategy/StrategyHandler.java | 22 ++
.../strategy/abstractStrategyRouter.java | 56 +++++
.../strategy/branch/OneBranchStrategy.java | 38 +++
.../strategy/branch/TwoBranchStrategy.java | 38 +++
.../strategy/leaves/FourLeavesStrategy.java | 27 ++
.../strategy/leaves/OneLeavesStrategy.java | 31 +++
.../strategy/leaves/ThreeLeavesStrategy.java | 27 ++
.../strategy/leaves/TwoLeavesStrategy.java | 27 ++
.../strategy/root/RootStrategy.java | 36 +++
.../src/main/resources/bootstrap.yml | 17 ++
.../processing/DataProcessingMapper.xml | 26 ++
cloud-modules/cloud-breakdown/pom.xml | 5 +
cloud-modules/cloud-modules-car/pom.xml | 4 +-
cloud-modules/cloud-modules-carmanage/pom.xml | 4 +
.../controller/SysCarMessageController.java | 58 ++---
.../com/muyu/car/domain/SysCarMessage.java | 4 +-
.../SysMessageResp.java} | 5 +-
.../muyu/car/mapper/SysCarMessageMapper.java | 4 +-
.../car/service/ISysCarMessageService.java | 4 +-
.../impl/SysCarMessageServiceImpl.java | 6 +-
.../src/main/resources/bootstrap.yml | 4 +-
.../mapper/car/SysCarMessageMapper.xml | 2 +-
.../pom.xml | 42 +++-
.../muyu/parsing/CloudParsingApplication.java | 22 ++
.../controller/SysCarMessageController.java | 231 ++++++++++++++++++
.../com/muyu/parsing/domain/KafKaData.java | 26 ++
.../muyu/parsing/domain/SysCarMessage.java | 67 +++++
.../parsing/domain/resp/SysMessageResp.java | 22 ++
.../parsing/mapper/SysCarMessageMapper.java | 20 ++
.../main/java/com/muyu/parsing/mqtt/Demo.java | 61 +++++
.../java/com/muyu/parsing/mqtt/MqttTest.java | 192 +++++++++++++++
.../muyu/parsing/remote/CarMessageRemote.java | 19 ++
.../service/ISysCarMessageService.java | 44 ++++
.../impl/SysCarMessageServiceImpl.java | 97 ++++++++
.../src/main/resources/banner.txt | 2 +
.../src/main/resources/bootstrap.yml | 77 ++++++
.../src/main/resources/logback/dev.xml | 74 ++++++
.../src/main/resources/logback/prod.xml | 81 ++++++
.../src/main/resources/logback/test.xml | 81 ++++++
.../zhangyi/rail/CloudRailApplication.java | 7 -
.../rail/controller/RailController.java | 4 -
.../com/zhangyi/rail/domain/SysFenceRail.java | 38 ---
.../cloud-modules-system-saas/pom.xml | 4 +-
.../warning/controller/WxTestController.java | 1 +
cloud-modules/cloud-modules-warn/pom.xml | 3 +
cloud-modules/pom.xml | 2 +-
65 files changed, 2277 insertions(+), 189 deletions(-)
create mode 100644 cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/config/KafkaConsumerConfig.java
delete mode 100644 cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/config/KafkaProducerConfig.java
create mode 100644 cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/config/KafkaProviderConfig.java
create mode 100644 cloud-data-processing/src/main/java/com/muyu/data/processing/controller/DataProcessingController.java
create mode 100644 cloud-data-processing/src/main/java/com/muyu/data/processing/domain/IotDbData.java
create mode 100644 cloud-data-processing/src/main/java/com/muyu/data/processing/domain/KafkaData.java
create mode 100644 cloud-data-processing/src/main/java/com/muyu/data/processing/domain/StrategyEums.java
create mode 100644 cloud-data-processing/src/main/java/com/muyu/data/processing/domain/req/TestReq.java
create mode 100644 cloud-data-processing/src/main/java/com/muyu/data/processing/domain/resp/TestResp.java
create mode 100644 cloud-data-processing/src/main/java/com/muyu/data/processing/mapper/DataProcessingMapper.java
create mode 100644 cloud-data-processing/src/main/java/com/muyu/data/processing/service/DataProcessingService.java
create mode 100644 cloud-data-processing/src/main/java/com/muyu/data/processing/service/impl/DataProcessingServiceImpl.java
create mode 100644 cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/StrategyHandler.java
create mode 100644 cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/abstractStrategyRouter.java
create mode 100644 cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/branch/OneBranchStrategy.java
create mode 100644 cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/branch/TwoBranchStrategy.java
create mode 100644 cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/leaves/FourLeavesStrategy.java
create mode 100644 cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/leaves/OneLeavesStrategy.java
create mode 100644 cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/leaves/ThreeLeavesStrategy.java
create mode 100644 cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/leaves/TwoLeavesStrategy.java
create mode 100644 cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/root/RootStrategy.java
create mode 100644 cloud-data-processing/src/main/resources/mapper/processing/DataProcessingMapper.xml
rename cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/domain/{VO/SysMessageVO.java => resp/SysMessageResp.java} (78%)
rename cloud-modules/{cloud-modules-rail => cloud-modules-parsing}/pom.xml (70%)
create mode 100644 cloud-modules/cloud-modules-parsing/src/main/java/com/muyu/parsing/CloudParsingApplication.java
create mode 100644 cloud-modules/cloud-modules-parsing/src/main/java/com/muyu/parsing/controller/SysCarMessageController.java
create mode 100644 cloud-modules/cloud-modules-parsing/src/main/java/com/muyu/parsing/domain/KafKaData.java
create mode 100644 cloud-modules/cloud-modules-parsing/src/main/java/com/muyu/parsing/domain/SysCarMessage.java
create mode 100644 cloud-modules/cloud-modules-parsing/src/main/java/com/muyu/parsing/domain/resp/SysMessageResp.java
create mode 100644 cloud-modules/cloud-modules-parsing/src/main/java/com/muyu/parsing/mapper/SysCarMessageMapper.java
create mode 100644 cloud-modules/cloud-modules-parsing/src/main/java/com/muyu/parsing/mqtt/Demo.java
create mode 100644 cloud-modules/cloud-modules-parsing/src/main/java/com/muyu/parsing/mqtt/MqttTest.java
create mode 100644 cloud-modules/cloud-modules-parsing/src/main/java/com/muyu/parsing/remote/CarMessageRemote.java
create mode 100644 cloud-modules/cloud-modules-parsing/src/main/java/com/muyu/parsing/service/ISysCarMessageService.java
create mode 100644 cloud-modules/cloud-modules-parsing/src/main/java/com/muyu/parsing/service/impl/SysCarMessageServiceImpl.java
create mode 100644 cloud-modules/cloud-modules-parsing/src/main/resources/banner.txt
create mode 100644 cloud-modules/cloud-modules-parsing/src/main/resources/bootstrap.yml
create mode 100644 cloud-modules/cloud-modules-parsing/src/main/resources/logback/dev.xml
create mode 100644 cloud-modules/cloud-modules-parsing/src/main/resources/logback/prod.xml
create mode 100644 cloud-modules/cloud-modules-parsing/src/main/resources/logback/test.xml
delete mode 100644 cloud-modules/cloud-modules-rail/src/main/java/com/zhangyi/rail/CloudRailApplication.java
delete mode 100644 cloud-modules/cloud-modules-rail/src/main/java/com/zhangyi/rail/controller/RailController.java
delete mode 100644 cloud-modules/cloud-modules-rail/src/main/java/com/zhangyi/rail/domain/SysFenceRail.java
diff --git a/cloud-common/cloud-common-kafka/pom.xml b/cloud-common/cloud-common-kafka/pom.xml
index f4b987e..44dbe21 100644
--- a/cloud-common/cloud-common-kafka/pom.xml
+++ b/cloud-common/cloud-common-kafka/pom.xml
@@ -25,8 +25,9 @@
- org.springframework.kafka
- spring-kafka
+ org.apache.kafka
+ kafka-clients
+ 3.0.0
diff --git a/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/config/KafkaConsumerConfig.java b/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/config/KafkaConsumerConfig.java
new file mode 100644
index 0000000..21092d2
--- /dev/null
+++ b/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/config/KafkaConsumerConfig.java
@@ -0,0 +1,54 @@
+package com.muyu.common.kafka.config;
+
+import com.muyu.common.kafka.constants.KafkaConstants;
+import org.apache.kafka.clients.consumer.KafkaConsumer;
+import org.apache.kafka.common.serialization.Deserializer;
+import org.apache.kafka.common.serialization.StringDeserializer;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.SpringBootConfiguration;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * kafka 消息的消费者 配置类
+ */
+@Configuration
+public class KafkaConsumerConfig {
+
+ @Bean
+ public KafkaConsumer kafkaConsumer() {
+ Map configs = new HashMap<>();
+ //kafka服务端的IP和端口,格式:(ip:port)
+ configs.put("bootstrap.servers", "47.116.173.119:9092");
+ //开启consumer的偏移量(offset)自动提交到Kafka
+ configs.put("enable.auto.commit", true);
+ //consumer的偏移量(offset) 自动提交的时间间隔,单位毫秒
+ configs.put("auto.commit.interval", 5000);
+ //在Kafka中没有初始化偏移量或者当前偏移量不存在情况
+ //earliest, 在偏移量无效的情况下, 自动重置为最早的偏移量
+ //latest, 在偏移量无效的情况下, 自动重置为最新的偏移量
+ //none, 在偏移量无效的情况下, 抛出异常.
+ configs.put("auto.offset.reset", "latest");
+ //请求阻塞的最大时间(毫秒)
+ configs.put("fetch.max.wait", 500);
+ //请求应答的最小字节数
+ configs.put("fetch.min.size", 1);
+ //心跳间隔时间(毫秒)
+ configs.put("heartbeat-interval", 3000);
+ //一次调用poll返回的最大记录条数
+ configs.put("max.poll.records", 500);
+ //指定消费组
+ configs.put("group.id", KafkaConstants.KafkaGrop);
+ //指定key使用的反序列化类
+ Deserializer keyDeserializer = new StringDeserializer();
+ //指定value使用的反序列化类
+ Deserializer valueDeserializer = new StringDeserializer();
+ //创建Kafka消费者
+ KafkaConsumer kafkaConsumer = new KafkaConsumer(configs, keyDeserializer, valueDeserializer);
+ return kafkaConsumer;
+ }
+
+}
diff --git a/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/config/KafkaProducerConfig.java b/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/config/KafkaProducerConfig.java
deleted file mode 100644
index 22dc7b8..0000000
--- a/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/config/KafkaProducerConfig.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.muyu.common.kafka.config;
-
-
-import org.apache.kafka.clients.producer.ProducerConfig;
-import org.apache.kafka.common.serialization.StringSerializer;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.kafka.core.KafkaTemplate;
-import org.springframework.kafka.core.ProducerFactory;
-import org.springframework.kafka.core.DefaultKafkaProducerFactory;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @Author: 胡杨
- * @Name: KafkaProducerConfig
- * @Description: kafka生产者配置类
- * @CreatedDate: 2024/9/27 下午7:38
- * @FilePath: com.muyu.common.kafka.config
- * kafka生产者配置类
- */
-@Configuration
-public class KafkaProducerConfig {
-
- @Bean
- public ProducerFactory producerFactory() {
- Map configProps = new HashMap<>();
- configProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "47.116.173.119:9092");
- configProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
- configProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
- // 添加事务相关的配置
- configProps.put(ProducerConfig.ENABLE_IDEMPOTENCE_CONFIG, true);
- configProps.put(ProducerConfig.ACKS_CONFIG, "all");
- configProps.put(ProducerConfig.RETRIES_CONFIG, Integer.MAX_VALUE);
- configProps.put(ProducerConfig.TRANSACTIONAL_ID_CONFIG, "transactionalId");
-
- return new DefaultKafkaProducerFactory<>(configProps);
- }
-
- @Bean
- public KafkaTemplate kafkaTemplate() {
- return new KafkaTemplate<>(producerFactory());
- }
-}
diff --git a/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/config/KafkaProviderConfig.java b/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/config/KafkaProviderConfig.java
new file mode 100644
index 0000000..07b56d3
--- /dev/null
+++ b/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/config/KafkaProviderConfig.java
@@ -0,0 +1,45 @@
+package com.muyu.common.kafka.config;
+
+import org.apache.kafka.clients.producer.KafkaProducer;
+import org.apache.kafka.common.serialization.Serializer;
+import org.apache.kafka.common.serialization.StringSerializer;
+import org.springframework.boot.SpringBootConfiguration;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * kafka 消息的生产者 配置类
+ */
+@Configuration
+public class KafkaProviderConfig {
+
+ @Bean
+ public KafkaProducer kafkaProducer() {
+ Map configs = new HashMap<>();
+ //#kafka服务端的IP和端口,格式:(ip:port)
+ configs.put("bootstrap.servers", "47.116.173.119:9092");
+ //客户端发送服务端失败的重试次数
+ configs.put("retries", 2);
+ //多个记录被发送到同一个分区时,生产者将尝试将记录一起批处理成更少的请求.
+ //此设置有助于提高客户端和服务器的性能,配置控制默认批量大小(以字节为单位)
+ configs.put("batch.size", 16384);
+ //生产者可用于缓冲等待发送到服务器的记录的总内存字节数(以字节为单位)
+ configs.put("buffer-memory", 33554432);
+ //生产者producer要求leader节点在考虑完成请求之前收到的确认数,用于控制发送记录在服务端的持久化
+ //acks=0,设置为0,则生产者producer将不会等待来自服务器的任何确认.该记录将立即添加到套接字(socket)缓冲区并视为已发送.在这种情况下,无法保证服务器已收到记录,并且重试配置(retries)将不会生效(因为客户端通常不会知道任何故障),每条记录返回的偏移量始终设置为-1.
+ //acks=1,设置为1,leader节点会把记录写入本地日志,不需要等待所有follower节点完全确认就会立即应答producer.在这种情况下,在follower节点复制前,leader节点确认记录后立即失败的话,记录将会丢失.
+ //acks=all,acks=-1,leader节点将等待所有同步复制副本完成再确认记录,这保证了只要至少有一个同步复制副本存活,记录就不会丢失.
+ configs.put("acks", "-1");
+ //指定key使用的序列化类
+ Serializer keySerializer = new StringSerializer();
+ //指定value使用的序列化类
+ Serializer valueSerializer = new StringSerializer();
+ //创建Kafka生产者
+ KafkaProducer kafkaProducer = new KafkaProducer(configs, keySerializer, valueSerializer);
+ return kafkaProducer;
+ }
+
+}
diff --git a/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/constants/KafkaConstants.java b/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/constants/KafkaConstants.java
index 2b89f3c..d4c3d13 100644
--- a/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/constants/KafkaConstants.java
+++ b/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/constants/KafkaConstants.java
@@ -1,7 +1,5 @@
package com.muyu.common.kafka.constants;
-import org.springframework.beans.factory.annotation.Value;
-
/**
* @Author: 胡杨
* @date: 2024/7/10
diff --git a/cloud-common/cloud-common-kafka/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-common/cloud-common-kafka/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index cd59fdb..f4a1fdb 100644
--- a/cloud-common/cloud-common-kafka/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/cloud-common/cloud-common-kafka/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -1 +1,2 @@
-com.muyu.common.kafka.config.KafkaProducerConfig
+com.muyu.common.kafka.config.KafkaConsumerConfig
+com.muyu.common.kafka.config.KafkaProviderConfig
diff --git a/cloud-data-processing/pom.xml b/cloud-data-processing/pom.xml
index 4d65352..61b83da 100644
--- a/cloud-data-processing/pom.xml
+++ b/cloud-data-processing/pom.xml
@@ -11,6 +11,10 @@
cloud-data-processing
+
+ cloud-data-processing 数据处理模块
+
+
17
17
@@ -63,35 +67,49 @@
mysql-connector-j
-
-
- com.muyu
- cloud-common-datasource
-
-
com.muyu
cloud-common-datascope
-
- com.muyu
- cloud-common-log
+ org.apache.iotdb
+ iotdb-jdbc
+ 0.12.1
+
+
+ com.alibaba
+ druid-spring-boot-starter
+ 1.1.9
-
+
- com.muyu
- cloud-common-api-doc
+ org.mybatis
+ mybatis-spring
+ 3.0.3
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+ 3.5.5
-
-
- com.muyu
- cloud-common-xxl
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/MyDataApplication.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/MyDataApplication.java
index 63c774a..e62b6c0 100644
--- a/cloud-data-processing/src/main/java/com/muyu/data/processing/MyDataApplication.java
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/MyDataApplication.java
@@ -16,15 +16,12 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
* @FilePath: com.muyu.data.processing
*/
-@EnableCustomConfig
-//@EnableCustomSwagger2
@EnableMyFeignClients
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
+@SpringBootApplication
public class MyDataApplication {
public static void main(String[] args) {
SpringApplication.run(MyDataApplication.class, args);
- System.out.println(KafkaConstants.KafkaGrop);
- System.out.println(KafkaConstants.KafkaTopic);
+
System.out.println("MyData 模块启动成功!");
}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/controller/DataProcessingController.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/controller/DataProcessingController.java
new file mode 100644
index 0000000..7909d7c
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/controller/DataProcessingController.java
@@ -0,0 +1,160 @@
+package com.muyu.data.processing.controller;
+
+import com.muyu.common.core.domain.Result;
+import com.muyu.data.processing.domain.IotDbData;
+import com.muyu.data.processing.service.DataProcessingService;
+
+import javax.annotation.Resource;
+
+import org.springframework.web.bind.annotation.*;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 数据处理控制层
+ *
+ * @Author: 胡杨
+ * @Name: DataProcessing
+ * @Description: 数据处理控制层
+ * @CreatedDate: 2024/9/28 下午3:53
+ * @FilePath: com.muyu.data.processing.controller
+ */
+
+@Slf4j
+@RestController
+@RequestMapping("/DataProcessing")
+public class DataProcessingController {
+ @Resource
+ private DataProcessingService service;
+
+
+
+ @RequestMapping(value = "/createCarData", method = RequestMethod.POST)
+// @Transactional(rollbackFor = Exception.class)
+ public Result createCarData(@RequestBody IotDbData data) {
+ try {
+ data.setTimestamp(System.currentTimeMillis());
+ data.setCreateTime(new Date());
+ Integer v = service.createCarData(data);
+ if (v == -1) {
+ return Result.success(v);
+ } else {
+ return Result.error(false);
+ }
+ } catch (Exception e) {
+ log.info("创建车辆报文记录失败!" + e);
+ return Result.error(false);
+ }
+ }
+
+
+ /**
+ * 更新操作 其实也是插入操作 时间戳相同 只和时间戳相关
+ * @param data
+ * @return
+ */
+ @RequestMapping(value = "/updateCarData", method = RequestMethod.POST)
+ public Result updateCarData(@RequestBody IotDbData data) {
+ try {
+ data.setTimestamp(System.currentTimeMillis());
+ data.setCreateTime(new Date());
+ Integer v = service.updateCarData(data);
+ if (v == -1) {
+ return Result.success(v);
+ } else {
+ return Result.error(false);
+ }
+ } catch (Exception e) {
+ log.info("更新车辆报文记录失败!" + e);
+ return Result.error(false);
+ }
+ }
+
+
+ /**
+ * 删除操作 要将时间戳的加号变成%2B
+ * @param timestamp
+ * @return
+ */
+ @RequestMapping(value = "/deleteCarData", method = RequestMethod.GET)
+ public Result deleteCarData(String timestamp) {
+ try {
+ Integer v = service.deleteCarData(timestamp);
+ if (v == -1) {
+ return Result.success(v);
+ } else {
+ return Result.error(false);
+ }
+ } catch (Exception e) {
+ log.info("删除车辆报文记录失败!" + e);
+ return Result.error(false);
+ }
+ }
+
+
+ /**
+ * 创建组 也就是相当于数据库
+ * @return
+ */
+ @RequestMapping(value = "/createCarDataGroup", method = RequestMethod.POST)
+ public Result createCarDataGroup() {
+ try {
+ Integer v = service.createCarDataGroup();
+ if (v > 0) {
+ return Result.success(v);
+ } else {
+ return Result.error(false);
+ }
+ } catch (Exception e) {
+ log.info("创建车辆报文记录组失败!" + e);
+ return Result.error(false);
+ }
+ }
+
+ /**
+ * 查询所有车辆报文记录数据
+ * @return
+ */
+ @RequestMapping(value = "/queryCarData", method = RequestMethod.GET)
+ public Result queryCarData() {
+ try {
+ List v = service.queryCarData();
+ if (v.size() > 0) {
+ v.forEach(x -> {
+ System.out.println(x.toString());
+ });
+ return Result.success(v);
+ } else {
+ return Result.error(false);
+ }
+ } catch (Exception e) {
+ log.info("查询车辆报文记录组失败!" + e);
+ return Result.error(false);
+ }
+ }
+
+ /**
+ * 查看数据库有多少组
+ *
+ * @return
+ */
+ @RequestMapping(value = "/selectStorageGroup", method = RequestMethod.GET)
+ public Result selectStorageGroup() {
+ try {
+ List v = service.selectStorageGroup();
+ if (v.size() > 0) {
+ v.forEach(x -> {
+ System.out.println("group------------------" + x.toString());
+ });
+ return Result.success(v);
+ } else {
+ return Result.error(false);
+ }
+ } catch (Exception e) {
+ log.info("查询组失败!" + e);
+ return Result.error(false);
+ }
+ }
+}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/controller/TestController.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/controller/TestController.java
index 55320b8..48602df 100644
--- a/cloud-data-processing/src/main/java/com/muyu/data/processing/controller/TestController.java
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/controller/TestController.java
@@ -1,16 +1,21 @@
package com.muyu.data.processing.controller;
+import com.alibaba.fastjson.JSONObject;
import com.muyu.common.kafka.constants.KafkaConstants;
+import com.muyu.data.processing.domain.IotDbData;
+import com.muyu.data.processing.domain.req.TestReq;
+import com.muyu.data.processing.domain.resp.TestResp;
+import com.muyu.data.processing.strategy.root.RootStrategy;
import jakarta.annotation.Resource;
-import org.springframework.kafka.core.KafkaTemplate;
-import org.springframework.messaging.MessageHeaders;
+import org.apache.kafka.clients.producer.KafkaProducer;
+import org.apache.kafka.clients.producer.ProducerRecord;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.messaging.Message;
/**
+ * 测试控制层
* @Author: 胡杨
* @Name: Test
* @Description:
@@ -22,20 +27,35 @@ import org.springframework.messaging.Message;
@RequestMapping("/Test")
public class TestController {
@Resource
- private KafkaTemplate kafkaTemplate;
+ private KafkaProducer kafkaProducer;
@GetMapping("/testKafka")
- @Transactional
public void sendMsg(@RequestParam("msg") String msg) {
try {
- kafkaTemplate.send(KafkaConstants.KafkaTopic, msg).get();
+ IotDbData iotDbData = IotDbData.builder()
+ .timestamp(System.currentTimeMillis())
+ .vin("vin666")
+ .key("test")
+ .label("测试数据")
+ .value("Kafka测试")
+ .type("String")
+ .build();
+ String jsonString = JSONObject.toJSONString(iotDbData);
+ ProducerRecord producerRecord = new ProducerRecord<>(KafkaConstants.KafkaTopic, jsonString);
+ kafkaProducer.send(producerRecord);
System.out.println("同步消息发送成功: " + msg);
} catch (Exception e) {
e.printStackTrace();
System.out.println("同步消息发送失败: " + msg);
}
-
}
+ @Resource
+ private RootStrategy rootStrategy;
+
+ @PostMapping("/testStrategy")
+ public TestResp testStrategy(@RequestBody TestReq testReq) {
+ return rootStrategy.applyStrategy(testReq);
+ }
}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/domain/IotDbData.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/domain/IotDbData.java
new file mode 100644
index 0000000..249e952
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/domain/IotDbData.java
@@ -0,0 +1,37 @@
+package com.muyu.data.processing.domain;
+
+import com.muyu.common.core.web.domain.BaseEntity;
+import lombok.*;
+import lombok.experimental.SuperBuilder;
+
+import java.util.Date;
+
+/**
+ * 报文信息 时序实体类
+ *
+ * @Author: 胡杨
+ * @Name: DataProcessing
+ * @Description: 报文信息 时序实体类
+ * @CreatedDate: 2024/9/28 下午3:48
+ * @FilePath: com.muyu.data.processing.domain
+ */
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+@ToString
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+public class IotDbData extends BaseEntity {
+ private long timestamp;
+
+ private String vin;
+
+ private String key;
+ private String label;
+ private String value;
+ private String type;
+
+
+}
+
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/domain/KafkaData.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/domain/KafkaData.java
new file mode 100644
index 0000000..ecb45f6
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/domain/KafkaData.java
@@ -0,0 +1,33 @@
+package com.muyu.data.processing.domain;
+
+import com.muyu.common.core.web.domain.BaseEntity;
+import lombok.*;
+import lombok.experimental.SuperBuilder;
+
+import java.io.Serializable;
+
+/**
+ * 报文信息 时序实体类
+ *
+ * @Author: 胡杨
+ * @Name: DataProcessing
+ * @Description: 报文信息 时序实体类
+ * @CreatedDate: 2024/9/28 下午3:48
+ * @FilePath: com.muyu.data.processing.domain
+ */
+
+@Data
+@ToString
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class KafkaData implements Serializable {
+
+ private String key;
+ private String label;
+ private String value;
+ private String type;
+
+
+}
+
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/domain/StrategyEums.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/domain/StrategyEums.java
new file mode 100644
index 0000000..b018e6c
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/domain/StrategyEums.java
@@ -0,0 +1,62 @@
+package com.muyu.data.processing.domain;
+
+import com.muyu.data.processing.domain.req.TestReq;
+import com.muyu.data.processing.domain.resp.TestResp;
+import com.muyu.data.processing.strategy.StrategyHandler;
+import com.muyu.data.processing.strategy.branch.OneBranchStrategy;
+import com.muyu.data.processing.strategy.branch.TwoBranchStrategy;
+import com.muyu.data.processing.strategy.leaves.FourLeavesStrategy;
+import com.muyu.data.processing.strategy.leaves.OneLeavesStrategy;
+import com.muyu.data.processing.strategy.leaves.ThreeLeavesStrategy;
+import com.muyu.data.processing.strategy.leaves.TwoLeavesStrategy;
+import lombok.Getter;
+
+import java.util.Arrays;
+
+/**
+ * 策略选择枚举
+ *
+ * @Author: 胡杨
+ * @Name: StrategyEums
+ * @Description: 策略选择枚举
+ * @CreatedDate: 2024/9/28 上午11:59
+ * @FilePath: com.muyu.data.processing.domain
+ */
+
+@Getter
+public enum StrategyEums {
+ TEST1("加减法", new OneBranchStrategy()),
+ TEST2("乘除法", new TwoBranchStrategy()),
+ TEST1_1("加法", new OneLeavesStrategy()),
+ TEST1_2("减法", new TwoLeavesStrategy()),
+ TEST2_1("乘法", new ThreeLeavesStrategy()),
+ TEST2_2("除法", new FourLeavesStrategy());
+
+ private final String code;
+ private final StrategyHandler info;
+
+ StrategyEums(String code, StrategyHandler info) {
+ this.code = code;
+ this.info = info;
+ }
+
+ /**
+ * 鉴别参数是否是枚举的值
+ *
+ * @param code 需鉴别参数
+ * @return 如果存在返回结果turn, 否则返回false
+ */
+ public static boolean isCode(String code) {
+ return Arrays.stream(values())
+ .map(StrategyEums::getCode)
+ .anyMatch(c -> c.equals(code));
+ }
+
+ public static StrategyHandler getStrategy(String code) {
+ return Arrays.stream(values())
+ .filter(c -> c.getCode().equals(code))
+ .findFirst()
+ .orElseThrow(() -> new IllegalArgumentException("参数错误"))
+ .getInfo();
+ }
+}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/domain/req/TestReq.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/domain/req/TestReq.java
new file mode 100644
index 0000000..7a70bd4
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/domain/req/TestReq.java
@@ -0,0 +1,28 @@
+package com.muyu.data.processing.domain.req;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 测试入参
+ *
+ * @Author: 胡杨
+ * @Name: TestReq
+ * @Description: 测试入参
+ * @CreatedDate: 2024/9/28 上午10:40
+ * @FilePath: com.muyu.data.processing.domain.req
+ */
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class TestReq {
+ private Integer one;
+ private Integer two;
+
+ private String type1;
+ private String type2;
+}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/domain/resp/TestResp.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/domain/resp/TestResp.java
new file mode 100644
index 0000000..8f743e0
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/domain/resp/TestResp.java
@@ -0,0 +1,24 @@
+package com.muyu.data.processing.domain.resp;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 测试出参
+ *
+ * @Author: 胡杨
+ * @Name: TestResp
+ * @Description: 测试出参
+ * @CreatedDate: 2024/9/28 上午10:40
+ * @FilePath: com.muyu.data.processing.domain.req.resp
+ */
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class TestResp {
+ private String resp;
+}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/kafka/KafkaConsumerService.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/kafka/KafkaConsumerService.java
index 6de9775..51857ab 100644
--- a/cloud-data-processing/src/main/java/com/muyu/data/processing/kafka/KafkaConsumerService.java
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/kafka/KafkaConsumerService.java
@@ -1,12 +1,24 @@
package com.muyu.data.processing.kafka;
+import cn.hutool.core.thread.ThreadUtil;
+import cn.hutool.json.JSONUtil;
+import com.alibaba.nacos.shaded.com.google.common.collect.Lists;
import com.muyu.common.kafka.constants.KafkaConstants;
-import io.swagger.v3.oas.annotations.servers.Server;
+import com.muyu.data.processing.domain.IotDbData;
+import com.muyu.data.processing.domain.KafkaData;
+import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.kafka.annotation.KafkaListener;
+import org.apache.kafka.clients.consumer.ConsumerRecord;
+import org.apache.kafka.clients.consumer.ConsumerRecords;
+import org.apache.kafka.clients.consumer.KafkaConsumer;
+import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Component;
+import java.time.Duration;
+import java.util.Collection;
+import java.util.List;
+
/**
* @Author: 胡杨
* @Name: KafkaConsumerService
@@ -17,10 +29,29 @@ import org.springframework.stereotype.Component;
@Slf4j
@Component
-public class KafkaConsumerService {
+public class KafkaConsumerService implements InitializingBean {
+ @Resource
+ private KafkaConsumer kafkaConsumer;
- @KafkaListener(topics = {KafkaConstants.KafkaTopic}, groupId = KafkaConstants.KafkaGrop)
- public void listen(String msg) {
- log.info("kafka 消费消息:{}", msg);
+ @Override
+ public void afterPropertiesSet() throws Exception {
+ Thread thread = new Thread(() -> {
+ log.info("启动线程监听Topic: {}", KafkaConstants.KafkaTopic);
+ ThreadUtil.sleep(1000);
+ Collection topics = Lists.newArrayList(KafkaConstants.KafkaTopic);
+ kafkaConsumer.subscribe(topics);
+ while (true) {
+ ConsumerRecords consumerRecords = kafkaConsumer.poll(Duration.ofMillis(1000));
+ for (ConsumerRecord consumerRecord : consumerRecords) {
+ //1.从ConsumerRecord中获取消费数据
+ String originalMsg = (String) consumerRecord.value();
+ log.info("从Kafka中消费的原始数据: " + originalMsg);
+ //2.把消费数据转换为DTO对象
+ List kafkaDataList = JSONUtil.toList(originalMsg, KafkaData.class);
+ log.info("消费数据转换为DTO对象: " + kafkaDataList.toString());
+ }
+ }
+ });
+ thread.start();
}
}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/mapper/DataProcessingMapper.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/mapper/DataProcessingMapper.java
new file mode 100644
index 0000000..4482b98
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/mapper/DataProcessingMapper.java
@@ -0,0 +1,37 @@
+package com.muyu.data.processing.mapper;
+
+import com.muyu.data.processing.domain.IotDbData;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * 数据处理持久层
+ *
+ * @Author: 胡杨
+ * @Name: DataPeocessingMapper
+ * @Description: 数据处理持久层
+ * @CreatedDate: 2024/9/28 下午3:47
+ * @FilePath: com.muyu.data.processing.mapper
+ */
+
+@Repository
+@Mapper
+public interface DataProcessingMapper{
+
+ Integer createCarData(IotDbData data);
+
+ Integer updateCarData(IotDbData data);
+
+ Integer deleteCarData(String timestamp);
+
+ Integer createCarDataGroup();
+
+ Integer createCarDataGroupElement();
+
+// List queryCarData();
+
+ List selectStorageGroup();
+
+}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/service/DataProcessingService.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/service/DataProcessingService.java
new file mode 100644
index 0000000..937bb17
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/service/DataProcessingService.java
@@ -0,0 +1,63 @@
+package com.muyu.data.processing.service;
+
+
+import com.muyu.data.processing.domain.IotDbData;
+
+import java.util.List;
+
+/**
+ * 数据处理业务层
+ *
+ * @Author: 胡杨
+ * @Name: DataProcessing
+ * @Description: 数据处理业务层
+ * @CreatedDate: 2024/9/28 下午3:52
+ * @FilePath: com.muyu.data.processing.server
+ */
+
+public interface DataProcessingService{
+ /**
+ * 创建车辆报文记录
+ *
+ * @param data 数据
+ * @return {@link Integer }
+ */
+ Integer createCarData(IotDbData data);
+
+ /**
+ * 更新车辆报文记录
+ *
+ * @param data 数据
+ * @return {@link Integer }
+ */
+ Integer updateCarData(IotDbData data);
+
+ /**
+ * 删除车辆报文记录
+ *
+ * @param timestamp 时间戳
+ * @return {@link Integer }
+ */
+ Integer deleteCarData(String timestamp);
+
+ /**
+ * 创建车辆报文记录组
+ *
+ * @return {@link Integer }
+ */
+ Integer createCarDataGroup();
+
+ /**
+ * 查询顺序
+ *
+ * @return {@link List }<{@link IotDbData }>
+ */
+ List queryCarData();
+ /**
+ * 选择存储组
+ *
+ * @return {@link List }<{@link String }>
+ */
+ List selectStorageGroup();
+
+}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/service/impl/DataProcessingServiceImpl.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/service/impl/DataProcessingServiceImpl.java
new file mode 100644
index 0000000..7b6139a
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/service/impl/DataProcessingServiceImpl.java
@@ -0,0 +1,70 @@
+package com.muyu.data.processing.service.impl;
+
+
+import javax.annotation.Resource;
+
+import com.muyu.data.processing.domain.IotDbData;
+import org.springframework.stereotype.Service;
+import lombok.extern.slf4j.Slf4j;
+import com.muyu.data.processing.mapper.DataProcessingMapper;
+import com.muyu.data.processing.service.DataProcessingService;
+
+import java.util.List;
+
+/**
+ * 数据处理实现层
+ *
+ * @Author: 胡杨
+ * @Name: DataProcessing
+ * @Description: 数据处理实现层
+ * @CreatedDate: 2024/9/28 下午3:52
+ * @FilePath: com.muyu.data.processing.server.impl
+ */
+
+@Slf4j
+@Service
+public class DataProcessingServiceImpl implements DataProcessingService {
+ @Resource
+ private DataProcessingMapper mapper;
+
+ @Override
+ public Integer createCarData(IotDbData data) {
+ return mapper.createCarData(data);
+ }
+
+ @Override
+ public Integer updateCarData(IotDbData data) {
+ return mapper.updateCarData(data);
+ }
+
+ @Override
+ public Integer deleteCarData(String timestamp) {
+ return mapper.deleteCarData(timestamp);
+ }
+
+ @Override
+ public Integer createCarDataGroup() {
+ try {
+ Integer flag = mapper.createCarDataGroup();
+ Integer flagEle = mapper.createCarDataGroupElement();
+ System.out.println("\n\t执行sql数量为{}" + flagEle);
+ return flagEle;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return 0;
+ }
+
+ @Override
+ public List queryCarData() {
+// return mapper.queryCarData();
+ return null;
+ }
+
+ @Override
+ public List selectStorageGroup() {
+ return mapper.selectStorageGroup();
+ }
+
+
+}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/StrategyHandler.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/StrategyHandler.java
new file mode 100644
index 0000000..99aa302
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/StrategyHandler.java
@@ -0,0 +1,22 @@
+package com.muyu.data.processing.strategy;
+
+/**
+ * 策略控制者接口
+ * @Author: 胡杨
+ * @Name: StrategyHandler
+ * @Description: 策略控制者接口
+ * @CreatedDate: 2024/9/28 上午9:35
+ * @FilePath: com.muyu.data.processing.strategy
+ */
+public interface StrategyHandler {
+
+ @SuppressWarnings("rawtypes")
+ StrategyHandler DEFAULT = t -> null;
+
+ /**
+ * 执行方法
+ * @param t 入参
+ * @return 返回结果
+ */
+ R apply(T t);
+}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/abstractStrategyRouter.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/abstractStrategyRouter.java
new file mode 100644
index 0000000..4c3b820
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/abstractStrategyRouter.java
@@ -0,0 +1,56 @@
+package com.muyu.data.processing.strategy;
+
+import jakarta.annotation.PostConstruct;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.util.Objects;
+/**
+ * 抽象策略路由
+ * @Author: 胡杨
+ * @Name: abstractStrategyRouter
+ * @Description: 抽象策略路由
+ * @CreatedDate: 2024/9/28 上午9:26
+ * @FilePath: com.muyu.data.processing.strategy
+ */
+@Slf4j
+@Component
+public abstract class abstractStrategyRouter {
+
+ /**
+ * 策略映射器, 指定入参与出参以决定策略处理者
+ * @param 策略入参
+ * @param 策略出参
+ */
+ public interface StrategyMapper{
+ // 通过入参获取对应策略处理方法,使用Map实现
+ StrategyHandler getHandler(T param);
+ }
+
+ /**
+ * 抽象注册方法
+ * @return
+ */
+ protected abstract StrategyMapper registerStrategy();
+
+ /**
+ * 默认策略处理者
+ */
+ @SuppressWarnings("unchecked")
+ private StrategyHandler defaultStrategyHandler = StrategyHandler.DEFAULT;
+
+
+ /**
+ * 选择策略处理者
+ * @param param 入参
+ * @return 策略处理结果
+ */
+ public R applyStrategy(T param) {
+ final StrategyHandler strategyHandler = registerStrategy().getHandler(param);
+ if (strategyHandler != null) {
+ return strategyHandler.apply(param);
+ }
+ // 使用默认策略处理者
+ return defaultStrategyHandler.apply(param);
+ }
+}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/branch/OneBranchStrategy.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/branch/OneBranchStrategy.java
new file mode 100644
index 0000000..aef6611
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/branch/OneBranchStrategy.java
@@ -0,0 +1,38 @@
+package com.muyu.data.processing.strategy.branch;
+
+import com.muyu.data.processing.domain.StrategyEums;
+import com.muyu.data.processing.domain.req.TestReq;
+import com.muyu.data.processing.domain.resp.TestResp;
+import com.muyu.data.processing.strategy.StrategyHandler;
+import com.muyu.data.processing.strategy.abstractStrategyRouter;
+import com.muyu.data.processing.strategy.leaves.FourLeavesStrategy;
+import com.muyu.data.processing.strategy.leaves.OneLeavesStrategy;
+import com.muyu.data.processing.strategy.leaves.ThreeLeavesStrategy;
+import com.muyu.data.processing.strategy.leaves.TwoLeavesStrategy;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * 1号分支策略方法实现
+ *
+ * @Author: 胡杨
+ * @Name: OneBranchStrategy
+ * @Description: 1号叶子策略方法实现
+ * @CreatedDate: 2024/9/28 上午11:50
+ * @FilePath: com.muyu.data.processing.strategy.impl
+ */
+
+@Slf4j
+@Component
+public class OneBranchStrategy extends abstractStrategyRouter implements StrategyHandler {
+ @Override
+ public TestResp apply(TestReq testReq) {
+ log.info("1号分支策略方法实现,参数1:{},参数2:{},执行方法:{}", testReq.getOne(), testReq.getTwo(), testReq.getType2());
+ return applyStrategy(testReq);
+ }
+
+ @Override
+ protected StrategyMapper registerStrategy() {
+ return param -> StrategyEums.getStrategy(param.getType2());
+ }
+}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/branch/TwoBranchStrategy.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/branch/TwoBranchStrategy.java
new file mode 100644
index 0000000..eea73af
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/branch/TwoBranchStrategy.java
@@ -0,0 +1,38 @@
+package com.muyu.data.processing.strategy.branch;
+
+import com.muyu.data.processing.domain.StrategyEums;
+import com.muyu.data.processing.domain.req.TestReq;
+import com.muyu.data.processing.domain.resp.TestResp;
+import com.muyu.data.processing.strategy.StrategyHandler;
+import com.muyu.data.processing.strategy.abstractStrategyRouter;
+import com.muyu.data.processing.strategy.leaves.FourLeavesStrategy;
+import com.muyu.data.processing.strategy.leaves.OneLeavesStrategy;
+import com.muyu.data.processing.strategy.leaves.ThreeLeavesStrategy;
+import com.muyu.data.processing.strategy.leaves.TwoLeavesStrategy;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * 2号分支策略方法实现
+ *
+ * @Author: 胡杨
+ * @Name: TwoBranchStrategy
+ * @Description: 1号叶子策略方法实现
+ * @CreatedDate: 2024/9/28 上午11:50
+ * @FilePath: com.muyu.data.processing.strategy.impl
+ */
+
+@Slf4j
+@Component
+public class TwoBranchStrategy extends abstractStrategyRouter implements StrategyHandler {
+ @Override
+ public TestResp apply(TestReq testReq) {
+ log.info("2号分支策略方法实现,参数1:{},参数2:{},执行方法:{}", testReq.getOne(), testReq.getTwo(), testReq.getType2());
+ return applyStrategy(testReq);
+ }
+
+ @Override
+ protected StrategyMapper registerStrategy() {
+ return param -> StrategyEums.getStrategy(param.getType2());
+ }
+}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/leaves/FourLeavesStrategy.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/leaves/FourLeavesStrategy.java
new file mode 100644
index 0000000..001ec8a
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/leaves/FourLeavesStrategy.java
@@ -0,0 +1,27 @@
+package com.muyu.data.processing.strategy.leaves;
+
+import com.muyu.data.processing.domain.req.TestReq;
+import com.muyu.data.processing.domain.resp.TestResp;
+import com.muyu.data.processing.strategy.StrategyHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * 4号处理者
+ *
+ * @Author: 胡杨
+ * @Name: FourLeavesStrategy
+ * @Description: 4号处理者
+ * @CreatedDate: 2024/9/28 上午11:54
+ * @FilePath: com.muyu.data.processing.strategy.leaves
+ */
+
+@Slf4j
+@Component
+public class FourLeavesStrategy implements StrategyHandler {
+ @Override
+ public TestResp apply(TestReq testReq) {
+ log.info("4号处理者实现,参数1:{},参数2:{},执行方法:{},结果:{}", testReq.getOne(), testReq.getTwo(), testReq.getType2(), (testReq.getOne()*1.0/testReq.getTwo()));
+ return new TestResp("执行4号处理者-除法");
+ }
+}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/leaves/OneLeavesStrategy.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/leaves/OneLeavesStrategy.java
new file mode 100644
index 0000000..9599332
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/leaves/OneLeavesStrategy.java
@@ -0,0 +1,31 @@
+package com.muyu.data.processing.strategy.leaves;
+
+import com.muyu.data.processing.domain.req.TestReq;
+import com.muyu.data.processing.domain.resp.TestResp;
+import com.muyu.data.processing.strategy.StrategyHandler;
+import com.muyu.data.processing.strategy.abstractStrategyRouter;
+import com.muyu.data.processing.strategy.branch.OneBranchStrategy;
+import com.muyu.data.processing.strategy.branch.TwoBranchStrategy;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * 1号处理者
+ *
+ * @Author: 胡杨
+ * @Name: OneLeavesStrategy
+ * @Description: 1号处理者
+ * @CreatedDate: 2024/9/28 上午11:54
+ * @FilePath: com.muyu.data.processing.strategy.leaves
+ */
+
+@Slf4j
+@Component
+public class OneLeavesStrategy implements StrategyHandler {
+ @Override
+ public TestResp apply(TestReq testReq) {
+ log.info("1号处理者实现,参数1:{},参数2:{},执行方法:{},结果:{}", testReq.getOne(), testReq.getTwo(), testReq.getType2(), (testReq.getOne()+testReq.getTwo()));
+ return new TestResp("执行1号处理者-加法");
+ }
+
+}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/leaves/ThreeLeavesStrategy.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/leaves/ThreeLeavesStrategy.java
new file mode 100644
index 0000000..c28a57b
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/leaves/ThreeLeavesStrategy.java
@@ -0,0 +1,27 @@
+package com.muyu.data.processing.strategy.leaves;
+
+import com.muyu.data.processing.domain.req.TestReq;
+import com.muyu.data.processing.domain.resp.TestResp;
+import com.muyu.data.processing.strategy.StrategyHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * 3号处理者
+ *
+ * @Author: 胡杨
+ * @Name: ThreeLeavesStrategy
+ * @Description: 3号处理者
+ * @CreatedDate: 2024/9/28 上午11:54
+ * @FilePath: com.muyu.data.processing.strategy.leaves
+ */
+
+@Slf4j
+@Component
+public class ThreeLeavesStrategy implements StrategyHandler {
+ @Override
+ public TestResp apply(TestReq testReq) {
+ log.info("3号处理者实现,参数1:{},参数2:{},执行方法:{},结果:{}", testReq.getOne(), testReq.getTwo(), testReq.getType2(), (testReq.getOne()*testReq.getTwo()));
+ return new TestResp("执行3号处理者-乘法");
+ }
+}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/leaves/TwoLeavesStrategy.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/leaves/TwoLeavesStrategy.java
new file mode 100644
index 0000000..1174ab7
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/leaves/TwoLeavesStrategy.java
@@ -0,0 +1,27 @@
+package com.muyu.data.processing.strategy.leaves;
+
+import com.muyu.data.processing.domain.req.TestReq;
+import com.muyu.data.processing.domain.resp.TestResp;
+import com.muyu.data.processing.strategy.StrategyHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * 2号处理者
+ *
+ * @Author: 胡杨
+ * @Name: TwoLeavesStrategy
+ * @Description: 2号处理者
+ * @CreatedDate: 2024/9/28 上午11:54
+ * @FilePath: com.muyu.data.processing.strategy.leaves
+ */
+
+@Slf4j
+@Component
+public class TwoLeavesStrategy implements StrategyHandler {
+ @Override
+ public TestResp apply(TestReq testReq) {
+ log.info("2号处理者实现,参数1:{},参数2:{},执行方法:{},结果:{}", testReq.getOne(), testReq.getTwo(), testReq.getType2(), (testReq.getOne()-testReq.getTwo()));
+ return new TestResp("执行2号处理者-减法");
+ }
+}
diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/root/RootStrategy.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/root/RootStrategy.java
new file mode 100644
index 0000000..9df6ce2
--- /dev/null
+++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/strategy/root/RootStrategy.java
@@ -0,0 +1,36 @@
+package com.muyu.data.processing.strategy.root;
+
+import com.muyu.common.core.utils.StringUtils;
+import com.muyu.data.processing.domain.StrategyEums;
+import com.muyu.data.processing.domain.req.TestReq;
+import com.muyu.data.processing.domain.resp.TestResp;
+import com.muyu.data.processing.strategy.StrategyHandler;
+import com.muyu.data.processing.strategy.abstractStrategyRouter;
+import com.muyu.data.processing.strategy.branch.OneBranchStrategy;
+import com.muyu.data.processing.strategy.branch.TwoBranchStrategy;
+import com.muyu.data.processing.strategy.leaves.FourLeavesStrategy;
+import com.muyu.data.processing.strategy.leaves.OneLeavesStrategy;
+import com.muyu.data.processing.strategy.leaves.ThreeLeavesStrategy;
+import com.muyu.data.processing.strategy.leaves.TwoLeavesStrategy;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * 策略路由实现
+ *
+ * @Author: 胡杨
+ * @Name: RootStrategy
+ * @Description: 策略路由实现
+ * @CreatedDate: 2024/9/28 上午10:39
+ * @FilePath: com.muyu.data.processing.strategy.impl
+ */
+
+@Slf4j
+@Component
+public class RootStrategy extends abstractStrategyRouter {
+ @Override
+ protected StrategyMapper registerStrategy() {
+ return param -> StrategyEums.getStrategy(param.getType1());
+ }
+
+}
diff --git a/cloud-data-processing/src/main/resources/bootstrap.yml b/cloud-data-processing/src/main/resources/bootstrap.yml
index 010e1a4..a1de498 100644
--- a/cloud-data-processing/src/main/resources/bootstrap.yml
+++ b/cloud-data-processing/src/main/resources/bootstrap.yml
@@ -11,6 +11,22 @@ nacos:
# SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all
# Spring
spring:
+ datasource:
+ username: root
+ password: root
+ driver-class-name: org.apache.iotdb.jdbc.IoTDBDriver
+ url: jdbc:iotdb://47.116.173.119:6667/
+ initial-size: 5
+ min-idle: 10
+ max-active: 20
+ max-wait: 60000
+ remove-abandoned: true
+ remove-abandoned-timeout: 30
+ time-between-eviction-runs-millis: 60000
+ min-evictable-idle-time-millis: 300000
+ test-while-idle: false
+ test-on-borrow: false
+ test-on-return: false
amqp:
deserialization:
trust:
@@ -61,3 +77,4 @@ spring:
logging:
level:
com.muyu.system.mapper: DEBUG
+
diff --git a/cloud-data-processing/src/main/resources/mapper/processing/DataProcessingMapper.xml b/cloud-data-processing/src/main/resources/mapper/processing/DataProcessingMapper.xml
new file mode 100644
index 0000000..fab3dd1
--- /dev/null
+++ b/cloud-data-processing/src/main/resources/mapper/processing/DataProcessingMapper.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+ insert into root.one.data(timestamp, CarData_id, CarData_num, CarData_name,create_time) values(#{timestamp},#{CarDataId},#{CarDataNum},#{CarDataName},#{createTime});
+
+
+
+ delete from root.one.data where timestamp = ${timestamp};
+
+
+
+ insert into root.one.data(timestamp, CarData_id, CarData_num, CarData_name,create_time) values(2021-11-24T18:28:20.689+08:00,#{CarDataId},#{CarDataNum},#{CarDataName},#{createTime});
+
+
+
+ SET STORAGE GROUP TO root.one.data
+
+
+ CREATE TIMESERIES root.one.data.CarData_num WITH DATATYPE=INT32, ENCODING=PLAIN, COMPRESSOR=SNAPPY;
+
+
+
diff --git a/cloud-modules/cloud-breakdown/pom.xml b/cloud-modules/cloud-breakdown/pom.xml
index 03dc09d..4b8728c 100644
--- a/cloud-modules/cloud-breakdown/pom.xml
+++ b/cloud-modules/cloud-breakdown/pom.xml
@@ -10,6 +10,11 @@
cloud-breakdown
+
+
+ cloud-breakdown 故障
+
+
pom
cloud-breakdown-common
diff --git a/cloud-modules/cloud-modules-car/pom.xml b/cloud-modules/cloud-modules-car/pom.xml
index c7daf6d..d2e4afd 100644
--- a/cloud-modules/cloud-modules-car/pom.xml
+++ b/cloud-modules/cloud-modules-car/pom.xml
@@ -10,7 +10,9 @@
cloud-modules-car
-
+
+ cloud-modules-car 电子围栏
+
17
17
diff --git a/cloud-modules/cloud-modules-carmanage/pom.xml b/cloud-modules/cloud-modules-carmanage/pom.xml
index 1bf3c20..e9f29c5 100644
--- a/cloud-modules/cloud-modules-carmanage/pom.xml
+++ b/cloud-modules/cloud-modules-carmanage/pom.xml
@@ -96,6 +96,10 @@
bcpkix-jdk15on
1.70
+
+ com.muyu
+ cloud-common-kafka
+
diff --git a/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/controller/SysCarMessageController.java b/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/controller/SysCarMessageController.java
index 7833309..a61e4ef 100644
--- a/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/controller/SysCarMessageController.java
+++ b/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/controller/SysCarMessageController.java
@@ -1,44 +1,36 @@
package com.muyu.car.controller;
+import com.alibaba.fastjson2.JSONObject;
+import com.muyu.car.domain.SysCarMessage;
+import com.muyu.car.domain.resp.SysMessageResp;
+import com.muyu.car.service.ISysCarMessageService;
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.core.utils.poi.ExcelUtil;
+import com.muyu.common.core.web.controller.BaseController;
+
+import com.muyu.common.security.annotation.RequiresPermissions;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
-import com.alibaba.fastjson2.JSONObject;
-import com.muyu.car.domain.SysCarMessage;
-import com.muyu.car.domain.SysMessageType;
-import com.muyu.car.domain.VO.SysMessageVO;
-import com.muyu.car.service.ISysCarMessageService;
-import jakarta.servlet.http.HttpServletResponse;
-
-import javax.annotation.Resource;
-
-import jakarta.servlet.http.HttpSession;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.muyu.common.security.annotation.RequiresPermissions;
-import com.muyu.common.core.web.controller.BaseController;
-import com.muyu.common.core.domain.Result;
-import com.muyu.common.core.utils.poi.ExcelUtil;
-import com.muyu.common.security.utils.SecurityUtils;
-import org.springframework.validation.annotation.Validated;
-import com.muyu.common.core.web.page.TableDataInfo;
-
/**
* 车辆报文记录Controller
*
* @author muyu
* @date 2024-09-18
*/
+@Slf4j
@RestController
@RequestMapping("/messageInfo")
public class SysCarMessageController extends BaseController {
@@ -48,10 +40,12 @@ public class SysCarMessageController extends BaseController {
private HttpSession session;
static String TEST = "56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56";
+
/**
* 查询车辆报文记录列表
*/
// @RequiresPermissions("message:message:list")
+ @Transactional
@GetMapping("/list")
public Result> list(SysCarMessage sysCarMessage) throws ExecutionException, InterruptedException {
List list = sysCarMessageService.selectSysCarMessageList(sysCarMessage);
@@ -83,16 +77,16 @@ public class SysCarMessageController extends BaseController {
for (int i = 0; i < futures.size(); i++) {
results[i] = futures.get(i).get();
}
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("results", results);
- System.out.println(jsonObject);
+ String jsonString = JSONObject.toJSONString(results);
+
+ log.info("消息发送成功:{}", jsonString);
return Result.success(list);
}
@RequiresPermissions("message:message:dobList")
@GetMapping("/dobList")
- public Result> dobList(SysMessageVO sysMessageVO) {
- List list = sysCarMessageService.dobList(sysMessageVO);
+ public Result> dobList(SysMessageResp sysMessageResp) {
+ List list = sysCarMessageService.dobList(sysMessageResp);
return Result.success(list);
}
diff --git a/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/domain/SysCarMessage.java b/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/domain/SysCarMessage.java
index 0f045c9..78f0b19 100644
--- a/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/domain/SysCarMessage.java
+++ b/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/domain/SysCarMessage.java
@@ -10,6 +10,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
+import java.io.Serializable;
+
/**
* 车辆报文记录对象 sys_car_message
*
@@ -24,7 +26,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
@NoArgsConstructor
@AllArgsConstructor
@TableName("sys_car_message")
-public class SysCarMessage {
+public class SysCarMessage implements Serializable {
private static final long serialVersionUID = 1L;
/** 自增主键 */
diff --git a/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/domain/VO/SysMessageVO.java b/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/domain/resp/SysMessageResp.java
similarity index 78%
rename from cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/domain/VO/SysMessageVO.java
rename to cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/domain/resp/SysMessageResp.java
index 47f05ee..f357790 100644
--- a/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/domain/VO/SysMessageVO.java
+++ b/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/domain/resp/SysMessageResp.java
@@ -1,6 +1,5 @@
-package com.muyu.car.domain.VO;
+package com.muyu.car.domain.resp;
-import com.muyu.common.core.annotation.Excel;
import lombok.*;
/**
@@ -11,7 +10,7 @@ import lombok.*;
*/
@Data
-public class SysMessageVO {
+public class SysMessageResp {
private static final long serialVersionUID = 1L;
private Long id;
private String modelCode;
diff --git a/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/mapper/SysCarMessageMapper.java b/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/mapper/SysCarMessageMapper.java
index b41073c..8d7dadb 100644
--- a/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/mapper/SysCarMessageMapper.java
+++ b/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/mapper/SysCarMessageMapper.java
@@ -4,7 +4,7 @@ import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.car.domain.SysCarMessage;
-import com.muyu.car.domain.VO.SysMessageVO;
+import com.muyu.car.domain.resp.SysMessageResp;
import org.apache.ibatis.annotations.Mapper;
/**
@@ -15,5 +15,5 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface SysCarMessageMapper extends BaseMapper{
- ListdobList(SysMessageVO sysMessageVO);
+ ListdobList(SysMessageResp sysMessageResp);
}
diff --git a/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/service/ISysCarMessageService.java b/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/service/ISysCarMessageService.java
index 2911f76..95c84e3 100644
--- a/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/service/ISysCarMessageService.java
+++ b/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/service/ISysCarMessageService.java
@@ -4,7 +4,7 @@ import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.car.domain.SysCarMessage;
-import com.muyu.car.domain.VO.SysMessageVO;
+import com.muyu.car.domain.resp.SysMessageResp;
/**
* 车辆报文记录Service接口
@@ -14,7 +14,7 @@ import com.muyu.car.domain.VO.SysMessageVO;
*/
public interface ISysCarMessageService extends IService {
- ListdobList(SysMessageVO sysMessageVO);
+ ListdobList(SysMessageResp sysMessageResp);
/**
* 精确查询车辆报文记录
*
diff --git a/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/service/impl/SysCarMessageServiceImpl.java b/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/service/impl/SysCarMessageServiceImpl.java
index 0a52977..66b325e 100644
--- a/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/service/impl/SysCarMessageServiceImpl.java
+++ b/cloud-modules/cloud-modules-carmanage/src/main/java/com/muyu/car/service/impl/SysCarMessageServiceImpl.java
@@ -5,7 +5,7 @@ import java.util.List;
import com.muyu.car.domain.SysCar;
import com.muyu.car.domain.SysCarMessage;
import com.muyu.car.domain.SysMessageType;
-import com.muyu.car.domain.VO.SysMessageVO;
+import com.muyu.car.domain.resp.SysMessageResp;
import com.muyu.car.mapper.SysCarMessageMapper;
import com.muyu.car.service.ISysCarMessageService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -29,8 +29,8 @@ public class SysCarMessageServiceImpl
private SysCarMessageMapper mapper;
@Override
- public List dobList(SysMessageVO sysMessageVO) {
- return mapper.dobList(sysMessageVO);
+ public List dobList(SysMessageResp sysMessageResp) {
+ return mapper.dobList(sysMessageResp);
}
/**
diff --git a/cloud-modules/cloud-modules-carmanage/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-carmanage/src/main/resources/bootstrap.yml
index 46654cc..a1c92e8 100644
--- a/cloud-modules/cloud-modules-carmanage/src/main/resources/bootstrap.yml
+++ b/cloud-modules/cloud-modules-carmanage/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
# Tomcat
server:
- port: 10010
+ port: 10011
# nacos线上地址
nacos:
@@ -19,7 +19,7 @@ spring:
allow-bean-definition-overriding: true
application:
# 应用名称
- name: cloud-car
+ name: cloud-parsing
profiles:
# 环境配置
active: dev
diff --git a/cloud-modules/cloud-modules-carmanage/src/main/resources/mapper/car/SysCarMessageMapper.xml b/cloud-modules/cloud-modules-carmanage/src/main/resources/mapper/car/SysCarMessageMapper.xml
index 3b10785..c49f3d1 100644
--- a/cloud-modules/cloud-modules-carmanage/src/main/resources/mapper/car/SysCarMessageMapper.xml
+++ b/cloud-modules/cloud-modules-carmanage/src/main/resources/mapper/car/SysCarMessageMapper.xml
@@ -27,7 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where id = #{id}
-