Commit 11a07eda640f5d2a1abbf9af6f458be3273348e4

Authored by chenjunyu_1481036421
1 parent 69960192

feat:OpenApi新增 设备历史数据查询接口

@@ -47,6 +47,7 @@ import org.thingsboard.common.util.JacksonUtil; @@ -47,6 +47,7 @@ import org.thingsboard.common.util.JacksonUtil;
47 import org.thingsboard.common.util.ThingsBoardThreadFactory; 47 import org.thingsboard.common.util.ThingsBoardThreadFactory;
48 import org.thingsboard.server.common.data.kv.AggregationParams; 48 import org.thingsboard.server.common.data.kv.AggregationParams;
49 import org.thingsboard.server.common.data.kv.IntervalType; 49 import org.thingsboard.server.common.data.kv.IntervalType;
  50 +import org.thingsboard.server.common.data.yunteng.dto.TimeseriesDTO;
50 import org.thingsboard.server.common.msg.rule.engine.DeviceAttributesEventNotificationMsg; 51 import org.thingsboard.server.common.msg.rule.engine.DeviceAttributesEventNotificationMsg;
51 import org.thingsboard.server.common.data.DataConstants; 52 import org.thingsboard.server.common.data.DataConstants;
52 import org.thingsboard.server.common.data.EntityType; 53 import org.thingsboard.server.common.data.EntityType;
@@ -291,6 +292,29 @@ public class TelemetryController extends BaseController { @@ -291,6 +292,29 @@ public class TelemetryController extends BaseController {
291 (result, tenantId, entityId) -> getLatestTimeseriesValuesCallback(result, user, entityId, keysStr, useStrictDataTypes)); 292 (result, tenantId, entityId) -> getLatestTimeseriesValuesCallback(result, user, entityId, keysStr, useStrictDataTypes));
292 } 293 }
293 294
  295 + //thingskit start
  296 + @PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN', 'CUSTOMER_USER', 'OPENAPI_USER')")
  297 + @RequestMapping("/getTimeseries")
  298 + @ApiOperation("OpenApi查询设备历史数据")
  299 + public DeferredResult<ResponseEntity> getTimeseries(
  300 + @RequestBody TimeseriesDTO queryMap)
  301 + throws ThingsboardException {
  302 + return getTimeseries(
  303 + "DEVICE",
  304 + null!=queryMap.getDeviceId()?queryMap.getDeviceId():null,
  305 + null!=queryMap.getKeys()?queryMap.getKeys():null,
  306 + null!=queryMap.getStartTime()?queryMap.getStartTime():null,
  307 + null!=queryMap.getEndTime()?queryMap.getEndTime():null,
  308 + null,
  309 + null!=queryMap.getInterval()?queryMap.getInterval():null,
  310 + null,
  311 + null!=queryMap.getLimit()?queryMap.getLimit():100,
  312 + null!=queryMap.getAgg()?queryMap.getAgg():null,
  313 + null!=queryMap.getSortOrder()?queryMap.getSortOrder():null,
  314 + false);
  315 + }
  316 + //thingskit end
  317 +
294 @ApiOperation(value = "Get time-series data (getTimeseries)", 318 @ApiOperation(value = "Get time-series data (getTimeseries)",
295 notes = "Returns a range of time-series values for specified entity. " + 319 notes = "Returns a range of time-series values for specified entity. " +
296 "Returns not aggregated data by default. " + 320 "Returns not aggregated data by default. " +
@@ -301,7 +325,7 @@ public class TelemetryController extends BaseController { @@ -301,7 +325,7 @@ public class TelemetryController extends BaseController {
301 + MARKDOWN_CODE_BLOCK_END 325 + MARKDOWN_CODE_BLOCK_END
302 + "\n\n" + INVALID_ENTITY_ID_OR_ENTITY_TYPE_DESCRIPTION + TENANT_OR_CUSTOMER_AUTHORITY_PARAGRAPH, 326 + "\n\n" + INVALID_ENTITY_ID_OR_ENTITY_TYPE_DESCRIPTION + TENANT_OR_CUSTOMER_AUTHORITY_PARAGRAPH,
303 produces = MediaType.APPLICATION_JSON_VALUE) 327 produces = MediaType.APPLICATION_JSON_VALUE)
304 - @PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN', 'CUSTOMER_USER')") 328 + @PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN', 'CUSTOMER_USER','OPENAPI_USER')")
305 @RequestMapping(value = "/{entityType}/{entityId}/values/timeseries", method = RequestMethod.GET, params = {"keys", "startTs", "endTs"}) 329 @RequestMapping(value = "/{entityType}/{entityId}/values/timeseries", method = RequestMethod.GET, params = {"keys", "startTs", "endTs"})
306 @ResponseBody 330 @ResponseBody
307 public DeferredResult<ResponseEntity> getTimeseries( 331 public DeferredResult<ResponseEntity> getTimeseries(
@@ -45,6 +45,7 @@ public class DefaultAccessControlService implements AccessControlService { @@ -45,6 +45,7 @@ public class DefaultAccessControlService implements AccessControlService {
45 authorityPermissions.put(Authority.SYS_ADMIN, sysAdminPermissions); 45 authorityPermissions.put(Authority.SYS_ADMIN, sysAdminPermissions);
46 authorityPermissions.put(Authority.TENANT_ADMIN, tenantAdminPermissions); 46 authorityPermissions.put(Authority.TENANT_ADMIN, tenantAdminPermissions);
47 authorityPermissions.put(Authority.CUSTOMER_USER, customerUserPermissions); 47 authorityPermissions.put(Authority.CUSTOMER_USER, customerUserPermissions);
  48 + authorityPermissions.put(Authority.OPENAPI_USER, customerUserPermissions);
48 } 49 }
49 50
50 @Override 51 @Override
  1 +package org.thingsboard.server.common.data.yunteng.dto;
  2 +import lombok.Data;
  3 +
  4 +@Data
  5 +public class TimeseriesDTO {
  6 + private String deviceId;
  7 + private String keys;
  8 + private Long interval;
  9 + private String agg;
  10 + private String sortOrder;
  11 + private Long startTime;
  12 + private Long endTime;
  13 + private Integer limit;
  14 +}