title, author, date, documentclass, geometry, fontsize, mainfont, CJKmainfont
| title |
author |
date |
documentclass |
geometry |
fontsize |
mainfont |
CJKmainfont |
| 03_Interface_Design |
系统设计团队 |
2024年12月19日 |
article |
margin=1in |
11pt |
PingFang SC |
PingFang SC |
doc_id: TC-03-INTERFACE
doc_role: master_document
authority: primary
scope: 接口设计
source_of_truth: true
last_reviewed: 2026-03-12
retrieval_priority: P0
福建水务营收系统接口设计文档
文档信息
| 项目信息 |
详情 |
| 项目名称 |
福建水务营收系统 |
| 文档类型 |
接口设计文档 |
| 技术框架 |
Spring Cloud Alibaba + RuoYi-Vue-Pro + yudao-ui-admin-vue3 |
| 文档版本 |
v1.0 |
| 编写日期 |
2026-03-11 |
| 文档状态 |
✅ 已完成(按版本迭代) |
章节导航(精简)
接口设计范围
本文档用于描述福建水务营收系统的接口边界、调用方式、核心接口清单以及与外围子系统的协同关系,重点统一 SYS-002 营收业务系统的接口口径。
本次接口整编遵循以下事实来源:
docs/design/02_Detailed_Design/01_Detailed_Design.md
docs/design/03_Technical_Design/01_Database_Design.md
docs/guides/BACKEND_CURRENT_STATUS.md
docs/guides/BACKEND_TABLE_MAPPING.md
output/preview/福建水务营收系统整体架构图.html
说明:本文档优先描述正式设计边界与业务接口职责,不将 backend 中尚未明确识别的内部实现细节误写为既有接口事实。对于历史资料中存在、但当前 backend 未完全确认的接口对象,统一按“文档先行”处理。
设计原则与统一约束
接口设计原则
- 统一编号:接口编号统一采用
IF-UP-*、IF-REV-*、IF-CS-*、IF-METER-*、IF-INST-*、IF-EXT-* 规则。
- 统一边界:
SYS-002 负责营收业务主流程,发票、支付结算、消息触达分别通过 SYS-008、SYS-009、SYS-010 协同完成。
- 统一数据口径:接口数据对象优先对齐真实
biz_* 与 bk_* 表,不再沿用旧稿中的 customer_*、billing_*、thirdpay_*、service_* 等历史命名。
- 统一协议风格:内部管理接口以 HTTPS REST 为主,跨系统集成根据场景采用 REST、文件交换、消息队列等方式。
- 统一安全机制:内部接口采用统一认证鉴权,外部接口按渠道要求实施签名、回调校验、白名单和审计留痕。
通用响应格式
内部 REST 接口统一采用如下响应模型:
{
"code": 0,
"data": {},
"msg": "success"
}
分页响应统一采用:
{
"code": 0,
"data": {
"list": [],
"total": 0,
"pageNo": 1,
"pageSize": 10
},
"msg": "success"
}
SYS-002 接口视图
模块分组
营收核心模块群
| 模块编号 |
模块名称 |
接口职责定位 |
| REV-001 |
客户资料管理 |
客户、账户、联系人、水表绑定等主数据查询与维护 |
| REV-002 |
抄表开账 |
抄表任务、抄表数据、校验、开账触发 |
| REV-003 |
营业收费 |
收费受理、账单核销、柜台与渠道收款状态回写 |
| REV-004 |
账务处理 |
调整、退款、冲正、坏账等账务处理申请与结果回写 |
| REV-005 |
发票管理 |
发票申请、开票结果回写、票据状态查询 |
| REV-006 |
催缴管理 |
催缴名单生成、催缴任务下发、通知结果回写 |
| REV-007 |
统计分析 |
营收、抄表、收费、客户、渠道统计查询 |
| REV-008 |
代收业务 |
银行代收、代扣、送盘、回盘、对账、结算协同 |
| REV-009 |
业务参数配置 |
水价、费用组成、业务参数、页面参数等配置接口 |
客户服务模块群
| 模块编号 |
模块名称 |
接口职责定位 |
| CS-001 |
账户绑定管理 |
客户绑定、解绑、默认客户切换 |
| CS-002 |
信息查询服务 |
账单、欠费、用水、缴费、停水公告等查询 |
| CS-003 |
在线缴费服务 |
创建线上支付订单、支付状态查询 |
| CS-004 |
电子发票服务 |
发票申请、发票列表、下载与推送 |
| CS-005 |
营业网点服务 |
网点查询、预约、导航、业务事项查询 |
| CS-006 |
业务办理服务 |
更名、过户、低保、换表、自主抄表等线上办理 |
| CS-007 |
柜面扫码支付 |
柜台二维码收款、订单生成、支付结果回写 |
跨系统协同边界
| 协同子系统 |
协同内容 |
SYS-002 职责 |
对方职责 |
| SYS-008 发票服务 |
发票开具、作废、红冲、票据查询 |
提供业务上下文、账单信息、客户开票信息,接收结果回写 |
承接税控与电子发票能力 |
| SYS-009 支付与银行结算 |
微信/支付宝支付、银行实时收费、代扣、对账、结算 |
发起订单、接收支付结果、维护账单核销状态 |
承接支付渠道、交易流水、回调、对账与结算 |
| SYS-010 消息服务 |
催缴通知、缴费结果通知、办理进度通知 |
生成待通知业务事件与目标用户 |
承接短信、微信公众号、站内信等触达能力 |
外部接口设计
外部接口分类
| 接口分类 |
主要对接方 |
典型协议 |
说明 |
| 银行代收/代扣接口 |
银行、银联、托收平台 |
文件交换 / HTTPS REST |
主要服务 REV-008 |
| 聚合支付接口 |
微信支付、支付宝等 |
HTTPS REST + 回调 |
主要服务 REV-003、CS-003、CS-007 |
| 发票协同接口 |
税控/电子发票平台 |
HTTPS REST |
主要服务 REV-005、CS-004 |
| 消息通知接口 |
短信平台、消息网关 |
HTTPS REST / MQ |
主要服务 REV-006、CS-006 |
| 物联网集抄接口 |
集抄平台、IoT 平台 |
HTTPS REST / MQ |
主要服务 REV-002 |
IF-EXT-001 银行代扣批次下发接口
| 项目 |
说明 |
| 接口编号 |
IF-EXT-001 |
| 接口名称 |
银行代扣批次下发接口 |
| 归属模块 |
REV-008 |
| 调用方向 |
SYS-002 → SYS-009 / 银行渠道 |
| 接口方式 |
文件交换或 HTTPS REST |
| 业务说明 |
按账期生成待代扣账单批次,交由银行渠道执行代扣 |
| 核心数据支撑 |
biz_withholding、bk_withholding_batch、bk_withholding_item |
关键报文信息包括:客户号、签约号、扣款金额、账期、渠道编码、批次号等。
边界约束:
- 当前正式设计包含代扣送盘、回盘与对账的目标边界;其中
BankWithholding 已具备送盘、送盘状态查询、取消送盘等六条银行入口的最小实现态闭环证据。
- 正式文档可将
BankWithholding 六条银行入口写为“已实现”,但需同时注明真实银行文件解析、SFTP/文件通道联调与运行态样本仍待补证。
- 涉及批量文件交互时,正式口径保留
HTTP/REST/SFTP 与文件命名、批次号约束,不下沉到特定银行私有报文字段。
- 运行时文件传输配置统一由解析器输出
protocol/resolvedDir/resolvedPath/fileName/sourceScope;优先级固定为 TENANT_CHANNEL > TENANT > CHANNEL > DEFAULT,高优先级仅覆盖部分字段时按字段级回退。
- 命中协议缺少
host/port/username/credentialRef、阶段目录为空或模板变量非法时,接口必须立即返回配置错误,不得回退到错误租户或错误通道。
IF-EXT-002 银行代扣回盘接收接口
| 项目 |
说明 |
| 接口编号 |
IF-EXT-002 |
| 接口名称 |
银行代扣回盘接收接口 |
| 归属模块 |
REV-008 |
| 调用方向 |
银行渠道 / SYS-009 → SYS-002 |
| 接口方式 |
文件交换或 HTTPS REST |
| 业务说明 |
接收代扣成功、失败、退票等结果并回写业务状态 |
| 核心数据支撑 |
bk_withholding_batch、bk_withholding_item、bk_transaction、bk_transaction_exception |
边界约束:
- 回盘处理、回盘状态查询、差异核对和结算确认属于同一能力簇;其中
BankWithholding 的回盘与回盘状态查询已具备最小实现态闭环证据,但完整差异核对、异常补偿和结算确认仍属后续完善项。
- 当前正式文档允许保留回盘文件名、批次号、回盘日期、结果状态等正式字段约束,但不得把未落地的真实文件解析、异常补偿和结算闭环写成既成事实。
IF-EXT-003 银行实时收费接口
| 项目 |
说明 |
| 接口编号 |
IF-EXT-003 |
| 接口名称 |
银行实时收费接口 |
| 归属模块 |
REV-003 / REV-008 |
| 调用方向 |
银行渠道 / SYS-009 ↔ SYS-002 |
| 接口方式 |
HTTPS REST |
| 业务说明 |
支撑柜台、网银、手机银行实时查询应收并完成缴费 |
| 核心数据支撑 |
biz_charge、biz_charge_detail、bk_transaction、bk_transaction_callback |
边界约束:
- 当前 backend 已确认欠费查询与缴费处理具备实现证据,可作为正式文档中的已落地基础能力。
- 代理收费对账、汇总对账和当日未对账红冲等扩展能力当前仍未形成完整实现闭环,正式文档须标注为后续完善项。
银行签约、状态查询与批次控制扩展接口
| 接口动作 |
推荐归属 |
当前代码路径 |
当前状态 |
正式口径 |
| 代扣签约 |
REV-008 / SYS-009 |
BankWithholdingController#signing |
已实现 |
可作为正式接口能力写入 |
| 代扣解约 |
REV-008 / SYS-009 |
BankWithholdingController#termination |
已实现 |
可作为正式接口能力写入 |
| 托收签约 |
REV-008 / SYS-009 |
BankCollectionController#signing |
已实现 |
可作为正式接口能力写入 |
| 托收解约 |
REV-008 / SYS-009 |
BankCollectionController#termination |
已实现 |
可作为正式接口能力写入 |
| 客户状态查询 |
REV-008 / SYS-009 |
BankWithholdingController#customerCheck / BankCollectionController#customerCheck |
代扣已实现;托收部分实现 |
代扣可作为正式接口能力写入;托收仅保留正式契约边界与结果状态 |
| 送盘 |
REV-008 / SYS-009 |
BankWithholdingController#sendDisc / BankCollectionController#sendDisc |
代扣已实现;托收部分实现 |
代扣可作为正式接口能力写入;托收仅保留正式契约边界与批次发送语义 |
| 送盘状态查询 |
REV-008 / SYS-009 |
BankWithholdingController#sendDiscCheck / BankCollectionController#sendDiscCheck |
代扣已实现;托收部分实现 |
代扣可作为正式接口能力写入;托收仅保留正式契约边界与批次状态语义 |
| 取消送盘 |
REV-008 / SYS-009 |
BankWithholdingController#cancelDisc / BankCollectionController#cancelDisc |
代扣已实现;托收部分实现 |
代扣可作为正式接口能力写入;托收仅保留正式契约边界与可取消条件 |
| 回盘 |
REV-008 / SYS-009 |
BankWithholdingController#backDisc / BankCollectionController#backDisc |
代扣已实现;托收部分实现 |
代扣可作为正式接口能力写入;托收仅保留正式契约边界与回盘处理语义 |
| 回盘状态查询 |
REV-008 / SYS-009 |
BankWithholdingController#backDiscCheck / BankCollectionController#backDiscCheck |
代扣已实现;托收部分实现 |
代扣可作为正式接口能力写入;托收仅保留正式契约边界与回盘状态语义 |
IF-EXT-004 聚合支付下单接口
| 项目 |
说明 |
| 接口编号 |
IF-EXT-004 |
| 接口名称 |
聚合支付下单接口 |
| 归属模块 |
REV-003 / CS-003 / CS-007 |
| 调用方向 |
SYS-002 → SYS-009 |
| 接口方式 |
HTTPS REST |
| 业务说明 |
创建微信、支付宝等支付订单,返回二维码、收银参数或支付跳转信息 |
| 核心数据支撑 |
biz_charge、biz_collection、bk_transaction |
IF-EXT-005 聚合支付结果回调接口
| 项目 |
说明 |
| 接口编号 |
IF-EXT-005 |
| 接口名称 |
聚合支付结果回调接口 |
| 归属模块 |
REV-003 / CS-003 / CS-007 |
| 调用方向 |
SYS-009 → SYS-002 |
| 接口方式 |
HTTPS REST + 签名校验 |
| 业务说明 |
接收支付成功、失败、关闭、退款等异步事件,并更新收费状态 |
| 核心数据支撑 |
bk_transaction_callback、biz_collection、biz_charge |
IF-EXT-006 发票开具协同接口
| 项目 |
说明 |
| 接口编号 |
IF-EXT-006 |
| 接口名称 |
发票开具协同接口 |
| 归属模块 |
REV-005 / CS-004 |
| 调用方向 |
SYS-002 → SYS-008 |
| 接口方式 |
HTTPS REST |
| 业务说明 |
传递账单、客户、抬头、税率等信息,由 SYS-008 承接开票 |
| 核心数据支撑 |
biz_invoice、biz_invoice_taxrate、biz_cust_invoice |
IF-EXT-007 发票结果回写接口
| 项目 |
说明 |
| 接口编号 |
IF-EXT-007 |
| 接口名称 |
发票结果回写接口 |
| 归属模块 |
REV-005 / CS-004 |
| 调用方向 |
SYS-008 → SYS-002 |
| 接口方式 |
HTTPS REST |
| 业务说明 |
回写开票状态、票据编号、下载地址、作废/红冲结果 |
| 核心数据支撑 |
biz_invoice、biz_process_invoice_modifys |
IF-EXT-008 消息触达接口
| 项目 |
说明 |
| 接口编号 |
IF-EXT-008 |
| 接口名称 |
消息触达接口 |
| 归属模块 |
REV-006 / CS-006 |
| 调用方向 |
SYS-002 → SYS-010 |
| 接口方式 |
HTTPS REST 或 MQ |
| 业务说明 |
承接催缴通知、办理进度通知、缴费结果通知等消息事件,返回受理结果并回传执行结果 |
| 核心数据支撑 |
biz_charge、biz_process、biz_operat_log |
边界约束:
IF-EXT-008 只负责渠道触达执行与回执回传,不负责催缴候选对象筛选、任务生成或业务状态主控。
SYS-010 回传的渠道执行结果需由 SYS-002 映射为 PENDING、SUCCESS、FAIL、MANUAL_VERIFIED 四态业务状态。
- 当仅返回受理成功但未返回终态时,
SYS-002 维持 PENDING;若长期无终态且人工核查确认,可转 MANUAL_VERIFIED。
- 消息模板、供应商协议和重试细节由
SYS-010 管理,不在 IF-EXT-008 展开实现细节。
IF-EXT-009 集抄数据接入接口
| 项目 |
说明 |
| 接口编号 |
IF-EXT-009 |
| 接口名称 |
集抄数据接入接口 |
| 归属模块 |
REV-002 |
| 调用方向 |
IoT 平台 / 集抄平台 → SYS-002 |
| 接口方式 |
HTTPS REST / MQ |
| 业务说明 |
接收远传读数、设备状态、异常告警,触发抄表校验与开账准备 |
| 核心数据支撑 |
biz_meter_read、biz_reading_data、biz_last_reading |
内部接口设计
SYS-002 内部接口清单
REV 接口清单
| 接口编号 |
接口名称 |
归属模块 |
主要用途 |
主要数据对象 |
| IF-REV-001 |
客户信息查询接口 |
REV-001 |
查询客户档案、联系人、账户、水表绑定关系 |
biz_cust、biz_account、biz_cust_contact、biz_cust_meter |
| IF-REV-002 |
客户主数据维护接口 |
REV-001 |
新增、变更客户档案及开票/托收/代扣关系 |
biz_cust、biz_cust_invoice、biz_cust_collection_rel、biz_cust_withholding_rel |
| IF-REV-003 |
抄表任务下发接口 |
REV-002 |
按册本、片区、抄表周期生成抄表任务 |
biz_meter_book、biz_meter_read |
| IF-REV-004 |
抄表数据提交接口 |
REV-002 |
提交抄表数据、图片、异常标记并触发校验 |
biz_reading_data、biz_reading_logs、biz_last_reading |
| IF-REV-005 |
账单生成接口 |
REV-002 |
根据抄表结果、价格模板和费用组成生成账单 |
biz_charge、biz_charge_detail、biz_price_template、biz_cost_component |
| IF-REV-006 |
缴费处理接口 |
REV-003 |
创建收费记录、核销账单、回写收款结果 |
biz_collection、biz_charge、bk_transaction |
| IF-REV-007 |
账务调整接口 |
REV-004 |
发起金额调整、退款、冲正、坏账等业务处理 |
biz_charge、biz_charge_detail、biz_operat_log |
| IF-REV-008 |
发票申请接口 |
REV-005 |
后台发起单笔/批量开票申请并生成受理主键 |
biz_invoice、biz_invoice_taxrate、biz_cust_invoice |
| IF-REV-009 |
发票结果查询接口 |
REV-005 |
按申请单号/受理号查询开票结果并执行补偿查询 |
biz_invoice、biz_operat_log |
| IF-REV-013 |
催缴任务生成与结果承接接口 |
REV-006 |
生成催缴任务、查询任务结果并承接四态状态回写 |
biz_charge、biz_operat_log、历史催缴查询口径 |
| IF-REV-010 |
统计查询接口 |
REV-007 |
查询营收、收费、欠费、渠道、客户统计结果 |
聚合视图 / 统计结果集 |
| IF-REV-011 |
银行代收协同接口 |
REV-008 |
发起代扣、回盘、对账、结算协同 |
biz_withholding、bk_reconcile_batch、bk_settlement_batch |
| IF-REV-012 |
业务参数配置接口 |
REV-009 |
查询和维护价格模板、优惠方案、业务参数配置 |
biz_parameter_settings、biz_price_*、biz_page_settings* |
CS 接口清单
| 接口编号 |
接口名称 |
归属模块 |
主要用途 |
主要数据对象 |
| IF-CS-001 |
账户绑定接口 |
CS-001 |
绑定、解绑、切换默认客户 |
biz_cust_app_binds、biz_cust |
| IF-CS-002 |
历史账单查询接口 |
CS-002 |
查询账单、欠费、用水历史、缴费记录 |
biz_charge、biz_charge_detail、biz_reading_data |
| IF-CS-003 |
在线支付下单接口 |
CS-003 |
创建微信/支付宝线上支付订单 |
biz_charge、biz_collection、bk_transaction |
| IF-CS-004 |
电子发票消费接口 |
CS-004 |
查询、下载、推送本人已开具电子发票 |
biz_invoice、biz_cust_invoice |
| IF-CS-005 |
网点与业务办理接口 |
CS-005 |
查询营业网点、预约信息、可办事项 |
biz_outlets、biz_business_types |
| IF-CS-006 |
业务办理进度接口 |
CS-006 |
提交业务申请、查询办理进度与附件 |
biz_process、biz_process_transfer、biz_content_attach |
| IF-CS-007 |
柜面扫码支付接口 |
CS-007 |
创建柜面扫码支付订单并回写结果 |
biz_collection、bk_transaction、biz_charge |
UP 接口清单
| 接口编号 |
接口名称 |
归属模块 |
主要用途 |
主要数据对象 |
| IF-UP-001 |
用户登录接口 |
UP-001 |
用户登录并获取访问令牌 |
system_users、system_oauth2_access_token、system_login_log |
| IF-UP-002 |
用户信息接口 |
UP-001 |
查询当前登录用户上下文信息 |
system_users、system_dept |
| IF-UP-003 |
权限校验接口 |
UP-002 |
校验菜单、按钮、数据权限 |
system_role、system_role_menu、system_user_role |
| IF-UP-004 |
参数字典接口 |
UP-003 |
查询字典、参数、配置项 |
system_dict_type、system_dict_data、biz_parameter_settings |
METER 接口清单
| 接口编号 |
接口名称 |
归属模块 |
主要用途 |
主要数据对象 |
| IF-METER-001 |
水表档案查询接口 |
METER-001 |
查询水表档案、状态与生命周期信息 |
biz_meter、biz_meter_model、biz_meter_caliber、biz_meter_range |
| IF-METER-002 |
表务工单处理接口 |
METER-003 |
提交换表、移表、校表、维修等工单处理结果 |
biz_meter_log、biz_process、biz_process_transfer |
| IF-METER-003 |
库存出入库接口 |
METER-002 |
处理领用、退库、报废等库存动作 |
biz_meter_in_out、biz_meter_in_out_rel |
| IF-METER-004 |
集抄数据接收接口 |
METER-003 |
接收远传抄表、异常告警并同步状态 |
biz_reading_data、biz_meter_read、biz_last_reading |
INST 接口清单
| 接口编号 |
接口名称 |
归属模块 |
主要用途 |
主要数据对象 |
| IF-INST-001 |
报装申请提交接口 |
INST-001 |
提交报装申请、附件与基础资料 |
biz_process、biz_content、biz_content_attach |
| IF-INST-002 |
踏勘结果回填接口 |
INST-001 |
回填现场踏勘、方案与审核结果 |
biz_process_transfer、biz_business_datas |
| IF-INST-003 |
合同签署发起接口 |
INST-002 |
发起电子签章任务并传输合同信息 |
installation_contract、installation_signature |
| IF-INST-004 |
签章回执接口 |
INST-002 |
回写签章结果、时间戳和存证信息 |
installation_signature、installation_evidence |
| IF-INST-005 |
报装归档接口 |
INST-003 |
归档申请、合同、验收与签章回执资料 |
biz_content_attach、installation_evidence |
关键内部接口说明
IF-UP-001 用户登录接口
| 项目 |
说明 |
| 接口编号 |
IF-UP-001 |
| 归属模块 |
UP-001 |
| 请求方式 |
POST |
| 请求路径 |
/admin-api/system/auth/login |
| 功能描述 |
统一认证入口,签发访问令牌并输出用户上下文 |
| 核心表 |
system_users、system_oauth2_access_token、system_login_log |
IF-REV-001 客户信息查询接口
| 项目 |
说明 |
| 接口编号 |
IF-REV-001 |
| 归属模块 |
REV-001 |
| 请求方式 |
GET |
| 请求路径 |
/admin-api/revenue/customer/{id} |
| 功能描述 |
查询客户主档、账户状态、联系人、水表绑定及开票资料 |
| 核心表 |
biz_cust、biz_account、biz_cust_contact、biz_cust_meter、biz_cust_invoice |
响应结果以客户主档为中心,组合返回账户余额、欠费金额、联系人列表、水表列表与开票资料摘要。
IF-REV-004 抄表数据提交接口
| 项目 |
说明 |
| 接口编号 |
IF-REV-004 |
| 归属模块 |
REV-002 |
| 请求方式 |
POST |
| 请求路径 |
/admin-api/revenue/reading-data/create |
| 功能描述 |
接收人工或远传抄表数据,执行校验、估抄判断、异常标记 |
| 核心表 |
biz_meter_read、biz_reading_data、biz_last_reading、biz_reading_logs |
典型请求体:
{
"meterReadId": 1001,
"meterId": 2001,
"readTime": "2026-03-11 09:30:00",
"currentReading": 156.32,
"readType": "MANUAL",
"photoList": [
"file-001",
"file-002"
],
"gps": "119.2965,26.0745",
"remark": "现场抄表正常"
}
IF-REV-005 账单生成接口
| 项目 |
说明 |
| 接口编号 |
IF-REV-005 |
| 归属模块 |
REV-002 |
| 请求方式 |
POST |
| 请求路径 |
/admin-api/revenue/charge/generate |
| 功能描述 |
基于抄表结果、水价模板、阶梯规则、费用组成生成账单,并返回成功清单、失败清单与生成汇总 |
| 核心表 |
biz_charge、biz_charge_detail、biz_price_template、biz_price_tier_adjustment、biz_cost_component |
边界约束:
- 本接口只负责抄表校验完成后的账单生成,不直接承接收费核销、发票申请、催缴执行或统计汇总。
- 正式请求范围可按抄表批次、客户集合或抄表任务集合组织;当前 backend 已实现入口为
/business/charge/charge-batch 与 /business/charge/check-charge-batch,请求体仅接受 readingDataIds。
- 价格模板、费用组成、阶梯规则、计划用水方案等任一关键规则缺失时,应阻断生成并返回失败原因,而不是生成不完整账单。
- 特殊开账、无码客户开账、罚款类开账等非标准来源仍沿用同一
biz_charge / biz_charge_detail 承接口径,不单设平行在线账表。
- 当前实现仅支持
SettleTypeEnum.ACTUAL_USAGE;固定水量、按人口数、最低消费等结算方式暂未纳入现有开账链路。
当前 backend 证据与契约缺口:
ChargeServiceImpl.generateCheckChargeBatch 已支持“批量复核 + 批量开账”,并通过 generateSingleChargeWithCache 写入 biz_charge、biz_charge_detail,说明主明细承接路径已存在。
- 返回值当前为
CommonResult<String>,仅表达“本次复核成功X条 / 本次开账成功Y条”,尚未提供正式契约要求的成功清单、失败清单、生成汇总和主明细结果对象。
- 单条失败当前主要以
log.warn + false 跳过处理,尚未形成可直接对外返回的结构化阻断码、失败原因集合与对象范围。
IF-REV-006 缴费处理接口
| 项目 |
说明 |
| 接口编号 |
IF-REV-006 |
| 归属模块 |
REV-003 |
| 请求方式 |
POST |
| 请求路径 |
/admin-api/revenue/collection/create |
| 功能描述 |
处理柜台收费、预存抵扣、渠道收款确认与账单核销 |
| 核心表 |
biz_collection、biz_charge、bk_transaction |
IF-REV-007 账务调整接口
| 项目 |
说明 |
| 接口编号 |
IF-REV-007 |
| 归属模块 |
REV-004 |
| 请求方式 |
POST |
| 请求路径 |
/admin-api/revenue/accounting/adjust |
| 功能描述 |
发起水量调整、金额调整、退款、冲正、坏账申请五类账务处理,并统一返回处理结果、审批边界与账单回写状态 |
| 核心表 |
biz_charge、biz_charge_detail、biz_operat_log、bk_transaction* |
边界约束:
- 一期仅覆盖
USAGE、AMOUNT、REFUND、REVERSE、BAD_DEBT 五类 adjustType。
- 退款、冲正必须提供
sourceTradeNo 并完成原交易校验;其他场景不得误用支付流水替代业务依据。
- 审批相关内容仅保留
approvalRequired、PENDING_APPROVAL 与边界说明,不展开 BPM 节点与审批回写实现细节。
resultStatus 与 writeBackStatus 必须分离表达,前者表示处理结论,后者表示账单状态回写结论。
IF-REV-008 发票申请接口
| 项目 |
说明 |
| 接口编号 |
IF-REV-008 |
| 归属模块 |
REV-005 |
| 请求方式 |
POST |
| 请求路径 |
/business/invoice/apply |
| 功能描述 |
后台对已收费未开票账单发起单笔/批量开票申请,并在同一管理域内受理作废/红冲后处理入口 |
| 核心表 |
biz_invoice、biz_invoice_taxrate、biz_cust_invoice |
边界约束:
- 一期仅支持后台营业收费员/财务人员发起申请,客户侧不直接调用本接口。
- 发票开具、作废、红冲能力均由
SYS-008 统一承接税控侧处理,SYS-002 负责业务单据归集、申请发起、后台作废/红冲触发、查询补偿与结果落账。
- 后台发票后处理沿同一管理域补充
/business/invoice/invalidate 与 /business/invoice/red-ink 两个入口,分别承接作废与红冲动作;处理结果继续通过 IF-REV-009 或 IF-EXT-007 统一收口。
- 原始单账单不支持直接任意部分金额开票;如需多张发票,应基于拆账/分账后的账单集合申请。
IF-REV-009 发票结果查询接口
| 项目 |
说明 |
| 接口编号 |
IF-REV-009 |
| 归属模块 |
REV-005 |
| 请求方式 |
POST |
| 请求路径 |
/business/invoice/query(补偿查询:/business/invoice/query/compensate) |
| 功能描述 |
后台按申请单号/受理号查询开票、作废或红冲结果,并支持系统补偿查询兜底 |
| 核心表 |
biz_invoice、biz_operat_log |
IF-REV-013 催缴任务生成与结果承接接口
| 项目 |
说明 |
| 接口编号 |
IF-REV-013 |
| 归属模块 |
REV-006 |
| 请求方式 |
POST |
| 请求路径 |
/admin-api/revenue/reminder/task(查询:/admin-api/revenue/reminder/task/query,人工核查:/admin-api/revenue/reminder/task/manual-verify) |
| 功能描述 |
基于欠费账单、催缴策略和渠道偏好生成催缴任务,查询任务状态,并承接业务侧四态结果与处置引用 |
| 核心表 |
biz_charge、biz_charge_detail、biz_operat_log、历史催缴查询口径 |
边界约束:
IF-REV-013 是 REV-006 的正式业务接口编号,不再复用 IF-REV-009。
SYS-002 负责催缴对象筛选、任务生成、业务事件号维护、四态状态承接和历史查询;SYS-010 只负责触达执行与结果回传。
- 接口状态固定为
PENDING、SUCCESS、FAIL、MANUAL_VERIFIED 四态,不在本轮扩展“已阅读”“已补发”等细粒度业务状态。
- 停复水仅作为联动边界与处置引用承接项,不在本接口中展开停复水内部流程。
IF-REV-010 统计查询接口
| 项目 |
说明 |
| 接口编号 |
IF-REV-010 |
| 归属模块 |
REV-007 |
| 请求方式 |
POST |
| 请求路径 |
/admin-api/revenue/statistics/query(导出:/admin-api/revenue/statistics/export) |
| 功能描述 |
面向营收经营分析场景查询统计主题、维度汇总和指标结果,并在权限范围内支持导出 |
| 核心表 |
biz_charge、biz_charge_detail、biz_collection、bk_transaction、biz_cust、biz_account、biz_meter_book、biz_reading_data |
边界约束:
IF-REV-010 只承接经营统计查询,不扩展到预测分析、BI 专题大屏或独立数仓查询。
- 统计口径按“主题 + 维度 + 指标”组织,避免仅以报表名称表达接口范围。
- 导出属于查询扩展能力,必须受数据权限和导出权限控制。
- 没有明确实现证据的独立统计表、专题分析表或离线汇总表不得写成既成事实。
IF-REV-011 银行代收协同接口
| 项目 |
说明 |
| 接口编号 |
IF-REV-011 |
| 归属模块 |
REV-008 |
| 请求方式 |
POST |
| 请求路径 |
/admin-api/revenue/bank/withholding/batch |
| 功能描述 |
创建代扣批次、发起对账、接收结算回写 |
| 核心表 |
biz_withholding、bk_withholding_batch、bk_reconcile_batch、bk_settlement_batch |
边界约束:
IF-REV-011 在当前阶段主要承接正式业务协同边界,不等同于送盘、回盘、对账、结算全部已闭环。
- 已确认的后台管理入口可证明批次、差异、结算台账对象存在,但不能替代银行 app 协同接口的完成度判断。
IF-REV-012 业务参数配置接口
| 项目 |
说明 |
| 接口编号 |
IF-REV-012 |
| 归属模块 |
REV-009 |
| 请求方式 |
GET / POST |
| 请求路径 |
/admin-api/revenue/parameter/config |
| 功能描述 |
查询与维护价格模板、业务参数、页面参数与规则配置 |
| 核心表 |
biz_parameter_settings、biz_price_*、biz_page_settings* |
IF-CS-001 账户绑定接口
| 项目 |
说明 |
| 接口编号 |
IF-CS-001 |
| 归属模块 |
CS-001 |
| 请求方式 |
POST |
| 请求路径 |
/app-api/customer/account/bind |
| 功能描述 |
绑定、解绑、切换默认客户账户,并校验渠道身份与客户关系 |
| 核心表 |
biz_cust_app_binds、biz_cust、biz_account |
IF-CS-002 历史账单查询接口
| 项目 |
说明 |
| 接口编号 |
IF-CS-002 |
| 归属模块 |
CS-002 |
| 请求方式 |
GET |
| 请求路径 |
/app-api/customer/bill/history |
| 功能描述 |
查询账单、欠费、缴费、用水历史及发票摘要 |
| 核心表 |
biz_charge、biz_charge_detail、biz_reading_data、biz_invoice |
IF-CS-003 在线支付下单接口
| 项目 |
说明 |
| 接口编号 |
IF-CS-003 |
| 归属模块 |
CS-003 |
| 请求方式 |
POST |
| 请求路径 |
/app-api/customer/payment/order |
| 功能描述 |
面向微网厅、微信、支付宝等客户渠道创建支付订单 |
| 核心表 |
biz_charge、biz_collection、bk_transaction |
边界约束:
- 支付通道、支付回调、对账流水由
SYS-009 负责。
SYS-002 负责校验待缴账单、生成业务订单、更新核销结果。
IF-CS-004 电子发票消费接口
| 项目 |
说明 |
| 接口编号 |
IF-CS-004 |
| 归属模块 |
CS-004 |
| 请求方式 |
POST |
| 请求路径 |
/business/invoice/customer/query、/business/invoice/customer/download、/business/invoice/customer/push |
| 功能描述 |
面向客户渠道查询、下载、推送本人已开具电子发票 |
| 核心表 |
biz_invoice、biz_cust_invoice、biz_invoice_taxrate |
边界约束:
- 一期客户侧仅消费已形成
SUCCESS 终态且具备票据地址的电子发票结果,不直接发起开票申请。
- 发票作废、红冲仍由
SYS-008 统一承接税控侧处理;IF-CS-004 仅消费当前仍可展示、下载、推送的有效电子发票结果,不开放客户侧直接发起作废或红冲。
IF-CS-006 业务办理进度接口
| 项目 |
说明 |
| 接口编号 |
IF-CS-006 |
| 归属模块 |
CS-006 |
| 请求方式 |
GET / POST |
| 请求路径 |
/app-api/customer/process |
| 功能描述 |
提交业务办理申请、查询办理进度、补充附件资料 |
| 核心表 |
biz_process、biz_process_transfer、biz_business_datas、biz_content_attach |
IF-CS-007 柜面扫码支付接口
| 项目 |
说明 |
| 接口编号 |
IF-CS-007 |
| 归属模块 |
CS-007 |
| 请求方式 |
POST |
| 请求路径 |
/admin-api/counter/scan-pay/create |
| 功能描述 |
柜台生成扫码订单,接收支付结果并回写收费状态 |
| 核心表 |
biz_collection、bk_transaction、biz_charge |
IF-METER-001 水表档案查询接口
| 项目 |
说明 |
| 接口编号 |
IF-METER-001 |
| 归属模块 |
METER-001 |
| 请求方式 |
GET |
| 请求路径 |
/admin-api/meter/archive/{id} |
| 功能描述 |
查询水表档案、状态、参数与生命周期信息 |
| 核心表 |
biz_meter、biz_meter_model、biz_meter_caliber、biz_meter_range |
IF-METER-002 表务工单处理接口
| 项目 |
说明 |
| 接口编号 |
IF-METER-002 |
| 归属模块 |
METER-003 |
| 请求方式 |
POST |
| 请求路径 |
/admin-api/meter/work-order/handle |
| 功能描述 |
提交换表、移表、校表、维修等工单处理结果并回写设备状态 |
| 核心表 |
biz_meter_log、biz_process、biz_process_transfer |
IF-METER-003 库存出入库接口
| 项目 |
说明 |
| 接口编号 |
IF-METER-003 |
| 归属模块 |
METER-002 |
| 请求方式 |
POST |
| 请求路径 |
/admin-api/meter/stock/in-out |
| 功能描述 |
处理领用、退库、报废等库存动作并更新生命周期状态 |
| 核心表 |
biz_meter_in_out、biz_meter_in_out_rel、biz_meter |
IF-METER-004 集抄数据接收接口
| 项目 |
说明 |
| 接口编号 |
IF-METER-004 |
| 归属模块 |
METER-003 |
| 请求方式 |
POST |
| 请求路径 |
/admin-api/meter/iot/reading/receive |
| 功能描述 |
接收远传抄表、设备状态和异常告警并同步读数状态 |
| 核心表 |
biz_reading_data、biz_meter_read、biz_last_reading |
IF-INST-001 报装申请提交接口
| 项目 |
说明 |
| 接口编号 |
IF-INST-001 |
| 归属模块 |
INST-001 |
| 请求方式 |
POST |
| 请求路径 |
/admin-api/installation/apply/create |
| 功能描述 |
提交报装申请、基础资料与附件,并创建流程实例 |
| 核心表 |
biz_process、biz_content、biz_content_attach |
IF-INST-002 踏勘结果回填接口
| 项目 |
说明 |
| 接口编号 |
IF-INST-002 |
| 归属模块 |
INST-001 |
| 请求方式 |
POST |
| 请求路径 |
/admin-api/installation/survey/result |
| 功能描述 |
回填现场踏勘结果、方案版本和审核结论 |
| 核心表 |
biz_process_transfer、biz_business_datas |
IF-INST-003 合同签署发起接口
| 项目 |
说明 |
| 接口编号 |
IF-INST-003 |
| 归属模块 |
INST-002 |
| 请求方式 |
POST |
| 请求路径 |
/admin-api/installation/contract/sign/initiate |
| 功能描述 |
发起报装合同签署流程,并与 CA 系统协同处理签章、时间戳和存证 |
| 核心表 |
installation_contract、installation_signature、installation_evidence |
IF-INST-004 签章回执接口
| 项目 |
说明 |
| 接口编号 |
IF-INST-004 |
| 归属模块 |
INST-002 |
| 请求方式 |
POST |
| 请求路径 |
/admin-api/installation/contract/sign/callback |
| 功能描述 |
回写签章结果、时间戳、存证回执与签章文件地址 |
| 核心表 |
installation_signature、installation_evidence |
IF-INST-005 报装归档接口
| 项目 |
说明 |
| 接口编号 |
IF-INST-005 |
| 归属模块 |
INST-003 |
| 请求方式 |
POST |
| 请求路径 |
/admin-api/installation/archive/submit |
| 功能描述 |
归档申请资料、验收附件、合同文件与签章回执 |
| 核心表 |
biz_content_attach、installation_evidence、biz_process |
字段级请求与响应定义
说明:以下字段级定义服务于接口设计说明,重点体现业务含义、来源对象与跨系统协同所需关键字段,不等同于数据库表的完整字段清单。
IF-REV-001 客户信息查询接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源 |
| id |
Long |
否 |
客户主键 ID,与 code 二选一 |
biz_cust.id |
| code |
String |
否 |
客户编号,与 id 二选一 |
biz_cust.code |
| mobile |
String |
否 |
客户手机号,支持模糊校验查询 |
biz_cust.mobile / biz_cust_contact.mobile |
| queryType |
String |
否 |
查询类型:base、account、meter、invoice、all |
查询控制参数 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| id |
Long |
客户主键 ID |
biz_cust.id |
| code |
String |
客户编号 |
biz_cust.code |
| name |
String |
客户名称 |
biz_cust.name |
| custType |
String |
客户类型 |
biz_cust.cust_type |
| mobile |
String |
主要联系电话 |
biz_cust.mobile |
| address |
String |
客户地址 |
biz_cust.address |
| accountInfo |
Object |
账户信息对象 |
biz_account |
| accountInfo.balance |
Decimal |
账户余额 |
biz_account.balance |
| accountInfo.arrearsAmount |
Decimal |
欠费金额 |
biz_account.arrears_amount |
| accountInfo.status |
String |
账户状态 |
biz_account.status |
| contactList |
Array |
联系人列表 |
biz_cust_contact |
| meterList |
Array |
绑定水表列表 |
biz_cust_meter、biz_meter |
| invoiceInfo |
Object |
开票信息摘要 |
biz_cust_invoice |
IF-REV-004 抄表数据提交接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| meterReadId |
Long |
是 |
抄表任务 ID |
biz_meter_read.id |
| meterId |
Long |
是 |
水表 ID |
biz_meter.id |
| readTime |
Datetime |
是 |
抄表时间 |
biz_reading_data.read_time |
| currentReading |
Decimal |
是 |
本次读数 |
biz_reading_data.current_reading |
| readType |
String |
是 |
抄表方式:MANUAL、IOT、IMPORT |
biz_reading_data.read_type |
| usageAmount |
Decimal |
否 |
本次用量,可由系统自动计算 |
biz_reading_data.usage_amount |
| photoList |
Array |
否 |
表盘照片或现场图片文件标识 |
附件系统 / 文件服务 |
| gps |
String |
否 |
现场坐标 |
扩展信息 |
| remark |
String |
否 |
异常说明或现场备注 |
biz_reading_logs.remark |
| abnormalFlag |
Boolean |
否 |
是否标记异常 |
过程状态 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| readingId |
Long |
抄表数据主键 |
biz_reading_data.id |
| meterReadId |
Long |
抄表任务 ID |
biz_meter_read.id |
| validateStatus |
String |
校验状态:PASS、WARN、REJECT |
校验结果 |
| abnormalFlag |
Boolean |
是否识别为异常 |
过程判断 |
| nextAction |
String |
后续动作:BILLING、RECHECK、MANUAL_REVIEW |
流程控制 |
| msg |
String |
处理说明 |
返回消息 |
IF-REV-005 账单生成接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| billPeriod |
String |
是 |
账期,如 2026-03 |
开账批次参数 |
| readingBatchNo |
String |
否 |
抄表批次号 |
抄表批次 |
| customerIds |
Array |
否 |
指定客户范围 |
biz_cust.id |
| meterReadIds |
Array |
否 |
指定抄表任务范围 |
biz_meter_read.id |
| dueDate |
Date |
是 |
应收截止日期 |
biz_charge.due_date |
| operatorId |
Long |
否 |
发起操作人 |
操作上下文 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| generateCount |
Integer |
成功生成账单数量 |
汇总信息 |
| successList |
Array |
成功明细列表 |
biz_charge |
| successList[].chargeId |
Long |
账单主键 |
biz_charge.id |
| successList[].chargeCode |
String |
账单编号 |
biz_charge.code |
| successList[].custId |
Long |
客户 ID |
biz_charge.cust_id |
| successList[].totalAmount |
Decimal |
账单总金额 |
biz_charge.total_amount |
| failureList |
Array |
失败明细列表 |
处理结果 |
| failureList[].reason |
String |
失败原因 |
异常信息 |
IF-REV-006 缴费处理接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| custId |
Long |
是 |
客户 ID |
biz_charge.cust_id |
| chargeIds |
Array |
是 |
待核销账单 ID 列表 |
biz_charge.id |
| paymentChannel |
String |
是 |
支付渠道:CASH、WECHAT、ALIPAY、BANK、PREPAY |
渠道参数 |
| paymentAmount |
Decimal |
是 |
本次支付金额 |
biz_collection.amount |
| actualAmount |
Decimal |
否 |
实收金额,柜台收费场景使用 |
柜台收费扩展 |
| tradeNo |
String |
否 |
外部交易流水号 |
bk_transaction.trade_no |
| outletCode |
String |
否 |
柜台或网点编号 |
biz_outlets.code |
| remark |
String |
否 |
收费备注 |
biz_collection.remark |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| collectionId |
Long |
收费记录 ID |
biz_collection.id |
| collectionCode |
String |
收费业务编号 |
biz_collection.code |
| writeOffStatus |
String |
核销状态:SUCCESS、PARTIAL、PENDING |
业务状态 |
| paidAmount |
Decimal |
已支付金额 |
汇总结果 |
| remainAmount |
Decimal |
剩余待支付金额 |
汇总结果 |
| tradeNo |
String |
渠道交易流水号 |
bk_transaction.trade_no |
| invoiceAvailable |
Boolean |
是否可发起开票 |
业务判断 |
IF-REV-007 账务调整接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| chargeId |
Long |
是 |
目标账单 ID |
biz_charge.id |
| adjustType |
String |
是 |
调整类型:USAGE、AMOUNT、REFUND、REVERSE、BAD_DEBT |
业务类型 |
| adjustAmount |
Decimal |
否 |
调整金额 |
biz_charge_detail / 业务计算 |
| adjustUsage |
Decimal |
否 |
调整水量 |
业务计算 |
| sourceTradeNo |
String |
否 |
原交易流水号,退款/冲正场景使用 |
bk_transaction.trade_no |
| reasonCode |
String |
是 |
调整原因编码 |
业务字典 |
| remark |
String |
否 |
调整说明 |
biz_operat_log.remark |
| attachmentList |
Array |
否 |
依据附件 |
附件系统 |
| operatorId |
Long |
是 |
操作人 ID |
操作上下文 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| adjustmentNo |
String |
调整业务编号 |
业务流水 |
| chargeId |
Long |
目标账单 ID |
biz_charge.id |
| resultStatus |
String |
处理状态:SUCCESS、PENDING_APPROVAL、FAIL |
业务状态 |
| writeBackStatus |
String |
账单回写状态 |
业务状态 |
| approvalRequired |
Boolean |
是否进入审批 |
流程判断 |
| msg |
String |
处理说明 |
返回消息 |
IF-REV-008 发票申请接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| applicationNo |
String |
否 |
发票申请单号 |
服务端生成,作为幂等主键之一 |
| custId |
Long |
是 |
客户 ID |
biz_invoice.cust_id |
| chargeIds |
Array |
是 |
开票关联账单 ID 列表 |
业务单据关联 |
| invoiceType |
String |
是 |
发票类型:ELECTRONIC、PAPER |
biz_invoice.invoice_type |
| invoiceTitle |
String |
是 |
发票抬头 |
biz_cust_invoice.invoice_title |
| taxNo |
String |
否 |
税号 |
biz_cust_invoice.tax_no |
| email |
String |
否 |
电子发票接收邮箱 |
biz_cust_invoice.email |
| mobile |
String |
否 |
接收手机号 |
biz_cust_invoice.mobile |
| sourceChannel |
String |
是 |
来源渠道:COUNTER、FINANCE_BACKOFFICE |
业务来源 |
| remark |
String |
否 |
申请备注 |
操作留痕 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| invoiceId |
Long |
发票申请记录 ID |
biz_invoice.id |
| applicationNo |
String |
发票申请单号 |
biz_invoice.application_no |
| invoiceStatus |
String |
状态:SUBMITTED、PENDING、REJECTED |
biz_invoice.invoice_status |
| sysRequestNo |
String |
发往 SYS-008 的受理号 |
协同流水 |
| msg |
String |
处理说明 |
返回消息 |
申请校验与幂等约束
- 所有关联账单必须满足“已收费、未开票、未作废”。
- 一期不支持原始单账单直接任意部分金额开票;如需多张发票,必须基于拆账/分账后的账单集合发起申请。
- 企业抬头场景应校验
taxNo 完整性;电子发票场景优先校验 email 或 mobile 至少一项可用。
- 幂等键优先使用
applicationNo,未传入时按 custId + chargeIds 组合控制重复申请。
- 申请成功后必须创建查询补偿上下文,不依赖回调作为唯一结果来源。
后台作废请求参数(/business/invoice/invalidate)
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| invoiceId |
Long |
是 |
发票记录 ID |
biz_invoice.id |
| invalidReason |
String |
是 |
作废原因 |
biz_invoice.invalid_reason |
| invalidRemark |
String |
否 |
作废备注 |
biz_invoice.invalid_remark |
| originalInvoiceCode |
String |
否 |
原发票代码;传入时必须与当前发票记录一致 |
biz_invoice.original_invoice_code |
| originalInvoiceNumber |
String |
否 |
原发票号码;传入时必须与当前发票记录一致 |
biz_invoice.original_invoice_number |
后台红冲请求参数(/business/invoice/red-ink)
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| invoiceId |
Long |
是 |
发票记录 ID |
biz_invoice.id |
| redInkReason |
String |
是 |
红冲原因 |
biz_invoice.red_ink_reason |
| redInkRemark |
String |
否 |
红冲备注 |
biz_invoice.red_ink_remark |
| originalInvoiceCode |
String |
否 |
原发票代码;传入时必须与当前发票记录一致 |
biz_invoice.original_invoice_code |
| originalInvoiceNumber |
String |
否 |
原发票号码;传入时必须与当前发票记录一致 |
biz_invoice.original_invoice_number |
后台作废/红冲处理约束
- 作废与红冲仅允许对当前
invoiceStatus=SUCCESS 的记录发起;已进入 INVALID 或 RED_INK 的记录必须拒绝重复处理。
- 后台提交作废或红冲后,应同步写入原因、备注、原票引用与触发来源,当前实现的触发来源分别为
ADMIN_INVALIDATE、ADMIN_RED_INK。
- 作废与红冲的即时返回仅表示后台已受理本次后处理动作;最终状态仍通过
IF-REV-009 查询补偿或 IF-EXT-007 回写统一收口。
- 后处理动作必须保留操作日志,记录触发人、目标状态、原因、备注与原发票代码/号码。
IF-REV-009 发票结果查询接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| applicationNo |
String |
否 |
发票申请单号,与 sysRequestNo 二选一 |
biz_invoice.application_no |
| sysRequestNo |
String |
否 |
SYS-008 受理号,与 applicationNo 二选一 |
biz_invoice.sys_request_no |
| querySource |
String |
是 |
查询来源:MANUAL、AUTO_COMPENSATE、CALLBACK_VERIFY |
查询触发上下文 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| invoiceId |
Long |
发票主记录 ID |
biz_invoice.id |
| applicationNo |
String |
发票申请单号 |
biz_invoice.application_no |
| sysRequestNo |
String |
SYS-008 受理号 |
biz_invoice.sys_request_no |
| invoiceStatus |
String |
状态:SUBMITTED、PENDING、SUCCESS、FAIL、INVALID、RED_INK |
biz_invoice.invoice_status |
| invoiceCode |
String |
发票代码 |
biz_invoice.invoice_code |
| invoiceNumber |
String |
发票号码 |
biz_invoice.invoice_number |
| fileUrl |
String |
电子发票文件地址 |
biz_invoice.file_url |
| failReason |
String |
失败原因 |
biz_invoice.fail_reason |
| pushStatus |
String |
电子发票推送状态 |
biz_invoice.push_status |
| lastQueryTime |
DateTime |
最近一次查询时间 |
biz_invoice.last_try_time |
| tryCount |
Integer |
累计查询次数 |
biz_invoice.try_count |
| latestResult |
String |
最近一次查询结果摘要 |
biz_invoice.latest_result |
| latestError |
String |
最近一次查询异常说明 |
biz_invoice.latest_error |
| msg |
String |
处理说明 |
返回消息 |
查询补偿与状态流转约束
- 查询入口同时服务于后台人工查询与系统补偿查询,两类触发必须复用同一状态落账规则。
- 当
querySource=AUTO_COMPENSATE 时,接口语义表示由系统补偿任务触发一次兜底查询,并刷新最近查询时间、下次计划时间与累计次数。
- 查询结果若确认开票成功,应回写票号、票据地址与账单-发票关联状态;若仍处理中,仅维持
PENDING 并更新补偿上下文。
- 对已发起作废或红冲的记录,查询结果应允许把终态更新为
INVALID 或 RED_INK,并同步刷新 latestResult、latestError、账单关联状态与后处理上下文。
- 已进入
SUCCESS 的正常开票终态不得被后续失败查询结果覆盖;若外部返回异常,应记录到操作留痕并保留人工核查入口。
IF-REV-013 催缴任务生成与结果承接接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| taskNo |
String |
否 |
催缴任务号;查询/人工核查时必填 |
任务主键 |
| custId |
Long |
是 |
客户标识 |
biz_charge.cust_id |
| chargeIds |
Array |
是 |
欠费账单集合 |
biz_charge.id |
| billPeriod |
String |
是 |
账期 |
biz_charge.bill_period |
| arrearsAmount |
Decimal |
是 |
欠费金额汇总 |
欠费汇总结果 |
| strategyCode |
String |
是 |
命中的催缴策略编码 |
策略规则 |
| channelType |
String |
是 |
触达渠道:短信/微信公众号/站内信等 |
任务分组结果 |
| triggerType |
String |
是 |
触发方式:AUTO / MANUAL |
任务触发上下文 |
| eventNo |
String |
否 |
业务事件号;生成后返回,回写承接时作为关联键 |
协同事件主键 |
| relatedDisposalRef |
String |
否 |
关联停复水或工单引用 |
联动追溯信息 |
| manualVerifyNote |
String |
否 |
人工核查说明;仅人工核查时填写 |
核查留痕 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| taskNo |
String |
催缴任务号 |
任务主键 |
| interfaceCode |
String |
固定返回 IF-REV-013 |
接口常量 |
| eventNo |
String |
业务事件号 |
协同主键 |
| status |
String |
状态:PENDING、SUCCESS、FAIL、MANUAL_VERIFIED |
任务状态 |
| resultTime |
DateTime |
最近结果时间 |
结果回写时间 |
| failureReason |
String |
失败原因 |
失败回写 |
| resultChannel |
String |
实际触达渠道 |
协同结果 |
| relatedDisposalRef |
String |
关联停复水或工单引用 |
联动追溯 |
| msg |
String |
处理说明 |
返回消息 |
任务生成与状态承接约束
- 任务生成前必须完成欠费账单、客户类别、联系方式和策略命中校验;至少存在一个可用触达渠道。
- 相同业务事件与同一接收对象在去重窗口内不得重复生成等效任务;若为人工补发,应显式记录
triggerType=MANUAL。
PENDING 表示已生成任务并发起协同,等待 SYS-010 回写或人工核查;SUCCESS、FAIL 由协同结果或明确失败确认触发。
- 当外部结果长期未定、历史回执不足或人工核查已确认结果时,可将任务补记为
MANUAL_VERIFIED,并保留核查人和核查说明。
- 接口返回的
relatedDisposalRef 仅用于追溯停复水、复水或工单处置引用,不表示本接口承担下游流程控制。
失败阻断与人工核查约束
- 候选账单不满足欠费前提、策略编码无效或触达信息缺失时,应阻断任务生成并返回明确原因,不得写入伪成功状态。
- 频控规则命中时允许部分阻断,必须返回被跳过对象与原因摘要,避免“全成功”误判。
- 渠道协同超时或仅返回受理结果时,不直接判定
FAIL,保持 PENDING 并等待回执或进入人工核查流程。
- 人工核查补记必须校验
taskNo 存在且 manualVerifyNote 非空;不满足条件时应拒绝补记并返回校验错误。
- 人工核查仅用于状态收口,不替代
SYS-010 的渠道执行职责,也不扩展停复水/工单内部流程控制。
IF-REV-010 统计查询接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| themeCode |
String |
是 |
统计主题编码 |
查询主题 |
| dateFrom |
Date |
是 |
开始日期 |
时间维度 |
| dateTo |
Date |
是 |
结束日期 |
时间维度 |
| billPeriod |
String |
否 |
账期 |
biz_charge.bill_period |
| deptId |
Long |
否 |
营业所/部门 |
system_dept.id |
| regionCode |
String |
否 |
片区/区域编码 |
区域维度 |
| customerCategory |
String |
否 |
客户类别 |
客户标签/分类 |
| channelCode |
String |
否 |
收费/交易渠道 |
bk_payment_channel.channel_code |
| accountId |
Long |
否 |
账户标识 |
biz_account.id |
| custId |
Long |
否 |
客户标识 |
biz_cust.id |
| statusSet |
Array |
否 |
状态集合 |
账单/收费/抄表等状态筛选 |
| groupBy |
Array |
否 |
分组维度集合 |
结果分组 |
| exportFlag |
Boolean |
否 |
是否导出 |
导出控制 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| themeCode |
String |
统计主题编码 |
查询主题 |
| themeName |
String |
统计主题名称 |
主题定义 |
| dimensionSummary |
Object |
查询维度摘要 |
查询条件 |
| indicatorList |
Array |
指标结果集合 |
聚合结果 |
| indicatorList[].indicatorCode |
String |
指标编码 |
指标定义 |
| indicatorList[].indicatorName |
String |
指标名称 |
指标定义 |
| indicatorList[].indicatorValue |
Decimal/String |
指标值 |
聚合结果 |
| indicatorList[].unit |
String |
指标单位 |
指标定义 |
| groupRows |
Array |
分组结果集合 |
维度分组结果 |
| exportAllowed |
Boolean |
是否允许导出 |
权限结果 |
| msg |
String |
处理说明 |
返回消息 |
查询主题与口径约束
- 本接口至少支持营收汇总、收费与实收、欠费规模与账龄、客户结构、渠道交易、抄表完成率等主题查询。
- 应收金额、实收金额、欠费余额、账单数、客户数、交易笔数、渠道占比、完成率等指标必须按业务含义区分,不得混写。
- 当查询涉及历史只读口径时,历史数据仅作为补充来源或迁移核查辅助,不替代在线主数据统计结果。
- 权限边界必须同时作用于在线查询和导出动作;不允许越过现有数据权限返回全量统计结果。
IF-REV-011 银行代收协同接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| batchNo |
String |
是 |
代扣批次号 |
bk_withholding_batch.batch_no |
| businessType |
String |
是 |
业务类型:WITHHOLDING、RECONCILE、SETTLEMENT |
协同类型 |
| channelCode |
String |
是 |
渠道编码 |
bk_payment_channel.channel_code |
| billPeriod |
String |
否 |
账期 |
批处理参数 |
| itemList |
Array |
否 |
批次明细列表 |
bk_withholding_item |
| itemList[].custId |
Long |
是 |
客户 ID |
bk_withholding_item.cust_id |
| itemList[].chargeId |
Long |
是 |
账单 ID |
bk_withholding_item.charge_id |
| itemList[].amount |
Decimal |
是 |
扣款金额 |
业务金额 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| batchNo |
String |
批次号 |
bk_withholding_batch.batch_no |
| batchStatus |
String |
批次状态:CREATED、SENT、RETURNED、RECONCILED、SETTLED |
批次状态 |
| successCount |
Integer |
成功处理条数 |
汇总结果 |
| failCount |
Integer |
失败条数 |
汇总结果 |
| reconcileStatus |
String |
对账状态 |
bk_reconcile_batch.status |
| settlementStatus |
String |
结算状态 |
bk_settlement_batch.status |
| diffList |
Array |
差异清单摘要 |
bk_reconcile_diff |
IF-REV-012 业务参数配置接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| action |
String |
是 |
动作:QUERY、CREATE、UPDATE |
配置动作 |
| configType |
String |
是 |
配置类型:PRICE、RULE、PAGE、NOTICE |
biz_parameter_settings.config_type |
| configCode |
String |
否 |
配置编码 |
biz_parameter_settings.config_code |
| configValue |
String |
否 |
配置值或 JSON 内容 |
biz_parameter_settings.config_value |
| deptId |
Long |
否 |
生效单位 |
作用域参数 |
| effectiveDate |
Date |
否 |
生效日期 |
生效控制 |
| operatorId |
Long |
否 |
操作人 ID |
操作上下文 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| configId |
Long |
配置主键 |
biz_parameter_settings.id |
| configCode |
String |
配置编码 |
biz_parameter_settings.config_code |
| configVersion |
String |
配置版本 |
版本信息 |
| effectScope |
String |
生效范围 |
作用域结果 |
| effectStatus |
String |
生效状态:DRAFT、ACTIVE、EXPIRED |
业务状态 |
| msg |
String |
处理说明 |
返回消息 |
IF-CS-001 账户绑定接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| action |
String |
是 |
动作:BIND、UNBIND、SET_DEFAULT |
绑定动作 |
| channelType |
String |
是 |
渠道类型:WECHAT、ALIPAY、MINIAPP |
渠道上下文 |
| channelUserId |
String |
是 |
渠道用户标识,如 OpenId |
渠道上下文 |
| custId |
Long |
是 |
客户 ID |
biz_cust.id |
| accountId |
Long |
否 |
账户 ID |
biz_account.id |
| verifyCode |
String |
否 |
验证码或身份校验码 |
安全校验 |
| defaultFlag |
Boolean |
否 |
是否设为默认账户 |
biz_cust_app_binds.is_default |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| bindId |
Long |
绑定关系 ID |
biz_cust_app_binds.id |
| bindStatus |
String |
绑定状态:BOUND、UNBOUND |
业务状态 |
| defaultFlag |
Boolean |
是否默认账户 |
biz_cust_app_binds.is_default |
| custSummary |
Object |
客户摘要信息 |
biz_cust |
| msg |
String |
处理说明 |
返回消息 |
IF-CS-002 历史账单查询接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| custId |
Long |
是 |
客户 ID |
客户上下文 |
| queryType |
String |
是 |
查询类型:BILL、PAYMENT、USAGE、ARREARS、INVOICE |
查询控制 |
| billPeriod |
String |
否 |
账期,如 2026-03 |
biz_charge.bill_period |
| chargeStatus |
String |
否 |
账单状态筛选 |
biz_charge.status |
| pageNo |
Integer |
否 |
页码 |
分页参数 |
| pageSize |
Integer |
否 |
每页数量 |
分页参数 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| total |
Integer |
总记录数 |
分页结果 |
| list |
Array |
查询结果列表 |
聚合结果 |
| list[].chargeId |
Long |
账单 ID |
biz_charge.id |
| list[].billPeriod |
String |
账期 |
biz_charge.bill_period |
| list[].usageAmount |
Decimal |
用量 |
biz_reading_data.usage_amount |
| list[].payStatus |
String |
缴费状态 |
业务状态 |
| list[].invoiceStatus |
String |
开票状态 |
biz_invoice.invoice_status |
IF-CS-004 电子发票消费接口
查询/下载请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| custId |
Long |
是 |
客户 ID |
biz_invoice.cust_id |
| invoiceId |
Long |
否 |
发票记录 ID,三选一优先键 |
biz_invoice.id |
| applicationNo |
String |
否 |
发票申请单号 |
biz_invoice.application_no |
| sysRequestNo |
String |
否 |
SYS-008 受理号 |
biz_invoice.sys_request_no |
推送请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| custId |
Long |
是 |
客户 ID |
biz_invoice.cust_id |
| invoiceId |
Long |
是 |
发票记录 ID |
biz_invoice.id |
| applicationNo |
String |
否 |
发票申请单号 |
biz_invoice.application_no |
| pushChannel |
String |
是 |
推送方式:EMAIL、SMS |
推送动作 |
| pushEmail |
String |
否 |
推送邮箱,EMAIL 时优先使用 |
目标地址 |
| pushMobile |
String |
否 |
推送手机号,SMS 时优先使用 |
目标地址 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| invoiceId |
Long |
发票记录 ID |
biz_invoice.id |
| applicationNo |
String |
发票申请单号 |
biz_invoice.application_no |
| invoiceStatus |
String |
当前状态 |
biz_invoice.invoice_status |
| invoiceCode |
String |
发票代码 |
biz_invoice.invoice_code |
| invoiceNumber |
String |
发票号码 |
biz_invoice.invoice_number |
| fileUrl |
String |
发票下载地址 |
biz_invoice.file_url |
| pushStatus |
String |
推送状态:NONE、PUSHED、FAIL |
biz_invoice.push_status |
| chargeBindStatus |
String |
账单关联状态:UNBOUND、BOUND |
biz_invoice.charge_bind_status |
| msg |
String |
处理说明 |
返回消息 |
客户侧消费约束
- 客户侧仅允许访问本人
custId 名下发票记录,invoiceId、applicationNo、sysRequestNo 任一定位成功后仍需再次校验客户归属。
- 下载与推送前必须校验
invoiceStatus=SUCCESS 且 fileUrl 非空;已作废、已红冲或缺少电子票地址的记录一律返回不可消费原因。
- 推送成功后回写
pushStatus=PUSHED;失败则更新为 FAIL 并记录失败原因。
- 客户侧只消费已形成有效电子票结果的记录,不暴露后台作废、红冲入口,也不直接展示后处理请求参数。
IF-CS-003 在线支付下单接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| custId |
Long |
是 |
客户 ID |
客户上下文 |
| chargeIds |
Array |
是 |
待支付账单 ID 列表 |
biz_charge.id |
| paymentChannel |
String |
是 |
支付渠道:WECHAT、ALIPAY |
渠道参数 |
| paymentAmount |
Decimal |
是 |
支付金额 |
bk_transaction.trade_amount |
| openId |
String |
否 |
微信渠道用户标识 |
微信场景 |
| returnUrl |
String |
否 |
前端完成跳转地址 |
前端场景 |
| notifyUrl |
String |
否 |
支付结果通知地址 |
回调地址 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| bizOrderNo |
String |
SYS-002 业务订单号 |
biz_collection.code / 业务单号 |
| tradeNo |
String |
渠道交易流水号 |
bk_transaction.trade_no |
| orderStatus |
String |
订单状态:INIT、PAYING、SUCCESS、FAIL |
交易状态 |
| payUrl |
String |
支付链接或二维码地址 |
渠道返回 |
| prepayInfo |
Object |
预支付参数对象 |
渠道返回 |
| expireTime |
Datetime |
订单失效时间 |
交易参数 |
IF-CS-006 业务办理进度接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| processId |
Long |
否 |
办理流程 ID,查询场景使用 |
biz_process.id |
| businessTypeCode |
String |
否 |
业务类型编码,如更名、过户、低保、换表 |
biz_business_types.code |
| custId |
Long |
否 |
客户 ID |
客户上下文 |
| applyData |
Object |
否 |
业务申请主体数据 |
biz_business_datas |
| attachmentList |
Array |
否 |
附件文件标识列表 |
biz_content_attach |
| action |
String |
否 |
动作:CREATE、QUERY、SUPPLEMENT |
流程动作 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| processId |
Long |
办理流程 ID |
biz_process.id |
| processCode |
String |
流程编号 |
biz_process.code |
| processStatus |
String |
当前状态:INIT、ACCEPTED、PROCESSING、DONE、REJECTED |
biz_process.status |
| currentNode |
String |
当前办理节点 |
流程状态 |
| transferList |
Array |
流转轨迹 |
biz_process_transfer |
| attachmentRequired |
Boolean |
是否需要补件 |
业务判断 |
| msg |
String |
办理说明 |
返回消息 |
IF-CS-007 柜面扫码支付接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| counterCode |
String |
是 |
柜台编号 |
柜面终端 |
| chargeIds |
Array |
是 |
待支付账单 ID 列表 |
biz_charge.id |
| paymentChannel |
String |
是 |
支付渠道:WECHAT、ALIPAY |
渠道参数 |
| orderAmount |
Decimal |
是 |
订单金额 |
bk_transaction.trade_amount |
| operatorId |
Long |
是 |
柜台操作员 ID |
操作上下文 |
| scene |
String |
否 |
场景标识,默认 COUNTER_SCAN_PAY |
场景参数 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| bizOrderNo |
String |
柜面业务订单号 |
biz_collection.code |
| tradeNo |
String |
渠道交易流水号 |
bk_transaction.trade_no |
| qrCode |
String |
柜面展示二维码内容 |
渠道返回 |
| orderStatus |
String |
当前订单状态:INIT、PAYING、SUCCESS、FAIL |
交易状态 |
| writeBackStatus |
String |
营收状态回写结果 |
业务状态 |
| msg |
String |
处理说明 |
返回消息 |
IF-METER-001 水表档案查询接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源 |
| id |
Long |
否 |
水表主键 ID,与 code 二选一 |
biz_meter.id |
| code |
String |
否 |
水表编号,与 id 二选一 |
biz_meter.code |
| queryType |
String |
否 |
查询类型:base、status、lifeCycle、all |
查询控制参数 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| id |
Long |
水表主键 ID |
biz_meter.id |
| code |
String |
水表编号 |
biz_meter.code |
| meterStatus |
String |
水表状态 |
biz_meter.status |
| modelCode |
String |
型号编码 |
biz_meter.model_code |
| caliberCode |
String |
口径编码 |
biz_meter.caliber_code |
| rangeCode |
String |
量程编码 |
biz_meter.range_code |
| installAddress |
String |
安装地址 |
biz_meter.install_address |
| lastReading |
Decimal |
最近有效读数 |
biz_last_reading.last_reading |
IF-METER-003 库存出入库接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| action |
String |
是 |
动作:IN、OUT、RETURN、SCRAP |
库存动作 |
| batchNo |
String |
是 |
批次号 |
biz_meter_in_out.batch_no |
| warehouseCode |
String |
否 |
仓库编码 |
仓储参数 |
| meterIds |
Array |
是 |
水表 ID 列表 |
biz_meter.id |
| remark |
String |
否 |
出入库说明 |
biz_meter_in_out.remark |
| operatorId |
Long |
是 |
操作人 ID |
操作上下文 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| inOutId |
Long |
出入库主记录 ID |
biz_meter_in_out.id |
| batchNo |
String |
批次号 |
biz_meter_in_out.batch_no |
| actionStatus |
String |
处理状态:SUCCESS、PARTIAL、FAIL |
业务状态 |
| successCount |
Integer |
成功处理数量 |
汇总结果 |
| failCount |
Integer |
失败数量 |
汇总结果 |
| msg |
String |
处理说明 |
返回消息 |
IF-METER-004 集抄数据接收接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| meterCode |
String |
是 |
水表编号 |
biz_meter.code |
| readTime |
Datetime |
是 |
采集时间 |
biz_reading_data.read_time |
| currentReading |
Decimal |
是 |
当前读数 |
biz_reading_data.current_reading |
| deviceStatus |
String |
否 |
设备状态:ONLINE、OFFLINE、ALARM |
设备状态 |
| alarmList |
Array |
否 |
告警编码列表 |
告警结果 |
| fileSerialNo |
String |
否 |
上送批次或文件序列号 |
幂等辅助键 |
| sourceSystem |
String |
是 |
来源系统:IOT、MDC |
来源标识 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| readingId |
Long |
读数记录 ID |
biz_reading_data.id |
| meterReadId |
Long |
对应抄表任务 ID |
biz_meter_read.id |
| acceptStatus |
String |
接收状态:SUCCESS、WARN、REJECT |
处理状态 |
| abnormalFlag |
Boolean |
是否异常 |
过程判断 |
| nextAction |
String |
后续动作:BILLING、RECHECK、MANUAL_REVIEW |
流程控制 |
| msg |
String |
处理说明 |
返回消息 |
IF-INST-001 报装申请提交接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| applyType |
String |
是 |
报装类型:NEW、REBUILD、ONE_METER_ONE_HOME |
业务类型 |
| applicantName |
String |
是 |
申请人姓名 |
申请资料 |
| mobile |
String |
是 |
联系手机号 |
申请资料 |
| address |
String |
是 |
申请地址 |
申请资料 |
| waterUseType |
String |
是 |
用水性质 |
业务字典 |
| sourceChannel |
String |
是 |
来源渠道:COUNTER、MINIAPP、GOV |
来源标识 |
| attachmentList |
Array |
否 |
申请附件列表 |
biz_content_attach |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| processId |
Long |
流程实例 ID |
biz_process.id |
| processCode |
String |
报装流程编号 |
biz_process.code |
| processStatus |
String |
当前状态:INIT、ACCEPTED、SURVEYING |
biz_process.process_status |
| acceptStatus |
String |
受理结果 |
业务状态 |
| msg |
String |
处理说明 |
返回消息 |
IF-INST-002 踏勘结果回填接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| processId |
Long |
是 |
报装流程 ID |
biz_process.id |
| schemeVersion |
String |
是 |
方案版本号 |
biz_business_datas |
| surveyResult |
String |
是 |
踏勘结论 |
biz_business_datas |
| estimateAmount |
Decimal |
否 |
预估费用 |
biz_business_datas |
| attachmentList |
Array |
否 |
现场照片与方案附件 |
biz_content_attach |
| auditResult |
String |
否 |
审核结果:PASS、REJECT |
审核结果 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| transferId |
Long |
流转记录 ID |
biz_process_transfer.id |
| processStatus |
String |
当前流程状态 |
biz_process.process_status |
| nextNode |
String |
下一节点 |
流程控制 |
| msg |
String |
处理说明 |
返回消息 |
IF-INST-004 签章回执接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| contractId |
Long |
是 |
合同 ID |
installation_contract.id |
| requestNo |
String |
是 |
签章请求号 |
协同流水 |
| signStatus |
String |
是 |
签章状态:SUCCESS、FAIL、CANCEL |
installation_signature.signature_status |
| signerId |
String |
否 |
签署人标识 |
installation_signature.signer_id |
| signatureTime |
Datetime |
否 |
签章时间 |
installation_signature.signature_time |
| evidenceNo |
String |
否 |
存证编号 |
installation_evidence.evidence_no |
| fileUrl |
String |
否 |
已签文件地址 |
结果回写 |
| hashValue |
String |
否 |
存证哈希 |
installation_evidence.hash_value |
| resultMsg |
String |
否 |
结果说明 |
返回消息 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| signatureId |
Long |
签章记录 ID |
installation_signature.id |
| evidenceId |
Long |
存证记录 ID |
installation_evidence.id |
| writeBackStatus |
String |
回写状态:SUCCESS、IGNORE_REPEAT、FAIL |
业务状态 |
| msg |
String |
处理说明 |
返回消息 |
IF-INST-005 报装归档接口
请求参数
| 字段 |
类型 |
必填 |
说明 |
主要来源/去向 |
| processId |
Long |
是 |
报装流程 ID |
biz_process.id |
| archiveType |
String |
是 |
归档类型:APPLY、ACCEPT、CHECK、CONTRACT、FINISH |
归档分类 |
| attachmentList |
Array |
是 |
归档附件列表 |
biz_content_attach |
| contractId |
Long |
否 |
合同 ID |
installation_contract.id |
| evidenceId |
Long |
否 |
存证记录 ID |
installation_evidence.id |
| operatorId |
Long |
否 |
归档操作人 |
操作上下文 |
响应参数
| 字段 |
类型 |
说明 |
主要来源 |
| archiveBatchNo |
String |
归档批次号 |
业务流水 |
| archiveStatus |
String |
归档状态:SUCCESS、PARTIAL、FAIL |
业务状态 |
| archiveCount |
Integer |
已归档文件数量 |
汇总结果 |
| msg |
String |
处理说明 |
返回消息 |
关键接口时序图
说明:以下时序图用于说明 SYS-002 与客户渠道、外部协同子系统之间的交互边界,重点体现业务校验、协同调用、结果回写与状态更新链路。
1. 在线支付下单与回调时序
sequenceDiagram
autonumber
participant Client as 客户渠道
participant SYS002 as SYS-002营收系统
participant SYS009 as SYS-009支付结算
participant Channel as 支付渠道
Client->>SYS002: 提交缴费下单请求(IF-CS-003)
SYS002->>SYS002: 校验客户、账单状态与应付金额
SYS002->>SYS002: 生成业务订单与收费记录草稿
SYS002->>SYS009: 发起支付下单协同(IF-EXT-004)
SYS009->>Channel: 调用微信/支付宝统一下单
Channel-->>SYS009: 返回tradeNo、payUrl/prepayInfo
SYS009-->>SYS002: 返回交易流水与支付参数
SYS002-->>Client: 返回bizOrderNo、payUrl、expireTime
Channel-->>SYS009: 异步支付结果通知
SYS009->>SYS009: 校验签名与交易状态
SYS009->>SYS002: 回写支付结果(IF-EXT-005)
SYS002->>SYS002: 幂等校验并更新biz_collection/biz_charge
SYS002-->>Client: 查询订单时返回最新支付状态
2. 电子发票申请、查询补偿与回写时序
sequenceDiagram
autonumber
participant Counter as 柜台或客户渠道
participant SYS002 as SYS-002营收系统
participant SYS008 as SYS-008发票服务
participant Tax as 税控/开票平台
participant Job as 查询补偿任务
Counter->>SYS002: 提交发票申请(IF-REV-008/IF-CS-004)
SYS002->>SYS002: 校验客户、账单、开票抬头与金额
SYS002->>SYS002: 生成发票申请记录biz_invoice(SUBMITTED)
SYS002->>SYS008: 发起开票协同(IF-EXT-006)
SYS008->>Tax: 调用税控或电子发票平台
Tax-->>SYS008: 返回受理结果/票号/文件地址
SYS008-->>SYS002: 返回受理号或异步结果
SYS002->>SYS002: 记录sysRequestNo并更新为PENDING
alt 发票服务主动回写
SYS008-->>SYS002: 回写开票结果(IF-EXT-007)
SYS002->>SYS002: 更新biz_invoice状态、票据地址与账单关联
else 未收到终态结果
Job->>SYS002: 触发补偿查询(IF-REV-009)
SYS002->>SYS008: 按申请单号/受理号查询结果
SYS008-->>SYS002: 返回处理中/成功/失败
SYS002->>SYS002: 刷新查询上下文并按终态规则落账
end
SYS002-->>Counter: 返回申请结果或供后续查询
3. 银行代扣批次与回盘时序
sequenceDiagram
autonumber
participant BatchJob as 代扣批处理任务
participant SYS002 as SYS-002营收系统
participant SYS009 as SYS-009支付结算
participant Bank as 银行渠道
BatchJob->>SYS002: 发起代扣批次处理(IF-REV-011)
SYS002->>SYS002: 汇总代扣客户、账单与协议关系
SYS002->>SYS002: 生成bk_withholding_batch/bk_withholding_item
SYS002->>SYS002: 解析 send/back/reconcile 目录并固化协议、目录、文件路径
SYS002->>SYS009: 下发银行代扣批次(IF-EXT-001)
SYS009->>Bank: 发送代扣文件或报文
Bank-->>SYS009: 返回受理结果
SYS009-->>SYS002: 回写批次发送状态
Bank-->>SYS009: 回盘文件/结果通知(IF-EXT-002)
SYS009->>SYS009: 解析成功、失败、异常明细
SYS009->>SYS002: 回写代扣结果、差异与结算状态
SYS002->>SYS002: 更新biz_withholding、账单核销、对账结算状态
SYS002-->>BatchJob: 返回批次处理汇总结果
4. 催缴通知下发与结果回写时序
sequenceDiagram
autonumber
participant Job as 催缴任务
participant SYS002 as SYS-002营收系统
participant SYS010 as SYS-010消息服务
participant User as 客户
Job->>SYS002: 触发催缴任务(IF-REV-013)
SYS002->>SYS002: 按欠费账单、渠道偏好生成催缴名单
SYS002->>SYS010: 提交通知下发请求(IF-EXT-008)
SYS010->>User: 发送短信/公众号/APP消息
User-->>SYS010: 触达回执或阅读反馈
SYS010-->>SYS002: 回写发送结果与触达状态
SYS002->>SYS002: 更新催缴记录、四态状态与后续策略
SYS002-->>Job: 返回催缴任务执行结果
数据对象与表口径
SYS-002 接口核心数据对象
| 数据域 |
代表表 |
接口说明 |
| 客户与账户 |
biz_cust、biz_account、biz_cust_contact |
用于客户查询、账户绑定、资料维护 |
| 客户扩展关系 |
biz_cust_meter、biz_cust_invoice、biz_cust_app_binds、biz_cust_collection_rel、biz_cust_withholding_rel |
用于客户关联对象查询与服务协同 |
| 抄表与开账 |
biz_meter_book、biz_meter_read、biz_reading_data、biz_last_reading、biz_charge、biz_charge_detail |
用于抄表任务、账单生成、费用明细查询 |
| 价格与参数 |
biz_price_*、biz_cost_component、biz_parameter_settings、biz_page_settings* |
用于价格模板、业务参数、页面配置 |
| 收费与票据 |
biz_collection、biz_withholding、biz_invoice、biz_invoice_taxrate |
用于收费、代扣、发票申请与回写 |
| 办理与资料 |
biz_process*、biz_business_datas、biz_content* |
用于业务办理与进度跟踪 |
| 银行代收与结算 |
bk_transaction*、bk_withholding_*、bk_reconcile_*、bk_settlement_batch |
用于支付流水、批次、回调、对账和结算 |
口径约束说明
- 不再使用旧稿中的
customer_*、water_*、billing_*、thirdpay_*、service_* 作为 SYS-002 正式接口数据口径。
- 若历史资料中仍存在旧命名,仅作为来源参考,不作为正式交付口径。
- 对 backend 中尚未明确存在独立实体表的对象,例如部分精细账务台账、红冲明细、价差调整明细等,本文仅描述为业务处理场景,不强写为既有独立接口对象。
跨系统报文映射表
说明:以下映射表用于说明 SYS-002 与 SYS-008、SYS-009、SYS-010 之间的关键报文字段对应关系,重点体现业务主键、状态字段、金额字段与结果回写字段,不展开各外部平台私有扩展字段。
1. SYS-002 ↔ SYS-009 支付下单与结果回写映射
| 协同场景 |
SYS-002 字段 |
SYS-009/渠道字段 |
说明 |
主要来源 |
| 支付下单 |
bizOrderNo |
businessOrderNo |
SYS-002 业务订单号,作为支付协同主键 |
biz_collection.code |
| 支付下单 |
chargeIds[] |
orderItems[].sourceId |
待缴账单明细标识 |
biz_charge.id |
| 支付下单 |
custId |
buyer.customerId |
客户标识 |
biz_charge.cust_id / biz_cust.id |
| 支付下单 |
paymentAmount |
tradeAmount |
交易总金额 |
bk_transaction.trade_amount |
| 支付下单 |
paymentChannel |
channelCode |
支付渠道编码 |
渠道参数 / bk_payment_channel.channel_code |
| 支付下单 |
notifyUrl |
notifyUrl |
支付结果异步通知地址 |
协同参数 |
| 下单返回 |
tradeNo |
tradeNo |
渠道交易流水号 |
bk_transaction.trade_no |
| 下单返回 |
payUrl/prepayInfo |
payUrl/payParams |
二维码链接或预支付参数 |
渠道返回 |
| 结果回写 |
orderStatus |
tradeStatus |
交易状态映射:INIT/PAYING/SUCCESS/FAIL |
bk_transaction.status |
| 结果回写 |
paidAmount |
successAmount |
实际支付成功金额 |
biz_collection.amount / 渠道结果 |
| 结果回写 |
callbackTime |
notifyTime |
回调时间 |
bk_transaction_callback.create_time |
| 结果回写 |
writeOffStatus |
writeBackStatus |
SYS-002 核销处理结果 |
业务状态 |
2. SYS-002 ↔ SYS-008 发票申请与结果回写映射
| 协同场景 |
SYS-002 字段 |
SYS-008 字段 |
说明 |
主要来源 |
| 发票申请 |
invoiceCode |
requestNo |
发票申请单号 / 协同请求号 |
biz_invoice.code |
| 发票申请 |
custId |
customerId |
客户标识 |
biz_invoice.cust_id |
| 发票申请 |
chargeIds[] |
billList[].sourceBillId |
开票关联账单标识 |
业务单据关联 |
| 发票申请 |
invoiceTitle |
buyerName |
购方名称 / 抬头 |
biz_cust_invoice.invoice_title |
| 发票申请 |
taxNo |
buyerTaxNo |
购方税号 |
biz_cust_invoice.tax_no |
| 发票申请 |
invoiceType |
invoiceType |
电子/纸质发票类型 |
biz_invoice.invoice_type |
| 发票申请 |
taxRateCode |
taxRateCode |
税率编码 |
biz_invoice_taxrate.tax_code |
| 发票申请 |
email / mobile |
receiver.email / receiver.mobile |
票据接收信息 |
biz_cust_invoice.email / biz_cust_invoice.mobile |
| 结果回写 |
invoiceStatus |
invoiceStatus |
开票状态:受理中、成功、失败、作废、红冲等 |
biz_invoice.invoice_status |
| 结果回写 |
invoiceNo |
invoiceNo |
发票号码 |
开票结果 |
| 结果回写 |
fileUrl |
fileUrl |
发票文件下载地址 |
回写结果 |
| 结果回写 |
msg |
resultMsg |
结果说明 |
返回消息 |
3. SYS-002 ↔ SYS-009 银行代扣、对账、结算映射
| 协同场景 |
SYS-002 字段 |
SYS-009/银行字段 |
说明 |
主要来源 |
| 批次下发 |
batchNo |
batchNo |
代扣批次号 |
bk_withholding_batch.batch_no |
| 批次下发 |
businessType |
businessType |
代扣/对账/结算类型 |
协同参数 |
| 批次下发 |
channelCode |
channelCode |
渠道编码 |
bk_payment_channel.channel_code |
| 批次下发 |
protocol |
protocol |
SFTP/FTP 传输协议 |
统一解析结果 |
| 批次下发 |
sendDir / sendFilePath |
sendDir / sendFilePath |
送盘目录与文件路径 |
bk_withholding_batch |
| 批次下发 |
billPeriod |
billPeriod |
账期 |
批处理参数 |
| 批次明细 |
itemList[].custId |
itemList[].customerId |
客户标识 |
bk_withholding_item.cust_id |
| 批次明细 |
itemList[].chargeId |
itemList[].sourceBillId |
账单标识 |
bk_withholding_item.charge_id |
| 批次明细 |
itemList[].amount |
itemList[].withholdingAmount |
代扣金额 |
业务金额 |
| 回盘回写 |
batchStatus |
batchStatus |
批次状态:已发送、已回盘等 |
bk_withholding_batch.status |
| 回盘回写 |
backProtocol / backDir / backFilePath |
backProtocol / backDir / backFilePath |
回盘阶段最终解析结果 |
bk_withholding_batch |
| 回盘回写 |
successCount / failCount |
successCount / failCount |
成功失败数量汇总 |
汇总结果 |
| 对账回写 |
protocol / dir / filePath |
protocol / dir / filePath |
对账文件最终解析结果 |
bk_reconcile_batch |
| 对账回写 |
reconcileStatus |
reconcileStatus |
对账状态 |
bk_reconcile_batch.status |
| 对账回写 |
diffList[] |
diffList[] |
差异明细摘要 |
bk_reconcile_diff |
| 结算回写 |
settlementStatus |
settlementStatus |
结算状态 |
bk_settlement_batch.status |
4. SYS-002 ↔ SYS-010 催缴与业务通知映射
| 协同场景 |
SYS-002 字段 |
SYS-010 字段 |
说明 |
主要来源 |
| 催缴通知 |
messageBizNo |
eventNo |
消息事件编号 |
业务事件编号 |
| 催缴通知 |
custId |
receiver.customerId |
接收客户标识 |
biz_charge.cust_id / biz_process.cust_id |
| 催缴通知 |
mobile |
receiver.mobile |
接收手机号 |
客户联系方式 |
| 催缴通知 |
templateCode |
templateCode |
消息模板编码 |
模板参数 |
| 催缴通知 |
arrearsAmount |
payload.arrearsAmount |
欠费金额 |
biz_charge.total_amount / 汇总结果 |
| 催缴通知 |
billPeriod |
payload.billPeriod |
账期 |
biz_charge.bill_period |
| 催缴通知 |
strategyCode |
payload.strategyCode |
命中的催缴策略编码 |
任务分组结果 |
| 催缴通知 |
triggerType |
payload.triggerType |
自动/人工触发方式 |
任务触发上下文 |
| 办理进度通知 |
processCode |
payload.processCode |
业务办理单号 |
biz_process.code |
| 办理进度通知 |
processStatus |
payload.processStatus |
办理状态 |
biz_process.status |
| 发送结果回写 |
status |
sendStatus |
渠道回执由 SYS-002 统一映射为 PENDING/SUCCESS/FAIL/MANUAL_VERIFIED 四态 |
消息结果 |
| 发送结果回写 |
reachStatus |
reachStatus |
触达/阅读状态 |
渠道回执 |
| 发送结果回写 |
sendTime |
sendTime |
发送时间 |
消息结果 |
| 发送结果回写 |
msg |
resultMsg |
结果说明 |
返回消息 |
接口安全与异常处理
认证与鉴权
- 管理后台接口:统一采用登录态 + 权限控制 + 数据权限。
- 客户渠道接口:采用账户绑定态、手机号/验证码、OAuth 或渠道令牌机制。
- 外部协同接口:按渠道要求使用 API Key、时间戳、数字签名、证书或国密算法。
安全控制要求
- 全部接口统一走 HTTPS。
- 外部回调接口必须执行签名校验、重复通知幂等处理与来源校验。
- 关键交易类接口需记录业务流水、渠道流水和操作日志。
- 敏感字段如证件号、手机号、银行账号按制度要求脱敏展示。
错误码分层建议
| 错误码段 |
说明 |
| 0 |
成功 |
| 400~499 |
请求参数、权限、资源不存在等通用错误 |
| 1_002_001_xxx |
客户主数据类错误 |
| 1_002_002_xxx |
抄表开账类错误 |
| 1_002_003_xxx |
收费与核销类错误 |
| 1_002_004_xxx |
账务处理类错误 |
| 1_002_005_xxx |
发票协同类错误 |
| 1_002_006_xxx |
银行代收与结算类错误 |
| 1_002_007_xxx |
客户渠道与业务办理类错误 |
| 1_002_008_xxx |
消息通知与触达类错误 |
典型错误码建议
| 错误码 |
适用接口/场景 |
说明 |
处理建议 |
1_002_001_001 |
IF-REV-001 / IF-REV-002 |
客户不存在或已停用 |
返回客户状态并阻断后续处理 |
1_002_001_002 |
IF-CS-001 |
账户绑定关系不存在 |
引导重新绑定客户 |
1_002_002_001 |
IF-REV-004 |
抄表任务不存在或已关闭 |
禁止提交抄表数据 |
1_002_002_002 |
IF-REV-004 |
本次读数小于上次读数且未通过异常审批 |
标记异常并进入复核 |
1_002_002_003 |
IF-REV-005 |
价格模板或费用组成缺失 |
阻断账单生成并提示补齐配置 |
1_002_003_001 |
IF-REV-006 / IF-CS-003 / IF-CS-007 |
账单已核销或不允许重复支付 |
返回当前账单支付状态 |
1_002_003_002 |
IF-REV-006 |
支付金额与待核销金额不一致 |
阻断核销并返回差额 |
1_002_003_003 |
IF-EXT-005 |
支付回调签名校验失败 |
记录异常回调并拒绝入账 |
1_002_004_001 |
IF-REV-007 |
账务调整目标状态不允许变更 |
返回当前账务状态 |
1_002_005_001 |
IF-REV-008 / IF-CS-004 |
发票申请单据不满足开票条件 |
返回不可开票原因 |
1_002_005_002 |
IF-EXT-007 |
发票结果回写状态非法或重复 |
按请求号执行幂等回写 |
1_002_006_001 |
IF-REV-011 / IF-EXT-001 |
代扣批次不存在或已发送 |
禁止重复下发批次 |
1_002_006_002 |
IF-EXT-002 |
银行回盘文件格式非法或批次号不匹配 |
记录异常并进入人工核查 |
1_002_006_003 |
IF-REV-011 |
对账差异未处理,禁止结算确认 |
需先完成差异处置 |
1_002_007_001 |
IF-CS-006 |
业务办理单不存在 |
返回空结果并提示核对单号 |
1_002_007_002 |
IF-CS-006 |
当前节点不允许补件或重复提交 |
返回当前流程节点状态 |
1_002_008_001 |
IF-REV-013 / IF-EXT-008 |
消息模板不存在或目标联系方式缺失 |
记录失败原因并允许后续补发 |
1_002_008_002 |
IF-EXT-008 |
消息通道调用超时 |
标记待重试,不直接判定业务失败 |
1_002_008_003 |
IF-REV-013 |
人工核查补记缺少核查说明或关联任务不存在 |
拒绝补记并提示补齐核查上下文 |
幂等与状态冲突控制
幂等键建议
| 场景 |
接口 |
建议幂等键 |
幂等判定说明 |
| 支付下单 |
IF-CS-003 / IF-CS-007 |
bizOrderNo 或 custId + chargeIds + paymentChannel |
相同业务订单仅允许创建一次有效支付单 |
| 支付回调 |
IF-EXT-005 |
tradeNo + tradeStatus + notifyTime |
同一交易成功回调只允许入账一次 |
| 发票申请 |
IF-REV-008 / IF-CS-004 |
invoiceCode 或 custId + chargeIds |
相同账单组合避免重复申请开票 |
| 发票结果回写 |
IF-EXT-007 |
requestNo + invoiceStatus |
相同发票状态重复回写仅更新回执日志 |
| 银行批次下发 |
IF-REV-011 / IF-EXT-001 |
batchNo |
同一代扣批次禁止重复发送 |
| 银行回盘接收 |
IF-EXT-002 |
batchNo + fileSerialNo |
同一回盘文件只处理一次 |
| 催缴通知 |
IF-REV-013 / IF-EXT-008 |
messageBizNo + templateCode + receiver |
同一业务事件与同一接收方避免重复发送 |
| 业务补件 |
IF-CS-006 |
processId + action + attachmentDigest |
相同补件内容重复提交仅保留一次 |
状态冲突处理原则
| 场景 |
冲突条件 |
处理原则 |
| 支付核销 |
账单已完成核销后再次支付 |
拒绝重复核销,返回现有 writeOffStatus |
| 支付回调 |
先收到失败回调,后收到成功回调 |
以最终成功状态为准,但全过程保留回调日志 |
| 发票申请 |
单据已开票成功后再次申请 |
拒绝重复申请,返回既有发票信息 |
| 发票回写 |
已成功开票后收到失败回写 |
不覆盖成功状态,转入异常核查 |
| 银行代扣 |
批次已发送后再次下发 |
拒绝重复发送,保留原批次状态 |
| 对账结算 |
差异未消除即发起结算 |
禁止结算,提示先处理差异明细 |
| 催缴通知 |
同一账期、同一模板短时间内重复催缴 |
按通知频控策略拦截重复下发 |
| 业务办理 |
流程已办结后再次补件 |
拒绝补件,返回当前流程终态 |
异常处理要求
- 参数校验失败:直接返回明确字段错误信息。
- 外部渠道超时:记录重试状态,不直接覆盖业务成功状态。
- 重复回调:按业务流水执行幂等控制。
- 账务状态冲突:返回当前账单状态与冲突原因,禁止重复核销。
- 外部结果晚到:允许按幂等键补写回执,但不得回退已确认成功状态。
- 人工兜底场景:支付异常、银行回盘异常、发票状态冲突等需保留人工复核入口与操作日志。
历史查询与迁移校验接口口径
设计原则
- 历史查询接口一律只读,不承担迁移修正、补写或状态变更职责。
- 不为迁移场景发明新的独立接口编号体系,统一挂靠既有
IF-REV-*、IF-CS-*、IF-METER-* 接口族扩展查询能力。
- 对 backend 当前未识别到独立实体表的旧细粒度对象,仅要求接口返回“历史摘要 + 原始标识 + 状态映射”,不强行承诺独立在线业务对象。
- 迁移验收接口必须同时支持“汇总对账”和“明细追溯”两类能力,避免只能看总数、无法定位差异。
最小历史查询保留集
| 查询主题 |
挂靠接口族 |
主要数据来源 |
最低返回要求 |
说明 |
| 历史账单、特殊开账 |
IF-CS-002、IF-REV-005 |
biz_charge* + 历史账单来源 |
原账单号、新账单号、客户号、账期、金额、状态、来源类型 |
支撑账单迁移核查与客户侧历史查询 |
| 缴费记录、柜台结账、实时收费 |
IF-CS-002、IF-REV-006、IF-REV-011 |
biz_collection、bk_transaction* + 历史收费记录 |
原流水号、渠道、实收金额、收费时间、柜员/营业所、核销状态 |
支撑渠道对账、柜面核查和历史收据核对 |
| 红冲与账务调整 |
IF-REV-007 |
操作留痕、流程结果 + 历史调整台账 |
调整类型、关联原单号、调整金额、原因、审批状态、处理时间 |
支撑预存退款、已销调整、价差调整、分账调整、呆坏账查询 |
| 发票与开票关系 |
IF-REV-008、IF-CS-004 |
biz_invoice* + 历史开票关系快照 |
发票号、申请单号、关联账单、票据状态、票据类型、文件地址 |
支撑发票结果核查与历史补打定位 |
| 催缴、停复水、预存短信 |
IF-REV-013、IF-METER-002 |
通知结果、流程工单 + 历史催缴记录 |
客户号、账期、催缴方式、消息状态、停复水状态、执行人、执行时间、处置引用 |
支撑催缴处置闭环核查 |
| 业务进度与电子档案 |
IF-CS-006 |
biz_process*、biz_content* + 历史附件目录 |
业务单号、节点状态、处理轨迹、附件数量、附件元数据 |
支撑微网厅与柜台办理进度、电子档案查询 |
| 水表生命周期、检定与库存流转 |
IF-METER-001、IF-METER-003 |
biz_meter* + 历史仓储/检定单据 |
表号、当前状态、单据类型、仓库、检定结论、证书编号、时间 |
支撑表务迁移核查与历史作业追溯 |
| 页面参数、业务字段、微信配置 |
IF-REV-012、IF-CS-006 |
biz_parameter_settings、biz_page_settings*、sys_wechat_app_settings |
参数编码、原值、新值、启用状态、生效时间、适用渠道 |
支撑微网厅后台配置迁移核查 |
迁移验收对账接口要求
| 验收场景 |
推荐挂靠接口 |
最低查询维度 |
输出要求 |
| 开账迁移核对 |
IF-REV-005、IF-CS-002 |
账期、营业所、客户类型、账单状态 |
同时提供汇总金额/笔数与可追溯明细清单 |
| 收费迁移核对 |
IF-REV-006、IF-REV-011、IF-CS-002 |
日期、渠道、营业所、收费状态 |
同时提供实收金额、流水数量和异常流水列表 |
| 发票迁移核对 |
IF-REV-008、IF-CS-004 |
开票日期、票据类型、开票状态 |
同时提供开票汇总、失败原因和票据明细定位 |
| 催缴与停复水核对 |
IF-REV-013、IF-METER-002 |
账期、催缴方式、执行状态、处理人 |
同时提供任务统计、执行明细与处置引用 |
| 业务办理与档案核对 |
IF-CS-006 |
业务类型、流程状态、附件类型、创建时间 |
同时提供流程轨迹、附件元数据和缺失标记 |
| 表务仓储与检定核对 |
IF-METER-001、IF-METER-003 |
仓库、单据类型、水表状态、检定结论 |
同时提供数量汇总和单据级追溯信息 |
接口约束补充
- 历史查询结果应优先返回原系统标识与新系统标识的映射关系,例如原单号、原批次号、原附件标识、当前业务单号。
- 明细查询接口应支持按客户号、证件号、手机号、表号、账期、营业所、渠道、业务单号等组合检索,满足迁移验收定位需求。
- 若历史附件不直接由当前业务服务托管,接口至少返回附件元数据、来源系统、文件引用地址和可访问状态。
- 历史查询接口的导出能力属于查询扩展能力,不应与在线交易接口共用“状态变更”动作。
实现状态说明
已落地
结合 backend 当前已确认模块与真实表,可明确支撑以下接口域:
- 客户与账户查询、维护接口
- 抄表任务与抄表数据接口
- 账单生成与收费核销接口
- 银行代收、代扣、交易回调、对账、结算接口
- 发票申请与票据状态回写接口的业务侧支撑
- 客户渠道的账户绑定、查询、缴费、业务办理进度接口
部分落地
以下接口域已有主线支撑,但部分细粒度对象仍需结合后续实现继续核实:
- 账务调整、退款、坏账、冲正类精细接口
- 催缴管理中针对不同通知策略和停复水联动的细分接口
- 发票补开等扩展票据后处理接口
文档先行
以下内容可保留设计说明,但当前不应直接表述为已完全落地:
- 历史数据字典中大量细粒度账务台账接口
- 未在 backend 当前扫描范围内明确识别到的独立业务对象接口
- 特定银行或地方平台的专有报文细节
- 历史查询与迁移校验接口在实施时所依赖的只读库、归档库或映射表物理形态
版本迭代维护说明
当前主文档已覆盖 UP / REV / CS / METER / INST / EXT 六类接口域的统一编号、清单、关键接口与字段级定义。后续版本迭代按以下顺序增量维护:
- 先更新接口清单与归属模块,再补充字段级请求/响应结构;
- 涉及跨系统协同时,同步维护
SYS-008、SYS-009、SYS-010 报文映射;
- 涉及异常策略变化时,同步更新错误码与幂等规则;
- 完成后同步校验
02_Detailed_Design/01_Detailed_Design.md 与本主文档的一致性。