TaiwanStar_general_size_s_C.../app
sky121113 c7bc554eca [FIX] 修復掃碼支付(玉山)結案前購物車被清空導致「無商品紀錄」
1. 根因:order.items 在結案 build() 當下才即時讀 live buyList,掃碼支付(玉山)流程較慢(掃碼+玉山API約20s),結案前 buyList 會被取消/倒數路徑清空,造成 order.items 變空陣列(無商品紀錄),但出貨其實成功(dispense 有商品)。
2. TransactionFinalizeBuilder 新增 itemsSnapshot 商品明細快照欄位與 captureItems() 方法;buyList 為空時不覆寫既有快照。
3. 抽出共用 buildItemRecords() helper,captureItems() 與 build() fallback 共用。
4. build()/buildOrderPayload() 改為優先採用快照,無快照時才 fallback 讀 live buyList。
5. DispatchDialog onCreate 建立 finalizeBuilder 後立即 captureItems(),此時 buyList 必完整。
6. 升版 verPatch 95 → 96 (S9XYU versionName 21_01_96_R / versionCode 210196)。

正常情況快照==live,逐字等價;僅在 buyList 被清空的 bug 情境修正。純 App 端,不影響後台與線上 main。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 13:13:46 +08:00
..
libs refactor: move project files to root and cleanup structure 2026-05-06 11:13:45 +08:00
src [FIX] 修復掃碼支付(玉山)結案前購物車被清空導致「無商品紀錄」 2026-06-16 13:13:46 +08:00
.gitignore refactor: move project files to root and cleanup structure 2026-05-06 11:13:45 +08:00
build.gradle [FIX] 修復掃碼支付(玉山)結案前購物車被清空導致「無商品紀錄」 2026-06-16 13:13:46 +08:00
proguard-rules.pro refactor: move project files to root and cleanup structure 2026-05-06 11:13:45 +08:00