HC小区接口文档

删除车辆绑定关系接口文档

一、接口名称

删除车辆绑定关系

二、接口描述

该接口用于删除业主或成员的车辆绑定信息,同时释放关联的车位(如果是业主车辆)。

三、接口路径

http://ip:port/iot/api/ownerCar.DeleteOwnerCar

四、请求方法

POST

五、请求头

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

六、请求参数

6.1 请求体(JSON)

参数名称 必填 类型 描述
carId String 车辆ID
memberId String 成员ID
communityId String 小区ID

七、返回值

7.1 返回值(JSON)

参数名称 必填 类型 描述
code String 返回码 0 成功 其他失败
msg String 返回信息 成功 其他失败
data Object 返回数据(通常为空)

八、业务逻辑说明

  1. 参数校验

    • 检查 carIdmemberIdcommunityId 是否为空。
    • 查询车辆绑定关系,确保存在且唯一。
    • 如果是业主车辆(carTypeCd=1001),检查是否存在关联的成员车辆(carTypeCd=1002),如果有则不允许删除。
  2. 删除车辆绑定

    • 调用 ownerCarV1InnerServiceSMOImpl.deleteOwnerCar 删除车辆绑定记录。
  3. 释放车位(仅适用于业主车辆):

    • 如果车辆绑定车位(psId 不为空且不等于 -1),则修改车位状态为“空闲”(STATE_FREE)。

九、示例请求

POST /iot/api/ownerCar.DeleteOwnerCar
Headers:
{
  "Authorization": "Bearer xxxxxx",
  "app-id": "micro-community",
  "transaction-id": "100000000020231201123456000001",
  "sign": "xxxxxx",
  "req-time": "20231201123456"
}
Body:
{
  "carId": "123456",
  "memberId": "789012",
  "communityId": "10001"
}

十、示例响应

{
  "code": "0",
  "msg": "成功",
  "data": null
}

十一、错误码

错误码 描述
1001 参数缺失(如 carIdmemberIdcommunityId 为空)
1002 车辆绑定关系不存在或存在多条
1003 存在成员车辆,请先删除成员车辆
1004 删除车辆出错
1005 修改车位状态出错

十二、备注

  • 该接口涉及事务操作(@Java110Transactional),确保数据一致性。
  • 如果是开发环境(Environment.isDevEnv()),会进行更严格的校验。