虫情设备实时数据接口
This commit is contained in:
parent
646c8f0fc5
commit
5a83a183dd
@ -56,6 +56,7 @@ public class AjaxResult extends HashMap<String, Object>
|
||||
{
|
||||
super.put(DATA_TAG, data);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.fastbee.data.controller.aaScreenAgricultural;
|
||||
|
||||
import com.fastbee.common.core.controller.BaseController;
|
||||
import com.fastbee.common.core.domain.AjaxResult;
|
||||
import com.fastbee.deviceData.service.IDeviceRealtimedataMoistureService;
|
||||
import com.fastbee.deviceData.service.impl.DeviceRealtimedataWormsServiceImpl;
|
||||
@ -11,18 +12,24 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RestController()
|
||||
@RequestMapping("/worms")
|
||||
public class DeviceRealtimedataWormsController {
|
||||
|
||||
@Autowired
|
||||
public class DeviceRealtimedataWormsController extends BaseController {
|
||||
/**
|
||||
* 虫情实时数据
|
||||
*/
|
||||
@Autowired
|
||||
private DeviceRealtimedataWormsServiceImpl deviceRealtimedataWormsServiceImpl;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取最新一条墒情数据
|
||||
* 获取设备编码虫情的最新一条数据
|
||||
*/
|
||||
@GetMapping("/weather/realtimedata")
|
||||
public AjaxResult getLatestWeatherRealtimedata(String deviceId) {
|
||||
return AjaxResult.success(deviceRealtimedataWormsServiceImpl.getLatestWeatherRealtimedata(deviceId));
|
||||
@GetMapping("/latest/realtimedata")
|
||||
public AjaxResult getLatestWormsRealtimedata(String deviceId) {
|
||||
return AjaxResult.success(deviceRealtimedataWormsServiceImpl.getLatestWormsRealtimedata(deviceId));
|
||||
}
|
||||
@GetMapping("/all/realtimedata")
|
||||
public AjaxResult getAllRealtimedata() {
|
||||
return AjaxResult.success(deviceRealtimedataWormsServiceImpl.getWormsRealtimedata());
|
||||
}
|
||||
}
|
||||
|
@ -24,9 +24,8 @@ import com.fastbee.common.core.domain.BaseEntity;
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("iot_device_realtimedata_miaoQing")
|
||||
public class DeviceRealtimedataMiaoqing extends BaseEntity
|
||||
public class DeviceRealtimedataMiaoqing
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
@ -5,6 +5,7 @@ import java.util.List;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.fastbee.deviceData.domain.DeviceRealtimedataWorms;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
/**
|
||||
* 虫情设备实时数据Mapper接口
|
||||
@ -62,4 +63,16 @@ public interface DeviceRealtimedataWormsMapper extends BaseMapper<DeviceRealtime
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteDeviceRealtimedataWormsByIds(Long[] ids);
|
||||
/**
|
||||
* 获取最新的虫情监控
|
||||
* @return
|
||||
*/
|
||||
@Select("SELECT t1.* " +
|
||||
"FROM iot_device_realtimedata_worms t1 " +
|
||||
"JOIN ( " +
|
||||
" SELECT device_addr, MAX(save_time) AS max_save_time " +
|
||||
" FROM iot_device_realtimedata_worms " +
|
||||
" GROUP BY device_addr " +
|
||||
") t2 ON t1.device_addr = t2.device_addr AND t1.save_time = t2.max_save_time")
|
||||
public List<DeviceRealtimedataWorms> getWormsRealtimedata();
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package com.fastbee.deviceData.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.fastbee.deviceData.domain.DeviceRealtimedataMiaoqing;
|
||||
import com.fastbee.deviceData.domain.dto.DeviceProperties;
|
||||
|
||||
/**
|
||||
* 苗青设备实时数据Service接口
|
||||
@ -58,4 +59,11 @@ public interface IDeviceRealtimedataMiaoqingService
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteDeviceRealtimedataMiaoqingById(Long id);
|
||||
|
||||
/**
|
||||
* 获取最新一条苗青数据
|
||||
* @param deviceId
|
||||
* @return
|
||||
*/
|
||||
public List<DeviceProperties> getLatestMiaoqingRealtimedata(String deviceId);
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import java.util.List;
|
||||
import com.fastbee.deviceData.domain.DeviceRealtimedataWorms;
|
||||
import com.fastbee.deviceData.domain.dto.DeviceProperties;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
/**
|
||||
* 虫情设备实时数据Service接口
|
||||
@ -63,8 +64,21 @@ public interface IDeviceRealtimedataWormsService
|
||||
public int deleteDeviceRealtimedataWormsById(Long id);
|
||||
|
||||
/**
|
||||
* 获取虫情的最新一条数据
|
||||
* 获取设备编码虫情的最新一条数据
|
||||
* @return
|
||||
*/
|
||||
public List<DeviceProperties> getLatestWeatherRealtimedata(String deviceId);
|
||||
public DeviceRealtimedataWorms getLatestWormsRealtimedata(String deviceId);
|
||||
|
||||
/**
|
||||
* 获取最新的虫情监控
|
||||
* @return
|
||||
*/
|
||||
@Select("SELECT t1.* " +
|
||||
"FROM iot_device_realtimedata_worms t1 " +
|
||||
"JOIN ( " +
|
||||
" SELECT device_addr, MAX(save_time) AS max_save_time " +
|
||||
" FROM iot_device_realtimedata_worms " +
|
||||
" GROUP BY device_addr " +
|
||||
") t2 ON t1.device_addr = t2.device_addr AND t1.save_time = t2.max_save_time")
|
||||
public List<DeviceRealtimedataWorms> getWormsRealtimedata();
|
||||
}
|
||||
|
@ -1,7 +1,13 @@
|
||||
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.common.utils.DateUtils;
|
||||
import com.fastbee.deviceData.domain.DeviceRealtimedataWorms;
|
||||
import com.fastbee.deviceData.domain.dto.DeviceProperties;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.fastbee.deviceData.mapper.DeviceRealtimedataMiaoqingMapper;
|
||||
@ -53,7 +59,6 @@ public class DeviceRealtimedataMiaoqingServiceImpl implements IDeviceRealtimedat
|
||||
@Override
|
||||
public int insertDeviceRealtimedataMiaoqing(DeviceRealtimedataMiaoqing deviceRealtimedataMiaoqing)
|
||||
{
|
||||
deviceRealtimedataMiaoqing.setCreateTime(DateUtils.getNowDate());
|
||||
return deviceRealtimedataMiaoqingMapper.insertDeviceRealtimedataMiaoqing(deviceRealtimedataMiaoqing);
|
||||
}
|
||||
|
||||
@ -92,4 +97,23 @@ public class DeviceRealtimedataMiaoqingServiceImpl implements IDeviceRealtimedat
|
||||
{
|
||||
return deviceRealtimedataMiaoqingMapper.deleteDeviceRealtimedataMiaoqingById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取最新一条苗青数据
|
||||
* @param deviceId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<DeviceProperties> getLatestMiaoqingRealtimedata(String deviceId){
|
||||
System.err.println(deviceId);
|
||||
QueryWrapper queryWrapper = new QueryWrapper();
|
||||
queryWrapper.orderByDesc("real_time");
|
||||
queryWrapper.last("limit 1");
|
||||
queryWrapper.eq("device_addr",deviceId);
|
||||
DeviceRealtimedataMiaoqing miaoqing = deviceRealtimedataMiaoqingMapper.selectOne(queryWrapper);
|
||||
if(Objects.isNull(miaoqing)){
|
||||
// return devicePropertiesList;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.fastbee.deviceData.service.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@ -100,43 +101,21 @@ public class DeviceRealtimedataWormsServiceImpl implements IDeviceRealtimedataW
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取虫情的最新一条数据
|
||||
* 获取设备编码虫情的最新一条数据
|
||||
* @return
|
||||
*/
|
||||
public List<DeviceProperties> getLatestWeatherRealtimedata(String deviceId){
|
||||
public DeviceRealtimedataWorms getLatestWormsRealtimedata(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);
|
||||
return moisture;
|
||||
}
|
||||
|
||||
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;
|
||||
@Override
|
||||
public List<DeviceRealtimedataWorms> getWormsRealtimedata() {
|
||||
return deviceRealtimedataWormsMapper.getWormsRealtimedata();
|
||||
}
|
||||
}
|
||||
|
@ -158,4 +158,13 @@
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
<select id="getWormsRealtimedata" resultType="DeviceRealtimedataWorms">
|
||||
SELECT t1.*
|
||||
FROM iot_device_realtimedata_worms t1
|
||||
JOIN (
|
||||
SELECT device_addr, MAX(save_time) AS max_save_time
|
||||
FROM iot_device_realtimedata_worms
|
||||
GROUP BY device_addr
|
||||
) t2 ON t1.device_addr = t2.device_addr AND t1.save_time = t2.max_save_time
|
||||
</select>
|
||||
</mapper>
|
Loading…
x
Reference in New Issue
Block a user