star-cloud/app/Models/Machine
sky121113 df3c72e927 [FEAT] 機台刷卡機 (Nexsys 終端機) 健康狀態燈號與失敗日誌
1. 刷卡機共用判定:信用卡(1)、電子票證(2)、手機支付(10) 走同一台實體刷卡機,以交易結果維護燈號(刷卡機無斷線心跳)。
2. ProcessTransactionFinalized 新增 syncCardTerminalStatus:成功交易自動消除該機台未解決的 card_terminal 警告;失敗交易解析 payment_response 的 "| code=XXXX" 回應碼,寫一筆 type='card_terminal' 的 warning 日誌(warning 級不觸發 Discord)。
3. MachineService 新增 CARD_TERMINAL_CODE_MAP(NCCC/聯卡中心回應碼對照,值為英文翻譯鍵);MachineLog 依 card_code 重組多語可讀失敗原因。
4. Machine 模型新增 card_terminal_status 與 latest_card_terminal_log_time 取值器;MachineController 列表以 withCount + 相關子查詢預載彙總,避免 N+1。
5. 機台列表頁新增「刷卡機」狀態燈號(綠/琥珀/紅 + 最近異常時間)與「刷卡機日誌」分頁。
6. 文件更新:config/api-docs.php 與 api-technical-specs SKILL.md 補充 payment_type 說明(2/10 與 1 共用同一台刷卡機、補列 42 取物單與 100 遠端出貨)。
7. 既有 migration change_products_spec_to_text 加 sqlite 守衛,讓測試環境可跑(VARCHAR/TEXT 在 sqlite 等價且不支援 MODIFY)。
8. 新增 CardTerminalStatusTest 功能測試(18 斷言通過,涵蓋成功消警、失敗寫日誌、掃碼排除、多語訊息、N+1 預載路徑)。
9. 新增 25 組三語系 key(刷卡機狀態與回應碼),zh_TW/en/ja 對齊並 ksort 排序。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 13:09:05 +08:00
..
ApkVersion.php [FEAT] 新增 OTA APK 版本管理與更新部署功能 2026-05-22 16:51:21 +08:00
CoinInventory.php [FEAT] 重構機台日誌 UI 與增加多語系支援,並整合 IoT API 核心架構 2026-03-16 17:29:15 +08:00
Machine.php [FEAT] 機台刷卡機 (Nexsys 終端機) 健康狀態燈號與失敗日誌 2026-06-18 13:09:05 +08:00
MachineAdvertisement.php [FEAT] 實作機台廣告管理模組與多語系支援 2026-03-31 13:30:41 +08:00
MachineLog.php [FEAT] 機台刷卡機 (Nexsys 終端機) 健康狀態燈號與失敗日誌 2026-06-18 13:09:05 +08:00
MachineModel.php feat: 重構 Discord 雙 Tab 告警設定與機台自適應溫控三層繼承鏈,並導入 Modal 內拉式複製 UX 2026-05-21 10:05:36 +08:00
MachineSlot.php [FEAT] 實作 B012 商品同步 API 與統一圖片絕對網址格式 2026-04-07 17:05:28 +08:00
MachineStockMovement.php [FIX] 修正商品軟刪除之出貨歷史關聯與圖片破圖優化 2026-05-19 17:25:10 +08:00
MaintenanceRecord.php [FEAT] 完善帳號管理狀態切換功能、優化多語系提示與 UI 樣式一致性 2026-03-25 17:16:41 +08:00
OtaSchedule.php [FEAT] 新增 OTA 預約排程與部署狀態展示,並優化版本排序與 UI 2026-05-29 10:55:23 +08:00
RemoteCommand.php [FEAT] 強化遠端指令中心的操作備註功能 2026-05-12 17:15:53 +08:00