From 36203a854c6d1958549ebf65ba234561ab5271b5 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Mon, 26 Sep 2022 10:58:17 +0800
Subject: [PATCH] 添加空气质量报告功能
---
screen-manage/src/main/java/com/moral/api/util/AdjustDataUtils.java | 17 ++++++++++++++---
1 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/screen-manage/src/main/java/com/moral/api/util/AdjustDataUtils.java b/screen-manage/src/main/java/com/moral/api/util/AdjustDataUtils.java
index c17d2c5..04b9124 100644
--- a/screen-manage/src/main/java/com/moral/api/util/AdjustDataUtils.java
+++ b/screen-manage/src/main/java/com/moral/api/util/AdjustDataUtils.java
@@ -5,11 +5,13 @@
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
+import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
+import java.util.Set;
import com.alibaba.fastjson.JSON;
import com.googlecode.aviator.AviatorEvaluator;
@@ -23,7 +25,7 @@
public class AdjustDataUtils {
/**
* @param deviceData ������������
- * @param adjustFormula ������������
+ * @param adjustFormula ������������������������������������������������key���������code,value������������������������������������������List���
* @param aqiMap ������������������������������aqi������
* @return Map<String, Object> ���������������
*/
@@ -35,6 +37,14 @@
//������������������������������������������������������
if (deviceData.get(Constants.SENSOR_CODE_CURRENT_SPEED) != null) {
deviceData = adjustFlueSpeedAndFlow(deviceData, adjustFormula);
+ }
+
+ //������������������������������������������������
+ Set<String> dateKey = deviceData.keySet();
+ for (String adjustKey : adjustFormula.keySet()) {
+ if (!dateKey.contains(adjustKey)) {
+ deviceData.put(adjustKey, "0");
+ }
}
for (String key : deviceData.keySet()) {
@@ -68,7 +78,7 @@
if (aqiMap != null) {
aqiValue = aqiMap.get(key);
}
- env.put("aqi", ObjectUtils.isEmpty(aqiValue) ? 0F : Float.parseFloat((String) aqiValue));
+ env.put("aqi", ObjectUtils.isEmpty(aqiValue) ? 0F : new BigDecimal(String.valueOf(aqiValue)).floatValue());
}
if (formula.contains("vocs")) {
Object vocsValue = ObjectUtils.isEmpty(deviceData.get(Constants.SENSOR_CODE_VOCS)) ? 0F : deviceData.get(Constants.SENSOR_CODE_VOCS);
@@ -94,7 +104,8 @@
/**
* ���������������������������������
- * @param deviceData ���������������������������������������������������������������������������������������������������������
+ *
+ * @param deviceData ���������������������������������������������������������������������������������������������������������
* @param adjustFormula ���������������������������������������������������key���������code
*/
public Map<String, Object> adjustFlueSpeedAndFlow(Map<String, Object> deviceData, Map<String, Object> adjustFormula) {
--
Gitblit v1.8.0