修改最新数据返回

This commit is contained in:
zhumeixiao 2024-11-19 17:53:25 +08:00
parent 7ee2b1bba8
commit bfafd4bb80
5 changed files with 77 additions and 6 deletions

View File

@ -0,0 +1,16 @@
package com.fastbee.deviceData.domain.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DeviceProperties {
public String name;
public String value;
public String unit;
}

View File

@ -1,7 +1,10 @@
package com.fastbee.deviceData.service; package com.fastbee.deviceData.service;
import java.util.List; import java.util.List;
import java.util.Map;
import com.fastbee.deviceData.domain.DeviceRealtimedataMeteorology; import com.fastbee.deviceData.domain.DeviceRealtimedataMeteorology;
import com.fastbee.deviceData.domain.dto.DeviceProperties;
/** /**
* 气象设备实时数据Service接口 * 气象设备实时数据Service接口
@ -63,5 +66,5 @@ public interface IDeviceRealtimedataMeteorologyService
* 获取最新的一条气象数据 * 获取最新的一条气象数据
* @return * @return
*/ */
public DeviceRealtimedataMeteorology getLatestWeatherRealtimedata(); public List<DeviceProperties> getLatestWeatherRealtimedata();
} }

View File

@ -2,6 +2,7 @@ package com.fastbee.deviceData.service;
import java.util.List; import java.util.List;
import com.fastbee.deviceData.domain.DeviceRealtimedataMoisture; import com.fastbee.deviceData.domain.DeviceRealtimedataMoisture;
import com.fastbee.deviceData.domain.dto.DeviceProperties;
/** /**
* 墒情实时数据Service接口 * 墒情实时数据Service接口
@ -63,5 +64,5 @@ public interface IDeviceRealtimedataMoistureService
* 获取最新一条墒情数据 * 获取最新一条墒情数据
* @return * @return
*/ */
public DeviceRealtimedataMoisture getLatestWeatherRealtimedata(); public List<DeviceProperties> getLatestWeatherRealtimedata();
} }

View File

@ -1,10 +1,14 @@
package com.fastbee.deviceData.service.impl; package com.fastbee.deviceData.service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fastbee.common.utils.DateUtils; import com.fastbee.common.utils.DateUtils;
import com.fastbee.deviceData.domain.dto.DeviceProperties;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.fastbee.deviceData.mapper.DeviceRealtimedataMeteorologyMapper; import com.fastbee.deviceData.mapper.DeviceRealtimedataMeteorologyMapper;
@ -102,10 +106,27 @@ public class DeviceRealtimedataMeteorologyServiceImpl implements IDeviceRealtime
* @return * @return
*/ */
@Override @Override
public DeviceRealtimedataMeteorology getLatestWeatherRealtimedata(){ public List<DeviceProperties> getLatestWeatherRealtimedata(){
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.orderByDesc("real_time"); queryWrapper.orderByDesc("real_time");
queryWrapper.last("limit 1"); queryWrapper.last("limit 1");
return deviceRealtimedataMeteorologyMapper.selectOne(queryWrapper); DeviceRealtimedataMeteorology meteorology = deviceRealtimedataMeteorologyMapper.selectOne(queryWrapper);
List<Map<String, String>> mapList = new ArrayList<>();
Map<String, String> map = new HashMap<String, String>();
List<DeviceProperties> devicePropertiesList = new ArrayList<>();
devicePropertiesList.add(DeviceProperties.builder().name("空气温度").value(meteorology.getAirTemp().toString()).unit("°C").build());
devicePropertiesList.add(DeviceProperties.builder().name("空气湿度").value(meteorology.getAirHumi().toString()).unit("°C").build());
devicePropertiesList.add(DeviceProperties.builder().name("风速").value(meteorology.getWindSpeed().toString()).unit("m/s").build());
devicePropertiesList.add(DeviceProperties.builder().name("风向").value(meteorology.getWindDir().toString()).unit("°").build());
devicePropertiesList.add(DeviceProperties.builder().name("大气压力").value(meteorology.getAirPre().toString()).unit("hPa").build());
devicePropertiesList.add(DeviceProperties.builder().name("光照度").value(meteorology.getGuangzhao().toString()).unit("lx").build());
devicePropertiesList.add(DeviceProperties.builder().name("光合有效辐射").value(meteorology.getFushe().toString()).unit("Lux").build());
devicePropertiesList.add(DeviceProperties.builder().name("累积雨量").value(meteorology.getSumRain().toString()).unit("mm").build());
devicePropertiesList.add(DeviceProperties.builder().name("瞬时雨量").value(meteorology.getInsRain().toString()).unit("mm").build());
devicePropertiesList.add(DeviceProperties.builder().name("日雨量").value(meteorology.getDayRain().toString()).unit("mm").build());
devicePropertiesList.add(DeviceProperties.builder().name("蒸发量").value(meteorology.getZhengfa().toString()).unit("t/h").build());
devicePropertiesList.add(DeviceProperties.builder().name("土壤温度").value(meteorology.getSoilTemp().toString()).unit("°C").build());
devicePropertiesList.add(DeviceProperties.builder().name("土壤湿度").value(meteorology.getSoilHumi().toString()).unit("°C").build());
return devicePropertiesList;
} }
} }

