From 6f9079ec5f5b7c08ded489047250a9e6469203fc Mon Sep 17 00:00:00 2001
From: YangPeng <3074487626@qq.com>
Date: Mon, 30 Sep 2024 12:01:29 +0800
Subject: [PATCH 1/6] =?UTF-8?q?feat():=E4=BF=AE=E6=94=B9JDK=E7=89=88?=
=?UTF-8?q?=E6=9C=AC=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../core/web/controller/BaseController.java | 1 +
cloud-common/cloud-common-iotdb/pom.xml | 5 +
.../cloud-modules-data-process-common/pom.xml | 5 +
.../muyu/data/basics/EventQueueConfig.java | 2 +
.../com/muyu/domain/CarAndGroupMiddle.java | 45 +++++++++
.../main/java/com/muyu/domain/FenceGroup.java | 16 +++-
.../muyu/domain/req/FenceGroupUpdateReq.java | 31 ++++++
.../CarAndFenceGroupMiddleController.java | 42 ++++++++
.../controller/CarFenceUpdateController.java | 58 +++++++++++
.../com/muyu/controller/MiddleController.java | 47 ++++-----
.../mapper/CarAndFenceGroupMiddleMapper.java | 19 ++++
.../mapper/CarFenceServiceMybaitsMapper.java | 9 +-
.../com/muyu/mapper/CarFenceUpdateMapper.java | 18 ++++
.../CarAndFenceGroupMiddleService.java | 22 +++++
.../muyu/service/CarFenceServiceMybaits.java | 24 +++--
.../muyu/service/CarFenceUpdateService.java | 16 ++++
.../CarAndFenceGroupMiddleServiceImpl.java | 41 ++++++++
.../impl/CarFenceServiceMybaitsImpl.java | 95 ++++++++++++-------
.../impl/CarFenceUpdateServiceImpl.java | 26 +++++
.../enterprise-cache/pom.xml | 39 ++++++++
.../enterprise/cache/VehicleCacheService.java | 28 ++++++
...ot.autoconfigure.AutoConfiguration.imports | 1 +
cloud-modules/cloud-vx/pom.xml | 5 +
.../com/muyu/service/Impl/WxServiceImpl.java | 2 +
pom.xml | 10 +-
25 files changed, 534 insertions(+), 73 deletions(-)
create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/CarAndGroupMiddle.java
create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/req/FenceGroupUpdateReq.java
create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/controller/CarAndFenceGroupMiddleController.java
create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/controller/CarFenceUpdateController.java
create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/mapper/CarAndFenceGroupMiddleMapper.java
create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/mapper/CarFenceUpdateMapper.java
create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/CarAndFenceGroupMiddleService.java
create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/CarFenceUpdateService.java
create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/impl/CarAndFenceGroupMiddleServiceImpl.java
create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/impl/CarFenceUpdateServiceImpl.java
create mode 100644 cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml
create mode 100644 cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/java/com/muyu/enterprise/cache/VehicleCacheService.java
create mode 100644 cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
diff --git a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/web/controller/BaseController.java b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/web/controller/BaseController.java
index 26313b2..3d83a00 100644
--- a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/web/controller/BaseController.java
+++ b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/web/controller/BaseController.java
@@ -1,6 +1,7 @@
package com.muyu.common.core.web.controller;
import com.github.pagehelper.PageInfo;
+
import com.muyu.common.core.utils.DateUtils;
import com.muyu.common.core.utils.PageUtils;
import com.muyu.common.core.domain.Result;
diff --git a/cloud-common/cloud-common-iotdb/pom.xml b/cloud-common/cloud-common-iotdb/pom.xml
index 32ef405..2071b80 100644
--- a/cloud-common/cloud-common-iotdb/pom.xml
+++ b/cloud-common/cloud-common-iotdb/pom.xml
@@ -34,6 +34,11 @@
org.projectlombok
lombok
+
+ org.projectlombok
+ lombok
+ provided
+
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/pom.xml b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/pom.xml
index 33d89e6..e105a58 100644
--- a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/pom.xml
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/pom.xml
@@ -34,6 +34,11 @@
io.swagger.core.v3
swagger-annotations-jakarta
+
+ org.projectlombok
+ lombok
+ provided
+
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventQueueConfig.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventQueueConfig.java
index 9328177..ce3499d 100644
--- a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventQueueConfig.java
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventQueueConfig.java
@@ -1,5 +1,7 @@
package com.muyu.data.basics;
+
+
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/CarAndGroupMiddle.java b/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/CarAndGroupMiddle.java
new file mode 100644
index 0000000..6c5d5fc
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/CarAndGroupMiddle.java
@@ -0,0 +1,45 @@
+package com.muyu.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 车辆电子围栏中间表
+ * * @Author:yan
+ * * @Package:com.muyu.car.domain
+ * * @Project:plues
+ * * @name:FenceAndGroupMiddle
+ * * @Date:2024/9/22 09:59
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@Tag(name = "车辆和电子围栏组中间表")
+@TableName(value = "car_group_middle",autoResultMap = true)
+public class CarAndGroupMiddle {
+ /**
+ * id
+ */
+ @TableId(value = "id",type = IdType.AUTO)
+ @Schema(name = "id")
+ private Long id;
+ /**
+ * 车id
+ */
+ @Schema(name = "围栏id")
+ private Integer carId;
+ /**
+ * 围栏组id
+ */
+ @Schema(name = "围栏组id")
+ private Long groupId;
+
+}
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/FenceGroup.java b/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/FenceGroup.java
index 132b031..41d75a0 100644
--- a/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/FenceGroup.java
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/FenceGroup.java
@@ -3,6 +3,7 @@ package com.muyu.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.muyu.domain.req.FenceGroupUpdateReq;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
@@ -30,7 +31,7 @@ public class FenceGroup {
*/
@TableId(value = "group_id",type = IdType.AUTO)
@Schema(name = "围栏组id")
- private Integer groupId;
+ private Long groupId;
/**
* 围栏组名称
*/
@@ -42,5 +43,18 @@ public class FenceGroup {
@Schema(name = "围栏组状态")
private Integer groupStates;
+ public static FenceGroup carFenceUpdateById(Integer states, FenceGroupUpdateReq fenceGroupBuilder ){
+ return FenceGroup.builder()
+ .groupId(fenceGroupBuilder.getGroupId())
+ .groupStates(states)
+ .build();
+ }
+
+ public static FenceGroup closeCarFenceUpdateById(Integer states, Long groupId ){
+ return FenceGroup.builder()
+ .groupId(groupId)
+ .groupStates(states)
+ .build();
+ }
}
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/req/FenceGroupUpdateReq.java b/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/req/FenceGroupUpdateReq.java
new file mode 100644
index 0000000..6ffad3b
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/req/FenceGroupUpdateReq.java
@@ -0,0 +1,31 @@
+package com.muyu.domain.req;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 修改围栏的状态
+ * @Author:yan
+ * @Package:com.muyu.domain.req
+ * @Project:plues
+ * @name:CarFenceUpdateReq
+ * @Date:2024/9/29 20:22
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Tag(name = "修改围栏的状态", description = "修改围栏的状态")
+public class FenceGroupUpdateReq {
+ /**
+ * id
+ */
+ @TableId(value = "group_id", type = IdType.AUTO)
+ @Schema(title = "围栏组Id")
+ private Long groupId;
+
+}
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/controller/CarAndFenceGroupMiddleController.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/controller/CarAndFenceGroupMiddleController.java
new file mode 100644
index 0000000..7617b30
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/controller/CarAndFenceGroupMiddleController.java
@@ -0,0 +1,42 @@
+package com.muyu.controller;
+
+import com.muyu.common.core.domain.Result;
+import com.muyu.domain.FenceGroup;
+import com.muyu.service.CarAndFenceGroupMiddleService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 车辆和围栏组中间表
+ * @Author:yan
+ * @Package:com.muyu.controller
+ * @Project:plues
+ * @name:CarAndFenceGroupMiddleController
+ * @Date:2024/9/29 20:09
+ */
+@RequestMapping("/carandfencemiddle")
+@RestController
+@AllArgsConstructor
+@Log4j2
+@Tag(name = "车辆和围栏组中间表")
+public class CarAndFenceGroupMiddleController {
+ @Autowired
+ private CarAndFenceGroupMiddleService carAndFenceGroupMiddleService;
+
+ /**
+ * 根据围栏组和车辆的id添加中间表
+ */
+ @PostMapping("/addFenceGroupAddCarMiddle")
+ @Operation(summary = "根据围栏组和车辆的id添加中间表",description = "根据围栏组和车辆的id添加中间表")
+ public Result addFenceGroupAddCarMiddle(@RequestParam("carId") Integer carId , @RequestBody List fenceGroups ){
+ boolean b = carAndFenceGroupMiddleService.saveBatch(fenceGroups,carId);
+ return Result.success("成功");
+ }
+
+}
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/controller/CarFenceUpdateController.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/controller/CarFenceUpdateController.java
new file mode 100644
index 0000000..7170fe7
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/controller/CarFenceUpdateController.java
@@ -0,0 +1,58 @@
+package com.muyu.controller;
+
+import com.muyu.common.core.domain.Result;
+import com.muyu.domain.FenceGroup;
+import com.muyu.domain.req.FenceGroupUpdateReq;
+import com.muyu.service.CarFenceUpdateService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 围栏组的修改状态
+ * @Author:yan
+ * @Package:com.muyu.controller
+ * @Project:plues
+ * @name:CarFenceUpdateController
+ * @Date:2024/9/30 09:10
+ *
+ */
+@RestController
+@RequestMapping("/fenceUpdate")
+@AllArgsConstructor
+@Log4j2
+@Tag(name = "修改围栏组的状态")
+public class CarFenceUpdateController {
+ @Autowired
+ private CarFenceUpdateService carFenceUpdateService;
+
+ /**
+ * 启动围栏组
+ */
+ @PutMapping("/activate")
+ @Operation(summary = "启动围栏状态",description = "启动围栏状态")
+ public Result activate(@RequestBody FenceGroupUpdateReq fenceGroupUpdateReq){
+ Integer states = 0;
+ boolean b = carFenceUpdateService.updateById(FenceGroup.carFenceUpdateById(states, fenceGroupUpdateReq));
+ return Result.success("成功");
+ }
+
+ /**
+ * 修改围栏状态为关闭
+ * @param groupId
+ * @return
+ */
+ @GetMapping("/updateFenceGroupById")
+ @Operation(summary = "修改围栏状态为关闭",description = "修改围栏状态为关闭")
+ public Result updateFenceGroupById(@RequestParam("groupId") Long groupId){
+ Integer states = 1;
+ carFenceUpdateService.updateById(FenceGroup.closeCarFenceUpdateById(states,groupId));
+
+ return Result.success("成功");
+ }
+
+
+}
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/controller/MiddleController.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/controller/MiddleController.java
index 7e6de8c..43a334e 100644
--- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/controller/MiddleController.java
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/controller/MiddleController.java
@@ -3,6 +3,7 @@ package com.muyu.controller;
import com.muyu.common.core.domain.Result;
import com.muyu.domain.FenceGroup;
import com.muyu.domain.req.CarFenceAdd;
+import com.muyu.domain.req.FenceGroupUpdateReq;
import com.muyu.service.CarFenceServiceMybaits;
import com.muyu.service.MiddleService;
import io.swagger.v3.oas.annotations.Operation;
@@ -28,8 +29,6 @@ import java.util.List;
@Tag(name = "中间表添加",description = "添加")
@Log4j2
public class MiddleController {
- @Autowired
- private MiddleService middleService;
@Autowired
private CarFenceServiceMybaits carFenceServiceMybaits;
@@ -39,12 +38,10 @@ public class MiddleController {
* 添加围栏组 多对多
*/
@PostMapping("/addCarFence")
- @Operation(summary = "添加中间",description = "添加中间")
+ @Operation(summary = "添加中间围栏和围栏组",description = "添加中间")
public Result addCarFence(@RequestParam("fenceGroupId") Integer fenceGroupId, @RequestBody List carFences){
- carFenceServiceMybaits.addFenceGroup(fenceGroupId,carFences);
- System.out.println("围栏组Id"+fenceGroupId);
- System.out.println("围栏Id"+carFences);
- return Result.success("成功");
+ boolean i = carFenceServiceMybaits.saveBatch(carFences,fenceGroupId);
+ return i?Result.success("添加成功"):Result.error("失败");
}
/**
@@ -55,17 +52,22 @@ public class MiddleController {
@GetMapping("/updateFenceGroupById")
@Operation(summary = "修改围栏状态",description = "修改围栏状态")
public Result updateFenceGroupById(@RequestParam("groupId") Integer groupId){
+ carFenceServiceMybaits.updateFenceGroupById(groupId);
- return Result.success(carFenceServiceMybaits.updateFenceGroupById(groupId));
+ return Result.success();
}
/**
* 启动围栏
*/
- @GetMapping("/activate")
+ @PutMapping("/activate")
@Operation(summary = "启动围栏状态",description = "启动围栏状态")
- public Result activate(@RequestParam("groupId") Integer groupId){
- return Result.success(carFenceServiceMybaits.activate(groupId));
+ public Result activate(@RequestBody FenceGroupUpdateReq fenceGroupUpdateReq){
+ Integer states = 0;
+ FenceGroup fenceGroup = FenceGroup.carFenceUpdateById(states, fenceGroupUpdateReq);
+ boolean b = carFenceServiceMybaits.updateById(fenceGroup);
+
+ return Result.success("成功");
}
/**
@@ -74,20 +76,21 @@ public class MiddleController {
@GetMapping("/BoundFenceGroup")
@Operation(summary = "根据围栏组的id查询绑定的围栏的中间表",description = "根据围栏组的id查询绑定的围栏的中间表")
public Result BoundFenceGroup(@RequestParam("groupId") Integer groupId){
-
- return Result.success(carFenceServiceMybaits.BoundFenceGroup(groupId));
- }
-
- /**
- * 根据围栏组和车辆的id添加中间表
- */
- @PostMapping("/addFenceGroupAddCarMiddle")
- @Operation(summary = "根据围栏组和车辆的id添加中间表",description = "根据围栏组和车辆的id添加中间表")
- public Result addFenceGroupAddCarMiddle(@RequestParam("carId") Integer carId , @RequestBody List fenceGroups ){
- carFenceServiceMybaits.addFenceGroupAddCarMiddle(carId,fenceGroups);
+ carFenceServiceMybaits.BoundFenceGroup(groupId);
+ carFenceServiceMybaits.list(groupId);
return Result.success();
}
+// /**
+// * 根据围栏组和车辆的id添加中间表
+// */
+// @PostMapping("/addFenceGroupAddCarMiddle")
+// @Operation(summary = "根据围栏组和车辆的id添加中间表",description = "根据围栏组和车辆的id添加中间表")
+// public Result addFenceGroupAddCarMiddle(@RequestParam("carId") Integer carId , @RequestBody List fenceGroups ){
+// boolean b = carFenceServiceMybaits.addFenceGroupAddCarMiddle(carId,fenceGroups);
+// return Result.success();
+// }
+
/**
* 获取绑定的围栏组
*/
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/mapper/CarAndFenceGroupMiddleMapper.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/mapper/CarAndFenceGroupMiddleMapper.java
new file mode 100644
index 0000000..ea8ace3
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/mapper/CarAndFenceGroupMiddleMapper.java
@@ -0,0 +1,19 @@
+package com.muyu.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.muyu.common.core.web.controller.BaseController;
+import com.muyu.domain.CarAndGroupMiddle;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 车辆和围栏组中间表
+ * @Author:yan
+ * @Package:com.muyu.mapper
+ * @Project:plues
+ * @name:CarAndFenceGroupMiddleMapper
+ * @Date:2024/9/29 20:12
+ */
+@Mapper
+public interface CarAndFenceGroupMiddleMapper extends BaseMapper {
+
+}
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/mapper/CarFenceServiceMybaitsMapper.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/mapper/CarFenceServiceMybaitsMapper.java
index e41f497..530a780 100644
--- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/mapper/CarFenceServiceMybaitsMapper.java
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/mapper/CarFenceServiceMybaitsMapper.java
@@ -1,8 +1,9 @@
package com.muyu.mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.domain.CarFence;
import com.muyu.domain.CarMiddle;
-import com.muyu.domain.FenceAndGroupMiddle;
+import com.muyu.domain.CarAndGroupMiddle;
import com.muyu.domain.FenceGroup;
import com.muyu.domain.req.CarFenceGroup;
import org.apache.ibatis.annotations.Mapper;
@@ -19,7 +20,7 @@ import java.util.List;
* * @Date:2024/9/22 19:25
*/
@Mapper
-public interface CarFenceServiceMybaitsMapper {
+public interface CarFenceServiceMybaitsMapper extends BaseMapper {
void fenceAdd(CarFenceGroup carFence);
@@ -71,12 +72,12 @@ public interface CarFenceServiceMybaitsMapper {
* @param carId
* @return
*/
- List selectBoundGFenceGroup(@Param("carId") Integer carId);
+ List selectBoundGFenceGroup(@Param("carId") Integer carId);
/**
* 获取围栏组的数据
* @param carGroupId 参数
* @return
*/
- FenceGroup selectGroup(@Param("carGroupId") Integer carGroupId);
+ FenceGroup selectGroup(@Param("carGroupId") Long carGroupId);
}
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/mapper/CarFenceUpdateMapper.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/mapper/CarFenceUpdateMapper.java
new file mode 100644
index 0000000..207ec23
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/mapper/CarFenceUpdateMapper.java
@@ -0,0 +1,18 @@
+package com.muyu.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.muyu.domain.CarFence;
+import com.muyu.domain.FenceGroup;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 围栏组的修改状态
+ * @Author:yan
+ * @Package:com.muyu.mapper
+ * @Project:plues
+ * @name:CarFenceUpdateMapper
+ * @Date:2024/9/30 09:13
+ */
+@Mapper
+public interface CarFenceUpdateMapper extends BaseMapper {
+}
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/CarAndFenceGroupMiddleService.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/CarAndFenceGroupMiddleService.java
new file mode 100644
index 0000000..9a4cdca
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/CarAndFenceGroupMiddleService.java
@@ -0,0 +1,22 @@
+package com.muyu.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.domain.CarAndGroupMiddle;
+import com.muyu.domain.FenceGroup;
+
+import java.util.List;
+
+/**
+ * 车辆和围栏组中间表
+ * @Author:yan
+ * @Package:com.muyu.service
+ * @Project:plues
+ * @name:CarAndFenceGroupMiddleService
+ * @Date:2024/9/29 20:10
+ */
+public interface CarAndFenceGroupMiddleService extends IService {
+ /**
+ * 根据围栏组和车辆的id添加中间表
+ */
+ boolean saveBatch(List fenceGroups, Integer carId);
+}
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/CarFenceServiceMybaits.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/CarFenceServiceMybaits.java
index 913cb27..e8491e2 100644
--- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/CarFenceServiceMybaits.java
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/CarFenceServiceMybaits.java
@@ -1,6 +1,8 @@
package com.muyu.service;
+import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.domain.CarFence;
+import com.muyu.domain.CarMiddle;
import com.muyu.domain.FenceGroup;
import com.muyu.domain.req.CarFenceAdd;
@@ -14,15 +16,18 @@ import java.util.List;
* * @name:CarFenceServiceMybaits
* * @Date:2024/9/22 19:24
*/
-public interface CarFenceServiceMybaits {
- void add(Integer fenceGroupId, List carFenceId);
+public interface CarFenceServiceMybaits extends IService {
+
/**
* 添加多对多围栏组
+ *
* @param fenceGroupId
* @param carFences
+ * @return
*/
- void addFenceGroup(Integer fenceGroupId, List carFences);
+ boolean saveBatch(List carFences, Integer fenceGroupId);
+
/**
* 修改围栏状态
@@ -31,19 +36,22 @@ public interface CarFenceServiceMybaits {
*/
Object updateFenceGroupById(Integer groupId);
+
/**
* 启动围栏
*/
Object activate(Integer groupId);
+ boolean updateById(FenceGroup FenceGroup);
/**
* 根据围栏组的id查询绑定的围栏的中间表
*/
List BoundFenceGroup(Integer groupId);
+ void list(Integer groupId);
- /**
- * 根据围栏组和车辆的id添加中间表
- */
- void addFenceGroupAddCarMiddle(Integer id, List fenceGroups);
+// /**
+// * 根据围栏组和车辆的id添加中间表
+// */
+// boolean addFenceGroupAddCarMiddle(Integer id, List fenceGroups);
/**
* 获取绑定的围栏组
@@ -51,4 +59,6 @@ public interface CarFenceServiceMybaits {
*/
List selectBoundGFenceGroup(Integer carId);
+
+
}
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/CarFenceUpdateService.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/CarFenceUpdateService.java
new file mode 100644
index 0000000..e1b6933
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/CarFenceUpdateService.java
@@ -0,0 +1,16 @@
+package com.muyu.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.domain.CarFence;
+import com.muyu.domain.FenceGroup;
+
+/**
+ * 围栏组的修改状态
+ * @Author:yan
+ * @Package:com.muyu.service
+ * @Project:plues
+ * @name:CarFenceUpdateService
+ * @Date:2024/9/30 09:12
+ */
+public interface CarFenceUpdateService extends IService {
+}
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/impl/CarAndFenceGroupMiddleServiceImpl.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/impl/CarAndFenceGroupMiddleServiceImpl.java
new file mode 100644
index 0000000..73e9793
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/impl/CarAndFenceGroupMiddleServiceImpl.java
@@ -0,0 +1,41 @@
+package com.muyu.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.muyu.domain.CarAndGroupMiddle;
+import com.muyu.domain.FenceGroup;
+import com.muyu.mapper.CarAndFenceGroupMiddleMapper;
+import com.muyu.service.CarAndFenceGroupMiddleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 车辆和围栏组中间表
+ * @Author:yan
+ * @Package:com.muyu.service.impl
+ * @Project:plues
+ * @name:CarAndFenceGroupMiddleServiceImpl
+ * @Date:2024/9/29 20:11
+ */
+@Service
+public class CarAndFenceGroupMiddleServiceImpl extends ServiceImpl implements CarAndFenceGroupMiddleService {
+ @Autowired
+ private CarAndFenceGroupMiddleMapper carAndFenceGroupMiddleMapper;
+
+ /**
+ * 根据围栏组和车辆的id添加中间表
+ */
+ @Override
+ public boolean saveBatch(List fenceGroups, Integer carId) {
+ List list = fenceGroups.stream().map(fenceGroup -> {
+ CarAndGroupMiddle carAndGroupMiddle = new CarAndGroupMiddle();
+ //获取围栏组的id
+ carAndGroupMiddle.setGroupId(fenceGroup.getGroupId());
+ carAndGroupMiddle.setCarId(carId);
+ return carAndGroupMiddle;
+ }).toList();
+ boolean b = this.saveBatch(list);
+ return b;
+ }
+}
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/impl/CarFenceServiceMybaitsImpl.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/impl/CarFenceServiceMybaitsImpl.java
index 9a60f37..6698602 100644
--- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/impl/CarFenceServiceMybaitsImpl.java
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/impl/CarFenceServiceMybaitsImpl.java
@@ -1,12 +1,16 @@
package com.muyu.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.domain.CarFence;
import com.muyu.domain.CarMiddle;
-import com.muyu.domain.FenceAndGroupMiddle;
+import com.muyu.domain.CarAndGroupMiddle;
import com.muyu.domain.FenceGroup;
import com.muyu.domain.req.CarFenceAdd;
import com.muyu.mapper.CarFenceServiceMybaitsMapper;
import com.muyu.service.CarFenceServiceMybaits;
+import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -22,40 +26,34 @@ import java.util.List;
* * @Date:2024/9/22 19:24
*/
@Service
-public class CarFenceServiceMybaitsImpl implements CarFenceServiceMybaits {
+@Log4j2
+public class CarFenceServiceMybaitsImpl extends ServiceImpl implements CarFenceServiceMybaits {
@Autowired
private CarFenceServiceMybaitsMapper carFenceServiceMybaitsMapper;
- /**
- * 添加多对多围栏组
- * @param fenceGroupId
- * @param carFenceId
- */
- @Override
- public void add(Integer fenceGroupId, List carFenceId) {
- for (Integer integer : carFenceId) {
- Integer addMiddle = carFenceServiceMybaitsMapper.addGroup(fenceGroupId,integer);
- }
-
-
-
- }
/**
* 添加多对多围栏组
+ *
* @param fenceGroupId
* @param carFences
+ * @return
*/
@Override
- public void addFenceGroup(Integer fenceGroupId, List carFences) {
- for (CarFenceAdd carFence : carFences) {
- Integer id = carFence.getId();
- Integer addMiddle = carFenceServiceMybaitsMapper.addFenceGroup(fenceGroupId,id);
- }
+ public boolean saveBatch(List carFences, Integer fenceGroupId) {
+ List list = carFences.stream().map(carFenceAdd -> {
+ CarMiddle carMiddle = new CarMiddle();
+ carMiddle.setCarFenceId(carFenceAdd.getId());
+ carMiddle.setCarGroupId(fenceGroupId);
+ return carMiddle;
+ }).toList();
+ boolean b = this.saveBatch(list);
+ return b;
}
+
/**
* 修改围栏组状态
* @param groupId
@@ -75,6 +73,11 @@ public class CarFenceServiceMybaitsImpl implements CarFenceServiceMybaits {
carFenceServiceMybaitsMapper.activate(groupId);
return null;
}
+// @Override
+// public void updateById(FenceGroup groupId) {
+//
+// this.updateById(groupId);
+// }
/**
* 根据围栏组的id查询绑定的围栏的中间表
@@ -93,21 +96,35 @@ public class CarFenceServiceMybaitsImpl implements CarFenceServiceMybaits {
return carFences;
}
- /**
- * 根据围栏组和车辆的id添加中间表
- */
@Override
- public void addFenceGroupAddCarMiddle(Integer id, List fenceGroups) {
+ public void list(Integer groupId) {
- //遍历集合
- for (FenceGroup fenceGroup : fenceGroups) {
- //获取围栏组的id
- Integer groupId = fenceGroup.getGroupId();
- carFenceServiceMybaitsMapper.addFenceGroupAddCarMiddle(id,groupId);
- }
+ CarMiddle carMiddle = carFenceServiceMybaitsMapper.selectById(groupId);
+
+ Integer carFenceId = carMiddle.getCarFenceId();
+
+ System.out.println(carFenceId);
}
+// /**
+// * 根据围栏组和车辆的id添加中间表
+// */
+// @Override
+// public boolean addFenceGroupAddCarMiddle(Integer id, List fenceGroups) {
+// //遍历集合
+// List list = fenceGroups.stream().map(fenceGroup -> {
+// CarAndGroupMiddle carAndGroupMiddle = new CarAndGroupMiddle();
+// //获取围栏组的id
+// carAndGroupMiddle.setGroupId(fenceGroup.getGroupId());
+// carAndGroupMiddle.setCarId(id);
+// return carAndGroupMiddle;
+// }).toList();
+//
+//
+// return true;
+// }
+
/**
* 获取绑定的围栏组
* @param carId
@@ -115,18 +132,28 @@ public class CarFenceServiceMybaitsImpl implements CarFenceServiceMybaits {
@Override
public List selectBoundGFenceGroup(Integer carId) {
/*根据id查询围栏组的id*/
- List list = carFenceServiceMybaitsMapper.selectBoundGFenceGroup(carId);
+ List list = carFenceServiceMybaitsMapper.selectBoundGFenceGroup(carId);
ArrayList fenceGroups = new ArrayList<>();
/*循环*/
- for (FenceAndGroupMiddle fenceAndGroupMiddle : list) {
+ for (CarAndGroupMiddle fenceAndGroupMiddle : list) {
/**
* 获取围栏组的id
*/
- Integer carGroupId = fenceAndGroupMiddle.getGroupId();
+ Long carGroupId = fenceAndGroupMiddle.getGroupId();
//获取围栏组的数据 并 存入list
fenceGroups.add(carFenceServiceMybaitsMapper.selectGroup(carGroupId));
}
return fenceGroups;
}
+
+ @Override
+ public boolean updateById(FenceGroup fenceGroup) {
+ Long groupId = fenceGroup.getGroupId();
+ boolean b = this.updateById(fenceGroup);
+
+ return b;
+ }
+
+
}
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/impl/CarFenceUpdateServiceImpl.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/impl/CarFenceUpdateServiceImpl.java
new file mode 100644
index 0000000..898b9e3
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/impl/CarFenceUpdateServiceImpl.java
@@ -0,0 +1,26 @@
+package com.muyu.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.muyu.domain.CarFence;
+import com.muyu.domain.FenceGroup;
+import com.muyu.mapper.CarFenceUpdateMapper;
+import com.muyu.service.CarFenceUpdateService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 围栏组的修改状态
+ * @Author:yan
+ * @Package:com.muyu.service.impl
+ * @Project:plues
+ * @name:CarFenceUpdateServiceImpl
+ * @Date:2024/9/30 09:12
+ * 围栏组的修改状态
+ */
+
+@Service
+public class CarFenceUpdateServiceImpl extends ServiceImpl implements CarFenceUpdateService {
+ @Autowired
+ private CarFenceUpdateMapper carFenceUpdateMapper;
+
+}
diff --git a/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml b/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml
new file mode 100644
index 0000000..b710426
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml
@@ -0,0 +1,39 @@
+
+
+ 4.0.0
+
+ com.muyu
+ cloud-modules-enterprise
+ 3.6.3
+
+
+ enterprise-cache
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+ com.muyu
+ enterpise-common
+
+
+
+ com.muyu
+ cloud-common-cache
+ 3.6.3
+
+
+ com.muyu
+ cloud-modules-vehicle-gateway
+ 3.6.3
+ compile
+
+
+
+
diff --git a/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/java/com/muyu/enterprise/cache/VehicleCacheService.java b/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/java/com/muyu/enterprise/cache/VehicleCacheService.java
new file mode 100644
index 0000000..019fa3a
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/java/com/muyu/enterprise/cache/VehicleCacheService.java
@@ -0,0 +1,28 @@
+package com.muyu.enterprise.cache;
+
+import com.muyu.common.cache.CacheAbsBasic;
+import com.muyu.domain.CarInformation;
+
+/**
+ * 车辆缓存服务
+ * @className: VehicleCacheService ️✈️
+ * @author: Yang 鹏 🦅
+ * @date: 2024/9/30 00:36 ⏰
+ * @Version: 1.0
+ * @description:
+ */
+public class VehicleCacheService extends CacheAbsBasic {
+
+ @Override
+ public String keyPre() {
+ return "vehicle:info:";
+ }
+
+ @Override
+ public String decode(String key){
+ return key.replace("vehicle:info:","");
+ }
+
+
+}
+
diff --git a/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 0000000..93f24ed
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1 @@
+com.muyu.enterprise.cache.VehicleCacheService
diff --git a/cloud-modules/cloud-vx/pom.xml b/cloud-modules/cloud-vx/pom.xml
index 6e7cc2a..1ff8a00 100644
--- a/cloud-modules/cloud-vx/pom.xml
+++ b/cloud-modules/cloud-vx/pom.xml
@@ -59,6 +59,11 @@
2.0.43
+
+
+
+
+
diff --git a/cloud-modules/cloud-vx/src/main/java/com/muyu/service/Impl/WxServiceImpl.java b/cloud-modules/cloud-vx/src/main/java/com/muyu/service/Impl/WxServiceImpl.java
index 69c4702..9976d5a 100644
--- a/cloud-modules/cloud-vx/src/main/java/com/muyu/service/Impl/WxServiceImpl.java
+++ b/cloud-modules/cloud-vx/src/main/java/com/muyu/service/Impl/WxServiceImpl.java
@@ -3,6 +3,7 @@ package com.muyu.service.Impl;
import com.alibaba.fastjson2.JSONObject;
import com.muyu.domain.Message;
import com.muyu.domain.SubscribedUser;
+
import com.muyu.service.WxService;
import com.muyu.util.OkHttpUtils;
import com.muyu.util.TokenUtil;
@@ -14,6 +15,7 @@ import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
diff --git a/pom.xml b/pom.xml
index e2515e1..ea7720f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -283,11 +283,11 @@
${muyu.version}
-
- com.muyu
- enterpise-client
- ${muyu.version}
-
+
+
+
+
+
From a66329500cebcb4ee0322dc4ba97272328aada65 Mon Sep 17 00:00:00 2001
From: YangPeng <3074487626@qq.com>
Date: Mon, 30 Sep 2024 14:34:49 +0800
Subject: [PATCH 2/6] =?UTF-8?q?feat():=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/muyu/controller/MiddleController.java | 11 +-------
.../muyu/service/CarFenceServiceMybaits.java | 6 +----
.../impl/CarFenceServiceMybaitsImpl.java | 25 -------------------
3 files changed, 2 insertions(+), 40 deletions(-)
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/controller/MiddleController.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/controller/MiddleController.java
index 43a334e..b311553 100644
--- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/controller/MiddleController.java
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/controller/MiddleController.java
@@ -77,19 +77,10 @@ public class MiddleController {
@Operation(summary = "根据围栏组的id查询绑定的围栏的中间表",description = "根据围栏组的id查询绑定的围栏的中间表")
public Result BoundFenceGroup(@RequestParam("groupId") Integer groupId){
carFenceServiceMybaits.BoundFenceGroup(groupId);
- carFenceServiceMybaits.list(groupId);
return Result.success();
}
-// /**
-// * 根据围栏组和车辆的id添加中间表
-// */
-// @PostMapping("/addFenceGroupAddCarMiddle")
-// @Operation(summary = "根据围栏组和车辆的id添加中间表",description = "根据围栏组和车辆的id添加中间表")
-// public Result addFenceGroupAddCarMiddle(@RequestParam("carId") Integer carId , @RequestBody List fenceGroups ){
-// boolean b = carFenceServiceMybaits.addFenceGroupAddCarMiddle(carId,fenceGroups);
-// return Result.success();
-// }
+
/**
* 获取绑定的围栏组
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/CarFenceServiceMybaits.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/CarFenceServiceMybaits.java
index e8491e2..ee1d1dc 100644
--- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/CarFenceServiceMybaits.java
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/CarFenceServiceMybaits.java
@@ -46,12 +46,8 @@ public interface CarFenceServiceMybaits extends IService {
* 根据围栏组的id查询绑定的围栏的中间表
*/
List BoundFenceGroup(Integer groupId);
- void list(Integer groupId);
-// /**
-// * 根据围栏组和车辆的id添加中间表
-// */
-// boolean addFenceGroupAddCarMiddle(Integer id, List fenceGroups);
+
/**
* 获取绑定的围栏组
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/impl/CarFenceServiceMybaitsImpl.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/impl/CarFenceServiceMybaitsImpl.java
index 6698602..cce2bd6 100644
--- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/impl/CarFenceServiceMybaitsImpl.java
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/impl/CarFenceServiceMybaitsImpl.java
@@ -96,34 +96,9 @@ public class CarFenceServiceMybaitsImpl extends ServiceImpl fenceGroups) {
-// //遍历集合
-// List list = fenceGroups.stream().map(fenceGroup -> {
-// CarAndGroupMiddle carAndGroupMiddle = new CarAndGroupMiddle();
-// //获取围栏组的id
-// carAndGroupMiddle.setGroupId(fenceGroup.getGroupId());
-// carAndGroupMiddle.setCarId(id);
-// return carAndGroupMiddle;
-// }).toList();
-//
-//
-// return true;
-// }
/**
* 获取绑定的围栏组
From bd2865ebc5ba104f44e9ab7745d454d9a1aafe02 Mon Sep 17 00:00:00 2001
From: YangPeng <3074487626@qq.com>
Date: Mon, 30 Sep 2024 14:43:22 +0800
Subject: [PATCH 3/6] =?UTF-8?q?feat():=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/muyu/controller/MiddleController.java | 14 ---------
.../mapper/CarFenceServiceMybaitsMapper.java | 11 -------
.../muyu/service/CarFenceServiceMybaits.java | 2 +-
.../impl/CarFenceServiceMybaitsImpl.java | 30 +------------------
.../mapper/CarFenceServiceMybaitsMapper.xml | 7 +----
5 files changed, 3 insertions(+), 61 deletions(-)
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/controller/MiddleController.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/controller/MiddleController.java
index b311553..2eaa3cd 100644
--- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/controller/MiddleController.java
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/controller/MiddleController.java
@@ -32,8 +32,6 @@ public class MiddleController {
@Autowired
private CarFenceServiceMybaits carFenceServiceMybaits;
-
-
/**
* 添加围栏组 多对多
*/
@@ -57,18 +55,6 @@ public class MiddleController {
return Result.success();
}
- /**
- * 启动围栏
- */
- @PutMapping("/activate")
- @Operation(summary = "启动围栏状态",description = "启动围栏状态")
- public Result activate(@RequestBody FenceGroupUpdateReq fenceGroupUpdateReq){
- Integer states = 0;
- FenceGroup fenceGroup = FenceGroup.carFenceUpdateById(states, fenceGroupUpdateReq);
- boolean b = carFenceServiceMybaits.updateById(fenceGroup);
-
- return Result.success("成功");
- }
/**
* 根据围栏组的id查询绑定的围栏的中间表
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/mapper/CarFenceServiceMybaitsMapper.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/mapper/CarFenceServiceMybaitsMapper.java
index 530a780..6c19f7e 100644
--- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/mapper/CarFenceServiceMybaitsMapper.java
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/mapper/CarFenceServiceMybaitsMapper.java
@@ -33,17 +33,6 @@ public interface CarFenceServiceMybaitsMapper extends BaseMapper {
*/
Integer addFenceGroup(@Param("fenceGroupId") Integer fenceGroupId, @Param("id") Integer id);
- /**
- * 修改围栏组状态
- * @param groupId
- * @return
- */
- void updateFenceGroupById(@Param("groupId") Integer groupId);
-
- /**
- * 启动围栏
- */
- void activate(@Param("groupId") Integer groupId);
/**
* 根据围栏组的id查询绑定的围栏的中间表
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/CarFenceServiceMybaits.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/CarFenceServiceMybaits.java
index ee1d1dc..8cc0938 100644
--- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/CarFenceServiceMybaits.java
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/CarFenceServiceMybaits.java
@@ -41,7 +41,7 @@ public interface CarFenceServiceMybaits extends IService {
* 启动围栏
*/
Object activate(Integer groupId);
- boolean updateById(FenceGroup FenceGroup);
+
/**
* 根据围栏组的id查询绑定的围栏的中间表
*/
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/impl/CarFenceServiceMybaitsImpl.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/impl/CarFenceServiceMybaitsImpl.java
index cce2bd6..533555f 100644
--- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/impl/CarFenceServiceMybaitsImpl.java
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/service/impl/CarFenceServiceMybaitsImpl.java
@@ -54,30 +54,8 @@ public class CarFenceServiceMybaitsImpl extends ServiceImpl
insert into car_group_middle values (0,#{id},#{groupId})
-
- update fence_group set group_states = 1 where group_id = #{groupId}
-
-
- update fence_group set group_states = 0 where group_id = #{groupId}
-
+
+
+ com.muyu
+ enterpise-common
+
diff --git a/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/domain/InformationData.java b/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/domain/InformationData.java
new file mode 100644
index 0000000..69d9b96
--- /dev/null
+++ b/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/domain/InformationData.java
@@ -0,0 +1,21 @@
+package com.muyu.common.domain;
+
+import com.muyu.domain.SysCar;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author WangXin
+ * @Data 2024/9/30
+ * @Description 消息数据对象
+ * @Version 1.0.0
+ */
+@Data
+@SuperBuilder
+@AllArgsConstructor
+@NoArgsConstructor
+public class InformationData {
+ private SysCar sysCar;
+}
diff --git a/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/config/IotDBSessionConfig.java b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/config/IotDBSessionConfig.java
index 042acf0..be4af58 100644
--- a/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/config/IotDBSessionConfig.java
+++ b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/config/IotDBSessionConfig.java
@@ -20,6 +20,9 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import static com.muyu.common.iotdb.constant.IotdbConstant.ROOT_DATA_DATAJSON;
+import static com.muyu.common.iotdb.constant.IotdbConstant.SELECT_ROOT_DATA_DATAJSON_DATASOURCE;
+
/**
* @Author WangXin
* @Data 2024/9/30
@@ -64,18 +67,23 @@ public class IotDBSessionConfig {
* @param deviceId
* @param time
* @param measurements
- * @param values
+ * @param value
*/
- public void insertRecord(SessionPool sessionPool,String deviceId, long time, List measurements, List values) {
+ public void insertRecord(SessionPool sessionPool,String deviceId,
+ long time, List measurements,List dataTypeList, JSONObject value) {
try {
- log.info("iotdb数据入库:device_id:[{}], measurements:[{}], values:[{}]", deviceId, measurements, values);
- sessionPool.insertRecord(deviceId, time, measurements, values);
+ log.info("iotdb数据入库:device_id:[{}], measurements:[{}], values:[{}]", deviceId, measurements, value);
+ sessionPool.insertRecord(deviceId, time, measurements,dataTypeList,new Object[]{value.toJSONString()});
} catch (Exception e) {
log.error("IotDBSession insertRecord失败: deviceId={}, time={}, measurements={}, values={}, error={}",
- deviceId, time, measurements, values, e.getMessage());
+ deviceId, time, measurements, value, e.getMessage());
}
}
+ public void JSONObject(JSONObject value){
+
+ }
+
public SessionDataSet selectRecord(SessionPool sessionPool,String sql) {
log.info("iotdb数据查询:sql:[{}]",sql);
SessionDataSetWrapper sessionDataSetWrapper = null;
@@ -90,11 +98,29 @@ public class IotDBSessionConfig {
}
+ public JSONObject getJsonFindByTime(SessionPool sessionPool,String fieldName,String deviceId,Long timestamp) {
+ String sql = String.format("SELECT %s FROM %s WHERE time = %d", fieldName, deviceId, timestamp);
+ SessionDataSet sessionDataSet = selectRecord(sessionPool, sql);
+ try {
+ while (sessionDataSet.hasNext()){
+ RowRecord next = sessionDataSet.next();
+ for (Field field : next.getFields()) {
+ String stringValue = field.getStringValue();
+ }
+ }
+ } catch (StatementExecutionException e) {
+ throw new RuntimeException(e);
+ } catch (IoTDBConnectionException e) {
+ throw new RuntimeException(e);
+ }
+ return null;
+ }
+
+
public static void main(String[] args) {
SessionPool sessionPool = new SessionPool("127.0.0.1", 6667, "root", "root", 10);
- String ROOT_DATA_DATAJSON = "root.car.data.datajson";
- String SELECT_ROOT_DATA_DATAJSON_DATASOURCE = "select * from root.car.data.datajson";
+
String jsonValue = """
{
@@ -110,14 +136,13 @@ public class IotDBSessionConfig {
}
}
""";
+ JSONObject value = JSONObject.parseObject(jsonValue);
IotDBSessionConfig iotDBSessionConfig = new IotDBSessionConfig();
- List values = new ArrayList<>();
- values.add(jsonValue);
- ArrayList objects = new ArrayList<>();
- objects.add("datasource");
- iotDBSessionConfig.insertRecord(sessionPool,ROOT_DATA_DATAJSON,System.currentTimeMillis(),objects,values);
+ List measurements = List.of("datasource");
+ List datatypeList = List.of(TSDataType.TEXT);
+ iotDBSessionConfig.insertRecord(sessionPool,ROOT_DATA_DATAJSON,System.currentTimeMillis(),measurements,datatypeList,value);
SessionDataSet sessionDataSet = iotDBSessionConfig.selectRecord(sessionPool,SELECT_ROOT_DATA_DATAJSON_DATASOURCE);
@@ -140,7 +165,6 @@ public class IotDBSessionConfig {
} catch (IoTDBConnectionException e) {
throw new RuntimeException(e);
}
-
log.info("数据为:{}", JSONObject.toJSONString(longMapHashMap));
}
diff --git a/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/constant/IotdbConstant.java b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/constant/IotdbConstant.java
new file mode 100644
index 0000000..7cc1e24
--- /dev/null
+++ b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/constant/IotdbConstant.java
@@ -0,0 +1,13 @@
+package com.muyu.common.iotdb.constant;
+
+/**
+ * @Author WangXin
+ * @Data 2024/9/30
+ * @Description iotdb数据库常量
+ * @Version 1.0.0
+ */
+public interface IotdbConstant {
+
+ String ROOT_DATA_DATAJSON = "root.car.data.datajson";
+ String SELECT_ROOT_DATA_DATAJSON_DATASOURCE = "select * from root.car.data.datajson";
+}
diff --git a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/TopicConfig.java b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/TopicConfig.java
new file mode 100644
index 0000000..58d717b
--- /dev/null
+++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/TopicConfig.java
@@ -0,0 +1,75 @@
+package com.muyu.common.rabbit.config;
+
+import org.springframework.amqp.core.*;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @Author: WangXin
+ * @Time: 2024/4/22 11:55
+ * @Description: 主题模式配置
+ */
+@Configuration
+public class TopicConfig {
+
+ /**
+ * 主题模式交换机
+ * @return exchange
+ */
+ @Bean(name = "topicExchange")
+ public Exchange getTopicExchange(){
+ return ExchangeBuilder
+ .topicExchange("exchange_topic")
+ .build();
+ }
+
+ /**
+ * 主题队列 01
+ * @return queue
+ */
+ @Bean(name = "topicQueue01")
+ public Queue getTopicQueue01(){
+ return QueueBuilder
+ .durable("queue_topic_01")
+ .build();
+ }
+
+ /**
+ * 主题队列 02
+ * @return queue
+ */
+ @Bean(name = "topicQueue02")
+ public Queue getTopicQueue02(){
+ return QueueBuilder
+ .durable("queue_topic_02")
+ .build();
+ }
+
+ /**
+ * 绑定队列 01
+ * @return binding
+ */
+ @Bean
+ public Binding getTopicBinding01(){
+ return BindingBuilder
+ .bind(getTopicQueue01())
+ .to(getTopicExchange())
+ //路由键 队列1接收debug级别的消息
+ .with("front.#")
+ .noargs();
+ }
+
+ /**
+ * 绑定队列 02
+ * @return binding
+ */
+ @Bean
+ public Binding getTopicBinding02(){
+ return BindingBuilder
+ .bind(getTopicQueue02())
+ .to(getTopicExchange())
+ // 路由键 队列2接收info级别的消息
+ .with("back.order.*")
+ .noargs();
+ }
+}
diff --git a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/constants/RabbitmqConstants.java b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/constants/RabbitmqConstants.java
index dbd4c9d..8feea85 100644
--- a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/constants/RabbitmqConstants.java
+++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/constants/RabbitmqConstants.java
@@ -6,17 +6,29 @@ package com.muyu.common.rabbit.constants;
* @Description: rabbitmq常量
* @Version 1.0.0
*/
-public class RabbitmqConstants {
+public interface RabbitmqConstants {
//普通队列
- public static final String BASIC_QUEUE_NAME = "BASIC_QUEUE_NAME";
+ String BASIC_QUEUE_NAME = "BASIC_QUEUE_NAME";
- public static final String lOG_QUEUE_NAME = "LOG_QUEUE_NAME";
+ String lOG_QUEUE_NAME = "LOG_QUEUE_NAME";
//延迟队列
//队列名称
- public static final String DELAYED_QUEUE_NAME = "delayed_queue";
+ String DELAYED_QUEUE_NAME = "delayed_queue";
//交换机名称
- public static final String DELAYED_EXCHANGE_NAME = "DELAYED_EXCHANGE";
+ String DELAYED_EXCHANGE_NAME = "DELAYED_EXCHANGE";
//交换机
- public static final String DELAYED_ROUTING_KEY = "delayed";
+ String DELAYED_ROUTING_KEY = "delayed";
+ /**
+ * 上下线监听交换机
+ */
+ String TOP_BOTTOM_STITCHING = "top_bottom_stitching";
+ /**
+ * 上线规则
+ */
+ String TOP_RULE = "car.top.data";
+ /**
+ * 车辆下线规则
+ */
+ String BOTTOM_RULE = "car.bottom.data";
}
diff --git a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/consumer/RabbitMQConsumerUtil.java b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/consumer/RabbitMQConsumerUtil.java
index 58d0663..2181562 100644
--- a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/consumer/RabbitMQConsumerUtil.java
+++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/consumer/RabbitMQConsumerUtil.java
@@ -77,5 +77,64 @@ public class RabbitMQConsumerUtil {
}
+ /**
+ * 普通消费者
+ * @param data 数据类型
+ * @param message
+ * @param channel
+ */
+ public void carUpConsumer(String data,Message message , Channel channel) {
+ log.info("当前时间:{} :RabbitMQConsumerUtil : {}", new Date(), message);
+ try {
+ // 获取到消息 开始消费
+ log.info("消息消费者接收到消息,消息内容:{}", JSONObject.toJSONString(data));
+
+
+ Long add = redisService.redisTemplate.opsForSet().add(data, message.getMessageProperties().getMessageId());
+
+ if (add != 1) {
+ return;
+ }
+
+
+ /**
+ * -----------------------------------以下为异步业务操作----------------------------
+ */
+ log.info("[ 根据vin拿到缓存 ] vin为 --》 {}",data);
+ log.info("[ 存入本地缓存 ] 数据为 --》 {}",data);
+ log.info("[ 存入本地缓存 ] 数据为 --》 {}",data);
+ /**
+ * ------------------------------------------------------------------------------
+ */
+ // 消费消息成功之后需要确认
+ // long deliveryTag 消息投递序号 自增的数字 在整个队列中唯一 拿到这个序号就相当于拿到这条消息
+ // boolean multiple 是否批量确认 true 批量 确认小于等于当前投递序号的消息 false 单个确认
+ channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
+ log.info("xxx消费者接收到消息,消息内容:{},消费成功...", message);
+
+ } catch (Exception e) {
+ log.error("xxx消费者接收到消息,消息内容:{},消费消息异常,异常信息:{}", message, e);
+ // 消息回退 拒绝消费消息
+ // long deliveryTag 消息投递序号 自增的数字 在整个队列中唯一 拿到这个序号就相当于拿到这条消息
+ // boolean requeue 是否回到原来的队列
+ try {
+ channel.basicReject(message.getMessageProperties().getDeliveryTag(), true);
+// channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, true);
+ } catch (IOException ex) {
+ log.error("xxx消费者接收到消息,消息内容:{},回退消息异常,异常信息:{}", message, ex);
+ }
+ }finally {
+ try {
+ channel.close();
+ } catch (Exception e) {
+ log.error("xxx消费者关闭Channel异常,消息内容:{},异常信息:{}", message, e);
+ }
+ }
+ }
+
+
+
+
+
}
diff --git a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/producer/RabbitMQProducerUtil.java b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/producer/RabbitMQProducerUtil.java
index 28d9bdc..fc7c3b8 100644
--- a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/producer/RabbitMQProducerUtil.java
+++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/producer/RabbitMQProducerUtil.java
@@ -133,9 +133,9 @@ public class RabbitMQProducerUtil {
* @param msg 响应的内容
* @return 结果集
*/
- public Result> topicSendMessage(String exchange, String rule, Object obj, String msg) {
+ public Result> topicSendMessage(String exchange, String rule, Object obj) {
- log.info("【主题模型mq】 : method: 【 workSendMessage 】 - ages: 【 String : {}, Object : {}, String : {} 】 ---> 【 消息发送中。。。 】", exchange, obj, msg);
+ log.info("【主题模型mq】 : method: 【 workSendMessage 】 - ages: 【 String : {}, Object : {} 】 ---> 【 消息发送中。。。 】", exchange, obj);
// 发送简单模型消息
// 第一个参数: 绑定规则 相当于 队列名称
// 第二个参数:消息内容
diff --git a/cloud-gateway/src/main/resources/bootstrap.yml b/cloud-gateway/src/main/resources/bootstrap.yml
index 7ed6a9e..25f0a82 100644
--- a/cloud-gateway/src/main/resources/bootstrap.yml
+++ b/cloud-gateway/src/main/resources/bootstrap.yml
@@ -4,10 +4,10 @@ server:
# nacos线上地址
nacos:
- addr: 123.57.152.124:8848
+ addr: 127.0.0.1:8848
user-name: nacos
password: nacos
- namespace: yan1
+ namespace: wx
# Spring
spring:
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventHandler.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventHandler.java
deleted file mode 100644
index a4ead9b..0000000
--- a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventHandler.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.muyu.data.basics;
-
-/**
- * @Author WangXin
- * @Data 2024/9/29
- * @Description 事件队列
- * @Version 1.0.0
- */
-public class EventHandler {
-
- private static final ThreadLocal EVENT_THREAD = new ThreadLocal<>();
-
- public static void set(final EventQueueConfig handler) {
- EVENT_THREAD.set(handler);
- }
-
- public static EventQueueConfig get() {
- return EVENT_THREAD.get();
- }
-
- public static void remove(){
- EVENT_THREAD.remove();
- }
-
-}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventQueueConfig.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventQueueConfig.java
deleted file mode 100644
index 9328177..0000000
--- a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventQueueConfig.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.muyu.data.basics;
-
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.util.concurrent.LinkedBlockingDeque;
-
-/**
- * @Author WangXin
- * @Data 2024/9/29
- * @Description 事件队列配置
- * @Version 1.0.0
- */
-@Data
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-public class EventQueueConfig {
-
- private LinkedBlockingDeque taskNodeQueue = new LinkedBlockingDeque<>();
-
- public void addEvent(EventProcessBasics obj){
- this.taskNodeQueue.add(obj);
- }
-
- public boolean hashEventNext(){
- return !taskNodeQueue.isEmpty();
- }
-
- private EventProcessBasics nextTaskNode(){
- return taskNodeQueue.poll();
- }
-}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/domain/DataJSON.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/domain/DataJSON.java
index d989468..7b77798 100644
--- a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/domain/DataJSON.java
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/domain/DataJSON.java
@@ -1,5 +1,6 @@
package com.muyu.data.domain;
+import com.alibaba.fastjson2.JSONObject;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
@@ -29,5 +30,5 @@ public class DataJSON {
* 车辆JSON数据
*/
@Schema(name = "车辆JSON数据")
- private String datasource;
+ private JSONObject datasource;
}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/domain/EventActuate.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/domain/EventActuate.java
index dad7197..d894a4f 100644
--- a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/domain/EventActuate.java
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/domain/EventActuate.java
@@ -1,5 +1,6 @@
package com.muyu.data.domain;
+import com.alibaba.fastjson2.JSONObject;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@@ -21,7 +22,7 @@ public class EventActuate {
/**
* json数据
*/
- private String jsonData;
+ private JSONObject jsonData;
/**
* 事件驱动key集合
*/
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/domain/Information.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/domain/Information.java
new file mode 100644
index 0000000..cdf3a09
--- /dev/null
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/domain/Information.java
@@ -0,0 +1,90 @@
+package com.muyu.data.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+import java.util.Date;
+/**
+ * @author Bai
+ * @date 2024/9/20 10:29
+ * @description Information: 车辆信息表实体类
+ * @version: 1.0
+ */
+
+/**
+ * 车辆信息表实体类
+ */
+
+@Data
+@SuperBuilder
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName(value = "car_information",autoResultMap = true)
+public class Information {
+ //自增主键
+ @TableId(value = "id",type = IdType.AUTO)
+ private Long id;
+ //车辆VIn马
+ @Schema(name = "车辆VIn马",type = "String")
+ private String carVin;
+ //车辆品牌
+ @Schema(name = "车辆品牌",type = "String")
+ private String carBrand;
+ //车辆类型外键
+ @Schema(name = "车辆类型外键",type = "Integer")
+ private Integer typeId;
+ //车辆类型名称
+ @Schema(type = "String",description = "车辆类型名称")
+ private String typeName;
+ //电子围栏外键
+ @Schema(name = "电子围栏外键",type = "String")
+ private String groupId;
+ //车辆电机厂商
+ @Schema(name = "车辆电机厂商",type = "String")
+ private String carMotorManufacturer;
+ //电机型号
+ @Schema(name = "电机型号",type = "String")
+ private String carMotorModel;
+ //车辆电池厂商
+ @Schema(name = "车辆电池厂商",type = "String")
+ private String carBatteryManufacturer;
+ //电池型号
+ @Schema(name = "电池型号",type = "String")
+ private String carBatteryModel;
+ //围栏组编码
+ @Schema(name = "围栏组编码",type = "String")
+ private String groupCode;
+ //启用状态(1.在线 2.离线 3.已断开 4.待连接 5.维修中
+ @Schema(name = "启用状态(1.在线 2.离线 3.已断开 4.待连接 5.维修中",type = "String")
+ private String state;
+ //创建人
+ @Schema(name = "创建人",type = "Integer")
+ private String createBy;
+ //创建时间
+ @Schema(name = "创建时间",type = "Date")
+ @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+ private Date createTime;
+ //更新人
+ @Schema(name = "更新人",type = "Integer")
+ private String updateBy;
+ //更新时间
+ @Schema(name = "更新时间",type = "Date")
+ @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+ private Date updateTime;
+ //备注
+ @Schema(name = "备注",type = "String")
+ private String remark;
+ //策略id
+ @Schema(name = "策略id",type = "Integer")
+ private Integer strategyId;
+
+}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/AutoStartupEventListener.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/AutoStartupEventListener.java
index 5be3090..be93603 100644
--- a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/AutoStartupEventListener.java
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/AutoStartupEventListener.java
@@ -1,6 +1,9 @@
package com.muyu.data.event;
+import com.alibaba.fastjson2.JSONObject;
import com.muyu.data.basics.StartEvent;
+import com.muyu.data.domain.EventActuate;
+import com.muyu.data.event.tactics.IotdbStoreEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
@@ -16,7 +19,9 @@ public class AutoStartupEventListener implements ApplicationListener
@Override
public void onApplicationEvent(StartEvent event) {
-
+ EventActuate eventActuate = event.getEventActuate();
+ JSONObject jsonData = eventActuate.getJsonData();
+ new IotdbStoreEvent().execute(jsonData);
}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/EventStrategy.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/EventStrategy.java
new file mode 100644
index 0000000..ed6e9a4
--- /dev/null
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/EventStrategy.java
@@ -0,0 +1,21 @@
+package com.muyu.data.event;
+
+import com.alibaba.fastjson2.JSONObject;
+
+import java.util.List;
+
+/**
+ * @Author WangXin
+ * @Data 2024/9/29
+ * @Description 事件策略接口
+ * @Version 1.0.0
+ */
+
+public interface EventStrategy {
+
+ /**
+ * 方法执行
+ * @param jsonObject
+ */
+ void execute(JSONObject jsonObject);
+}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/EventStrategyContext.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/EventStrategyContext.java
new file mode 100644
index 0000000..466ada8
--- /dev/null
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/EventStrategyContext.java
@@ -0,0 +1,30 @@
+package com.muyu.data.event;
+
+import com.alibaba.fastjson2.JSONObject;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+/**
+ * @Author WangXin
+ * @Data 2024/9/29
+ * @Description 事件执行上下文
+ * @Version 1.0.0
+ */
+@Data
+@AllArgsConstructor
+public class EventStrategyContext {
+ /**
+ * 事件接口
+ */
+ private EventStrategy eventStrategy;
+
+ /**
+ * 调用策略类中的方法
+ * @param jsonObject json对象
+ */
+ public void handleEvent(JSONObject jsonObject) {
+ if (jsonObject != null) {
+ eventStrategy.execute(jsonObject);
+ }
+ }
+}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/tactics/FenceStrategyEvent.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/tactics/FenceStrategyEvent.java
new file mode 100644
index 0000000..fcf99a5
--- /dev/null
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/tactics/FenceStrategyEvent.java
@@ -0,0 +1,18 @@
+package com.muyu.data.event.tactics;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.muyu.data.event.EventStrategy;
+
+/**
+ * @Author WangXin
+ * @Data 2024/9/30
+ * @Description 电子围栏事件
+ * @Version 1.0.0
+ */
+public class FenceStrategyEvent implements EventStrategy {
+
+ @Override
+ public void execute(JSONObject jsonObject) {
+
+ }
+}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/tactics/IotdbStoreEvent.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/tactics/IotdbStoreEvent.java
new file mode 100644
index 0000000..b33d3ad
--- /dev/null
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/tactics/IotdbStoreEvent.java
@@ -0,0 +1,28 @@
+package com.muyu.data.event.tactics;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.muyu.data.event.EventStrategy;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Author WangXin
+ * @Data 2024/9/29
+ * @Description Iotdb存储事件
+ * @Version 1.0.0
+ */
+@Log4j2
+@Component
+public class IotdbStoreEvent implements EventStrategy {
+
+ /**
+ * 执行存储事件
+ * @param jsonObject json对象
+ */
+ @Override
+ public void execute(JSONObject jsonObject) {
+ log.info("[存储事件] ---》 json对象:{}", jsonObject);
+ }
+}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/pom.xml b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/pom.xml
index f9c8263..6c18295 100644
--- a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/pom.xml
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/pom.xml
@@ -22,6 +22,33 @@
+
+
+ com.muyu
+ enterprise-cache
+
+
+ com.muyu
+ cloud-modules-data-process-common
+
+
+ com.muyu
+ cloud-common-iotdb
+
+
+ com.github.ben-manes.caffeine
+ caffeine
+
+
+
+ com.muyu
+ cloud-common-kafka
+
+
+
+ com.muyu
+ cloud-common-rabbit
+
com.alibaba.cloud
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/basic/EventCustom.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/basic/EventCustom.java
new file mode 100644
index 0000000..cb009a2
--- /dev/null
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/basic/EventCustom.java
@@ -0,0 +1,24 @@
+package com.muyu.data.basic;
+
+import com.alibaba.fastjson2.JSONObject;
+import org.springframework.context.ApplicationEvent;
+
+/**
+ * 事件类型
+ *
+ * @program: cloud-server
+ * @author: WangXin
+ * @create: 2024-09-29 20:03
+ **/
+public class EventCustom extends ApplicationEvent {
+
+ private JSONObject data;
+
+ public EventCustom(Object source, JSONObject data) {
+ super(source);
+ this.data = data;
+ }
+ public JSONObject getData() {
+ return data;
+ }
+}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/basic/EventListener.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/basic/EventListener.java
new file mode 100644
index 0000000..b62ab73
--- /dev/null
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/basic/EventListener.java
@@ -0,0 +1,16 @@
+package com.muyu.data.basic;
+
+import org.springframework.context.ApplicationListener;
+
+/**
+ * 事件监听接口
+ *
+ * @program: cloud-server
+ * @author: WangXin
+ * @create: 2024-09-29 20:05
+ **/
+public interface EventListener extends ApplicationListener {
+
+ void onEvent(EventCustom event);
+
+}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/basic/EventPublisher.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/basic/EventPublisher.java
new file mode 100644
index 0000000..65e5c8d
--- /dev/null
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/basic/EventPublisher.java
@@ -0,0 +1,32 @@
+package com.muyu.data.basic;
+
+import com.alibaba.fastjson2.JSONObject;
+import org.springframework.context.ApplicationEventPublisher;
+import org.springframework.context.ApplicationEventPublisherAware;
+import org.springframework.stereotype.Component;
+
+/**
+ * 策略发送事件
+ *
+ * @program: cloud-server
+ * @author: WangXin
+ * @create: 2024-09-29 17:43
+ **/
+@Component
+public class EventPublisher implements ApplicationEventPublisherAware {
+
+ private ApplicationEventPublisher publisher;
+
+
+ @Override
+ public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) {
+ this.publisher = applicationEventPublisher;
+ }
+
+ public void publishEvent(JSONObject message) {
+ EventCustom event = new EventCustom(this, message);
+ publisher.publishEvent(event);
+ }
+
+
+}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/consumer/GoOfflineConsumer.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/consumer/GoOfflineConsumer.java
new file mode 100644
index 0000000..8313dfe
--- /dev/null
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/consumer/GoOfflineConsumer.java
@@ -0,0 +1,38 @@
+package com.muyu.data.consumer;
+
+
+import com.muyu.data.util.CacheUtil;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.amqp.rabbit.annotation.Exchange;
+import org.springframework.amqp.rabbit.annotation.Queue;
+import org.springframework.amqp.rabbit.annotation.QueueBinding;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 下线监听
+ *
+ * @program: cloud-server
+ * @author: WangXin
+ * @create: 2024-09-30 10:39
+ **/
+@Log4j2
+@Component
+public class GoOfflineConsumer {
+
+
+ @Autowired
+ private CacheUtil cacheUtil;
+
+
+ @RabbitListener(bindings = @QueueBinding(
+ value = @Queue(value = "GO_OFFLINE", durable = "true"),
+ exchange = @Exchange(value = "OFFLINE_EXCHANGE", type = "fanout")))
+ public void online(String vin) {
+ log.info("车辆vin: {},车辆开始消费", vin);
+ cacheUtil.remove(vin);
+ }
+
+
+}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/consumer/GoOnlineConsumer.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/consumer/GoOnlineConsumer.java
new file mode 100644
index 0000000..7ea77c7
--- /dev/null
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/consumer/GoOnlineConsumer.java
@@ -0,0 +1,45 @@
+package com.muyu.data.consumer;
+
+import com.muyu.data.domain.Information;
+import com.muyu.data.util.CacheUtil;
+import com.muyu.domain.CarInformation;
+import com.muyu.enterprise.cache.VehicleCacheService;
+
+
+import lombok.extern.log4j.Log4j2;
+import org.springframework.amqp.rabbit.annotation.Exchange;
+import org.springframework.amqp.rabbit.annotation.Queue;
+import org.springframework.amqp.rabbit.annotation.QueueBinding;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 上线监听
+ *
+ * @program: cloud-server
+ * @author: WangXin
+ * @create: 2024-09-29 16:37
+ **/
+@Log4j2
+@Component
+public class GoOnlineConsumer {
+
+
+ @Autowired
+ private CacheUtil cacheUtil;
+
+ @Autowired
+ private VehicleCacheService vehicleCacheService;
+
+ @RabbitListener(bindings = @QueueBinding(
+ value = @Queue(value = "GO_ONLINE", durable = "true"),
+ exchange = @Exchange(value = "ONLINE_EXCHANGE", type = "fanout")))
+ public void online(String vin) {
+ log.info("车辆vin: {},车辆开始消费", vin);
+ CarInformation carInformation = vehicleCacheService.get(vin);
+ cacheUtil.put(vin,carInformation);
+ }
+
+
+}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/consumer/VehicleConsumer.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/consumer/VehicleConsumer.java
new file mode 100644
index 0000000..6e79973
--- /dev/null
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/consumer/VehicleConsumer.java
@@ -0,0 +1,72 @@
+package com.muyu.data.consumer;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.muyu.data.basic.EventPublisher;
+import lombok.extern.log4j.Log4j2;
+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.annotation.Autowired;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.context.ApplicationListener;
+import org.springframework.context.event.ContextClosedEvent;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Component;
+
+import java.time.Duration;
+import java.util.Collections;
+import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+/**
+* 车辆消费者
+* @program: cloud-server
+* @author: WangXin
+* @create: 2024-09-28 14:55
+**/
+@Log4j2
+@Component
+public class VehicleConsumer implements ApplicationRunner, ApplicationListener {
+
+ @Autowired
+ private KafkaConsumer consumer;
+
+ @Autowired
+ private EventPublisher eventPublisher;
+
+ private final String topic = "vehicle";
+
+ private final ExecutorService executorService = Executors.newFixedThreadPool(10);
+
+
+ @Async
+ @Override
+ public void run(ApplicationArguments args) throws Exception {
+ log.info("开始监听kafka-topic:{}", topic);
+ List topics = Collections.singletonList(topic);
+ consumer.subscribe(topics);
+
+ while (true) {
+ ConsumerRecords consumerRecords = consumer.poll(Duration.ofMillis(100));
+ consumerRecords.forEach(record -> {
+ executorService.submit(() -> handleRecord(record));
+ });
+ }
+ }
+
+ private void handleRecord(ConsumerRecord record) {
+ String value = record.value();
+ JSONObject jsonObject = JSONObject.parseObject(value);
+ log.info("value: {}", value);
+ eventPublisher.publishEvent(jsonObject);
+ }
+
+ @Override
+ public void onApplicationEvent(ContextClosedEvent event) {
+ log.info("关闭kafka和线程");
+ consumer.close();
+ executorService.shutdown();
+ }
+}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/controller/IotdbController.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/controller/IotdbController.java
new file mode 100644
index 0000000..ba43830
--- /dev/null
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/controller/IotdbController.java
@@ -0,0 +1,40 @@
+package com.muyu.data.controller;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.iotdb.config.IotDBSessionConfig;
+import jakarta.annotation.Resource;
+import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+import static com.muyu.common.iotdb.constant.IotdbConstant.ROOT_DATA_DATAJSON;
+
+/**
+ * iotdb测试
+ *
+ * @program: cloud-server
+ * @author: WangXin
+ * @create: 2024-09-28 19:09
+ **/
+@RestController
+@RequestMapping("iotdb")
+public class IotdbController {
+
+ @Resource
+ private IotDBSessionConfig iotDBSessionConfig;
+
+ @PostMapping("/add")
+ public Result> addJSON(@RequestBody JSONObject jsonObject) {
+ iotDBSessionConfig.insertRecord(iotDBSessionConfig.getSessionPool(),ROOT_DATA_DATAJSON,System.currentTimeMillis(), List.of("datasource"),List.of(TSDataType.TEXT),jsonObject);
+ return Result.success();
+ }
+
+ @GetMapping("/findByDataTime/{time}")
+ public Result> findByDataTime(@PathVariable("time") Long time){
+ return null;
+ }
+
+
+}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/controller/RabbitController.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/controller/RabbitController.java
new file mode 100644
index 0000000..3e967e5
--- /dev/null
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/controller/RabbitController.java
@@ -0,0 +1,32 @@
+package com.muyu.data.controller;
+
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * rabbit测试
+ *
+ * @program: cloud-server
+ * @author: WangXin
+ * @create: 2024-09-30 00:04
+ **/
+@RestController
+@RequestMapping("rabbit")
+public class RabbitController {
+
+ @Autowired
+ private RabbitTemplate rabbitTemplate;
+
+ @GetMapping("/send")
+ public void send() {
+ rabbitTemplate.convertAndSend("ONLINE_EXCHANGE", "", "vin123456");
+ }
+
+
+
+
+
+}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/controller/TestController.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/controller/TestController.java
new file mode 100644
index 0000000..64bd2f9
--- /dev/null
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/controller/TestController.java
@@ -0,0 +1,40 @@
+package com.muyu.data.controller;
+
+import cn.hutool.json.JSONObject;
+import org.apache.kafka.clients.producer.KafkaProducer;
+import org.apache.kafka.clients.producer.ProducerRecord;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+* 测试kafka
+* @program: cloud-server
+* @author: WangXin
+* @create: 2024-09-28 14:55
+**/
+@RestController
+@RequestMapping
+public class TestController {
+
+ @Autowired
+ private KafkaProducer kafkaProducer;
+
+
+ private static final String topic = "vehicle";
+ @GetMapping("send")
+ public String sendKafka(){
+
+ JSONObject entries = new JSONObject();
+ entries.set("car_vin","vin123123");
+ entries.set("car_name","奥迪");
+ String entriesString = entries.toString();
+ ProducerRecord producerRecord = new ProducerRecord(topic,entriesString);
+ kafkaProducer.send(producerRecord);
+
+ return "success";
+ }
+
+
+}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/listener/AddDatabaseListener.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/listener/AddDatabaseListener.java
new file mode 100644
index 0000000..3acac0d
--- /dev/null
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/listener/AddDatabaseListener.java
@@ -0,0 +1,42 @@
+package com.muyu.data.listener;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.muyu.data.basic.EventCustom;
+import com.muyu.data.basic.EventListener;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 添加数据库事件
+ * @program: cloud-server
+ * @author: WangXin
+ * @create: 2024-09-29 17:34
+ **/
+@Configuration
+public class AddDatabaseListener implements EventListener {
+
+
+ @Override
+ public void onEvent(EventCustom event) {
+
+ JSONObject jsonObject = event.getData();
+ List keys = new ArrayList<>();
+ List values = new ArrayList<>();
+
+ jsonObject.forEach((key, value) -> {
+ keys.add(key);
+ values.add((String) value);
+ });
+
+ long time = System.currentTimeMillis();
+
+
+ }
+
+ @Override
+ public void onApplicationEvent(EventCustom event) {
+ onEvent(event);
+ }
+}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/monitor/CatRabbitMonitor.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/monitor/CatRabbitMonitor.java
new file mode 100644
index 0000000..89f59b7
--- /dev/null
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/monitor/CatRabbitMonitor.java
@@ -0,0 +1,45 @@
+package com.muyu.data.monitor;
+
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.rabbit.constants.RabbitmqConstants;
+import com.muyu.common.rabbit.consumer.RabbitMQConsumerUtil;
+import com.muyu.common.rabbit.producer.RabbitMQProducerUtil;
+import jakarta.annotation.Resource;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Author WangXin
+ * @Data 2024/9/30
+ * @Description 车辆上下线监听器
+ * @Version 1.0.0
+ */
+@Component
+public class CatRabbitMonitor {
+
+ @Resource
+ private RabbitMQConsumerUtil rabbitMQConsumerUtil;
+ @Resource
+ private RabbitMQProducerUtil rabbitMQProducerUtil;
+
+ @RabbitListener(queues = {"queue_topic_01"})
+ public void topicConsumer01(String msg){
+ System.out.println("消费者 -01- 接收消息:" + msg);
+ }
+
+
+ /**
+ * 测试上线方法
+ * @param carVin
+ */
+ public void topicConsumer02(String carVin){
+ Result> result = rabbitMQProducerUtil.topicSendMessage(
+ RabbitmqConstants.TOP_BOTTOM_STITCHING,
+ RabbitmqConstants.TOP_RULE,
+ carVin
+ );
+ if (result.getCode() != Result.SUCCESS){
+ throw new RuntimeException(result.getMsg());
+ }
+ }
+}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/util/CacheUtil.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/util/CacheUtil.java
new file mode 100644
index 0000000..17facd8
--- /dev/null
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/util/CacheUtil.java
@@ -0,0 +1,38 @@
+package com.muyu.data.util;
+
+import com.github.benmanes.caffeine.cache.Cache;
+import com.github.benmanes.caffeine.cache.Caffeine;
+import com.muyu.data.domain.Information;
+import org.springframework.stereotype.Component;
+
+/**
+ * 缓存工具类
+ *
+ * @program: cloud-server
+ * @author: WangXin
+ * @create: 2024-09-30 10:08
+ **/
+@Component
+public class CacheUtil {
+
+ private final Cache cache;
+
+ public CacheUtil() {
+ this.cache = Caffeine.newBuilder()
+ .maximumSize(500L)
+ .build();
+ }
+
+ public T get(String key) {
+ return cache.getIfPresent(key);
+ }
+
+ public void put(String key, T value) {
+ cache.put(key, value);
+ }
+
+ public void remove(String key) {
+ cache.invalidate(key);
+ }
+
+}
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/resources/bootstrap.yml
index 9b71527..fc264dd 100644
--- a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/resources/bootstrap.yml
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/resources/bootstrap.yml
@@ -11,6 +11,12 @@ nacos:
# SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all
# Spring
spring:
+ iotdb:
+ ip: 127.0.0.1
+ username: root
+ port: 6667
+ password: root
+ maxSize: 10
amqp:
deserialization:
trust:
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-common/pom.xml b/cloud-modules/cloud-modules-enterprise/enterpise-common/pom.xml
index eafa13e..8d98d66 100644
--- a/cloud-modules/cloud-modules-enterprise/enterpise-common/pom.xml
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-common/pom.xml
@@ -41,5 +41,10 @@
swagger-annotations-jakarta
+
+ com.muyu
+ cloud-common-system
+
+
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/CarFirmMiddle.java b/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/CarFirmMiddle.java
new file mode 100644
index 0000000..db633c6
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/CarFirmMiddle.java
@@ -0,0 +1,27 @@
+package com.muyu.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @Author WangXin
+ * @Data 2024/9/30
+ * @Description 车辆公司中间表
+ * @Version 1.0.0
+ */
+@Data
+@SuperBuilder
+@AllArgsConstructor
+@NoArgsConstructor
+public class CarFirmMiddle {
+ /**
+ * 车辆ID
+ */
+ private Long CarId;
+ /**
+ * 公司ID
+ */
+ private Long firmId;
+}
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/resources/bootstrap.yml
index 60732a3..6057fa1 100644
--- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/resources/bootstrap.yml
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/resources/bootstrap.yml
@@ -4,10 +4,10 @@ server:
# nacos线上地址
nacos:
- addr: 123.57.152.124:8848
+ addr: 127.0.0.1:8848
user-name: nacos
password: nacos
- namespace: yan1
+ namespace: wx
# SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all
# Spring
spring:
diff --git a/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml b/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml
new file mode 100644
index 0000000..aa61d15
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml
@@ -0,0 +1,31 @@
+
+
+ 4.0.0
+
+ com.muyu
+ cloud-modules-enterprise
+ 3.6.3
+
+
+ enterprise-cache
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+ com.muyu
+ enterpise-common
+
+
+ com.muyu
+ cloud-common-cache
+
+
+
+
diff --git a/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/java/com/muyu/enterprise/cache/VehicleCacheService.java b/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/java/com/muyu/enterprise/cache/VehicleCacheService.java
new file mode 100644
index 0000000..019fa3a
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/java/com/muyu/enterprise/cache/VehicleCacheService.java
@@ -0,0 +1,28 @@
+package com.muyu.enterprise.cache;
+
+import com.muyu.common.cache.CacheAbsBasic;
+import com.muyu.domain.CarInformation;
+
+/**
+ * 车辆缓存服务
+ * @className: VehicleCacheService ️✈️
+ * @author: Yang 鹏 🦅
+ * @date: 2024/9/30 00:36 ⏰
+ * @Version: 1.0
+ * @description:
+ */
+public class VehicleCacheService extends CacheAbsBasic {
+
+ @Override
+ public String keyPre() {
+ return "vehicle:info:";
+ }
+
+ @Override
+ public String decode(String key){
+ return key.replace("vehicle:info:","");
+ }
+
+
+}
+
diff --git a/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 0000000..93f24ed
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1 @@
+com.muyu.enterprise.cache.VehicleCacheService
diff --git a/cloud-modules/cloud-modules-enterprise/pom.xml b/cloud-modules/cloud-modules-enterprise/pom.xml
index 50e87e6..e3dc02a 100644
--- a/cloud-modules/cloud-modules-enterprise/pom.xml
+++ b/cloud-modules/cloud-modules-enterprise/pom.xml
@@ -25,6 +25,7 @@
enterpise-common
enterpise-remote
enterpise-service
+ enterprise-cache
diff --git a/cloud-modules/cloud-modules-file/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-file/src/main/resources/bootstrap.yml
index 46a342b..da919cf 100644
--- a/cloud-modules/cloud-modules-file/src/main/resources/bootstrap.yml
+++ b/cloud-modules/cloud-modules-file/src/main/resources/bootstrap.yml
@@ -4,10 +4,10 @@ server:
# nacos线上地址
nacos:
- addr: 123.57.152.124:8848
+ addr: 127.0.0.1:8848
user-name: nacos
password: nacos
- namespace: yan1
+ namespace: wx
# Spring
spring:
diff --git a/cloud-modules/cloud-modules-gen/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-gen/src/main/resources/bootstrap.yml
index 0a5455a..ca7c3dd 100644
--- a/cloud-modules/cloud-modules-gen/src/main/resources/bootstrap.yml
+++ b/cloud-modules/cloud-modules-gen/src/main/resources/bootstrap.yml
@@ -4,10 +4,10 @@ server:
# nacos线上地址
nacos:
- addr: 123.57.152.124:8848
+ addr: 127.0.0.1:8848
user-name: nacos
password: nacos
- namespace: yan1
+ namespace: wx
# SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all
# Spring
spring:
diff --git a/cloud-modules/cloud-modules-system/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-system/src/main/resources/bootstrap.yml
index 1a529e6..d749a32 100644
--- a/cloud-modules/cloud-modules-system/src/main/resources/bootstrap.yml
+++ b/cloud-modules/cloud-modules-system/src/main/resources/bootstrap.yml
@@ -4,10 +4,10 @@ server:
# nacos线上地址
nacos:
- addr: 123.57.152.124:8848
+ addr: 127.0.0.1:8848
user-name: nacos
password: nacos
- namespace: yan1
+ namespace: wx
# SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all
# Spring
spring:
diff --git a/cloud-visual/cloud-visual-monitor/src/main/resources/bootstrap.yml b/cloud-visual/cloud-visual-monitor/src/main/resources/bootstrap.yml
index f594774..9d829bf 100644
--- a/cloud-visual/cloud-visual-monitor/src/main/resources/bootstrap.yml
+++ b/cloud-visual/cloud-visual-monitor/src/main/resources/bootstrap.yml
@@ -4,10 +4,10 @@ server:
# nacos线上地址
nacos:
- addr: 123.57.152.124:8848
+ addr: 127.0.0.1:8848
user-name: nacos
password: nacos
- namespace: yan1
+ namespace: wx
# Spring
spring:
diff --git a/pom.xml b/pom.xml
index e2515e1..fdd3255 100644
--- a/pom.xml
+++ b/pom.xml
@@ -307,6 +307,36 @@
caffeine
${caffeine.version}
+
+
+ com.muyu
+ cloud-common-kafka
+ ${muyu.version}
+
+
+
+ com.muyu
+ cloud-common-iotdb
+ ${muyu.version}
+
+
+
+ com.muyu
+ cloud-modules-data-process-common
+ ${muyu.version}
+
+
+
+ com.muyu
+ cloud-common-cache
+ ${muyu.version}
+
+
+
+ com.muyu
+ enterprise-cache
+ ${muyu.version}
+
From a88e91c139b659e245a34721c10aa85711ca6238 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=8E=8B=E9=91=AB?= <1173628408@qq.com>
Date: Tue, 1 Oct 2024 19:20:43 +0800
Subject: [PATCH 5/6] =?UTF-8?q?fix():=E4=BF=AE=E5=A4=8D=E7=BC=93=E5=AD=98?=
=?UTF-8?q?=E6=A8=A1=E5=9D=97=E5=91=BD=E5=90=8D=E5=86=B2=E7=AA=81=E9=97=AE?=
=?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../cloud-modules-data-process-server/pom.xml | 5 -
.../enterpise-cache/pom.xml | 21 +++--
.../cache/MessageValueCacheService.java | 43 ---------
.../enterpise/cache/SysCarCacheService.java | 30 ------
.../cache/SysCarTypeCacheService.java | 29 ------
...ot.autoconfigure.AutoConfiguration.imports | 3 +-
.../enterpise-service/pom.xml | 2 +-
.../enterprise-cache/pom.xml | 39 --------
...ot.autoconfigure.AutoConfiguration.imports | 1 -
.../cloud-modules-enterprise/pom.xml | 2 +-
cloud-modules/cloud-modules-parse/pom.xml | 10 +-
.../parse/configure/MqttConsumerConfig.java | 79 ----------------
.../com/muyu/parse/process/ProcessData.java | 93 -------------------
pom.xml | 2 +-
14 files changed, 18 insertions(+), 341 deletions(-)
delete mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/MessageValueCacheService.java
delete mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarCacheService.java
delete mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarTypeCacheService.java
delete mode 100644 cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml
delete mode 100644 cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
delete mode 100644 cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/configure/MqttConsumerConfig.java
delete mode 100644 cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/process/ProcessData.java
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/pom.xml b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/pom.xml
index 6c18295..419cff5 100644
--- a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/pom.xml
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/pom.xml
@@ -22,11 +22,6 @@
-
-
- com.muyu
- enterprise-cache
-
com.muyu
cloud-modules-data-process-common
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-cache/pom.xml b/cloud-modules/cloud-modules-enterprise/enterpise-cache/pom.xml
index 54111f7..5086d3c 100644
--- a/cloud-modules/cloud-modules-enterprise/enterpise-cache/pom.xml
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-cache/pom.xml
@@ -18,19 +18,22 @@
-
-
-
-
- com.muyu
- cloud-common-cache
- ${muyu.version}
-
-
com.muyu
enterpise-common
+
+
+ com.muyu
+ cloud-common-cache
+ 3.6.3
+
+
+ com.muyu
+ cloud-modules-vehicle-gateway
+ 3.6.3
+ compile
+
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/MessageValueCacheService.java b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/MessageValueCacheService.java
deleted file mode 100644
index 80e08a1..0000000
--- a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/MessageValueCacheService.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.muyu.enterpise.cache;
-
-import com.muyu.common.cache.CacheAbsBasic;
-import com.muyu.domain.MessageValue;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-/**
- * @version 1.0
- * @Author xie ya ru
- * @Date 2024/9/29 20:04
- * @注释
- */
-@Component
-public class MessageValueCacheService extends CacheAbsBasic>{
-
- /**
- * 前缀
- * @return
- */
- @Override
- public String keyPre() {
- return"messageValue:info:";
- }
-
-
- @Override
- public String encode(String key) {
- return super.encode(key);
- }
-
-
- /**
- * 解密
- * @param key 缓存建
- * @return
- */
- @Override
- public String decode(String key) {
- return key.replace("messageValue:info:","");
- }
-}
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarCacheService.java b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarCacheService.java
deleted file mode 100644
index 315992f..0000000
--- a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarCacheService.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.muyu.enterpise.cache;
-
-import com.muyu.common.cache.CacheAbsBasic;
-import com.muyu.domain.SysCar;
-import org.springframework.stereotype.Component;
-
-/**
- * @version 1.0
- * @Author xie ya ru
- * @Date 2024/9/30 11:06
- * @注释
- */
-@Component
-public class SysCarCacheService extends CacheAbsBasic {
-
- @Override
- public String keyPre() {
- return "sysCar:info:";
- }
-
- @Override
- public String encode(String key) {
- return super.encode(key);
- }
-
- @Override
- public String decode(String key) {
- return super.decode(key);
- }
-}
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarTypeCacheService.java b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarTypeCacheService.java
deleted file mode 100644
index 112439d..0000000
--- a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarTypeCacheService.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.muyu.enterpise.cache;
-
-import com.muyu.common.cache.CacheAbsBasic;
-import com.muyu.domain.SysCarType;
-import org.springframework.stereotype.Component;
-
-/**
- * @version 1.0
- * @Author xie ya ru
- * @Date 2024/9/30 11:18
- * @注释
- */
-@Component
-public class SysCarTypeCacheService extends CacheAbsBasic {
- @Override
- public String keyPre() {
- return "sysCarType:info:";
- }
-
- @Override
- public String encode(String key) {
- return super.encode(key);
- }
-
- @Override
- public String decode(String key) {
- return super.decode(key);
- }
-}
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index 3257b72..c0e16d2 100644
--- a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -1,2 +1 @@
-com.muyu.enterpise.cache.MessageValueCacheService
-com.muyu.enterpise.cache.SysCarCacheService
+com.muyu.enterpise.cache.VehicleCacheService
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/pom.xml b/cloud-modules/cloud-modules-enterprise/enterpise-service/pom.xml
index 56b5964..17edc68 100644
--- a/cloud-modules/cloud-modules-enterprise/enterpise-service/pom.xml
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/pom.xml
@@ -87,7 +87,7 @@
com.muyu
- enterpise-cache
+ enterprise-cache
${muyu.version}
diff --git a/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml b/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml
deleted file mode 100644
index b710426..0000000
--- a/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
- 4.0.0
-
- com.muyu
- cloud-modules-enterprise
- 3.6.3
-
-
- enterprise-cache
-
-
- 17
- 17
- UTF-8
-
-
-
-
- com.muyu
- enterpise-common
-
-
-
- com.muyu
- cloud-common-cache
- 3.6.3
-
-
- com.muyu
- cloud-modules-vehicle-gateway
- 3.6.3
- compile
-
-
-
-
diff --git a/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
deleted file mode 100644
index 93f24ed..0000000
--- a/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ /dev/null
@@ -1 +0,0 @@
-com.muyu.enterprise.cache.VehicleCacheService
diff --git a/cloud-modules/cloud-modules-enterprise/pom.xml b/cloud-modules/cloud-modules-enterprise/pom.xml
index e3dc02a..a330713 100644
--- a/cloud-modules/cloud-modules-enterprise/pom.xml
+++ b/cloud-modules/cloud-modules-enterprise/pom.xml
@@ -25,7 +25,7 @@
enterpise-common
enterpise-remote
enterpise-service
- enterprise-cache
+ enterpise-cache
diff --git a/cloud-modules/cloud-modules-parse/pom.xml b/cloud-modules/cloud-modules-parse/pom.xml
index 45f2124..b6ed6d6 100644
--- a/cloud-modules/cloud-modules-parse/pom.xml
+++ b/cloud-modules/cloud-modules-parse/pom.xml
@@ -89,13 +89,7 @@
lombok
-
-
- com.muyu
- enterpise-remote
- ${muyu.version}
-
-
+
com.muyu
enterpise-common
@@ -103,7 +97,7 @@
com.muyu
- enterpise-cache
+ enterprise-cache
${muyu.version}
diff --git a/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/configure/MqttConsumerConfig.java b/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/configure/MqttConsumerConfig.java
deleted file mode 100644
index 308208f..0000000
--- a/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/configure/MqttConsumerConfig.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.muyu.parse.configure;
-
-import com.muyu.parse.process.ProcessData;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.eclipse.paho.client.mqttv3.*;
-import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.PostConstruct;
-
-/**
- * @version 1.0
- * @Author xie ya ru
- * @Date 2024/9/26 15:31
- * @注释
- */
-
-
-@Component
-@Slf4j
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class MqttConsumerConfig {
-
- String topic = "xxx";
- String content = "Message from MqttPublishSample";
- int qos = 2;
- String broker = "tcp://123.57.152.124:1883";
- String clientId = "xyr123456789";
-
- @PostConstruct
- public void connect() {
- try {
- MqttClient sampleClient = new MqttClient(broker, clientId, new MemoryPersistence());
- MqttConnectOptions connOpts = new MqttConnectOptions();
- //是否清空session
- connOpts.setCleanSession(false);
- System.out.println("Connecting to broker: " + broker);
- //连接
- sampleClient.connect(connOpts);
- sampleClient.subscribe(topic, qos);
- sampleClient.setCallback(new MqttCallback() {
- //连接丢失(报错)
- @Override
- public void connectionLost(Throwable throwable) {
- log.error("error:{}", throwable.getMessage(), throwable);
- }
-
- //消息已经接收到
- @Override
- public void messageArrived(String s, MqttMessage mqttMessage) throws Exception {
- String s1 = new String(mqttMessage.getPayload());
- System.out.println("接收到的主题是:" + s + "内容是:{}" + s1);
- ProcessData.DataConversion(s1);
-
- }
-
- //交付完成
- @Override
- public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {
-
- }
- });
- } catch (MqttException me) {
- System.out.println("reason " + me.getReasonCode());
- System.out.println("msg " + me.getMessage());
- System.out.println("loc " + me.getLocalizedMessage());
- System.out.println("cause " + me.getCause());
- System.out.println("excep " + me);
- me.printStackTrace();
- }
-
-
- }
-}
diff --git a/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/process/ProcessData.java b/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/process/ProcessData.java
deleted file mode 100644
index 609bd17..0000000
--- a/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/process/ProcessData.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package com.muyu.parse.process;
-
-import cn.hutool.json.JSONObject;
-import com.muyu.common.kafka.config.KafkaProducerConfig;
-import com.muyu.domain.MessageValue;
-import com.muyu.domain.SysCar;
-import com.muyu.domain.SysCarType;
-import com.muyu.enterpise.cache.MessageValueCacheService;
-import com.muyu.enterpise.cache.SysCarCacheService;
-import com.muyu.enterpise.cache.SysCarTypeCacheService;
-import com.muyu.parse.uitl.DataParseUtil;
-import com.muyu.remote.RemoteMessageValueService;
-import lombok.extern.log4j.Log4j2;
-import org.apache.kafka.clients.producer.Callback;
-import org.apache.kafka.clients.producer.ProducerRecord;
-import org.apache.kafka.clients.producer.RecordMetadata;
-
-import javax.annotation.Resource;
-import java.util.List;
-
-
-/**
- * @version 1.0
- * @Author xie ya ru
- * @Date 2024/9/28 21:14
- * @注释
- */
-@Log4j2
-public class ProcessData {
-
- @Resource
- private static RemoteMessageValueService remoteMessageValueService;
-
- //报文模版信息
- @Resource
- private static MessageValueCacheService messageValueCacheService;
-
- //车辆信息
- @Resource
- private static SysCarCacheService sysCarCacheService;
-
- //车辆类型信息
- @Resource
- private static SysCarTypeCacheService sysCarTypeCacheService;
-
- @Resource
- private static KafkaProducerConfig kafkaProducerConfig;
-
- private final static String topic = "sysCar_vin_topic";
-
- public static void DataConversion(String jsonVin ) {
- //设置数组存储车辆数据
- JSONObject jsonObject = new JSONObject();
- String vin = DataParseUtil.dataParsing(jsonVin);
- System.out.println("车辆转换的vin是:"+vin);
-
- //判断vin是否存在缓存中
- if(sysCarCacheService.hashKey(vin)){
- //从Redis中获取车辆信息
- SysCar sysCar = sysCarCacheService.get(vin);
- //根据缓存车辆类型获取缓存报文
- SysCarType sysCarType = sysCarTypeCacheService.get(String.valueOf(sysCar.getCarType()));
-
- //获取报文模版信息
- List messageValues = messageValueCacheService.get(String.valueOf(sysCarType.getMessageTemplateId()));
- for (MessageValue messageValue : messageValues) {
- //起始位下标
- Integer startIndex = messageValue.getMessageStartIndex() - 1;
- //结束位下标
- Integer endIndex = messageValue.getMessageEndIndex();
- //根据报文模版截取数据
- String value = vin.substring(startIndex, endIndex);
- //存入数据
- System.out.println("标签"+messageValue.getMessageLabel()+"值"+value);
- jsonObject.put(messageValue.getMessageLabel(), value);
- }
- sendKafkaMessage(jsonObject);
- }
-
- }
-
-
-
- private static void sendKafkaMessage(JSONObject jsonObject){
- ProducerRecord
From d7f31e3482582ca31c24678d9c90d726b7af5ce0 Mon Sep 17 00:00:00 2001
From: wangxin1 <1173628408@qq.com>
Date: Mon, 30 Sep 2024 19:25:45 +0800
Subject: [PATCH 6/6] revert a88e91c139b659e245a34721c10aa85711ca6238
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
revert fix():修复缓存模块命名冲突问题
---
.../cloud-modules-data-process-server/pom.xml | 5 +
.../enterpise-cache/pom.xml | 13 +--
.../cache/MessageValueCacheService.java | 43 +++++++++
.../enterpise/cache/SysCarCacheService.java | 30 ++++++
.../cache/SysCarTypeCacheService.java | 29 ++++++
...ot.autoconfigure.AutoConfiguration.imports | 3 +-
.../enterpise-service/pom.xml | 2 +-
.../enterprise-cache/pom.xml | 39 ++++++++
...ot.autoconfigure.AutoConfiguration.imports | 1 +
.../cloud-modules-enterprise/pom.xml | 2 +-
cloud-modules/cloud-modules-parse/pom.xml | 10 +-
.../parse/configure/MqttConsumerConfig.java | 79 ++++++++++++++++
.../com/muyu/parse/process/ProcessData.java | 93 +++++++++++++++++++
pom.xml | 2 +-
14 files changed, 337 insertions(+), 14 deletions(-)
create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/MessageValueCacheService.java
create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarCacheService.java
create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarTypeCacheService.java
create mode 100644 cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml
create mode 100644 cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/configure/MqttConsumerConfig.java
create mode 100644 cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/process/ProcessData.java
diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/pom.xml b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/pom.xml
index 419cff5..6c18295 100644
--- a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/pom.xml
+++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/pom.xml
@@ -22,6 +22,11 @@
+
+
+ com.muyu
+ enterprise-cache
+
com.muyu
cloud-modules-data-process-common
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-cache/pom.xml b/cloud-modules/cloud-modules-enterprise/enterpise-cache/pom.xml
index 5086d3c..54111f7 100644
--- a/cloud-modules/cloud-modules-enterprise/enterpise-cache/pom.xml
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-cache/pom.xml
@@ -18,21 +18,18 @@
-
- com.muyu
- enterpise-common
-
+
+
com.muyu
cloud-common-cache
- 3.6.3
+ ${muyu.version}
+
com.muyu
- cloud-modules-vehicle-gateway
- 3.6.3
- compile
+ enterpise-common
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/MessageValueCacheService.java b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/MessageValueCacheService.java
new file mode 100644
index 0000000..80e08a1
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/MessageValueCacheService.java
@@ -0,0 +1,43 @@
+package com.muyu.enterpise.cache;
+
+import com.muyu.common.cache.CacheAbsBasic;
+import com.muyu.domain.MessageValue;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @version 1.0
+ * @Author xie ya ru
+ * @Date 2024/9/29 20:04
+ * @注释
+ */
+@Component
+public class MessageValueCacheService extends CacheAbsBasic>{
+
+ /**
+ * 前缀
+ * @return
+ */
+ @Override
+ public String keyPre() {
+ return"messageValue:info:";
+ }
+
+
+ @Override
+ public String encode(String key) {
+ return super.encode(key);
+ }
+
+
+ /**
+ * 解密
+ * @param key 缓存建
+ * @return
+ */
+ @Override
+ public String decode(String key) {
+ return key.replace("messageValue:info:","");
+ }
+}
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarCacheService.java b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarCacheService.java
new file mode 100644
index 0000000..315992f
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarCacheService.java
@@ -0,0 +1,30 @@
+package com.muyu.enterpise.cache;
+
+import com.muyu.common.cache.CacheAbsBasic;
+import com.muyu.domain.SysCar;
+import org.springframework.stereotype.Component;
+
+/**
+ * @version 1.0
+ * @Author xie ya ru
+ * @Date 2024/9/30 11:06
+ * @注释
+ */
+@Component
+public class SysCarCacheService extends CacheAbsBasic {
+
+ @Override
+ public String keyPre() {
+ return "sysCar:info:";
+ }
+
+ @Override
+ public String encode(String key) {
+ return super.encode(key);
+ }
+
+ @Override
+ public String decode(String key) {
+ return super.decode(key);
+ }
+}
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarTypeCacheService.java b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarTypeCacheService.java
new file mode 100644
index 0000000..112439d
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarTypeCacheService.java
@@ -0,0 +1,29 @@
+package com.muyu.enterpise.cache;
+
+import com.muyu.common.cache.CacheAbsBasic;
+import com.muyu.domain.SysCarType;
+import org.springframework.stereotype.Component;
+
+/**
+ * @version 1.0
+ * @Author xie ya ru
+ * @Date 2024/9/30 11:18
+ * @注释
+ */
+@Component
+public class SysCarTypeCacheService extends CacheAbsBasic {
+ @Override
+ public String keyPre() {
+ return "sysCarType:info:";
+ }
+
+ @Override
+ public String encode(String key) {
+ return super.encode(key);
+ }
+
+ @Override
+ public String decode(String key) {
+ return super.decode(key);
+ }
+}
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index c0e16d2..3257b72 100644
--- a/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -1 +1,2 @@
-com.muyu.enterpise.cache.VehicleCacheService
+com.muyu.enterpise.cache.MessageValueCacheService
+com.muyu.enterpise.cache.SysCarCacheService
diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/pom.xml b/cloud-modules/cloud-modules-enterprise/enterpise-service/pom.xml
index 17edc68..56b5964 100644
--- a/cloud-modules/cloud-modules-enterprise/enterpise-service/pom.xml
+++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/pom.xml
@@ -87,7 +87,7 @@
com.muyu
- enterprise-cache
+ enterpise-cache
${muyu.version}
diff --git a/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml b/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml
new file mode 100644
index 0000000..b710426
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml
@@ -0,0 +1,39 @@
+
+
+ 4.0.0
+
+ com.muyu
+ cloud-modules-enterprise
+ 3.6.3
+
+
+ enterprise-cache
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+ com.muyu
+ enterpise-common
+
+
+
+ com.muyu
+ cloud-common-cache
+ 3.6.3
+
+
+ com.muyu
+ cloud-modules-vehicle-gateway
+ 3.6.3
+ compile
+
+
+
+
diff --git a/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 0000000..93f24ed
--- /dev/null
+++ b/cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1 @@
+com.muyu.enterprise.cache.VehicleCacheService
diff --git a/cloud-modules/cloud-modules-enterprise/pom.xml b/cloud-modules/cloud-modules-enterprise/pom.xml
index a330713..e3dc02a 100644
--- a/cloud-modules/cloud-modules-enterprise/pom.xml
+++ b/cloud-modules/cloud-modules-enterprise/pom.xml
@@ -25,7 +25,7 @@
enterpise-common
enterpise-remote
enterpise-service
- enterpise-cache
+ enterprise-cache
diff --git a/cloud-modules/cloud-modules-parse/pom.xml b/cloud-modules/cloud-modules-parse/pom.xml
index b6ed6d6..45f2124 100644
--- a/cloud-modules/cloud-modules-parse/pom.xml
+++ b/cloud-modules/cloud-modules-parse/pom.xml
@@ -89,7 +89,13 @@
lombok
-
+
+
+ com.muyu
+ enterpise-remote
+ ${muyu.version}
+
+
com.muyu
enterpise-common
@@ -97,7 +103,7 @@
com.muyu
- enterprise-cache
+ enterpise-cache
${muyu.version}
diff --git a/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/configure/MqttConsumerConfig.java b/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/configure/MqttConsumerConfig.java
new file mode 100644
index 0000000..308208f
--- /dev/null
+++ b/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/configure/MqttConsumerConfig.java
@@ -0,0 +1,79 @@
+package com.muyu.parse.configure;
+
+import com.muyu.parse.process.ProcessData;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.eclipse.paho.client.mqttv3.*;
+import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+
+/**
+ * @version 1.0
+ * @Author xie ya ru
+ * @Date 2024/9/26 15:31
+ * @注释
+ */
+
+
+@Component
+@Slf4j
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class MqttConsumerConfig {
+
+ String topic = "xxx";
+ String content = "Message from MqttPublishSample";
+ int qos = 2;
+ String broker = "tcp://123.57.152.124:1883";
+ String clientId = "xyr123456789";
+
+ @PostConstruct
+ public void connect() {
+ try {
+ MqttClient sampleClient = new MqttClient(broker, clientId, new MemoryPersistence());
+ MqttConnectOptions connOpts = new MqttConnectOptions();
+ //是否清空session
+ connOpts.setCleanSession(false);
+ System.out.println("Connecting to broker: " + broker);
+ //连接
+ sampleClient.connect(connOpts);
+ sampleClient.subscribe(topic, qos);
+ sampleClient.setCallback(new MqttCallback() {
+ //连接丢失(报错)
+ @Override
+ public void connectionLost(Throwable throwable) {
+ log.error("error:{}", throwable.getMessage(), throwable);
+ }
+
+ //消息已经接收到
+ @Override
+ public void messageArrived(String s, MqttMessage mqttMessage) throws Exception {
+ String s1 = new String(mqttMessage.getPayload());
+ System.out.println("接收到的主题是:" + s + "内容是:{}" + s1);
+ ProcessData.DataConversion(s1);
+
+ }
+
+ //交付完成
+ @Override
+ public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {
+
+ }
+ });
+ } catch (MqttException me) {
+ System.out.println("reason " + me.getReasonCode());
+ System.out.println("msg " + me.getMessage());
+ System.out.println("loc " + me.getLocalizedMessage());
+ System.out.println("cause " + me.getCause());
+ System.out.println("excep " + me);
+ me.printStackTrace();
+ }
+
+
+ }
+}
diff --git a/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/process/ProcessData.java b/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/process/ProcessData.java
new file mode 100644
index 0000000..609bd17
--- /dev/null
+++ b/cloud-modules/cloud-modules-parse/src/main/java/com/muyu/parse/process/ProcessData.java
@@ -0,0 +1,93 @@
+package com.muyu.parse.process;
+
+import cn.hutool.json.JSONObject;
+import com.muyu.common.kafka.config.KafkaProducerConfig;
+import com.muyu.domain.MessageValue;
+import com.muyu.domain.SysCar;
+import com.muyu.domain.SysCarType;
+import com.muyu.enterpise.cache.MessageValueCacheService;
+import com.muyu.enterpise.cache.SysCarCacheService;
+import com.muyu.enterpise.cache.SysCarTypeCacheService;
+import com.muyu.parse.uitl.DataParseUtil;
+import com.muyu.remote.RemoteMessageValueService;
+import lombok.extern.log4j.Log4j2;
+import org.apache.kafka.clients.producer.Callback;
+import org.apache.kafka.clients.producer.ProducerRecord;
+import org.apache.kafka.clients.producer.RecordMetadata;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+/**
+ * @version 1.0
+ * @Author xie ya ru
+ * @Date 2024/9/28 21:14
+ * @注释
+ */
+@Log4j2
+public class ProcessData {
+
+ @Resource
+ private static RemoteMessageValueService remoteMessageValueService;
+
+ //报文模版信息
+ @Resource
+ private static MessageValueCacheService messageValueCacheService;
+
+ //车辆信息
+ @Resource
+ private static SysCarCacheService sysCarCacheService;
+
+ //车辆类型信息
+ @Resource
+ private static SysCarTypeCacheService sysCarTypeCacheService;
+
+ @Resource
+ private static KafkaProducerConfig kafkaProducerConfig;
+
+ private final static String topic = "sysCar_vin_topic";
+
+ public static void DataConversion(String jsonVin ) {
+ //设置数组存储车辆数据
+ JSONObject jsonObject = new JSONObject();
+ String vin = DataParseUtil.dataParsing(jsonVin);
+ System.out.println("车辆转换的vin是:"+vin);
+
+ //判断vin是否存在缓存中
+ if(sysCarCacheService.hashKey(vin)){
+ //从Redis中获取车辆信息
+ SysCar sysCar = sysCarCacheService.get(vin);
+ //根据缓存车辆类型获取缓存报文
+ SysCarType sysCarType = sysCarTypeCacheService.get(String.valueOf(sysCar.getCarType()));
+
+ //获取报文模版信息
+ List messageValues = messageValueCacheService.get(String.valueOf(sysCarType.getMessageTemplateId()));
+ for (MessageValue messageValue : messageValues) {
+ //起始位下标
+ Integer startIndex = messageValue.getMessageStartIndex() - 1;
+ //结束位下标
+ Integer endIndex = messageValue.getMessageEndIndex();
+ //根据报文模版截取数据
+ String value = vin.substring(startIndex, endIndex);
+ //存入数据
+ System.out.println("标签"+messageValue.getMessageLabel()+"值"+value);
+ jsonObject.put(messageValue.getMessageLabel(), value);
+ }
+ sendKafkaMessage(jsonObject);
+ }
+
+ }
+
+
+
+ private static void sendKafkaMessage(JSONObject jsonObject){
+ ProducerRecord