1. AGENTS.md 更新 - water-docs: 新增 specs/ 与 docs/design/ 生命周期规则章节 - water-backend: 更新协作引用(建设期/建成后、evidence 模块化) 2. specs/ 重复合并 - 006-reminder-event-design 合并入 003-rev006-reminder-event-design - 001-rev004-accounting 删除冗余 data-model.md + contracts/ - 002-rev005-invoice-flow 删除冗余 data-model.md + contracts/ 3. evidence 按模块归档 - 35 个 REV-004 文件归入 evidence/rev004-accounting/ - 7 个通用 bugfix 文件归入 evidence/bugfix/ 和 bugfix/frontend/ - 新建 rev005-invoice/、rev006-reminder/、rev007-statistics/ 目录 4. guides/ 清理 - 14 个 REV004_*.md 移入 evidence/rev004-accounting/ 5. 遗留文件处理 - docs/research/ 归档到 Archive/06_Migration_Plans/ - backend-check detached worktrees 清理 6. 交叉引用修复 - 006-reminder-event-design → 003-rev006-reminder-event-design - docs/guides/REV004_ → docs/evidence/rev004-accounting/REV004_ 7. DB 设计文档修正(01_Database_Design.md) - biz_invoice 明确为开票配置表,非发票记录表 - 新增 biz_invoice_record 为发票申请/结果主表 - 新增 biz_charge_invoice_rel 账单-发票关联说明 - REV-005 承接口径表名全部修正 8. 发票审计证据 - 新增 evidence/rev005-invoice/2026-06-16-invoice-document-audit.md
9.1 KiB
9.1 KiB
REV004 / accountProcess 接口真值矩阵(2026-04-13)
目的
给前端/联调/验收一个“当前代码真实口径”矩阵:
- 哪个页面/弹窗对应哪些接口
- 每个接口当前稳定返回哪些关键字段
- 哪些字段已经被真实库测试覆盖
- 哪些地方仍然是页面编排层面的剩余缺口
口径来源:
water-backend当前控制器 + Req/RespVO + 已落地真实库 canary。
一、页面 / 弹窗 -> 接口映射
1. 预存调整页
查询区
GET /admin-api/business/accounting-adjust/prestorage-pageGET /admin-api/business/accounting-adjust/prestorage-statGET /admin-api/business/accounting-adjust/prestorage-detail?id={id}
动作区
POST /admin-api/business/accounting-adjust/prestorage-submitPOST /admin-api/business/accounting-adjust/prestorage-revokeGET /admin-api/business/accounting-adjust/prestorage-process?adjustmentNo=...GET /admin-api/business/accounting-adjust/prestorage-attachments?adjustmentNo=...
维护区
POST /prestorage-customer-updatePOST /prestorage-meter-updatePOST /prestorage-billing-updatePOST /prestorage-discount-updatePOST /prestorage-cost-component-update
2. 已销调整页
查询区
GET /admin-api/business/accounting-adjust/sold-pageGET /admin-api/business/accounting-adjust/sold-stat
动作区
POST /admin-api/business/accounting-adjust/sold-submitPOST /admin-api/business/accounting-adjust/sold-batch-revoke
3. 未销调整页
查询区
GET /admin-api/business/accounting-adjust/unsold-pageGET /admin-api/business/accounting-adjust/unsold-stat
动作区(按弹窗切换)
- 调整:
POST /unsold-adjust-submit - 分账:
POST /unsold-split-submit - 违约金减免:
POST /unsold-late-fee-reduce-submit - 价差调整:
POST /unsold-price-diff-submit - 呆坏账:
POST /unsold-bad-debt-submit
批量区
POST /unsold-adjust-batch-submitPOST /unsold-split-batch-submitPOST /unsold-late-fee-reduce-batch-submitPOST /unsold-price-diff-batch-submitPOST /unsold-bad-debt-batch-submit
4. 账务日志页
查询区
GET /admin-api/business/accounting-adjust/log-pageGET /admin-api/business/accounting-adjust/log-statGET /admin-api/business/accounting-adjust/log-detail?adjustmentNo=...
二次动作弹窗
- 转退款:
POST /admin-api/business/accounting-adjust/log-refund - 转预存:
POST /admin-api/business/accounting-adjust/log-prestorage - 撤销:
POST /admin-api/business/accounting-adjust/log-revoke
辅助弹窗
GET /admin-api/business/accounting-adjust/log-process?adjustmentNo=...GET /admin-api/business/accounting-adjust/log-attachments?adjustmentNo=...
二、关键返回字段真值
A. 通用动作返回 AccountingAdjustRespVO
适用:
prestorage-submitsold-submitunsold-*submitlog-refundlog-prestorage
当前稳定字段:
adjustmentNo:主联调键objectType:对象类型;未销调整 AMOUNT/USAGE 场景可能为空,其他场景一般有值resultStatus:推荐前端主读字段approvalStatuswriteBackStatusapprovalRequiredresultObjectNomsgstatus:兼容旧字段message:兼容旧字段
前端推荐:
- 优先读
resultStatus / approvalStatus / writeBackStatus / msg status / message仅做兼容保底
B. 撤销 / 审批动作返回 AccountingAdjustActionRespVO
适用:
prestorage-revokelog-revoke
当前稳定字段:
adjustmentNoobjectTypeactionType(当前撤销返回REVOKE)approvalStatusresultStatuswriteBackStatusmessageactionTime
C. 预存分页 AccountingAdjustPrestoragePageRespVO
关键字段:
idadjustmentNocustIdworkOrderStatusadjustmentTypecustCode / custName / custAddresstargetCustCodeadjustAmount / preBalance / postBalanceadjustReason / remarkcreateTime / creatorNamecanRevoke / canViewAttachment
补充:
prestorage-detail在上面基础上增加:objectTyperesultStatusapprovalStatuswriteBackStatusprocessInstanceIdattachmentRefs
D. 已销分页 AccountingAdjustSoldPageRespVO
关键字段:
idcustIdaccountMonthcustCode / custName / custAddresswaterNaturebilledWaterVolumeactualAmountbilledAmountpenaltyAmountcollectionMethodcollectorcollectionDatecanAdjustcanBatchRevoke
注意:
- 已销查询页不是调整日志页,所以这里没有
adjustmentNo sold-submit提交后,前端若要看申请单号,应跳到log-*维度或使用提交返回值保存的adjustmentNo
E. 未销分页 AccountingAdjustUnsoldPageRespVO
关键字段:
idcustIdcustCode / custName / custAddresswaterTypeaccountMonthwaterVolumetotalAmount / billAmount / penaltyAmountwaterFee / sewageFee / garbageFee / resourcesFee / overPlanFee / seasonalSupplementcanAdjust / canSplit / canLateFeeReduce / canPriceDiffAdjust / canBadDebtAdjust
F. 日志分页 AccountingAdjustLogPageRespVO
关键字段:
idadjustmentNoaccountMonthcustId / custCode / custName / custAddressaccountTypeCode / accountTypeprocessMethodCode / processMethodamountdescriptionregistrant / handlerhandleTime / createTimestatusCode / statustargetCustCodeoriginalPrestore / newPrestoreoriginalBill / newBilloriginalWaterVolume / newWaterVolumeoriginalPenalty / newPenaltybillChange / waterVolumeChange / penaltyChangecanRevoke / canRefund / canPrestore
G. 日志详情 AccountingAdjustLogDetailRespVO
在日志分页基础上增加:
objectTyperesultStatusapprovalStatuswriteBackStatusoriginalTranSeqoriginalSysTranSeqattachmentRefsdetails[]
H. 流程 / 附件
AccountingAdjustProcessRespVO
关键字段:
adjustmentNoobjectTypeadjustTypechargeIdactionAmountresultStatusapprovalStatuswriteBackStatustaskIdprocessStatelatestMessagelatestOperationTimestages[]
AccountingAdjustAttachmentRespVO
关键字段:
adjustmentNorefresolvedid / name / link / size / extensionmessage
三、当前已经被真实库测试证明的字段/链路
已证明
预存
prestorage-submit返回adjustmentNo/resultStatus/writeBackStatusprestorage-page可见新记录prestorage-stat可统计到refundCountprestorage-detail可按id回看resultStatus/writeBackStatusprestorage-revoke可回滚余额并生成撤销日志
已销
sold-submit返回adjustmentNo/resultStatus=PENDING_APPROVALsold-page可见原账单,且canBatchRevoke=truesold-stat可统计totalCount / totalActualAmountsold-batch-revoke可按营业账 ID 执行撤销
未销
- 五类 submit 均已跑通真实库 happy path:
- adjust
- split
- late-fee-reduce
- price-diff
- bad-debt
- 动作返回值与 operat_log 写入已被验证
日志
log-page / log-stat / log-detail / log-process / log-attachments已形成一组真实库联动回看log-refund、log-prestorage、log-revoke已打通闭环log-detail中originalTranSeq / attachmentRefs已被验证
四、前端使用建议(当前真值口径)
1. 提交后立即展示
提交类动作完成后,前端应优先使用提交响应里的:
adjustmentNoresultStatusapprovalStatuswriteBackStatusmsg
2. 页面列表回看
- 预存页:查
prestorage-page - 已销页:查
sold-page - 未销页:查
unsold-page - 若要看“申请/动作留痕”,查
log-page
3. 二次动作弹窗
- 日志页弹窗(退款/转预存/撤销)都应以
adjustmentNo作为主键 - 已销批量撤销当前以
chargeIds[]为入参,不是adjustmentNo[]
4. 状态口径
- 预存页
workOrderStatus:0未处理 / 1已审核 / 2已完成 / 3已撤销 - 通用动作结果:
resultStatusapprovalStatuswriteBackStatus
- 日志页状态:
statusCode/status为页面状态投影,不等于workOrderStatus
五、剩余缺口
- 还没有做“前端弹窗 A/B/C 切换路径”的 UI 级编排,只做到了接口级真实库链路。
- 还没有把所有字段做成“页面元素 -> 字段 -> 接口 -> 证据”的逐项勾稽表。
- 若后续要做最终验收,建议再补一版:
- 弹窗功能分组矩阵
- 字段级 contract/assertion matrix
六、证据索引
- 集成测试 bootstrap 与累计验证:
docs/evidence/rev004-accountprocess-integration-testing-bootstrap-2026-04-13.md
- 代码位置:
sw-business-server/src/main/java/.../accountProcess/*Controller.javasw-business-server/src/main/java/.../accountProcess/vo/*ReqVO.javasw-business-server/src/main/java/.../accountProcess/vo/*RespVO.javasw-business-server/src/test/java/.../integration/rev004/accountprocess/Rev004AccountProcessCanaryQueryIntegrationTest.java