jackzhou 7 months ago
parent
commit
661fc9708a

+ 2 - 3
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/core/service/JfcloudSensorDataService.java

@@ -64,7 +64,7 @@ public class JfcloudSensorDataService extends JfcloudFluxDataService<SensorData>
      * @param roads        路数
      * @param startTimeStr 查询开始时间
      * @param endTimeStr   查询结束时间
-     * @param field   temperature/humidity/co2
+     * @param field        temperature/humidity/co2
      * @return 查询到的传感器数据列表
      */
 
@@ -98,7 +98,6 @@ public class JfcloudSensorDataService extends JfcloudFluxDataService<SensorData>
 //        return results.stream().flatMap(table -> table.getRecords().stream()).map(fluxRecord -> mapRecordToEntity(fluxRecord, getEntityClass()))  // 转换为 SensorData 实体
 //                .collect(Collectors.toList());
 //    }
-
     public List<SensorData> queryDataByDeviceIdAndRoads(String deviceId, Integer roads, String startTimeStr, String endTimeStr, String field, AggregationWindow aggregationWindow) {
         Assert.notNull(deviceId, "deviceId cannot be null");
         Assert.notNull(roads, "roads cannot be null");
@@ -120,7 +119,7 @@ public class JfcloudSensorDataService extends JfcloudFluxDataService<SensorData>
         // 转换为ISO8601格式
         String startTimeFormatted = convertToISO8601(startTimeStr);
         String endTimeFormatted = convertToISO8601(endTimeStr);
-        String aggregationWindowA =aggregationWindow.getCode(); //FluxAggregationUtils.determineAggregationWindow(startTimeFormatted, endTimeFormatted);
+        String aggregationWindowA = aggregationWindow.getCode(); //FluxAggregationUtils.determineAggregationWindow(startTimeFormatted, endTimeFormatted);
         String measurement = "sensor_data"; // 数据表名称
         Map<String, String> filters = Map.of(
                 "device_id", deviceId,

+ 7 - 2
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/app/param/AggregationWindow.java

@@ -2,6 +2,8 @@ package vip.xiaonuo.coldchain.modular.app.param;
 
 import java.time.Duration;
 import java.time.Instant;
+import java.time.LocalDate;
+import java.time.ZoneId;
 
 /**
  * @author jackzhou
@@ -50,8 +52,11 @@ public enum AggregationWindow {
 
     // 根据时间范围计算推荐的聚合窗口
     public static AggregationWindow determineAggregationWindow(String startTime, String stopTime) {
-        Instant start = Instant.parse(startTime);
-        Instant stop = Instant.parse(stopTime);
+        LocalDate localDate = LocalDate.parse(startTime);  // Parse as LocalDate
+        Instant start = localDate.atStartOfDay(ZoneId.systemDefault()).toInstant();  // Convert to Instant
+
+        LocalDate localDate2 = LocalDate.parse(stopTime);  // Parse as LocalDate
+        Instant stop = localDate2.atStartOfDay(ZoneId.systemDefault()).toInstant();  // Convert to Instant
         Duration duration = Duration.between(start, stop);
         long days = duration.toDays();
         if (days >= 365) {

+ 0 - 1
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/app/service/AppDeviceService.java

@@ -174,7 +174,6 @@ public class AppDeviceService {
         if (StrUtil.isBlank(sensorType)) {
             return getEmptyResult();
         }
-
         // 定义传感器类型与数据类型的映射关系
         Map<String, String> sensorMapping = Map.of(
                 "w", "temperature", // 温度