设备列表名称和ID搜索设备增加模糊搜索
查询条件中通过增加对应的字段key到funzzyParam即可。目前仅支持设备ID,设备别名和地理位置坐标
的模糊检索(注意 不过这里是对应的分词检索哈,不是like %%子句)
设备大盘地图点位增加设备权属机构的筛选,点位获取接口增加权属机构这个参数
- 其实当前接口 /platform/device/cluster/queryDeviceClustersByDistrictCode
已经支持了点位查询过滤条件包含权属机构,不过阿里的平台前端没有透出它,其字段名称叫:
organizationId
- 获取organizationId的列表办法,对应这个接口
设备类型筛选条件增加设备数量与占比的返回
阿里这侧是把筛选和统计两个接口分开了
所以我们可以通过调用两次对应接口达到这个效果:
第一个接口就是正常的大盘设备检索查询
/platform/device/cluster/queryDeviceClustersByDistrictCode
第二个接口用这个:
这个统计是全量的
所以有上述筛选的,对应这个全量的关联一下即可。
设备列表的设备详情页,设备上报数据需要根据历史时间返回该时间的所有属性值
(查询当前属性)此图用现有接口:
/platform/tsdata/queryInstantPropertyContent
�com.aliyun.iotx.city.device.client.TimeSeriesDataClient#queryInstantPropertyContent
(查询某特定属性和特定时间段)此图用现有接口:
不分页
/platform/tsdata/queryAllPropertyContent
com.aliyun.iotx.city.device.client.TimeSeriesDataClient#queryAllPropertyContent
分页
/platform/tsdata/queryPropertyContent
com.aliyun.iotx.city.device.client.TimeSeriesDataClient#queryPropertyContent
如讨论示意
(查询设备在特定时间段的所有属性)此图用新增接口:
/platform/tsdata/queryMultiPropertyContent
�com.aliyun.iotx.city.device.client.TimeSeriesDataClient#queryMultiPropertyContent
调用参数如同上述指定属性的时间段查询一样,但是不需要传入identifier:TimeSeriesQueryParam
查询结果示例:
另外表格的标题行使用现有接口:
/platform/thingmodel/getThingModelProperty
�com.aliyun.iotx.city.device.client.ProductClient#getThingModelProperties
以上两个接口接合可达到最终客户想要的效果
物联设备需要支持散点展示
使用新增接口
/platform/device/cluster/queryDevicesByDistrictCode
�com.aliyun.iotx.city.device.client.DeviceClusterClient#queryDevicesByDistrictCode
List
其余跟现有查询聚合点接口queryDeviceClustersByDistrictCode相同
�
设备导入Excel功能服务端接口
1.通过接口/platform/export/deviceList调用执行设备列表生成任务
/**
* 导出设备文件
*
* @param deviceQueryParam
* @return
*/
@Router(path = "/platform/export/deviceList", method = RouterMethodTypeEnum.GET)
CityResult<ExportDto> exportDevices(DeviceQueryParam deviceQueryParam);
public class DeviceQueryParam extends CurrentContext {
private String productKey;
private String deviceName;
private String alias;
@Deprecated
private String description;
@NotEmpty
private List<String> organizationIds;
private String status;
private String categoryKey;
private List<String> categoryKeys;
private String supplier;
private String nodeType;
private String netType;
private String protocolType;
private String foreignProductKey;
private String tagName;
private String platformKey;
private String instanceId;
private String address;
private String postStartTime;
private String postEndTime;
/**
* 正常不正常
*/
private String orderParam;
private String sort;
private String anomalyStatus;
/**
* 模糊查询参数,和上面参数互斥
*/
private List<String> fuzzyParam;
}
返回值中包含本次导出的ID
@Data
public class ExportDto {
/**
* 导出id
*/
private String exportId;
/**
* 创建时间
*/
private Date gmtCreate;
/**
* 操作人
*/
private String operatorId;
/**
* 组织
*/
private String orgId;
/**
* 导出类型
*/
private String exportType;
/**
* 导出条件
*/
private String exportCondition;
/**
* 导出状态
*/
private String exportStatus;
/**
* 导出url
*/
private String exportResult;
}
2.根据ID获取导出的Excel文件,返回值exportResult中包含了bucketName 和 文件Object路径,导出状态是success才是可以下载
/**
* 按照id查询导出结果
*
* @param tenantId
* @param exportId
* @return
*/
@Router(path = "/platform/export/get", method = RouterMethodTypeEnum.GET)
CityResult<ExportDto> getExport(@NotBlank String tenantId, @NotBlank String exportId);
3.查询导出的历史列表
/**
* 查询导出记录
*
* @param exportQueryParam
* @param pagination
* @return
*/
@Router(path = "/platform/export/query", method = RouterMethodTypeEnum.GET)
CityResult<PaginationResult<ExportDto>> queryExport(@NotNull @Valid ExportQueryParam exportQueryParam,
@NotNull @Valid Pagination pagination);
public class ExportQueryParam extends CurrentContext {
private String exportCondition;
private String exportStatus;
private String exportType;
private Date startTime;
private Date endTime;
}
设备统计查询修改接口
接口还是使用:/platform/device/queryDeviceMessageStatistics
�入参数有变化:
deviceStatisticQueryParam
