[WLOS-060] 测试环境演练与上线前数据校验/回滚预案

This commit is contained in:
Guoqs
2026-01-28 16:25:08 +08:00
parent a8fdf3dd6f
commit a53c7619c3
2 changed files with 16 additions and 3 deletions

View File

@@ -74,8 +74,21 @@ created_at: 2026-01-23T16:45:56.6767838+08:00
- 运行验证命令:`mvn -pl jsowell-admin test`(必要时指定测试类)。
6. 数据校验与上线准备
- 在测试环境执行一次“选定订单号列表”的演练:调用 `/whiteListSettlement`,检查 DB 中 `order_basic_info.order_status` 与关键金额/时间字段。
- 记录回滚策略:如发现误改,可按订单号将状态回退到原值(建议在修正前记录原状态/时间到日志或审计表)。
- 演练入口:`POST /temp/whiteListSettlement`
- body示例`{"orderCodeList":["O1","O2"]}`
- 演练前(务必留存快照,用于回滚/审计):
- DB 快照(示例 SQL
- `SELECT order_code,pay_mode,order_status,pay_status,settlement_time,order_amount,virtual_amount,settle_amount,actual_received_amount,refund_amount,reason FROM order_basic_info WHERE order_code IN ('O1','O2');`
- 将查询结果保存到工单/PR/运维记录CSV/截图均可)。
- 演练后(校验点):
- `order_basic_info.order_status = 6`
- `settlement_time`:原为空则已填充;原非空保持不变
- 金额字段符合“规则清单”默认策略(白名单虚拟金额/结算金额等)
- 日志可追溯:搜索 `completeWhitelistOrderIfNeeded updated orderCode:`,应包含订单号与状态变更前后值
- 回滚预案(可执行):
- 原则:以“演练前快照”为准逐单回退(避免盲目回退影响正常订单)。
- 回滚 SQL模板按快照逐单生成
- `UPDATE order_basic_info SET order_status='<before_status>', settlement_time='<before_settlement_time>', order_amount=<before_order_amount>, virtual_amount=<before_virtual_amount>, settle_amount=<before_settle_amount>, actual_received_amount=<before_actual_received_amount>, refund_amount=<before_refund_amount>, pay_status='<before_pay_status>' WHERE order_code='<order_code>';`
⚠️ 风险与注意事项
- 业务风险:将异常/待结算直接置为完成可能掩盖真实设备/交易异常;需确认是否仍需要保留异常原因字段或额外审计。