HC小区接口文档

撤销账户明细接口文档

一、接口名称

撤销账户明细

二、接口描述

该接口用于撤销已入账的账户明细,并记录撤销原因。撤销后,系统会自动生成一条撤销记录,并调整账户余额。

三、接口路径

http://ip:port/app/account.cancelAccountDetail

四、请求方法

POST

五、请求头

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

六、请求参数

6.1 请求体(JSON格式)

参数名称 必填 类型 描述
detailId 是 String 账户明细ID
communityId 是 String 小区ID
remark 是 String 撤销原因

七、返回值

7.1 返回值结构

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

八、示例请求

POST /app/account.cancelAccountDetail
Headers:
{
  "Authorization": "Bearer xxxxxx",
  "app-id": "micro-community",
  "transaction-id": "100000000020231201143456123456",
  "sign": "xxxxxx",
  "req-time": "20231201143456"
}
Body:
{
  "detailId": "123456789",
  "communityId": "1001",
  "remark": "操作错误,需撤销"
}

九、示例响应

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

十、业务逻辑说明

  1. 参数校验:检查 detailId、communityId、remark 是否为空。
  2. 查询明细:根据 detailId 查询账户明细,确保该明细存在且为入账类型(DETAIL_TYPE_IN)。
  3. 撤销操作:
    • 调用 withholdAccount 方法调整账户余额(扣减)。
    • 更新明细状态为 DETAIL_TYPE_IN_CANCEL,并记录撤销原因。
  4. 事务管理:整个操作在事务中执行,确保数据一致性。

十一、错误码说明

错误码 描述
非0 撤销失败,具体原因见 msg

十二、注意事项

  • 仅支持撤销入账类型的明细(DETAIL_TYPE_IN)。
  • 撤销后,账户余额会相应减少。
  • 撤销操作不可逆,需谨慎执行。