View File

@ -1,8 +1,12 @@
package com.fastbee.deviceData.service.impl; package com.fastbee.deviceData.service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fastbee.deviceData.domain.dto.DeviceProperties;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.fastbee.deviceData.mapper.DeviceRealtimedataMoistureMapper; import com.fastbee.deviceData.mapper.DeviceRealtimedataMoistureMapper;
@ -96,10 +100,36 @@ public class DeviceRealtimedataMoistureServiceImpl implements IDeviceRealtimedat
* 获取最新一条墒情数据 * 获取最新一条墒情数据
* @return * @return
*/ */
public DeviceRealtimedataMoisture getLatestWeatherRealtimedata(){ public List<DeviceProperties> getLatestWeatherRealtimedata(){
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.orderByDesc("real_time"); queryWrapper.orderByDesc("real_time");
queryWrapper.last("limit 1"); queryWrapper.last("limit 1");
return deviceRealtimedataMoistureMapper.selectOne(queryWrapper); DeviceRealtimedataMoisture moisture = deviceRealtimedataMoistureMapper.selectOne(queryWrapper);
List<Map<String, String>> mapList = new ArrayList<>();
Map<String, String> map = new HashMap<String, String>();
List<DeviceProperties> devicePropertiesList = new ArrayList<>();
devicePropertiesList.add(DeviceProperties.builder().name("土壤温度").value(moisture.getSoilTemp().toString()).unit("°C").build());
devicePropertiesList.add(DeviceProperties.builder().name("土壤湿度").value(moisture.getSoilHumi().toString()).unit("%").build());
devicePropertiesList.add(DeviceProperties.builder().name("土壤EC").value(moisture.getSoilEc().toString()).unit("MS/cm").build());
devicePropertiesList.add(DeviceProperties.builder().name("土壤Ph").value(moisture.getSoilPh().toString()).unit("").build());
devicePropertiesList.add(DeviceProperties.builder().name("一层土壤温度").value(moisture.getSoilTemp1().toString()).unit("°C").build());
devicePropertiesList.add(DeviceProperties.builder().name("一层土壤湿度").value(moisture.getSoilHumi1().toString()).unit("%").build());
devicePropertiesList.add(DeviceProperties.builder().name("二层土壤温度").value(moisture.getSoilTemp2().toString()).unit("°C").build());
devicePropertiesList.add(DeviceProperties.builder().name("二层土壤湿度").value(moisture.getSoilHumi2().toString()).unit("%").build());
devicePropertiesList.add(DeviceProperties.builder().name("三层土壤温度").value(moisture.getSoilTemp3().toString()).unit("°C").build());
devicePropertiesList.add(DeviceProperties.builder().name("三层土壤湿度").value(moisture.getSoilHumi3().toString()).unit("%").build());
devicePropertiesList.add(DeviceProperties.builder().name("四层土壤温度").value(moisture.getSoilTemp4().toString()).unit("°C").build());
devicePropertiesList.add(DeviceProperties.builder().name("四层土壤湿度").value(moisture.getSoilHumi4().toString()).unit("%").build());
devicePropertiesList.add(DeviceProperties.builder().name("环境温度").value(moisture.getAirTemp().toString()).unit("°C").build());
devicePropertiesList.add(DeviceProperties.builder().name("设备温度").value(moisture.getMppTemp().toString()).unit("%").build());
devicePropertiesList.add(DeviceProperties.builder().name("电池电量").value(moisture.getBatteryCap().toString()).unit("MAh").build());
devicePropertiesList.add(DeviceProperties.builder().name("电池电压").value(moisture.getBatteryVolt().toString()).unit("V").build());
devicePropertiesList.add(DeviceProperties.builder().name("电池电流").value(moisture.getBatteryCur().toString()).unit("I").build());
devicePropertiesList.add(DeviceProperties.builder().name("电池功率").value(moisture.getBatteryPower().toString()).unit("W").build());
devicePropertiesList.add(DeviceProperties.builder().name("负载电压").value(moisture.getLoadVolt().toString()).unit("V").build());
devicePropertiesList.add(DeviceProperties.builder().name("负载电流").value(moisture.getLoadCur().toString()).unit("I").build());
devicePropertiesList.add(DeviceProperties.builder().name("负载功率").value(moisture.getLoadPower().toString()).unit("W").build());
return devicePropertiesList;
} }
} }