star-cloud/app/Services
sky121113 ddac862cee [FEAT] 交易結算冪等性強化與 flow_id 跨機台命名空間
1. finalizeTransaction 將 flow_id 前綴機台序號(serial+rawFlowId)使其全域唯一,解決跨機台單機 flow_id 撞號問題;ACK 仍回傳原始 flow_id,App/outbox 對帳無感。
2. 終態冪等檢查移入 DB transaction 並對既有 order 加 lockForUpdate 排他鎖,防止兩個 worker 同時穿透 pending 而重複出貨/扣庫存/核銷。
3. 取貨碼(PickupCode)與來店禮(WelcomeGift)核銷加排他鎖,防並發 lost-update 使 usage_count 突破 usage_limit。
4. recordInvoice 的 RelateNumber 推導改為直接取用已前綴序號的 flow_id,與線上既有 serial+rawFlowId 逐字等價,不重複加序號。
5. 新增 FinalizeIdempotencyTest、FinalizeStockMysqlTest 與 phpunit.mysql.xml(MySQL-only DDL 測試設定)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 17:14:19 +08:00
..
Invoice [FIX] 修正訂單詳情發票狀態勾稽與列印作廢按鈕 2026-06-16 09:57:37 +08:00
Machine [FEAT] 機台刷卡機 (Nexsys 終端機) 健康狀態燈號與失敗日誌 2026-06-18 13:09:05 +08:00
Notification [FEAT] 依廠商規格全面重構 B013 硬體狀態碼並補齊三語系翻譯 2026-05-29 09:13:16 +08:00
Product [FEAT] 商品與機台多語系架構,並補上系統設定同步操作 2026-06-15 09:00:10 +08:00
Transaction [FEAT] 交易結算冪等性強化與 flow_id 跨機台命名空間 2026-06-18 17:14:19 +08:00
ProductImportService.php [FEAT] 商品匯入支援圖片:Excel 圖片檔名欄 + 圖片壓縮檔背景處理 2026-06-16 13:41:22 +08:00
StaffCardImportService.php [FIX] 員工卡匯入時自動清除欄位前後空白字元 2026-05-19 11:40:59 +08:00