门禁开门接口文档
一、接口名称
门禁开门  
二、接口描述
该接口用于远程控制门禁设备开门,适用于小区、办公楼等场景的门禁系统。  
三、接口路径
http://ip:port/iot/api/accessControl.openAccessControlDoor  
四、请求方法
POST  
五、请求头
| 参数名称 | 
必填 | 
类型 | 
描述 | 
| Authorization | 
是 | 
String | 
用户认证token,通过登录接口获取 | 
| app-id | 
是 | 
String | 
应用ID,系统分配 | 
| transaction-id | 
是 | 
String | 
请求流水号,格式:1000000000+YYYYMMDDhhmmss+6位序列 | 
| sign | 
是 | 
String | 
签名 | 
| req-time | 
是 | 
String | 
请求时间,格式:YYYYMMDDhhmmss | 
六、请求参数
6.1 请求体(JSON格式)
| 参数名称 | 
必填 | 
类型 | 
描述 | 
| machineId | 
是 | 
String | 
门禁设备ID | 
| communityId | 
是 | 
String | 
小区ID | 
七、返回值
7.1 成功响应(200 OK)
{
  "code": "0",
  "msg": "成功",
  "data": null
}
7.2 失败响应
{
  "code": "1",
  "msg": "开门失败",
  "data": null
}
7.3 错误状态码
| 状态码 | 
描述 | 
| 400 | 
参数缺失(如缺少 machineId 或 communityId) | 
| 404 | 
门禁设备不存在或用户不存在 | 
| 500 | 
服务器内部错误 | 
八、示例请求
POST /iot/api/accessControl.openAccessControlDoor HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
app-id: 10001
transaction-id: 100000000020231201143000000001
sign: 9a8b7c6d5e4f3g2h1i0j
req-time: 20231201143000
Content-Type: application/json
{
  "machineId": "AC001",
  "communityId": "CM001"
}
九、示例响应
9.1 成功响应
HTTP/1.1 200 OK
Content-Type: application/json
{
  "code": "0",
  "msg": "成功",
  "data": null
}
9.2 失败响应
HTTP/1.1 200 OK
Content-Type: application/json
{
  "code": "1",
  "msg": "开门失败",
  "data": null
}
十、业务逻辑说明
- 参数校验:检查 
machineId 和 communityId 是否有效。   
- 用户验证:检查请求用户是否存在。  
 
- 门禁设备查询:根据 
machineId 和 communityId 查询门禁设备信息。   
- 厂商协议解析:根据门禁设备的实现类(
implBean)获取对应的厂商协议实现类。   
- 执行开门:调用厂商协议实现类的 
openDoor 方法执行开门操作。   
- 返回结果:根据开门结果返回成功或失败响应。
 
十一、相关DTO类说明
AccessControlDto(门禁设备信息)
| 字段 | 
类型 | 
描述 | 
| machineId | 
String | 
设备ID | 
| communityId | 
String | 
小区ID | 
| implBean | 
String | 
厂商协议实现类 | 
| userId | 
String | 
操作用户ID | 
| userName | 
String | 
操作用户名称 | 
UserDto(用户信息)
| 字段 | 
类型 | 
描述 | 
| userId | 
String | 
用户ID | 
| name | 
String | 
用户姓名 | 
HardwareManufacturerDto(硬件厂商信息)
| 字段 | 
类型 | 
描述 | 
| hmId | 
String | 
厂商ID | 
| protocolImpl | 
String | 
厂商协议实现类 | 
这份文档符合 RESTful API 规范,并包含了完整的请求、响应示例和业务逻辑说明。