fix (farm): 设备中心

- 土壤墒情传感器-历史数据解析问题
This commit is contained in:
达富斌
2025-10-01 14:40:10 +08:00
parent 0cacab47ea
commit 636da5a512
3 changed files with 46 additions and 36 deletions

View File

@@ -64,10 +64,10 @@ public class HistoryDataListPageReqVO {
public static HistoryDataListPageReqVO buildHistoryData(String deviceAddr, Integer dateType) {
HistoryDataListPageReqVO target = new HistoryDataListPageReqVO();
switch (dateType) {
case 12 -> HistoryDataTimeRangeUtil.getLast12Hours();
case 24 -> HistoryDataTimeRangeUtil.getLast24Hours();
case 3 -> HistoryDataTimeRangeUtil.getLast3Days();
case 7 -> HistoryDataTimeRangeUtil.getLast7Days();
case 12 -> target = HistoryDataTimeRangeUtil.getLast12Hours();
case 24 -> target = HistoryDataTimeRangeUtil.getLast24Hours();
case 3 -> target = HistoryDataTimeRangeUtil.getLast3Days();
case 7 -> target = HistoryDataTimeRangeUtil.getLast7Days();
}
target.setDeviceAddr(deviceAddr);
return target;
@@ -125,10 +125,10 @@ public class HistoryDataListPageReqVO {
* 构建请求VO对象
*/
private static HistoryDataListPageReqVO buildRequestVO(LocalDateTime startTime, LocalDateTime endTime) {
// long startTime = startLocalDateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
// long startTime = startLocalDateTime.atZone(ZoneId.systemDefault()).toInstant().getEpochSecond();
// long endTime = endLocalDateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
Long beginTimeStamp = startTime.atZone(ZoneId.systemDefault()).toInstant().getEpochSecond();
Long endTimeStamp = endTime.atZone(ZoneId.systemDefault()).toInstant().getEpochSecond();
Long beginTimeStamp = startTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
Long endTimeStamp = endTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
log.info("查询时间戳:{}-{}", beginTimeStamp, endTimeStamp);
return new HistoryDataListPageReqVO(beginTimeStamp, endTimeStamp);

View File

@@ -15,14 +15,24 @@ import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
public class HistoryDataListPageRespVO {
/**
* 页码,每页数量,总页数,总条数
*/
private Integer pages;
private Integer limit;
private Integer totalPages;
private Integer total;
private List<Row> rows;
private String code;
private String message;
private HistoryDataList data;
@Data
@AllArgsConstructor
@NoArgsConstructor
public static class HistoryDataList {
/**
* 页码,每页数量,总页数,总条数
*/
private Integer pages;
private Integer limit;
private Integer totalPages;
private Integer total;
private List<Row> rows;
}
@Data
@AllArgsConstructor

View File

@@ -281,27 +281,27 @@ public class SoilService extends AbstractDeviceService {
}
private void saveHistoryDataToDatabase(HistoryDataListPageRespVO response, HistoryDataListPageReqVO request) {
if (historyDataStorageService != null && response.getRows() != null) {
// 转换为实体类
List<HistoryDataStorageService.HistoryDataEntity> entities = response.getRows().stream()
.map(row -> {
HistoryDataStorageService.HistoryDataEntity entity = new HistoryDataStorageService.HistoryDataEntity();
entity.setHistoryId(row.getHistoryId());
entity.setNodeId(row.getNodeId());
entity.setDeviceAddress(row.getDeviceAddress());
entity.setTemStr(row.getTemStr());
entity.setTemValue(row.getTemValue());
entity.setHumStr(row.getHumStr());
entity.setHumValue(row.getHumValue());
entity.setAlarmStatus(row.getAlarmStatus());
entity.setRecordTime(row.getRecordTime());
return entity;
})
.collect(Collectors.toList());
// 保存到模拟数据库
historyDataStorageService.saveHistoryData(request.getDeviceAddr(), entities);
}
// if (historyDataStorageService != null && response.getRows() != null) {
// // 转换为实体类
// List<HistoryDataStorageService.HistoryDataEntity> entities = response.getRows().stream()
// .map(row -> {
// HistoryDataStorageService.HistoryDataEntity entity = new HistoryDataStorageService.HistoryDataEntity();
// entity.setHistoryId(row.getHistoryId());
// entity.setNodeId(row.getNodeId());
// entity.setDeviceAddress(row.getDeviceAddress());
// entity.setTemStr(row.getTemStr());
// entity.setTemValue(row.getTemValue());
// entity.setHumStr(row.getHumStr());
// entity.setHumValue(row.getHumValue());
// entity.setAlarmStatus(row.getAlarmStatus());
// entity.setRecordTime(row.getRecordTime());
// return entity;
// })
// .collect(Collectors.toList());
//
// // 保存到模拟数据库
// historyDataStorageService.saveHistoryData(request.getDeviceAddr(), entities);
// }
}
}