diff --git a/jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/service/LocalDeviceInstanceService.java b/jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/service/LocalDeviceInstanceService.java index e144a773..a0a3a69e 100644 --- a/jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/service/LocalDeviceInstanceService.java +++ b/jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/service/LocalDeviceInstanceService.java @@ -243,15 +243,12 @@ public class LocalDeviceInstanceService extends GenericReactiveCrudService 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(); } diff --git a/jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/web/DeviceInstanceController.java b/jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/web/DeviceInstanceController.java index cb754518..92f7cb4d 100644 --- a/jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/web/DeviceInstanceController.java +++ b/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()); }