From 6fbff659c5712835f47b37ee4400955cd8b39d3c Mon Sep 17 00:00:00 2001 From: ruyaxie <648179520@qq.comgit> Date: Mon, 30 Sep 2024 18:17:25 +0800 Subject: [PATCH 1/8] =?UTF-8?q?feat():=E4=BF=AE=E5=A4=8D=E7=BC=93=E5=AD=98?= =?UTF-8?q?Bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud-modules-enterprise/enterpise-service/pom.xml | 2 +- .../{enterpise-cache => enterprise-cache}/pom.xml | 2 +- .../java/com/muyu/enterpise/cache/MessageValueCacheService.java | 0 .../main/java/com/muyu/enterpise/cache/SysCarCacheService.java | 0 .../java/com/muyu/enterpise/cache/SysCarTypeCacheService.java | 0 ...springframework.boot.autoconfigure.AutoConfiguration.imports | 0 cloud-modules/cloud-modules-enterprise/pom.xml | 2 +- cloud-modules/cloud-modules-parse/pom.xml | 2 +- 8 files changed, 4 insertions(+), 4 deletions(-) rename cloud-modules/cloud-modules-enterprise/{enterpise-cache => enterprise-cache}/pom.xml (95%) rename cloud-modules/cloud-modules-enterprise/{enterpise-cache => enterprise-cache}/src/main/java/com/muyu/enterpise/cache/MessageValueCacheService.java (100%) rename cloud-modules/cloud-modules-enterprise/{enterpise-cache => enterprise-cache}/src/main/java/com/muyu/enterpise/cache/SysCarCacheService.java (100%) rename cloud-modules/cloud-modules-enterprise/{enterpise-cache => enterprise-cache}/src/main/java/com/muyu/enterpise/cache/SysCarTypeCacheService.java (100%) rename cloud-modules/cloud-modules-enterprise/{enterpise-cache => enterprise-cache}/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports (100%) 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/enterpise-cache/pom.xml b/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml similarity index 95% rename from cloud-modules/cloud-modules-enterprise/enterpise-cache/pom.xml rename to cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml index 54111f7..6c762b2 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-cache/pom.xml +++ b/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml @@ -9,7 +9,7 @@ 3.6.3 - enterpise-cache + enterprise-cache 17 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/enterprise-cache/src/main/java/com/muyu/enterpise/cache/MessageValueCacheService.java similarity index 100% rename from cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/MessageValueCacheService.java rename to cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/java/com/muyu/enterpise/cache/MessageValueCacheService.java 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/enterprise-cache/src/main/java/com/muyu/enterpise/cache/SysCarCacheService.java similarity index 100% rename from cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarCacheService.java rename to cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/java/com/muyu/enterpise/cache/SysCarCacheService.java 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/enterprise-cache/src/main/java/com/muyu/enterpise/cache/SysCarTypeCacheService.java similarity index 100% rename from cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/java/com/muyu/enterpise/cache/SysCarTypeCacheService.java rename to cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/java/com/muyu/enterpise/cache/SysCarTypeCacheService.java 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/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports similarity index 100% rename from cloud-modules/cloud-modules-enterprise/enterpise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports rename to cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 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 45f2124..615660e 100644 --- a/cloud-modules/cloud-modules-parse/pom.xml +++ b/cloud-modules/cloud-modules-parse/pom.xml @@ -103,7 +103,7 @@ com.muyu - enterpise-cache + enterprise-cache ${muyu.version} From 06a35cd64583429408d0e0c8ba93eda53b1b322b Mon Sep 17 00:00:00 2001 From: ruyaxie <648179520@qq.comgit> Date: Mon, 30 Sep 2024 19:06:56 +0800 Subject: [PATCH 2/8] =?UTF-8?q?feat():=E4=BF=AE=E5=A4=8D=E7=BC=93=E5=AD=98?= =?UTF-8?q?Bug2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/muyu/enterpise/controller/SysTypeController.java | 1 - .../com/muyu/enterpise/service/impl/MessageValueServiceImpl.java | 1 - 2 files changed, 2 deletions(-) diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/SysTypeController.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/SysTypeController.java index a0a883c..e45a73f 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/SysTypeController.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/SysTypeController.java @@ -4,7 +4,6 @@ import com.muyu.common.core.domain.Result; import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.domain.SysCarType; -import com.muyu.enterpise.cache.SysCarCacheService; import com.muyu.enterpise.cache.SysCarTypeCacheService; import com.muyu.enterpise.service.SysTypeService; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/MessageValueServiceImpl.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/MessageValueServiceImpl.java index 3f1407f..c0e1320 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/MessageValueServiceImpl.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/MessageValueServiceImpl.java @@ -10,7 +10,6 @@ import com.muyu.domain.resp.MessageValueListResp; import com.muyu.enterpise.cache.MessageValueCacheService; import com.muyu.enterpise.mapper.MessageValueMapper; import com.muyu.enterpise.service.MessageValueService; -import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import javax.annotation.Resource; From e9e32c2ad09cc61ef5ce84b54a39780538647df5 Mon Sep 17 00:00:00 2001 From: ruyaxie <648179520@qq.comgit> Date: Wed, 2 Oct 2024 16:45:36 +0800 Subject: [PATCH 3/8] =?UTF-8?q?feat():=E4=BF=AE=E5=A4=8D=E7=BC=93=E5=AD=98?= =?UTF-8?q?3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cloud-auth/src/main/resources/bootstrap.yml | 2 +- .../java/com/muyu/common/cache/PrimaryKeyBasic.java | 2 ++ cloud-gateway/src/main/resources/bootstrap.yml | 2 +- .../src/main/java/com/muyu/domain/SysCar.java | 1 - .../cloud-modules-enterprise/enterpise-remote/pom.xml | 1 + .../cloud-modules-enterprise/enterpise-service/pom.xml | 1 + .../java/com/muyu/enterpise/mapper/SysCarMapper.java | 2 +- .../java/com/muyu/enterpise/mapper/SysTypeMapper.java | 2 +- .../muyu/enterpise/service/impl/SysCarServiceImpl.java | 2 -- .../enterpise/service/impl/SysTypeServiceImpl.java | 2 +- .../enterpise-service/src/main/resources/bootstrap.yml | 2 +- .../cloud-modules-enterprise/enterprise-cache/pom.xml | 1 + .../src/main/resources/bootstrap.yml | 2 +- .../cloud-modules-gen/src/main/resources/bootstrap.yml | 2 +- cloud-modules/cloud-modules-parse/pom.xml | 1 + .../src/main/resources/bootstrap.yml | 2 +- .../src/main/resources/bootstrap.yml | 2 +- pom.xml | 10 +++++----- 18 files changed, 21 insertions(+), 18 deletions(-) diff --git a/cloud-auth/src/main/resources/bootstrap.yml b/cloud-auth/src/main/resources/bootstrap.yml index 06ac746..1c0718e 100644 --- a/cloud-auth/src/main/resources/bootstrap.yml +++ b/cloud-auth/src/main/resources/bootstrap.yml @@ -7,7 +7,7 @@ nacos: addr: 123.57.152.124:8848 user-name: nacos password: nacos - namespace: yan1 + namespace: xyr # Spring spring: application: diff --git a/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/PrimaryKeyBasic.java b/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/PrimaryKeyBasic.java index 50f2341..8c85947 100644 --- a/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/PrimaryKeyBasic.java +++ b/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/PrimaryKeyBasic.java @@ -1,5 +1,7 @@ package com.muyu.common.cache; +import org.jetbrains.annotations.NotNull; + /** * 主键基础 * * @className: PrimaryKeyBasic ️✈️ diff --git a/cloud-gateway/src/main/resources/bootstrap.yml b/cloud-gateway/src/main/resources/bootstrap.yml index 7ed6a9e..dfefd86 100644 --- a/cloud-gateway/src/main/resources/bootstrap.yml +++ b/cloud-gateway/src/main/resources/bootstrap.yml @@ -7,7 +7,7 @@ nacos: addr: 123.57.152.124:8848 user-name: nacos password: nacos - namespace: yan1 + namespace: xyr # Spring spring: diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/SysCar.java b/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/SysCar.java index 63b0a42..04fdf02 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/SysCar.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/SysCar.java @@ -84,7 +84,6 @@ public class SysCar extends BaseEntity{ .append("createTime", getCreateTime()) .append("updateBy", getUpdateBy()) .append("updateTime", getUpdateTime()) - .append("remark", getRemark()) .toString(); } } diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-remote/pom.xml b/cloud-modules/cloud-modules-enterprise/enterpise-remote/pom.xml index d9fd4f6..e94a784 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-remote/pom.xml +++ b/cloud-modules/cloud-modules-enterprise/enterpise-remote/pom.xml @@ -21,6 +21,7 @@ com.muyu enterpise-common + ${muyu.version} diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/pom.xml b/cloud-modules/cloud-modules-enterprise/enterpise-service/pom.xml index 17edc68..efe9200 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/pom.xml +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/pom.xml @@ -22,6 +22,7 @@ com.muyu enterpise-common + ${muyu.version} diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/SysCarMapper.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/SysCarMapper.java index abd13a3..65a1fc8 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/SysCarMapper.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/SysCarMapper.java @@ -15,5 +15,5 @@ import java.util.List; @Mapper public interface SysCarMapper extends BaseMapper{ - List selectSysCarList(SysCar sysCar); +// List selectSysCarList(SysCar sysCar); } diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/SysTypeMapper.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/SysTypeMapper.java index 8ca2562..fd6a542 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/SysTypeMapper.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/SysTypeMapper.java @@ -19,6 +19,6 @@ import java.util.List; */ public interface SysTypeMapper extends BaseMapper { - List selectSysList(); +// List selectSysList(); } diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/SysCarServiceImpl.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/SysCarServiceImpl.java index 6dc4e15..4717e18 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/SysCarServiceImpl.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/SysCarServiceImpl.java @@ -39,8 +39,6 @@ public class SysCarServiceImpl LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); Assert.notNull(id, "id不可为空"); queryWrapper.eq(SysCar::getId, id); - - return this.getOne(queryWrapper); } diff --git a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/SysTypeServiceImpl.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/SysTypeServiceImpl.java index e2f8728..be9475d 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/SysTypeServiceImpl.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/SysTypeServiceImpl.java @@ -30,7 +30,7 @@ public class SysTypeServiceImpl */ @Override public List selectSysTypeList() { - return sysTypeMapper.selectSysList(); + return this.list(); } 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 59bb63a..7f2f29b 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 @@ -19,7 +19,7 @@ spring: allow-bean-definition-overriding: true application: # 应用名称 - name: cloud-warn + name: cloud-saas profiles: # 环境配置 active: dev diff --git a/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml b/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml index 6c762b2..c3ff392 100644 --- a/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml +++ b/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml @@ -30,6 +30,7 @@ com.muyu enterpise-common + ${muyu.version} 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..167c09f 100644 --- a/cloud-modules/cloud-modules-file/src/main/resources/bootstrap.yml +++ b/cloud-modules/cloud-modules-file/src/main/resources/bootstrap.yml @@ -7,7 +7,7 @@ nacos: addr: 123.57.152.124:8848 user-name: nacos password: nacos - namespace: yan1 + namespace: xyr # 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..6b135ee 100644 --- a/cloud-modules/cloud-modules-gen/src/main/resources/bootstrap.yml +++ b/cloud-modules/cloud-modules-gen/src/main/resources/bootstrap.yml @@ -7,7 +7,7 @@ nacos: addr: 123.57.152.124:8848 user-name: nacos password: nacos - namespace: yan1 + namespace: xyr # SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all # Spring spring: diff --git a/cloud-modules/cloud-modules-parse/pom.xml b/cloud-modules/cloud-modules-parse/pom.xml index 615660e..91a2e59 100644 --- a/cloud-modules/cloud-modules-parse/pom.xml +++ b/cloud-modules/cloud-modules-parse/pom.xml @@ -99,6 +99,7 @@ com.muyu enterpise-common + ${muyu.version} 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..ff1b73b 100644 --- a/cloud-modules/cloud-modules-system/src/main/resources/bootstrap.yml +++ b/cloud-modules/cloud-modules-system/src/main/resources/bootstrap.yml @@ -7,7 +7,7 @@ nacos: addr: 123.57.152.124:8848 user-name: nacos password: nacos - namespace: yan1 + namespace: xyr # 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..93371a1 100644 --- a/cloud-visual/cloud-visual-monitor/src/main/resources/bootstrap.yml +++ b/cloud-visual/cloud-visual-monitor/src/main/resources/bootstrap.yml @@ -7,7 +7,7 @@ nacos: addr: 123.57.152.124:8848 user-name: nacos password: nacos - namespace: yan1 + namespace: xyr # Spring spring: diff --git a/pom.xml b/pom.xml index e2515e1..144c170 100644 --- a/pom.xml +++ b/pom.xml @@ -277,11 +277,11 @@ ${muyu.version} - - com.muyu - enterpise-common - ${muyu.version} - + + + + + com.muyu From d6167ebfedd030add46a15c048aa03afef033c47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E9=91=AB?= <1173628408@qq.com> Date: Mon, 30 Sep 2024 16:28:08 +0800 Subject: [PATCH 4/8] =?UTF-8?q?fix():=E6=B7=BB=E5=8A=A0rabbitmq=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E7=B1=BB,=E6=B7=BB=E5=8A=A0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=A4=84=E7=90=86=E5=9F=BA=E7=A1=80=E7=B1=BB=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cloud-auth/src/main/resources/bootstrap.yml | 4 +- cloud-common/cloud-common-cache/pom.xml | 4 + .../muyu/common/domain/InformationData.java | 21 +++++ .../iotdb/config/IotDBSessionConfig.java | 50 ++++++++--- .../common/iotdb/constant/IotdbConstant.java | 13 +++ .../common/rabbit/config/TopicConfig.java | 75 ++++++++++++++++ .../rabbit/constants/RabbitmqConstants.java | 24 +++-- .../rabbit/consumer/RabbitMQConsumerUtil.java | 59 ++++++++++++ .../rabbit/producer/RabbitMQProducerUtil.java | 4 +- .../src/main/resources/bootstrap.yml | 4 +- .../com/muyu/data/basics/EventHandler.java | 25 ------ .../muyu/data/basics/EventQueueConfig.java | 35 -------- .../java/com/muyu/data/domain/DataJSON.java | 3 +- .../com/muyu/data/domain/EventActuate.java | 3 +- .../com/muyu/data/domain/Information.java | 90 +++++++++++++++++++ .../data/event/AutoStartupEventListener.java | 7 +- .../com/muyu/data/event/EventStrategy.java | 21 +++++ .../muyu/data/event/EventStrategyContext.java | 30 +++++++ .../event/tactics/FenceStrategyEvent.java | 18 ++++ .../data/event/tactics/IotdbStoreEvent.java | 28 ++++++ .../cloud-modules-data-process-server/pom.xml | 27 ++++++ .../java/com/muyu/data/basic/EventCustom.java | 24 +++++ .../com/muyu/data/basic/EventListener.java | 16 ++++ .../com/muyu/data/basic/EventPublisher.java | 32 +++++++ .../muyu/data/consumer/GoOfflineConsumer.java | 38 ++++++++ .../muyu/data/consumer/GoOnlineConsumer.java | 45 ++++++++++ .../muyu/data/consumer/VehicleConsumer.java | 72 +++++++++++++++ .../muyu/data/controller/IotdbController.java | 40 +++++++++ .../data/controller/RabbitController.java | 32 +++++++ .../muyu/data/controller/TestController.java | 40 +++++++++ .../data/listener/AddDatabaseListener.java | 42 +++++++++ .../muyu/data/monitor/CatRabbitMonitor.java | 45 ++++++++++ .../java/com/muyu/data/util/CacheUtil.java | 38 ++++++++ .../src/main/resources/bootstrap.yml | 6 ++ .../enterpise-common/pom.xml | 5 ++ .../java/com/muyu/domain/CarFirmMiddle.java | 27 ++++++ .../src/main/resources/bootstrap.yml | 6 +- .../enterprise-cache/pom.xml | 14 +-- .../enterprise/cache/VehicleCacheService.java | 28 ++++++ ...ot.autoconfigure.AutoConfiguration.imports | 1 + .../src/main/resources/bootstrap.yml | 4 +- .../src/main/resources/bootstrap.yml | 4 +- .../src/main/resources/bootstrap.yml | 4 +- .../src/main/resources/bootstrap.yml | 4 +- pom.xml | 30 +++++++ 45 files changed, 1033 insertions(+), 109 deletions(-) create mode 100644 cloud-common/cloud-common-cache/src/main/java/com/muyu/common/domain/InformationData.java create mode 100644 cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/constant/IotdbConstant.java create mode 100644 cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/TopicConfig.java delete mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventHandler.java delete mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventQueueConfig.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/domain/Information.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/EventStrategy.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/EventStrategyContext.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/tactics/FenceStrategyEvent.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/tactics/IotdbStoreEvent.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/basic/EventCustom.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/basic/EventListener.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/basic/EventPublisher.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/consumer/GoOfflineConsumer.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/consumer/GoOnlineConsumer.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/consumer/VehicleConsumer.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/controller/IotdbController.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/controller/RabbitController.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/controller/TestController.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/listener/AddDatabaseListener.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/monitor/CatRabbitMonitor.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/util/CacheUtil.java create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-common/src/main/java/com/muyu/domain/CarFirmMiddle.java create mode 100644 cloud-modules/cloud-modules-enterprise/enterprise-cache/src/main/java/com/muyu/enterprise/cache/VehicleCacheService.java diff --git a/cloud-auth/src/main/resources/bootstrap.yml b/cloud-auth/src/main/resources/bootstrap.yml index 1c0718e..83a37f2 100644 --- a/cloud-auth/src/main/resources/bootstrap.yml +++ b/cloud-auth/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: xyr + namespace: wx # Spring spring: application: diff --git a/cloud-common/cloud-common-cache/pom.xml b/cloud-common/cloud-common-cache/pom.xml index 488b785..39ddb01 100644 --- a/cloud-common/cloud-common-cache/pom.xml +++ b/cloud-common/cloud-common-cache/pom.xml @@ -27,6 +27,10 @@ com.muyu cloud-common-redis + + 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 dfefd86..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: xyr + 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 50546a7..f65506a 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 7f2f29b..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: xyr + namespace: wx # SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all # Spring spring: @@ -19,7 +19,7 @@ spring: allow-bean-definition-overriding: true application: # 应用名称 - name: cloud-saas + name: cloud-warn profiles: # 环境配置 active: dev diff --git a/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml b/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml index c3ff392..aa61d15 100644 --- a/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml +++ b/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml @@ -18,19 +18,13 @@ - - - - - com.muyu - cloud-common-cache - ${muyu.version} - - com.muyu enterpise-common - ${muyu.version} + + + 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 index 3257b72..ca0bb51 100644 --- 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 @@ -1,2 +1,3 @@ com.muyu.enterpise.cache.MessageValueCacheService com.muyu.enterpise.cache.SysCarCacheService +com.muyu.enterprise.cache.VehicleCacheService 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 167c09f..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: xyr + 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 6b135ee..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: xyr + 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 ff1b73b..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: xyr + 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 93371a1..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: xyr + namespace: wx # Spring spring: diff --git a/pom.xml b/pom.xml index 144c170..5d9803f 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 4396e30dfd0cd41bf47f29b1dbaec4c27bfe50cf Mon Sep 17 00:00:00 2001 From: YangPeng <3074487626@qq.com> Date: Mon, 30 Sep 2024 12:01:29 +0800 Subject: [PATCH 5/8] =?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 | 37 +++++++ .../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 ++++++++++ .../controller/MiddleController.java | 53 ++++----- .../mapper/CarAndFenceGroupMiddleMapper.java | 19 ++++ .../mapper/CarFenceServiceMybaitsMapper.java | 9 +- .../mapper/CarFenceUpdateMapper.java | 18 ++++ .../CarAndFenceGroupMiddleService.java | 22 ++++ .../service/CarFenceServiceMybaits.java | 24 +++-- .../service/CarFenceUpdateService.java | 16 +++ .../CarAndFenceGroupMiddleServiceImpl.java | 41 +++++++ .../impl/CarFenceServiceMybaitsImpl.java | 101 +++++++++++------- .../impl/CarFenceUpdateServiceImpl.java | 26 +++++ .../enterprise-cache/pom.xml | 8 ++ ...ot.autoconfigure.AutoConfiguration.imports | 2 - cloud-modules/cloud-vx/pom.xml | 5 + .../com/muyu/service/Impl/WxServiceImpl.java | 2 + pom.xml | 10 +- 24 files changed, 515 insertions(+), 81 deletions(-) create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventQueueConfig.java 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/enterpise/controller/CarAndFenceGroupMiddleController.java create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/CarFenceUpdateController.java create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/CarAndFenceGroupMiddleMapper.java create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/CarFenceUpdateMapper.java create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/CarAndFenceGroupMiddleService.java create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/CarFenceUpdateService.java create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/CarAndFenceGroupMiddleServiceImpl.java create mode 100644 cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/CarFenceUpdateServiceImpl.java 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 new file mode 100644 index 0000000..ce3499d --- /dev/null +++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventQueueConfig.java @@ -0,0 +1,37 @@ +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-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/enterpise/controller/CarAndFenceGroupMiddleController.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/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/enterpise/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/enterpise/controller/CarFenceUpdateController.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/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/enterpise/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/enterpise/controller/MiddleController.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/MiddleController.java index 348561b..43a334e 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/MiddleController.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/MiddleController.java @@ -1,10 +1,11 @@ -package com.muyu.enterpise.controller; +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.enterpise.service.CarFenceServiceMybaits; -import com.muyu.enterpise.service.MiddleService; +import com.muyu.domain.req.FenceGroupUpdateReq; +import com.muyu.service.CarFenceServiceMybaits; +import com.muyu.service.MiddleService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; @@ -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/enterpise/mapper/CarAndFenceGroupMiddleMapper.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/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/enterpise/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/enterpise/mapper/CarFenceServiceMybaitsMapper.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/CarFenceServiceMybaitsMapper.java index 7503a27..798b06a 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/CarFenceServiceMybaitsMapper.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/CarFenceServiceMybaitsMapper.java @@ -1,8 +1,9 @@ package com.muyu.enterpise.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/enterpise/mapper/CarFenceUpdateMapper.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/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/enterpise/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/enterpise/service/CarAndFenceGroupMiddleService.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/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/enterpise/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/enterpise/service/CarFenceServiceMybaits.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/CarFenceServiceMybaits.java index a2474ff..3d1f15d 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/CarFenceServiceMybaits.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/CarFenceServiceMybaits.java @@ -1,6 +1,8 @@ package com.muyu.enterpise.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/enterpise/service/CarFenceUpdateService.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/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/enterpise/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/enterpise/service/impl/CarAndFenceGroupMiddleServiceImpl.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/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/enterpise/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/enterpise/service/impl/CarFenceServiceMybaitsImpl.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/CarFenceServiceMybaitsImpl.java index 40023da..6698602 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/CarFenceServiceMybaitsImpl.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/CarFenceServiceMybaitsImpl.java @@ -1,12 +1,16 @@ -package com.muyu.enterpise.service.impl; +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.enterpise.mapper.CarFenceServiceMybaitsMapper; -import com.muyu.enterpise.service.CarFenceServiceMybaits; +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/enterpise/service/impl/CarFenceUpdateServiceImpl.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/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/enterpise/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 index aa61d15..b710426 100644 --- a/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml +++ b/cloud-modules/cloud-modules-enterprise/enterprise-cache/pom.xml @@ -22,9 +22,17 @@ 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 index ca0bb51..93f24ed 100644 --- 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 @@ -1,3 +1 @@ -com.muyu.enterpise.cache.MessageValueCacheService -com.muyu.enterpise.cache.SysCarCacheService 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 5d9803f..3cf0a00 100644 --- a/pom.xml +++ b/pom.xml @@ -283,11 +283,11 @@ - - com.muyu - enterpise-client - ${muyu.version} - + + + + + From eea7db374d3dce6e700ec22083caddb3d56863e8 Mon Sep 17 00:00:00 2001 From: YangPeng <3074487626@qq.com> Date: Mon, 30 Sep 2024 14:34:49 +0800 Subject: [PATCH 6/8] =?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 --- .../controller/MiddleController.java | 11 +------- .../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/enterpise/controller/MiddleController.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/MiddleController.java index 43a334e..b311553 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/MiddleController.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/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/enterpise/service/CarFenceServiceMybaits.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/CarFenceServiceMybaits.java index 3d1f15d..ea866a8 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/CarFenceServiceMybaits.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/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/enterpise/service/impl/CarFenceServiceMybaitsImpl.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/CarFenceServiceMybaitsImpl.java index 6698602..cce2bd6 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/CarFenceServiceMybaitsImpl.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/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 a138c0dacd291179285a7d7e9172ae910a62b875 Mon Sep 17 00:00:00 2001 From: YangPeng <3074487626@qq.com> Date: Mon, 30 Sep 2024 14:43:22 +0800 Subject: [PATCH 7/8] =?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 --- .../controller/MiddleController.java | 14 --------- .../mapper/CarFenceServiceMybaitsMapper.java | 11 ------- .../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/enterpise/controller/MiddleController.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/MiddleController.java index b311553..2eaa3cd 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/controller/MiddleController.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/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/enterpise/mapper/CarFenceServiceMybaitsMapper.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/CarFenceServiceMybaitsMapper.java index 798b06a..4222e89 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/mapper/CarFenceServiceMybaitsMapper.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/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/enterpise/service/CarFenceServiceMybaits.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/CarFenceServiceMybaits.java index ea866a8..7076018 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/CarFenceServiceMybaits.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/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/enterpise/service/impl/CarFenceServiceMybaitsImpl.java b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/CarFenceServiceMybaitsImpl.java index cce2bd6..533555f 100644 --- a/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/service/impl/CarFenceServiceMybaitsImpl.java +++ b/cloud-modules/cloud-modules-enterprise/enterpise-service/src/main/java/com/muyu/enterpise/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} - +