From 98fa19923db305d8d58b3d0067a0e4a5d9be3578 Mon Sep 17 00:00:00 2001
From: liuyibo <14460729+liuyibo12345@user.noreply.gitee.com>
Date: Sun, 6 Oct 2024 10:57:27 +0800
Subject: [PATCH 1/5] =?UTF-8?q?build():=E6=B7=BB=E5=8A=A0=E8=BD=A6?=
=?UTF-8?q?=E8=BE=86=E8=BF=9E=E6=8E=A5=E8=8E=B7=E5=8F=96=E8=BD=A6=E8=BE=86?=
=?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=AD=98=E5=85=A5=E6=95=B0=E6=8D=AE=E5=BA=93?=
=?UTF-8?q?=E4=B8=AD=EF=BC=8C=E5=8F=91=E9=80=81rabbitmq=E6=B6=88=E6=81=AF?=
=?UTF-8?q?=E9=98=9F=E5=88=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../cloud-modules-vehicle-gateway/pom.xml | 6 ++
.../controller/ConnectController.java | 51 +++++++++++++++++
.../vehiclegateway/domain/ConnectMemory.java | 37 ++++++++++++
.../muyu/vehiclegateway/domain/Instance.java | 37 ++++++++++++
.../domain/MqttServerModel.java | 32 +++++++++++
.../domain/req/VehicleConnectionReq.java | 44 ++++++++++++++
.../instance/GenerateInstance.java | 21 +++----
.../vehiclegateway/mapper/ConnectMapper.java | 10 ++++
.../service/ConnectService.java | 21 +++++++
.../service/impl/ConnectServiceImpl.java | 57 +++++++++++++++++++
.../src/main/resources/bootstrap.yml | 2 +
.../main/resources/mapper/ConnectMapper.xml | 10 ++++
12 files changed, 318 insertions(+), 10 deletions(-)
create mode 100644 cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/controller/ConnectController.java
create mode 100644 cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/domain/ConnectMemory.java
create mode 100644 cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/domain/Instance.java
create mode 100644 cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/domain/MqttServerModel.java
create mode 100644 cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/domain/req/VehicleConnectionReq.java
create mode 100644 cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/mapper/ConnectMapper.java
create mode 100644 cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/service/ConnectService.java
create mode 100644 cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/service/impl/ConnectServiceImpl.java
create mode 100644 cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/mapper/ConnectMapper.xml
diff --git a/cloud-modules/cloud-modules-vehicle-gateway/pom.xml b/cloud-modules/cloud-modules-vehicle-gateway/pom.xml
index 12b2946..2d95b3e 100644
--- a/cloud-modules/cloud-modules-vehicle-gateway/pom.xml
+++ b/cloud-modules/cloud-modules-vehicle-gateway/pom.xml
@@ -107,6 +107,12 @@
com.aliyun
cloudapi20160714
+
+
+
+ com.muyu
+ cloud-common-rabbit
+
diff --git a/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/controller/ConnectController.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/controller/ConnectController.java
new file mode 100644
index 0000000..7046819
--- /dev/null
+++ b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/controller/ConnectController.java
@@ -0,0 +1,51 @@
+package com.muyu.vehiclegateway.controller;
+
+import com.muyu.common.core.domain.Result;
+import com.muyu.vehiclegateway.domain.req.VehicleConnectionReq;
+import com.muyu.vehiclegateway.service.ConnectService;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+
+/**
+ * @ClassName ConnectController
+ * @Description 连接车辆
+ * @Author YiBo.Liu
+ * @Date 2024/10/2 16:25
+ */
+@RequestMapping("/vehicleGateway")
+@RestController
+@Log4j2
+@Tag(name = "连接车辆控制层")
+public class ConnectController {
+
+ @Autowired
+ private ConnectService connectService;
+
+ /**
+ * 获取车辆信息
+ * @param vehicleConnectionReq
+ * @return
+ */
+ @PostMapping("/receiveMsg/connect")
+ private Result receiveMsg(@RequestBody VehicleConnectionReq vehicleConnectionReq){
+ log.info("=======>" + vehicleConnectionReq);
+ connectService.receiveMsg(vehicleConnectionReq);
+ return Result.success();
+ }
+
+ /**
+ * 创建ECS实例
+ * @throws Exception
+ */
+ @GetMapping("/createConnect")
+ private void createConnect() throws Exception {
+ connectService.createConnect();
+ log.info("创建实例成功");
+ }
+
+}
diff --git a/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/domain/ConnectMemory.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/domain/ConnectMemory.java
new file mode 100644
index 0000000..92dc9e3
--- /dev/null
+++ b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/domain/ConnectMemory.java
@@ -0,0 +1,37 @@
+package com.muyu.vehiclegateway.domain;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @ClassName ConnectMemory
+ * @Description 内存使用情况
+ * @Author YiBo.Liu
+ * @Date 2024/10/4 11:02
+ */
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+@Tag(name = "服务器内存使用情况")
+public class ConnectMemory {
+
+ /**
+ * 节点ID
+ */
+ private String clusterId;
+
+ /**
+ * 所属IP
+ */
+ private String ipAddress;
+
+ /**
+ * 剩余连接数
+ */
+ private String remainingNum;
+
+}
diff --git a/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/domain/Instance.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/domain/Instance.java
new file mode 100644
index 0000000..205d23e
--- /dev/null
+++ b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/domain/Instance.java
@@ -0,0 +1,37 @@
+package com.muyu.vehiclegateway.domain;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @ClassName Instance
+ * @Description 服务器数据
+ * @Author YiBo.Liu
+ * @Date 2024/9/30 20:42
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@Tag(name = "服务器数据")
+public class Instance {
+
+ /**
+ * 服务器ID
+ */
+ private String instanceId;
+
+ /**
+ * 服务器IP
+ */
+ private String ipAddress;
+
+ /**
+ * 服务器状态
+ */
+ private String status;
+
+}
diff --git a/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/domain/MqttServerModel.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/domain/MqttServerModel.java
new file mode 100644
index 0000000..d254664
--- /dev/null
+++ b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/domain/MqttServerModel.java
@@ -0,0 +1,32 @@
+package com.muyu.vehiclegateway.domain;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @ClassName MqttServerModel
+ * @Description 描述
+ * @Author YiBo.Liu
+ * @Date 2024/10/4 14:49
+ */
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+@Tag(name = "mqtt服务器模型")
+public class MqttServerModel {
+
+ /**
+ * MQTT服务节点
+ */
+ private String broker;
+
+ /**
+ * MQTT订阅主题
+ */
+ private String topic;
+
+}
diff --git a/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/domain/req/VehicleConnectionReq.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/domain/req/VehicleConnectionReq.java
new file mode 100644
index 0000000..ce28378
--- /dev/null
+++ b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/domain/req/VehicleConnectionReq.java
@@ -0,0 +1,44 @@
+package com.muyu.vehiclegateway.domain.req;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @ClassName VehicleConnectionReq
+ * @Description 描述
+ * @Author YiBo.Liu
+ * @Date 2024/10/2 16:10
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class VehicleConnectionReq {
+
+ /**
+ * id
+ */
+
+ private Integer id;
+
+ /**
+ * 车辆vin码
+ */
+ @JSONField(name = "vehicleVin")
+ private String vehicleVin;
+
+ /**
+ *时间戳
+ */
+ private String timestamp;
+
+ /**
+ * 随机字符串
+ */
+ private String nonce;
+
+}
diff --git a/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/instance/GenerateInstance.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/instance/GenerateInstance.java
index 4d5bd74..304b23d 100644
--- a/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/instance/GenerateInstance.java
+++ b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/instance/GenerateInstance.java
@@ -9,13 +9,12 @@ import com.aliyun.tea.TeaException;
import com.aliyun.teautil.Common;
import com.aliyun.teautil.models.RuntimeOptions;
import com.muyu.common.redis.service.RedisService;
+import com.muyu.vehiclegateway.domain.Instance;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
@@ -23,7 +22,7 @@ import java.util.List;
/**
* @ClassName GenerateInstance
- * @Description 描述
+ * @Description 程序启动创建ECS服务器实例
* @Author YiBo.Liu
* @Date 2024/9/28 19:39
*/
@@ -40,7 +39,7 @@ public class GenerateInstance implements ApplicationRunner {
* 启动自动创建实例
* @throws Exception
*/
- public List generateInstance() throws Exception {
+ public List generateInstance() throws Exception {
// 创建ECS客户端对象,用于后续调用ECS相关API
Client client = CreateClient.createClient();
@@ -52,7 +51,7 @@ public class GenerateInstance implements ApplicationRunner {
// 设置地域ID
.setRegionId("cn-shanghai")
// 设置镜像ID
- .setImageId("m-uf63thq7h50ng72jpoq2")
+ .setImageId("m-uf6f7atj16s3cjn9q5l8")
// 设置实例类型
.setInstanceType("ecs.t6-c1m1.large")
// 设置安全组ID
@@ -105,27 +104,29 @@ public class GenerateInstance implements ApplicationRunner {
DescribeInstancesResponse describeInstancesResponse = client.describeInstancesWithOptions(describeInstancesRequest, runtimeOptions);
//提取实例ID集合
- ArrayList list = new ArrayList<>();
+ List list = new ArrayList<>();
DescribeInstancesResponseBody body = describeInstancesResponse.getBody();
for (DescribeInstancesResponseBody.DescribeInstancesResponseBodyInstancesInstance instance : body.getInstances().getInstance()) {
- list.add(instance.getInstanceId());
- list.add(instance.getPublicIpAddress().ipAddress.get(0));
- list.add(instance.getStatus());
log.info("实例id为:"+instance.getInstanceId());
log.info("实例ip为:"+instance.getPublicIpAddress().ipAddress.get(0));
log.info("实例状态为:"+instance.getStatus());
+ Instance instance1 = new Instance(instance.getInstanceId(), instance.getPublicIpAddress().ipAddress.get(0), instance.getStatus());
+
+ list.add(instance1);
}
- redisService.setCacheList("shili",list);
+// Thread.sleep(20000);
+// redisService.setCacheList("aaa",list);
return list;
}
+
@Override
public void run(ApplicationArguments args) throws Exception {
generateInstance();
diff --git a/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/mapper/ConnectMapper.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/mapper/ConnectMapper.java
new file mode 100644
index 0000000..dbf5b18
--- /dev/null
+++ b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/mapper/ConnectMapper.java
@@ -0,0 +1,10 @@
+package com.muyu.vehiclegateway.mapper;
+
+import com.muyu.vehiclegateway.domain.req.VehicleConnectionReq;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface ConnectMapper {
+ void addVehicle(VehicleConnectionReq vehicleConnectionReq);
+
+}
diff --git a/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/service/ConnectService.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/service/ConnectService.java
new file mode 100644
index 0000000..03cbc4b
--- /dev/null
+++ b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/service/ConnectService.java
@@ -0,0 +1,21 @@
+package com.muyu.vehiclegateway.service;
+
+import com.muyu.vehiclegateway.domain.req.VehicleConnectionReq;
+
+public interface ConnectService {
+
+ /**
+ * 创建实例
+ * @throws Exception
+ */
+ void createConnect() throws Exception;
+
+ /**
+ * 获取车辆信息
+ * @param vehicleConnectionReq
+ * @return
+ */
+ void receiveMsg(VehicleConnectionReq vehicleConnectionReq);
+
+
+}
diff --git a/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/service/impl/ConnectServiceImpl.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/service/impl/ConnectServiceImpl.java
new file mode 100644
index 0000000..f4ab059
--- /dev/null
+++ b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehiclegateway/service/impl/ConnectServiceImpl.java
@@ -0,0 +1,57 @@
+package com.muyu.vehiclegateway.service.impl;
+
+import cn.hutool.json.JSON;
+import com.alibaba.fastjson2.JSONObject;
+import com.muyu.common.core.constant.GenConstants;
+import com.muyu.common.core.utils.uuid.UUID;
+import com.muyu.vehiclegateway.domain.req.VehicleConnectionReq;
+import com.muyu.vehiclegateway.instance.GenerateInstance;
+import com.muyu.vehiclegateway.mapper.ConnectMapper;
+import com.muyu.vehiclegateway.service.ConnectService;
+import org.springframework.amqp.core.Message;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import static io.lettuce.core.pubsub.PubSubOutput.Type.message;
+
+/**
+ * @ClassName ConnectServiceImpl
+ * @Description 描述
+ * @Author YiBo.Liu
+ * @Date 2024/10/2 16:25
+ */
+@Service
+public class ConnectServiceImpl implements ConnectService {
+
+ @Autowired
+ private RabbitTemplate rabbitTemplate;
+
+
+ @Autowired
+ private ConnectMapper connectMapper;
+
+ /**
+ * 创建实例
+ * @throws Exception
+ */
+ @Override
+ public void createConnect() throws Exception {
+ GenerateInstance generateInstance = new GenerateInstance();
+ generateInstance.generateInstance();
+ }
+
+ /**
+ * 获取车辆信息
+ * @param vehicleConnectionReq
+ * @return
+ */
+ @Override
+ public void receiveMsg(VehicleConnectionReq vehicleConnectionReq) {
+ rabbitTemplate.convertAndSend("GO_OFFLINE", vehicleConnectionReq.getVehicleVin(),message1 -> {
+ message1.getMessageProperties().setMessageId(UUID.fastUUID().toString());
+ return message1;
+ });
+ connectMapper.addVehicle(vehicleConnectionReq);
+ }
+}
diff --git a/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/bootstrap.yml
index 26e2e1b..0eb5252 100644
--- a/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/bootstrap.yml
+++ b/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/bootstrap.yml
@@ -40,6 +40,8 @@ spring:
file-extension: yml
# 共享配置
shared-configs:
+ # rabbitmq配置
+ - application-rabbit-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
# 系统共享配置
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
# 系统环境Config共享配置
diff --git a/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/mapper/ConnectMapper.xml b/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/mapper/ConnectMapper.xml
new file mode 100644
index 0000000..0d96adf
--- /dev/null
+++ b/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/mapper/ConnectMapper.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ insert into connect(id,vehicle_vin,timestamp,nonce)
+ values (#{id},#{vehicleVin},#{timestamp},#{nonce})
+
+
From 19f67a389c69f4e988cb75b7762e9e5bafa3620c Mon Sep 17 00:00:00 2001
From: xinzirun
Date: Mon, 7 Oct 2024 09:45:59 +0800
Subject: [PATCH 2/5] =?UTF-8?q?fix():=20=E8=A7=A3=E5=86=B3=E9=85=8D?=
=?UTF-8?q?=E7=BD=AE=E5=86=B2=E7=AA=81=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...ot.autoconfigure.AutoConfiguration.imports | 4 +---
.../src/main/resources/banner.txt | 20 +++++++++++++++++++
.../src/main/resources/bootstrap.yml | 1 +
3 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index d0243d7..de363ba 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -4,6 +4,4 @@ com.muyu.enterprise.cache.CarManageCacheService
com.muyu.enterprise.cache.CarMessageCacheService
com.muyu.enterprise.cache.CarTemplateCacheService
com.muyu.enterprise.cache.CarWarnCacheService
-com.muyu.enterprise.cache.ElectronicFenceCacheService
-
-
+com.muyu.enterprise.cache.ElectronicFenceCacheService
\ No newline at end of file
diff --git a/cloud-modules/cloud-modules-event-process/src/main/resources/banner.txt b/cloud-modules/cloud-modules-event-process/src/main/resources/banner.txt
index 0dd5eee..14310da 100644
--- a/cloud-modules/cloud-modules-event-process/src/main/resources/banner.txt
+++ b/cloud-modules/cloud-modules-event-process/src/main/resources/banner.txt
@@ -1,2 +1,22 @@
Spring Boot Version: ${spring-boot.version}
Spring Application Name: ${spring.application.name}
+ _ooOoo_
+ o8888888o
+ 88" . "88
+ (| -_- |)
+ O\ = /O
+ ____/`---'\____
+ .' \\| |// `.
+ / \\||| : |||// \
+ / _||||| -:- |||||- \
+ | | \\\ - /// | |
+ | \_| ''\---/'' | |
+ \ .-\__ `-` ___/-. /
+ ___`. .' /--.--\ `. . __
+ ."" '< `.___\_<|>_/___.' >'"".
+ | | : `- \`.;`\ _ /`;.`/ - ` : | |
+ \ \ `-. \_ __\ /__ _/ .-` / /
+ ======`-.____`-.___\_____/___.-`____.-'======
+ `=---='
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ // 佛祖保佑 永不宕机 永无BUG //
diff --git a/cloud-modules/cloud-modules-event-process/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-event-process/src/main/resources/bootstrap.yml
index f8e19b4..6a9e09e 100644
--- a/cloud-modules/cloud-modules-event-process/src/main/resources/bootstrap.yml
+++ b/cloud-modules/cloud-modules-event-process/src/main/resources/bootstrap.yml
@@ -2,6 +2,7 @@
server:
port: 11000
+# nacos线上地址
nacos:
addr: 106.15.136.7:8848
user-name: nacos
From eef7d19aeba92192d1c582cbeae632082f49d5df Mon Sep 17 00:00:00 2001
From: xinzirun
Date: Mon, 7 Oct 2024 13:55:46 +0800
Subject: [PATCH 3/5] =?UTF-8?q?fix():=20=E4=BC=98=E5=8C=96=E4=B8=8A?=
=?UTF-8?q?=E4=B8=8B=E7=BA=BF=E7=9B=91=E5=90=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/muyu/event/process/consumer/GoOfflineConsumer.java | 3 ++-
.../com/muyu/event/process/consumer/GoOnlineConsumer.java | 6 ++++--
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/consumer/GoOfflineConsumer.java b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/consumer/GoOfflineConsumer.java
index 773b91e..99810c2 100644
--- a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/consumer/GoOfflineConsumer.java
+++ b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/consumer/GoOfflineConsumer.java
@@ -3,6 +3,7 @@ package com.muyu.event.process.consumer;
import com.muyu.event.process.util.CacheUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.amqp.core.ExchangeTypes;
import org.springframework.amqp.rabbit.annotation.Exchange;
import org.springframework.amqp.rabbit.annotation.Queue;
import org.springframework.amqp.rabbit.annotation.QueueBinding;
@@ -32,7 +33,7 @@ public class GoOfflineConsumer {
@RabbitListener(
bindings = @QueueBinding(
value = @Queue(value = "GO_OFFLINE", durable = "true"),
- exchange = @Exchange(value = "OFFLINE_EXCHANGE", type = "fanout")
+ exchange = @Exchange(value = "OFFLINE_EXCHANGE", type = ExchangeTypes.FANOUT)
)
)
public void offline(String vin) {
diff --git a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/consumer/GoOnlineConsumer.java b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/consumer/GoOnlineConsumer.java
index f5fc581..ff0e571 100644
--- a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/consumer/GoOnlineConsumer.java
+++ b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/consumer/GoOnlineConsumer.java
@@ -8,6 +8,7 @@ import com.muyu.event.process.constant.CacheHandlerConstants;
import com.muyu.event.process.util.CacheUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.amqp.core.ExchangeTypes;
import org.springframework.amqp.rabbit.annotation.Exchange;
import org.springframework.amqp.rabbit.annotation.Queue;
import org.springframework.amqp.rabbit.annotation.QueueBinding;
@@ -19,7 +20,7 @@ import java.util.HashMap;
/**
* @Author: zi run
* @Date 2024/10/6 10:01
- * @Description 商量上线消费者
+ * @Description 车辆上线消费者
*/
@Slf4j
@Component
@@ -53,12 +54,13 @@ public class GoOnlineConsumer {
/**
* 处理车辆上线事件
+ *
* @param vin 车辆的识别码,根据识别码从缓存中存入对应的数据
*/
@RabbitListener(
bindings = @QueueBinding(
value = @Queue(value = "GO_ONLINE", durable = "true"),
- exchange = @Exchange(value = "ONLINE_EXCHANGE", type = "fanout")
+ exchange = @Exchange(value = "ONLINE_EXCHANGE", type = ExchangeTypes.FANOUT)
)
)
public void online(String vin) {
From 222b2ad30f52333eac352cad6fffb9c0827cc327 Mon Sep 17 00:00:00 2001
From: crj <1518542096@qq.com>
Date: Mon, 7 Oct 2024 18:53:10 +0800
Subject: [PATCH 4/5] =?UTF-8?q?fix():=E6=95=85=E9=9A=9C=E8=A7=84=E5=88=99?=
=?UTF-8?q?=E9=87=8D=E6=9E=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | 1 +
.../muyu/enterprise/domain/CarTemplate.java | 10 ++---
.../com/muyu/enterprise/domain/FaultRule.java | 2 +-
...ntroller.java => FaultRuleController.java} | 26 ++++++------
...trRuleMapper.java => FaultRuleMapper.java} | 4 +-
.../enterprise/service/FaultRuleService.java | 17 ++++++++
.../service/impl/FaultRuleServiceImpl.java | 41 +++++++++++++++++++
7 files changed, 80 insertions(+), 21 deletions(-)
rename cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/{FaultrRuleController.java => FaultRuleController.java} (70%)
rename cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/{FaultrRuleMapper.java => FaultRuleMapper.java} (69%)
create mode 100644 cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/FaultRuleService.java
create mode 100644 cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/FaultRuleServiceImpl.java
diff --git a/.gitignore b/.gitignore
index 9405b2d..f3f124a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -26,6 +26,7 @@ logs
*.iws
*.iml
*.ipr
+*.yml
### JRebel ###
rebel.xml
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarTemplate.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarTemplate.java
index bb1d9f5..672626c 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarTemplate.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarTemplate.java
@@ -8,12 +8,12 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
+
/**
- * 报文模版表--实体类
- * @ClassName CarTemplate
- * @Description 报文模版表
- * @author MingWei.Zong
- * @Date 2024/9/28 16:52
+ * 故障规则
+ * @Author: chenruijia
+ * @Date 2024/9/28 12.23
+ * @Description FaultRule:故障规则
*/
@Data
@NoArgsConstructor
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/FaultRule.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/FaultRule.java
index d7387d7..6b12fdd 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/FaultRule.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/FaultRule.java
@@ -12,7 +12,7 @@ import lombok.experimental.SuperBuilder;
* 故障规则
* @Author: chenruijia
* @Date 2024/9/28 12.23
- * @Description FaultrRule:故障规则
+ * @Description FaultRule:故障规则
*/
@Data
@SuperBuilder
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/FaultrRuleController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/FaultRuleController.java
similarity index 70%
rename from cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/FaultrRuleController.java
rename to cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/FaultRuleController.java
index 6cf595c..0052f50 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/FaultrRuleController.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/FaultRuleController.java
@@ -14,42 +14,42 @@ import java.util.List;
* 故障的规则控制层
* @author chenruijia
* @Date 2024/9/28 11:58
- * @Description FaultrRuleController:故障的规则控制层
+ * @Description FaultRuleController:故障的规则控制层
*/
@RestController
@RequestMapping("/rule")
@Tag(name = "故障的规则",description = "对故障数据规则的判断")
-public class FaultrRuleController {
+public class FaultRuleController {
@Autowired
- private FaultrRuleService faultrRuleService;
+ private FaultRuleService FaultRuleService;
/**
* 查询车辆故障列表
*/
@RequestMapping(value = "/faultRuleList", method = RequestMethod.GET)
- public Result> faultRuleList(FaultRule faultrRule)
+ public Result> faultRuleList(FaultRule faultRule)
{
- List list = faultrRuleService.faultRuleList(faultrRule);
+ List list = FaultRuleService.faultRuleList(faultRule);
return Result.success(list);
}
/**
* 添加车辆规则
- * @param faultrRule
+ * @param faultRule
* @return
*/
@RequestMapping(value = "/insertRule",method = RequestMethod.POST)
- public Result insertRule(@RequestBody FaultRule faultrRule){
- return Result.success(faultrRuleService.save(faultrRule));
+ public Result insertRule(@RequestBody FaultRule faultRule){
+ return Result.success(FaultRuleService.save(faultRule));
}
/**
* 修改车辆规则
- * @param faultrRule
+ * @param faultRule
* @return
*/
@RequestMapping(value = "/updateRule",method = RequestMethod.POST)
- public Result updateRule(@RequestBody FaultRule faultrRule){
- return Result.success(faultrRuleService.updateById(faultrRule));
+ public Result updateRule(@RequestBody FaultRule faultRule){
+ return Result.success(FaultRuleService.updateById(faultRule));
}
/**
@@ -59,7 +59,7 @@ public class FaultrRuleController {
*/
@RequestMapping(value = "/byidRuleId/{faultRuleId}",method = RequestMethod.GET)
public Result byidRuleId(@PathVariable Long faultRuleId){
- FaultRule byid = faultrRuleService.byidRuleId(faultRuleId);
+ FaultRule byid = FaultRuleService.byidRuleId(faultRuleId);
return Result.success(byid);
}
@@ -69,7 +69,7 @@ public class FaultrRuleController {
@RequestMapping(value = "/remove/{ids}",method = RequestMethod.DELETE)
public Result remove(@PathVariable("ids") Long[] ids)
{
- faultrRuleService.removeBatchByIds(Arrays.asList(ids));
+ FaultRuleService.removeBatchByIds(Arrays.asList(ids));
return Result.success();
}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/FaultrRuleMapper.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/FaultRuleMapper.java
similarity index 69%
rename from cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/FaultrRuleMapper.java
rename to cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/FaultRuleMapper.java
index a13b8c7..f1ab5b5 100644
--- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/FaultrRuleMapper.java
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/FaultRuleMapper.java
@@ -8,8 +8,8 @@ import org.apache.ibatis.annotations.Mapper;
* 故障规则持久层
* @Author: chenruijia
* @Date 2024/9/28 12.17
- * @Description FaultrRuleMapper:故障规则持久层
+ * @Description FaultRuleMapper:故障规则持久层
*/
@Mapper
-public interface FaultrRuleMapper extends BaseMapper {
+public interface FaultRuleMapper extends BaseMapper {
}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/FaultRuleService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/FaultRuleService.java
new file mode 100644
index 0000000..b4e243f
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/FaultRuleService.java
@@ -0,0 +1,17 @@
+package com.muyu.enterprise.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.enterprise.domain.FaultRule;
+
+import java.util.List;
+/**
+ * 故障规则业务层
+ * @Author: chenruijia
+ * @Date 2024/9/28 12.19
+ * @Description FaultRuleService:故障规则业务层
+ */
+public interface FaultRuleService extends IService {
+ List faultRuleList(FaultRule faultRule);
+
+ FaultRule byidRuleId(Long faultRuleId);
+}
diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/FaultRuleServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/FaultRuleServiceImpl.java
new file mode 100644
index 0000000..77e17bd
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/FaultRuleServiceImpl.java
@@ -0,0 +1,41 @@
+package com.muyu.enterprise.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.muyu.common.core.utils.StringUtils;
+import com.muyu.enterprise.domain.FaultRule;
+import com.muyu.enterprise.mapper.FaultRuleMapper;
+import com.muyu.enterprise.service.FaultRuleService;
+import org.springframework.stereotype.Service;
+import org.springframework.util.Assert;
+
+import java.util.List;
+/**
+ * 故障规则业务实现层
+ * @Author: chenruijia
+ * @Date 2024/9/28 12.19
+ * @Description FaultRuleServiceImpl:故障规则业务实现层
+ */
+@Service
+public class FaultRuleServiceImpl extends ServiceImpl implements FaultRuleService {
+
+ @Override
+ public List faultRuleList(FaultRule faultRule) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ if (StringUtils.isNotEmpty(faultRule.getFaultRuleName())) {
+ queryWrapper.eq(FaultRule::getFaultRuleName,faultRule.getFaultRuleName());
+ }
+ if (StringUtils.isNotEmpty(faultRule.getFaultRuleParameter())) {
+ queryWrapper.eq(FaultRule::getFaultRuleParameter,faultRule.getFaultRuleParameter());
+ }
+ return this.list(queryWrapper);
+ }
+
+ @Override
+ public FaultRule byidRuleId(Long faultRuleId) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ Assert.notNull(faultRuleId, "规则ID不可为空");
+ queryWrapper.eq(FaultRule::getFaultRuleId, faultRuleId);
+ return this.getOne(queryWrapper);
+ }
+}
From 20977536e3510ea670f249489cb5f9d8a6eb3d08 Mon Sep 17 00:00:00 2001
From: xinzirun
Date: Mon, 7 Oct 2024 19:29:12 +0800
Subject: [PATCH 5/5] =?UTF-8?q?fix():=20=E5=A4=84=E7=90=86=E4=BA=8B?=
=?UTF-8?q?=E4=BB=B6=E7=9B=91=E5=90=AC=E5=99=A8=E6=89=A7=E8=A1=8C=E5=BC=82?=
=?UTF-8?q?=E5=B8=B8=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../muyu/event/process/basic/BasicEventHandler.java | 10 +++++++++-
.../listener/IdentifyingFailuresEventListener.java | 10 +++++++---
2 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/basic/BasicEventHandler.java b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/basic/BasicEventHandler.java
index a7d91f4..8847620 100644
--- a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/basic/BasicEventHandler.java
+++ b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/basic/BasicEventHandler.java
@@ -1,5 +1,6 @@
package com.muyu.event.process.basic;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
@@ -10,6 +11,7 @@ import java.util.List;
* @Date 2024/9/30 15:37
* @Description 基础事件处理器
*/
+@Slf4j
@Component
public class BasicEventHandler implements ApplicationListener> {
@@ -34,6 +36,12 @@ public class BasicEventHandler implements ApplicationListener>
*/
@Override
public void onApplicationEvent(BasicEvent event) {
- listeners.forEach(l -> l.onEvent(event));
+ listeners.forEach(l -> {
+ try {
+ l.onEvent(event);
+ } catch (Exception e) {
+ log.error("{}监听器处理事件时发生异常:{}", l, e.getMessage());
+ }
+ });
}
}
\ No newline at end of file
diff --git a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/listener/IdentifyingFailuresEventListener.java b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/listener/IdentifyingFailuresEventListener.java
index cadaa16..d7b13bd 100644
--- a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/listener/IdentifyingFailuresEventListener.java
+++ b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/listener/IdentifyingFailuresEventListener.java
@@ -1,6 +1,7 @@
package com.muyu.event.process.listener;
import com.alibaba.fastjson2.JSONObject;
+import com.muyu.common.core.exception.ServiceException;
import com.muyu.enterprise.domain.FaultRule;
import com.muyu.event.process.basic.BasicEvent;
import com.muyu.event.process.basic.BasicEventListener;
@@ -11,6 +12,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.Map;
+import java.util.Optional;
/**
* @Author: zi run
@@ -31,8 +33,10 @@ public class IdentifyingFailuresEventListener implements BasicEventListener event) {
log.info("触发识别故障时间监听器……");
JSONObject data = JSONObject.parseObject(event.getData());
- Map dataMap = (Map) cacheUtil.get((String) data.get("vin"));
- FaultRule faultRule = (FaultRule) dataMap.get(CacheHandlerConstants.FAULT_RULE_KEY);
-
+ Optional