HC小区接口文档

API接口文档:结束费用


一、接口名称

结束费用接口

二、接口描述

用于将指定费用标记为“已结束”状态,并更新相关费用月报和欠费信息。

三、接口路径

http://{domain}/app/fee.finishFee

四、请求方法

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"
feeId String 费用 ID "fee001"

请求体示例:

{
  "communityId": "123456789",
  "feeId": "fee001"
}

七、返回值

7.1 通用响应结构
参数名称 必填 类型 描述
code String 返回码,0 表示成功,其他失败
msg String 返回信息,如错误原因
data Object 返回数据(本接口无返回数据)
7.2 状态码说明
状态码 描述
0 操作成功
1 参数校验失败(如缺少必填字段)
2 费用不存在或查询到多条记录
3 结束费用失败(数据库更新异常)

八、示例请求

请求头示例:

Authorization: Bearer xxxxxx
app-id: hc_micro_community
transaction-id: 100000000020231015142359000001
sign: xxxxxx
req-time: 20231015142359

请求体示例:

{
  "communityId": "123456789",
  "feeId": "fee001"
}

九、示例响应

成功响应:

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

失败响应(费用不存在):

{
  "code": "2",
  "msg": "未查询到费用信息 或查询到多条",
  "data": null
}

十、业务逻辑说明

  1. 参数校验

    • 校验 communityIdfeeId 是否为空。
    • 查询费用信息,确保费用存在且唯一。
  2. 数据库操作

    • 更新费用状态为 STATE_FINISH(标记为结束)。
    • 删除关联的月费用数据(payFeeMonthImpl.deleteFeeMonth)。
    • 重新生成月费用(payFeeMonthImpl.doGeneratorOrRefreshFeeMonth)。
    • 删除欠费记录(reportOweFeeInnerServiceSMOImpl.deleteReportOweFee)。
  3. 异常处理

    • 若费用不存在或数据库更新失败,抛出 CmdException 并返回对应错误码。

十一、注意事项

  • 该接口会触发费用状态的变更和关联数据的清理,需谨慎调用。
  • 调用前需确保 feeId 对应的费用未被其他操作锁定。