Compare commits

...

2 Commits

Author SHA1 Message Date
24761c5df3 Merge PR #16: add REV004 release ops checklist\n\nConstraint: Keep release operations guidance aligned with verified mainline state\nConfidence: high\nScope-risk: narrow\nDirective: Update this checklist only when release-critical reality changes, not for routine doc churn\nTested: PR #16 checklist cross-checked against current summary, truth matrix, and evidence set\nNot-tested: No document export/render pipeline executed at merge time 2026-04-17 18:23:08 +08:00
feb0da254f Add REV004 release ops checklist
This adds an operations-oriented checklist for REV004 covering environment
readiness, rollout order, smoke validation, rollback posture, and fast-path
triage hints for on-call and release engineers.

Constraint: Checklist must stay concise and executable for frontline release use
Rejected: Bury release steps across evidence and design docs only | too slow for runtime operations
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Update this checklist only when release-critical reality changes, not for every minor doc change
Tested: Cross-checked against final summary, go-live checklist, and current evidence set
Not-tested: No document export/render pipeline executed for this checklist
2026-04-17 18:19:47 +08:00

View File

@ -0,0 +1,164 @@
# REV004 上线实施步骤清单 / 环境巡检清单
## 1. 适用范围
用于 REV004 账务处理对象主线恢复完成后的:
- 上线前环境核查
- 上线实施步骤
- 上线后核验
- 异常回滚与补证
当前主线基线:
- backend `develop``ea159faa3bae2b7491d4e60cbe79e392e77e7345`
- docs `main``9946fa75722eb4d13e213763ff2f0c9f8e1cb509`
---
## 2. 上线前环境巡检
### A. 服务注册
- [ ] `business-server` 正常注册到 Nacos
- [ ] `business-bank-server` 正常注册到 Nacos
- [ ] `system-server` / `infra-server` 可发现
- [ ] 不存在端口冲突(尤其 XXL executor 端口)
### B. 数据库
- [ ] PostgreSQL 连接正常
- [ ] 目标 schema 可写
- [ ] 下列表存在:
- `biz_prestorage_adjust`
- `biz_prestorage_adjust_detail`
- `biz_bad_debt_adjust`
- `biz_bad_debt_adjust_detail`
- `biz_writtenoff_adjust`
- `biz_writtenoff_adjust_detail`
- `biz_latefee_reduce`
- `biz_latefee_reduce_detail`
- `biz_price_diff_adjust`
- `biz_price_diff_adjust_detail`
- `biz_redink_record`
- `biz_redink_record_detail`
- `biz_split_adjust`
- `biz_split_adjust_detail`
- [ ] DDL 可幂等重放
### C. 中间件
- [ ] Redis 正常
- [ ] Nacos 正常
- [ ] RocketMQ / Rabbit / Kafka如环境需要状态符合部署要求
- [ ] XXL Admin 可访问,且不会因不可达阻断核心业务启动
### D. 外部依赖
- [ ] `business-bank-server` 能处理:
- `get-by-tran-seq`
- `createFollowupTransaction`
- [ ] 原交易测试数据可用redink/refund
---
## 3. 上线实施步骤
### Step 1 — 代码版本确认
- [ ] backend 部署目标包含 `ea159faa...` 之后所有需要上线提交
- [ ] docs 主线已可供联调/运维参考
### Step 2 — DDL 执行
按对象顺序执行/确认以下脚本:
- [ ] `REV004_prestorage_formal_tables_deploy.sql`
- [ ] `REV004_bad_debt_formal_tables_deploy.sql`
- [ ] `REV004_writtenoff_formal_tables_deploy.sql`
- [ ] `REV004_latefee_formal_tables_deploy.sql`
- [ ] `REV004_price_diff_formal_tables_deploy.sql`
- [ ] `REV004_redink_formal_tables_deploy.sql`
### Step 3 — 服务启动
建议顺序:
1. 基础依赖Nacos / Redis / DB
2. `business-bank-server`
3. `business-server`
4. 其余依赖服务
### Step 4 — 上线后即时 smoke
- [ ] `actuator/health`
- [ ] prestorage `process / attachments`
- [ ] writtenoff get/page
- [ ] bad debt get/page
- [ ] price diff get/page
- [ ] redink get/page
- [ ] redink execute若环境允许
---
## 4. 推荐联调顺序
1. 字典 / 下拉 / label 核对
2. prestorage 全链路
3. writtenoff / bad debt / price diff 审批链路
4. redink 执行链路
5. split / late fee reduce 补充场景
---
## 5. 上线后核验
### 数据核验
- [ ] 新请求是否优先落 formal 表
- [ ] `get/page` 是否优先命中 formal 数据
- [ ] fallback 仅在 formal 缺失时触发
### redink 特别核验
- [ ] 原交易状态是否转为 `REVERSED`
- [ ] follow-up bank 交易是否创建成功
- [ ] formal main/detail 是否同步落表
### prestorage 特别核验
- [ ] `prestorage-process` 返回 formal-first
- [ ] `prestorage-attachments` 返回 formal attachment refs
---
## 6. 回滚 / 降级思路
### 可逆项
- 查询口径改动可回滚为 legacy-fallback 优先
- formal 表为增量对象表,保留不影响旧日志骨架
### 不建议直接回滚项
- 已执行过的 DDL 不建议删除
- 已落表业务数据不应物理删除作为“回滚”手段
### 建议做法
- 保留 schema
- 回退服务代码到上一个稳定版本
- 用 evidence 文档确认受影响对象与链路
---
## 7. 现场问题快速定位
### 若 `get/page` 没命中 formal
检查:
- formal main/detail 是否已落表
- objectType 是否匹配
- adjustmentNo 是否一致
- fallback 是否被触发
### 若 redink execute 报错
检查:
- `business-bank-server` 是否可用
- Nacos 是否注册成功
- 原交易是否存在
- follow-up transaction 是否可写入 `bk_transaction`
### 若 prestorage process/attachments 异常
检查:
- `biz_prestorage_adjust` 是否存在该 adjustmentNo
- `attachmentRefs` 是否为空/格式异常
- ContentAttach 是否存在对应 ID
---
## 8. 对运维 / 测试的简版口径
> REV004 当前主线已完成主要账务对象 formal-table 恢复与查询收口。上线前请优先确认 formal 表结构、Nacos 注册、business-bank-server 可用性,以及对应 evidence 文档中的 smoke 范围。若 redink/refund 需走真实链路,请同时准备原交易测试数据。
---
## 9. 配套文档
- `REV004_FINAL_MAINLINE_DELIVERY_SUMMARY.md`
- `REV004_GO_LIVE_CHECKLIST.md`
- `REV004_CURRENT_TRUTH_MATRIX.md`
- `docs/evidence/rev004-*-formal-table-*.md`
- `docs/evidence/rev004-prestorage-strict-formal-first-2026-04-17.md`