添加对数据属性为null处理
This commit is contained in:
@ -29,31 +29,33 @@ public class DevLinkMetDataService extends DevLinkRealTimeDataService {
|
||||
|
||||
|
||||
//封装数据
|
||||
public DeviceRealtimedataMeteorology setData(Map<String, Object> propertiesMap){
|
||||
public DeviceRealtimedataMeteorology setData(Map<String, String> propertiesMap){
|
||||
DeviceRealtimedataMeteorology build = DeviceRealtimedataMeteorology.builder()
|
||||
.deviceId(Long.parseLong(propertiesMap.get("deviceId").toString()))
|
||||
.airTemp(new BigDecimal(propertiesMap.get("airTemp").toString()))
|
||||
.airHumi(new BigDecimal(propertiesMap.get("airHumi").toString()))
|
||||
.windSpeed(new BigDecimal(propertiesMap.get("windSpeed").toString()))
|
||||
.windDir(new BigDecimal(propertiesMap.get("windDir").toString()))
|
||||
.airPre(new BigDecimal(propertiesMap.get("airPre").toString()))
|
||||
.guangzhao(Long.parseLong(propertiesMap.get("guangzhao").toString()))
|
||||
.fushe(new BigDecimal(propertiesMap.get("fushe").toString()))
|
||||
.sumRain(new BigDecimal(propertiesMap.get("sumRain").toString()))
|
||||
.sumRain(new BigDecimal(propertiesMap.get("sumRain").toString()))
|
||||
.insRain(new BigDecimal(propertiesMap.get("insRain").toString()))
|
||||
.dayRain(new BigDecimal(propertiesMap.get("dayRain").toString()))
|
||||
.zhengfa(new BigDecimal(propertiesMap.get("zhengfa").toString()))
|
||||
.soilTemp(new BigDecimal(propertiesMap.get("soilTemp").toString()))
|
||||
.soilHumi(new BigDecimal(propertiesMap.get("soilHumi").toString()))
|
||||
.deviceId(propertiesMap.get("deviceId"))
|
||||
.airTemp(toBigDecimalValue(propertiesMap.get("airTemp")))
|
||||
.airHumi(toBigDecimalValue(propertiesMap.get("airHumi")))
|
||||
.windSpeed(toBigDecimalValue(propertiesMap.get("windSpeed")))
|
||||
.windDir(toBigDecimalValue(propertiesMap.get("windDir")))
|
||||
.airPre(toBigDecimalValue(propertiesMap.get("airPre")))
|
||||
.guangzhao(toBigDecimalValue(propertiesMap.get("guangzhao")))
|
||||
.fushe(toBigDecimalValue(propertiesMap.get("fushe")))
|
||||
.sumRain(toBigDecimalValue(propertiesMap.get("sumRain")))
|
||||
.sumRain(toBigDecimalValue(propertiesMap.get("sumRain")))
|
||||
.insRain(toBigDecimalValue(propertiesMap.get("insRain")))
|
||||
.dayRain(toBigDecimalValue(propertiesMap.get("dayRain")))
|
||||
.zhengfa(toBigDecimalValue(propertiesMap.get("zhengfa")))
|
||||
.soilTemp(toBigDecimalValue(propertiesMap.get("soilTemp")))
|
||||
.soilHumi(toBigDecimalValue(propertiesMap.get("soilHumi")))
|
||||
.build();
|
||||
|
||||
|
||||
System.err.println(build);
|
||||
return build;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
DevLinkMetDataService devLinkMetDataService = new DevLinkMetDataService();
|
||||
Map<String, Object> metDeviceRealData = devLinkMetDataService.getMetDeviceRealData("3269");
|
||||
Map<String, String> metDeviceRealData = devLinkMetDataService.getMetDeviceRealData("3269");
|
||||
devLinkMetDataService.setData(metDeviceRealData);
|
||||
}
|
||||
}
|
||||
|
@ -8,6 +8,8 @@ import com.fastbee.common.utils.DateUtils;
|
||||
import com.fastbee.deviceData.domain.DeviceRealtimedataMeteorology;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@ -22,7 +24,7 @@ public class DevLinkRealTimeDataService {
|
||||
* @param deviceId 设备id
|
||||
* @return 实时数据
|
||||
*/
|
||||
public Map<String,Object> getMetDeviceRealData(String deviceId){
|
||||
public Map<String,String> getMetDeviceRealData(String deviceId){
|
||||
String result = requestDeviceData(deviceId);
|
||||
//解析返回数据
|
||||
JSONObject jsonObject = JSONUtil.parseObj(result);
|
||||
@ -37,7 +39,7 @@ public class DevLinkRealTimeDataService {
|
||||
DeviceRealtimedataMeteorology realData = new DeviceRealtimedataMeteorology();
|
||||
//获取设备各项属性实时数据
|
||||
//设备属性与值建立map
|
||||
Map<String, Object> propertiesMap = new HashMap<>();
|
||||
Map<String, String> propertiesMap = new HashMap<>();
|
||||
propertiesArray.forEach(p -> {
|
||||
Object property = JSONUtil.parseObj(p).get("property");
|
||||
JSONObject propertyMap = JSONUtil.parseObj(property);
|
||||
@ -47,17 +49,22 @@ public class DevLinkRealTimeDataService {
|
||||
//属性key
|
||||
String key = propertyMap.get("key").toString();
|
||||
//属性值
|
||||
String value = JSONUtil.parseObj(p).get("value").toString();
|
||||
Object value1 = JSONUtil.parseObj(p).get("value");
|
||||
String value="" ;
|
||||
if(value1!=null){
|
||||
value = value1.toString();
|
||||
}
|
||||
|
||||
//TODO 属性值历史数据,是否需要
|
||||
Object list = JSONUtil.parseObj(p).get("list");
|
||||
// System.err.print("name:"+name);
|
||||
// System.err.print("key:"+key);
|
||||
// System.err.println("------------value:"+value);
|
||||
System.err.print("key:"+key);
|
||||
System.err.println("------------value:"+value);
|
||||
//建立属性-值映射关系
|
||||
propertiesMap.put(key,value);
|
||||
// saveRealData(key,value,realData);
|
||||
});
|
||||
propertiesMap.put("status",status);
|
||||
propertiesMap.put("status",status.toString());
|
||||
propertiesMap.put("deviceId",deviceId);
|
||||
|
||||
return propertiesMap;
|
||||
@ -82,9 +89,16 @@ public class DevLinkRealTimeDataService {
|
||||
return HttpUtil.post(authorization.getBaseUrl() + authorization.getAuth(), jsonStr);
|
||||
}
|
||||
|
||||
public BigDecimal toBigDecimalValue(String str) {
|
||||
if (str == null) {
|
||||
return null;
|
||||
}
|
||||
return new BigDecimal(str);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
DevLinkRealTimeDataService devLinkRealTimeDataService = new DevLinkRealTimeDataService();
|
||||
Map<String, Object> metDeviceRealData = devLinkRealTimeDataService.getMetDeviceRealData("3269");
|
||||
System.err.println(metDeviceRealData);
|
||||
Map<String, String> metDeviceRealData = devLinkRealTimeDataService.getMetDeviceRealData("3270");
|
||||
// System.err.println(metDeviceRealData);
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,8 @@
|
||||
package com.fastbee.deviceData.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.*;
|
||||
@ -22,6 +24,7 @@ import org.apache.poi.hpsf.Decimal;
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("iot_device_realtimedata_meteorology")
|
||||
public class DeviceRealtimedataMeteorology extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@ -32,7 +35,7 @@ private static final long serialVersionUID = 1L;
|
||||
/** 设备id */
|
||||
@Excel(name = "设备id")
|
||||
@ApiModelProperty("设备id")
|
||||
private Long deviceId;
|
||||
private String deviceId;
|
||||
|
||||
/** 空气温度 */
|
||||
@Excel(name = "空气温度")
|
||||
@ -62,7 +65,7 @@ private static final long serialVersionUID = 1L;
|
||||
/** 光照度 */
|
||||
@Excel(name = "光照度")
|
||||
@ApiModelProperty("光照度")
|
||||
private Long guangzhao;
|
||||
private BigDecimal guangzhao;
|
||||
|
||||
/** 光合有效辐射 */
|
||||
@Excel(name = "光合有效辐射")
|
||||
|
Reference in New Issue
Block a user