获取气象设备实时数据相关逻辑

This commit is contained in:
mi9688
2024-11-13 17:41:54 +08:00
parent 60f48d503c
commit 91d2929cb1
5 changed files with 284 additions and 182 deletions

View File

@ -1,12 +1,15 @@
package com.fastbee.iot.timer;
import cn.hutool.core.date.DateTime;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.fastbee.deviceData.api.renke.constant.RenKeDeviceTypeConstant;
import com.fastbee.deviceData.api.renke.service.RenKeAuthorizationService;
import com.fastbee.deviceData.domain.DeviceRealtimedataWorms;
import com.fastbee.deviceData.service.impl.DeviceRealtimeDataWormsServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -25,8 +28,6 @@ public class DeviceDateTask {
private StringRedisTemplate stringRedisTemplate;
@Autowired
private DeviceRealtimeDataWormsServiceImpl deviceRealtimedataWormsServiceImpl;
@Autowired
private DeviceRealtimeDataMeteorologyServiceImpl deviceRealtimedataMeteorologyServiceImpl;
@Autowired
private RenKeAuthorizationService renKeAuthorizationService;
@ -51,30 +52,38 @@ public class DeviceDateTask {
}
JSONObject respBody = JSONUtil.parseObj(respBodyStr);
JSONArray realtimeList = JSONUtil.parseArray(respBody.get("data"));
threadPoolTaskExecutor.execute( () -> {System.err.println("设备实时数据:"+realtimeList);});
// threadPoolTaskExecutor.execute( () -> {System.err.println("设备实时数据:"+realtimeList);});
//TODO 解析实时数据保存到数据库
// for (Object jsonObject : realtimeList){
// JSONObject josnConversion = (JSONObject) jsonObject;
// if (RenKeDeviceTypeConstant.WORM.equals(josnConversion.get("deviceType"))){
// JSONObject josnArray = JSONUtil.parseObj(josnConversion.get("data"));
// DeviceRealtimedataWorms deviceRealtimedataWorms = JSONUtil.toBean(josnArray, DeviceRealtimedataWorms.class);
// deviceRealtimedataWorms.setCreateTime(DateTime.now());
// if(deviceRealtimedataWormsServiceImpl.insertDeviceRealtimedataWorms(deviceRealtimedataWorms)==1){
// System.out.println("插入成功");
// };
// }else if (RenKeDeviceTypeConstant.MET.equals(josnConversion.get("deviceType"))){
// JSONArray josnArray = JSONUtil.parseArray(josnConversion.get("data"));
// for (Object json : josnArray){
// DeviceRealtimedataMeteorology deviceRealtimedataMeteorology = JSONUtil.toBean((JSONObject) json, DeviceRealtimedataMeteorology.class);
for (Object realtimeData : realtimeList){
JSONObject jsonConversion = JSONUtil.parseObj(realtimeData);
if (RenKeDeviceTypeConstant.WORM.equals(jsonConversion.get("deviceType"))){
JSONObject jsonObject1 = JSONUtil.parseObj(jsonConversion.get("data"));
DeviceRealtimedataWorms deviceRealtimedataWorms = JSONUtil.toBean(jsonObject1, DeviceRealtimedataWorms.class);
deviceRealtimedataWorms.setCreateTime(DateTime.now());
// System.err.println("序列化为蠕虫设备数据类:"+deviceRealtimedataWorms);
if(deviceRealtimedataWormsServiceImpl.insertDeviceRealtimedataWorms(deviceRealtimedataWorms)!=1){
System.out.println("插入失败!");
};
}
// else if (RenKeDeviceTypeConstant.MET.equals(jsonConversion.get("deviceType"))){
// //获取设备地址
// Object deviceAddr = jsonConversion.get("deviceAddr");
// JSONArray jsonArray = JSONUtil.parseArray(jsonConversion.get("data"));
//// System.err.println("气象设备数据列表:"+jsonArray);
// for (Object json : jsonArray){
// JSONObject jsonConversion1 = JSONUtil.parseObj(json);
// DeviceRealtimedataMeteorology deviceRealtimedataMeteorology = JSONUtil.toBean(jsonConversion1, DeviceRealtimedataMeteorology.class);
// deviceRealtimedataMeteorology.setCreateTime(DateTime.now());
// if(deviceRealtimedataMeteorologyServiceImpl.insertDeviceRealtimedataMeteorology(deviceRealtimedataMeteorology)==1){
// System.out.println("插入成功");
// deviceRealtimedataMeteorology.setDeviceaddr(deviceAddr.toString());
//// System.err.println("序列化为气象设备数据类:"+deviceRealtimedataMeteorology);
// if(deviceRealtimedataMeteorologyServiceImpl.insertDeviceRealtimedataMeteorology(deviceRealtimedataMeteorology)!=1){
// System.out.println("插入失败!");
// }
// }
//
// }
// }
}
}