This commit is contained in:
2026-08-10 17:48:45 +08:00
parent 80f71e57f1
commit 9689522041
10 changed files with 2113 additions and 4 deletions
@@ -0,0 +1,96 @@
# 财务开工门禁与 F0/F1 任务清单
> 版本:V1.0
> 日期:2026-08-10
> 当前阶段:开发前详细设计
> 结论:技术方案可继续;业务开发须按门禁逐项放行
## 一、总控结论
Finance 的服务拆分、独立数据库、服务内部模块边界和 Firstleg 协作方式已经技术确认,可以继续做详细设计和契约测试准备。
当前不能直接进入全量业务开发的原因,是产品确认表仍有业务决策待填写,尤其是财务主体/账套、期间、来源入池、账单确认、收款核销、历史迁移和 F1 收入口径。未确认部分只能使用可逆的草案模型,不能生成生产数据或把建议默认值当成正式口径。
## 二、文档交付状态
| 材料 | 状态 | 作用 |
|---|---|---|
| 财务服务边界设计 | 已完成 | 确认 `finance-service`、`baiyue_finance`、9203 预留和部署改造清单 |
| 财务管理产品确认表/XLSX | 待产品填写 | 仅保留需要业务确认的 26 项;技术结论单独列示 |
| 财务领域模型与数据字典 | 草案完成 | F0/F1 模型、表和约束;未确认口径显式标记 |
| Firstleg-Finance 跨服务契约 | 草案完成 | 事件、快照查询、幂等、重试、权限和契约测试 |
| 财务历史迁移与上线验收方案 | 草案完成 | 历史费用迁移、防重复、灰度和 F0/F1 验收 |
## 三、分阶段开工门禁
### G0:详细设计门禁
可立即进行。条件已满足:
- 独立服务/独立库结论已记录;
- Finance 与 Firstleg 的数据归属和禁止事项已记录;
- 领域模型、跨服务契约、迁移验收方案已有草案;
- 产品待确认项与技术结论已分离。
G0 允许:完善 API/OpenAPI、数据库迁移草案、契约测试样例、页面线框和任务拆分;不允许写入生产财务数据。
### G1:F0 财务底座开发门禁
进入 F0 开发前必须满足:
1. 产品确认表中的 F0 主体/账套、往来单位、币种精度、汇率预留、期间、编号、来源入池、权限审计和历史迁移口径已填写,或明确书面暂缓方案。
2. `finance-service` 的模块目录、端口、数据库名、Nacos 配置和 Gateway 路由完成技术评审。
3. 事件信封、来源版本、Inbox/Outbox、幂等冲突和内部快照查询契约冻结。
4. Finance 权限码、客户范围校验、平台员工操作范围和审计事件清单冻结。
### G2:F1 客户应收开发门禁
进入 F1 前必须满足:
- 账单聚合维度和账期计算规则冻结;
- 账单确认、争议、重开和关闭状态冻结;
- 应收生成节点、到期日、收款登记和多对多核销规则冻结;
- 预收、多收、手续费、退款、反核销的处理方式冻结;
- 至少准备一组真实或脱敏费用来源样本,能够完成费用→账单→应收→收款→核销回归。
### G3/G4:F2-F4 门禁
供应商应付、客户账户、发票、费用分析和利润必须分别满足产品确认表中的阶段门禁。没有供应商成本凭证、资金性质、税务主体、汇率和分摊口径时,只能保留预留模型和页面草案。
## 四、F0/F1 任务清单
| 编号 | 任务 | 产出 | 依赖 | 放行标准 |
|---|---|---|---|---|
| F0-T01 | 创建 Finance 服务骨架 | `finance/`、Maven 模块、启动类、健康检查 | G1-2 | 独立构建/启动,不改 Firstleg 数据库 |
| F0-T02 | 建立 Finance 数据库与迁移 | `baiyue_finance` 表结构、迁移脚本、版本记录 | F0-T01 | 无跨库外键/Join;迁移可重复执行 |
| F0-T03 | 财务基础主数据 | 主体、账套、币种、期间、编号、往来单位快照 | 产品 F0 | 关闭期间、币种和编号规则服务端生效 |
| F0-T04 | 来源池与事件消费 | Inbox、来源池、快照、事件结果查询 | 契约冻结 | 重复/乱序/重试/冲突均有可验收结果 |
| F0-T05 | 财务权限与审计 | 权限码、客户范围、操作审计和高风险操作保护 | G1-3 | 越权和反核销等操作被服务端拒绝并留痕 |
| F1-T01 | 应收费用池 | 跨入库单筛选、排除原因、来源版本锁定 | F0-T04 | 一条有效来源只能进入一张有效账单 |
| F1-T02 | 客户对账单 | 生成、复核、发送、确认、争议、重开、关闭 | 产品 F1 | 状态迁移和版本并发校验完整 |
| F1-T03 | 应收单 | 应收金额、已核销额、余额、到期/逾期 | F1-T02 | 账单与应收金额可追溯且不可覆盖历史 |
| F1-T04 | 收款与核销 | 收款登记、多对多核销、反核销 | 产品 F1 | 禁止跨币种、超额和重复核销 |
| F1-T05 | 客户侧账单 | 客户查看、确认/争议、余额和收款记录 | F1-T02/F1-T04 | 客户不可见内部备注、供应商成本和内部附件 |
| F1-T06 | F1 回归验收 | 正常、重复、并发、越权、冲销、迁移案例 | 以上任务 | 通过迁移与上线验收方案中的 F0/F1 用例 |
## 五、当前可立即执行与必须等待
### 现在可以继续
- 把草案契约转换为 OpenAPI/事件契约测试样例;
- 完善 F0/F1 数据字典、状态转移表和权限矩阵;
- 设计 Finance Admin/Client 页面和空态、错误态、争议态;
- 准备脱敏历史费用样本与迁移校验脚本设计;
- 按 F0-T01~F0-T05 拆解开发任务,但暂不合入业务代码。
### 必须等待产品确认
- 生产账单、应收、收款、核销的正式业务规则;
- 客户账户、发票、供应商应付和利润的正式口径;
- 历史费用是否迁移、线下已结算排除台账和灰度客户范围。
## 六、总控放行结论
当前状态为:**G0 已通过,G1/G2 待产品确认后放行。**
这意味着可以继续做开发前详细设计和可逆的契约/测试准备;产品回传 XLSX 并冻结 F0/F1 后,即可进入 `finance-service` 骨架、独立数据库和客户应收闭环开发。