设备实时数据对接初步完成
This commit is contained in:
@ -7,10 +7,17 @@ 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.devlink.service.DevLinkMetDataService;
|
||||
import com.fastbee.deviceData.api.devlink.service.DevLinkMiaoQingDataService;
|
||||
import com.fastbee.deviceData.api.devlink.service.DevLinkMoistureDataService;
|
||||
import com.fastbee.deviceData.api.devlink.service.DevLinkPhotovoltaicDataService;
|
||||
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.api.renke.service.RenkeDeviceDataService;
|
||||
import com.fastbee.deviceData.domain.*;
|
||||
|
||||
import com.fastbee.deviceData.mapper.*;
|
||||
import com.fastbee.deviceData.service.IDeviceRealtimedataWormsService;
|
||||
import com.fastbee.deviceData.service.impl.DeviceRealtimedataWormsServiceImpl;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -21,56 +28,103 @@ import org.springframework.stereotype.Component;
|
||||
/**
|
||||
* @author mijiupro
|
||||
*/
|
||||
@Component("renkeDeviceDateTask")
|
||||
@Component("agricultureDeviceDateTask")
|
||||
public class DeviceDateTask {
|
||||
//
|
||||
|
||||
@Autowired
|
||||
private StringRedisTemplate stringRedisTemplate;
|
||||
@Autowired
|
||||
private DeviceRealtimedataWormsServiceImpl deviceRealtimedataWormsServiceImpl;
|
||||
|
||||
// @Autowired
|
||||
// private ThreadPoolTaskExecutor taskExecutor;
|
||||
|
||||
@Autowired
|
||||
private RenKeAuthorizationService renKeAuthorizationService;
|
||||
private DeviceRealtimedataWormsMapper deviceRealtimedataWormsMapper;
|
||||
|
||||
@Autowired
|
||||
private ThreadPoolTaskExecutor threadPoolTaskExecutor;
|
||||
private DeviceRealtimedataMeteorologyMapper deviceRealtimedataMeteorologyMapper;
|
||||
|
||||
@Autowired
|
||||
private DeviceRealtimedataMoistureMapper deviceRealtimedataMoistureMapper;
|
||||
|
||||
@Autowired
|
||||
private DeviceRealtimedataPhotovoltaicMapper deviceRealtimedataPhotovoltaicMapper;
|
||||
|
||||
@Autowired
|
||||
private DeviceRealtimedataMiaoqingMapper deviceRealtimedataMiaoqingMapper;
|
||||
|
||||
@Autowired
|
||||
private RenkeDeviceDataService wormsService; //虫情设备数据获取
|
||||
|
||||
@Autowired
|
||||
private DevLinkMetDataService metDataService; //气象设备数据获取
|
||||
|
||||
@Autowired
|
||||
private DevLinkMoistureDataService moistureDataService; //墒情设备数据获取
|
||||
|
||||
@Autowired
|
||||
private DevLinkPhotovoltaicDataService photovoltaicDataService; //光伏设备数据获取
|
||||
|
||||
@Autowired
|
||||
private DevLinkMiaoQingDataService miaoQingDataService; //苗情设备数据获取
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 在执行定时任务中出现了异常会终止调度,所以需要捕获异常以便于下一轮
|
||||
* 执行,不会影响下一次执行
|
||||
* 获取虫情设备实时数据并保存
|
||||
*/
|
||||
public void getRenkeDeviceRealtimeData() throws Exception{
|
||||
|
||||
//获取设备实时数据
|
||||
//请求参数
|
||||
HttpResponse response = HttpRequest.get("http://api.farm.0531yun.cn/api/v2.0/entrance/device/getRealTimeData")
|
||||
.header("token", renKeAuthorizationService.getToken())
|
||||
.execute();
|
||||
String respBodyStr = response.body();
|
||||
if(StringUtils.isBlank(respBodyStr)) {
|
||||
throw new RuntimeException("获取设备实时数据失败!");
|
||||
}
|
||||
JSONObject respBody = JSONUtil.parseObj(respBodyStr);
|
||||
JSONArray realtimeList = JSONUtil.parseArray(respBody.get("data"));
|
||||
// threadPoolTaskExecutor.execute( () -> {System.err.println("设备实时数据:"+realtimeList);});
|
||||
|
||||
//TODO 解析实时数据保存到数据库
|
||||
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("插入失败!");
|
||||
};
|
||||
}
|
||||
|
||||
public void getWormsDeviceRealtimeData() throws Exception{
|
||||
DeviceRealtimedataWorms deviceRealtimedataWorms = wormsService.setData("1017240042");
|
||||
int i = deviceRealtimedataWormsMapper.insert(deviceRealtimedataWorms);
|
||||
if (i<1){
|
||||
System.out.println("插入数据失败!");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取气象设备实时数据并保存
|
||||
*/
|
||||
public void getDevLinkMetDeviceRealtimeData() throws Exception{
|
||||
DeviceRealtimedataMeteorology deviceRealtimedataMeteorology = metDataService.setData(metDataService.getMetDeviceRealData("3269"));
|
||||
int i = deviceRealtimedataMeteorologyMapper.insert(deviceRealtimedataMeteorology);
|
||||
if (i<1){
|
||||
System.out.println("插入数据失败!");
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* 获取墒情设备实时数据并保存
|
||||
*/
|
||||
public void getDevLinkMoistureDeviceRealtimeData() throws Exception{
|
||||
DeviceRealtimedataMoisture deviceRealtimedataMoisture = moistureDataService.setData(moistureDataService.getMetDeviceRealData("3270"));
|
||||
int i = deviceRealtimedataMoistureMapper.insert(deviceRealtimedataMoisture);
|
||||
if (i<1)
|
||||
System.out.println("插入数据失败!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取光伏设备实时数据并保存
|
||||
*/
|
||||
public void getDevLinkPhotovoltaicDeviceRealtimeData() throws Exception{
|
||||
DeviceRealtimedataPhotovoltaic deviceRealtimedataPhotovoltaic = photovoltaicDataService.setData(photovoltaicDataService.getMetDeviceRealData("3276"));
|
||||
int i = deviceRealtimedataPhotovoltaicMapper.insert(deviceRealtimedataPhotovoltaic);
|
||||
if (i<1)
|
||||
System.out.println("插入数据失败!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取苗情设备实时数据并保存
|
||||
*/
|
||||
public void getDevLinkMiaoqingDeviceRealtimeData() throws Exception{
|
||||
DeviceRealtimedataMiaoqing deviceRealtimedataMiaoqing = miaoQingDataService.setData(miaoQingDataService.getMetDeviceRealData("3275"));
|
||||
int i = deviceRealtimedataMiaoqingMapper.insert(deviceRealtimedataMiaoqing);
|
||||
if (i<1)
|
||||
System.out.println("插入数据失败!");
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user