59 lines
4.4 KiB
Markdown
59 lines
4.4 KiB
Markdown
# Phase 0 Research: REV-006 催缴事件与通知协同设计
|
||
|
||
## 决策 1:`REV-006` 使用新的独立正式接口编号
|
||
|
||
- **Decision**: `REV-006` 使用新的独立正式接口编号 `IF-REV-013` 作为“催缴任务生成与结果查询/回写承接”的正式业务接口编号;`IF-REV-009` 保留给 `REV-005` 发票结果查询。
|
||
- **Rationale**:
|
||
- 当前 `03_Interface_Design.md` 已明确 `IF-REV-009` 属于 `REV-005` 发票结果查询,继续复用会造成接口总表、异常码、幂等策略和时序图冲突。
|
||
- 现有 `IF-REV-*` 编号已经覆盖到 `IF-REV-012`,顺延 `IF-REV-013` 是最小改动且最不易误解的做法。
|
||
- 该决策能直接消除 `12_REV_Detailed.md` 中 `REV-006` 与接口主文档的冲突口径。
|
||
- **Alternatives considered**:
|
||
- 继续复用 `IF-REV-009`:被否决,因为与发票查询主口径冲突。
|
||
- 暂不落编号,只写业务能力:被否决,因为会推迟核心冲突到实施阶段。
|
||
- 改用 `IF-EXT-*`:被否决,因为 `REV-006` 的业务接口主责仍属于 `SYS-002`,`IF-EXT-008` 只适用于与 `SYS-010` 的外部协同。
|
||
|
||
## 决策 2:催缴结果状态固定为四态
|
||
|
||
- **Decision**: `REV-006` 正式状态集固定为 `PENDING`、`SUCCESS`、`FAIL`、`MANUAL_VERIFIED`。
|
||
- **Rationale**:
|
||
- 四态足以覆盖“待回写/待核查”“成功触达”“失败”“人工核查确认”四类评审和实施必需场景。
|
||
- 过少状态会导致补偿与人工核查无法落地;过多状态会在当前未实现阶段引入不必要的细粒度设计。
|
||
- 四态同时便于后续接口、数据库和台账统一。
|
||
- **Alternatives considered**:
|
||
- 两态(成功/失败):无法表达未回写和人工核查状态。
|
||
- 三态(待处理/成功/失败):无法区分人工核查后的确认结果。
|
||
- 更细状态(已送达/已阅读/已补发):当前阶段超出设计收口所需。
|
||
|
||
## 决策 3:停复水仅定义联动边界,不展开内部流程
|
||
|
||
- **Decision**: 本 feature 仅定义催缴结果与停复水之间的联动边界、触发条件、查询字段和追溯关系,不展开停复水内部处置流程、审批节点或现场执行细节。
|
||
- **Rationale**:
|
||
- 停复水属于后续业务处置链,深入展开会把当前专题扩展到工单/现场作业子系统。
|
||
- 当前 `REV-006` 的首要目标是把催缴闭环范围和责任边界收口,而不是设计全部后置处置流程。
|
||
- 这样既能满足历史查询和审计追溯,又不破坏范围控制。
|
||
- **Alternatives considered**:
|
||
- 把停复水完整流程纳入 `REV-006`:被否决,因为会扩大到非本轮范围。
|
||
- 完全不写停复水联动:被否决,因为会留下历史查询和后续处置链断点。
|
||
|
||
## 决策 4:历史“催缴记录/停水记录/预存短信”按历史只读口径承接
|
||
|
||
- **Decision**: 旧系统“催缴记录、停水记录、预存短信记录”继续按历史只读查询对象承接,不新增同名在线主表;在线主模型以 `biz_charge`、操作留痕和消息协同结果为主。
|
||
- **Rationale**:
|
||
- `01_Database_Design.md` 已对这些对象给出“历史只读保留”口径,且当前 backend 未见明确独立表族。
|
||
- 直接新增同名新表会违反“不得臆造已实现事实”和“单一真源”的原则。
|
||
- 历史只读策略既能满足迁移验收,也不影响后续按业务链逐步演进。
|
||
- **Alternatives considered**:
|
||
- 为每个旧菜单新增在线主表:被否决,因为没有实现证据且破坏当前主模型。
|
||
- 完全不保留历史查询口径:被否决,因为不满足迁移验收和追溯要求。
|
||
|
||
## 决策 5:`REV-006` 与 `SYS-010` 的职责分界
|
||
|
||
- **Decision**: `SYS-002/REV-006` 负责催缴对象筛选、任务分组、业务事件生成、状态承接、历史查询和处置关联;`SYS-010` 负责短信、微信公众号、站内信等触达执行与结果回传。
|
||
- **Rationale**:
|
||
- 该分界与 `03_Interface_Design.md` 中跨系统协同表一致。
|
||
- 业务筛选和状态归属留在 `SYS-002`,能保证催缴逻辑与账单口径一致。
|
||
- 触达能力放在 `SYS-010`,避免 `REV-006` 越权扩展到消息平台实现。
|
||
- **Alternatives considered**:
|
||
- 让 `SYS-010` 负责催缴对象筛选:被否决,因为会削弱营收主系统对账单规则的控制。
|
||
- 让 `SYS-002` 直接承担全部消息发送:被否决,因为与既有系统边界不一致。
|