From 9127574316cedb421e403f5f206ea0ff3cb7193a Mon Sep 17 00:00:00 2001 From: zhouwentao <1577701412@qq.com> Date: Fri, 8 Sep 2023 11:16:42 +0800 Subject: [PATCH] updates --- .gitignore | 27 +++++++++++ pom.xml | 6 +-- readme.md | 13 +++++- .../KafkaApplication.java | 2 +- .../common/api/vo/Result.java | 4 +- .../common/constant/CommonConstant.java | 2 +- .../config/SwaggerConfig.java | 2 +- .../controller/KafkaController.java | 45 ++++++++++++------- .../dto/GuangZhaoChuanGanQiDTO.java | 2 +- .../dto/HuanJingJianCeDTO.java | 2 +- .../dto/KafkaConsumerDTO.java | 4 +- .../dto/KongQiZhiLiangChuanGanQiDTO.java | 2 +- .../service/ProducerService.java | 2 +- .../service/impl/ProducerServiceImpl.java | 4 +- .../util => zxweb/utils}/FastJsonUtils.java | 2 +- .../util => zxweb/utils}/Kafka.java | 0 .../util => zxweb/utils}/KafkaUtil.java | 21 ++++++--- src/main/resources/application.yml | 2 +- 18 files changed, 99 insertions(+), 43 deletions(-) create mode 100644 .gitignore rename src/main/java/com/example/{demokafka => zxweb}/KafkaApplication.java (90%) rename src/main/java/com/example/{demokafka => zxweb}/common/api/vo/Result.java (97%) rename src/main/java/com/example/{demokafka => zxweb}/common/constant/CommonConstant.java (87%) rename src/main/java/com/example/{demokafka => zxweb}/config/SwaggerConfig.java (97%) rename src/main/java/com/example/{demokafka => zxweb}/controller/KafkaController.java (85%) rename src/main/java/com/example/{demokafka => zxweb}/dto/GuangZhaoChuanGanQiDTO.java (94%) rename src/main/java/com/example/{demokafka => zxweb}/dto/HuanJingJianCeDTO.java (96%) rename src/main/java/com/example/{demokafka => zxweb}/dto/KafkaConsumerDTO.java (95%) rename src/main/java/com/example/{demokafka => zxweb}/dto/KongQiZhiLiangChuanGanQiDTO.java (97%) rename src/main/java/com/example/{demokafka => zxweb}/service/ProducerService.java (97%) rename src/main/java/com/example/{demokafka => zxweb}/service/impl/ProducerServiceImpl.java (98%) rename src/main/java/com/example/{demokafka/util => zxweb/utils}/FastJsonUtils.java (97%) rename src/main/java/com/example/{demokafka/util => zxweb/utils}/Kafka.java (100%) rename src/main/java/com/example/{demokafka/util => zxweb/utils}/KafkaUtil.java (78%) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5d412b4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,27 @@ +# Maven # +target/ + +#log# +logs/ + +# IDEA # +.idea/ +*.iml + +# Eclipse # +.settings/ +.metadata/ +.classpath +.project +Servers/ +*.class + +# Mac # +.DS_Store +/.factorypath +/.checkstyle +/.scannerwork +/sonar-project.properties +bin/ + +/log4j.log diff --git a/pom.xml b/pom.xml index 2412329..077b0de 100644 --- a/pom.xml +++ b/pom.xml @@ -9,9 +9,9 @@ com.example - demo-kafka - 0.0.1-SNAPSHOT - demo-kafka + zx-java + 0.0.1 + zx-java Demo project for Spring Boot 1.8 diff --git a/readme.md b/readme.md index 464a85a..c3bf20a 100644 --- a/readme.md +++ b/readme.md @@ -1,3 +1,5 @@ +#### 中青智造&中兴通讯-中国电信项目 Java服务 + ###配置 #### AppCode: 42142fd0jkbf4515853b7fcec64748f6 #### X-Consumer-Username: dwVendor @@ -9,4 +11,13 @@ #### IP: 10.0.10.153 #### user: root #### pwd: qwer1234 -# \ No newline at end of file +# + + + +### Kafka 消息间隔 +####1、温湿度突变上报(温度超过2°, 湿度超过10%会上报) +####2、无变化数据上报是30min上报一次, +####3、电量是2H上报一次 +####4、光照度变化50lux上报一次 +####5、光照无变化的情况下30min上报一次 \ No newline at end of file diff --git a/src/main/java/com/example/demokafka/KafkaApplication.java b/src/main/java/com/example/zxweb/KafkaApplication.java similarity index 90% rename from src/main/java/com/example/demokafka/KafkaApplication.java rename to src/main/java/com/example/zxweb/KafkaApplication.java index 67760c2..fda12b2 100644 --- a/src/main/java/com/example/demokafka/KafkaApplication.java +++ b/src/main/java/com/example/zxweb/KafkaApplication.java @@ -1,4 +1,4 @@ -package com.example.demokafka; +package com.example.zxweb; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/src/main/java/com/example/demokafka/common/api/vo/Result.java b/src/main/java/com/example/zxweb/common/api/vo/Result.java similarity index 97% rename from src/main/java/com/example/demokafka/common/api/vo/Result.java rename to src/main/java/com/example/zxweb/common/api/vo/Result.java index 1965c16..4e117c1 100644 --- a/src/main/java/com/example/demokafka/common/api/vo/Result.java +++ b/src/main/java/com/example/zxweb/common/api/vo/Result.java @@ -1,6 +1,6 @@ -package com.example.demokafka.common.api.vo; +package com.example.zxweb.common.api.vo; -import com.example.demokafka.common.constant.CommonConstant; +import com.example.zxweb.common.constant.CommonConstant; import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/src/main/java/com/example/demokafka/common/constant/CommonConstant.java b/src/main/java/com/example/zxweb/common/constant/CommonConstant.java similarity index 87% rename from src/main/java/com/example/demokafka/common/constant/CommonConstant.java rename to src/main/java/com/example/zxweb/common/constant/CommonConstant.java index 4656264..fe20c0a 100644 --- a/src/main/java/com/example/demokafka/common/constant/CommonConstant.java +++ b/src/main/java/com/example/zxweb/common/constant/CommonConstant.java @@ -1,4 +1,4 @@ -package com.example.demokafka.common.constant; +package com.example.zxweb.common.constant; /** * @Description diff --git a/src/main/java/com/example/demokafka/config/SwaggerConfig.java b/src/main/java/com/example/zxweb/config/SwaggerConfig.java similarity index 97% rename from src/main/java/com/example/demokafka/config/SwaggerConfig.java rename to src/main/java/com/example/zxweb/config/SwaggerConfig.java index e8c34b2..00302ba 100644 --- a/src/main/java/com/example/demokafka/config/SwaggerConfig.java +++ b/src/main/java/com/example/zxweb/config/SwaggerConfig.java @@ -1,4 +1,4 @@ -package com.example.demokafka.config; +package com.example.zxweb.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/src/main/java/com/example/demokafka/controller/KafkaController.java b/src/main/java/com/example/zxweb/controller/KafkaController.java similarity index 85% rename from src/main/java/com/example/demokafka/controller/KafkaController.java rename to src/main/java/com/example/zxweb/controller/KafkaController.java index 64557ad..2033968 100644 --- a/src/main/java/com/example/demokafka/controller/KafkaController.java +++ b/src/main/java/com/example/zxweb/controller/KafkaController.java @@ -1,13 +1,13 @@ -package com.example.demokafka.controller; +package com.example.zxweb.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.example.demokafka.common.api.vo.Result; -import com.example.demokafka.dto.GuangZhaoChuanGanQiDTO; -import com.example.demokafka.dto.HuanJingJianCeDTO; -import com.example.demokafka.dto.KafkaConsumerDTO; -import com.example.demokafka.dto.KongQiZhiLiangChuanGanQiDTO; -import com.example.demokafka.util.KafkaUtil; +import com.example.zxweb.common.api.vo.Result; +import com.example.zxweb.dto.GuangZhaoChuanGanQiDTO; +import com.example.zxweb.dto.HuanJingJianCeDTO; +import com.example.zxweb.dto.KafkaConsumerDTO; +import com.example.zxweb.dto.KongQiZhiLiangChuanGanQiDTO; +import com.example.zxweb.utils.KafkaUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -15,11 +15,10 @@ import org.apache.kafka.clients.consumer.Consumer; import org.apache.kafka.clients.consumer.ConsumerRecord; import org.apache.kafka.clients.consumer.ConsumerRecords; import org.apache.kafka.clients.consumer.KafkaConsumer; +import org.apache.kafka.clients.producer.KafkaProducer; +import org.apache.kafka.clients.producer.ProducerRecord; import org.springframework.util.StringUtils; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.*; @@ -56,11 +55,7 @@ public class KafkaController { } } consumer.close(); - - - long newCreateTime =0L; - switch (topic) { case "guangzhaochuanganqi": { //光照传感器 @@ -154,4 +149,22 @@ public class KafkaController { } } -} + @PostMapping("/producer") + @ApiOperation(value = "producer") + public Result postProducerData(@RequestBody JSONObject requestBody){ + String topic = requestBody.getString("topic"); + String key = requestBody.getString("key"); + String value = requestBody.getString("value"); + // 创建 KafkaProducer + KafkaProducer producer = new KafkaProducer<>(kafkaUtil.getSafeProducerPro()); + + // 发送消息 + ProducerRecord record = new ProducerRecord<>(topic, key, value); + producer.send(record); + + // 关闭 KafkaProducer + producer.close(); + return Result.OK(); + } + +} \ No newline at end of file diff --git a/src/main/java/com/example/demokafka/dto/GuangZhaoChuanGanQiDTO.java b/src/main/java/com/example/zxweb/dto/GuangZhaoChuanGanQiDTO.java similarity index 94% rename from src/main/java/com/example/demokafka/dto/GuangZhaoChuanGanQiDTO.java rename to src/main/java/com/example/zxweb/dto/GuangZhaoChuanGanQiDTO.java index 8777aa1..be24e34 100644 --- a/src/main/java/com/example/demokafka/dto/GuangZhaoChuanGanQiDTO.java +++ b/src/main/java/com/example/zxweb/dto/GuangZhaoChuanGanQiDTO.java @@ -1,4 +1,4 @@ -package com.example.demokafka.dto; +package com.example.zxweb.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/src/main/java/com/example/demokafka/dto/HuanJingJianCeDTO.java b/src/main/java/com/example/zxweb/dto/HuanJingJianCeDTO.java similarity index 96% rename from src/main/java/com/example/demokafka/dto/HuanJingJianCeDTO.java rename to src/main/java/com/example/zxweb/dto/HuanJingJianCeDTO.java index 6337d1e..0d51387 100644 --- a/src/main/java/com/example/demokafka/dto/HuanJingJianCeDTO.java +++ b/src/main/java/com/example/zxweb/dto/HuanJingJianCeDTO.java @@ -1,4 +1,4 @@ -package com.example.demokafka.dto; +package com.example.zxweb.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/src/main/java/com/example/demokafka/dto/KafkaConsumerDTO.java b/src/main/java/com/example/zxweb/dto/KafkaConsumerDTO.java similarity index 95% rename from src/main/java/com/example/demokafka/dto/KafkaConsumerDTO.java rename to src/main/java/com/example/zxweb/dto/KafkaConsumerDTO.java index 2209422..bad68e3 100644 --- a/src/main/java/com/example/demokafka/dto/KafkaConsumerDTO.java +++ b/src/main/java/com/example/zxweb/dto/KafkaConsumerDTO.java @@ -1,11 +1,9 @@ -package com.example.demokafka.dto; +package com.example.zxweb.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.io.Serializable; - /** * @Description kafka返回数据 * @Author ZhouWenTao diff --git a/src/main/java/com/example/demokafka/dto/KongQiZhiLiangChuanGanQiDTO.java b/src/main/java/com/example/zxweb/dto/KongQiZhiLiangChuanGanQiDTO.java similarity index 97% rename from src/main/java/com/example/demokafka/dto/KongQiZhiLiangChuanGanQiDTO.java rename to src/main/java/com/example/zxweb/dto/KongQiZhiLiangChuanGanQiDTO.java index c125631..67fea00 100644 --- a/src/main/java/com/example/demokafka/dto/KongQiZhiLiangChuanGanQiDTO.java +++ b/src/main/java/com/example/zxweb/dto/KongQiZhiLiangChuanGanQiDTO.java @@ -1,4 +1,4 @@ -package com.example.demokafka.dto; +package com.example.zxweb.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/src/main/java/com/example/demokafka/service/ProducerService.java b/src/main/java/com/example/zxweb/service/ProducerService.java similarity index 97% rename from src/main/java/com/example/demokafka/service/ProducerService.java rename to src/main/java/com/example/zxweb/service/ProducerService.java index dd56dd7..ca75aeb 100644 --- a/src/main/java/com/example/demokafka/service/ProducerService.java +++ b/src/main/java/com/example/zxweb/service/ProducerService.java @@ -1,4 +1,4 @@ -package com.example.demokafka.service; +package com.example.zxweb.service; import org.apache.kafka.clients.producer.ProducerRecord; import org.springframework.messaging.Message; diff --git a/src/main/java/com/example/demokafka/service/impl/ProducerServiceImpl.java b/src/main/java/com/example/zxweb/service/impl/ProducerServiceImpl.java similarity index 98% rename from src/main/java/com/example/demokafka/service/impl/ProducerServiceImpl.java rename to src/main/java/com/example/zxweb/service/impl/ProducerServiceImpl.java index 80a1f73..fe321d4 100644 --- a/src/main/java/com/example/demokafka/service/impl/ProducerServiceImpl.java +++ b/src/main/java/com/example/zxweb/service/impl/ProducerServiceImpl.java @@ -1,6 +1,6 @@ -package com.example.demokafka.service.impl; +package com.example.zxweb.service.impl; -import com.example.demokafka.service.ProducerService; +import com.example.zxweb.service.ProducerService; import lombok.RequiredArgsConstructor; import org.apache.kafka.clients.producer.ProducerRecord; import org.apache.kafka.clients.producer.RecordMetadata; diff --git a/src/main/java/com/example/demokafka/util/FastJsonUtils.java b/src/main/java/com/example/zxweb/utils/FastJsonUtils.java similarity index 97% rename from src/main/java/com/example/demokafka/util/FastJsonUtils.java rename to src/main/java/com/example/zxweb/utils/FastJsonUtils.java index 00f08af..b644785 100644 --- a/src/main/java/com/example/demokafka/util/FastJsonUtils.java +++ b/src/main/java/com/example/zxweb/utils/FastJsonUtils.java @@ -1,4 +1,4 @@ -package com.example.demokafka.util; +package com.example.zxweb.utils; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; diff --git a/src/main/java/com/example/demokafka/util/Kafka.java b/src/main/java/com/example/zxweb/utils/Kafka.java similarity index 100% rename from src/main/java/com/example/demokafka/util/Kafka.java rename to src/main/java/com/example/zxweb/utils/Kafka.java diff --git a/src/main/java/com/example/demokafka/util/KafkaUtil.java b/src/main/java/com/example/zxweb/utils/KafkaUtil.java similarity index 78% rename from src/main/java/com/example/demokafka/util/KafkaUtil.java rename to src/main/java/com/example/zxweb/utils/KafkaUtil.java index 2591ccb..18475b0 100644 --- a/src/main/java/com/example/demokafka/util/KafkaUtil.java +++ b/src/main/java/com/example/zxweb/utils/KafkaUtil.java @@ -1,4 +1,4 @@ -package com.example.demokafka.util; +package com.example.zxweb.utils; import org.apache.commons.lang.StringUtils; import org.apache.kafka.common.serialization.StringDeserializer; @@ -22,18 +22,25 @@ public class KafkaUtil { public String secret; public static String X_Consumer_Username = "dwVendor"; - public static Properties getSafeProducerPro() { + public Properties getSafeProducerPro() { Properties properties = new Properties(); properties.setProperty("bootstrap.servers", "10.0.10.153:29551,10.0.10.153:29552,10.0.10.153:29553"); properties.setProperty("acks", "all"); properties.setProperty("key.serializer", "org.apache.kafka.common.serialization.StringSerializer"); properties.setProperty("value.serializer", "org.apache.kafka.common.serialization.StringSerializer"); + if (StringUtils.isNotBlank(appCode)) { + System.out.println("使用鉴权"); + properties.setProperty("bootstrap.servers", "10.0.10.153:29553,10.0.10.153:29554"); + properties.setProperty("sasl.jaas.config", "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"dwVendor\" password=\"fEVcb^QFB;IN$K5\";"); + properties.setProperty("sasl.mechanism", "SCRAM-SHA-512"); + properties.setProperty("security.protocol", "SASL_SSL"); + properties.setProperty("ssl.truststore.location", trustestore); + properties.setProperty("ssl.truststore.password", "pwd123"); + }else{ + properties.setProperty("bootstrap.servers", "10.0.10.153:29551,10.0.10.153:29552"); + } //properties.setProperty("sasl.jaas.config", String.format("org.apache.kafka.common.security.scram.ScramLoginModule required username=\"%s\" password=\"%s\";",appCode,secret)); //properties.setProperty("sasl.jaas.config", "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"e92224\" password=\"323236g6#\";"); - properties.setProperty("sasl.mechanism", "SCRAM-SHA-512"); - properties.setProperty("security.protocol", "SASL_SSL"); - properties.setProperty("ssl.truststore.location", trustestore); - properties.setProperty("ssl.truststore.password", "pwd123"); properties.setProperty("buffer.memory", "33554432"); properties.setProperty("retries", "0"); properties.setProperty("ssl.endpoint.identification.algorithm", ""); @@ -53,7 +60,7 @@ public class KafkaUtil { properties.setProperty("sasl.jaas.config", "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"dwVendor\" password=\"fEVcb^QFB;IN$K5\";"); properties.setProperty("sasl.mechanism", "SCRAM-SHA-512"); properties.setProperty("security.protocol", "SASL_SSL"); - properties.setProperty("ssl.truststore.location", "/opt/kafka/client.trustestore.p12"); + properties.setProperty("ssl.truststore.location", trustestore); properties.setProperty("ssl.truststore.password", "pwd123"); }else{ properties.setProperty("bootstrap.servers", "10.0.10.153:29551,10.0.10.153:29552"); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index ee816be..408d6c4 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -24,4 +24,4 @@ spring: key: dwVendor secret: fEVcb^QFB;IN$K5 -appCode: 42142fd0jkbf4515853b7fcec64748f6 +appCode: 42142fd0jkbf4515853b7fcec64748f6 \ No newline at end of file