同步代码

This commit is contained in:
mi9688
2024-11-29 19:11:30 +08:00
parent 9327c600f7
commit 172bd4f89d
28 changed files with 552 additions and 182 deletions

View File

@ -1,22 +1,37 @@
package com.fastbee.iot.timer;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.fastbee.deviceData.api.devlink.service.ZhanLianMetDataService;
import com.fastbee.deviceData.api.devlink.service.ZhanLianMiaoQingDataService;
import com.fastbee.deviceData.api.devlink.service.ZhanLianMoistureDataService;
import com.fastbee.deviceData.api.devlink.service.ZhanLianPhotovoltaicDataService;
import com.fastbee.deviceData.api.renke.service.RenkeDeviceDataService;
import com.fastbee.deviceData.api.renke.service.RenkeTargetpestsDeviceDataService;
import com.fastbee.deviceData.api.renke.service.RenkeWormDeviceDataService;
import com.fastbee.deviceData.domain.*;
import com.fastbee.deviceData.mapper.*;
import com.fastbee.deviceData.service.IDeviceRealtimedataWormsService;
import com.fastbee.deviceData.service.impl.DeviceRealtimedataMeteorologyServiceImpl;
import com.fastbee.deviceData.service.impl.DeviceRealtimedataWormsServiceImpl;
import com.fastbee.deviceInfo.domain.DeviceInformationMeteorology;
import com.fastbee.deviceInfo.domain.DeviceInformationMoisture;
import com.fastbee.deviceInfo.domain.DeviceInformationTargetpests;
import com.fastbee.deviceInfo.domain.DeviceInformationWorms;
import com.fastbee.deviceInfo.mapper.*;
import com.fastbee.iot.mapper.DeviceMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author mijiupro
*/
@Component("agricultureDeviceDateTask")
@Slf4j
public class DeviceDateTask {
//
@ -30,10 +45,10 @@ public class DeviceDateTask {
private DeviceMapper deviceMapper;
@Autowired
private DeviceRealtimedataWormsMapper deviceRealtimedataWormsMapper;
private DeviceRealtimedataWormsServiceImpl wormsDataService;//虫情
@Autowired
private DeviceRealtimedataMeteorologyMapper deviceRealtimedataMeteorologyMapper;
private DeviceRealtimedataMeteorologyServiceImpl meteorologyDataService;
@Autowired
private DeviceRealtimedataMoistureMapper deviceRealtimedataMoistureMapper;
@ -45,7 +60,7 @@ public class DeviceDateTask {
private DeviceRealtimedataMiaoqingMapper deviceRealtimedataMiaoqingMapper;
@Autowired
private RenkeDeviceDataService wormsService; //虫情设备数据获取
private RenkeWormDeviceDataService wormsService; //虫情设备数据获取
@Autowired
private ZhanLianMetDataService metDataService; //气象设备数据获取
@ -59,6 +74,24 @@ public class DeviceDateTask {
@Autowired
private ZhanLianMiaoQingDataService miaoQingDataService; //苗情设备数据获取
@Autowired
private RenkeTargetpestsDeviceDataService targetpestsDeviceDataService;
@Autowired
private DeviceInformationWormsMapper wormsMapper;
@Autowired
private DeviceInformationMeteorologyMapper meteorologyMapper;
@Autowired
private DeviceInformationMoistureMapper moistureMapper;
@Autowired
private DeviceInformationMonitorMapper monitorMapper;
@Autowired
private DeviceInformationTargetpestsMapper targetpestsMapper;
@ -66,36 +99,90 @@ public class DeviceDateTask {
/**
* 获取虫情设备实时数据并保存
*/
public void getWormsDeviceRealtimeData() throws Exception{
DeviceRealtimedataWorms deviceRealtimedataWorms = wormsService.setData("1017240042");
int i = deviceRealtimedataWormsMapper.insert(deviceRealtimedataWorms);
if (i<1){
System.out.println("插入数据失败!");
public void getWormsDeviceRealtimeData() {
try{
List<DeviceInformationWorms> list = new LambdaQueryChainWrapper<>(wormsMapper).select(DeviceInformationWorms::getDeviceEncoding).list();
StringBuilder deviceAddrsStringBuilder= new StringBuilder("");
for (DeviceInformationWorms worms : list) {
deviceAddrsStringBuilder.append(worms.getDeviceEncoding());
deviceAddrsStringBuilder.append(",");
}
//去除最后,
StringBuilder stringBuilder = deviceAddrsStringBuilder.deleteCharAt(deviceAddrsStringBuilder.length() - 1);
String deviceAddrs = stringBuilder.toString();
List<DeviceRealtimedataWorms> deviceRealtimedataWorms = wormsService.setData(deviceAddrs);
// int i = deviceRealtimedataWormsMapper.in(deviceRealtimedataWorms);
boolean saved = wormsDataService.saveBatch(deviceRealtimedataWorms);
if (!saved){
System.out.println("插入数据失败!");
}
}
catch (Exception e){
log.error("获取虫情设备实时数据失败",e);
new LambdaUpdateChainWrapper<>(wormsMapper).eq(DeviceInformationWorms::getDeviceEncoding,"1017240042").set(DeviceInformationWorms::getStatus, 0).update();
}
}
/**
* 获取气象设备实时数据并保存
*/
public void getDevLinkMetDeviceRealtimeData() throws Exception{
DeviceRealtimedataMeteorology deviceRealtimedataMeteorology = metDataService.setData(metDataService.getDeviceRealTimeData("3269"));
int i = deviceRealtimedataMeteorologyMapper.insert(deviceRealtimedataMeteorology);
if (i<1){
System.out.println("插入数据失败!");
public void getDevLinkMetDeviceRealtimeData(){
try{
List<DeviceInformationMeteorology> list = new LambdaQueryChainWrapper<>(meteorologyMapper).select(DeviceInformationMeteorology::getDeviceEncoding).list();
DeviceRealtimedataMeteorology deviceRealtimedataMeteorology = metDataService.setData(metDataService.getDeviceRealTimeData("3269"));
boolean save = meteorologyDataService.save(deviceRealtimedataMeteorology);
if (!save){
System.out.println("插入数据失败!");
}
}
catch (Exception e){
log.error("获取气象设备实时数据失败",e);
new LambdaUpdateChainWrapper<>(meteorologyMapper).eq(DeviceInformationMeteorology::getDeviceEncoding,"3269").set(DeviceInformationMeteorology::getStatus, 0).update();
}
}
/**
* 获取墒情设备实时数据并保存
*/
public void getDevLinkMoistureDeviceRealtimeData() throws Exception{
DeviceRealtimedataMoisture deviceRealtimedataMoisture = moistureDataService.setData(moistureDataService.getDeviceRealTimeData("3270"));
DeviceRealtimedataMoisture deviceRealtimedataMoisture1 = moistureDataService.setData(moistureDataService.getDeviceRealTimeData("3271"));
int i = deviceRealtimedataMoistureMapper.insert(deviceRealtimedataMoisture);
int i1 = deviceRealtimedataMoistureMapper.insert(deviceRealtimedataMoisture1);
if (i<1||i1<1)
System.out.println("插入数据失败!");
public void getDevLinkMoistureDeviceRealtimeData() {
try{
DeviceRealtimedataMoisture deviceRealtimedataMoisture = moistureDataService.setData(moistureDataService.getDeviceRealTimeData("3270"));
DeviceRealtimedataMoisture deviceRealtimedataMoisture1 = moistureDataService.setData(moistureDataService.getDeviceRealTimeData("3271"));
int i = deviceRealtimedataMoistureMapper.insert(deviceRealtimedataMoisture);
int i1 = deviceRealtimedataMoistureMapper.insert(deviceRealtimedataMoisture1);
if (i<1||i1<1)
System.out.println("插入数据失败!");
}
catch (Exception e){
log.error("获取墒情设备实时数据失败",e);
new LambdaUpdateChainWrapper<>(moistureMapper).in(DeviceInformationMoisture::getDeviceEncoding,"3270","3271").set(DeviceInformationMoisture::getStatus, 0).update();
}
}
/**
* 获取杀虫灯设备实时数据并保存
*/
public void getDevLinkTargetpestsDeviceRealtimeData() {
try{
//查询杀虫灯设备列表
StringBuilder deviceAddrsStringBuilder= new StringBuilder("");
List<DeviceInformationTargetpests> list = new LambdaQueryChainWrapper<>(targetpestsMapper).select(DeviceInformationTargetpests::getDeviceEncoding).list();
for(DeviceInformationTargetpests targetpests:list){
deviceAddrsStringBuilder.append(targetpests.getDeviceEncoding());
deviceAddrsStringBuilder.append(",");
}
//去除最后,
StringBuilder stringBuilder = deviceAddrsStringBuilder.deleteCharAt(deviceAddrsStringBuilder.length() - 1);
String deviceAddrs = stringBuilder.toString();
//拼接设备编码
System.err.println("拼接后设备地址参数编码:"+deviceAddrs);
targetpestsDeviceDataService.setData(deviceAddrs);
}
catch (Exception e){
log.error("获取杀虫灯设备实时数据失败",e);
}
}
/**