zhouhao 5 years ago
parent
commit
885d38fa1f

+ 3 - 6
jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/service/LocalDeviceInstanceService.java

@@ -243,15 +243,12 @@ public class LocalDeviceInstanceService extends GenericReactiveCrudService<Devic
     }
 
     private Mono<DevicePropertiesEntity> doGetDeviceProperty(String productId, String deviceId, String property) {
-        QueryParam queryParam = Query.of()
+        return Query.of()
             .and(DevicePropertiesEntity::getDeviceId, deviceId)
             .and(DevicePropertiesEntity::getProperty, property)
-            .orderByDesc("timestamp")
             .doPaging(0, 1)
-            .getParam();
-        return timeSeriesManager
-            .getService(DeviceTimeSeriesMetric.devicePropertyMetric(productId))
-            .query(queryParam)
+            .execute(timeSeriesManager
+                .getService(DeviceTimeSeriesMetric.devicePropertyMetric(productId))::query)
             .map(data -> data.as(DevicePropertiesEntity.class))
             .singleOrEmpty();
     }

+ 5 - 1
jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/web/DeviceInstanceController.java

@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiOperation;
 import lombok.Getter;
 import lombok.extern.slf4j.Slf4j;
 import org.hswebframework.ezorm.core.param.QueryParam;
+import org.hswebframework.ezorm.core.param.TermType;
 import org.hswebframework.ezorm.rdb.exception.DuplicateKeyException;
 import org.hswebframework.web.api.crud.entity.PagerResult;
 import org.hswebframework.web.api.crud.entity.QueryParamEntity;
@@ -154,7 +155,10 @@ public class DeviceInstanceController implements
                                                                       QueryParamEntity entity) {
         return registry.getDevice(deviceId)
             .flatMap(operator -> operator.getSelfConfig(DeviceConfigKey.productId))
-            .flatMap(productId -> timeSeriesManager.getService(DeviceTimeSeriesMetric.deviceLogMetric(productId)).queryPager(entity, data -> data.as(DeviceOperationLogEntity.class)))
+            .flatMap(productId -> timeSeriesManager
+                .getService(DeviceTimeSeriesMetric.deviceLogMetric(productId))
+                .queryPager(entity.and("deviceId", TermType.eq, deviceId),
+                    data -> data.as(DeviceOperationLogEntity.class)))
             .defaultIfEmpty(PagerResult.empty());
     }