HC小区接口文档

道闸关门接口文档

一、接口名称

关闭道闸门

二、接口描述

该接口用于远程控制道闸设备关闭闸门,通常用于车辆或人员通行管理场景。

三、接口路径

http://ip:port/iot/api/barrier.closeBarrierDoor

四、请求方法

POST

五、请求头

参数名称 必填 类型 描述
Authorization String 用户认证token,通过登录接口获取
app-id String 应用ID,由系统分配
transaction-id String 请求流水号,格式:1000000000+YYYYMMDDhhmmss+6位序列
sign String 请求签名
req-time String 请求时间,格式:YYYYMMDDhhmmss

六、请求参数

6.1 请求体参数(JSON格式)

参数名称 必填 类型 描述
machineCode String 道闸设备编码
state String 闸门状态(关闭操作固定传 CLOSE
communityId String 所属小区ID(可选,用于多小区管理)

七、返回值

7.1 返回数据(JSON格式)

参数名称 必填 类型 描述
code String 返回码,0 表示成功,非 0 表示失败
msg String 返回信息,成功或失败描述
data Object 返回数据(如设备状态等)

八、示例请求

请求头示例:

POST /iot/api/barrier.closeBarrierDoor HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
app-id: iot-barrier
transaction-id: 100000000020231015142356000001
sign: 5a8f7d3e6c9b2a1d4f7e8c5b6a9d3e2f
req-time: 20231015142356
Content-Type: application/json

请求体示例:

{
  "machineCode": "BARR001",
  "state": "CLOSE",
  "communityId": "COMM001"
}

九、示例响应

成功响应:

{
  "code": "0",
  "msg": "闸门关闭成功",
  "data": {
    "status": "CLOSED",
    "machineCode": "BARR001"
  }
}

失败响应(设备不存在):

{
  "code": "1001",
  "msg": "道闸设备不存在"
}

十、业务逻辑说明

  1. 参数校验
    • 检查 machineCodestate 是否为空。
    • 校验用户是否已登录(通过 Authorization 获取 userId)。
  2. 设备查询
    • 根据 machineCode 查询道闸设备信息。
  3. 权限校验
    • 检查用户是否有操作该设备的权限(依赖 communityId)。
  4. 执行关门操作
    • 调用 barrierEngineImpl.closeDoor() 控制设备关闭闸门。

十一、数据库操作

  1. 查询用户信息userV1InnerServiceSMOImpl.queryUsers()
  2. 查询道闸设备barrierV1InnerServiceSMOImpl.queryBarriers()

十二、注意事项

  1. 该接口需配合 用户认证 使用。
  2. machineCode 必须与系统中注册的设备编码一致。
  3. 若未传 communityId,则默认使用用户所属小区。