tangweijie 20afae2255 docs: align rev002 billing generation evidence
Document the existing REV-002 backend billing-generation path and preserve a conservative partial-implementation judgment so the design stays aligned with current code evidence.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 17:52:15 +08:00

2.2 KiB

Contract: REV-002 开账计费与账单生成缺口补齐

1. Formal Interface Allocation

Interface Role Direction
IF-REV-005 REV-002 开账计费与账单生成的正式业务接口 SYS-002 内部正式业务接口

约束:

  • IF-REV-005 保持为 REV-002 的正式账单生成接口编号,不新增新的开账生成接口编号。
  • 本接口只承接开账计费与账单生成,不扩展到收费核销、发票申请或催缴触发。

2. Request Contract

Field Meaning Required
billPeriod 账期
readingBatchNo 抄表批次号
customerIds 客户集合
meterReadIds 抄表任务集合
dueDate 应收截止日期
operatorId 发起人

补充约束:

  • 请求前提是抄表数据已通过校验或异常复核允许进入开账。
  • 至少应提供批次、客户范围或抄表任务范围中的一种有效筛选条件。

3. Response Contract

Field Meaning
generateCount 成功生成账单数量
successList 成功明细集合
successList[].chargeId 账单主键
successList[].chargeCode 账单编号
successList[].custId 客户标识
successList[].totalAmount 账单总金额
failureList 失败明细集合
failureList[].reason 失败原因

4. Result Boundary Contract

  • 账单生成结果统一以 biz_charge 作为主结果、biz_charge_detail 作为明细结果承接。
  • 特殊开账、无码客户开账或罚款类开账应通过来源类型、业务类型或依据说明纳入统一账单主模型,不单独发明平行主表。
  • 账单生成成功后只表达“已生成营业账”的结果边界,后续收费、催缴、开票由下游模块继续承接。

5. Exception Contract

  • 当价格模板、阶梯规则、费用组成、计划用水方案或必要来源数据缺失时,应阻断生成并返回失败原因。
  • 失败语义必须与现有抄表开账类错误码口径一致,不得仅写日志而不在接口结果中表达。
  • 异常复核、估抄、补抄、重录等场景只定义“是否允许进入生成”边界,不展开具体实现细节。