From dd94f2e39e98a0eabcc5cfe2f4c7637a82e5e987 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E9=91=AB?= <1173628408@qq.com> Date: Sun, 29 Sep 2024 22:45:06 +0800 Subject: [PATCH] =?UTF-8?q?fix():=E4=BF=AE=E5=A4=8D=E6=A1=86=E6=9E=B6bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cloud-common/cloud-common-cache/pom.xml | 5 +- .../com/muyu/common/cache/CacheBasic.java | 12 +- cloud-common/cloud-common-caffeine/pom.xml | 31 + ...ot.autoconfigure.AutoConfiguration.imports | 0 cloud-common/cloud-common-iotdb/pom.xml | 39 + .../iotdb/config/IotDBSessionConfig.java | 149 ++++ .../common/iotdb/domain/EventActuate.java | 29 + .../common/iotdb/domain/InsertDataDTO.java | 40 + .../common/iotdb/domain/ResultEntity.java | 20 + .../common/iotdb/domain/TestDataType.java | 18 + .../iotdb/domain/dto/IotDbRecordAble.java | 14 + .../dto/MeasurementSchemaValuesDTO.java | 23 + .../common/iotdb/service/IotDBService.java | 105 +++ .../iotdb/service/impl/IotDBServiceImpl.java | 711 ++++++++++++++++++ ...ot.autoconfigure.AutoConfiguration.imports | 1 + cloud-common/cloud-common-kafka/pom.xml | 4 + cloud-common/cloud-common-rabbit/pom.xml | 8 +- .../rabbit/RabbitListenerConfigurer.java | 41 - .../rabbit/config/DelayedQueueConfig.java | 83 ++ .../rabbit/config/MyConfirmCallback.java | 47 ++ .../rabbit/config/RabbitAdminConfig.java | 49 ++ .../common/rabbit/config/RabbitmqConfig.java | 20 + .../rabbit/config/ReturnCallbackConfig.java | 37 + .../rabbit/constants/RabbitmqConstants.java | 22 + .../rabbit/consumer/RabbitMQConsumerUtil.java | 81 ++ .../rabbit/producer/RabbitMQProducerUtil.java | 174 +++++ ...ot.autoconfigure.AutoConfiguration.imports | 8 +- cloud-common/pom.xml | 2 + .../java/com/muyu/SysCarFaultApplication.java | 35 - .../fault/controller/CarTypeController.java | 35 - .../fault/controller/FaultCodeController.java | 92 --- .../controller/FaultConditionController.java | 92 --- .../FaultDetectionStrategyController.java | 22 - .../controller/FaultLabelController.java | 40 - .../fault/controller/FaultLogController.java | 37 - .../fault/controller/FaultRuleController.java | 49 -- .../fault/controller/FaultTypeController.java | 38 - .../fault/controller/MessageController.java | 81 -- .../controller/SysCarFaultController.java | 112 --- .../com/muyu/fault/domain/CarFaultRule.java | 206 ----- .../java/com/muyu/fault/domain/CarType.java | 34 - .../java/com/muyu/fault/domain/FaultCode.java | 71 -- .../com/muyu/fault/domain/FaultCondition.java | 87 --- .../com/muyu/fault/domain/FaultLabel.java | 43 -- .../java/com/muyu/fault/domain/FaultLog.java | 68 -- .../com/muyu/fault/domain/FaultReport.java | 22 - .../java/com/muyu/fault/domain/FaultRule.java | 67 -- .../java/com/muyu/fault/domain/FaultType.java | 33 - .../com/muyu/fault/domain/MessageDao.java | 37 - .../com/muyu/fault/domain/MessageService.java | 54 -- .../com/muyu/fault/domain/SysCarFault.java | 102 --- .../java/com/muyu/fault/domain/WarnLevel.java | 5 - .../muyu/fault/domain/message/Message.java | 66 -- .../muyu/fault/domain/message/MessageReq.java | 33 - .../fault/domain/message/MessageSendReq.java | 54 -- .../com/muyu/fault/domain/message/User.java | 38 - .../fault/domain/req/FaultCodeAddReq.java | 69 -- .../fault/domain/req/FaultCodeListReq.java | 41 - .../fault/domain/req/FaultCodeUpdReq.java | 78 -- .../domain/req/FaultConditionAddReq.java | 43 -- .../domain/req/FaultConditionListReq.java | 42 -- .../domain/req/FaultConditionUpdReq.java | 43 -- .../fault/domain/req/FaultLogListReq.java | 56 -- .../fault/domain/resp/FaultCodeListResp.java | 88 --- .../domain/resp/FaultCodeTotalListResp.java | 38 - .../domain/resp/FaultConditionListResp.java | 76 -- .../resp/FaultConditionTotalListResp.java | 35 - .../fault/domain/resp/FaultLogListResp.java | 83 -- .../domain/resp/FaultLogTotalListResp.java | 36 - .../com/muyu/fault/domain/vo/FaultCodeVo.java | 40 - .../com/muyu/fault/mapper/CarTypeMapper.java | 17 - .../muyu/fault/mapper/FaultCodeMapper.java | 45 -- .../fault/mapper/FaultConditionMapper.java | 26 - .../mapper/FaultDetectionStrategyMapper.java | 11 - .../muyu/fault/mapper/FaultLabelMapper.java | 16 - .../com/muyu/fault/mapper/FaultLogMapper.java | 24 - .../muyu/fault/mapper/FaultRuleMapper.java | 16 - .../muyu/fault/mapper/FaultTypeMapper.java | 22 - .../com/muyu/fault/mapper/MessageMapper.java | 23 - .../muyu/fault/mapper/SysCarFaultMapper.java | 17 - .../muyu/fault/service/CarTypeService.java | 24 - .../muyu/fault/service/FaultCodeService.java | 56 -- .../fault/service/FaultConditionService.java | 35 - .../fault/service/FaultDetectionStrategy.java | 16 - .../FaultDetectionStrategyService.java | 4 - .../muyu/fault/service/FaultLabelService.java | 23 - .../muyu/fault/service/FaultLogService.java | 26 - .../muyu/fault/service/FaultRuleService.java | 23 - .../muyu/fault/service/FaultTypeService.java | 28 - .../fault/service/ISysCarFaultService.java | 37 - .../muyu/fault/service/MessageService.java | 49 -- .../service/impl/CarTypeServiceImpl.java | 39 - .../service/impl/FaultCodeServiceImpl.java | 122 --- .../impl/FaultConditionServiceImpl.java | 63 -- .../FaultDetectionStrategyServiceImpl.java | 20 - .../service/impl/FaultLabelServiceImpl.java | 37 - .../service/impl/FaultLogServiceImpl.java | 46 -- .../service/impl/FaultRuleServiceImpl.java | 66 -- .../service/impl/FaultTypeServiceImpl.java | 50 -- .../service/impl/MessageServiceImpl.java | 126 ---- .../service/impl/SysCarFaultServiceImpl.java | 100 --- .../FuelVehicleCarFaultDetectionStrategy.java | 19 - ...PureElectricCarFaultDetectionStrategy.java | 199 ----- .../mapper/faultcode/FaultCodeMapper.xml | 102 --- .../mapper/faultcode/FaultConditionMapper.xml | 56 -- .../mapper/faultcode/FaultLogMapper.xml | 45 -- .../mapper/faultcode/MessageMapper.xml | 16 - .../cloud-modules-data-process-common/pom.xml | 39 + .../com/muyu/data/basics/EventHandler.java | 25 + .../muyu/data/basics/EventProcessBasics.java | 32 + .../muyu/data/basics/EventQueueConfig.java | 35 + .../java/com/muyu/data/basics/StartEvent.java | 26 + .../com/muyu/data/constant/EventConstant.java | 12 + .../java/com/muyu/data/domain/DataJSON.java | 33 + .../com/muyu/data/domain/EventActuate.java | 29 + .../data/event/AutoStartupEventListener.java | 23 + .../com/muyu/data/event/StorageEvent.java | 37 + ...ot.autoconfigure.AutoConfiguration.imports | 1 + .../pom.xml | 9 +- .../com/muyu/data/DataProcessApplication.java | 14 + .../src/main/resources/banner.txt | 0 .../src/main/resources/bootstrap.yml | 20 +- .../src/main/resources/logback/dev.xml | 2 +- .../src/main/resources/logback/prod.xml | 2 +- .../src/main/resources/logback/test.xml | 2 +- .../cloud-modules-data-process/pom.xml | 29 + .../pom.xml | 4 +- .../muyu/CloudVehicleGatewayApplication.java | 0 .../muyu/vehicleGateway/ClearInstance.java | 0 .../muyu/vehicleGateway/CreateInstance.java | 0 .../vehicleGateway/MqttPublishSample.java | 0 .../vehicle/VehicleInstance.java | 0 .../vehicle/model/VehicleData.java | 0 .../vehicle/thread/VehicleThread.java | 0 .../web/domain/VehicleInfo.java | 0 .../web/domain/model/PositionModel.java | 0 .../web/mapper/VehicleInfoMapper.java | 0 .../service/impl/VechileInfoServiceImpl.java | 0 .../vehicleGateway/web/util/VehicleUtils.java | 0 .../src/main/resources/banner.txt | 2 + .../src/main/resources/bootstrap.yml | 0 .../src/main/resources/logback/dev.xml | 0 .../src/main/resources/logback/prod.xml | 0 .../src/main/resources/logback/test.xml | 0 cloud-modules/pom.xml | 2 + pom.xml | 14 + 146 files changed, 2097 insertions(+), 4133 deletions(-) create mode 100644 cloud-common/cloud-common-caffeine/pom.xml create mode 100644 cloud-common/cloud-common-caffeine/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports create mode 100644 cloud-common/cloud-common-iotdb/pom.xml create mode 100644 cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/config/IotDBSessionConfig.java create mode 100644 cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/EventActuate.java create mode 100644 cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/InsertDataDTO.java create mode 100644 cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/ResultEntity.java create mode 100644 cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/TestDataType.java create mode 100644 cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/dto/IotDbRecordAble.java create mode 100644 cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/dto/MeasurementSchemaValuesDTO.java create mode 100644 cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/service/IotDBService.java create mode 100644 cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/service/impl/IotDBServiceImpl.java create mode 100644 cloud-common/cloud-common-iotdb/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports delete mode 100644 cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/RabbitListenerConfigurer.java create mode 100644 cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/DelayedQueueConfig.java create mode 100644 cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/MyConfirmCallback.java create mode 100644 cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/RabbitAdminConfig.java create mode 100644 cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/RabbitmqConfig.java create mode 100644 cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/ReturnCallbackConfig.java create mode 100644 cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/constants/RabbitmqConstants.java create mode 100644 cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/consumer/RabbitMQConsumerUtil.java create mode 100644 cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/producer/RabbitMQProducerUtil.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/SysCarFaultApplication.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/CarTypeController.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultCodeController.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultConditionController.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultDetectionStrategyController.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultLabelController.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultLogController.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultRuleController.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultTypeController.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/MessageController.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/SysCarFaultController.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/CarFaultRule.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/CarType.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultCode.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultCondition.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultLabel.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultLog.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultReport.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultRule.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultType.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/MessageDao.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/MessageService.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/SysCarFault.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/WarnLevel.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/message/Message.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/message/MessageReq.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/message/MessageSendReq.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/message/User.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultCodeAddReq.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultCodeListReq.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultCodeUpdReq.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultConditionAddReq.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultConditionListReq.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultConditionUpdReq.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultLogListReq.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultCodeListResp.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultCodeTotalListResp.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultConditionListResp.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultConditionTotalListResp.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultLogListResp.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultLogTotalListResp.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/vo/FaultCodeVo.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/CarTypeMapper.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultCodeMapper.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultConditionMapper.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultDetectionStrategyMapper.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultLabelMapper.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultLogMapper.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultRuleMapper.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultTypeMapper.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/MessageMapper.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/SysCarFaultMapper.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/CarTypeService.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultCodeService.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultConditionService.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultDetectionStrategy.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultDetectionStrategyService.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultLabelService.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultLogService.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultRuleService.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultTypeService.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/ISysCarFaultService.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/MessageService.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/CarTypeServiceImpl.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultCodeServiceImpl.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultConditionServiceImpl.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultDetectionStrategyServiceImpl.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultLabelServiceImpl.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultLogServiceImpl.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultRuleServiceImpl.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultTypeServiceImpl.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/MessageServiceImpl.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/SysCarFaultServiceImpl.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/faultDetectionStrategy/FuelVehicleCarFaultDetectionStrategy.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/faultDetectionStrategy/PureElectricCarFaultDetectionStrategy.java delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/resources/mapper/faultcode/FaultCodeMapper.xml delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/resources/mapper/faultcode/FaultConditionMapper.xml delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/resources/mapper/faultcode/FaultLogMapper.xml delete mode 100644 cloud-gateway/cloud-modules-fault/src/main/resources/mapper/faultcode/MessageMapper.xml create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/pom.xml create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventHandler.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventProcessBasics.java 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-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/StartEvent.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/constant/EventConstant.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/domain/DataJSON.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/domain/EventActuate.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/AutoStartupEventListener.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/StorageEvent.java create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports rename {cloud-gateway/cloud-modules-fault => cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server}/pom.xml (94%) create mode 100644 cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/DataProcessApplication.java rename cloud-modules/{cloud-modules-vehicleGateway => cloud-modules-data-process/cloud-modules-data-process-server}/src/main/resources/banner.txt (100%) rename {cloud-gateway/cloud-modules-fault => cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server}/src/main/resources/bootstrap.yml (78%) rename {cloud-gateway/cloud-modules-fault => cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server}/src/main/resources/logback/dev.xml (97%) rename {cloud-gateway/cloud-modules-fault => cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server}/src/main/resources/logback/prod.xml (97%) rename {cloud-gateway/cloud-modules-fault => cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server}/src/main/resources/logback/test.xml (97%) create mode 100644 cloud-modules/cloud-modules-data-process/pom.xml rename cloud-modules/{cloud-modules-vehicleGateway => cloud-modules-vehicle-gateway}/pom.xml (97%) rename cloud-modules/{cloud-modules-vehicleGateway => cloud-modules-vehicle-gateway}/src/main/java/com/muyu/CloudVehicleGatewayApplication.java (100%) rename cloud-modules/{cloud-modules-vehicleGateway => cloud-modules-vehicle-gateway}/src/main/java/com/muyu/vehicleGateway/ClearInstance.java (100%) rename cloud-modules/{cloud-modules-vehicleGateway => cloud-modules-vehicle-gateway}/src/main/java/com/muyu/vehicleGateway/CreateInstance.java (100%) rename cloud-modules/{cloud-modules-vehicleGateway => cloud-modules-vehicle-gateway}/src/main/java/com/muyu/vehicleGateway/MqttPublishSample.java (100%) rename cloud-modules/{cloud-modules-vehicleGateway => cloud-modules-vehicle-gateway}/src/main/java/com/muyu/vehicleGateway/vehicle/VehicleInstance.java (100%) rename cloud-modules/{cloud-modules-vehicleGateway => cloud-modules-vehicle-gateway}/src/main/java/com/muyu/vehicleGateway/vehicle/model/VehicleData.java (100%) rename cloud-modules/{cloud-modules-vehicleGateway => cloud-modules-vehicle-gateway}/src/main/java/com/muyu/vehicleGateway/vehicle/thread/VehicleThread.java (100%) rename cloud-modules/{cloud-modules-vehicleGateway => cloud-modules-vehicle-gateway}/src/main/java/com/muyu/vehicleGateway/web/domain/VehicleInfo.java (100%) rename cloud-modules/{cloud-modules-vehicleGateway => cloud-modules-vehicle-gateway}/src/main/java/com/muyu/vehicleGateway/web/domain/model/PositionModel.java (100%) rename cloud-modules/{cloud-modules-vehicleGateway => cloud-modules-vehicle-gateway}/src/main/java/com/muyu/vehicleGateway/web/mapper/VehicleInfoMapper.java (100%) rename cloud-modules/{cloud-modules-vehicleGateway => cloud-modules-vehicle-gateway}/src/main/java/com/muyu/vehicleGateway/web/service/impl/VechileInfoServiceImpl.java (100%) rename cloud-modules/{cloud-modules-vehicleGateway => cloud-modules-vehicle-gateway}/src/main/java/com/muyu/vehicleGateway/web/util/VehicleUtils.java (100%) create mode 100644 cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/banner.txt rename cloud-modules/{cloud-modules-vehicleGateway => cloud-modules-vehicle-gateway}/src/main/resources/bootstrap.yml (100%) rename cloud-modules/{cloud-modules-vehicleGateway => cloud-modules-vehicle-gateway}/src/main/resources/logback/dev.xml (100%) rename cloud-modules/{cloud-modules-vehicleGateway => cloud-modules-vehicle-gateway}/src/main/resources/logback/prod.xml (100%) rename cloud-modules/{cloud-modules-vehicleGateway => cloud-modules-vehicle-gateway}/src/main/resources/logback/test.xml (100%) diff --git a/cloud-common/cloud-common-cache/pom.xml b/cloud-common/cloud-common-cache/pom.xml index 8a3ac5d..488b785 100644 --- a/cloud-common/cloud-common-cache/pom.xml +++ b/cloud-common/cloud-common-cache/pom.xml @@ -5,16 +5,15 @@ 4.0.0 com.muyu - cloud-server + cloud-common 3.6.3 - ../../pom.xml cloud-common-cache 缓存基准 - cloud-common- + cloud-common-cache 23 diff --git a/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/CacheBasic.java b/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/CacheBasic.java index 924f5cc..214b8b5 100644 --- a/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/CacheBasic.java +++ b/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/CacheBasic.java @@ -2,13 +2,13 @@ package com.muyu.common.cache; /** * 缓存基础 - * * @className: CacheBasic ️✈️ - * * @author: Yang 鹏 🦅 - * * @date: 2024/9/29 16:08 ⏰ - * * @Version: 1.0 - * * @description: + * * @className: CacheBasic ️✈️ + * * @author: Yang 鹏 🦅 + * * @date: 2024/9/29 16:08 ⏰ + * * @Version: 1.0 + * * @description: */ -public interface CacheBasic extends PrimaryKeyBasic{ +public interface CacheBasic extends PrimaryKeyBasic { void put(K key, V value); V get(K key); diff --git a/cloud-common/cloud-common-caffeine/pom.xml b/cloud-common/cloud-common-caffeine/pom.xml new file mode 100644 index 0000000..83a7605 --- /dev/null +++ b/cloud-common/cloud-common-caffeine/pom.xml @@ -0,0 +1,31 @@ + + + 4.0.0 + + com.muyu + cloud-common + 3.6.3 + + + cloud-common-caffeine + + + cloud-common-caffeine 本地缓存服务 + + + + 17 + 17 + UTF-8 + + + + + com.github.ben-manes.caffeine + caffeine + + + + diff --git a/cloud-common/cloud-common-caffeine/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-common/cloud-common-caffeine/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..e69de29 diff --git a/cloud-common/cloud-common-iotdb/pom.xml b/cloud-common/cloud-common-iotdb/pom.xml new file mode 100644 index 0000000..32ef405 --- /dev/null +++ b/cloud-common/cloud-common-iotdb/pom.xml @@ -0,0 +1,39 @@ + + + 4.0.0 + + com.muyu + cloud-common + 3.6.3 + + + cloud-common-iotdb + + + cloud-common-iotdb 时序性数据存储服务 + + + + 17 + 17 + UTF-8 + + + + + org.apache.iotdb + iotdb-session + + + com.alibaba.fastjson2 + fastjson2 + + + org.projectlombok + lombok + + + + 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 new file mode 100644 index 0000000..042acf0 --- /dev/null +++ b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/config/IotDBSessionConfig.java @@ -0,0 +1,149 @@ + +package com.muyu.common.iotdb.config; + +import com.alibaba.fastjson2.JSONObject; +import lombok.extern.log4j.Log4j2; +import org.apache.iotdb.isession.SessionDataSet; +import org.apache.iotdb.isession.pool.SessionDataSetWrapper; +import org.apache.iotdb.rpc.IoTDBConnectionException; +import org.apache.iotdb.rpc.StatementExecutionException; +import org.apache.iotdb.session.pool.SessionPool; +import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; +import org.apache.iotdb.tsfile.read.common.Field; +import org.apache.iotdb.tsfile.read.common.RowRecord; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Author WangXin + * @Data 2024/9/30 + * @Description IotDBSessionConfig配置类 + * @Version 1.0.0 + */ +@Log4j2 +@Component +@Configuration +public class IotDBSessionConfig { + + @Value("${spring.iotdb.username:root}") + private String username; + + @Value("${spring.iotdb.password:root}") + private String password; + + @Value("${spring.iotdb.ip:127.0.0.1}") + private String ip; + + @Value("${spring.iotdb.port:6667}") + private int port; + + @Value("${spring.iotdb.maxSize:10}") + private int maxSize; + + private static SessionPool sessionPool; + + /** + * 获取IotDBSession对象 + * @return iotDBSession对象 + */ + public SessionPool getSessionPool() { + if (sessionPool == null) { + sessionPool = new SessionPool(ip, port, username, password, maxSize); + } + return sessionPool; + } + + /** + * 添加数据 + * @param deviceId + * @param time + * @param measurements + * @param values + */ + public void insertRecord(SessionPool sessionPool,String deviceId, long time, List measurements, List values) { + try { + log.info("iotdb数据入库:device_id:[{}], measurements:[{}], values:[{}]", deviceId, measurements, values); + sessionPool.insertRecord(deviceId, time, measurements, values); + } catch (Exception e) { + log.error("IotDBSession insertRecord失败: deviceId={}, time={}, measurements={}, values={}, error={}", + deviceId, time, measurements, values, e.getMessage()); + } + } + + public SessionDataSet selectRecord(SessionPool sessionPool,String sql) { + log.info("iotdb数据查询:sql:[{}]",sql); + SessionDataSetWrapper sessionDataSetWrapper = null; + try { + log.info("iotdb SQL查询:sql:[{}]", sql); + sessionDataSetWrapper = sessionPool.executeQueryStatement(sql); + return sessionDataSetWrapper.getSessionDataSet(); + } catch (Exception e) { + log.error("IotDBSession executeQueryStatement失败:sql:[{}],error={}", sql, e.getMessage()); + throw new RuntimeException(e); + } + } + + + + 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 = """ + { + "name": "张三", + "age": 28, + "email": "zhangsan@example.com", + "isStudent": false, + "hobbies": ["阅读", "旅行", "编程"], + "address": { + "street": "长安街100号", + "city": "北京", + "postalCode": "100000" + } + } + """; + + 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); + + SessionDataSet sessionDataSet = iotDBSessionConfig.selectRecord(sessionPool,SELECT_ROOT_DATA_DATAJSON_DATASOURCE); + + HashMap> longMapHashMap = new HashMap<>(); + + try { + while (sessionDataSet.hasNext()){ + RowRecord next = sessionDataSet.next(); + long timestamp = next.getTimestamp(); + Map fieldMap = new HashMap<>(); + for (Field field : next.getFields()) { + TSDataType dataType = field.getDataType(); + String stringValue = field.getStringValue(); + fieldMap.put(dataType.name(), stringValue); + } + longMapHashMap.put(timestamp, fieldMap); + } + } catch (StatementExecutionException e) { + throw new RuntimeException(e); + } 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/domain/EventActuate.java b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/EventActuate.java new file mode 100644 index 0000000..f0fad39 --- /dev/null +++ b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/EventActuate.java @@ -0,0 +1,29 @@ +package com.muyu.common.iotdb.domain; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.List; + +/** + * @Author WangXin + * @Data 2024/9/29 + * @Description 事件驱动对象 + * @Version 1.0.0 + */ +@Data +@SuperBuilder +@AllArgsConstructor +@NoArgsConstructor +public class EventActuate { + /** + * json数据 + */ + private String jsonData; + /** + * 事件驱动key集合 + */ + private List eventKeys; +} diff --git a/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/InsertDataDTO.java b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/InsertDataDTO.java new file mode 100644 index 0000000..47ceee9 --- /dev/null +++ b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/InsertDataDTO.java @@ -0,0 +1,40 @@ +package com.muyu.common.iotdb.domain; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.ArrayList; +import java.util.List; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class InsertDataDTO { + private Float temperature; + private String hardware; + private Boolean status; + + public InsertDataDTO buildOne() { + InsertDataDTO insertDataDTO = new InsertDataDTO(); + insertDataDTO.setHardware("ss"); + insertDataDTO.setStatus(true); + insertDataDTO.setTemperature(12.0F); + return insertDataDTO; + } + + public List buildList() { + List insertDataDTOS = new ArrayList<>(); + int buildNum = 10; + for (int i = 0; i < buildNum; i++) { + InsertDataDTO insertDataDTO = new InsertDataDTO(); + insertDataDTO.setHardware(i % 2 == 0 ? "pp" + i : null); + insertDataDTO.setStatus(i % 2 == 0); + insertDataDTO.setTemperature(12.0F + i); + insertDataDTOS.add(insertDataDTO); + } + return insertDataDTOS; + } +} diff --git a/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/ResultEntity.java b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/ResultEntity.java new file mode 100644 index 0000000..f9ac7ba --- /dev/null +++ b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/ResultEntity.java @@ -0,0 +1,20 @@ +package com.muyu.common.iotdb.domain; + + +import com.muyu.common.iotdb.domain.dto.IotDbRecordAble; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class ResultEntity extends IotDbRecordAble { + + private Float temperature; + + private String hardware; + + private Boolean status; + + private String time; + +} diff --git a/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/TestDataType.java b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/TestDataType.java new file mode 100644 index 0000000..1b68224 --- /dev/null +++ b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/TestDataType.java @@ -0,0 +1,18 @@ +package com.muyu.common.iotdb.domain; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class TestDataType { + private Float temperature; + private String hardware; + private Boolean status; + private Double testDouble; + private Long testLong; +} diff --git a/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/dto/IotDbRecordAble.java b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/dto/IotDbRecordAble.java new file mode 100644 index 0000000..621ae7c --- /dev/null +++ b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/dto/IotDbRecordAble.java @@ -0,0 +1,14 @@ +package com.muyu.common.iotdb.domain.dto; + +import lombok.Data; + +/** + * @Author WangXin + * @Data 2024/9/30 + * @Description IotDBServiceImpl业务实现层 + * @Version 1.0.0 + */ + +@Data +public class IotDbRecordAble { +} diff --git a/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/dto/MeasurementSchemaValuesDTO.java b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/dto/MeasurementSchemaValuesDTO.java new file mode 100644 index 0000000..5b4b5e5 --- /dev/null +++ b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/domain/dto/MeasurementSchemaValuesDTO.java @@ -0,0 +1,23 @@ +package com.muyu.common.iotdb.domain.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; +import org.apache.iotdb.tsfile.write.schema.MeasurementSchema; + +import java.util.List; + + +@Data +@SuperBuilder +@AllArgsConstructor +@NoArgsConstructor +public class MeasurementSchemaValuesDTO { + + private List schemaList; + + private List values; + + private List valueIsNullIndex; +} diff --git a/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/service/IotDBService.java b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/service/IotDBService.java new file mode 100644 index 0000000..b2e068e --- /dev/null +++ b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/service/IotDBService.java @@ -0,0 +1,105 @@ +package com.muyu.common.iotdb.service; + +import com.muyu.common.iotdb.domain.dto.IotDbRecordAble; +import com.muyu.common.iotdb.domain.dto.MeasurementSchemaValuesDTO; +import org.apache.iotdb.common.rpc.thrift.TAggregationType; +import org.apache.iotdb.isession.SessionDataSet; +import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; +import org.apache.iotdb.tsfile.write.record.Tablet; +import org.apache.iotdb.tsfile.write.schema.MeasurementSchema; + +import java.util.List; +import java.util.Map; + +/** + * @Author WangXin + * @Data 2024/9/28 + * @Description IotDBServiceImpl业务层 + * @Version 1.0.0 + */ +public interface IotDBService { + + void insertTablet(Tablet tablet); + + void insertTablets(Map tablets); + + void insertStringRecord(String deviceId, long time, List measurements, List values); + + void insertRecord(String deviceId, long time, List measurements, List types, List values); + + void insertStringRecords(List deviceIds, List times, List> measurementsList, List> valuesList); + + void insertRecords(List deviceIds, List times, List> measurementsList, List> typesList, List> valuesList); + + void insertStringRecordsOfOneDevice(String deviceId, List times, List> measurementsList, List> valuesList); + + void insertRecordsOfOneDevice(String deviceId, List times, List> measurementsList, List> typesList, List> valuesList); + + void deleteData(String path, long endTime); + + void deleteData(List paths, long endTime); + + SessionDataSet executeRawDataQuery(List paths, long startTime, long endTime, long timeOut); + + List executeRawDataQuery(List paths, long startTime, long endTime, long timeOut, Class clazz); + + SessionDataSet executeLastDataQuery(List paths, long lastTime); + + List executeLastDataQuery(List paths, long lastTime, Class clazz); + + SessionDataSet executeLastDataQueryForOneDevice(String db, String device, List sensors, boolean isLegalPathNodes); + + List executeLastDataQueryForOneDevice(String db, String device, List sensors, boolean isLegalPathNodes, Class clazz); + + SessionDataSet executeAggregationQuery(List paths, List aggregations); + + SessionDataSet executeAggregationQuery(List paths, List aggregations, long startTime, long endTime); + + SessionDataSet executeAggregationQuery(List paths, List aggregations, long startTime, long endTime, long interval); + + SessionDataSet executeAggregationQuery(List paths, List aggregations, long startTime, long endTime, long interval, long slidingStep); + + SessionDataSet executeQueryStatement(String sql); + + + /** + * SQL非查询 + * + * @param sql + */ + void executeNonQueryStatement(String sql); + + /** + * 封装处理数据 + * + * @param sessionDataSet + * @param titleList + */ + List> packagingMapData(SessionDataSet sessionDataSet, List columnNames); + + /** + * 封装处理数据(不支持聚合查询) + * + * @param sessionDataSet 查询返回的结果集 + * @param titleList 查询返回的结果集内的字段名 + * @param clazz 返回数据对应的对象(对象属性必须与字段名对应) + * @param + * @return + */ + List packagingObjectData(SessionDataSet sessionDataSet, List titleList, Class clazz); + + /** + * 根据对象构建MeasurementSchemas + * + * @param object 对象 + * @return + */ + List buildMeasurementSchemas(Object object); + /** + * 根据对象构建MeasurementSchemaValuesDTO + * + * @param object 对象 + * @return + */ + MeasurementSchemaValuesDTO buildMeasurementSchemasAndValues(Object object); +} diff --git a/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/service/impl/IotDBServiceImpl.java b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/service/impl/IotDBServiceImpl.java new file mode 100644 index 0000000..4bf659a --- /dev/null +++ b/cloud-common/cloud-common-iotdb/src/main/java/com/muyu/common/iotdb/service/impl/IotDBServiceImpl.java @@ -0,0 +1,711 @@ +package com.muyu.common.iotdb.service.impl; + +import com.alibaba.fastjson2.JSON; +import com.muyu.common.iotdb.config.IotDBSessionConfig; +import com.muyu.common.iotdb.domain.dto.IotDbRecordAble; +import com.muyu.common.iotdb.domain.dto.MeasurementSchemaValuesDTO; +import com.muyu.common.iotdb.service.IotDBService; +import jakarta.annotation.Resource; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.apache.iotdb.common.rpc.thrift.TAggregationType; +import org.apache.iotdb.isession.SessionDataSet; +import org.apache.iotdb.isession.pool.SessionDataSetWrapper; +import org.apache.iotdb.session.pool.SessionPool; +import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; +import org.apache.iotdb.tsfile.read.common.Field; +import org.apache.iotdb.tsfile.read.common.RowRecord; +import org.apache.iotdb.tsfile.write.record.Tablet; +import org.apache.iotdb.tsfile.write.schema.MeasurementSchema; +import org.springframework.stereotype.Service; + +import java.lang.reflect.Type; +import java.util.*; +import java.util.stream.Collectors; + +/** + * @Author WangXin + * @Data 2024/9/28 + * @Description IotDBServiceImpl业务实现层 + * @Version 1.0.0 + */ +@Service +@Slf4j +public class IotDBServiceImpl implements IotDBService { + + @Resource + private IotDBSessionConfig iotDBSessionConfig; + + /** + * 单设备批量插入数据 + * + * @param tablet + */ + @Override + public void insertTablet(Tablet tablet) { + SessionPool sessionPool = iotDBSessionConfig.getSessionPool(); + try { + log.info("iotdb数据入库:tablet:[{}]", tablet); + sessionPool.insertTablet(tablet); + } catch (Exception e) { + log.error("IotDBSession insertTablet失败: tablet={}, error={}", tablet, e.getMessage()); + } + } + + /** + * 多设备批量插入数据 + * + * @param tablets + */ + @Override + public void insertTablets(Map tablets) { + SessionPool sessionPool = iotDBSessionConfig.getSessionPool(); + try { + log.info("iotdb数据入库:tablets:[{}]", tablets); + sessionPool.insertTablets(tablets); + } catch (Exception e) { + log.error("IotDBSession insertTablets失败: tablets={}, error={}", tablets, e.getMessage()); + } + } + + /** + * 单条数据插入(string类型数据项) + * + * @param deviceId 设备名(表名)root.ln.wf01.wt01 + * @param time 时间戳 + * @param measurements 数据项列表 + * @param values 数据项对应值列表 + */ + @Override + public void insertStringRecord(String deviceId, long time, List measurements, List values) { + SessionPool sessionPool = iotDBSessionConfig.getSessionPool(); + try { + log.info("iotdb数据入库:device_id:[{}], measurements:[{}], values:[{}]", deviceId, measurements, values); + sessionPool.insertRecord(deviceId, time, measurements, values); + } catch (Exception e) { + log.error("IotDBSession insertRecord失败: deviceId={}, time={}, measurements={}, values={}, error={}", + deviceId, time, measurements, values, e.getMessage()); + } + } + + /** + * 单条数据插入(不同类型数据项) + * + * @param deviceId 设备名(表名)root.ln.wf01.wt01 + * @param time 时间戳 + * @param measurements 数据项列表 + * @param types 数据项对应类型列表 + * @param values 数据项对应值列表 + */ + @Override + public void insertRecord(String deviceId, long time, List measurements, List types, List values) { + SessionPool sessionPool = iotDBSessionConfig.getSessionPool(); + try { + log.info("iotdb数据入库:device_id:[{}], measurements:[{}], types:[{}], values:[{}]", deviceId, measurements, types, values); + sessionPool.insertRecord(deviceId, time, measurements, types, values); + } catch (Exception e) { + log.error("IotDBSession insertRecordHasTypes失败: deviceId={}, time={}, measurements={},types={}, values={}, error={}", + deviceId, time, measurements, types, values, e.getMessage()); + } + } + + + /** + * 多个设备多条数据插入(string类型数据项) + * + * @param deviceIds 多个设备名(表名)root.ln.wf01.wt01 + * @param times 时间戳的列表 + * @param measurementsList 数据项列表的列表 + * @param valuesList 数据项对应值列表的列表 + */ + @Override + public void insertStringRecords(List deviceIds, List times, List> measurementsList, List> valuesList) { + SessionPool sessionPool = iotDBSessionConfig.getSessionPool(); + try { + log.info("iotdb数据入库:deviceIds:[{}], measurementsList:[{}], valuesList:[{}]", deviceIds, measurementsList, valuesList); + sessionPool.insertRecords(deviceIds, times, measurementsList, valuesList); + } catch (Exception e) { + log.error("IotDBSession insertRecords失败: deviceIds={}, times={}, measurementsList={}, valuesList={}, error={}", + deviceIds, times, measurementsList, valuesList, e.getMessage()); + } + } + + /** + * 多个设备多条数据插入(不同类型数据项) + * + * @param deviceIds 多个设备名(表名))root.ln.wf01.wt01 + * @param times 时间戳的列表 + * @param measurementsList 数据项列表的列表 + * @param typesList 数据项对应类型列表的列表 + * @param valuesList 数据项对应值列表的列表 + */ + @Override + public void insertRecords(List deviceIds, List times, List> measurementsList, List> typesList, List> valuesList) { + SessionPool sessionPool = iotDBSessionConfig.getSessionPool(); + try { + log.info("iotdb数据入库:deviceIds:[{}], measurementsList:[{}], typesList:[{}], valuesList:[{}]", deviceIds, measurementsList, typesList, valuesList); + sessionPool.insertRecords(deviceIds, times, measurementsList, typesList, valuesList); + } catch (Exception e) { + log.error("IotDBSession insertRecords失败: deviceIds={}, times={}, measurementsList={}, typesList=[],valuesList={}, error={}", + deviceIds, times, measurementsList, typesList, valuesList, e.getMessage()); + } + } + + /** + * 单个设备多条数据插入(string类型数据项) + * + * @param deviceId 单个设备名(表名))root.ln.wf01.wt01 + * @param times 时间戳的列表 + * @param measurementsList 数据项列表的列表 + * @param valuesList 数据项对应值列表的列表 + */ + @Override + public void insertStringRecordsOfOneDevice(String deviceId, List times, List> measurementsList, List> valuesList) { + SessionPool sessionPool = iotDBSessionConfig.getSessionPool(); + try { + log.info("iotdb数据入库:deviceId:[{}], measurementsList:[{}], valuesList:[{}]", deviceId, measurementsList, valuesList); + sessionPool.insertStringRecordsOfOneDevice(deviceId, times, measurementsList, valuesList); + } catch (Exception e) { + log.error("IotDBSession insertStringRecordsOfOneDevice失败: deviceId={}, times={}, measurementsList={}, valuesList={}, error={}", + deviceId, times, measurementsList, valuesList, e.getMessage()); + } + } + + /** + * 单个设备多条数据插入(不同类型数据项) + * + * @param deviceId 单个设备名(表名))root.ln.wf01.wt01 + * @param times 时间戳的列表 + * @param measurementsList 数据项列表的列表 + * @param typesList 数据项对应类型列表的列表 + * @param valuesList 数据项对应值列表的列表 + */ + @Override + public void insertRecordsOfOneDevice(String deviceId, List times, List> measurementsList, List> typesList, List> valuesList) { + SessionPool sessionPool = iotDBSessionConfig.getSessionPool(); + try { + log.info("iotdb数据入库:deviceId:[{}], measurementsList:[{}], typesList:[{}], valuesList:[{}]", deviceId, measurementsList, typesList, valuesList); + sessionPool.insertRecordsOfOneDevice(deviceId, times, measurementsList, typesList, valuesList); + } catch (Exception e) { + log.error("IotDBSession insertRecordsOfOneDevice失败: deviceId={}, times={}, measurementsList={}, typesList=[],valuesList={}, error={}", deviceId, times, measurementsList, typesList, valuesList, e.getMessage()); + } + } + + /** + * 删除数据(删除一个时间序列在某个时间点前或这个时间点的数据) + * + * @param path 单个字段 root.ln.wf01.wt01.temperature + * @param endTime 删除时间点 + */ + @Override + public void deleteData(String path, long endTime) { + SessionPool sessionPool = iotDBSessionConfig.getSessionPool(); + try { + log.info("iotdb数据删除:path:[{}], endTime:[{}]", path, endTime); + sessionPool.deleteData(path, endTime); + } catch (Exception e) { + log.error("IotDBSession deleteData失败: deviceId={}, times={},error={}", path, endTime, e.getMessage()); + } + } + + /** + * 删除数据(删除多个时间序列在某个时间点前或这个时间点的数据) + * + * @param paths 多个字段(表名)) root.ln.wf01.wt01.temperature + * @param endTime 删除时间点 + */ + @Override + public void deleteData(List paths, long endTime) { + SessionPool sessionPool = iotDBSessionConfig.getSessionPool(); + try { + log.info("iotdb数据删除:paths:[{}], endTime:[{}]", paths, endTime); + sessionPool.deleteData(paths, endTime); + } catch (Exception e) { + log.error("IotDBSession deleteData失败: paths={}, times={},error={}", paths, endTime, e.getMessage()); + } + } + + /** + * 数据查询(时间序列原始数据范围查询,时间范围为左闭右开区间,包含开始时间但不包含结束时间) + * + * @param paths 多个字段(表名)) root.ln.wf01.wt01.temperature + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param outTime 超时时间 + * @return SessionDataSet (Time,paths) + */ + @Override + public SessionDataSet executeRawDataQuery(List paths, long startTime, long endTime, long outTime) { + SessionPool sessionPool = iotDBSessionConfig.getSessionPool(); + SessionDataSetWrapper sessionDataSetWrapper = null; + try { + log.info("iotdb数据查询:paths:[{}], startTime:[{}], endTime:[{}],outTime:[{}]", paths, startTime, endTime, outTime); + sessionDataSetWrapper = sessionPool.executeRawDataQuery(paths, startTime, endTime, outTime); + return sessionDataSetWrapper.getSessionDataSet(); + } catch (Exception e) { + log.error("IotDBSession executeRawDataQuery失败: paths={}, startTime:[{}], endTime:[{}],outTime:[{}],error={}", paths, startTime, endTime, outTime, e.getMessage()); + } finally { + sessionPool.closeResultSet(sessionDataSetWrapper); + } + return null; + } + + /** + * 数据查询(时间序列原始数据范围查询,时间范围为左闭右开区间,包含开始时间但不包含结束时间) + * + * @param paths 多个字段(表名)) root.ln.wf01.wt01.temperature + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param outTime 超时时间 + * @param clazz 返回数据对应的对象(对象属性必须与字段名对应) + * @param + * @return + */ + @Override + public List executeRawDataQuery(List paths, long startTime, long endTime, long outTime, Class clazz) { + SessionDataSet sessionDataSet = executeRawDataQuery(paths, startTime, endTime, outTime); + List columnNames = sessionDataSet.getColumnNames(); + List resultEntities = null; + try { + resultEntities = packagingObjectData(sessionDataSet, columnNames, clazz); + } catch (Exception e) { + log.error("IotDBSession executeRawDataQuery失败: paths={}, startTime:[{}], endTime:[{}],outTime:[{}],error={}", paths, startTime, endTime, outTime, e.getMessage()); + } + return resultEntities; + } + + /** + * 最新点查询(查询最后一条时间戳大于等于某个时间点的数据) + * + * @param paths 多个字段(表名)) root.ln.wf01.wt01.temperature + * @param lastTime 结束时间 + * @return SessionDataSet + */ + @Override + public SessionDataSet executeLastDataQuery(List paths, long lastTime) { + SessionPool sessionPool = iotDBSessionConfig.getSessionPool(); + SessionDataSetWrapper sessionDataSetWrapper = null; + try { + log.info("iotdb数据查询:paths:[{}], lastTime:[{}]", paths, lastTime); + sessionDataSetWrapper = sessionPool.executeLastDataQuery(paths, lastTime); + return sessionDataSetWrapper.getSessionDataSet(); + } catch (Exception e) { + log.error("IotDBSession executeLastDataQuery失败: paths={}, lastTime:[{}], error={}", paths, lastTime, e.getMessage()); + } finally { + sessionPool.closeResultSet(sessionDataSetWrapper); + } + return null; + } + + /** + * 最新点查询(查询最后一条时间戳大于等于某个时间点的数据) + * + * @param + * @param paths 多个字段(表名)) root.ln.wf01.wt01.temperature + * @param lastTime 结束时间 + * @param clazz 返回数据对应的对象(对象属性必须与字段名对应) + * @return + */ + @Override + public List executeLastDataQuery(List paths, long lastTime, Class clazz) { + SessionDataSet sessionDataSet = executeLastDataQuery(paths, lastTime); + List columnNames = sessionDataSet.getColumnNames(); + List resultEntities = null; + try { + resultEntities = packagingObjectData(sessionDataSet, columnNames, clazz); + } catch (Exception e) { + log.error("IotDBSession executeLastDataQuery失败: paths={}, lastTime:[{}], error={}", paths, lastTime, e.getMessage()); + } + return resultEntities; + } + + /** + * 最新点查询(快速查询单设备下指定序列最新点) + * + * @param db root.ln.wf01 + * @param device root.ln.wf01.wt01 + * @param sensors temperature,status(字段名) + * @param isLegalPathNodes true(避免路径校验) + * @return SessionDataSet + */ + @Override + public SessionDataSet executeLastDataQueryForOneDevice(String db, String device, List sensors, boolean isLegalPathNodes) { + SessionPool sessionPool = iotDBSessionConfig.getSessionPool(); + SessionDataSetWrapper sessionDataSetWrapper = null; + try { + log.info("iotdb数据查询:db:[{}], device:[{}],sensors:[{}], isLegalPathNodes:[{}]", db, device, sensors, isLegalPathNodes); + sessionDataSetWrapper = sessionPool.executeLastDataQueryForOneDevice(db, device, sensors, isLegalPathNodes); + return sessionDataSetWrapper.getSessionDataSet(); + } catch (Exception e) { + log.error("IotDBSession executeLastDataQueryForOneDevice失败: db:[{}], device:[{}],sensors:[{}], isLegalPathNodes:[{}], error={}", db, device, sensors, isLegalPathNodes, e.getMessage()); + } finally { + sessionPool.closeResultSet(sessionDataSetWrapper); + } + return null; + } + + /** + * @param db root.ln.wf01 + * @param device root.ln.wf01.wt01 + * @param sensors temperature,status(字段名) + * @param isLegalPathNodes true(避免路径校验) + * @param clazz 返回数据对应的对象(对象属性必须与字段名对应) + * @param + * @return + */ + @Override + public List executeLastDataQueryForOneDevice(String db, String device, List sensors, boolean isLegalPathNodes, Class clazz) { + SessionDataSet sessionDataSet = executeLastDataQueryForOneDevice(db, device, sensors, isLegalPathNodes); + List columnNames = sessionDataSet.getColumnNames(); + List resultEntities = null; + try { + resultEntities = packagingObjectData(sessionDataSet, columnNames, clazz); + } catch (Exception e) { + log.error("IotDBSession executeLastDataQueryForOneDevice失败: db:[{}], device:[{}],sensors:[{}], isLegalPathNodes:[{}], error={}", db, device, sensors, isLegalPathNodes, e.getMessage()); + } + return resultEntities; + } + + /** + * 聚合查询 + * + * @param paths 多个字段(表名)) root.ln.wf01.wt01.temperature + * @param aggregations 聚合操作 TAggregationType.SUM,TAggregationType.COUNT + * @return SessionDataSet + */ + @Override + public SessionDataSet executeAggregationQuery(List paths, List aggregations) { + SessionPool sessionPool = iotDBSessionConfig.getSessionPool(); + SessionDataSetWrapper sessionDataSetWrapper = null; + try { + log.info("iotdb聚合查询:paths:[{}], aggregations:[{}]", paths, aggregations); + sessionDataSetWrapper = sessionPool.executeAggregationQuery(paths, aggregations); + return sessionDataSetWrapper.getSessionDataSet(); + } catch (Exception e) { + log.error("IotDBSession executeAggregationQuery失败: paths:[{}], aggregations:[{}] ,error={}", paths, aggregations, e.getMessage()); + } finally { + sessionPool.closeResultSet(sessionDataSetWrapper); + } + return null; + } + + /** + * 聚合查询(时间序列原始数据范围查询,时间范围为左闭右开区间,包含开始时间但不包含结束时间) + * + * @param paths 多个字段(表名)) root.ln.wf01.wt01.temperature + * @param aggregations 聚合操作 TAggregationType.SUM,TAggregationType.COUNT + * @param startTime 开始时间(包含) + * @param endTime 结束时间 + * @return SessionDataSet + */ + @Override + public SessionDataSet executeAggregationQuery(List paths, List aggregations, long startTime, long endTime) { + SessionPool sessionPool = iotDBSessionConfig.getSessionPool(); + SessionDataSetWrapper sessionDataSetWrapper = null; + try { + log.info("iotdb聚合查询:paths:[{}], aggregations:[{}],startTime:[{}], endTime:[{}]", paths, aggregations, startTime, endTime); + sessionDataSetWrapper = sessionPool.executeAggregationQuery(paths, aggregations, startTime, endTime); + return sessionDataSetWrapper.getSessionDataSet(); + } catch (Exception e) { + log.error("IotDBSession executeAggregationQuery失败: paths:[{}], aggregations:[{}] ,startTime:[{}], endTime:[{}],error={}", paths, aggregations, startTime, endTime, e.getMessage()); + } finally { + sessionPool.closeResultSet(sessionDataSetWrapper); + } + return null; + } + + /** + * 聚合查询(支持按照时间区间分段查询) + * + * @param paths 多个字段(表名)) root.ln.wf01.wt01.temperature + * @param aggregations 聚合操作 TAggregationType.SUM,TAggregationType.COUNT + * @param startTime 开始时间(包含) + * @param endTime 结束时间 + * @param interval + * @return SessionDataSet + */ + @Override + public SessionDataSet executeAggregationQuery(List paths, List aggregations, long startTime, long endTime, long interval) { + SessionPool sessionPool = iotDBSessionConfig.getSessionPool(); + SessionDataSetWrapper sessionDataSetWrapper = null; + try { + log.info("iotdb聚合查询:paths:[{}], aggregations:[{}],startTime:[{}], endTime:[{}] ,interval:[{}]", paths, aggregations, startTime, endTime, interval); + sessionDataSetWrapper = sessionPool.executeAggregationQuery(paths, aggregations, startTime, endTime, interval); + return sessionDataSetWrapper.getSessionDataSet(); + } catch (Exception e) { + log.error("IotDBSession executeAggregationQuery失败: paths:[{}], aggregations:[{}] ,startTime:[{}], endTime:[{}], interval:[{}], error={}", paths, aggregations, startTime, endTime, interval, e.getMessage()); + } finally { + sessionPool.closeResultSet(sessionDataSetWrapper); + } + return null; + } + + /** + * 聚合查询(支持按照时间区间分段查询) + * + * @param paths 多个字段(表名)) root.ln.wf01.wt01.temperature + * @param aggregations 聚合操作 TAggregationType.SUM,TAggregationType.COUNT + * @param startTime 开始时间(包含) + * @param endTime 结束时间 + * @param interval + * @param slidingStep + * @return SessionDataSet + */ + @Override + public SessionDataSet executeAggregationQuery(List paths, List aggregations, long startTime, long endTime, long interval, long slidingStep) { + SessionPool sessionPool = iotDBSessionConfig.getSessionPool(); + SessionDataSetWrapper sessionDataSetWrapper = null; + + try { + log.info("iotdb聚合查询:paths:[{}], aggregations:[{}],startTime:[{}], endTime:[{}] ,interval:[{}], slidingStep:[{}]", paths, aggregations, startTime, endTime, interval, slidingStep); + sessionDataSetWrapper = sessionPool.executeAggregationQuery(paths, aggregations, startTime, endTime, interval, slidingStep); + return sessionDataSetWrapper.getSessionDataSet(); + } catch (Exception e) { + log.error("IotDBSession executeAggregationQuery失败: paths:[{}], aggregations:[{}] ,startTime:[{}], endTime:[{}], interval:[{}], slidingStep:[{}] ,error={}", paths, aggregations, startTime, endTime, interval, slidingStep, e.getMessage()); + } finally { + sessionPool.closeResultSet(sessionDataSetWrapper); + } + return null; + } + + /** + * SQL查询 + * + * @param sql + * @return + */ + @Override + public SessionDataSet executeQueryStatement(String sql) { + SessionPool sessionPool = iotDBSessionConfig.getSessionPool(); + SessionDataSetWrapper sessionDataSetWrapper = null; + + try { + log.info("iotdb SQL查询:sql:[{}]", sql); + sessionDataSetWrapper = sessionPool.executeQueryStatement(sql); + return sessionDataSetWrapper.getSessionDataSet(); + } catch (Exception e) { + log.error("IotDBSession executeQueryStatement失败:sql:[{}],error={}", sql, e.getMessage()); + } finally { + sessionPool.closeResultSet(sessionDataSetWrapper); + } + return null; + } + + /** + * SQL非查询 + * + * @param sql + */ + @Override + public void executeNonQueryStatement(String sql) { + SessionPool sessionPool = iotDBSessionConfig.getSessionPool(); + try { + log.info("iotdb SQL无查询:sql:[{}]", sql); + sessionPool.executeNonQueryStatement(sql); + } catch (Exception e) { + log.error("IotDBSession executeNonQueryStatement失败:sql:[{}],error={}", sql, e.getMessage()); + } + } + + /** + * 封装处理数据 + * + * @param sessionDataSet + * @param titleList + */ + @SneakyThrows + @Override + public List> packagingMapData(SessionDataSet sessionDataSet, List titleList) { + int fetchSize = sessionDataSet.getFetchSize(); + List> resultList = new ArrayList<>(); + titleList.remove("Time"); + if (fetchSize > 0) { + while (sessionDataSet.hasNext()) { + Map resultMap = new HashMap<>(); + RowRecord next = sessionDataSet.next(); + List fields = next.getFields(); + String timeString = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(next.getTimestamp()); + resultMap.put("time", timeString); + for (int i = 0; i < fields.size(); i++) { + Field field = fields.get(i); + if (field.getDataType() == null || field.getObjectValue(field.getDataType()) == null) { + resultMap.put(splitString(titleList.get(i)), null); + } else { + resultMap.put(splitString(titleList.get(i)), field.getObjectValue(field.getDataType()).toString()); + } + } + resultList.add(resultMap); + } + } + return resultList; + } + + /** + * 封装处理数据(不支持聚合查询) + * + * @param sessionDataSet 查询返回的结果集 + * @param titleList 查询返回的结果集内的字段名 + * @param clazz 返回数据对应的对象(对象属性必须与字段名对应) + * @param + * @return + */ + @SneakyThrows + @Override + public List packagingObjectData(SessionDataSet sessionDataSet, List titleList, Class clazz) { + int fetchSize = sessionDataSet.getFetchSize(); + List resultList = new ArrayList<>(); + titleList.remove("Time"); + if (fetchSize > 0) { + while (sessionDataSet.hasNext()) { + Map resultMap = new HashMap<>(); + RowRecord next = sessionDataSet.next(); + List fields = next.getFields(); + String timeString = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(next.getTimestamp()); + resultMap.put("time", timeString); + if (titleList.stream().anyMatch(str -> str.contains("."))) { + for (int i = 0; i < fields.size(); i++) { + Field field = fields.get(i); + String title = titleList.get(i); + if (field.getDataType() == null || field.getObjectValue(field.getDataType()) == null) { + resultMap.put(splitString(title), null); + } else { + resultMap.put(splitString(title), field.getObjectValue(field.getDataType()).toString()); + } + } + } else { + Field fieldName = fields.get(0); + Field fieldValue = fields.get(1); + Field fieldDataType = fields.get(2); + if (fieldName.getDataType() != null && fieldName.getObjectValue(fieldName.getDataType()) != null) { + String mapKey = fieldName.getObjectValue(fieldName.getDataType()).toString(); + Object mapValue = convertStringToType(fieldValue.getObjectValue(fieldValue.getDataType()).toString(), fieldDataType.getObjectValue(fieldDataType.getDataType()).toString()); + resultMap.put(splitString(mapKey), mapValue); + } + } + + String jsonString = JSON.toJSONString(resultMap); + resultList.add(JSON.parseObject(jsonString, (Type) clazz)); + } + } + return resultList; + } + + /** + * 分割获取字段名 + * + * @param str + * @return 字段名 + */ + public static String splitString(String str) { + String[] parts = str.split("\\."); + if (parts.length <= 0) { + return str; + } else { + return parts[parts.length - 1]; + } + } + + /** + * 根据数据值和数据类型返回对应数据类型数据 + * + * @param value 数据值 + * @param typeName 数据类型 + * @return 转换后的数据值 + */ + public static Object convertStringToType(String value, String typeName) { + String type = typeName.toLowerCase(); + if (type.isEmpty()) { + return value; + } + if ("boolean".equals(type)) { + return Boolean.parseBoolean(value); + } else if ("double".equals(type)) { + return Double.parseDouble(value); + } else if ("int32".equals(type)) { + return Integer.parseInt(value); + } else if ("int64".equals(type)) { + return Long.parseLong(value); + } else if ("float".equals(type)) { + return Float.parseFloat(value); + } else if ("text".equals(type)) { + return value; + } else { + return value; + } + } + + /** + * 根据对象属性的数据类型返回对应的TSDataType + * + * @param type 属性的数据类型 + * @return TSDataType + */ + public static TSDataType getTsDataTypeByString(String type) { + String typeName = splitString(type).toLowerCase(); + if ("boolean".equals(typeName)) { + return TSDataType.BOOLEAN; + } else if ("double".equals(typeName)) { + return TSDataType.DOUBLE; + } else if ("int".equals(typeName) || "integer".equals(typeName)) { + return TSDataType.INT32; + } else if ("long".equals(typeName)) { + return TSDataType.INT64; + } else if ("float".equals(typeName)) { + return TSDataType.FLOAT; + } else if ("text".equals(typeName)) { + return TSDataType.TEXT; + } else if ("string".equals(typeName)) { + return TSDataType.TEXT; + } else { + return TSDataType.UNKNOWN; + } + } + + /** + * 根据对象构建MeasurementSchemas + * + * @param obj 对象 + * @return + */ + @Override + public List buildMeasurementSchemas(Object obj) { + java.lang.reflect.Field[] fields = obj.getClass().getDeclaredFields(); + List schemaList = Arrays.stream(fields).map(field -> + new MeasurementSchema(field.getName(), + getTsDataTypeByString( + field.getType().getName() + ))). + collect(Collectors.toList()); + return schemaList; + } + + /** + * 根据对象构建MeasurementSchemaValuesDTO + * + * @param obj 对象 + * @return + */ + @SneakyThrows + @Override + public MeasurementSchemaValuesDTO buildMeasurementSchemasAndValues(Object obj) { + MeasurementSchemaValuesDTO measurementSchemaValuesDTO = new MeasurementSchemaValuesDTO(); + java.lang.reflect.Field[] fields = obj.getClass().getDeclaredFields(); + List schemaList = new ArrayList<>(); + List values = new ArrayList<>(); + List valuesIsNullIndex = new ArrayList<>(); + int valueIndex = 0; + for (java.lang.reflect.Field field : fields) { + MeasurementSchema measurementSchema = new MeasurementSchema(field.getName(), getTsDataTypeByString(field.getType().getName())); + schemaList.add(measurementSchema); + Object value = field.get(obj); + if (value == null) { + valuesIsNullIndex.add(valueIndex); + } + values.add(value); + valueIndex++; + } + measurementSchemaValuesDTO.setSchemaList(schemaList); + measurementSchemaValuesDTO.setValues(values); + return measurementSchemaValuesDTO; + } +} diff --git a/cloud-common/cloud-common-iotdb/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-common/cloud-common-iotdb/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..cc3e2eb --- /dev/null +++ b/cloud-common/cloud-common-iotdb/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +com.muyu.data.iotdb.config.IotDBSessionConfig diff --git a/cloud-common/cloud-common-kafka/pom.xml b/cloud-common/cloud-common-kafka/pom.xml index 1d7e765..cbd0681 100644 --- a/cloud-common/cloud-common-kafka/pom.xml +++ b/cloud-common/cloud-common-kafka/pom.xml @@ -17,6 +17,10 @@ UTF-8 + + cloud-common-kafka kafka公共模块 + + diff --git a/cloud-common/cloud-common-rabbit/pom.xml b/cloud-common/cloud-common-rabbit/pom.xml index fa6d383..79f5225 100644 --- a/cloud-common/cloud-common-rabbit/pom.xml +++ b/cloud-common/cloud-common-rabbit/pom.xml @@ -17,6 +17,10 @@ UTF-8 + + cloud-common-rabbit 消息队列服务 + + @@ -28,8 +32,8 @@ com.muyu - cloud-common-core + cloud-common-redis - \ No newline at end of file + diff --git a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/RabbitListenerConfigurer.java b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/RabbitListenerConfigurer.java deleted file mode 100644 index 51cb359..0000000 --- a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/RabbitListenerConfigurer.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.muyu.common.rabbit; - -import org.springframework.amqp.rabbit.connection.ConnectionFactory; -import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistrar; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.messaging.converter.MappingJackson2MessageConverter; -import org.springframework.messaging.handler.annotation.support.DefaultMessageHandlerMethodFactory; - -@Configuration -public class RabbitListenerConfigurer implements org.springframework.amqp.rabbit.annotation.RabbitListenerConfigurer { - - static { - System.setProperty("spring.amqp.deserialization.trust.all", "true"); - } - - //以下配置RabbitMQ消息服务 - @Autowired - public ConnectionFactory connectionFactory; - - - /** - * 处理器方法工厂 - * @return - */ - @Bean - public DefaultMessageHandlerMethodFactory handlerMethodFactory() { - DefaultMessageHandlerMethodFactory factory = new DefaultMessageHandlerMethodFactory(); - // 这里的转换器设置实现了 通过 @Payload 注解 自动反序列化message body - factory.setMessageConverter(new MappingJackson2MessageConverter()); - return factory; - } - - @Override - public void configureRabbitListeners(RabbitListenerEndpointRegistrar rabbitListenerEndpointRegistrar) { - rabbitListenerEndpointRegistrar.setMessageHandlerMethodFactory(handlerMethodFactory()); - } - -} - diff --git a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/DelayedQueueConfig.java b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/DelayedQueueConfig.java new file mode 100644 index 0000000..0b67d49 --- /dev/null +++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/DelayedQueueConfig.java @@ -0,0 +1,83 @@ +package com.muyu.common.rabbit.config; + + +import com.muyu.common.rabbit.constants.RabbitmqConstants; +import org.springframework.amqp.core.*; +import org.springframework.amqp.rabbit.core.RabbitAdmin; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import javax.annotation.Resource; +import java.util.HashMap; + +/** + * @ClassName: DelayedQueueConfig + * @Description: 延迟队列配置类 + */ +@Configuration +public class DelayedQueueConfig { + + + @Resource + private RabbitAdmin rabbitAdmin; + + /** + * 声明队列 + * @return 返回队列 + */ + @Bean + public Queue delayedQueue() { + Queue queue = new Queue(RabbitmqConstants.DELAYED_QUEUE_NAME); + rabbitAdmin.declareQueue(queue); + return queue; + } + + /** + * 声明交换机 + * @return 返回交换机 + */ + @Bean + public Exchange delayedExchange() { + HashMap arguments = new HashMap<>(3); + + arguments.put("x-delayed-type", "direct"); + + /** + * 声明自定义交换机 + * 第一个参数:交换机的名称 + * 第二个参数:交换机的类型 + * 第三个参数:是否需要持久化 + * 第四个参数:是否自动删除 + * 第五个参数:其他参数 + */ + CustomExchange customExchange = new CustomExchange( + RabbitmqConstants.DELAYED_EXCHANGE_NAME, + "x-delayed-message", + true, + false, + arguments); + rabbitAdmin.declareExchange(customExchange); + return customExchange; + } + + /** + * 绑定交换机 + * @param delayedQueue 队列对象 + * @param delayedExchange 交换机对象 + */ + @Bean + public Binding delayedQueueBindingDelayedExchange( + @Qualifier("delayedQueue") Queue delayedQueue, + @Qualifier("delayedExchange") Exchange delayedExchange) { + + Binding noargs = BindingBuilder.bind(delayedQueue) + .to(delayedExchange) + .with(RabbitmqConstants.DELAYED_ROUTING_KEY) + .noargs(); + rabbitAdmin.declareBinding(noargs); + return noargs; + } + + +} diff --git a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/MyConfirmCallback.java b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/MyConfirmCallback.java new file mode 100644 index 0000000..2b40812 --- /dev/null +++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/MyConfirmCallback.java @@ -0,0 +1,47 @@ +package com.muyu.common.rabbit.config; + +import lombok.AllArgsConstructor; +import org.springframework.amqp.rabbit.connection.CorrelationData; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +/** + * @ClassName: + * @Description: 消息发送到 交换机的确认 回调方法 + */ +@Component +@AllArgsConstructor +public class MyConfirmCallback implements RabbitTemplate.ConfirmCallback { + + + private RabbitTemplate rabbitTemplate; + +// public MyConfirmCallback(RabbitTemplate rabbitTemplate) { +// this.rabbitTemplate = rabbitTemplate; +// // 设置 消息发送到交换机成功 的回调 +// this.rabbitTemplate.setConfirmCallback(this); +// } + + @PostConstruct + public void init() { + this.rabbitTemplate.setConfirmCallback(this); + } + + /** + * 发送消息到交换机的回调方法 消息发送成功或者失败都会执行 + * + * @param correlationData correlation data for the callback. 消息的元数据 + * @param ack true for ack, false for nack + * @param cause An optional cause, for nack, when available, otherwise null. + */ + @Override + public void confirm(CorrelationData correlationData, boolean ack, String cause) { + if (ack) { + System.out.println("消息发送到交换机成功~"); + } else { + System.out.println("消息发送到交换机失败,失败的原因:" + cause); + } + } +} diff --git a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/RabbitAdminConfig.java b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/RabbitAdminConfig.java new file mode 100644 index 0000000..27b24c5 --- /dev/null +++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/RabbitAdminConfig.java @@ -0,0 +1,49 @@ +package com.muyu.common.rabbit.config; + + + +import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; +import org.springframework.amqp.rabbit.connection.ConnectionFactory; +import org.springframework.amqp.rabbit.core.RabbitAdmin; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * @ClassName: RabbitAdminConfig + * @Description: RabbitAdmin配置类 + */ +@Configuration +public class RabbitAdminConfig { + @Value("${spring.rabbitmq.host}") + private String host; + @Value("${spring.rabbitmq.username}") + private String username; + @Value("${spring.rabbitmq.password}") + private String password; + @Value("${spring.rabbitmq.virtualhost}") + private String virtualHost; + + @Bean + public ConnectionFactory connectionFactory() { + CachingConnectionFactory cachingConnectionFactory = new CachingConnectionFactory(); + cachingConnectionFactory.setHost(host); + cachingConnectionFactory.setUsername(username); + cachingConnectionFactory.setPassword(password); + cachingConnectionFactory.setVirtualHost(virtualHost); + return cachingConnectionFactory; + + } + + @Bean + public RabbitAdmin rabbitAdmin(ConnectionFactory connectionFactory) { + RabbitAdmin rabbitAdmin = new RabbitAdmin(connectionFactory); + rabbitAdmin.setAutoStartup(true); + return rabbitAdmin; + } + +} + + + + diff --git a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/RabbitmqConfig.java b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/RabbitmqConfig.java new file mode 100644 index 0000000..9814d1b --- /dev/null +++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/RabbitmqConfig.java @@ -0,0 +1,20 @@ +package com.muyu.common.rabbit.config; + +import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; +import org.springframework.amqp.support.converter.MessageConverter; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * JSON 消息转换器 自动将发送的消息转换成 json 字符串 并且 消费者接收到消息的时候自动反序列化 成需要的对象 + */ +@Configuration +public class RabbitmqConfig { + + + // 消息转换配置 + @Bean + public MessageConverter jsonMessageConverter() { + return new Jackson2JsonMessageConverter(); + } +} diff --git a/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/ReturnCallbackConfig.java b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/ReturnCallbackConfig.java new file mode 100644 index 0000000..212e2fd --- /dev/null +++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/config/ReturnCallbackConfig.java @@ -0,0 +1,37 @@ +package com.muyu.common.rabbit.config; + +import lombok.AllArgsConstructor; +import org.springframework.amqp.core.ReturnedMessage; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +/** + * 消息发送到 队列的确认 + */ +@Component +@AllArgsConstructor +public class ReturnCallbackConfig implements RabbitTemplate.ReturnsCallback { + + + private final RabbitTemplate rabbitTemplate; + + @PostConstruct // @PostContruct是spring框架的注解,在⽅法上加该注解会在项⽬启动的时候执⾏该⽅法,也可以理解为在spring容器初始化的时候执 + public void init() { + rabbitTemplate.setReturnsCallback(this); + } + + /** + * 消息发送到 队列失败的时候执行 + * + * @param returnedMessage the returned message and metadata. + */ + @Override + public void returnedMessage(ReturnedMessage returnedMessage) { + System.out.println("消息" + returnedMessage.getMessage().toString() + + "被交换机" + returnedMessage.getExchange() + "回退!" + + "退回原因为:" + returnedMessage.getReplyText()); + // 回退了所有的信息,可做补偿机制 记录发送的日志 + } +} 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 new file mode 100644 index 0000000..dbd4c9d --- /dev/null +++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/constants/RabbitmqConstants.java @@ -0,0 +1,22 @@ +package com.muyu.common.rabbit.constants; + +/** + * @Author: WangXin + * @date: 2024/7/10 + * @Description: rabbitmq常量 + * @Version 1.0.0 + */ +public class RabbitmqConstants { + + //普通队列 + public static final String BASIC_QUEUE_NAME = "BASIC_QUEUE_NAME"; + + public static final String lOG_QUEUE_NAME = "LOG_QUEUE_NAME"; + //延迟队列 + //队列名称 + public static final String DELAYED_QUEUE_NAME = "delayed_queue"; + //交换机名称 + public static final String DELAYED_EXCHANGE_NAME = "DELAYED_EXCHANGE"; + //交换机 + public static final String DELAYED_ROUTING_KEY = "delayed"; +} 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 new file mode 100644 index 0000000..58d0663 --- /dev/null +++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/consumer/RabbitMQConsumerUtil.java @@ -0,0 +1,81 @@ +package com.muyu.common.rabbit.consumer; + +import com.alibaba.fastjson2.JSONObject; +import com.muyu.common.redis.service.RedisService; +import com.rabbitmq.client.Channel; +import lombok.AllArgsConstructor; +import lombok.extern.log4j.Log4j2; +import org.springframework.amqp.core.Message; +import org.springframework.stereotype.Component; + +import java.io.IOException; +import java.util.Date; + +/** + * @ClassName: RabbitMQConsumerUtil + * @Description: rabbitmq消费者 + */ +@Component +@Log4j2 +@AllArgsConstructor +public class RabbitMQConsumerUtil { + + private final RedisService redisService; + + + /** + * 普通消费者 + * @param data 数据类型 + * @param message + * @param channel + */ + public void rabbitMQBasicConsumer(Object 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; + } + + + /** + * -----------------------------------以下为异步业务操作---------------------------- + */ + + /** + * ------------------------------------------------------------------------------ + */ + // 消费消息成功之后需要确认 + // 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 new file mode 100644 index 0000000..28d9bdc --- /dev/null +++ b/cloud-common/cloud-common-rabbit/src/main/java/com/muyu/common/rabbit/producer/RabbitMQProducerUtil.java @@ -0,0 +1,174 @@ +package com.muyu.common.rabbit.producer; + +import com.muyu.common.core.domain.Result; +import com.muyu.common.rabbit.constants.RabbitmqConstants; +import lombok.AllArgsConstructor; +import lombok.extern.log4j.Log4j2; +import org.springframework.amqp.core.MessageProperties; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.stereotype.Component; + +import java.util.UUID; + +/** + * @ClassName: RabbitMQProducer + * @Description: rabbitmq生产者 + */ +@Component +@AllArgsConstructor +@Log4j2 +public class RabbitMQProducerUtil { + //redis工具类对象 + + //rabbit + private final RabbitTemplate rabbitTemplate; + + + /** + * 简单模型 + * + * @param param 传递的消息 (如果是对象需要序列化) + * @return 结果集 + * 一对一消费,只有一个消费者能接收到 + */ + public Result basicSendMessage(String queueName, Object param, String msg) { + + log.info("【简单模型mq】 : method: 【 basicSendMessage 】 - ages: 【 String : {}, Object : {}, String : {} 】 ---> 【 消息发送中。。。 】", RabbitmqConstants.BASIC_QUEUE_NAME, param, msg); + // 发送简单模型消息 + // 第一个参数: 绑定规则 相当于 队列名称 + // 第二个参数:消息内容 + rabbitTemplate.convertAndSend(queueName, param, message -> { + message.getMessageProperties().setMessageId(UUID.randomUUID().toString()); + return message; + } ); + + log.info("【简单模型mq】 : method: 【 basicSendMessage 】- queue: 【 {} 】 ---> 【 消息发送成功 】", RabbitmqConstants.BASIC_QUEUE_NAME); + + return Result.success(msg!=null?msg:"消息发送成功"); + } + + /** + * Work queue 工作模型 + * + * @param obj 传递的消息 (如果是对象需要序列化) + * @return 结果集 + * 多个消费者,你一个我一个分配消费消息,有预取机制,默认公平消费,可配置 能者多劳模式(),谁完成的快,谁多做一点 + */ + public Result workSendMessage(String queueName, Object obj, String msg) { + + log.info("【工作模型mq】 : method: 【 workSendMessage 】 - ages: 【 String : {}, Object : {}, String : {} 】 ---> 【 消息发送中。。。 】", queueName, obj, msg); + // 发送简单模型消息 + // 第一个参数: 绑定规则 相当于 队列名称 + // 第二个参数:消息内容 + rabbitTemplate.convertAndSend(queueName, obj, message -> { + message.getMessageProperties().setMessageId(UUID.randomUUID().toString()); + return message; + } ); + + log.info("【工作模型mq】 : method: 【 workSendMessage 】- queue: 【 {} 】 ---> 【 消息发送成功 】", queueName); + + return Result.success("消息发送成功"); + } + + /** + * Publish/Subscribe 发布订阅者模型 + * 多个消费者,多个消费者可以同时接收到消息 有交换机 类型 fanout + * + * @param exchange 交换机名称 + * @param obj 发送的消息Object + * @param msg 响应的内容 + * @return 结果集 + */ + public Result publishSubscribeSendMessage(String exchange, Object obj, String msg) { + + log.info("【订阅模型mq】 : method: 【 workSendMessage 】 - ages: 【 String : {}, Object : {}, String : {} 】 ---> 【 消息发送中。。。 】", exchange, obj, msg); + // 发送简单模型消息 + // 第一个参数: exchange 交换机的名称 + // 第二个参数: 绑定规则 发布订阅者模型 不写 默认 "" 只要绑定就行 不需要规则 + // 第三个参数:消息内容 + rabbitTemplate.convertAndSend(exchange, "", obj, message -> { + message.getMessageProperties().setMessageId(UUID.randomUUID().toString()); + return message; + } ); + + log.info("【订阅模型mq】 : method: 【 workSendMessage 】- exchange: 【 {} 】 ---> 【 消息发送成功 】", exchange); + + return Result.success("消息发送成功"); + } + + /** + * Routing路由模型 + * 使用的是 Direct 类型的交换机,会将接收到的消息根据 规则 路由到指定的Queue(队列),因此称为路由模式 + * + * @param exchange 交换机名称 + * @param rule 绑定规则 一个字符串即可 + * @param obj 发送的消息Object + * @param msg 响应的内容 + * @return 结果集 + */ + public Result routingSendMessage(String exchange, String rule, Object obj, String msg) { + + log.info("【路由模型mq】 : method: 【 workSendMessage 】 - ages: 【 String : {}, Object : {}, String : {} 】 ---> 【 消息发送中。。。 】", exchange, obj, msg); + // 发送简单模型消息 + // 第一个参数: 绑定规则 相当于 队列名称 + // 第二个参数:消息内容 + rabbitTemplate.convertAndSend(exchange, rule, obj, message -> { + message.getMessageProperties().setMessageId(UUID.randomUUID().toString()); + return message; + } ); + + log.info("【路由模型mq】 : method: 【 workSendMessage 】- exchange: 【 {} 】 ---> 【 消息发送成功 】", exchange); + + return Result.success("消息发送成功"); + } + + + /** + * Topic主题模型模型 + * 使用的是 topic 类型的交换机 + * + * @param exchange 交换机名称 + * @param rule 绑定规则 可以绑定多个单词以 . 拼接 也可以使用 #(匹配 零个 一个 或 多个 单词) 或 *(匹配 一个 单词) 通配符(例如:name.msg, *.msg, age.# ) + * @param obj 发送的消息Object + * @param msg 响应的内容 + * @return 结果集 + */ + public Result topicSendMessage(String exchange, String rule, Object obj, String msg) { + + log.info("【主题模型mq】 : method: 【 workSendMessage 】 - ages: 【 String : {}, Object : {}, String : {} 】 ---> 【 消息发送中。。。 】", exchange, obj, msg); + // 发送简单模型消息 + // 第一个参数: 绑定规则 相当于 队列名称 + // 第二个参数:消息内容 + rabbitTemplate.convertAndSend(exchange, rule, obj, message -> { + message.getMessageProperties().setMessageId(UUID.randomUUID().toString()); + return message; + } ); + + log.info("【主题模型mq】 : method: 【 workSendMessage 】- exchange: 【 {} 】 ---> 【 消息发送成功 】", exchange); + + return Result.success(obj,"消息发送成功"); + } + + + /** + * 延迟队列模型 + * @param param 传输内容 + * @param delayTime 延迟时间 + * @return 结果集 + */ + public Result delayedSendMessage(Long delayTime, Object param) { + log.info("【延迟队列模型】 : method: 【 delayedSendMessage 】 消息内容:{}---> 【 消息发送中。。。 】",param); + + rabbitTemplate.convertAndSend(RabbitmqConstants.DELAYED_EXCHANGE_NAME, RabbitmqConstants.DELAYED_ROUTING_KEY,param, message -> { + MessageProperties messageProperties = message.getMessageProperties(); + messageProperties.setMessageId(UUID.randomUUID().toString()); + messageProperties.setDelayLong(delayTime); + return message; + }); + log.info("【延迟队列模型】 : method: 【 delayedSendMessage 】 消息内容:{}---> 【 消息发送成功 】",param); + + return Result.success(param,"消息发送成功"); + + } + +} diff --git a/cloud-common/cloud-common-rabbit/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-common/cloud-common-rabbit/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 189ea2c..6cd925a 100644 --- a/cloud-common/cloud-common-rabbit/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/cloud-common/cloud-common-rabbit/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1 +1,7 @@ -com.muyu.common.rabbit.RabbitListenerConfigurer \ No newline at end of file +com.muyu.rabbitmq.producer.RabbitMQProducerUtil +com.muyu.rabbitmq.consumer.RabbitMQConsumerUtil +com.muyu.rabbitmq.config.RabbitmqConfig +com.muyu.rabbitmq.config.MyConfirmCallback +com.muyu.rabbitmq.config.DelayedQueueConfig +com.muyu.rabbitmq.config.RabbitAdminConfig +com.muyu.rabbitmq.config.ReturnCallbackConfig diff --git a/cloud-common/pom.xml b/cloud-common/pom.xml index f5bb268..6e5f319 100644 --- a/cloud-common/pom.xml +++ b/cloud-common/pom.xml @@ -21,6 +21,8 @@ cloud-common-xxl cloud-common-rabbit cloud-common-kafka + cloud-common-cache + cloud-common-iotdb cloud-common-caffeine diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/SysCarFaultApplication.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/SysCarFaultApplication.java deleted file mode 100644 index c18a353..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/SysCarFaultApplication.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.muyu; - -import cn.hutool.core.date.DateTime; -import com.muyu.common.security.annotation.EnableCustomConfig; -import com.muyu.common.security.annotation.EnableMyFeignClients; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -import javax.xml.crypto.Data; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; -import java.util.Random; -import java.util.TimeZone; - -/** - * @className: SysCarFaultApplication ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/21 11:06 ⏰ - * @Version: 1.0 - * @description: 故障检测 - */ -@EnableCustomConfig -@EnableMyFeignClients -@SpringBootApplication -public class SysCarFaultApplication { - public static void main (String[] args) throws ParseException { - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT+08")); - String format = simpleDateFormat.format(new Date()); - System.out.println("故障模块启动成功"+format); - SpringApplication.run(SysCarFaultApplication.class, args); - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/CarTypeController.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/CarTypeController.java deleted file mode 100644 index 680da12..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/CarTypeController.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.muyu.fault.controller; - - -import com.muyu.common.core.domain.Result; -import com.muyu.fault.service.CarTypeService; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * @className: CarTypeController ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 22:06 ⏰ - * @Version: 1.0 - * @description: - */ -@RequestMapping("/cartype") -@RestController -public class CarTypeController { - - @Autowired - private CarTypeService carTypeService; - - /** - * 车辆类型 - * @return - */ - @PostMapping("/list") - @Operation(summary = "车辆类型",description = "车辆类型信息") - public Result carTypeList(){ - return Result.success(carTypeService.selectcarType()); - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultCodeController.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultCodeController.java deleted file mode 100644 index 381a12e..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultCodeController.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.muyu.fault.controller; - - - -import com.muyu.common.core.domain.Result; -import com.muyu.fault.domain.req.FaultCodeAddReq; -import com.muyu.fault.domain.req.FaultCodeListReq; -import com.muyu.fault.domain.req.FaultCodeUpdReq; -import com.muyu.fault.domain.resp.FaultCodeTotalListResp; -import com.muyu.fault.service.FaultCodeService; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -/** - * @className: CarTypeController ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 22:06 ⏰ - * @Version: 1.0 - * @description: 车辆故障码 - */ - -@RestController -@RequestMapping("/faultcode") -public class FaultCodeController { - - @Autowired - private FaultCodeService faultCodeService; - - /** - * 故障码展示(仅故障码单表) - * @param faultCodeListReq - * @return - */ - @PostMapping(path = "/list") - @Operation(summary = "故障码列表(单)",description = "展示故障码信息") - public Result selectlist(@Validated @RequestBody FaultCodeListReq faultCodeListReq){ - return Result.success(faultCodeService.selectlist(faultCodeListReq)); - } - - - /** - * 故障码展示(故障码联查) - * @param faultCodeListReq - * @return - */ - @PostMapping("/faultcodelist") - @Operation(summary = "故障码列表(多)",description = "展示故障码信息") - public Result selectfaultcodelist(@Validated @RequestBody FaultCodeListReq faultCodeListReq){ - return Result.success(faultCodeService.selectfaultcodelist(faultCodeListReq)); - } - - - /** - * 新增故障码 - * @param faultCodeAddReq - * @return - */ - @PostMapping("/faultcodeadd") - @Operation(summary = "新增故障码",description = "新增故障码信息") - public Result insertfaultcode(@Validated @RequestBody FaultCodeAddReq faultCodeAddReq){ - faultCodeService.insert(faultCodeAddReq); - return Result.success(null,"新增成功"); - } - - /** - * 修改故障码 - * @param faultCodeUpdReq - * @return - */ - @PostMapping("/faultcodeupd") - @Operation(summary = "修改故障码",description = "修改故障码信息") - public Result updfaultcode(@Validated @RequestBody FaultCodeUpdReq faultCodeUpdReq){ - faultCodeService.upd(faultCodeUpdReq); - return Result.success(null,"修改成功"); - } - - /** - * 删除故障码 - * @param messageTypeId - * @return - */ - @PostMapping("/faultcodedel/{messageTypeId}") - @Operation(summary = "删除故障码",description = "删除故障码信息") - public Result delfaultcode(@PathVariable("messageTypeId") Integer messageTypeId){ - faultCodeService.del(messageTypeId); - return Result.success(null,"删除成功"); - } - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultConditionController.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultConditionController.java deleted file mode 100644 index 8648deb..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultConditionController.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.muyu.fault.controller; - - - -import com.muyu.common.core.domain.Result; -import com.muyu.fault.domain.FaultCondition; -import com.muyu.fault.domain.req.FaultConditionAddReq; -import com.muyu.fault.domain.req.FaultConditionListReq; -import com.muyu.fault.domain.req.FaultConditionUpdReq; -import com.muyu.fault.service.FaultConditionService; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * @className: CarTypeController ️✈️ -* @author: Yang 鹏 🦅 -* @date: 2024/9/23 22:06 ⏰ -* @Version: 1.0 -* @description: 故障检测 -*/ - -@RestController -@RequestMapping("/faultcondition") -public class FaultConditionController { - - @Autowired - private FaultConditionService faultConditionService; - - - /** - * 故障规则 - * @param faultConditionListReq - * @return - */ - @PostMapping("/list") - @Operation(summary = "故障规则列表展示",description = "故障规则列表展示") - public Result getfaultrulelist(@RequestBody @Validated FaultConditionListReq faultConditionListReq){ - return Result.success(faultConditionService.getfaultrulelist(faultConditionListReq)); - } - - - /** - * 故障规则添加 - * @param faultConditionAddReq - * @return - */ - @PostMapping("/faultconditionadd") - @Operation(summary = "添加规则",description = "添加故障规则") - public Result faultconditionadd(@RequestBody FaultConditionAddReq faultConditionAddReq){ - //判断车辆类型是否已存在所对应的故障规则 - List faultConditionList = faultConditionService.selectBytypeAndlabel(faultConditionAddReq); - if (faultConditionList.size()>0){ - return Result.error("此车辆类型已存在所对应的故障规则,无需重新制定,可在原规则上进行修改"); - } - faultConditionService.save(FaultCondition.faultConditionadd(faultConditionAddReq)); - return Result.success(null,"规则制定成功"); - } - - /** - * 故障规则修改 - * @param - * @param faultConditionUpdReq - * @return - */ - @PostMapping("/faultconditionupd") - @Operation(summary = "修改规则",description = "修改故障规则") - public Result faultconditionupd( - @RequestBody @Validated FaultConditionUpdReq faultConditionUpdReq){ - faultConditionService.updateById(FaultCondition.faultConditionupd(faultConditionUpdReq,()->faultConditionUpdReq.getCarconditionId())); - return Result.success(null,"规则修改成功"); - } - - - /** - * 故障规则删除 - * @param carconditionId - * @return - */ - @PostMapping("/faultconditiondel/{carconditionId}") - @Operation(summary = "删除规则",description = "删除故障规则") - public Result faultconditiondel(@PathVariable("carconditionId") long carconditionId){ - faultConditionService.removeById(carconditionId); - return Result.success(null,"规则删除成功"); - } - - - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultDetectionStrategyController.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultDetectionStrategyController.java deleted file mode 100644 index 0f23788..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultDetectionStrategyController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.muyu.fault.controller; - -import com.muyu.fault.service.FaultDetectionStrategyService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * @className: FaultDetectionStrategyController ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 22:06 ⏰ - * @Version: 1.0 - * @description: 车辆故障码 - */ -@RestController -@RequestMapping("/faultdetectionstrategy") -public class FaultDetectionStrategyController { - - @Autowired - private FaultDetectionStrategyService faultDetectionStrategyService; - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultLabelController.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultLabelController.java deleted file mode 100644 index 8bc5e50..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultLabelController.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.muyu.fault.controller; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: - */ - - -import com.muyu.common.core.domain.Result; -import com.muyu.fault.service.FaultLabelService; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 故障码分类 - */ -@RestController -@RequestMapping("/faultlabel") -public class FaultLabelController { - - @Autowired - private FaultLabelService faultLabelService; - - - /** - * 故障名称 - * @return - */ - @PostMapping("/list") - @Operation(summary = "故障名称查询",description = "故障名称信息") - public Result findfaulttype(){ - return Result.success(faultLabelService.select()); - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultLogController.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultLogController.java deleted file mode 100644 index 2440f9f..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultLogController.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.muyu.fault.controller; -import com.muyu.common.core.domain.Result; -import com.muyu.fault.domain.req.FaultLogListReq; -import com.muyu.fault.service.FaultLogService; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: - */ -@RestController -@RequestMapping("/faultlog") -public class FaultLogController { - @Autowired - private FaultLogService faultLogService; - - - /** - * 故障日志列表 - * @param faultLogListReq - * @return - */ - @PostMapping("/list") - @Operation(summary = "故障日志列表",description = "故障日志列表展示") - public Result selectfaultlog(@Validated @RequestBody FaultLogListReq faultLogListReq){ - return Result.success(faultLogService.selectfaultlog(faultLogListReq)); - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultRuleController.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultRuleController.java deleted file mode 100644 index a60905b..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultRuleController.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.muyu.fault.controller; - - -import com.muyu.common.core.domain.Result; -import com.muyu.fault.domain.CarFaultRule; -import com.muyu.fault.domain.FaultRule; -import com.muyu.fault.service.FaultRuleService; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测 - */ -@RestController -@RequestMapping("/faultrule") -public class FaultRuleController { - - @Autowired - private FaultRuleService faultRuleService; - - - /** - * 车辆故障检测 - * @return - */ - @PostMapping("/check-faults") - @Operation(summary = "检查故障",description = "进行故障检查") - public Result checkfault(@Validated FaultRule faultRule){ - String checkfaults = faultRuleService.checkfaults(faultRule); - return Result.success(checkfaults); - } - - - @PostMapping("/cheakfaults") - @Operation(summary = "故障参数匹配检查",description = "获取报文数据与故障参数进行比较") - public Result cheakfaults(@Validated @RequestBody CarFaultRule carFaultRule){ -// faultRuleService.checkfaults(carFaultRule); - return null; - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultTypeController.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultTypeController.java deleted file mode 100644 index 30ebfc5..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultTypeController.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.muyu.fault.controller; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测 - */ -import com.muyu.common.core.domain.Result; -import com.muyu.fault.service.FaultTypeService; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 故障码分类 - */ -@RestController -@RequestMapping("/faulttype") -public class FaultTypeController { - - @Autowired - private FaultTypeService faultTypeService; - - - /** - * 故障码分类查询 - * @return - */ - @PostMapping("/list") - @Operation(summary = "故障码分类查询",description = "故障码分类信息") - public Result findfaulttype(){ - return Result.success(faultTypeService.select()); - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/MessageController.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/MessageController.java deleted file mode 100644 index ee0aa0e..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/MessageController.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.muyu.fault.controller; - - -import com.muyu.common.core.domain.Result; -import com.muyu.fault.domain.message.Message; -import com.muyu.fault.domain.message.MessageReq; -import com.muyu.fault.domain.message.MessageSendReq; -import com.muyu.fault.service.MessageService; -import io.swagger.v3.oas.annotations.Operation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测 - */ -@RestController -@RequestMapping("/message") -public class MessageController { - - @Autowired - private MessageService messageService; - - /** - * 消息发送 - * @param messageSendReq - * @return - */ - @PostMapping("/sendmessage") - @Operation(summary = "发送消息",description = "站内信消息发送") - public Result sendmessage(@Validated MessageSendReq messageSendReq){ - messageService.sendmessage(messageSendReq); - return Result.success(null,"发送成功"); - } - - /** - * 消息查看 - * @param messageReq - * @param - * @return - */ - @PostMapping("/messagelist") - @Operation(summary = "消息查看(能根据登录人新的信息查看当前登录人的消息栏)",description = "消息查看") - public Result selectmessage(@Validated @RequestBody MessageReq messageReq){ - return Result.success(messageService.selectmessage(messageReq)); - } - - /** - * 查看消息改变状态 - * @param message - * @return - */ - @PostMapping("/changestatus") - @Operation(summary = "状态改变",description = "状态改变") - public Result changestatus(@RequestBody Message message){ - messageService.changestatus(message); - return Result.success(null,"成功"); - } - - - /** - * 查看未读的消息 - * @return - */ - @PostMapping("/unread") - @Operation(summary = "查看未读的消息",description = "查看未读的消息") - public Result unread(){ - return Result.success(messageService.unread()); - } - - - - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/SysCarFaultController.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/SysCarFaultController.java deleted file mode 100644 index 10728a1..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/controller/SysCarFaultController.java +++ /dev/null @@ -1,112 +0,0 @@ -package com.muyu.fault.controller; - -import java.util.Arrays; -import java.util.List; -import jakarta.servlet.http.HttpServletResponse; -import javax.annotation.Resource; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.muyu.common.security.annotation.RequiresPermissions; -import com.muyu.fault.domain.SysCarFault; -import com.muyu.fault.service.ISysCarFaultService; -import com.muyu.common.core.web.controller.BaseController; -import com.muyu.common.core.domain.Result; -import com.muyu.common.core.utils.poi.ExcelUtil; -import com.muyu.common.security.utils.SecurityUtils; -import org.springframework.validation.annotation.Validated; -import com.muyu.common.core.web.page.TableDataInfo; - -/** - * 车辆故障Controller - * - * @author Yang鹏 - * @date 2024-09-18 - */ -@RestController -@RequestMapping("/fault") -public class SysCarFaultController extends BaseController -{ - @Resource - private ISysCarFaultService sysCarFaultService; - - /** - * 查询车辆故障列表 - */ - - @GetMapping("/list") - public Result> list(SysCarFault sysCarFault) - { - startPage(); - List list = sysCarFaultService.selectSysCarFaultList(sysCarFault); - return getDataTable(list); - } - - /** - * 导出车辆故障列表 - */ - @RequiresPermissions("syscarfault:fault:export") - @PostMapping("/export") - public void export(HttpServletResponse response, SysCarFault sysCarFault) - { - List list = sysCarFaultService.selectSysCarFaultList(sysCarFault); - ExcelUtil util = new ExcelUtil(SysCarFault.class); - util.exportExcel(response, list, "车辆故障数据"); - } - - /** - * 获取车辆故障详细信息 - */ - @RequiresPermissions("syscarfault:fault:query") - @GetMapping(value = "/{id}") - public Result> getInfo(@PathVariable("id") Long id) - { - return success(sysCarFaultService.selectSysCarFaultById(id)); - } - - /** - * 新增车辆故障 - */ - @RequiresPermissions("syscarfault:fault:add") - @PostMapping - public Result add( - @Validated @RequestBody SysCarFault sysCarFault) - { - if (sysCarFaultService.checkIdUnique(sysCarFault)) { - return error("新增 车辆故障 '" + sysCarFault + "'失败,车辆故障已存在"); - } - sysCarFault.setCreateBy(SecurityUtils.getUsername()); - return toAjax(sysCarFaultService.save(sysCarFault)); - } - - /** - * 修改车辆故障 - */ - @RequiresPermissions("syscarfault:fault:edit") - @PutMapping - public Result edit( - @Validated @RequestBody SysCarFault sysCarFault) - { - if (!sysCarFaultService.checkIdUnique(sysCarFault)) { - return error("修改 车辆故障 '" + sysCarFault + "'失败,车辆故障不存在"); - } - sysCarFault.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(sysCarFaultService.updateById(sysCarFault)); - } - - /** - * 删除车辆故障 - */ - @RequiresPermissions("syscarfault:fault:remove") - @DeleteMapping("/{ids}") - public Result remove(@PathVariable("ids") Long[] ids) - { - sysCarFaultService.removeBatchByIds(Arrays.asList(ids)); - return success(); - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/CarFaultRule.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/CarFaultRule.java deleted file mode 100644 index d6c1daf..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/CarFaultRule.java +++ /dev/null @@ -1,206 +0,0 @@ -package com.muyu.fault.domain; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; -/** - * @className: CarFaultRule ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 22:06 ⏰ - * @Version: 1.0 - * @description: - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@SuperBuilder -public class CarFaultRule {/** - * VIN码VIN码VIN码 - */ -private String vin; - /** - * 时间戳时间戳时间戳 - */ - private long timestamp; - /** - * 经度经度经度 - */ - private double longitude; - /** - * 纬度纬度纬度 - */ - private double latitude; - /** - * 车速车速车速 - */ - private double speed; - /** - * 总里程总里程总里程 - */ - private long TM; - /** - * 总电压总电压总电压 - */ - private double TV; - /** - * 总电流总电流总电流 - */ - private double CC; - /** - * 绝缘电阻绝缘电阻绝缘电阻 - */ - private double IR; - /** - * 档位档位档位 - */ - private String GP; - /** - * 加速踏板行程值加速踏板行程值加速踏板行程值 - */ - private double APTV; - /** - * 制动踏板行程值制动踏板行程值制动踏板行程值 - */ - private double BPTV; - /** - * 燃料消耗率燃料消耗率燃料消耗率 - */ - private double SFC; - /** - * 电机控制器温度电机控制器温度电机控制器温度 - */ - private double MCT; - /** - * 电机转速电机转速电机转速 - */ - private int MS; - /** - * 电机转矩电机转矩电机转矩 - */ - private double MTO; - /** - * 电机温度电机温度电机温度 - */ - private double MTE; - /** - * 电机电压电机电压电机电压 - */ - private double MV; - /** - * 电机电流电机电流电机电流 - */ - private double MC; - /** - * 动力电池剩余电量SOC动力电池剩余电量SOC动力电池剩余电量SOC - */ - private double PBRSOC; - /** - * 当前状态允许的最大反馈功率当前状态允许的最大反馈功率当前状态允许的最大反馈功率 - */ - private double MACSFP; - /** - * 当前状态允许最大放电功率当前状态允许最大放电功率当前状态允许最大放电功率 - */ - private double CSATMDP; - /** - * BMS自检计数器BMS自检计数器BMS自检计数器 - */ - private int BMS; - /** - * 动力电池充放电电流动力电池充放电电流动力电池充放电电流 - */ - private double CADC; - /** - * 动力电池负载端总电压V3动力电池负载端总电压V3动力电池负载端总电压V3 - */ - private double PBLETVV3; - /** - * 单次最大电压单次最大电压单次最大电压 - */ - private double SMV; - /** - * 单体电池最低电压单体电池最低电压单体电池最低电压 - */ - private double MVOAB; - /** - * 单体电池最高温度单体电池最高温度单体电池最高温度 - */ - private double MAXBT; - /** - * 单体电池最低温度单体电池最低温度单体电池最低温度 - */ - private double MINBT; - /** - * 动力电池可用容量动力电池可用容量动力电池可用容量 - */ - private double PBAC; - /** - * 车辆状态车辆状态车辆状态 - */ - private String VS; - /** - * 充电状态充电状态充电状态 - */ - private String CS; - /** - * 运行状态运行状态运行状态 - */ - private String RS; - /** - * SOCSOCSOC - */ - private double SOC; - /** - * 可充电储能装置工作状态可充电储能装置工作状态可充电储能装置工作状态 - */ - private String RESDWC; - /** - * EASEASEAS - */ - private String EAS; - /** - * PTCPTCPTC - */ - private String PTC; - /** - * EPSEPSEPS - */ - private String EPS; - /** - * ABSABSABS - */ - private String ABS; - /** - * MCUMCUMCU - */ - private String MCU; - /** - * 动力电池加热状态动力电池加热状态动力电池加热状态 - */ - private String PBHS; - /** - * 动力电池当前状态动力电池当前状态动力电池当前状态 - */ - private String PBCS; - /** - * 动力电池保温状态动力电池保温状态动力电池保温状态 - */ - private String PBIS; - /** - * DCDCDCDCDCDC - */ - private String DCDC; - /** - * CHGCHGCHG - */ - private String CHG; - /** - * 校验位校验位校验位 - */ - private byte CHB; - /** - * 截止位截止位截止位 - */ - private byte CUB; -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/CarType.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/CarType.java deleted file mode 100644 index f5f1c35..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/CarType.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.muyu.fault.domain; - -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -/** - * @className: CarType ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 22:01 ⏰ - * @Version: 1.0 - * @description: - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@SuperBuilder -@TableName(value = "car_type",autoResultMap = true) -public class CarType { - /** - * 车辆类型ID - */ - private long carTypeId; - /** - * 车辆类型名 - */ - private String carTypeName; - /** - * 车辆规则外键ID - */ - private long carTypeRules; -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultCode.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultCode.java deleted file mode 100644 index 9ae4b02..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultCode.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.muyu.fault.domain; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.muyu.fault.domain.req.FaultCodeAddReq; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -/** - * @className: FaultCode ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 22:21 ⏰ - * @Version: 1.0 - * @description: - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@SuperBuilder -@TableName(value = "car_faultcode", autoResultMap = true) -public class FaultCode { - /** - * 故障码Id - */ - @TableId(value = "faultcode_id", type = IdType.AUTO) - private long faultcodeId; - /** - * 故障名称Id - */ - private long messageTypeId; - /** - * 故障码 - */ - private String faultcodeNumber; - /** - * 故障组 - */ - private String faultGroup; - /** - * 故障位 - */ - private String faultBit; - /** - * 故障值 - */ - private String faultValue; - /** - * 是否警告 - */ - private Integer isWarning; - - private String faulttypeName; - private String messageTypeName; - private String messageTypeCode; - private String messageTypeBelongs; - - public static FaultCode addfaultcode(FaultCodeAddReq faultCodeAddReq) { - return FaultCode.builder() - .faultcodeId(0) - .messageTypeId(faultCodeAddReq.getMessageTypeId()) - .faultcodeNumber(faultCodeAddReq.getFaultcodeNumber()) - .faultGroup(faultCodeAddReq.getFaultGroup()) - .faultBit(faultCodeAddReq.getFaultBit()) - .faultValue(faultCodeAddReq.getFaultValue()) - .isWarning(faultCodeAddReq.getIsWarning()) - .build(); - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultCondition.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultCondition.java deleted file mode 100644 index 1e5c926..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultCondition.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.muyu.fault.domain; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.muyu.fault.domain.req.FaultConditionAddReq; -import com.muyu.fault.domain.req.FaultConditionUpdReq; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.math.BigDecimal; -import java.util.function.Supplier; - -/** - * @className: FaultCondition ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:07 ⏰ - * @Version: 1.0 - * @description: - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@SuperBuilder -@TableName(value = "car_fault_condition",autoResultMap = true) -public class FaultCondition { - /** - * 故障规则表Id - */ - @TableId(value = "carcondition_id",type = IdType.AUTO) - private long carconditionId; - /** - * 车辆类型Id - */ - private long carTypeId; - /** - *故障名称Id - */ - private long messageTypeId; - /** - * 故障条件 - */ - private String faultconditionIdentification; - /** - * 故障规则参数 - */ - private BigDecimal faultconditionParameter; - /** - * 车辆类型名称 - */ - private String carTypeName; - /** - * 故障名称 - */ - private String messageTypeName; - /** - * 报文编码 - */ - private String messageTypeCode; - - - public static FaultCondition faultConditionadd(FaultConditionAddReq faultConditionAddReq){ - return FaultCondition.builder() - .carTypeId(faultConditionAddReq.getCarTypeId()) - .messageTypeId(faultConditionAddReq.getMessageTypeId()) - .faultconditionIdentification(faultConditionAddReq.getFaultconditionIdentification()) - .faultconditionParameter(faultConditionAddReq.getFaultconditionParameter()) - .build(); - } - - public static FaultCondition faultConditionupd(FaultConditionUpdReq faultConditionUpdReq, Supplier idSupplier){ - return FaultCondition.builder() - .carconditionId(faultConditionUpdReq.getCarconditionId()) - .carTypeId(faultConditionUpdReq.getCarTypeId()) - .messageTypeId(faultConditionUpdReq.getMessageTypeId()) - .faultconditionIdentification(faultConditionUpdReq.getFaultconditionIdentification()) - .faultconditionParameter(faultConditionUpdReq.getFaultconditionParameter()) - .build(); - } - - - - - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultLabel.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultLabel.java deleted file mode 100644 index 3211a6b..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultLabel.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.muyu.fault.domain; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -/** - * @className: FaultLabel ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:07 ⏰ - * @Version: 1.0 - * @description: - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@SuperBuilder -@TableName(value = "car_fault_label",autoResultMap = true) -public class FaultLabel { - - /** - *自增主键 - */ - @TableId(value = "message_type_id",type = IdType.AUTO) - private String messageTypeId; - /** - *报文编码 - */ - private String messageTypeCode; - /** - *报文名称 - */ - private String messageTypeName; - /** - *报文所属类别 - */ - private String messageTypeBelongs; - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultLog.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultLog.java deleted file mode 100644 index 2be245f..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultLog.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.muyu.fault.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 com.muyu.common.core.annotation.Excel; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.util.Date; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: - */ - -@Data -@AllArgsConstructor -@NoArgsConstructor -@SuperBuilder -@TableName(value = "car_fault_log",autoResultMap = true) -public class FaultLog { - - /** - * 故障日志Id - */ - @TableId(value = "log_id",type = IdType.AUTO) - private long logId; - /** - * 故障码Id - */ - private long faultcodeId; - /** - * 车辆Id - */ - private long carInformationId; - /** - * 车辆VIN - */ - private String carVin; - /** - * 开始报警时间 - */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(description = "开始报警时间",defaultValue = "2024-8-9 10:47:57",type = "Date") - private Date startwarningTime; - /** - * 结束报警时间 - */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(description = "结束报警时间",defaultValue = "2024-8-9 10:47:57",type = "Date") - private Date endwarningTime; - /** - * 故障码 - */ - private String faultcodeNumber; - /** - * 车辆vin - */ - private String carInformationVIN; - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultReport.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultReport.java deleted file mode 100644 index bd26bce..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultReport.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.muyu.fault.domain; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -/** - * @className: FaultReport ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:05 ⏰ - * @Version: 1.0 - * @description: - */ - -@Data -@AllArgsConstructor -@NoArgsConstructor -@SuperBuilder -public class FaultReport { - private String VehicleType; - private String FaultDescription; -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultRule.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultRule.java deleted file mode 100644 index d081ac2..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultRule.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.muyu.fault.domain; - -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.math.BigDecimal; - -/** - * @className: FaultRule ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:05 ⏰ - * @Version: 1.0 - * @description: - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@SuperBuilder -@TableName(value = "car_fault_condition",autoResultMap = true) -public class FaultRule { - /** - * 触发条件Id - */ - private long conditionId; - - /** - * 故障码Id - */ - private long faultcodeId; - - /** - * 触发条件描述 - */ - private String conditionContent; - - /** - * 单个参数的阈值 - */ - private BigDecimal singleThreshold; - - /** - * 区间参数的阈值的最小值 - */ - private BigDecimal minThreshold; - - /** - * 区间参数的阈值的最大值 - */ - private BigDecimal maxThreshold; - - /** - * 触发条件是否激活 - */ - private Integer isActive; - - /** - * 车辆数据值 - */ - private BigDecimal Threshold; - - - -} - diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultType.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultType.java deleted file mode 100644 index 613f366..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/FaultType.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.muyu.fault.domain; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -/** - * @className: FaultType ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:04 ⏰ - * @Version: 1.0 - * @description: - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@SuperBuilder -@TableName(value = "car_fault_type",autoResultMap = true) -public class FaultType { - /** - *故障类型Id - */ - @TableId(value = "faulttype_id",type = IdType.AUTO) - private long faulttypeId; - /** - *故障类型名称 - */ - private String faulttypeName; -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/MessageDao.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/MessageDao.java deleted file mode 100644 index 0d19cbd..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/MessageDao.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.muyu.fault.domain; - -import com.muyu.fault.domain.message.Message; -import lombok.Data; - -import java.sql.Connection; -import java.sql.PreparedStatement; - -/** - * @className: MessageDao ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 20:58 ⏰ - * @Version: 1.0 - * @description: - */ -@Data -public class MessageDao { - private Connection connection; - - public MessageDao(Connection connection){ - this.connection=connection; - } - - public void sendMessage(Message message) throws Exception{ - String sql="INSERT INTO `eight`.`car_fault_message` (`id`, `sender`, `receiver`, `content`, `status`, `create_time`, `user_id`) " + - "VALUES (NULL, NULL, NULL, NULL, NULL, NULL, NULL)"; - try(PreparedStatement pstmt=connection.prepareStatement(sql)){ - pstmt.setString(1, message.getContent()); - pstmt.setString(2, message.getSender()); - pstmt.setString(3, message.getReceiver()); - pstmt.setObject(4, message.getCreateTime()); - pstmt.executeUpdate(); - } - - - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/MessageService.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/MessageService.java deleted file mode 100644 index 70dea96..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/MessageService.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.muyu.fault.domain; - -import com.muyu.fault.domain.message.Message; - -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.time.ZonedDateTime; -import java.time.format.DateTimeFormatter; -import java.util.Date; - -/** - * @className: MessageService ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:01 ⏰ - * @Version: 1.0 - * @description: 业务逻辑层将负责实现消息的发送逻辑 - */ - -public class MessageService { - private MessageDao messageDao; - - public MessageService(MessageDao messageDao){ - this.messageDao=messageDao; - } - - public void sendMessage(String content,String sender,String receiver){ - - // 定义一个DateTimeFormatter对象,用于格式化日期时间为yyyy-MM-dd HH:mm:ss - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - // 获取当前日期和时间 - LocalDateTime now = LocalDateTime.now(); - // 使用formatter格式化当前日期和时间 - String formattedDateTime = now.format(formatter); - // 使用formatter将字符串解析回LocalDateTime - LocalDateTime parsedDateTime = LocalDateTime.parse(formattedDateTime, formatter); - // 然后按照上面的步骤将LocalDateTime转换为Date - ZonedDateTime zdt = parsedDateTime.atZone(ZoneId.systemDefault()); - Date date = Date.from(zdt.toInstant()); - - - Message message = new Message(); - message.setContent(content); - message.setSender(sender); - message.setReceiver(receiver); - message.setCreateTime(date); - - try { - messageDao.sendMessage(message); - } catch (Exception e) { - e.printStackTrace(); - } - - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/SysCarFault.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/SysCarFault.java deleted file mode 100644 index e05d86b..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/SysCarFault.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.muyu.fault.domain; - -import com.muyu.common.core.annotation.Excel; -import com.muyu.common.core.web.domain.BaseEntity; -import lombok.*; -import lombok.experimental.SuperBuilder; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.IdType; - -/** - * 车辆故障对象 sys_car_fault - * - * @author Yang鹏 - * @date 2024-09-18 - */ - -@Data -@Setter -@Getter -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@TableName("sys_car_fault") -public class SysCarFault extends BaseEntity{ - private static final long serialVersionUID = 1L; - - /** 自增主键 */ - @TableId( type = IdType.AUTO) - private Long id; - - /** 车辆故障编码; */ - @Excel(name = "车辆故障编码;") - private String faultCode; - - /** 车辆故障名称 */ - @Excel(name = "车辆故障名称") - private String faultName; - - /** 车辆故障类型 */ - @Excel(name = "车辆故障类型") - private String faultType; - - /** 故障VIN编码 */ - @Excel(name = "故障VIN编码") - private String carVin; - - /** 车辆故障标签 */ - @Excel(name = "车辆故障标签") - private String faultLabel; - - /** 车辆故障位 */ - @Excel(name = "车辆故障位") - private String faultBit; - - /** 车辆故障值 */ - @Excel(name = "车辆故障值") - private String faultValue; - - /** 故障级别; */ - @Excel(name = "故障级别;") - private String faultWarn; - - /** 报警状态(Y.是,N.否) */ - @Excel(name = "报警状态", readConverterExp = "Y=.是,N.否") - private String warnStatus; - - /** 故障描述信息 */ - @Excel(name = "故障描述信息") - private String faultDesc; - - /** 启用状态(1.待处理 2.处理中 3.已处理 4.忽略) */ - @Excel(name = "启用状态(1.待处理 2.处理中 3.已处理 4.忽略)") - private String state; - - - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("faultCode", getFaultCode()) - .append("faultName", getFaultName()) - .append("faultType", getFaultType()) - .append("carVin", getCarVin()) - .append("faultLabel", getFaultLabel()) - .append("faultBit", getFaultBit()) - .append("faultValue", getFaultValue()) - .append("faultWarn", getFaultWarn()) - .append("warnStatus", getWarnStatus()) - .append("faultDesc", getFaultDesc()) - .append("state", getState()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .append("remark", getRemark()) - .toString(); - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/WarnLevel.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/WarnLevel.java deleted file mode 100644 index bd25d39..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/WarnLevel.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.muyu.fault.domain; - -public enum WarnLevel { - LOW, MEDIUM, HIGH -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/message/Message.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/message/Message.java deleted file mode 100644 index bfcca6c..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/message/Message.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.muyu.fault.domain.message; - -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 com.muyu.common.core.annotation.Excel; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.util.Date; - -/** - * @className: Message ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/22 10:55 ⏰ - * @Version: 1.0 - * @description: - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@SuperBuilder -@TableName(value = "car_fault_message",autoResultMap = true) -public class Message { - /** - * id - */ - @TableId(value = "id",type = IdType.AUTO) - private long id; - - /** - * 发送者 - */ - private String sender; - - /** - * 接收者 - */ - private String receiver; - - /** - * 消息内容 - */ - private String content; - - /** - * 消息状态 - */ - private Integer status; - - /** - * 创建时间 - */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(description = "消息创建时间",defaultValue = "2024-8-9 10:47:57",type = "Date") - private Date createTime; - /** - * 登录人Id - */ - private long userId; - - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/message/MessageReq.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/message/MessageReq.java deleted file mode 100644 index 0d18799..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/message/MessageReq.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.muyu.fault.domain.message; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.muyu.common.core.annotation.Excel; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -/** - * @className: MessageReq ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 20:59 ⏰ - * @Version: 1.0 - * @description: - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@SuperBuilder -public class MessageReq { - /** - * 消息状态 - */ - @TableId(type = IdType.AUTO,value = "status") - private Integer status; - /** - * 登录人Id - */ - @Excel(name = "登录人Id") - private long userId; -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/message/MessageSendReq.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/message/MessageSendReq.java deleted file mode 100644 index 7e90572..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/message/MessageSendReq.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.muyu.fault.domain.message; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.muyu.common.core.annotation.Excel; -import com.muyu.common.core.annotation.Excel; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.Date; - -/** - * @className: MessageSendReq ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:00 ⏰ - * @Version: 1.0 - * @description: - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -public class MessageSendReq { - /** - * 发送者 - */ - @TableId(type = IdType.AUTO,value = "id") - private String sender; - /** - * 接收者 - */ - @Excel(name = "接收者") - private String receiver; - - /** - * 消息内容 - */ - @Excel(name = "消息内容") - private String content; - /** - * 登录人Id - */ - @Excel(name = "登录人Id") - private long userId; - /** - * 创建时间 - */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(description = "消息创建时间",defaultValue = "2024-8-9 10:47:57",type = "String") - private Date createTime; -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/message/User.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/message/User.java deleted file mode 100644 index 4fc85cc..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/message/User.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.muyu.fault.domain.message; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.muyu.common.core.annotation.Excel; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -/** - * @className: User ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 20:56 ⏰ - * @Version: 1.0 - * @description: - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@SuperBuilder -public class User { - /** - * 用户id - */ - @TableId(value = "id", type = IdType.AUTO) - private Integer id; - /** - * 用户名 - */ - @Excel(name = "用户名") - private String username; - /** - * 邮箱 - */ - @Excel(name="邮箱") - private String email; -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultCodeAddReq.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultCodeAddReq.java deleted file mode 100644 index 37d61a1..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultCodeAddReq.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.muyu.fault.domain.req; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -public class FaultCodeAddReq { - - /** - *故障名称Id - */ - private long messageTypeId; - /** - * 故障名称 - */ - private String messageTypeName; - /** - * 报文编码 - */ - private String messageTypeCode; - - /** - * 故障码 - */ - private String faultcodeNumber; - /** - * 故障分类Id - */ - private long faulttypeId; - /** - * 是否产生报警 - */ - private Integer isWarning; - /** - * 故障描述 - */ - private String faultContent; - /** - *故障组 - */ - private String faultGroup; - /** - *故障位 - */ - private String faultBit; - /** - *故障值 - */ - private String faultValue; - /** - *报文所属类别 - */ - private String messageTypeBelongs; - - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultCodeListReq.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultCodeListReq.java deleted file mode 100644 index 0c7907a..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultCodeListReq.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.muyu.fault.domain.req; - -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: - */ - -@Tag(name = "故障码列表请求对象") -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -public class FaultCodeListReq { - /** - *故障码 - */ - private String faultcodeNumber; - /** - *故障位 - */ - private String faultBit; - /** - * 页码,从1开始 - */ - private Integer pageNum=1; - /** - * 每页大小 - */ - private Integer pageSize=10; - - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultCodeUpdReq.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultCodeUpdReq.java deleted file mode 100644 index c1ed026..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultCodeUpdReq.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.muyu.fault.domain.req; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测策略的接口 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -public class FaultCodeUpdReq { - - /** - *故障码Id - */ - private long faultcodeId; - /** - *故障名称Id - */ - private long messageTypeId; - /** - * 故障名称 - */ - private String messageTypeName; - /** - * 报文编码 - */ - private String messageTypeCode; - /** - * 故障码 - */ - private String faultcodeNumber; - /** - * 故障分类Id - */ - private long faulttypeId; - /** - * 是否产生报警 - */ - private Integer isWarning; - /** - * 故障描述 - */ - private String faultContent; - /** - *故障状态 - */ - private Integer faultStatus; - /** - *故障组 - */ - private String faultGroup; - /** - *故障位 - */ - private String faultBit; - /** - *故障值 - */ - private String faultValue; - /** - *报文所属类别 - */ - private String messageTypeBelongs; - - - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultConditionAddReq.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultConditionAddReq.java deleted file mode 100644 index bfd372b..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultConditionAddReq.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.muyu.fault.domain.req; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.math.BigDecimal; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测策略的接口 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -public class FaultConditionAddReq { - /** - * 故障规则表Id - */ - private long carconditionId; - /** - * 车辆类型Id - */ - private long carTypeId; - /** - *故障名称Id - */ - private long messageTypeId; - /** - * 故障条件 - */ - private String faultconditionIdentification; - /** - * 故障规则参数 - */ - private BigDecimal faultconditionParameter; - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultConditionListReq.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultConditionListReq.java deleted file mode 100644 index 279e996..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultConditionListReq.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.muyu.fault.domain.req; - -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.math.BigDecimal; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测策略的接口 - */ -@Tag(name = "故障规则列表请求对象") -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -public class FaultConditionListReq { - - - /** - * 车辆类型Id - */ - private long carTypeId; - /** - *故障名称Id - */ - private long messageTypeId; - /** - * 页码,从1开始 - */ - private Integer pageNum=1; - /** - * 每页大小 - */ - private Integer pageSize=10; -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultConditionUpdReq.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultConditionUpdReq.java deleted file mode 100644 index 615cbe7..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultConditionUpdReq.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.muyu.fault.domain.req; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.math.BigDecimal; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测策略的接口 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -public class FaultConditionUpdReq { - - /** - * 故障规则表Id - */ - private long carconditionId; - /** - * 车辆类型Id - */ - private long carTypeId; - /** - *故障名称Id - */ - private long messageTypeId; - /** - * 故障条件 - */ - private String faultconditionIdentification; - /** - * 故障规则参数 - */ - private BigDecimal faultconditionParameter; -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultLogListReq.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultLogListReq.java deleted file mode 100644 index 9bc7697..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/req/FaultLogListReq.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.muyu.fault.domain.req; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.muyu.common.core.annotation.Excel; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.Date; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测策略的接口 - */ -@Tag(name = "故障日志列表请求对象") -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -public class FaultLogListReq { - - /** - * 故障码Id - */ - private long faultcodeId; - /** - * 车辆VIN - */ - private String carVin; - /** - * 开始报警时间 - */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(description = "开始报警时间",defaultValue = "2024-8-9 10:47:57",type = "Date") - private Date startwarningTime; - /** - * 结束报警时间 - */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(description = "结束报警时间",defaultValue = "2024-8-9 10:47:57",type = "Date") - private Date endwarningTime; - - /** - * 页码,从1开始 - */ - private Integer pageNum=1; - /** - * 每页大小 - */ - private Integer pageSize=10; -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultCodeListResp.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultCodeListResp.java deleted file mode 100644 index ae9e049..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultCodeListResp.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.muyu.fault.domain.resp; - -import com.muyu.fault.domain.vo.FaultCodeVo; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; - -/** - * @className: Messages ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/22 10:55 ⏰ - * @Version: 1.0 - * @description: - */ - -@Data -@Builder -@AllArgsConstructor -@Tag(name="故障码信息响应对象",description = "故障码查询的响应结果") -public class FaultCodeListResp { - - /** - *故障码Id - */ - private long faultcodeId; - /** - *故障名称Id - */ - private long messageTypeId; - /** - *故障码 - */ - private String faultcodeNumber; - /** - *故障组 - */ - private String faultGroup; - /** - *故障位 - */ - private String faultBit; - /** - *故障值 - */ - private String faultValue; - /** - *是否警告 - */ - private Integer isWarning; - /** - *故障类型名称 - */ - private String faulttypeName; - /** - * 故障名称 - */ - private String messageTypeName; - /** - * 报文编码 - */ - private String messageTypeCode; - /** - *报文所属类别 - */ - private String messageTypeBelongs; - - /** - * 数据库对象构建为返回结果对象 - * @param faultCodeVO - * @return - */ - public static FaultCodeListResp faultCodeListResp(FaultCodeVo faultCodeVO){ - return FaultCodeListResp.builder() - .faultcodeId(faultCodeVO.getFaultcodeId()) - .messageTypeId(faultCodeVO.getMessageTypeId()) - .faultcodeNumber(faultCodeVO.getFaultcodeNumber()) - .faultGroup(faultCodeVO.getFaultGroup()) - .faultBit(faultCodeVO.getFaultBit()) - .faultValue(faultCodeVO.getFaultValue()) - .isWarning(faultCodeVO.getIsWarning()) - .faulttypeName(faultCodeVO.getFaulttypeName()) - .messageTypeName(faultCodeVO.getMessageTypeName()) - .messageTypeCode(faultCodeVO.getMessageTypeCode()) - .messageTypeBelongs(faultCodeVO.getMessageTypeBelongs()) - .build(); - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultCodeTotalListResp.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultCodeTotalListResp.java deleted file mode 100644 index bfa9107..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultCodeTotalListResp.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.muyu.fault.domain.resp; - -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.util.List; - -/** - * @className: Messages ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/22 10:55 ⏰ - * @Version: 1.0 - * @description: - */ -@Data -@SuperBuilder -@AllArgsConstructor -@NoArgsConstructor -@Tag(name="数据总数列表",description = "数据和总数的响应") -public class FaultCodeTotalListResp { - - - private List faultCodeListRespList; - - private long total; - - public static FaultCodeTotalListResp faultCodeTotalListResp(List faultCodeListRespList,long total){ - FaultCodeTotalListResp faultCodeTotalListResp = new FaultCodeTotalListResp(); - faultCodeTotalListResp.setFaultCodeListRespList(faultCodeListRespList); - faultCodeTotalListResp.setTotal(total); - return faultCodeTotalListResp; - } - - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultConditionListResp.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultConditionListResp.java deleted file mode 100644 index 0af43ed..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultConditionListResp.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.muyu.fault.domain.resp; - - -import com.muyu.fault.domain.FaultCondition; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; - -import java.math.BigDecimal; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: - */ - -@Data -@Builder -@AllArgsConstructor -@Tag(name="故障规则信息响应对象",description = "故障规则查询的响应结果") -public class FaultConditionListResp { - - /** - * 故障规则表Id - */ - private long carconditionId; - /** - * 车辆类型Id - */ - private long carTypeId; - /** - *故障名称Id - */ - private long messageTypeId; - /** - * 故障条件 - */ - private String faultconditionIdentification; - /** - * 故障规则参数 - */ - private BigDecimal faultconditionParameter; - /** - * 车辆类型名称 - */ - private String carTypeName; - /** - * 故障名称 - */ - private String messageTypeName; - /** - * 报文编码 - */ - private String messageTypeCode; - - /** - * 数据库对象构建为返回结果对象 - * @param faultCondition - * @return - */ - public static FaultConditionListResp faultConditionListResp(FaultCondition faultCondition){ - return FaultConditionListResp.builder() - .carconditionId(faultCondition.getCarconditionId()) - .carTypeId(faultCondition.getCarTypeId()) - .messageTypeId(faultCondition.getMessageTypeId()) - .faultconditionParameter(faultCondition.getFaultconditionParameter()) - .faultconditionIdentification(faultCondition.getFaultconditionIdentification()) - .carTypeName(faultCondition.getCarTypeName()) - .messageTypeName(faultCondition.getMessageTypeName()) - .messageTypeCode(faultCondition.getMessageTypeCode()) - .build(); - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultConditionTotalListResp.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultConditionTotalListResp.java deleted file mode 100644 index 1968d71..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultConditionTotalListResp.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.muyu.fault.domain.resp; - -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.util.List; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测策略的接口 - */ -@Data -@SuperBuilder -@AllArgsConstructor -@NoArgsConstructor -@Tag(name="故障规则数据总数列表",description = "数据和总数的响应") -public class FaultConditionTotalListResp { - - private List faultConditionListRespList; - - private long total; - - public static FaultConditionTotalListResp faultConditionTotalListResp(List faultConditionListRespList,long total){ - FaultConditionTotalListResp faultConditionTotalListResp = new FaultConditionTotalListResp(); - faultConditionTotalListResp.setFaultConditionListRespList(faultConditionListRespList); - faultConditionTotalListResp.setTotal(total); - return faultConditionTotalListResp; - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultLogListResp.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultLogListResp.java deleted file mode 100644 index d0bfaa2..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultLogListResp.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.muyu.fault.domain.resp; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import com.muyu.fault.domain.FaultLog; -import com.muyu.common.core.annotation.Excel; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; - -import java.util.Date; - -/** - * @className: Messages ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/22 10:55 ⏰ - * @Version: 1.0 - * @description: - */ -@Data -@Builder -@AllArgsConstructor -@Tag(name="故障日志信息响应对象",description = "故障日志的响应结果") -public class FaultLogListResp { - - - /** - * 故障日志Id - */ - private long logId; - /** - * 故障码Id - */ - private long faultcodeId; - /** - * 车辆Id - */ - private long carInformationId; - /** - * 车辆VIN - */ - private String carVin; - /** - * 开始报警时间 - */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(description = "开始报警时间",defaultValue = "2024-8-9 10:47:57",type = "Date") - private Date startwarningTime; - /** - * 结束报警时间 - */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(description = "结束报警时间",defaultValue = "2024-8-9 10:47:57",type = "Date") - private Date endwarningTime; - /** - * 故障码 - */ - private String faultcodeNumber; - /** - * 车辆vin - */ - private String carInformationVIN; - - - /** - * 数据库对象构建为返回结果对象 - * @param faultLog - * @return - */ - public static FaultLogListResp faultLogListResp(FaultLog faultLog){ - return FaultLogListResp.builder() - .logId(faultLog.getLogId()) - .faultcodeId(faultLog.getFaultcodeId()) - .carInformationId(faultLog.getCarInformationId()) - .carVin(faultLog.getCarVin()) - .startwarningTime(faultLog.getStartwarningTime()) - .endwarningTime(faultLog.getEndwarningTime()) - .faultcodeNumber(faultLog.getFaultcodeNumber()) - .carInformationVIN(faultLog.getCarInformationVIN()) - .build(); - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultLogTotalListResp.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultLogTotalListResp.java deleted file mode 100644 index b77392d..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/resp/FaultLogTotalListResp.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.muyu.fault.domain.resp; - -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.util.List; - -/** - * @className: Messages ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/22 10:55 ⏰ - * @Version: 1.0 - * @description: - */ - -@Data -@SuperBuilder -@AllArgsConstructor -@NoArgsConstructor -@Tag(name="故障日志数据总数列表",description = "数据和总数的响应") -public class FaultLogTotalListResp { - - private List faultLogListRespList; - - private long total; - - public static FaultLogTotalListResp faultLogTotalListResp(List faultLogListRespList,long total){ - FaultLogTotalListResp faultLogTotalListResp = new FaultLogTotalListResp(); - faultLogTotalListResp.setFaultLogListRespList(faultLogListRespList); - faultLogTotalListResp.setTotal(total); - return faultLogTotalListResp; - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/vo/FaultCodeVo.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/vo/FaultCodeVo.java deleted file mode 100644 index 56f3c00..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/domain/vo/FaultCodeVo.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.muyu.fault.domain.vo; - -import com.muyu.fault.domain.FaultCode; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; -/** - * @className: FaultCodeVo ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 22:18 ⏰ - * @Version: 1.0 - * @description: - */ -@EqualsAndHashCode(callSuper = true) -@Data -@AllArgsConstructor -@NoArgsConstructor -@SuperBuilder -public class FaultCodeVo extends FaultCode { - /** - *故障类型名称 - */ - private String faulttypeName; - /** - * 故障名称 - */ - private String messageTypeName; - /** - * 报文编码 - */ - private String messageTypeCode; - /** - *报文所属类别 - */ - private String messageTypeBelongs; - - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/CarTypeMapper.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/CarTypeMapper.java deleted file mode 100644 index 2460a6a..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/CarTypeMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.muyu.fault.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.muyu.fault.domain.CarType; -import org.apache.ibatis.annotations.Mapper; - -/** - * @className: CarTypeMapper ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测策略的接口 - */ -@Mapper -public interface CarTypeMapper extends BaseMapper { - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultCodeMapper.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultCodeMapper.java deleted file mode 100644 index bb36881..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultCodeMapper.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.muyu.fault.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -import com.muyu.fault.domain.FaultCode; - -import com.muyu.fault.domain.FaultLabel; -import com.muyu.fault.domain.req.FaultCodeAddReq; -import com.muyu.fault.domain.req.FaultCodeListReq; -import com.muyu.fault.domain.req.FaultCodeUpdReq; -import com.muyu.fault.domain.vo.FaultCodeVo; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * @className: FaultCodeMapper ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测策略的接口 - */ -@Mapper -public interface FaultCodeMapper extends BaseMapper { - - List selectfaultcodelist(FaultCodeListReq faultCodeListReq); - - - - //新增故障码 - FaultLabel selectfaultName(@Param("messageTypeName") String messageTypeName); - FaultCode selectfaultCode(@Param("faultcodeNumber") String faultcodeNumber); - Integer insertfaultlabel(FaultCodeAddReq faultCodeAddReq); - Integer insertfaultcode(FaultCodeAddReq faultCodeAddReq); - - //修改故障码 - Integer updfaultlabel(FaultCodeUpdReq faultCodeUpdReq); - Integer updfaultcode(FaultCodeUpdReq faultCodeUpdReq); - - - - Integer delfaultcode(@Param("messageTypeId") long messageTypeId); - Integer delfaultlabel(@Param("messageTypeId") long messageTypeId); -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultConditionMapper.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultConditionMapper.java deleted file mode 100644 index 006db23..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultConditionMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.muyu.fault.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -import com.muyu.fault.domain.FaultCondition; -import com.muyu.fault.domain.req.FaultConditionAddReq; -import com.muyu.fault.domain.req.FaultConditionListReq; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * @className: FaultConditionMapper ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测策略的接口 - */ -@Mapper -public interface FaultConditionMapper extends BaseMapper { - - List selectfaultconditionlist(FaultConditionListReq faultConditionListReq); - - - List selectBytypeAndlabel(FaultConditionAddReq faultConditionAddReq); -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultDetectionStrategyMapper.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultDetectionStrategyMapper.java deleted file mode 100644 index 1164673..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultDetectionStrategyMapper.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.muyu.fault.mapper; - -/** - * @className: FaultDetectionStrategyMapper ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 23:59 ⏰ - * @Version: 1.0 - * @description: - */ -public interface FaultDetectionStrategyMapper { -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultLabelMapper.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultLabelMapper.java deleted file mode 100644 index c463cd4..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultLabelMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.muyu.fault.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.muyu.fault.domain.FaultLabel; -import org.apache.ibatis.annotations.Mapper; - -/** - * @className: FaultLabelMapper ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测策略的接口 - */ -@Mapper -public interface FaultLabelMapper extends BaseMapper { -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultLogMapper.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultLogMapper.java deleted file mode 100644 index e21d993..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultLogMapper.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.muyu.fault.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -import com.muyu.fault.domain.FaultLog; -import com.muyu.fault.domain.req.FaultLogListReq; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测策略的接口 - */ -@Mapper -public interface FaultLogMapper extends BaseMapper { - - - List selectfaultLogMapper(FaultLogListReq faultLogListReq); - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultRuleMapper.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultRuleMapper.java deleted file mode 100644 index aa31e05..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultRuleMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.muyu.fault.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.muyu.fault.domain.FaultRule; -import org.apache.ibatis.annotations.Mapper; - -/** - * @className: FaultRuleMapper ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测策略的接口 - */ -@Mapper -public interface FaultRuleMapper extends BaseMapper { -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultTypeMapper.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultTypeMapper.java deleted file mode 100644 index f2a0305..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultTypeMapper.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.muyu.fault.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -import com.muyu.fault.domain.FaultType; -import org.apache.ibatis.annotations.Mapper; - -/** - * @className: FaultTypeMapper ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测策略的接口 - */ -@Mapper -public interface FaultTypeMapper extends BaseMapper { - Integer add(FaultType faultType); - - Integer update(FaultType faultType); - - Integer delete(Integer id); -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/MessageMapper.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/MessageMapper.java deleted file mode 100644 index 6ed2bd3..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/MessageMapper.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.muyu.fault.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -import com.muyu.fault.domain.message.Message; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * @className: MessageMapper ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: - */ -@Mapper -public interface MessageMapper extends BaseMapper { - void changestatus(Message message); - - List unread(); - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/SysCarFaultMapper.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/SysCarFaultMapper.java deleted file mode 100644 index 0bde603..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/SysCarFaultMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.muyu.fault.mapper; - -import com.muyu.fault.domain.SysCarFault; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * @className: MessageMapper ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024-09-18 21:06 ⏰ - * @Version: 1.0 - * @description: 车辆故障Mapper接口 - */ -@Mapper -public interface SysCarFaultMapper extends BaseMapper{ - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/CarTypeService.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/CarTypeService.java deleted file mode 100644 index 33aad1c..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/CarTypeService.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.muyu.fault.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.muyu.fault.domain.CarType; - - -import java.util.List; - -/** - * @className: CarTypeService ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: - */ -public interface CarTypeService extends IService { - - /** - * 车辆类型 - * @return - */ - List selectcarType(); - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultCodeService.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultCodeService.java deleted file mode 100644 index 1d5fd57..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultCodeService.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.muyu.fault.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.muyu.fault.domain.req.FaultCodeAddReq; -import com.muyu.fault.domain.req.FaultCodeListReq; -import com.muyu.fault.domain.req.FaultCodeUpdReq; -import com.muyu.fault.domain.resp.FaultCodeTotalListResp; -import com.muyu.fault.domain.vo.FaultCodeVo; - -/** - * @className: FaultCodeService ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测策略的接口 - */ -public interface FaultCodeService extends IService { - - /** - * 故障码展示 - * @param faultCodeListReq - * @return - */ - FaultCodeTotalListResp selectlist(FaultCodeListReq faultCodeListReq); - - /** - * 故障码展示(故障码联查) - * @param faultCodeListReq - * @return - */ - FaultCodeTotalListResp selectfaultcodelist(FaultCodeListReq faultCodeListReq); - - /** - * 新增故障码 - * @param faultCodeAddReq - * @return - */ - void insert(FaultCodeAddReq faultCodeAddReq); - - - /** - * 修改故障码 - * @param faultCodeUpdReq - * @return - */ - void upd(FaultCodeUpdReq faultCodeUpdReq); - - - /** - * 删除故障码 - * @param messageTypeId - * @return - */ - void del(Integer messageTypeId); -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultConditionService.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultConditionService.java deleted file mode 100644 index 3c8e815..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultConditionService.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.muyu.fault.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.muyu.fault.domain.FaultCondition; -import com.muyu.fault.domain.req.FaultConditionAddReq; -import com.muyu.fault.domain.req.FaultConditionListReq; -import com.muyu.fault.domain.resp.FaultConditionTotalListResp; - - -import java.util.List; - -/** - * @className: FaultConditionService ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测策略的接口 - */ -public interface FaultConditionService extends IService { - - - /** - * 故障规则 - * @param faultConditionListReq - * @return - */ - FaultConditionTotalListResp getfaultrulelist(FaultConditionListReq faultConditionListReq); - - /** - * 故障规则添加 - * @param faultConditionAddReq - * @return - */ - List selectBytypeAndlabel(FaultConditionAddReq faultConditionAddReq); -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultDetectionStrategy.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultDetectionStrategy.java deleted file mode 100644 index 2d4cc55..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultDetectionStrategy.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.muyu.fault.service; - -import com.muyu.fault.domain.CarFaultRule; -import com.muyu.fault.domain.FaultReport; -/** - * @className: FaultDetectionStrategy ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测策略的接口 - */ -public interface FaultDetectionStrategy { - - FaultReport detectFaults(CarFaultRule carFaultRule); - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultDetectionStrategyService.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultDetectionStrategyService.java deleted file mode 100644 index 805cf15..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultDetectionStrategyService.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.muyu.fault.service; - -public interface FaultDetectionStrategyService { -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultLabelService.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultLabelService.java deleted file mode 100644 index ec9b278..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultLabelService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.muyu.fault.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.muyu.fault.domain.FaultLabel; - - -import java.util.List; - -/** - * @className: FaultLabelService ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测 - */ -public interface FaultLabelService extends IService { - /** - * 故障名称 - * @return - */ - List select(); - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultLogService.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultLogService.java deleted file mode 100644 index fa5f126..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultLogService.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.muyu.fault.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.muyu.fault.domain.FaultLog; -import com.muyu.fault.domain.req.FaultLogListReq; -import com.muyu.fault.domain.resp.FaultLogTotalListResp; - - -import java.util.List; - -/** - * @className: FaultLogService ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测 - */ -public interface FaultLogService extends IService { - - /** - * 故障日志列表 - * @param faultLogListReq - * @return - */ - FaultLogTotalListResp selectfaultlog(FaultLogListReq faultLogListReq); -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultRuleService.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultRuleService.java deleted file mode 100644 index 1569c52..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultRuleService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.muyu.fault.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.muyu.fault.domain.FaultRule; - - -/** - * @className: FaultRuleService ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测 - */ -public interface FaultRuleService extends IService { - - /** - * 车辆故障检测 - * @return - */ - String checkfaults(FaultRule faultRule); - - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultTypeService.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultTypeService.java deleted file mode 100644 index 01868e6..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultTypeService.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.muyu.fault.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.muyu.fault.domain.FaultType; - -import java.util.List; - -/** - * @className: FaultTypeService ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测 - */ -public interface FaultTypeService extends IService { - - /** - * 故障码分类查询 - * @return - */ - List select(); - - Integer add(FaultType faultType); - - Integer update(FaultType faultType); - - Integer delete(Integer id); -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/ISysCarFaultService.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/ISysCarFaultService.java deleted file mode 100644 index dc6b566..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/ISysCarFaultService.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.muyu.fault.service; - -import java.util.List; -import com.muyu.fault.domain.SysCarFault; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * 车辆故障Service接口 - * - * @author Yang鹏 - * @date 2024-09-18 - */ -public interface ISysCarFaultService extends IService { - /** - * 精确查询车辆故障 - * - * @param id 车辆故障主键 - * @return 车辆故障 - */ - public SysCarFault selectSysCarFaultById(Long id); - - /** - * 查询车辆故障列表 - * - * @param sysCarFault 车辆故障 - * @return 车辆故障集合 - */ - public List selectSysCarFaultList(SysCarFault sysCarFault); - - /** - * 判断 车辆故障 id是否唯一 - * @param sysCarFault 车辆故障 - * @return 结果 - */ - Boolean checkIdUnique(SysCarFault sysCarFault); - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/MessageService.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/MessageService.java deleted file mode 100644 index 1d0cbe3..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/MessageService.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.muyu.fault.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.muyu.fault.domain.message.Message; -import com.muyu.fault.domain.message.MessageReq; -import com.muyu.fault.domain.message.MessageSendReq; - - -import java.util.List; - -/** - * @className: MessageService ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测 - */ -public interface MessageService extends IService { - - /** - * 消息发送 - * @param messageSendReq - * @return - */ - void sendmessage(MessageSendReq messageSendReq); - - /** - * 消息查看 - * @param messageReq - * @param - * @return - */ - List selectmessage(MessageReq messageReq); - - - /** - * 查看消息改变状态 - * @param message - * @return - */ - void changestatus(Message message); - - - /** - * 查看未读的消息 - * @return - */ - List unread(); -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/CarTypeServiceImpl.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/CarTypeServiceImpl.java deleted file mode 100644 index 6f9b99d..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/CarTypeServiceImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.muyu.fault.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -import com.muyu.fault.domain.CarType; -import com.muyu.fault.mapper.CarTypeMapper; -import com.muyu.fault.service.CarTypeService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * @className: CarFaultRule ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 22:06 ⏰ - * @Version: 1.0 - * @description: - */ -@Service -public class CarTypeServiceImpl extends ServiceImpl implements CarTypeService { - - @Autowired - private CarTypeMapper carTypeMapper; - - /** - * 车辆类型 - * @return - */ - @Override - public List selectcarType() { - LambdaQueryWrapper carTypeLambdaQueryWrapper = new LambdaQueryWrapper<>(); - List list = this.list(carTypeLambdaQueryWrapper); - return list; - } - - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultCodeServiceImpl.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultCodeServiceImpl.java deleted file mode 100644 index 9754afa..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultCodeServiceImpl.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.muyu.fault.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.fault.domain.FaultCode; -import com.muyu.fault.domain.FaultLabel; -import com.muyu.fault.domain.req.FaultCodeAddReq; -import com.muyu.fault.domain.req.FaultCodeListReq; -import com.muyu.fault.domain.req.FaultCodeUpdReq; -import com.muyu.fault.domain.resp.FaultCodeListResp; -import com.muyu.fault.domain.resp.FaultCodeTotalListResp; -import com.muyu.fault.domain.vo.FaultCodeVo; -import com.muyu.fault.mapper.FaultCodeMapper; -import com.muyu.fault.service.FaultCodeService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测 - */ -@Service -public class FaultCodeServiceImpl extends ServiceImpl implements FaultCodeService { - @Autowired - private FaultCodeMapper faultCodeMapper; - - /** - * 故障码展示 - * @param faultCodeListReq - * @return - */ - @Override - public FaultCodeTotalListResp selectlist(FaultCodeListReq faultCodeListReq) { - Integer pageNum = faultCodeListReq.getPageNum(); - Integer pageSize = faultCodeListReq.getPageSize(); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(StringUtils.isNotEmpty(faultCodeListReq.getFaultcodeNumber()), - FaultCodeVo::getFaultcodeNumber,faultCodeListReq.getFaultcodeNumber()); - queryWrapper.eq(StringUtils.isNotEmpty(faultCodeListReq.getFaultBit()), - FaultCodeVo::getFaultBit,faultCodeListReq.getFaultBit()); - long count = this.count(queryWrapper); - queryWrapper.last("LIMIT "+ ((pageNum-1)*pageSize)+", "+pageSize); - List faultCodeVOList = this.list(queryWrapper); - List faultCodeListRespList = faultCodeVOList.stream() - .map(FaultCodeListResp::faultCodeListResp) - .toList(); - return FaultCodeTotalListResp.faultCodeTotalListResp(faultCodeListRespList,count); - } - - - /** - * 故障码展示(故障码联查) - * @param faultCodeListReq - * @return - */ - @Override - public FaultCodeTotalListResp selectfaultcodelist(FaultCodeListReq faultCodeListReq) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - long count = this.count(queryWrapper); - int offset = (faultCodeListReq.getPageNum() - 1) * faultCodeListReq.getPageSize(); - faultCodeListReq.setPageNum(offset); - List selectfaultcodelist = faultCodeMapper.selectfaultcodelist(faultCodeListReq); - List faultCodeListRespList = selectfaultcodelist.stream() - .map(FaultCodeListResp::faultCodeListResp) - .toList(); - return FaultCodeTotalListResp.faultCodeTotalListResp(faultCodeListRespList,count); - } - - /** - * 新增故障码 - * @param faultCodeAddReq - * @return - */ - @Override - public void insert(FaultCodeAddReq faultCodeAddReq) { - //判断故障名称或故障码是否存在,若都不存在先添加故障名称表,在添加故障码表 - //1.判断故障名称是否存在 - String messageTypeName = faultCodeAddReq.getMessageTypeName(); - FaultLabel faultLabel = faultCodeMapper.selectfaultName(messageTypeName); - //2.判断故障码是否存在 - String faultcodeNumber = faultCodeAddReq.getFaultcodeNumber(); - FaultCode faultCode = faultCodeMapper.selectfaultCode(faultcodeNumber); - if (faultLabel==null && faultCode==null){ - faultCodeMapper.insertfaultlabel(faultCodeAddReq); - faultCodeMapper.insertfaultcode(faultCodeAddReq); - } - } - - - /** - * 修改故障码 - * @param faultCodeUpdReq - * @return - */ - @Override - public void upd(FaultCodeUpdReq faultCodeUpdReq) { - //修改故障名称表信息和故障码表信息 -// faultCodeMapper.updfaultlabel(faultCodeUpdReq); - faultCodeMapper.updfaultcode(faultCodeUpdReq); - } - - - /** - * 删除故障码 - * @param messageTypeId - * @return - */ - @Override - public void del(Integer messageTypeId) { - - //删除故障码表信息 - faultCodeMapper.delfaultcode(messageTypeId); - //删除对应的故障名称表信息 - faultCodeMapper.delfaultlabel(messageTypeId); - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultConditionServiceImpl.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultConditionServiceImpl.java deleted file mode 100644 index 2332018..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultConditionServiceImpl.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.muyu.fault.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.muyu.fault.domain.FaultCondition; -import com.muyu.fault.domain.req.FaultConditionAddReq; -import com.muyu.fault.domain.req.FaultConditionListReq; -import com.muyu.fault.domain.resp.FaultConditionListResp; -import com.muyu.fault.domain.resp.FaultConditionTotalListResp; -import com.muyu.fault.mapper.FaultConditionMapper; -import com.muyu.fault.service.FaultConditionService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - - -import java.util.List; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测 - */ -@Service -public class FaultConditionServiceImpl extends ServiceImpl implements FaultConditionService { - - @Autowired - private FaultConditionMapper faultConditionMapper; - - - - /** - * 故障规则 - * @param faultConditionListReq - * @return - */ - @Override - public FaultConditionTotalListResp getfaultrulelist(FaultConditionListReq faultConditionListReq) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - long count = this.count(queryWrapper); - int offset = (faultConditionListReq.getPageNum() - 1) * faultConditionListReq.getPageSize(); - faultConditionListReq.setPageNum(offset); - - List selectfaultconditionlist = faultConditionMapper.selectfaultconditionlist(faultConditionListReq); - List faultConditionListRespList = selectfaultconditionlist.stream() - .map(FaultConditionListResp::faultConditionListResp) - .toList(); - return FaultConditionTotalListResp.faultConditionTotalListResp(faultConditionListRespList,count); - } - - - /** - * 故障规则添加 判断故障规则是否存在 - * @param faultConditionAddReq - * @return - */ - @Override - public List selectBytypeAndlabel(FaultConditionAddReq faultConditionAddReq) { - List faultConditionList = faultConditionMapper.selectBytypeAndlabel(faultConditionAddReq); - return faultConditionList; - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultDetectionStrategyServiceImpl.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultDetectionStrategyServiceImpl.java deleted file mode 100644 index aa77e83..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultDetectionStrategyServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.muyu.fault.service.impl; - -import com.muyu.fault.mapper.FaultDetectionStrategyMapper; -import com.muyu.fault.service.FaultDetectionStrategyService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -/** - * @className: FaultDetectionStrategyServiceImpl ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 23:58 ⏰ - * @Version: 1.0 - * @description: - */ -@Service -public class FaultDetectionStrategyServiceImpl implements FaultDetectionStrategyService { - - @Autowired - private FaultDetectionStrategyMapper faultDetectionStrategyMapper; -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultLabelServiceImpl.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultLabelServiceImpl.java deleted file mode 100644 index ceff5c6..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultLabelServiceImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.muyu.fault.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -import com.muyu.fault.domain.FaultLabel; -import com.muyu.fault.mapper.FaultLabelMapper; -import com.muyu.fault.service.FaultLabelService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测 - */ -@Service -public class FaultLabelServiceImpl extends ServiceImpl implements FaultLabelService { - @Autowired - private FaultLabelMapper faultLabelMapper; - - - /** - * 故障信息查询 - * @return - */ - @Override - public List select() { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - List list = this.list(queryWrapper); - return list; - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultLogServiceImpl.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultLogServiceImpl.java deleted file mode 100644 index 1eecb65..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultLogServiceImpl.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.muyu.fault.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -import com.muyu.fault.domain.FaultLog; -import com.muyu.fault.domain.req.FaultLogListReq; -import com.muyu.fault.domain.resp.FaultLogListResp; -import com.muyu.fault.domain.resp.FaultLogTotalListResp; -import com.muyu.fault.mapper.FaultLogMapper; -import com.muyu.fault.service.FaultLogService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测 - */ -@Service -public class FaultLogServiceImpl extends ServiceImpl implements FaultLogService { - @Autowired - private FaultLogMapper faultLogMapper; - - /** - * 故障日志列表 - * @param faultLogListReq - * @return - */ - @Override - public FaultLogTotalListResp selectfaultlog(FaultLogListReq faultLogListReq) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - long count = this.count(queryWrapper); - int offset = (faultLogListReq.getPageNum() - 1) * faultLogListReq.getPageSize(); - faultLogListReq.setPageNum(offset); - List faultLogListResps = faultLogMapper.selectfaultLogMapper(faultLogListReq); - List faultLogListRespList = faultLogListResps.stream() - .map(FaultLogListResp::faultLogListResp) - .toList(); - return FaultLogTotalListResp.faultLogTotalListResp(faultLogListRespList,count); - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultRuleServiceImpl.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultRuleServiceImpl.java deleted file mode 100644 index ff37c01..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultRuleServiceImpl.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.muyu.fault.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -import com.muyu.fault.domain.FaultRule; -import com.muyu.fault.mapper.FaultRuleMapper; -import com.muyu.fault.service.FaultRuleService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.math.BigDecimal; -import java.util.Collections; -import java.util.List; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测 - */ -@Service -public class FaultRuleServiceImpl extends ServiceImpl implements FaultRuleService { - - @Autowired - private FaultRuleMapper faultRuleMapper; - - /** - * 车辆故障检测 - * @return - */ - @Override - public String checkfaults(FaultRule faultRule) { - //获取触发条件 - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - if (Long.valueOf(faultRule.getFaultcodeId())!=null && faultRule.getFaultcodeId()!=0){ - queryWrapper.eq(FaultRule::getFaultcodeId, faultRule.getFaultcodeId()); - } - List faultRuleList = this.list(queryWrapper); - for (FaultRule rule : faultRuleList) { - //单个值比较 - if (faultRule.getSingleThreshold()!=null && faultRule.getMaxThreshold()==null && faultRule.getMinThreshold()==null){ - //大于阈值 - if (faultRule.getConditionContent().contains(">") || faultRule.getConditionContent().contains("大于")){ - if (faultRule.getThreshold().compareTo(rule.getSingleThreshold())>0){ - return "数据超过阈值,出现异常"; - } - } - //小于阈值 - if (faultRule.getConditionContent().contains("<") || faultRule.getConditionContent().contains("小于")){ - if (faultRule.getThreshold().compareTo(rule.getSingleThreshold())<0){ - return "数据过低,出现异常"; - } - } - }else { //区间值比较 - if (faultRule.getThreshold().compareTo(rule.getMinThreshold())<0 || faultRule.getThreshold().compareTo(rule.getMaxThreshold())>0){ - return "数据不在可控范围内,出现异常"; - } - } - } - return "判断出现异常"; - } - - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultTypeServiceImpl.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultTypeServiceImpl.java deleted file mode 100644 index 3c67125..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultTypeServiceImpl.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.muyu.fault.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -import com.muyu.fault.domain.FaultType; -import com.muyu.fault.mapper.FaultTypeMapper; -import com.muyu.fault.service.FaultTypeService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测 - */ -@Service -public class FaultTypeServiceImpl extends ServiceImpl implements FaultTypeService { - @Autowired - private FaultTypeMapper faultTypeMapper; - /** - * 故障码分类查询 - * @return - */ - @Override - public List select() { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - List list = this.list(queryWrapper); - return list; - } - - @Override - public Integer add(FaultType faultType) { - return faultTypeMapper.add(faultType); - } - - @Override - public Integer update(FaultType faultType) { - return faultTypeMapper.update(faultType); - } - - @Override - public Integer delete(Integer id) { - return faultTypeMapper.delete(id); - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/MessageServiceImpl.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/MessageServiceImpl.java deleted file mode 100644 index eea14a6..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/MessageServiceImpl.java +++ /dev/null @@ -1,126 +0,0 @@ -package com.muyu.fault.service.impl; - - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.muyu.common.security.service.TokenService; -import com.muyu.common.security.utils.SecurityUtils; -import com.muyu.common.system.domain.LoginUser; -import com.muyu.fault.domain.message.Message; -import com.muyu.fault.domain.message.MessageReq; -import com.muyu.fault.domain.message.MessageSendReq; -import com.muyu.fault.mapper.MessageMapper; -import com.muyu.fault.service.MessageService; -import jakarta.servlet.http.HttpServletRequest; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.time.ZonedDateTime; -import java.time.format.DateTimeFormatter; -import java.util.Date; -import java.util.List; - -/** - * @className: FaultLog ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 21:06 ⏰ - * @Version: 1.0 - * @description: 故障检测 - */ -@Service -public class MessageServiceImpl extends ServiceImpl implements MessageService { - @Autowired - private TokenService tokenService; - @Autowired - private HttpServletRequest request; - @Autowired - private MessageMapper messageMapper; - /** - * 消息发送 - * @param messageSendReq - * @return - */ - @Override - public void sendmessage(MessageSendReq messageSendReq) { - String token = SecurityUtils.getToken();// 获取当前Token - LoginUser loginUser = tokenService.getLoginUser(token); // 获取当前登录用户 - if (loginUser == null) { - throw new RuntimeException("用户未登录或Token无效"); - } - Long userid = loginUser.getUserid(); - messageSendReq.setUserId(userid); - - // 定义一个DateTimeFormatter对象,用于格式化日期时间为yyyy-MM-dd HH:mm:ss - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - // 获取当前日期和时间 - LocalDateTime now = LocalDateTime.now(); - // 使用formatter格式化当前日期和时间 - String formattedDateTime = now.format(formatter); - // 使用formatter将字符串解析回LocalDateTime - LocalDateTime parsedDateTime = LocalDateTime.parse(formattedDateTime, formatter); - // 然后按照上面的步骤将LocalDateTime转换为Date - ZonedDateTime zdt = parsedDateTime.atZone(ZoneId.systemDefault()); - Date date = Date.from(zdt.toInstant()); - // 现在date是一个包含了字符串中日期和时间的Date对象 - messageSendReq.setCreateTime(date); - - - - } - - - /** - * 消息查看 - * @param messageReq - * @param - * @return - */ - @Override - public List selectmessage(MessageReq messageReq) { - String token = SecurityUtils.getToken();// 获取当前Token - LoginUser loginUser = tokenService.getLoginUser(token); // 获取当前登录用户 - if (loginUser == null) { - throw new RuntimeException("用户未登录或Token无效"); - } - Long userid = loginUser.getUserid(); - messageReq.setUserId(userid); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); -// queryWrapper.eq(StringUtils.isNotEmpty(String.valueOf(messageReq.getStatus())), -// Message::getStatus,messageReq.getStatus()); -// queryWrapper.eq(StringUtils.isNotEmpty(String.valueOf(messageReq.getUserId())), -// Message::getUserId,messageReq.getUserId()); - if (messageReq.getStatus() != null) { - queryWrapper.eq(Message::getStatus, messageReq.getStatus()); - } - queryWrapper.eq(Message::getUserId, messageReq.getUserId()); - List list = this.list(queryWrapper); - return list; - } - - /** - * 查看消息改变状态 - * @param message - * @return - */ - @Override - public void changestatus(Message message) { - messageMapper.changestatus(message); - } - - /** - * 查看未读的消息 - * @return - */ - @Override - public List unread() { -// return messageMapper.unread(); - return null; - } - - - - - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/SysCarFaultServiceImpl.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/SysCarFaultServiceImpl.java deleted file mode 100644 index c219241..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/SysCarFaultServiceImpl.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.muyu.fault.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.fault.domain.SysCarFault; -import com.muyu.fault.mapper.SysCarFaultMapper; -import com.muyu.fault.service.ISysCarFaultService; -import org.springframework.stereotype.Service; -import org.springframework.util.Assert; - -import java.util.List; - -/** - * 车辆故障Service业务层处理 - * - * @author Yang鹏 - * @date 2024-09-18 - */ -@Service -public class SysCarFaultServiceImpl - extends ServiceImpl - implements ISysCarFaultService { - - /** - * 精确查询车辆故障 - * - * @param id 车辆故障主键 - * @return 车辆故障 - */ - @Override - public SysCarFault selectSysCarFaultById(Long id) - { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - Assert.notNull(id, "id不可为空"); - queryWrapper.eq(SysCarFault::getId, id); - return this.getOne(queryWrapper); - } - - - /** - * 查询车辆故障列表 - * - * @param sysCarFault 车辆故障 - * @return 车辆故障 - */ - @Override - public List selectSysCarFaultList(SysCarFault sysCarFault) - { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - if (StringUtils.isNotEmpty(sysCarFault.getFaultCode())){ - queryWrapper.eq(SysCarFault::getFaultCode, sysCarFault.getFaultCode()); - } - if (StringUtils.isNotEmpty(sysCarFault.getFaultName())){ - queryWrapper.like(SysCarFault::getFaultName, sysCarFault.getFaultName()); - } - if (StringUtils.isNotEmpty(sysCarFault.getFaultType())){ - queryWrapper.eq(SysCarFault::getFaultType, sysCarFault.getFaultType()); - } - if (StringUtils.isNotEmpty(sysCarFault.getCarVin())){ - queryWrapper.eq(SysCarFault::getCarVin, sysCarFault.getCarVin()); - } - if (StringUtils.isNotEmpty(sysCarFault.getFaultLabel())){ - queryWrapper.eq(SysCarFault::getFaultLabel, sysCarFault.getFaultLabel()); - } - if (StringUtils.isNotEmpty(sysCarFault.getFaultBit())){ - queryWrapper.eq(SysCarFault::getFaultBit, sysCarFault.getFaultBit()); - } - if (StringUtils.isNotEmpty(sysCarFault.getFaultValue())){ - queryWrapper.eq(SysCarFault::getFaultValue, sysCarFault.getFaultValue()); - } - if (StringUtils.isNotEmpty(sysCarFault.getFaultWarn())){ - queryWrapper.eq(SysCarFault::getFaultWarn, sysCarFault.getFaultWarn()); - } - if (StringUtils.isNotEmpty(sysCarFault.getWarnStatus())){ - queryWrapper.eq(SysCarFault::getWarnStatus, sysCarFault.getWarnStatus()); - } - if (StringUtils.isNotEmpty(sysCarFault.getFaultDesc())){ - queryWrapper.eq(SysCarFault::getFaultDesc, sysCarFault.getFaultDesc()); - } - if (StringUtils.isNotEmpty(sysCarFault.getState())){ - queryWrapper.eq(SysCarFault::getState, sysCarFault.getState()); - } - return this.list(queryWrapper); - } - - /** - * 唯一 判断 - * @param sysCarFault 车辆故障 - * @return 车辆故障 - */ - @Override - public Boolean checkIdUnique(SysCarFault sysCarFault) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(SysCarFault::getId, sysCarFault.getId()); - return this.count(queryWrapper) > 0; - } - - -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/faultDetectionStrategy/FuelVehicleCarFaultDetectionStrategy.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/faultDetectionStrategy/FuelVehicleCarFaultDetectionStrategy.java deleted file mode 100644 index fcac7ac..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/faultDetectionStrategy/FuelVehicleCarFaultDetectionStrategy.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.muyu.fault.service.impl.faultDetectionStrategy; - -import org.springframework.stereotype.Service; - -/** - * @className: CarFaultRule ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 22:06 ⏰ - * @Version: 1.0 - * @description: - */ - - -/** - * 针对燃油车的故障检测逻辑 - */ -@Service(value = "FuelVehicleCar") -public class FuelVehicleCarFaultDetectionStrategy { -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/faultDetectionStrategy/PureElectricCarFaultDetectionStrategy.java b/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/faultDetectionStrategy/PureElectricCarFaultDetectionStrategy.java deleted file mode 100644 index 6321250..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/faultDetectionStrategy/PureElectricCarFaultDetectionStrategy.java +++ /dev/null @@ -1,199 +0,0 @@ -package com.muyu.fault.service.impl.faultDetectionStrategy; - - -import com.muyu.fault.domain.CarFaultRule; -import com.muyu.fault.domain.FaultReport; -import com.muyu.fault.service.FaultDetectionStrategy; -import org.springframework.stereotype.Service; - -/** - * @className: CarFaultRule ️✈️ - * @author: Yang 鹏 🦅 - * @date: 2024/9/23 22:06 ⏰ - * @Version: 1.0 - * @description: - */ - -/** - * 针对纯电车的故障检测逻辑 - */ -@Service(value = "PureElectricCar") -public class PureElectricCarFaultDetectionStrategy implements FaultDetectionStrategy { - - - - @Override - public FaultReport detectFaults(CarFaultRule carFaultRule) { - - - //检测车速是否处于正常范围 - if (carFaultRule.getSpeed()>200 || carFaultRule.getSpeed()<0){ - return new FaultReport("纯电车","车速不在正常范围内,请注意"); - } - //检测总里程数是否超过正常数 - if (carFaultRule.getTM()>5000000){ - return new FaultReport("纯电车","总里程数已超标,请注意"); - } - //检测总电压是否正常 - if (carFaultRule.getTV()>650){ - return new FaultReport("纯电车","总电压过高,请注意"); - } - //检测电流是否超标 - if (carFaultRule.getCC()>50){ - return new FaultReport("纯电车","电流过高,请注意"); - } - //检测绝缘电阻 - if (carFaultRule.getIR()>100000){ - return new FaultReport("纯电车","绝缘电阻过高,请注意"); - } -// //检测加速踏板行程值 -// if (carFaultRule.getAPTV()){ -// -// } -// //检测制动踏板行程值 -// if (carFaultRule.getBPTV()){ -// -// } -// //检测燃料消耗率 -// if (carFaultRule.getSFC()){ -// -// } -// //检测电机控制器温度 -// if (carFaultRule.getMCT()){ -// -// } -// //检测电机转速 -// if (carFaultRule.getMS()){ -// -// } -// //检测电机转矩 -// if (carFaultRule.getMTO()){ -// -// } -// //检测电机温度 -// if (carFaultRule.getMTE()){ -// -// } -// //检测电机电压 -// if (carFaultRule.getMV()){ -// -// } -// //检测电机电流 -// if (carFaultRule.getMC()){ -// -// } -// //检测动力电池剩余电量SOC -// if (carFaultRule.getPBRSOC()){ -// -// } -// //检测当前状态允许的最大反馈功率 -// if (carFaultRule.getMACSFP()){ -// -// } -// //检测当前状态允许最大放电功率 -// if (carFaultRule.getCSATMDP()) { -// -// } -// //检测BMS自检计数器 -// if (carFaultRule.getBMS()) { -// -// } -// //检测动力电池充放电电流 -// if (carFaultRule.getCADC()) { -// -// } -// //检测动力电池负载端总电压V3 -// if (carFaultRule.getPBLETVV3()) { -// -// } -// //检测单次最大电压 -// if (carFaultRule.getSMV()) { -// -// } -// //检测单体电池最低电压 -// if (carFaultRule.getMVOAB()) { -// -// } -// //检测单体电池最高温度 -// if (carFaultRule.getMAXBT()) { -// -// } -// //检测单体电池最低温度 -// if (carFaultRule.getMINBT()) { -// -// } -// //检测动力电池可用容量 -// if (carFaultRule.getPBAC()) { -// -// } -// //检测车辆状态 -// if (carFaultRule.getVS()) { -// -// } -// //检测充电状态 -// if (carFaultRule.getCS()) { -// -// } -// //检测运行状态 -// if (carFaultRule.getRS()) { -// -// } -// //检测SOC -// if (carFaultRule.getSOC()) { -// -// } -// //检测可充电储能装置工作状态 -// if (carFaultRule.getRESDWC()) { -// -// } -// //检测驱动电机状态 -// if (carFaultRule.getEAS()) { -// -// } -// //检测定位是否有效 -// if (carFaultRule.getPTC()) { -// -// } -// //检测EAS -// if (carFaultRule.getEPS()) { -// -// } -// //检测PTC -// if (carFaultRule.getABS()) { -// -// } -// //检测EPS -// if (carFaultRule.getMCU()) { -// -// } -// //检测ABS -// if (carFaultRule.getPBHS()) { -// -// } -// //检测MCU -// if (carFaultRule.getPBCS()) { -// -// } -// //检测动力电池加热状态 -// if (carFaultRule.getPBIS()) { -// -// } -// //检测动力电池当前状态 -// if (carFaultRule.getDCDC()) { -// -// } -// //检测动力电池保温状态 -// if (carFaultRule.getCHG()) { -// -// } -// //检测DCDC -// if (carFaultRule.getCHB()) { -// -// } -// //检测CHG -// if (carFaultRule.getCUB()) { -// -// } - return null; - } -} diff --git a/cloud-gateway/cloud-modules-fault/src/main/resources/mapper/faultcode/FaultCodeMapper.xml b/cloud-gateway/cloud-modules-fault/src/main/resources/mapper/faultcode/FaultCodeMapper.xml deleted file mode 100644 index cf47a98..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/resources/mapper/faultcode/FaultCodeMapper.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - - - - - - - - - SELECT - car_faultcode.faultcode_id, - car_faultcode.message_type_id, - car_fault_label.message_type_code, - car_faultcode.faultcode_number, - car_faultcode.fault_group, - car_faultcode.fault_bit, - car_faultcode.fault_value, - car_fault_label.message_type_name, - car_faultcode.is_warning - FROM - car_faultcode - LEFT JOIN car_fault_label ON car_faultcode.message_type_id = car_fault_label.message_type_id - - - - - - - - - - - - INSERT INTO `eight`.`car_fault_label` - (`message_type_id`, `message_type_code`, `message_type_name`, `message_type_belongs`) VALUES - (0, #{messageTypeCode}, #{messageTypeName}, '车辆基础'); - - - INSERT INTO `eight`.`car_faultcode` - (`faultcode_id`, `message_type_id`, `faultcode_number`, `fault_group`, `fault_bit`, `fault_value`, `is_warning`) VALUES - (0, #{messageTypeId}, #{faultcodeNumber}, #{faultGroup}, #{faultBit}, #{faultValue}, #{isWarning}); - - - - - - - UPDATE `eight`.`car_fault_label` - SET `message_type_code` = #{messageTypeCode}, - `message_type_name` = #{messageTypeName}, - `message_type_belongs` =#{messageTypeBelongs} - WHERE `message_type_id` = #{messageTypeId}; - - - UPDATE `eight`.`car_faultcode` - SET `message_type_id` = #{messageTypeId}, - `faultcode_number` = #{faultcodeNumber}, - `fault_group` = #{faultGroup}, - `fault_bit` = #{faultBit}, - `fault_value` = #{faultValue}, - `is_warning` = #{isWarning} - WHERE `faultcode_id` = #{faultcodeId}; - - - - - - delete from car_faultcode where message_type_id=#{messageTypeId} - - - delete from car_fault_label where message_type_id=#{messageTypeId} - - diff --git a/cloud-gateway/cloud-modules-fault/src/main/resources/mapper/faultcode/FaultConditionMapper.xml b/cloud-gateway/cloud-modules-fault/src/main/resources/mapper/faultcode/FaultConditionMapper.xml deleted file mode 100644 index 6ae69b4..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/resources/mapper/faultcode/FaultConditionMapper.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - SELECT - car_fault_condition.*, - car_type.car_type_name, - car_fault_label.message_type_name, - car_fault_label.message_type_code - FROM - car_fault_condition - LEFT JOIN car_type ON car_fault_condition.car_type_id = car_type.car_type_id - LEFT JOIN car_fault_label ON car_fault_condition.message_type_id = car_fault_label.message_type_id - - - - - - - - - diff --git a/cloud-gateway/cloud-modules-fault/src/main/resources/mapper/faultcode/FaultLogMapper.xml b/cloud-gateway/cloud-modules-fault/src/main/resources/mapper/faultcode/FaultLogMapper.xml deleted file mode 100644 index 62e8af8..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/resources/mapper/faultcode/FaultLogMapper.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - SELECT - car_fault_log.*, - car_faultcode.faultcode_number, - car_information.car_information_VIN - FROM - car_fault_log - LEFT JOIN car_faultcode ON car_fault_log.faultcode_id = car_faultcode.faultcode_id - LEFT JOIN car_information ON car_fault_log.car_information_id = car_information.car_information_id - - - - - diff --git a/cloud-gateway/cloud-modules-fault/src/main/resources/mapper/faultcode/MessageMapper.xml b/cloud-gateway/cloud-modules-fault/src/main/resources/mapper/faultcode/MessageMapper.xml deleted file mode 100644 index a635225..0000000 --- a/cloud-gateway/cloud-modules-fault/src/main/resources/mapper/faultcode/MessageMapper.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - update car_fault_message set status=1 where id=#{id} - - - 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 new file mode 100644 index 0000000..33d89e6 --- /dev/null +++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/pom.xml @@ -0,0 +1,39 @@ + + + 4.0.0 + + com.muyu + cloud-modules-data-process + 3.6.3 + + + cloud-modules-data-process-common + + + cloud-modules-data-process-common 数据处理公共模块 + + + + 17 + 17 + UTF-8 + + + + + com.muyu + cloud-common-core + + + org.apache.iotdb + iotdb-session + + + io.swagger.core.v3 + swagger-annotations-jakarta + + + + 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 new file mode 100644 index 0000000..a4ead9b --- /dev/null +++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventHandler.java @@ -0,0 +1,25 @@ +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/EventProcessBasics.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventProcessBasics.java new file mode 100644 index 0000000..48a154a --- /dev/null +++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/EventProcessBasics.java @@ -0,0 +1,32 @@ +package com.muyu.data.basics; + +import org.springframework.context.ApplicationEvent; + +/** + * @Author WangXin + * @Data 2024/9/29 + * @Description 事件处理基础类 + * @Version 1.0.0 + */ +public abstract class EventProcessBasics { + + /** + * 下一个事件对象 + */ + protected EventProcessBasics nextEvent; + + /** + * 下一个事件 + * @param nextHandler 下一个事件处理 + */ + public void setNextHandler(EventProcessBasics nextHandler) { + this.nextEvent = nextHandler; + } + + /** + * 事件处理抽象类 + * @param eventKey 事件唯一key + */ + public abstract void handleEvent(String eventKey); + +} 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..9328177 --- /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,35 @@ +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/basics/StartEvent.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/StartEvent.java new file mode 100644 index 0000000..904c0e4 --- /dev/null +++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/basics/StartEvent.java @@ -0,0 +1,26 @@ +package com.muyu.data.basics; + +import com.muyu.data.domain.EventActuate; +import org.springframework.context.ApplicationEvent; + +import java.util.List; + +/** + * @Author WangXin + * @Data 2024/9/29 + * @Description 事件启动类 + * @Version 1.0.0 + */ +public class StartEvent extends ApplicationEvent { + + private EventActuate eventActuate; + + public StartEvent(EventActuate source) { + super(source); + this.eventActuate = source; + } + + public EventActuate getEventActuate() { + return eventActuate; + } +} diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/constant/EventConstant.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/constant/EventConstant.java new file mode 100644 index 0000000..dde0689 --- /dev/null +++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/constant/EventConstant.java @@ -0,0 +1,12 @@ +package com.muyu.data.constant; + +/** + * @Author WangXin + * @Data 2024/9/29 + * @Description 事件常量 + * @Version 1.0.0 + */ +public interface EventConstant { + + String STORAGE_EVENT = "storageEvent"; +} 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 new file mode 100644 index 0000000..d989468 --- /dev/null +++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/domain/DataJSON.java @@ -0,0 +1,33 @@ +package com.muyu.data.domain; + +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; +import lombok.experimental.SuperBuilder; + +/** + * @Author WangXin + * @Data 2024/9/30 + * @Description JSON数据对象 + * @Version 1.0.0 + */ +@Data +@SuperBuilder +@AllArgsConstructor +@NoArgsConstructor +@Tag(name = "ionDB数据源对象") +public class DataJSON { + /** + * 时间戳 + */ + @Schema(name = "时间戳") + private Long timestamp; + + /** + * 车辆JSON数据 + */ + @Schema(name = "车辆JSON数据") + private String 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 new file mode 100644 index 0000000..dad7197 --- /dev/null +++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/domain/EventActuate.java @@ -0,0 +1,29 @@ +package com.muyu.data.domain; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.List; + +/** + * @Author WangXin + * @Data 2024/9/29 + * @Description 事件驱动对象 + * @Version 1.0.0 + */ +@Data +@SuperBuilder +@AllArgsConstructor +@NoArgsConstructor +public class EventActuate { + /** + * json数据 + */ + private String jsonData; + /** + * 事件驱动key集合 + */ + private List eventKeys; +} 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 new file mode 100644 index 0000000..5be3090 --- /dev/null +++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/AutoStartupEventListener.java @@ -0,0 +1,23 @@ +package com.muyu.data.event; + +import com.muyu.data.basics.StartEvent; +import org.springframework.context.ApplicationListener; +import org.springframework.stereotype.Component; + +/** + * @Author WangXin + * @Data 2024/9/29 + * @Description 自启动事件监听器 + * @Version 1.0.0 + */ +@Component +public class AutoStartupEventListener implements ApplicationListener { + + @Override + public void onApplicationEvent(StartEvent event) { + + + + } + +} diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/StorageEvent.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/StorageEvent.java new file mode 100644 index 0000000..8df4e24 --- /dev/null +++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/java/com/muyu/data/event/StorageEvent.java @@ -0,0 +1,37 @@ +package com.muyu.data.event; + +import com.muyu.data.basics.EventProcessBasics; +import com.muyu.data.constant.EventConstant; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.extern.log4j.Log4j2; + +/** + * @Author WangXin + * @Data 2024/9/29 + * @Description 存储事件 + * @Version 1.0.0 + */ +@EqualsAndHashCode(callSuper = true) +@Log4j2 +@Data +@AllArgsConstructor +public class StorageEvent extends EventProcessBasics { + /** + * 事件名称 + */ + private String eventName; + + @Override + public void handleEvent(String eventKey) { + if (eventKey.equals(eventName)){ + log.info("开始执行 [{}] 事件", eventKey); + + }else if (nextEvent != null){ + nextEvent.handleEvent(eventKey); + }else { + log.info("处理结束,最后处理的事件为 [{}]", eventKey); + } + } +} diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..cc3e2eb --- /dev/null +++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-common/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +com.muyu.data.iotdb.config.IotDBSessionConfig diff --git a/cloud-gateway/cloud-modules-fault/pom.xml b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/pom.xml similarity index 94% rename from cloud-gateway/cloud-modules-fault/pom.xml rename to cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/pom.xml index a2c8c47..f9c8263 100644 --- a/cloud-gateway/cloud-modules-fault/pom.xml +++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/pom.xml @@ -5,23 +5,23 @@ 4.0.0 com.muyu - cloud-modules + cloud-modules-data-process 3.6.3 - cloud-modules-fault + cloud-modules-data-process-server 17 17 UTF-8 + - cloud-modules-fault故障模块 + cloud-modules-data-process-server 数据处理服务模块 - com.alibaba.cloud @@ -102,4 +102,3 @@ - diff --git a/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/DataProcessApplication.java b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/DataProcessApplication.java new file mode 100644 index 0000000..adf6b3e --- /dev/null +++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/java/com/muyu/data/DataProcessApplication.java @@ -0,0 +1,14 @@ +package com.muyu.data; + +import com.muyu.common.security.annotation.EnableCustomConfig; +import com.muyu.common.security.annotation.EnableMyFeignClients; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@EnableCustomConfig +@EnableMyFeignClients +@SpringBootApplication +public class DataProcessApplication { + public static void main(String[] args) { + System.out.println("Hello world!"); + } +} diff --git a/cloud-modules/cloud-modules-vehicleGateway/src/main/resources/banner.txt b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/resources/banner.txt similarity index 100% rename from cloud-modules/cloud-modules-vehicleGateway/src/main/resources/banner.txt rename to cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/resources/banner.txt diff --git a/cloud-gateway/cloud-modules-fault/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/resources/bootstrap.yml similarity index 78% rename from cloud-gateway/cloud-modules-fault/src/main/resources/bootstrap.yml rename to cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/resources/bootstrap.yml index 1dc47cd..9b71527 100644 --- a/cloud-gateway/cloud-modules-fault/src/main/resources/bootstrap.yml +++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/resources/bootstrap.yml @@ -1,19 +1,25 @@ # Tomcat server: - port: 9434 + port: 9701 # nacos线上地址 nacos: - addr: 123.57.152.124:8848 + addr: 127.0.0.1:8848 user-name: nacos password: nacos - namespace: five - + namespace: wx +# SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all # Spring spring: + amqp: + deserialization: + trust: + all: true + main: + allow-bean-definition-overriding: true application: # 应用名称 - name: cloud-fault + name: cloud-modules-data-process-server profiles: # 环境配置 active: dev @@ -47,3 +53,7 @@ spring: - application-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} # xxl-job 配置文件 - application-xxl-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + +logging: + level: + com.muyu.system.mapper: DEBUG diff --git a/cloud-gateway/cloud-modules-fault/src/main/resources/logback/dev.xml b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/resources/logback/dev.xml similarity index 97% rename from cloud-gateway/cloud-modules-fault/src/main/resources/logback/dev.xml rename to cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/resources/logback/dev.xml index f350dd2..33ea79e 100644 --- a/cloud-gateway/cloud-modules-fault/src/main/resources/logback/dev.xml +++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/resources/logback/dev.xml @@ -1,7 +1,7 @@ - + diff --git a/cloud-gateway/cloud-modules-fault/src/main/resources/logback/prod.xml b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/resources/logback/prod.xml similarity index 97% rename from cloud-gateway/cloud-modules-fault/src/main/resources/logback/prod.xml rename to cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/resources/logback/prod.xml index f523344..b4199b0 100644 --- a/cloud-gateway/cloud-modules-fault/src/main/resources/logback/prod.xml +++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/resources/logback/prod.xml @@ -1,7 +1,7 @@ - + diff --git a/cloud-gateway/cloud-modules-fault/src/main/resources/logback/test.xml b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/resources/logback/test.xml similarity index 97% rename from cloud-gateway/cloud-modules-fault/src/main/resources/logback/test.xml rename to cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/resources/logback/test.xml index f523344..b4199b0 100644 --- a/cloud-gateway/cloud-modules-fault/src/main/resources/logback/test.xml +++ b/cloud-modules/cloud-modules-data-process/cloud-modules-data-process-server/src/main/resources/logback/test.xml @@ -1,7 +1,7 @@ - + diff --git a/cloud-modules/cloud-modules-data-process/pom.xml b/cloud-modules/cloud-modules-data-process/pom.xml new file mode 100644 index 0000000..f41615f --- /dev/null +++ b/cloud-modules/cloud-modules-data-process/pom.xml @@ -0,0 +1,29 @@ + + + 4.0.0 + + com.muyu + cloud-modules + 3.6.3 + + + cloud-modules-data-process + pom + + + cloud-modules-data-process数据处理模块 + + + cloud-modules-data-process-server + cloud-modules-data-process-common + + + + 17 + 17 + UTF-8 + + + diff --git a/cloud-modules/cloud-modules-vehicleGateway/pom.xml b/cloud-modules/cloud-modules-vehicle-gateway/pom.xml similarity index 97% rename from cloud-modules/cloud-modules-vehicleGateway/pom.xml rename to cloud-modules/cloud-modules-vehicle-gateway/pom.xml index 23c665e..595e845 100644 --- a/cloud-modules/cloud-modules-vehicleGateway/pom.xml +++ b/cloud-modules/cloud-modules-vehicle-gateway/pom.xml @@ -9,10 +9,10 @@ 3.6.3 - cloud-modules-vehicleGateway + cloud-modules-vehicle-gateway - cloud-modules-vehicleGateway车辆网关模块 + cloud-modules-vehicleGateway 车辆网关模块 diff --git a/cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/CloudVehicleGatewayApplication.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/CloudVehicleGatewayApplication.java similarity index 100% rename from cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/CloudVehicleGatewayApplication.java rename to cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/CloudVehicleGatewayApplication.java diff --git a/cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/ClearInstance.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/ClearInstance.java similarity index 100% rename from cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/ClearInstance.java rename to cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/ClearInstance.java diff --git a/cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/CreateInstance.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/CreateInstance.java similarity index 100% rename from cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/CreateInstance.java rename to cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/CreateInstance.java diff --git a/cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/MqttPublishSample.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/MqttPublishSample.java similarity index 100% rename from cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/MqttPublishSample.java rename to cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/MqttPublishSample.java diff --git a/cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/vehicle/VehicleInstance.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/vehicle/VehicleInstance.java similarity index 100% rename from cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/vehicle/VehicleInstance.java rename to cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/vehicle/VehicleInstance.java diff --git a/cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/vehicle/model/VehicleData.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/vehicle/model/VehicleData.java similarity index 100% rename from cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/vehicle/model/VehicleData.java rename to cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/vehicle/model/VehicleData.java diff --git a/cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/vehicle/thread/VehicleThread.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/vehicle/thread/VehicleThread.java similarity index 100% rename from cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/vehicle/thread/VehicleThread.java rename to cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/vehicle/thread/VehicleThread.java diff --git a/cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/web/domain/VehicleInfo.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/web/domain/VehicleInfo.java similarity index 100% rename from cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/web/domain/VehicleInfo.java rename to cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/web/domain/VehicleInfo.java diff --git a/cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/web/domain/model/PositionModel.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/web/domain/model/PositionModel.java similarity index 100% rename from cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/web/domain/model/PositionModel.java rename to cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/web/domain/model/PositionModel.java diff --git a/cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/web/mapper/VehicleInfoMapper.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/web/mapper/VehicleInfoMapper.java similarity index 100% rename from cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/web/mapper/VehicleInfoMapper.java rename to cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/web/mapper/VehicleInfoMapper.java diff --git a/cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/web/service/impl/VechileInfoServiceImpl.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/web/service/impl/VechileInfoServiceImpl.java similarity index 100% rename from cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/web/service/impl/VechileInfoServiceImpl.java rename to cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/web/service/impl/VechileInfoServiceImpl.java diff --git a/cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/web/util/VehicleUtils.java b/cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/web/util/VehicleUtils.java similarity index 100% rename from cloud-modules/cloud-modules-vehicleGateway/src/main/java/com/muyu/vehicleGateway/web/util/VehicleUtils.java rename to cloud-modules/cloud-modules-vehicle-gateway/src/main/java/com/muyu/vehicleGateway/web/util/VehicleUtils.java diff --git a/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/banner.txt b/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/banner.txt new file mode 100644 index 0000000..0dd5eee --- /dev/null +++ b/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/banner.txt @@ -0,0 +1,2 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} diff --git a/cloud-modules/cloud-modules-vehicleGateway/src/main/resources/bootstrap.yml b/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/bootstrap.yml similarity index 100% rename from cloud-modules/cloud-modules-vehicleGateway/src/main/resources/bootstrap.yml rename to cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/bootstrap.yml diff --git a/cloud-modules/cloud-modules-vehicleGateway/src/main/resources/logback/dev.xml b/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/logback/dev.xml similarity index 100% rename from cloud-modules/cloud-modules-vehicleGateway/src/main/resources/logback/dev.xml rename to cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/logback/dev.xml diff --git a/cloud-modules/cloud-modules-vehicleGateway/src/main/resources/logback/prod.xml b/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/logback/prod.xml similarity index 100% rename from cloud-modules/cloud-modules-vehicleGateway/src/main/resources/logback/prod.xml rename to cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/logback/prod.xml diff --git a/cloud-modules/cloud-modules-vehicleGateway/src/main/resources/logback/test.xml b/cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/logback/test.xml similarity index 100% rename from cloud-modules/cloud-modules-vehicleGateway/src/main/resources/logback/test.xml rename to cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/logback/test.xml diff --git a/cloud-modules/pom.xml b/cloud-modules/pom.xml index b980cac..6447452 100644 --- a/cloud-modules/pom.xml +++ b/cloud-modules/pom.xml @@ -15,6 +15,8 @@ cloud-vx cloud-modules-parse cloud-modules-enterprise + cloud-modules-vehicle-gateway + cloud-modules-data-process cloud-modules diff --git a/pom.xml b/pom.xml index c16ac93..e2515e1 100644 --- a/pom.xml +++ b/pom.xml @@ -46,6 +46,7 @@ 1.3.1 2.2.8 2.9.3 + 1.2.5 @@ -294,6 +295,18 @@ org.eclipse.paho.client.mqttv3 ${mqtt.version} + + + org.apache.iotdb + iotdb-session + ${iotdb.version} + + + + com.github.ben-manes.caffeine + caffeine + ${caffeine.version} + @@ -319,6 +332,7 @@ org.apache.maven.plugins maven-compiler-plugin + 3.13.0 ${java.version} ${java.version}