同步项目白名单
获取该设备白名单信息,包含白名单总数,当设备启动拥有网络能力后需要在第一时间请求此接口同步白名单数据

HttpGet接口获取白名单
SERVICE-ADDRESS/device/whitelist/V3?appid=APPID&sign=SIGN&deviceCode=DEVICECODE&lastSyncTime=LASTSYNCTIME
参数说明
| 参数 | 类型 | 是否必须 | 说明 | 备注 |
|---|---|---|---|---|
| appid | string | 是 | 厂商Id | |
| sign | string | 是 | 签名 | |
| deviceCode | string | 是 | 设备编码 | |
| lastSyncTime | long | 是 | 最后同步时间 | 首次传0,之后传上次返回值中的syncTime |
返回字段说明
whitelist 白名单中存在两种人员:巡检人员和普通人员,不同人员返回对象不同
| 字段 | 字段名称 | 字段格式 | 备注 |
|---|---|---|---|
| synTime | 同步时间 | Long | 对应参数中的lastSyncTime |
| totalCount | 白名单总人数 | Long | 白名单数量 |
巡检人员
| 字段 | 字段名称 | 字段格式 | 备注 |
|---|---|---|---|
| whitelistId | 排序字段 | String | 和业务无关仅仅用作白名单记录排序 |
| objectId | 白名单对象唯一标识 | String | type为0时,该字段值为workerId, type为1时,该字段值为vip巡检人员id |
| tenantId | 租户id | Long | |
| type | 白名单对象类型 | byte | 0.工人 1.巡视员 |
| name | 姓名 | String | |
| syncState | 状态 | String | 状态值:ADD,UPDATE,DELETE |
| hasRight | 有门区权限 | boolean | |
| identification | 身份证号码 | String | |
| nucleicAcidExpires | 核酸是否过期 | Integer | 0过期 1未过期 默认未过期 |
| companyName | 分包商名称 | String | |
| departmentName | 巡检班组名称 | String | |
| postName | 巡检工种名称 | String | |
| chipCode | 帽子芯片编号 | String | |
| hatCode | 帽子编号 | String | |
| cardId | 超高频号 | String | |
| recentPhoto | 人脸近照 | String |
普通人员
| 字段 | 字段名称 | 字段格式 | 备注 |
|---|---|---|---|
| whitelistId | 排序字段 | String | 和业务无关仅仅用作白名单记录排序 |
| objectId | 白名单对象(工人或vip巡检人员)唯一标识 | String | objectId 白名单对象唯一标识 String type为0时,该字段值为workerId, type为1时,该字段值为vip巡检人员id |
| tenantId | 租户id | Long | |
| type | 白名单对象类型 | byte | 0.工人 1.巡视员 |
| name | 姓名 | String | |
| syncState | 状态 | String | 状态值:ADD,UPDATE,DELETE |
| hasRight | 有门区权限 | boolean | |
| projectId | 项目Id | String | |
| identification | 身份证号码 | String | |
| nucleicAcidExpires | 核酸是否过期 | Integer | 0过期 1未过期 默认未过期 |
| chipCode | 帽子芯片编号 | String | |
| cardId | 超高频号 | String | |
| icCard | IC卡号 | String | |
| hatCode | 帽子编号 | String | |
| enterDate | 进场时间 | String | |
| photo | 人员证件照 | String | |
| recentPhoto | 人员近照 | String | |
| companyId | 分包商id | Long | |
| companyName | 分包商名称 | String | |
| groupId | 班组id | Long | |
| groupName | 班组名称 | String | |
| jobCode | 工种编码 | String | |
| jobName | 工种名称 | String | |
| spec | 是否特殊工种 | boolean | |
| approachEdu | 是否进行了入场教育 | boolean | |
| certificateCount | 证书数量 | int | |
| temperatureStatus | 体温状态 | int | 1 正常,2, 异常 |
| measureTemperature | 体温 | BigDecimal | |
| evaluationStatus | 评价预警通行权限 | boolean | 0:禁止通行,1:允许通行 |
| measureTime | 体温测量时间 | LocalDateTime | |
| temperatureNormal | 体温正常 | boolean | |
| authStatus | 通行状态(政府接口专用) | String | "1","苏安码为绿码正常" "2","苏安码为黄码,提醒预警" "3","苏安码为红码,禁止通行" |
| healthCode | 健康码状态(政府接口专用) | String | "1","健康码为绿码正常" "2","健康码为黄码,提醒预警" "0","健康码为红码,禁止通行" |
白名单更新(服务)
设备端启动MQTT后监听消息,假如有 whitelistupdate 的服务指令,则再次去开放平台调用增量白名单获取接口
- 场景1: 设备启动之后
- 场景2: 白名单数据变化需要通知设备重新增量获取
{
"service" : "whitelistupdate",
"data": {},
"ts": "1551863638000"
}
ts 为字符串型 "1551863638000",兼容设备上int长度不够
设备端接收到以上指令后去如下地址去请求白名单:
上报白名单更新完成(事件)
白名单下载成功后,发起Mqtt的链接,并发送一下事件,告诉服务端设备白名单更新成功
{
"client" : "2017050001",
"event" : "whitelistupdate",
"data": {
"syncTime" : "1551863638000",
"total": 100
},
"success": 1,
"error": "",
"ts": "1551863638000"
}
-
total本地白名单人员总数 -
syncTime服务端调用同步服务的时间,whitelist service结构中的ts- 服务端下发指令去增量更新白名单时,whitelist service 指令的ts
- 如果是开机启动就传当前时间就行
白名单图片下载
{SERVICE-ADDRESS}/download?key={recentPhoto}
白名单返回的近照为图片的OSSKey,需要用此Key再次发起请求才能获取近照图片
测试环境是:https://aecloud-test.glodon.com/glm/services/download?key=
正式环境是: https://xmgl.glodon.com/glm/services/download?key=
拼接此url在浏览器访问即可访问到图片
补充说明
- 现场管理下的区域(也即门区)与设备是有绑定关系,门区权限设置完毕后,人员的进出权限会随白名单下发到指定设备中,设备方无需针对门区权限做额外的业务逻辑处理。