虫情设备实时数据接口

This commit is contained in:
zhumeixiao 2024-11-27 10:34:29 +08:00
parent fea04d914c
commit 646c8f0fc5
6 changed files with 84 additions and 5 deletions

View File

@ -31,9 +31,7 @@ public class DeviceRealtimedataMoistureController {
public AjaxResult getLatestWeatherRealtimedata( String deviceId) {
return AjaxResult.success(deviceRealtimedataMoistureService.getLatestWeatherRealtimedata(deviceId));
}
/**
* 获取最新一条墒情设备下拉列表
*/
@GetMapping("/weather/pullDown")
public AjaxResult getLatestWeatherPullDown() {
return AjaxResult.success(deviceInformationMoistureService.selectDeviceInformationMoistureList(null));

View File

@ -0,0 +1,28 @@
package com.fastbee.data.controller.aaScreenAgricultural;
import com.fastbee.common.core.domain.AjaxResult;
import com.fastbee.deviceData.service.IDeviceRealtimedataMoistureService;
import com.fastbee.deviceData.service.impl.DeviceRealtimedataWormsServiceImpl;
import com.fastbee.deviceInfo.service.IDeviceInformationMoistureService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController()
@RequestMapping("/worms")
public class DeviceRealtimedataWormsController {
@Autowired
private DeviceRealtimedataWormsServiceImpl deviceRealtimedataWormsServiceImpl;
/**
* 获取最新一条墒情数据
*/
@GetMapping("/weather/realtimedata")
public AjaxResult getLatestWeatherRealtimedata(String deviceId) {
return AjaxResult.success(deviceRealtimedataWormsServiceImpl.getLatestWeatherRealtimedata(deviceId));
}
}

View File

@ -2,6 +2,7 @@ package com.fastbee.quartz.mapper;
import java.util.List;
import com.fastbee.quartz.domain.SysJob;
import org.apache.ibatis.annotations.Mapper;
/**
* 调度任务信息 数据层

View File

@ -24,9 +24,8 @@ import java.util.Date;
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName("iot_device_realtimedata_worms")
public class DeviceRealtimedataWorms extends BaseEntity
public class DeviceRealtimedataWorms
{
private static final long serialVersionUID = 1L;

View File

@ -2,6 +2,7 @@ package com.fastbee.deviceData.service;
import java.util.List;
import com.fastbee.deviceData.domain.DeviceRealtimedataWorms;
import com.fastbee.deviceData.domain.dto.DeviceProperties;
import org.apache.ibatis.annotations.Mapper;
/**
@ -60,4 +61,10 @@ public interface IDeviceRealtimedataWormsService
* @return 结果
*/
public int deleteDeviceRealtimedataWormsById(Long id);
/**
* 获取虫情的最新一条数据
* @return
*/
public List<DeviceProperties> getLatestWeatherRealtimedata(String deviceId);
}

View File

@ -1,7 +1,12 @@
package com.fastbee.deviceData.service.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fastbee.deviceData.domain.DeviceRealtimedataMoisture;
import com.fastbee.deviceData.domain.dto.DeviceProperties;
import com.fastbee.deviceData.service.IDeviceRealtimedataWormsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -93,4 +98,45 @@ public class DeviceRealtimedataWormsServiceImpl implements IDeviceRealtimedataW
{
return deviceRealtimedataWormsMapper.deleteDeviceRealtimedataWormsById(id);
}
/**
* 获取虫情的最新一条数据
* @return
*/
public List<DeviceProperties> getLatestWeatherRealtimedata(String deviceId){
System.err.println(deviceId);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.orderByDesc("real_time");
queryWrapper.last("limit 1");
queryWrapper.eq("device_addr",deviceId);
DeviceRealtimedataWorms moisture = deviceRealtimedataWormsMapper.selectOne(queryWrapper);
List<DeviceProperties> devicePropertiesList = new ArrayList<>();
if(Objects.isNull(moisture)){
return devicePropertiesList;
}
devicePropertiesList.add(DeviceProperties.builder().name("设备编号").value(moisture.getDeviceAddr().toString()).unit("").build());
devicePropertiesList.add(DeviceProperties.builder().name("降雨状态").value(moisture.getRain().toString()).unit("").build());
devicePropertiesList.add(DeviceProperties.builder().name("杀虫挡板").value(moisture.getWormFlap().toString()).unit("m/s").build());
devicePropertiesList.add(DeviceProperties.builder().name("杀虫仓温度").value(moisture.getInsecticideTem().toString()).unit("°C").build());
devicePropertiesList.add(DeviceProperties.builder().name("震动装置").value(moisture.getShake().toString()).unit("").build());
devicePropertiesList.add(DeviceProperties.builder().name("经度").value(moisture.getLng().toString()).unit("°").build());
devicePropertiesList.add(DeviceProperties.builder().name("烘干挡板").value(moisture.getDryingFlap().toString()).unit("").build());
devicePropertiesList.add(DeviceProperties.builder().name("杀虫控制").value(moisture.getInsecticide().toString()).unit("").build());
devicePropertiesList.add(DeviceProperties.builder().name("移虫挡板").value(moisture.getMoveWorm().toString()).unit("").build());
devicePropertiesList.add(DeviceProperties.builder().name("运行模式").value(moisture.getMode().toString()).unit("").build());
devicePropertiesList.add(DeviceProperties.builder().name("烘干控制").value(moisture.getDrying().toString()).unit("").build());
devicePropertiesList.add(DeviceProperties.builder().name("虫雨挡板").value(moisture.getRainFlap().toString()).unit("").build());
devicePropertiesList.add(DeviceProperties.builder().name("诱虫灯状态").value(moisture.getAttractWorm().toString()).unit("°C").build());
devicePropertiesList.add(DeviceProperties.builder().name("光照度").value(moisture.getIllum().toString()).unit("Lux").build());
devicePropertiesList.add(DeviceProperties.builder().name("烘干仓温度").value(moisture.getDryingTem().toString()).unit("°C").build());
devicePropertiesList.add(DeviceProperties.builder().name("纬度").value(moisture.getLat().toString()).unit("°").build());
devicePropertiesList.add(DeviceProperties.builder().name("补光灯").value(moisture.getFillLight().toString()).unit("").build());
devicePropertiesList.add(DeviceProperties.builder().name("设备状态").value(moisture.getStatus().toString()).unit("").build());
devicePropertiesList.add(DeviceProperties.builder().name("保存时间").value(moisture.getSaveTime().toString()).unit("").build());
devicePropertiesList.add(DeviceProperties.builder().name("实时时间").value(moisture.getRealTime().toString()).unit("").build());
devicePropertiesList.add(DeviceProperties.builder().name("摄像头").value(moisture.getCamera().toString()).unit("").build());
devicePropertiesList.add(DeviceProperties.builder().name("虫害照片").value(moisture.getPestPhotos().toString()).unit("").build());
return devicePropertiesList;
}
}