sky121113
|
e01e8077f9
|
[FEAT] 新增訂單收件人姓名遮罩與商品詞彙通用化調整
1. 於 Order Model 新增收件人姓名遮罩邏輯 (masked_pickup_recipient),將 member_barcode 進行去識別化處理以保護隱私,並保留括號/換行等後綴資訊。
2. 新增 OrderPickupRecipientMaskTest 單元測試,驗證中文字元及包含換行/括號的後綴遮罩正確性。
3. 更新後台銷售管理介面 (order-detail-panel.blade.php、tab-orders.blade.php),將原先顯示明文的 member_barcode 改用遮罩後的屬性展示。
4. 將機器通訊協定與狀態代碼中的「便當 (Bento)」字詞統一調整為「商品 (Product)」,以符合各機型通用語意。
5. 更新相關語系翻譯檔案 (zh_TW.json, en.json, ja.json) 及 MQTT 通訊規範文件中的詞彙對應。
6. 修改 MachineLog 中的翻譯取得邏輯,確保能透過錯誤代碼表對應到最新的商品語意。
|
2026-05-29 14:37:28 +08:00 |
|
sky121113
|
d9bf2bbe98
|
[FEAT] 依廠商規格全面重構 B013 硬體狀態碼並補齊三語系翻譯
1. 修改 MachineService 中的 0424 代碼標籤為 Purchase successful(購買成功)並改寫成功判定邏輯。
2. 移除 DiscordWebhookService 中重複且過時的 errorCodes 硬編碼對照,統一由 MachineService 作為單一真實來源。
3. 同步更新 MQTT 即時通訊規格文件中有關 0424 的定義與出貨結果判定規則。
4. 新增並以自動對齊腳本完美補齊 en/zh_TW/ja 三語系檔中所有 53 種硬體代碼翻譯,完成排序(ksort)與斜線不逸出處理。
|
2026-05-29 09:13:16 +08:00 |
|
sky121113
|
9ff9abef89
|
[FEAT] 實作「同步到所有機台」功能與商品資料同步機制
1. 在商品管理介面新增「同步到所有機台」按鈕與 Alpine.js 確認彈窗。
2. 實作後端 syncToAllMachines 控制器邏輯,並加入同一公司 1 分鐘內禁止重複發送的限制。
3. 建立 SyncProductsToMachinesJob 與 SendProductSyncCommandJob 非同步隊列任務,支援舊指令覆蓋機制。
4. 補全繁體中文、英文與日文的多語系翻譯字串。
5. 更新遠端指令日誌視圖,支援展示商品同步指令及其備註。
6. 更新 MQTT 通訊規範與 API 技術規格文檔,納入 update_products 指令。
7. 整合 update_ads 與 update_products 指令至 config/api-docs.php 的系統指令規格中。
|
2026-05-14 09:33:43 +08:00 |
|
sky121113
|
ce87f453a2
|
[FEAT] 優化廣告同步與指令中心 UI
1. 廣告管理:將原生 confirm 替換為極簡奢華風 Alpine.js 彈窗,並新增「操作備註」欄位與「目標機台」顯示。
2. 指令中心:在指令確認彈窗中新增「目標機台」顯示,並優化 UI 佈局。
3. 多語系支援:新增 Sync Ads (同步廣告) 至 zh_TW, en, ja 語系檔,並應用於指令中心與篩選列。
4. 後端邏輯:更新 AdvertisementController,將操作備註正確存入 RemoteCommand 的 remark 欄位。
5. 指令規範:同步更新 MQTT 通訊規範 (SKILL.md) 與 API 文件 (api-docs.php),加入 update_ads 指令說明。
|
2026-05-13 13:51:24 +08:00 |
|
sky121113
|
a290d5b306
|
[FIX] 優化 MQTT 錯誤代碼翻譯與交易核銷邏輯
1. 更新 MQTT 錯誤代碼 0205 的標籤為 Slot sensor blocked,並將繁體中文翻譯修正為「貨道口有物」,同步更新多語系檔 (zh_TW, en, ja)。
2. 修改 TransactionService,移除遠端出貨 (payment_type: 100) 在交易結案時的 code_id 自動核銷邏輯。
3. 更新 SKILL.md 與 api-docs.php 規格文件,將「通行碼 (5)」納入 code_id 核銷範圍,並移除遠端出貨的說明。
|
2026-05-12 14:27:00 +08:00 |
|
sky121113
|
2cf33cfbb4
|
[FIX] 優化遠端指令鎖定機制與補全 API 文件
1. 實作庫存更新 (reload_stock) 的「直接覆蓋 (Supersede)」模式,允許管理員即時覆寫待執行指令,提升操作流暢度。
2. 為遠端出貨 (dispense) 增加 1 分鐘自動逾時機制,解決因未收到 ACK 導致貨道永久鎖定的問題。
3. 拆分庫存更新與遠端出貨的併行檢查邏輯,確保兩者互不干擾。
4. 更新 API 技術文件,補全遠端出貨 (payment_type: 100) 與閉環勾稽參數 (code_id) 的規格說明。
|
2026-05-12 10:17:51 +08:00 |
|
sky121113
|
c52cf2900f
|
[FIX] 統一搜尋欄位命名、更新語系檔與 IoT 規範文件
1. 修改 ProductController.php,將搜尋參數統一改為 search 以匹配前端表單欄位。
2. 更新 lang/zh_TW.json 語系檔,修正部分翻譯詞彙 (如 Inactive, Standby, Confirm Status Change)。
3. 更新 .agents/skills/mqtt-communication-specs/SKILL.md 規範文件。
4. 包含 Machine Model 與 MachineService 的優化變更。
|
2026-05-07 11:54:47 +08:00 |
|
sky121113
|
4bf53db3be
|
[FIX] 優化機台連線規範與上線日誌邏輯
1. 更新 SKILL.md 與 Java 範例,將 MQTT Client ID 格式由隨機後綴改為固定格式 SC_{serial_no},以確保單機連線唯一性。
2. 同步更新 config/api-docs.php,在 API 文件中加入 MQTT 連線參數規範說明。
3. 修正 ProcessHeartbeat.php 邏輯,當機台狀態從 offline 轉為 online 時,自動寫入「Machine is online」日誌,完善連線紀錄回溯。
|
2026-05-07 10:16:29 +08:00 |
|
sky121113
|
09bbd61c89
|
[FIX] 導正 MQTT LWT 遺囑訊息架構與文件規範
1. 修改 SKILL.md 規範,將 LWT (遺囑訊息) Topic 從 heartbeat 改為 status,並移除過時的 訂閱說明。
2. 更新 SKILL.md 內 Android Java 範例,同步改用 status Topic。
3. 移除 SKILL.md 中關於 Client ID 解析邏輯的舊文件說明。
4. 重構 ProcessStatus.php,移除過時的 SC_ 前綴與隨機碼解析邏輯,直接使用傳入的純淨機台編號。
5. 更新 ProcessHeartbeat.php 註解,反映連線狀態改由 LWT 機制與 status Topic 處理。
|
2026-05-07 09:22:09 +08:00 |
|
sky121113
|
023f639fb4
|
[STYLE] 銷售中心 UI 優化與出貨紀錄邏輯校正
1. 優化「出貨紀錄」介面,重新排列欄位優先級並移除冗餘的機台流水號。
2. 統一出貨紀錄中的商品與貨道樣式,與取貨碼模組視覺語言同步。
3. 修正出貨紀錄搜尋邏輯,支援商品名稱與貨道編號模糊搜尋。
4. 修正「訂單詳情」側滑面板中的金額顯示(修正 price/subtotal 映射)。
5. 補強訂單詳情的出貨狀態 (dispense_status) 標籤顯示邏輯。
6. 將出貨紀錄中的「數量」表頭修正為「金額」,確保與 MQTT 協議回傳資料語意一致。
7. 更新多語系檔,新增搜尋欄位 placeholder 與相關 UI 標籤翻譯。
8. 新增發票資料表 machine_time 欄位遷移檔,以完整記錄機台開立時間。
|
2026-05-04 17:20:43 +08:00 |
|
sky121113
|
e779880f9b
|
[FEAT] 整合 MQTT 交易完成 (Finalize) 流程並更新 API 技術規格文件
1. 整合交易流程:將 B600 (交易紀錄)、B601 (發票紀錄) 與 B602 (出貨紀錄) 整合為單一原子化的 MQTT 'finalize' 操作,確保資料一致性。
2. 實作非同步 Job:新增 ProcessTransactionFinalized Job 負責解析複合式 Payload 並寫入訂單、發票與出貨日誌。
3. 重構交易服務:更新 TransactionService 以支援同時處理訂單與發票資料,並修正產品 ID 驗證邏輯以避免外鍵衝突。
4. 更新技術文件:同步更新 api-docs.php 與 .agents/skills 中的 MQTT 規格,定義詳細的 finalize payload 結構與範例。
5. 優化文件 UI:改善 api-docs.blade.php 的描述渲染,支援換行符號以提升閱讀體驗。
6. 更新監聽指令:在 ListenMqttQueue 中加入 finalize 動作的處理分支並對接至新實作的 Job。
|
2026-05-04 10:18:30 +08:00 |
|
sky121113
|
40aec884b0
|
[REFACTOR] 溫度回報邏輯優化與 MQTT 規格標準化
1. 優化 ProcessHeartbeat 溫度處理邏輯,改為「變動即記錄」並標準化為整數型態。
2. 在 Machine Model 中新增 temperature 欄位的 integer cast。
3. 更新 MQTT 與 API 技術規格技能文件 (SKILL.md),同步最新的溫度記錄規則。
4. 更新 config/api-docs.php,明確標註心跳上報之溫度規格與日誌規則。
5. 移除 routes/api.php 中已廢棄之 B600 與機台日誌 REST API 路由。
6. 清理 docs 目錄,將初期計畫文件遷移至 docs/plan/。
|
2026-04-22 17:02:24 +08:00 |
|
sky121113
|
ae554ef130
|
[FEAT] 重構與深化 MQTT 通訊規範並優化 API 文件中心
1. 重構 config/api-docs.php,將 HTTP API 與 MQTT Topic 徹底解耦,建立清晰的協議分類。
2. 實作 api-docs.blade.php 雙頁籤 (HTTP/MQTT) 介面,優化「極簡奢華風」視覺呈現與互動體驗。
3. 詳細定義 MQTT 指令下發 Payload,包含遠端出貨、庫存同步、遠端找零及系統控制。
4. 新增 Heartbeat (心跳) 與 Transaction (交易) MQTT 主題規範,確保 APP 端有明確的對接基準。
5. 修正 Heartbeat Payload 參數,僅保留實際傳送的溫度與韌體版本,確保文件與現況對齊。
6. 移除 B012 (商品同步) 尚未實作的 PATCH 方法,統一只保留 GET 方法以維持系統一致性。
7. 同步更新 SKILL.md 技術規格文件,確保開發規範與實際程式碼邏輯完全對等。
|
2026-04-22 16:25:48 +08:00 |
|
sky121113
|
9114269a7a
|
[FEAT] 完善遠端出貨與庫存異動的併發控制與視覺回饋
1. 修正 RemoteController 中的 MachineService 注入問題,解決遠端出貨指令失效的 500 錯誤。
2. 在 MachineService 實作貨道鎖定機制 (lockSlot/unlockSlot),防止重複扣庫存導致的數據不一致。
3. 採用樂觀扣除模式,發送指令時即更新預扣庫存,並在 ProcessCommandAck 實作失敗自動 Rollback。
4. 優化 UI 互動:在操作紀錄詳情顯示庫存變化 (如 6 -> 5),且針對執行失敗的指令加上刪除線樣式。
5. 完成指令詳情、操作紀錄與庫存歷史的語系對照表同步 (zh_TW, en, ja)。
|
2026-04-22 15:02:00 +08:00 |
|
sky121113
|
1d5aff2f2e
|
[REFACTOR] 遷移遠端管理指令至 MQTT 非同步架構與邏輯優化
1. 實作 MqttService 統一管理 MQTT 指令發送。
2. 遷移「遠端庫存與效期中心」至 MQTT 流程,並加入 batch_no (批號) 支援。
3. 修改 RemoteController 指令中心所有指令同步改由 MQTT 推送。
4. 修正 Go Gateway redis_consumer.go 確保 JSON 格式符合最新規格(移除寫死的 target/message_id)。
5. 實作 ProcessCommandAck 自動更新指令結果、異常回滾 (Rollback) 與機台自動亮燈 (Online)。
6. 完善 mqtt-communication-specs 規格文件,補齊所有指令定義與 ACK 範例。
7. 強化指令狀態保護,確保只有 pending 狀態的指令能被更新結果,防止重複處理。
|
2026-04-22 11:30:39 +08:00 |
|
sky121113
|
45b5ee5acd
|
[REFACTOR] 整合 MQTT 異常上報與 MachineService 硬體代碼映射
1. 重構 ProcessMachineError Job,將異常日誌記錄邏輯統一由 MachineService@recordErrorLog 處理,確保 error_code 能正確對應多語系標籤。
2. 更新 SKILL.md MQTT 通訊規範,修正機台故障上報 (B013) 的 Payload 範例並修復章節編號錯誤。
3. 優化 deploy-demo.yaml CI/CD 流程,解決檔案變動導致 tar 退出碼為 1 的部署中斷問題,並排除不必要的 storage 目錄同步。
|
2026-04-21 16:35:20 +08:00 |
|
sky121113
|
2aa0bf23ab
|
[FIX] 優化 CI/CD 部署流程與更新 MQTT 心跳規範
1. 修復 .gitea/workflows/deploy-demo.yaml:改用 bash 函式處理 tar 同步,容許 exit code 1 (檔案變動警告) 並攔截致命錯誤。
2. 更新 .agents/skills/mqtt-communication-specs/SKILL.md:簡化心跳上報 (Heartbeat) 規範,僅保留 firmware_version 與 temperature 欄位。
|
2026-04-21 16:01:32 +08:00 |
|
sky121113
|
d0f84eb82b
|
[REFACTOR] 廢棄 B010 HTTP API 並整合 MQTT 心跳回報流程
1. 移除 routes/api.php 中的 B010 心跳上報路由。
2. 刪除 MachineController.php 中的 heartbeat 方法與相關過期邏輯。
3. 刪除 docs/b010_technical_spec.md 並更新相關技術規格文件。
4. 修改 ListenMqttQueue.php,移除獨立的溫度與版本號處理,統一由 heartbeat 任務分發。
5. 更新 MQTT 通訊規範,廢棄獨立的屬性 Topic (temperature, firmware_version)。
|
2026-04-21 15:48:49 +08:00 |
|
sky121113
|
32bc13ac1b
|
[FIX] 修復 MQTT 監聽器與機台連線狀態同步邏輯
1. 補齊 ListenMqttQueue 中的 Job 類別引用,修復 mqtt-worker 崩潰重啟問題。
2. 實作 Go Gateway 的 Client ID 解析邏輯,正確將 SC_{serial}_{random} 格式還原為機台編號。
3. 修復 系統主題解析與 Laravel ProcessStatus Job 對齊,實現毫秒級連線狀態同步。
4. 在 ProcessStatus Job 中增加第二層 serial_no 清理保險,提高系統容錯。
5. 更新機台列表 UI 狀態顯示邏輯,支援 在線/斷線/故障 三態顯示與多語系。
6. 更新 MQTT 通訊規範 (Skill) 文件,確保全域開發定義的一致性。
7. 同步更新 zh_TW.json, en.json, ja.json 翻譯文件。
|
2026-04-21 12:38:42 +08:00 |
|
sky121113
|
23225ffe3f
|
[DOCS] 更新 MQTT 即時通訊規範,新增 App 端 WSS 連線標準
1. 補齊各連線通道 (TCP/SSL/WS/WSS) 的埠號建議表。
2. 新增 App 端 (Android) WSS 連線專節,包含 URL 參數與密碼雜湊要點。
3. 提供 HiveMQ Client 初始化範例程式碼。
4. 定義 MQTT 優先、HTTP 兜底的 Fallback 通訊機制與時間窗口。
|
2026-04-17 17:25:20 +08:00 |
|
sky121113
|
959625a640
|
[FEAT] 實作 MQTT Gateway 整合與高併發 IoT 通訊架構
1. 導入 Go 語言撰寫的 MQTT Gateway (mqtt-gateway/),負責訊息接收並透過 Redis List 轉發至 Laravel。
2. 更新 compose.yaml 以包含 EMQX Broker 與 mqtt-gateway 服務,並配置相關環境變數。
3. 新增 ListenMqttQueue 指令與對應的異步處理 Job (ProcessHeartbeat, ProcessTransaction, ProcessMachineError)。
4. 實作 MqttSyncAuth 指令與 Machine Model Observer,支援自動化的機台認證資訊同步至 Redis。
5. 新增 MqttCommandService 用於處理雲端至機台的即時指令下發。
6. 更新專案規範文件 (framework.md 與 Skills) 以反映新的 MQTT 通訊機制與安全性規範。
7. 提供 simulate-heartbeat.sh 指令碼以供開發與測試使用。
|
2026-04-16 14:28:42 +08:00 |
|
sky121113
|
32fa28dc0f
|
[DOCS]:初始化 MQTT 架構實作計畫與相關技術規範
1. 新增 MQTT 即時通訊與 Topic 規範文件 (.agents/skills/mqtt-communication-specs/SKILL.md)。
2. 建立 MQTT 基礎架構實作計畫文件 (docs/mqtt-implementation-plan.md)。
3. 更新全域開發框架規範 (framework.md),納入 Go Gateway 與 EMQX 架構說明。
4. 重構 IoT 通訊處理規範 (iot-communication/SKILL.md),支援 HTTP 與 MQTT 雙軌管線。
5. 更新背景 API 規範 (api-rules.md) 與技能觸發規則 (skill-trigger.md) 以符合新架構。
|
2026-04-14 13:02:08 +08:00 |
|