HC小区接口文档

保存业主车辆信息接口文档

一、接口名称

保存业主车辆信息

二、接口描述

该接口用于保存业主车辆信息,包括车辆绑定车位、车辆类型、租赁类型等信息。同时会校验车位状态和车牌号是否已存在。

三、接口路径

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

四、请求方法

POST

五、请求头

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

六、请求参数

6.1 请求体参数(JSON格式)

参数名称 必填 类型 描述 示例
communityId String 小区ID "123456789"
ownerId String 业主ID "1001"
carNum String 车牌号 "京A12345"
carType String 车辆类型(PRIMARY-主车,MEMBER-成员车,TEMP-临时车) "PRIMARY"
psId String 车位ID "PS001"
leaseType String 租赁类型(MONTH-月租,默认值) "MONTH"
startTime 条件必填 String 开始时间(leaseType=MONTH时必填,格式:yyyy-MM-dd) "2023-01-01"
endTime 条件必填 String 结束时间(leaseType=MONTH时必填,格式:yyyy-MM-dd) "2023-12-31"
carTypeCd String 车辆类型编码(默认PRIMARY) "PRIMARY"

七、返回值

7.1 返回值(JSON格式)

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

八、示例请求

POST /iot/api/ownerCar.SaveOwnerCar
Content-Type: application/json

{
  "communityId": "123456789",
  "ownerId": "1001",
  "carNum": "京A12345",
  "carType": "PRIMARY",
  "psId": "PS001",
  "leaseType": "MONTH",
  "startTime": "2023-01-01",
  "endTime": "2023-12-31"
}

九、示例响应

{
  "code": "0",
  "msg": "成功",
  "data": {
    "carId": "CAR1001",
    "memberId": "CAR1001"
  }
}

十、业务逻辑说明

  1. 参数校验

    • 校验必填参数(communityId, ownerId, carNum, carType, psId)。
    • 如果 leaseType=MONTH,校验 startTimeendTime 格式是否正确。
    • 检查车位状态是否为空闲(state=F)。
    • 校验车牌号是否已存在(临时车除外)。
  2. 数据存储

    • 生成 carIdmemberId(如果未提供)。
    • 设置默认 carTypeCd=PRIMARY(如果未提供)。
    • 保存车辆信息到 owner_car 表。
    • 更新车位状态为 H(出租状态)。
  3. 异常处理

    • 如果车位非空闲状态,返回错误。
    • 如果车牌号已存在,返回错误。
    • 如果数据库操作失败,抛出异常。

十一、注意事项

  1. 临时车在场校验

    • 如果系统配置 TEMP_CAR_IN_PARKING=ON,会检查临时车是否在场,如果存在则不允许绑定月租车。
  2. 默认值

    • 如果未提供 leaseType,默认 MONTH
    • 如果未提供 startTimeendTime,默认 startTime=当前时间endTime=2050-01-01
  3. 车位状态变更

    • 成功绑定后,车位状态会从 F(空闲)变更为 H(出租)。

这份文档符合 RESTful API 规范,并涵盖了所有必要的参数和业务逻辑说明。