56 lines
2.5 KiB
Markdown

# Contract: REV-004 旧账务迁移映射矩阵
## 1. 目标
本合同用于统一旧账务对象到新系统承接对象的映射矩阵结构,供后续迁移实施、校验和差异定位复用。
## 2. 映射矩阵字段
| Field | Required | Description |
| --- | --- | --- |
| `legacyTable` | Yes | 旧表名 |
| `legacyObjectName` | Yes | 旧对象名称 |
| `legacyPrimaryKey` | Yes | 旧主键字段 |
| `legacyBusinessKey` | No | 旧业务单号 / 流水号 / 外部单号 |
| `legacyMeaning` | Yes | 业务语义说明 |
| `targetDomain` | Yes | 新承接领域 |
| `targetCarrier` | Yes | 新承接物理对象或只读对象 |
| `carrierLayer` | Yes | `online-main` / `mapping-layer` / `history-readonly` |
| `mappingType` | Yes | `one-to-one` / `many-to-one` / `one-to-many` / `readonly-only` |
| `statusMappingRequired` | Yes | 是否需要状态映射 |
| `identifierMappingRequired` | Yes | 是否需要新旧标识映射 |
| `historicalRetentionRequired` | Yes | 是否必须保留历史只读 |
| `evidenceSource` | Yes | backend / doc / archive 证据来源 |
| `migrationAction` | Yes | `migrate-online` / `retain-readonly` / `mapping-only` / `implement-later` |
| `riskNote` | No | 风险说明 |
## 3. 填写规则
- 不允许只填写旧表名,不说明业务语义。
- 每个旧对象必须明确进入哪个承接层。
-`carrierLayer = online-main`,必须明确在线主模型对象和主键映射规则。
-`carrierLayer = history-readonly`,必须明确最小查询维度和原始标识保留要求。
-`mappingAction = implement-later`,必须附功能缺失理由和后续建议。
## 4. 最小保留字段要求
对于需要迁移或只读保留的旧对象,最少保留以下类型字段:
- 原单据标识
- 原账单标识
- 原流水标识
- 处理类型
- 处理原因
- 处理前后金额或水量
- 申请时间、审批时间、生效时间
- 经办人
- 附件或依据引用
## 5. 示例判定
| legacyObjectName | targetDomain | carrierLayer | migrationAction | 说明 |
| --- | --- | --- | --- | --- |
| 预存退款 | AccountingRequest / Transaction | online-main + history-readonly | migrate-online | 核心退款结果需在线承接,旧审批细节可只读保留 |
| 价差调整明细 | ChargeAggregate / OperationLog | online-main + mapping-layer | migrate-online | 调整结果进入账单主对象,旧明细字段保留映射 |
| 特账明细 | HistoricalReadonlyRecord | history-readonly | retain-readonly | 当前未见稳定在线承接能力 |