fix: MKH 刷新实时读取订单库存并阻止旧请求覆盖 #23

Merged
lunanting merged 2 commits from codex/mkh-sync-freshness-0923 into main 2026-09-23 11:18:14 +08:00
Owner

目的与范围

  • 解决点击“同步最新数据/刷新数据”后仍看到旧数据:同步前请求晚返回会覆盖新结果,“刷新数据”原先也不会清服务端缓存。
  • 页面实时口径不再依赖有延迟的 pm_stockMonitor:近 15 天日销按当前订单及真实出库记录计算;库存读取 jst_inventoryInfo,并用 jst_packInventoryInfo 补充当日入库;实时源无记录时不回退延迟库存快照。
  • 修改 MKH-BOM 同步 API、实时指标合并、页面请求代际控制和相关测试。定时预警保持原快照口径,避免改变后台任务。
  • AI 辅助开发,负责开发者:当前仓库维护会话。

同步与兼容性

  • 起始及最近同步 main:97a93766e8f94be0c34b1a438e1568f444f040cd
  • 待审核任务分支:b8e60a19d253882f01d87f34f44a7d385c85c1f7
  • 同步接口保持原路径和鉴权,响应扩展为 cache + snapshot;现有页面已同步适配。
  • 无冲突;保留 #20 的后端 cacheEpoch 保护,再补齐前端竞态、HTTP 缓存和实时数据口径。
  • 未新增 SQL、表、索引或后台任务;仍使用原有有界查询及缓存。手动刷新只把原“POST 清缓存 + GET 列表”合并为单次请求,没有增加查询轮次;筛选和分页继续复用同一批索引,避免重复全表查询。

验证

  • npm --prefix backend run check:通过,语法检查 151 个文件,346 项测试全部通过。
  • npm --prefix frontend run check:通过,lint、18 项测试及生产构建全部通过。
  • 新增测试验证实时刷新忽略延迟日销/库存快照,以及同步前旧请求不能覆盖新请求。
  • git diff --check:通过。

风险与回退

  • 页面实时数据仍以业务数据库当前已同步的订单、出库、库存、BOM 和仓位记录为上限;应用不会伪造第三方尚未写入业务库的数据。
  • 实时库存源均无记录时按 0 显示,并通过 stockSource=live-missing 明确标记,不会再用旧快照伪装成当前库存。
  • 可直接 revert 两个任务提交;不涉及数据库迁移或数据兼容问题。
## 目的与范围 - 解决点击“同步最新数据/刷新数据”后仍看到旧数据:同步前请求晚返回会覆盖新结果,“刷新数据”原先也不会清服务端缓存。 - 页面实时口径不再依赖有延迟的 `pm_stockMonitor`:近 15 天日销按当前订单及真实出库记录计算;库存读取 `jst_inventoryInfo`,并用 `jst_packInventoryInfo` 补充当日入库;实时源无记录时不回退延迟库存快照。 - 修改 MKH-BOM 同步 API、实时指标合并、页面请求代际控制和相关测试。定时预警保持原快照口径,避免改变后台任务。 - AI 辅助开发,负责开发者:当前仓库维护会话。 ## 同步与兼容性 - 起始及最近同步 main:`97a93766e8f94be0c34b1a438e1568f444f040cd` - 待审核任务分支:`b8e60a19d253882f01d87f34f44a7d385c85c1f7` - 同步接口保持原路径和鉴权,响应扩展为 `cache + snapshot`;现有页面已同步适配。 - 无冲突;保留 #20 的后端 `cacheEpoch` 保护,再补齐前端竞态、HTTP 缓存和实时数据口径。 - 未新增 SQL、表、索引或后台任务;仍使用原有有界查询及缓存。手动刷新只把原“POST 清缓存 + GET 列表”合并为单次请求,没有增加查询轮次;筛选和分页继续复用同一批索引,避免重复全表查询。 ## 验证 - `npm --prefix backend run check`:通过,语法检查 151 个文件,346 项测试全部通过。 - `npm --prefix frontend run check`:通过,lint、18 项测试及生产构建全部通过。 - 新增测试验证实时刷新忽略延迟日销/库存快照,以及同步前旧请求不能覆盖新请求。 - `git diff --check`:通过。 ## 风险与回退 - 页面实时数据仍以业务数据库当前已同步的订单、出库、库存、BOM 和仓位记录为上限;应用不会伪造第三方尚未写入业务库的数据。 - 实时库存源均无记录时按 0 显示,并通过 `stockSource=live-missing` 明确标记,不会再用旧快照伪装成当前库存。 - 可直接 revert 两个任务提交;不涉及数据库迁移或数据兼容问题。
lunanting added 1 commit 2026-09-23 11:06:29 +08:00
lunanting added 1 commit 2026-09-23 11:12:18 +08:00
lunanting changed title from fix: 根治 MKH 同步后旧请求覆盖最新数据 to fix: MKH 刷新实时读取订单库存并阻止旧请求覆盖 2026-09-23 11:12:56 +08:00
lunanting merged commit 6b0bf59e74 into main 2026-09-23 11:18:14 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: lunanting/cangku#23
No description provided.