From 9934bdd6043c55155fea761d0dd687c443849b4b Mon Sep 17 00:00:00 2001
From: jiazx0107@163.com <jiazx0107@163.com>
Date: 星期二, 31 十月 2023 17:53:57 +0800
Subject: [PATCH] 四川省网关接口相关13
---
src/main/java/com/fzzy/gateway/hx2023/service/HxGatewaySyncGrainImpl.java | 4
src/main/java/com/fzzy/conf/KafkaConfig.java | 82 +++++++
src/main/java/com/fzzy/gateway/api/DeviceReportService.java | 4
src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java | 127 +++++++----
src/main/resources/logback-spring.xml | 52 ++++
src/main/java/com/fzzy/gateway/api/GatewaySyncGranService.java | 4
src/main/java/com/fzzy/gateway/hx2023/data/KafkaGrainTH.java | 24 ++
pom.xml | 2
/dev/null | 57 -----
src/main/java/com/fzzy/gateway/hx2023/data/KafkaGrainDataDetail.java | 58 +++++
src/main/resources/application-devGateway.yml | 75 ++++++
src/main/java/com/fzzy/gateway/hx2023/data/KafaGrainData.java | 20
src/main/java/com/fzzy/gateway/hx2023/kafka/KafkaDeviceReport.java | 4
src/main/resources/application-proGateway.yml | 81 +++++++
src/main/java/com/fzzy/gateway/hx2023/data/TRHInfo.java | 15 +
src/main/resources/application-dev.yml | 22 -
src/main/java/com/fzzy/gateway/hx2023/service/DeviceReportServiceImpl.java | 4
src/main/resources/application.yml | 2
18 files changed, 501 insertions(+), 136 deletions(-)
diff --git a/pom.xml b/pom.xml
index d5e0c5b..f07fe00 100644
--- a/pom.xml
+++ b/pom.xml
@@ -149,7 +149,7 @@
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
- <version>2.2.1.RELEASE</version>
+ <version>2.2.0.RELEASE</version>
</dependency>
<dependency>
diff --git a/src/main/java/com/fzzy/conf/KafkaConfig.java b/src/main/java/com/fzzy/conf/KafkaConfig.java
new file mode 100644
index 0000000..7f4c881
--- /dev/null
+++ b/src/main/java/com/fzzy/conf/KafkaConfig.java
@@ -0,0 +1,82 @@
+package com.fzzy.conf;
+
+import lombok.AllArgsConstructor;
+import org.apache.kafka.clients.producer.ProducerConfig;
+import org.apache.kafka.common.config.SaslConfigs;
+import org.apache.kafka.common.serialization.IntegerSerializer;
+import org.apache.kafka.common.serialization.StringSerializer;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.kafka.annotation.EnableKafka;
+import org.springframework.kafka.core.DefaultKafkaProducerFactory;
+import org.springframework.kafka.core.KafkaTemplate;
+import org.springframework.kafka.core.ProducerFactory;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@Configuration
+@EnableKafka
+public class KafkaConfig {
+
+ private String defaultSaslJaasConfig="org.apache.kafka.common.security.scram.ScramLoginModule required username=\"{username}\" password=\"{password}\";";
+
+
+ @Value("${spring.kafka.bootstrap-servers}")
+ private String bootstrapServers;
+
+ @Value("${spring.kafka.properties.security.protocol}")
+ private String securityProtocol;
+
+ @Value("${spring.kafka.properties.sasl.mechanism}")
+ private String saslMechanism;
+
+ @Value("${spring.kafka.properties.sasl.jaas.config}")
+ private String saslJaasConfig;
+
+ @Value("${spring.kafka.properties.sasl.username}")
+ private String saslUsername;
+
+ @Value("${spring.kafka.properties.sasl.password}")
+ private String saslPassword;
+
+
+ @Bean
+ public ProducerFactory<String, String> producerFactory() {
+ DefaultKafkaProducerFactory<String, String> producerFactory = new DefaultKafkaProducerFactory<>(producerConfigs());
+ return producerFactory;
+ }
+ @Bean
+ public Map<String, Object> producerConfigs() {
+ Map<String, Object> props = new HashMap<>();
+ props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
+ props.put(ProducerConfig.RETRIES_CONFIG, 0);
+ props.put(ProducerConfig.REQUEST_TIMEOUT_MS_CONFIG, 5000);
+ props.put(ProducerConfig.LINGER_MS_CONFIG, 10);
+ props.put(ProducerConfig.BUFFER_MEMORY_CONFIG, 33554432);
+ props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, IntegerSerializer.class);
+ props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
+ props.put(ProducerConfig.MAX_BLOCK_MS_CONFIG, 10000);
+
+
+ props.put("security.protocol", securityProtocol);
+ props.put("sasl.mechanism", saslMechanism);
+ props.put("sasl.username", saslUsername);
+ props.put("sasl.password", saslPassword);
+
+
+ // props.put("sasl.jaas.config", "org.apache.kafka.common.security.scram.ScramLoginModule required username='sc001' password='wCV0ISwmoKwbx1lpBKMW';");
+
+
+ props.put("sasl.jaas.config",saslJaasConfig);
+
+ return props;
+ }
+
+ @Bean
+ public KafkaTemplate<String, String> kafkaTemplate(ProducerFactory<String, String> producerFactory) {
+ return new KafkaTemplate<>(producerFactory);
+ }
+}
diff --git a/src/main/java/com/fzzy/conf/MyPartitionTemplate.java b/src/main/java/com/fzzy/conf/MyPartitionTemplate.java
deleted file mode 100644
index de6e212..0000000
--- a/src/main/java/com/fzzy/conf/MyPartitionTemplate.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package com.fzzy.conf;
-
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang.StringUtils;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.kafka.core.DefaultKafkaProducerFactory;
-import org.springframework.kafka.core.KafkaTemplate;
-
-import javax.annotation.PostConstruct;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * 鑷畾涔夐厤缃被
- */
-@Slf4j
-@Configuration
-@ConfigurationProperties(prefix = "spring.kafka")
-public class MyPartitionTemplate {
-
- private String bootstrapServers;
-
-
- private String securityProtocol;
-
-
- private String saslMechanism;
-
-
- private String saslJaasConfig;
-
-
- private String saslUsername;
-
-
- private String saslPassword;
-
- KafkaTemplate<String, String> kafkaTemplate;
-
- @PostConstruct
- public void setKafkaTemplate() {
- Map<String, Object> props = new HashMap<>();
-
- props.put("bootstrap.servers", bootstrapServers);
- props.put("security.protocol", securityProtocol);
- props.put("sasl.mechanism", saslMechanism);
-
- if (StringUtils.isNotEmpty(saslUsername) && StringUtils.isNotEmpty(saslPassword)) {
- saslJaasConfig = saslJaasConfig.replace("{username}", saslUsername)
- .replace("{password}", saslPassword);
- props.put("sasl.jaas.config", saslJaasConfig);
-
- log.debug("----sasl.jaas.config---{}", saslJaasConfig);
- }
-
- this.kafkaTemplate = new KafkaTemplate<>(new DefaultKafkaProducerFactory<>(props));
- }
-
- public KafkaTemplate<String, String> getKafkaTemplate() {
- return kafkaTemplate;
- }
-
-}
diff --git a/src/main/java/com/fzzy/gateway/api/DeviceReportService.java b/src/main/java/com/fzzy/gateway/api/DeviceReportService.java
index a5e5aaf..762cced 100644
--- a/src/main/java/com/fzzy/gateway/api/DeviceReportService.java
+++ b/src/main/java/com/fzzy/gateway/api/DeviceReportService.java
@@ -1,7 +1,7 @@
package com.fzzy.gateway.api;
import com.fzzy.gateway.entity.GatewayDevice;
-import com.fzzy.gateway.hx2023.data.GrainData;
+import com.fzzy.gateway.hx2023.data.KafaGrainData;
public interface DeviceReportService {
@@ -28,6 +28,6 @@
* @param data
* @return
*/
- String pushGrainData2Cloud(GrainData data);
+ String pushGrainData2Cloud(KafaGrainData data);
}
diff --git a/src/main/java/com/fzzy/gateway/api/GatewaySyncGranService.java b/src/main/java/com/fzzy/gateway/api/GatewaySyncGranService.java
index cb8846c..343555f 100644
--- a/src/main/java/com/fzzy/gateway/api/GatewaySyncGranService.java
+++ b/src/main/java/com/fzzy/gateway/api/GatewaySyncGranService.java
@@ -1,7 +1,7 @@
package com.fzzy.gateway.api;
-import com.fzzy.gateway.hx2023.data.GrainData;
+import com.fzzy.gateway.hx2023.data.KafaGrainData;
import com.fzzy.gateway.hx2023.data.*;
/**
@@ -22,7 +22,7 @@
* @param reqData
* @return
*/
- public GrainData syncGrain(SyncReqData reqData);
+ public KafaGrainData syncGrain(SyncReqData reqData);
}
diff --git a/src/main/java/com/fzzy/gateway/hx2023/data/GrainDataDetail.java b/src/main/java/com/fzzy/gateway/hx2023/data/GrainDataDetail.java
deleted file mode 100644
index 834a557..0000000
--- a/src/main/java/com/fzzy/gateway/hx2023/data/GrainDataDetail.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.fzzy.gateway.hx2023.data;
-
-import lombok.Data;
-
-/**
- * 绮儏淇℃伅璇︾粏
- */
-@Data
-public class GrainDataDetail {
-
- //鏍瑰彿
- private String cableNum;
-
- //灞傚彿
- private String layerNumber;
-
- //绱㈠紩
- private String position;
-
- //娓╁害鍊�
- private String temperature;
-
- public GrainDataDetail() {
- }
-
- public GrainDataDetail(int cableNum, int layerNumber, int position, String temperature) {
- this.cableNum = cableNum + "";
- this.layerNumber = layerNumber + "";
- this.position = position + "";
- this.temperature = temperature;
- }
-}
diff --git a/src/main/java/com/fzzy/gateway/hx2023/data/GrainData.java b/src/main/java/com/fzzy/gateway/hx2023/data/KafaGrainData.java
similarity index 65%
rename from src/main/java/com/fzzy/gateway/hx2023/data/GrainData.java
rename to src/main/java/com/fzzy/gateway/hx2023/data/KafaGrainData.java
index 8e73894..d7c2e06 100644
--- a/src/main/java/com/fzzy/gateway/hx2023/data/GrainData.java
+++ b/src/main/java/com/fzzy/gateway/hx2023/data/KafaGrainData.java
@@ -1,14 +1,14 @@
package com.fzzy.gateway.hx2023.data;
+import com.alibaba.fastjson2.JSONObject;
import lombok.Data;
-import java.util.List;
/**
* 绮儏淇℃伅
*/
@Data
-public class GrainData {
+public class KafaGrainData {
//娑堟伅 ID
private String messageId;
@@ -28,22 +28,22 @@
//妫�娴嬫椂闂�-鏍煎紡锛歽yyy-MM-dd HH:mm:ss
private String collectTime;
- private String minX = "0";
+ private int minX = 0;
- private String minY = "0";
+ private int minY = 0;
- private String minZ = "0";
+ private int minZ = 0;
- private String maxX = "0";
+ private int maxX = 0;
- private String maxY = "0";
+ private int maxY = 0;
- private String maxZ = "0";
+ private int maxZ = 0;
//妯″潡璇嗗埆鐮�-甯搁噺锛屽浐瀹氫紶 apiTemperature
private String apISource = "apiTemperature";
- //绮俯璇︾粏
- private List<GrainDataDetail> temperature;
+
+ private JSONObject params;
}
diff --git a/src/main/java/com/fzzy/gateway/hx2023/data/KafkaGrainDataDetail.java b/src/main/java/com/fzzy/gateway/hx2023/data/KafkaGrainDataDetail.java
new file mode 100644
index 0000000..ba10261
--- /dev/null
+++ b/src/main/java/com/fzzy/gateway/hx2023/data/KafkaGrainDataDetail.java
@@ -0,0 +1,58 @@
+package com.fzzy.gateway.hx2023.data;
+
+import lombok.Data;
+
+/**
+ * 绮儏淇℃伅璇︾粏
+ */
+@Data
+public class KafkaGrainDataDetail {
+
+ //鏍瑰彿
+ private String cableNum;
+
+ //灞傚彿
+ private String layerNumber;
+
+ //娓╁害鍊�
+ private String temperature;
+
+ //绱㈠紩锛屼粠0寮�濮�
+ private String position;
+
+ //璇ユ俯搴︾偣鎵�鍦ㄧ殑鍒�,骞虫柟浠撱�佸湴涓嬩粨蹇呭~
+ private int linex;
+
+ //璇ユ俯搴︾偣鎵�鍦ㄧ殑琛�,骞虫柟浠撱�佸湴涓嬩粨蹇呭~
+ private int rowy;
+
+ //娴呭渾浠撱�佺瓛浠撳繀濉紝绀轰緥锛歿\"totalCircle\":3,\"smallCircle\":\"4,10,16\"}锛宼otalCircle锛氭�诲湀鏁帮紝smallCircle锛氭瘡鍦堟湁鍑犳牴缂�
+ private int total_circle;
+
+
+ //鍏蜂綋鍦堟暟--娴呭渾浠撱�佺瓛浠撳繀濉�
+ private int circle;
+
+ public KafkaGrainDataDetail() {
+ }
+
+ public KafkaGrainDataDetail(String cableNum, String layerNumber, String temperature, String position, int linex, int rowy, int total_circle, int circle) {
+ this.cableNum = cableNum;
+ this.layerNumber = layerNumber;
+ this.temperature = temperature;
+ this.position = position;
+ this.linex = linex;
+ this.rowy = rowy;
+ this.total_circle = total_circle;
+ this.circle = circle;
+ }
+
+ public KafkaGrainDataDetail(String cableNum, String layerNumber, String temperature, String position, int linex, int rowy) {
+ this.cableNum = cableNum;
+ this.layerNumber = layerNumber;
+ this.temperature = temperature;
+ this.position = position;
+ this.linex = linex;
+ this.rowy = rowy;
+ }
+}
diff --git a/src/main/java/com/fzzy/gateway/hx2023/data/KafkaGrainTH.java b/src/main/java/com/fzzy/gateway/hx2023/data/KafkaGrainTH.java
new file mode 100644
index 0000000..e013074
--- /dev/null
+++ b/src/main/java/com/fzzy/gateway/hx2023/data/KafkaGrainTH.java
@@ -0,0 +1,24 @@
+package com.fzzy.gateway.hx2023.data;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ *绮儏淇℃伅娓╂箍搴︿俊鎭�
+ */
+@Data
+public class KafkaGrainTH {
+
+ //浠撴箍
+ private String humidity;
+
+ //浠撴俯
+ private String temperature;
+
+ //姘旀俯
+ private String airTemperature;
+
+ //姘旀箍
+ private String airHumidity;
+}
diff --git a/src/main/java/com/fzzy/gateway/hx2023/data/TRHInfo.java b/src/main/java/com/fzzy/gateway/hx2023/data/TRHInfo.java
new file mode 100644
index 0000000..695ab11
--- /dev/null
+++ b/src/main/java/com/fzzy/gateway/hx2023/data/TRHInfo.java
@@ -0,0 +1,15 @@
+package com.fzzy.gateway.hx2023.data;
+
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class TRHInfo {
+
+ private List<KafkaGrainDataDetail> temperature;
+
+
+ private List<KafkaGrainTH> temperatureAndhumidity;
+}
diff --git a/src/main/java/com/fzzy/gateway/hx2023/kafka/KafkaDeviceReport.java b/src/main/java/com/fzzy/gateway/hx2023/kafka/KafkaDeviceReport.java
index 5fa5291..684bdd8 100644
--- a/src/main/java/com/fzzy/gateway/hx2023/kafka/KafkaDeviceReport.java
+++ b/src/main/java/com/fzzy/gateway/hx2023/kafka/KafkaDeviceReport.java
@@ -1,7 +1,7 @@
package com.fzzy.gateway.hx2023.kafka;
import com.alibaba.fastjson2.JSONObject;
-import com.fzzy.gateway.hx2023.data.GrainData;
+import com.fzzy.gateway.hx2023.data.KafaGrainData;
import lombok.extern.slf4j.Slf4j;
@@ -30,7 +30,7 @@
* @param data
* @return
*/
- public String sendGrainData2Cloud(GrainData data) {
+ public String sendGrainData2Cloud(KafaGrainData data) {
String strData = JSONObject.toJSONString(data);
diff --git a/src/main/java/com/fzzy/gateway/hx2023/service/DeviceReportServiceImpl.java b/src/main/java/com/fzzy/gateway/hx2023/service/DeviceReportServiceImpl.java
index 6051cb7..d321e96 100644
--- a/src/main/java/com/fzzy/gateway/hx2023/service/DeviceReportServiceImpl.java
+++ b/src/main/java/com/fzzy/gateway/hx2023/service/DeviceReportServiceImpl.java
@@ -6,7 +6,7 @@
import com.fzzy.gateway.api.DeviceReportService;
import com.fzzy.gateway.entity.GatewayDevice;
import com.fzzy.gateway.hx2023.ScConstant;
-import com.fzzy.gateway.hx2023.data.GrainData;
+import com.fzzy.gateway.hx2023.data.KafaGrainData;
import com.fzzy.gateway.hx2023.data.WebSocketPacket;
import com.fzzy.gateway.hx2023.data.WebSocketPacketHeader;
import com.fzzy.gateway.hx2023.data.WeightInfo;
@@ -77,7 +77,7 @@
}
@Override
- public String pushGrainData2Cloud(GrainData data) {
+ public String pushGrainData2Cloud(KafaGrainData data) {
return kafkaDeviceReport.sendGrainData2Cloud(data);
}
diff --git a/src/main/java/com/fzzy/gateway/hx2023/service/HxGatewaySyncGrainImpl.java b/src/main/java/com/fzzy/gateway/hx2023/service/HxGatewaySyncGrainImpl.java
index 2e0b694..424ff4b 100644
--- a/src/main/java/com/fzzy/gateway/hx2023/service/HxGatewaySyncGrainImpl.java
+++ b/src/main/java/com/fzzy/gateway/hx2023/service/HxGatewaySyncGrainImpl.java
@@ -1,7 +1,7 @@
package com.fzzy.gateway.hx2023.service;
import com.fzzy.gateway.api.GatewaySyncGranService;
-import com.fzzy.gateway.hx2023.data.GrainData;
+import com.fzzy.gateway.hx2023.data.KafaGrainData;
import com.fzzy.gateway.hx2023.data.SyncReqData;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@@ -22,7 +22,7 @@
}
@Override
- public GrainData syncGrain(SyncReqData reqData) {
+ public KafaGrainData syncGrain(SyncReqData reqData) {
return null;
}
}
diff --git a/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java b/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java
index 1135ee6..b3b59e9 100644
--- a/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java
+++ b/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java
@@ -1,5 +1,6 @@
package com.fzzy.gateway.service;
+import com.alibaba.fastjson2.JSONObject;
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
@@ -10,11 +11,12 @@
import com.fzzy.gateway.GatewayUtils;
import com.fzzy.gateway.api.DeviceReportService;
import com.fzzy.gateway.api.GatewayRemoteManager;
-import com.fzzy.gateway.data.QueryParam;
import com.fzzy.gateway.entity.GatewayDevice;
import com.fzzy.gateway.hx2023.ScConstant;
-import com.fzzy.gateway.hx2023.data.GrainData;
-import com.fzzy.gateway.hx2023.data.GrainDataDetail;
+import com.fzzy.gateway.hx2023.data.KafaGrainData;
+import com.fzzy.gateway.hx2023.data.KafkaGrainDataDetail;
+import com.fzzy.gateway.hx2023.data.KafkaGrainTH;
+import com.fzzy.gateway.hx2023.data.TRHInfo;
import com.fzzy.gateway.service.repository.GatewayDeviceRep;
import lombok.extern.slf4j.Slf4j;
@@ -121,7 +123,7 @@
* @return
*/
@Expose
- public String ajaxTestGrain(Map<String,Object> parameter) {
+ public String ajaxTestGrain(Map<String, Object> parameter) {
//鑾峰彇璁惧閰嶇疆锛屽彧閽堝绮儏璁惧杩涜鎵ц
@@ -139,32 +141,32 @@
//濡傛灉閮ㄧ讲FZZY-IGDS-V40鐗堟湰绯荤粺
- return this.pushByV40(list, start,end);
+ return this.pushByV40(list, start, end);
}
- private String pushByV40(List<GatewayDevice> list, Date start,Date end) {
+ private String pushByV40(List<GatewayDevice> list, Date start, Date end) {
String depotIdSys;
List<Fz40Grain> listGrain;
Fz40Grain lastData;
- GrainData pushData;
+ KafaGrainData pushData;
DeviceReportService deviceReportService = null;
for (GatewayDevice device : list) {
depotIdSys = device.getDepotIdSys();
if (StringUtils.isEmpty(depotIdSys)) {
- log.info("--------璁惧--{}-鏈厤缃郴缁熺浉鍏充粨搴撶紪鐮侊紝鏃犳硶鎵ц褰撳墠鎿嶄綔",device.getDeviceName());
+ log.info("--------璁惧--{}-鏈厤缃郴缁熺浉鍏充粨搴撶紪鐮侊紝鏃犳硶鎵ц褰撳墠鎿嶄綔", device.getDeviceName());
continue;
}
listGrain = fzzy40CommonService.listGrain(depotIdSys, start, end);
if (null == listGrain || listGrain.isEmpty()) {
- log.info("---------璁惧---{}--鏈悓姝ュ埌绮儏淇℃伅锛岃纭褰撳墠鏉′欢涓嬫槸鍚︽湁鏁版嵁",device.getDeviceName());
+ log.info("---------璁惧---{}--鏈悓姝ュ埌绮儏淇℃伅锛岃纭褰撳墠鏉′欢涓嬫槸鍚︽湁鏁版嵁", device.getDeviceName());
continue;
}
@@ -193,8 +195,8 @@
* @param lastData
* @return
*/
- private GrainData lastData2PushData(Fz40Grain lastData, GatewayDevice device) {
- GrainData result = new GrainData();
+ private KafaGrainData lastData2PushData(Fz40Grain lastData, GatewayDevice device) {
+ KafaGrainData result = new KafaGrainData();
result.setMessageId(ScConstant.getMessageId());
result.setDeviceID(device.getDeviceId());
@@ -206,63 +208,100 @@
//灞�-琛�-鍒�
String[] attrCable = lastData.getCable().split("-");
- //灞傞厤缃�
- int layMax = Integer.valueOf(attrCable[0]);
- //閽堝绛掍粨閰嶇疆
- String[] cableCirAtt = new String[0];
if (StringUtils.isNotEmpty(lastData.getCableCir())) {
- cableCirAtt = lastData.getCableCir().split("-");
+ return lastData2PushData2(lastData, device);
}
+
+ //灞傝鍒�
+ int cableZ = Integer.valueOf(attrCable[0]);
+ int cableY = Integer.valueOf(attrCable[1]);
+ int cableX = Integer.valueOf(attrCable[2]);
//娓╁害闆嗗悎
String[] attr = lastData.getPoints().split(",");
//鏍瑰彿
- int cableNum = 1, layerNumber = 1, position = 0;
+ int cableNum = 1, position = 0;
- int curCir = 1;//鎵�鍦ㄥ湀
- int cirLay = 1;//褰撳墠鍦堢殑灞�
String curTemp;
- List<GrainDataDetail> details = new ArrayList<>();
+ List<KafkaGrainDataDetail> temperature = new ArrayList<>();
+
+ int x = 0, y = 0, z = 0;
for (int i = 0; i < attr.length; i++) {
+
position = i;
- curTemp = attr[i];
+
+ z = i % cableZ + 1;
+ x = i / (cableZ * cableY);
+ y = x * (cableZ * cableY);
+ y = (i - y) / cableZ;
+
+ // 鍊掕浆X杞�
+ x = cableX - 1 - x;
+
//鏍瑰彿
- cableNum = (i / layMax) + 1;
- layerNumber = (i % layMax) + 1;
+ cableNum = (i / cableZ) + 1;
- if (cableCirAtt.length > 0) {
- curCir = getCurCir(cableNum, attrCable);
- cirLay = Integer.valueOf(cableCirAtt[curCir - 1]);
-
- details.add(new GrainDataDetail(cableNum, cirLay, position, curTemp));
- } else {
-
- //鍒ゆ柇鏈�澶� TODO 寰呬紭鍖�
- if (curTemp.equals(result.getMaxTemperature())) {
- result.setMaxX(cableNum + "");
- result.setMaxZ(curTemp);
- }
+ curTemp = attr[i];
- //鍒ゆ柇鏈�灏� TODO 寰呬紭鍖�
- if (curTemp.equals(result.getMinTemperature())) {
- result.setMinX(cableNum + "");
- result.setMinZ(curTemp);
- }
-
-
- details.add(new GrainDataDetail(cableNum, layerNumber, position, curTemp));
+ //鍒ゆ柇鏈�澶�
+ if (curTemp.equals(result.getMaxTemperature())) {
+ result.setMaxX(x);
+ result.setMaxY(y);
+ result.setMaxZ(position);
}
+
+ //鍒ゆ柇鏈�灏�
+ if (curTemp.equals(result.getMinTemperature())) {
+ result.setMinX(x);
+ result.setMinY(y);
+ result.setMinZ(position);
+ }
+
+ temperature.add(new KafkaGrainDataDetail(cableNum + "", z + "", curTemp, position + "", x, y));
}
- result.setTemperature(details);
+ //绮俯淇℃伅
+ TRHInfo trhInfo = new TRHInfo();
+ trhInfo.setTemperature(temperature);
+
+
+ //浠撴俯搴︿俊鎭�
+ KafkaGrainTH grainTH = new KafkaGrainTH();
+ grainTH.setHumidity(lastData.getHumidityIn() + "");
+ grainTH.setTemperature(lastData.getTempIn() + "");
+ grainTH.setAirHumidity(lastData.getHumidityOut() + "");
+ grainTH.setAirTemperature(lastData.getTempOut() + "");
+
+ List<KafkaGrainTH> temperatureAndhumidity = new ArrayList<>();
+ temperatureAndhumidity.add(grainTH);
+
+ trhInfo.setTemperatureAndhumidity(temperatureAndhumidity);
+
+
+ JSONObject params = new JSONObject();
+ params.put("TRHInfo", trhInfo);
+
+ result.setParams(params);
return result;
}
+ /**
+ * 閽堝绛掍粨 TODO -----
+ *
+ * @param lastData
+ * @param device
+ * @return
+ */
+ private KafaGrainData lastData2PushData2(Fz40Grain lastData, GatewayDevice device) {
+
+ return null;
+ }
+
private int getCurCir(int curRoot, String[] cableRuleAtt) {
int sum = 0;
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 81dde70..edd09d6 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -82,21 +82,17 @@
sasl-jaas-config: org.apache.kafka.common.security.scram.ScramLoginModule required username=\"{username}\" password=\"{password}\";"
sasl-username: sc001
sasl-password: wCV0ISwmoKwbx1lpBKMW
- producer: # producer 鐢熶骇鑰�
- retries: 0 # 閲嶈瘯娆℃暟
- acks: 1 # 搴旂瓟绾у埆:澶氬皯涓垎鍖哄壇鏈浠藉畬鎴愭椂鍚戠敓浜ц�呭彂閫乤ck纭(鍙��0銆�1銆乤ll/-1)
- batch-size: 16384 # 鎵归噺澶у皬
- buffer-memory: 33554432 # 鐢熶骇绔紦鍐插尯澶у皬
+ producer:
+ retries: 0
+ acks: 1
+ batch-size: 16384
+ buffer-memory: 33554432
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.apache.kafka.common.serialization.StringSerializer
- consumer: # consumer娑堣垂鑰�
- group-id: fzzygroup # 榛樿鐨勬秷璐圭粍ID
- enable-auto-commit: true # 鏄惁鑷姩鎻愪氦offset
- auto-commit-interval: 100 # 鎻愪氦offset寤舵椂(鎺ユ敹鍒版秷鎭悗澶氫箙鎻愪氦offset)
-
- # earliest:褰撳悇鍒嗗尯涓嬫湁宸叉彁浜ょ殑offset鏃讹紝浠庢彁浜ょ殑offset寮�濮嬫秷璐癸紱鏃犳彁浜ょ殑offset鏃讹紝浠庡ご寮�濮嬫秷璐�
- # latest:褰撳悇鍒嗗尯涓嬫湁宸叉彁浜ょ殑offset鏃讹紝浠庢彁浜ょ殑offset寮�濮嬫秷璐癸紱鏃犳彁浜ょ殑offset鏃讹紝娑堣垂鏂颁骇鐢熺殑璇ュ垎鍖轰笅鐨勬暟鎹�
- # none:topic鍚勫垎鍖洪兘瀛樺湪宸叉彁浜ょ殑offset鏃讹紝浠巓ffset鍚庡紑濮嬫秷璐癸紱鍙鏈変竴涓垎鍖轰笉瀛樺湪宸叉彁浜ょ殑offset锛屽垯鎶涘嚭寮傚父
+ consumer:
+ group-id: fzzygroup
+ enable-auto-commit: true
+ auto-commit-interval: 100
auto-offset-reset: latest
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
diff --git a/src/main/resources/application-devGateway.yml b/src/main/resources/application-devGateway.yml
new file mode 100644
index 0000000..e6029e2
--- /dev/null
+++ b/src/main/resources/application-devGateway.yml
@@ -0,0 +1,75 @@
+server:
+ port: 8090
+
+spring:
+ datasource:
+ #涓绘暟鎹簮
+ primary:
+ url: jdbc:mysql://127.0.0.1:3306/igds_api_5012?useUnicode=true&useSSL=false&characterEncoding=utf-8
+ username: root
+ password: Abc123..
+ driver-class-name: com.mysql.jdbc.Driver
+ #娆℃暟鎹簮
+ secondary:
+ url: jdbc:mysql://127.0.0.1:3306/igds_5012?useUnicode=true&useSSL=false&characterEncoding=utf-8
+
+ username: root
+ password: Abc123..
+ driver-class-name: com.mysql.jdbc.Driver
+ jpa:
+ #涓籮pa閰嶇疆
+ primary:
+ show-sql: true
+ properties:
+ hibernate:
+ hbm2ddl:
+ auto: update
+ dialect: org.hibernate.dialect.MySQL5InnoDBDialect
+ #娆pa閰嶇疆
+ secondary:
+ show-sql: true
+ properties:
+ hibernate:
+ hbm2ddl:
+ auto: none
+ dialect: org.hibernate.dialect.MySQL5InnoDBDialect
+ # Redis鐩稿叧閰嶇疆
+ redis:
+ database: 5
+ host: 127.0.0.1
+ port: 6379
+ password: Redispwd..
+ # 杩炴帴姹犳渶澶ц繛鎺ユ暟锛堜娇鐢ㄨ礋鍊艰〃绀烘病鏈夐檺鍒讹級
+ pool:
+ max-active: 200
+ max-wait: -1
+ max-idle: 10
+ min-idle: 0
+ timeout: 6000
+ kafka:
+ bootstrap-servers: 103.203.217.16:9092
+ properties:
+ security.protocol: sasl_plaintext
+ sasl.mechanism: PLAIN
+ sasl.username: sc001
+ sasl.password: wCV0ISwmoKwbx1lpBKMW
+ sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username='sc001' password='wCV0ISwmoKwbx1lpBKMW';
+ consumer:
+ group-id: fzzygroup
+ enable-auto-commit: true
+ auto-commit-interval: 100
+ auto-offset-reset: latest
+ key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
+ value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
+
+mqtt:
+ host: tcp://10.13.4.84:11883
+ client-id:
+ client-username:
+ client-password:
+ client-timeout: 10
+ client-alive-time: 20
+ client-max-connect-times: 5
+ client-topics:
+ client-qos: 0
+ isOpen: false
diff --git a/src/main/resources/application-gateway.yml b/src/main/resources/application-gateway.yml
deleted file mode 100644
index ae10889..0000000
--- a/src/main/resources/application-gateway.yml
+++ /dev/null
@@ -1,57 +0,0 @@
-########################## 缃戝叧妯″紡鎺ュ彛 ##########################
-server:
- port: 8083
- jetty:
- max-http-post-size: 209715200
- tomcat:
- max-http-post-size: 209715200
-spring:
- datasource:
- #涓绘暟鎹簮
- primary:
- url: jdbc:mysql://127.0.0.1:3306/igds_api?useUnicode=true&characterEncoding=utf-8
- username: root
- password: Abc123..
- driver-class-name: com.mysql.jdbc.Driver
- #娆℃暟鎹簮
- secondary:
- url: jdbc:mysql://127.0.0.1:3306/igds_master?useUnicode=true&characterEncoding=utf-8
- username: root
- password: Abc123..
- driver-class-name: com.mysql.jdbc.Driver
- jpa:
- #涓籮pa閰嶇疆
- primary:
- show-sql: true
- properties:
- hibernate:
- hbm2ddl:
- auto: update
- dialect: org.hibernate.dialect.MySQL5InnoDBDialect
- #娆pa閰嶇疆
- secondary:
- show-sql: true
- properties:
- hibernate:
- hbm2ddl:
- auto: none
- dialect: org.hibernate.dialect.MySQL5InnoDBDialect
- # Redis鐩稿叧閰嶇疆
- redis:
- database: 1
- host: 127.0.0.1
- port: 6379
- password: Redispwd..
- # 杩炴帴姹犳渶澶ц繛鎺ユ暟锛堜娇鐢ㄨ礋鍊艰〃绀烘病鏈夐檺鍒讹級
- pool:
- max-active: 200
- max-wait: -1
- max-idle: 10
- min-idle: 0
- timeout: 6000
-igds:
- default:
- companyId: 5326
-
- file-path: D:/IGDS-API/FILE/
- img-path: D:/IGDS/FILE/
\ No newline at end of file
diff --git a/src/main/resources/application-proGateway.yml b/src/main/resources/application-proGateway.yml
new file mode 100644
index 0000000..8d688f9
--- /dev/null
+++ b/src/main/resources/application-proGateway.yml
@@ -0,0 +1,81 @@
+server:
+ port: 8090
+
+spring:
+ datasource:
+ #涓绘暟鎹簮
+ primary:
+ url: jdbc:mysql://127.0.0.1:3306/igds_api_5012?useUnicode=true&useSSL=false&characterEncoding=utf-8
+ username: root
+ password: Abc123..
+ driver-class-name: com.mysql.jdbc.Driver
+ #娆℃暟鎹簮
+ secondary:
+ url: jdbc:mysql://127.0.0.1:3306/igds_5012?useUnicode=true&useSSL=false&characterEncoding=utf-8
+
+ username: root
+ password: Abc123..
+ driver-class-name: com.mysql.jdbc.Driver
+ jpa:
+ #涓籮pa閰嶇疆
+ primary:
+ show-sql: true
+ properties:
+ hibernate:
+ hbm2ddl:
+ auto: update
+ dialect: org.hibernate.dialect.MySQL5InnoDBDialect
+ #娆pa閰嶇疆
+ secondary:
+ show-sql: true
+ properties:
+ hibernate:
+ hbm2ddl:
+ auto: none
+ dialect: org.hibernate.dialect.MySQL5InnoDBDialect
+ # Redis鐩稿叧閰嶇疆
+ redis:
+ database: 5
+ host: 127.0.0.1
+ port: 6379
+ password: Redispwd..
+ # 杩炴帴姹犳渶澶ц繛鎺ユ暟锛堜娇鐢ㄨ礋鍊艰〃绀烘病鏈夐檺鍒讹級
+ pool:
+ max-active: 200
+ max-wait: -1
+ max-idle: 10
+ min-idle: 0
+ timeout: 6000
+ kafka:
+ bootstrap-servers: 103.203.217.16:9092
+ security-protocol: SASL_PLAINTEXT
+ sasl-mechanism: PLAIN
+ sasl-jaas-config: org.apache.kafka.common.security.scram.ScramLoginModule required username=\"{username}\" password=\"{password}\";"
+ sasl-username: sc001
+ sasl-password: wCV0ISwmoKwbx1lpBKMW
+ producer:
+ retries: 0
+ acks: 1
+ batch-size: 16384
+ buffer-memory: 33554432
+ key-serializer: org.apache.kafka.common.serialization.StringSerializer
+ value-serializer: org.apache.kafka.common.serialization.StringSerializer
+ consumer:
+ group-id: fzzygroup
+ enable-auto-commit: true
+ auto-commit-interval: 100
+ auto-offset-reset: latest
+ key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
+ value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
+
+mqtt:
+ host: tcp://10.13.4.84:11883
+ client-id:
+ client-username:
+ client-password:
+ client-timeout: 10
+ client-alive-time: 20
+ client-max-connect-times: 5
+ client-topics:
+ client-qos: 0
+ isOpen: false
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index a862643..55d6b10 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,7 +1,7 @@
########################## Server ##########################
spring:
profiles:
- active: dev
+ active: devGateway
application:
name: igds-api
main:
diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml
index 5b068c4..6c4d4fd 100644
--- a/src/main/resources/logback-spring.xml
+++ b/src/main/resources/logback-spring.xml
@@ -33,6 +33,24 @@
</root>
</springProfile>
+ <!-- dev鐜 -->
+ <springProfile name="devGateway">
+ <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>${PATTERN}</pattern>
+ </encoder>
+ </appender>
+ <logger name="com.fzzy" level="DEBUG"/>
+ <logger name="com.fzzy" level="DEBUG"/>
+ <logger name="org.hibernate.tool" level="WARN"/>
+ <logger name="com.bstek.dorado" level="WARN"/>
+ <logger name="org.springframework.beans" level="WARN"/>
+
+ <root level="info">
+ <appender-ref ref="CONSOLE"/>
+ </root>
+ </springProfile>
+
<!-- 鐢熶骇鐜 -->
<springProfile name="pro">
<!-- 姣忓ぉ浜х敓涓�涓枃浠� -->
@@ -69,6 +87,40 @@
<!-- 鐢熶骇鐜 -->
+ <springProfile name="proGateway">
+ <!-- 姣忓ぉ浜х敓涓�涓枃浠� -->
+ <appender name="PRO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <!-- 鏂囦欢璺緞 -->
+ <file>${PRO_LOG_HOME}/${APP_MODEL}-info.log</file>
+ <!-- 鏃ュ織璁板綍鍣ㄧ殑婊氬姩绛栫暐锛屾寜鏃ユ湡锛屾寜澶у皬璁板綍 -->
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!-- 鏂囦欢鍚嶇О -->
+ <fileNamePattern>${PRO_LOG_HOME}/${APP_MODEL}-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <!--鏃ュ織鏂囦欢淇濈暀澶╂暟 -->
+ <maxHistory>60</maxHistory>
+ <!-- 鏃ュ織澶у皬 -->
+ <timeBasedFileNamingAndTriggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <maxFileSize>100MB</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ </rollingPolicy>
+ <encoder>
+ <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
+ <charset>UTF-8</charset>
+ </encoder>
+ <layout class="ch.qos.logback.classic.PatternLayout">
+ <pattern>${PATTERN}</pattern>
+ </layout>
+ </appender>
+
+ <logger name="org.hibernate.tool" level="WARN"/>
+ <logger name="com.bstek.dorado" level="WARN"/>
+ <root level="info">
+ <appender-ref ref="PRO_FILE"/>
+ </root>
+ </springProfile>
+
+ <!-- 鐢熶骇鐜 -->
<springProfile name="linux">
<!-- 姣忓ぉ浜х敓涓�涓枃浠� -->
<appender name="PRO_LINUX_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
--
Gitblit v1.9.3