HC小区接口文档

删除业主车辆接口文档

添加车辆
删除车辆
修改车辆
查询车辆

一、接口名称

删除业主车辆

二、接口描述

该接口用于删除业主名下的车辆信息,同时处理相关的车位释放和费用删除逻辑。

三、接口路径

http://ip:port/app/owner.deleteOwnerCars

四、请求方法

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格式)

参数名称 必填 类型 描述 示例
carId String 车辆ID "123456"
memberId String 业主成员ID "789012"
communityId String 小区ID "10001"
carTypeCd String 车辆类型编码(1001:主车辆,1002:成员车辆) "1001"
ownerId String 业主ID "345678"

七、返回值

7.1 返回值(JSON格式)

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

八、业务逻辑说明

  1. 参数校验

    • 校验 carIdmemberIdcommunityId 是否为空。
    • 检查车辆是否存在未结束的费用,如果存在则不允许删除。
    • 查询车辆信息,确保车辆存在且唯一。
  2. 删除车辆

    • 如果是子母车位(parkingType=2carTypeCd=1001),检查是否有子车辆,如果有则不允许删除。
    • 调用 ownerCarV1InnerServiceSMOImpl.deleteOwnerCar 删除车辆信息。
  3. 释放车位

    • 如果车辆绑定了车位(psId 不为空且不等于 -1),调用 parkingSpaceV1InnerServiceSMOImpl.updateParkingSpace 修改车位状态为“空闲”。
  4. 删除车辆费用

    • 查询车辆关联的费用(PayFeeDto),并删除相关费用记录(PayFeeDetailPoPayFeePoReportOweFeePoPayFeeDetailMonthPo)。

九、示例请求

{
  "carId": "123456",
  "memberId": "789012",
  "communityId": "10001",
  "carTypeCd": "1001",
  "ownerId": "345678"
}

十、示例响应

成功响应

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

失败响应(存在未结束费用)

{
  "code": "1",
  "msg": "存在未结束费用,不能删除",
  "data": null
}

失败响应(车辆不存在)

{
  "code": "2",
  "msg": "当前未找到需要删除的车辆",
  "data": null
}

十一、注意事项

  1. 权限控制:调用该接口需要管理员或业主本人权限。
  2. 事务处理:该接口涉及多个数据库操作,采用 @Java110Transactional 保证事务一致性。
  3. 子母车位限制:如果是子母车位,必须先删除子车辆才能删除主车辆。
  4. 费用检查:如果车辆存在未结束的费用(如未缴清的停车费),则不允许删除。

这份文档涵盖了接口的完整信息,包括请求参数、业务逻辑、示例及注意事项,符合 RESTful API 规范。