# LSFX Mock 第二期稳定随机命中后端验证记录

## 验证时间

- 2026-03-20

## pytest 验证

- 聚焦验证命令：
  - `python3 -m pytest lsfx-mock-server/tests/test_file_service.py -k "phase2_rule_hit_plan" -v`
  - `python3 -m pytest lsfx-mock-server/tests/test_phase2_baseline_service.py -v`
  - `python3 -m pytest lsfx-mock-server/tests/test_statement_service.py -k "phase2 or salary_quick_transfer_and_salary_unused" -v`
  - `python3 -m pytest lsfx-mock-server/tests/integration/test_full_workflow.py -k "phase2" -v`
- 聚焦验证结果：
  - 上述 4 组命令全部通过。
- 全量回归命令：
  - `python3 -m pytest lsfx-mock-server/tests/test_file_service.py lsfx-mock-server/tests/test_statement_service.py lsfx-mock-server/tests/test_phase2_baseline_service.py lsfx-mock-server/tests/test_api.py lsfx-mock-server/tests/integration/test_full_workflow.py -v`
- 全量回归结果：
  - `48 passed`

## SQL 执行与核验

- 执行命令：
  - `bin/mysql_utf8_exec.sh sql/migration/2026-03-20-lsfx-mock-phase2-hit-baseline.sql`
- 只读核验结果：
  - `ccdi_purchase_transaction` 中存在 `LSFXMOCKP2PUR001 / 兰溪市联调供应链有限公司 / 186000.00`
  - `ccdi_asset_info` 中存在 3 条 `LSFX Mock P2` 资产基线记录
  - 资产记录写回查询时，`asset_status` 读数为 `NORMAL`；结合现网样例数据的 `正常` 口径，推测当前库内存在状态值归一化或历史兼容现象，但本次“不匹配”目标仍由非 `住宅` 子类型稳定满足
- 幂等性复核：
  - 脚本重复执行 1 次后再次查询
  - `ccdi_purchase_transaction` 计数为 `1`
  - `ccdi_asset_info` 计数为 `3`

## 端到端链路结果

- `test_inner_flow_should_apply_phase2_baselines_before_get_bank_statement` 通过。
- 结果表明：
  - `getJZFileOrZjrcuFile` 在返回 `logId` 前已调用第二期基线写入。
  - `getBSByLogId` 仍可在同一 `logId` 下稳定读取流水列表。

## 结论

- 第二期稳定随机命中计划、流水样本装配、数据库基线写入和集成链路均已接通。
- 当前 `lsfx-mock-server` 回归通过，数据库基线可重复执行且未产生重复脏数据。

## 环境清理

- 本次验证未启动长期驻留的前后端开发进程，无残留进程需要额外关闭。
