This commit is contained in:
zhouhao 2020-02-14 11:29:09 +08:00
parent e1d9c0152a
commit 885d38fa1f
2 changed files with 8 additions and 7 deletions

View File

@ -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();
}

View File

@ -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());
}