Commit Graph

832 Commits

Author SHA1 Message Date
c578667e23 [PROMOTE] dev -> demo: APP UI元素設定(後台驅動 app 換膚)
- 後台三頁:UI元素列表/UI組合編輯/機台設定(含搜尋+每頁筆數+分頁、分群組)
- B014 新增 UISet 下發(部位→圖URL/色值);機台綁定儲存後自動推送 update_settings
- 部位 20 個:A1/A3/E1/P1~P6/BG0/C0/T0/B1/B4/M1~M5/R1~R5(image 與 color 兩型、crop 旗標)
- 新表:ui_elements / ui_bundles / ui_bundle_items;機台綁定存 machines.settings['ui_bundle_id']
- fix(machines): 機台設定頁換頁後 SVG 圖示放大/變形(_ajax 洩漏進分頁連結)
2026-07-17 11:13:21 +08:00
7647b87f26 feat(app-ui): M1~M5 補建議尺寸提示 + 新增 R1~R5 支付實體示意圖(1280x720)群組
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 11:06:45 +08:00
3ee7fad010 feat(app-ui): 啟用部位 B1/B4(浮動鈕 icon) + M1~M5(各支付示意圖) + icon/payment_illust 群組
皆 crop=false 保留原比例;B 系列建議 128x128,M 系列不限尺寸

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 11:06:45 +08:00
68c772b06b fix(app-ui): color 型部位無 width/height 鍵導致 Undefined array key — blade 讀尺寸改 null 安全($part['width'] ?? null)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 11:06:44 +08:00
a0553258f8 feat(app-ui): Phase3 後台 — 支援 color 型部位(色票選擇器)+ 新增 BG0整頁背景/C0底色/T0文字色
- config 加 background/bgcolor/textcolor 群組 + BG0(image)/C0/T0(color)
- 內容設定頁 color 型渲染勾選套用+色票(input color);updateBundleContent 存 color_value
- B014 下發 color 型已支援(不需改)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 11:06:44 +08:00
f0a6c80137 fix(machines): 換頁後 SVG 圖示放大/變形 — 只對真正 XHR 回裸片段,並移除 _ajax 避免洩漏進分頁連結
根因:控制器僅憑 query 參數 _ajax=1 回無 layout 片段;AJAX 重繪(如儲存系統設定後)經 withQueryString 把 _ajax 烙進分頁連結,直接導航該連結即拿到裸片段致圖示無 CSS。改為 $request->ajax() && boolean('_ajax') 並移除 _ajax。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 11:06:44 +08:00
81acddffca feat(app-ui): 組合內容設定頁依類別群組分塊+分隔線(A系列/E系列/P系列)
config 加 groups 定義(標題+順序);content 頁 groupBy group 渲染,塊間加 hr

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 11:06:44 +08:00
f0f8da07a7 style(app-ui): 每頁筆數下拉加寬右側 padding,避免數字與箭頭相疊
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 11:06:44 +08:00
f43772fa99 feat(app-ui): UI組合編輯/機台設定 也加每頁筆數+搜尋+分頁
抽共用元件 x-app-list-controls(3頁共用);bundles 依名稱、machines 依名稱/序號搜尋 paginate

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 11:06:44 +08:00
4d5d42f4cb feat(app-ui): UI元素列表加每頁筆數下拉+搜尋+分頁
controller paginate(per_page 10/25/50/100)+名稱/類別 like 搜尋;view 控制列(luxury 樣式)+分頁連結

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 11:06:43 +08:00
0f2b5dfe44 feat(app-ui): P1~P6 加建議尺寸提示 + crop 旗標(按鈕類不裁切保留原比例)
P 系列填實際圖檔尺寸(838x155 等)供下拉提示;controller 依 part.crop 決定是否置中裁切;提示文字改中性

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 11:06:43 +08:00
32599b8da7 style(app-ui): APP管理側邊欄各子功能加小圖示(對齊其他選單群組)
UI元素/UI組合/機台設定/小幫手/問卷/遊戲/計時器 各配一個 heroicon

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 11:06:43 +08:00
ef62b0a2ef style(app-ui): 頁籤與「新增」按鈕同列靠左 — 改用 x-app-tabs 元件(帶 Action slot)
移除獨立的新增按鈕列與舊 _tabs partial

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 11:06:43 +08:00
a326283d17 style(app-ui): APP管理三頁改用站上設計系統(luxury按鈕/標準表格/膠囊tabs/標準modal/刪除確認)
- btn-luxury-primary/secondary + x-delete-confirm-modal
- 膠囊式頁籤(對齊 x-tab-nav 外觀)
- 「新增」改用 __('Create')=新增(不動全域 New=新值,那是 products 變更紀錄用)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 11:06:43 +08:00
f1c4a9a2b7 feat(app-ui): 啟用部位 E1(交易失敗/客服圖) + P1~P6(支付方式按鈕圖)
P 系列 width/height=null 不裁切保留原比例;blade 尺寸標示對 null 做防護

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 11:06:43 +08:00
7625799ecc feat(app-ui): 機台綁定儲存後主動推送 update_settings,機台立即套用 UI
沿用 app 既有 update_settings→downloadSetting 處理(APK 不需改);推送失敗(離線)則下次同步套用

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 11:06:43 +08:00
a0c2ab3207 feat(app-ui): APP UI元素設定 Phase 1 — 後台三頁(元素/組合/機台綁定)+ B014 UISet 下發
- ui_elements/ui_bundles/ui_bundle_items 三表 + Models(TenantScoped)
- config/ui_parts.php 部位定義(Phase 1 啟用 A1/A2/A3 滿版)
- UiElementController 三頁 CRUD + 圖片上傳(ImageHandler storeAsWebp)
- 機台綁定存 machines.settings['ui_bundle_id']
- B014 getSettings 新增 UISet(部位→絕對圖URL,mirror B005)
- 解除 sidebar APP管理 註解 + can:menu.app + 權限白名單
- zh_TW/en 翻譯

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 11:06:43 +08:00
twsystem1004
2bdad21810 [PROMOTE] dev -> demo: 銷售紀錄付款狀態預設「已完成」+ 新增「待領取」
1. 付款狀態預設「已完成」(避免 failed 被誤會成刷卡失敗);「所有付款狀態」改為 value=all 明確選項
2. 新增 awaiting_pickup(待領取) 至下拉與各狀態顯示(徽章/明細面板/匯出標籤)
2026-07-17 01:16:39 +00:00
twsystem1004
42ec18188e feat(銷售紀錄): 付款狀態預設「已完成」+ 新增「待領取」狀態
1. 付款狀態下拉預設改為「已完成」,避免客戶把 failed(付款失敗/逾時) 誤會成刷卡失敗;
   「所有付款狀態」改為明確選項 value=all(非空值,AJAX 才不會被當空值丟掉),選它才顯示全部。
2. 新增 awaiting_pickup(待領取,領藥單已生成未領取) 至下拉選項與各狀態顯示:
   桌機/手機徽章(amber,原本無對應會顯示原始字串)、訂單明細面板、匯出狀態標籤。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 01:16:14 +00:00
twsystem1004
acb888c2d1 [PROMOTE] dev -> demo: 機台庫存匯出 Excel 加「商品ID」欄
1. 機台庫存概覽批次匯出與單機台詳細匯出,欄位新增「商品ID」(貨道號後、商品名稱前)
2026-07-14 05:16:51 +00:00
twsystem1004
168a990a7e feat(倉庫): 機台庫存匯出 Excel 加「商品ID」欄
機台庫存概覽批次匯出(多分頁)與單機台詳細匯出的欄位,於貨道號後、商品名稱前
新增「商品ID」欄;空貨道商品ID留空。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-14 05:16:29 +00:00
twsystem1004
3e2069e099 [PROMOTE] dev -> demo: 機台庫存概覽批次匯出 Excel(多分頁)
1. 機台庫存概覽列表頁「匯出」鈕→全選/逐台勾選→匯出 xlsx,每台一分頁、內容為該機台每貨道明細(CSV 前端先隱藏、後端保留)
2026-07-14 02:46:30 +00:00
twsystem1004
34b0a7faf6 feat(倉庫): 機台庫存概覽批次匯出 Excel(多分頁)
機台庫存概覽列表頁新增「匯出」鈕,跳出可全選帳號下全部機台或逐台勾選的視窗,
匯出成 Excel(xlsx)——每台機台一個分頁(sheet),內容為該機台每貨道明細
(貨道號/商品/條碼/類型/庫存/容量/庫存率/效期/批號/啟用/鎖定)。
用 OpenSpout 寫多分頁、動態 <a download> 觸發(不卡霧面)。
CSV 後端保留(每台一檔打包 zip)但前端按鈕先隱藏。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-14 02:46:08 +00:00
twsystem1004
4494dc60fb [PROMOTE] dev -> demo: 機台貨道明細匯出 + 出貨失敗補償取貨碼
1. 倉庫→機台庫存概覽:機台詳細視圖矩陣/表格旁加「匯出」下拉(CSV/Excel),匯出該機台每貨道明細
2. 銷售紀錄新增「取貨碼」欄:付款成功但出貨失敗的單顯示「+」,確認後依缺量產生取貨碼(七天有效、待使用標示)
2026-07-13 08:03:31 +00:00
twsystem1004
83e1beb7e2 feat(倉庫/銷售): 機台貨道明細匯出 + 出貨失敗補償取貨碼
1. 倉庫→機台庫存概覽:點進機台後,矩陣/表格視圖旁加「匯出」下拉(CSV/Excel),
   內容為該機台每個貨道明細(貨道號/商品/庫存/容量/庫存率/效期/批號等)。
2. 銷售紀錄新增「取貨碼」欄位:對「付款成功但出貨失敗/部分」的單顯示「+」,
   點擊確認「是否產生取貨碼(七天內有效)」後,依缺量產生取貨碼(綁機台+商品、
   usage_limit=缺量、冪等 batch_no=COMP{id}、不設 order_id),顯示碼+「待使用」。
   消費者於機台輸入碼走現成 B660 核銷出貨,app 端不需改。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-13 08:00:50 +00:00
twsystem1004
650e2412da [PROMOTE] dev -> demo: 商品管理匯出(CSV/Excel)
1. feat(商品管理): 資料設定→商品管理新增「匯出」下拉(CSV/Excel),套當前篩選、欄位對齊匯入範本;匯入/匯出移至查詢/重設右邊;匯出連結加 download 屬性修正下載後畫面卡霧面
2026-07-10 02:04:33 +00:00
twsystem1004
1d745c5722 feat(商品管理): 新增商品匯出(CSV/Excel)
資料設定→商品管理新增「匯出」下拉(CSV/Excel),套用當前篩選(搜尋/分類/公司),
欄位順序對齊匯入範本方便回匯入。匯入鈕與匯出下拉移至查詢/重設右邊。
匯出連結加 download 屬性,避免觸發全域導覽遮罩導致下載後畫面卡霧面。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 02:04:11 +00:00
twsystem1004
cb8a805a21 [PROMOTE] dev -> demo: 機台設定金流配置防呆
1. feat(機台設定): 金流配置未選(維持「不使用」)時,機台編輯頁按「儲存變更」跳原生 confirm 二次確認;純前端提醒,後端 payment_config_id 仍 nullable
2026-07-08 05:52:15 +00:00
twsystem1004
d8f549d390 feat(機台設定): 金流配置防呆確認
機台編輯頁「金流與發票」區塊,若金流配置維持「不使用」(未選),
按「儲存變更」時跳出原生 confirm 提示,確認才送出。純前端提醒,
後端 payment_config_id 仍為 nullable。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 05:51:25 +00:00
twsystem1004
09ebf911ed [PROMOTE] dev -> demo: 現金支付面額明細(收各面額張數+找零)回傳並於銷售紀錄顯示(含 dev 累積:取貨碼/通行碼銷售紀錄等) 2026-07-03 04:44:17 +00:00
twsystem1004
be73e7c7a0 feat(sales): 現金支付面額明細(收各面額張數+找零)回傳並於銷售紀錄顯示
- orders 新增 cash_detail JSON 欄(migration)
- Order model fillable/casts + cash_received_summary accessor
  (顯示「收:總額(只列有收到幣別明細) 找:x」)
- TransactionService create/transition 兩處寫入 cash_detail
- 銷售列表 blade 桌機/手機各加一列現金明細

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 04:35:15 +00:00
terrylee
dc9421e482 取貨碼/通行碼/銷售紀錄 後台功能
- 取貨碼使用紀錄記實際出貨貨道(PickupCodeLog.raw_data.slot)
- 銷售紀錄訂單列(支付金額欄)顯示取貨碼序號(member_barcode)
- 遠端指令中心「遠端出貨」→「遠端開櫃」(zh_TW.json Remote Dispense)
- 訂單品項記消費者選的貨道(order_items.slot_no + migration),失敗交易也看得到;
  訂單明細顯示 Slot;OrderItem/TransactionService 對應
- 通行碼「只能使用一次」:pass_codes.usage_limit/usage_count + migration;
  建立表單加勾選;B670(verifyPassCode)驗證時消耗、達上限標 used;PassCode.isValid 判斷

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 03:11:24 +00:00
e2281fa425 [PROMOTE] dev -> demo: 取貨碼商品下拉/公開取貨頁顯示商品 + 批次下載不卡畫面(修正) 2026-06-29 15:34:28 +08:00
ce9e52efd9 fix(sales): 批次下載 CSV 連結加 download 屬性,避免觸發全域導航遮罩卡住畫面
全域連結攔截器(layouts/admin)點 <a href> 會顯示導航載入遮罩,但檔案下載不換頁、
遮罩不會關閉,導致畫面卡在模糊+進度條停在~95%。加 download 屬性即可被攔截器豁免。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 15:27:38 +08:00
d4d61461fe fix(pickup): 取貨碼商品下拉 placeholder 改「選擇商品」+ 公開取貨頁正確顯示綁定商品
1. 取貨碼新增彈窗的商品下拉沿用了貨道設定的 placeholder(顯示「選擇貨道」),
   改為「選擇商品」並補 Search Product... 多語系。
2. 公開取貨憑證頁(/p/{slug})原本只用 slot_no 對應商品,綁商品的碼 slot_no 為
   null 導致顯示「未知商品」;改為優先用 product_id 綁定的商品,貨道欄無值顯示「—」。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 15:18:40 +08:00
d90621f8c7 [PROMOTE] dev -> demo: 取貨碼/通行碼批次新增(≤1000)+CSV下載+角色數量分級+cache表migration 2026-06-29 14:41:02 +08:00
330b81ab7b [FEAT] 合併 feat/code-batch-create:取貨碼/通行碼批次新增(≤1000)+CSV下載+角色數量分級+cache表migration 2026-06-29 14:37:32 +08:00
3785026749 chore(db): 補上 cache / cache_locks 表 migration
dev 的修正 55cf6b8 將 CACHE_STORE 正確解析為 database,但 repo 未含 cache 表
migration。補上標準 Laravel cache 表(含 hasTable 防呆),確保各環境 pull 後
database 快取可用,避免 ProcessHeartbeat 的 Cache::put 因缺表崩潰。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 14:33:43 +08:00
179348ad66 feat(sales): 批次產碼數量上限依角色分級(客戶端最多20、管理員最多1000)
- 平台管理員(isSystemAdmin):數量上限 1000,快捷 10/50/100/1000
- 客戶端(租戶):數量上限 20,快捷 10/20,欄位輸入超過自動夾回 20
- 後端 store 以角色動態 max 驗證,防止前端被繞過送出大量產碼
- 取貨碼/通行碼兩表單同步;前端 max 與快捷選項由後端依角色下發

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 14:24:47 +08:00
9dbde50f56 fix(sales): 取貨碼新增彈窗「產生數量」改為獨立整列,避免與使用次數上限重疊
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 14:10:13 +08:00
6bb08a13ce feat(sales): 取貨碼/通行碼批次新增(最多1000筆)+ 批次清單 CSV 下載
- 取貨碼沿用「商品版」綁定(product_id,相容舊 slot_no)批次產碼
- 通行碼批次產碼;名稱自動加 #1..#N 流水
- 新增 batch_no 欄位標記同一批,提供批次下載路由與 UTF-8 BOM CSV
- 數量>1 時忽略自訂碼、系統產生不重複隨機碼;單筆行為不變
- 產生後顯示可重複下載清單橫幅;新增 zh_TW/en/ja 翻譯鍵

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 14:00:57 +08:00
sky121113
1ace7da140 [PROMOTE] dev -> demo: 取貨碼列表以商品為主顯示
1. [FIX] 取貨碼列表改以商品為主:綁商品碼直接顯示商品名、不再顯示空貨道;綁貨道碼(舊)維持反查商品名並保留貨道號。
2. pickupCodes 查詢補 product eager load 避免 N+1,標題改為「商品」。
2026-06-26 17:42:47 +08:00
sky121113
2dd14fd1b4 [FIX] 取貨碼列表改以商品為主、綁商品碼不再顯示空貨道
1. pickupCodes 查詢補 product eager load,避免 N+1。
2. 列表商品欄改依綁定型態顯示:綁商品碼直接顯示商品名且不顯示貨道;綁貨道碼(舊)維持反查商品名並保留貨道號。
3. 桌面表格標題「商品 / 貨道」改為「商品」,手機卡片同步調整。
2026-06-26 17:42:21 +08:00
sky121113
1404d40f71 [PROMOTE] dev -> demo: 取貨碼改綁商品
1. [FEAT] 取貨碼改綁「商品」而非「貨道」:發碼時指定機台+商品,刷碼當下由 App 依即時庫存挑貨道。
2. 新增 pickup_codes.product_id 欄位 migration(nullable + index,向後相容綁貨道碼)。
3. 產碼端點驗證商品屬機台所屬公司,新增公司商品清單 AJAX 與「機台未上架」前端提示。
4. B660 刷碼新增綁商品擋關(無貨道回 409 並寫 log)。
5. 多語系三語系同步新增 4 組詞彙。

⚠️ 部署後需執行 migrate 建立 product_id 欄位。
2026-06-26 17:32:45 +08:00
sky121113
0c29cdae97 [FEAT] 取貨碼改綁「商品」而非「貨道」
1. 新增 migration 為 pickup_codes 增加 product_id 欄位(nullable + index),既有綁貨道碼向後相容。
2. PickupCode Model 補上 product_id fillable 與 product() 關聯。
3. 產碼 storePickupCode 改收 product_id(與 slot_no 二擇一,required_without),並驗證商品屬於機台所屬公司;機台未上架仍可產碼。
4. 新增 pickupCompanyProducts AJAX 端點與路由,回傳公司商品清單與機台已上架 product_id,供前端標示「此機台未上架」提示。
5. B660 刷碼驗證新增綁商品擋關:機台無此商品貨道時回 409 並寫 PickupCodeLog;回傳資料補上 product_id 供 App 自挑貨道。
6. 產碼介面(pickup-codes/index)由「選擇貨道」改為「選擇商品」,加入未上架警告提示。
7. 多語系同步新增 4 組詞彙(zh_TW/en/ja 對齊排序)。
2026-06-26 17:31:22 +08:00
sky121113
ef1bdfe1d5 [PROMOTE] dev -> demo: 銷售紀錄手動補單功能
1. 手動補單(機台斷線/漏報時人工補登銷售紀錄):複用扣庫存與後台開發票邏輯,訂單標記 manual、flow_id 以 MAN 前綴區隔。
2. 補單彈窗採站內元件樣式(搜尋式下拉 + +/- 計數器),扣庫存與開立電子發票皆為選配;開發票受機台電子發票閘門限制。
3. 權限限系統管理員(前端隱藏 + 後端把關),全程寫入操作審計日誌。
4. 訂單列表顯示「手動」標籤;三語系字串補齊對齊。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 16:19:47 +08:00
sky121113
8a92e1c1ff [FEAT] 銷售紀錄手動補單功能(機台斷線/漏報時人工補登)
1. 新增 TransactionService::createManualOrder():複用既有 recordDispense()(扣庫存)與 recordInvoice()+IssueInvoiceJob(後台開發票),訂單標記 order_type=manual、created_by 操作者,flow_id 以 MAN 前綴與機台上報區隔並天然避開唯一鍵衝突。
2. Order 新增 TYPE_MANUAL 常數與 is_manual 存取器;created_at/machine_time 對齊實際發生時間,使銷售報表落在正確日期。
3. SalesController 新增 storeManualOrder()(建單)與 manualMachineSlots()(機台貨道 AJAX);發票類型支援統編/手機條碼/自然人憑證/捐贈/一般 B2C,並寫入 SystemOperationLog 審計留痕。
4. 權限:整個補單功能限系統管理員(按鈕、彈窗、AJAX、store 四處把關);開立電子發票受機台 tax_invoice_enabled 閘門限制,前端隱藏選項 + 後端再驗一次。
5. 新增路由 admin.sales.manual.store 與 admin.sales.manual.machine-slots。
6. 前端:銷售訂單頁籤新增「手動補單」按鈕(僅系統管理員),slide 彈窗全面採用站內元件樣式——下拉用搜尋式 x-searchable-select(機台/貨道/付款/發票類型)、價格與數量改用「新增取貨碼」同款 +/- 計數器、去除原生 number spinner。
7. 訂單列表(桌面與行動卡片)為手動補單顯示「手動」標籤。
8. 三語系(zh_TW/en/ja)補齊 35 組字串並對齊排序、斜線不逸出。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 16:17:54 +08:00
sky121113
7499c42878 [PROMOTE] dev -> demo: cache driver 設定修正
1. [FIX] config/cache.php cache driver 設定 key 不一致修正:default 改為 env('CACHE_STORE', env('CACHE_DRIVER','database')),避免 fallback 成 file driver 導致 ProcessHeartbeat 在 Cache::put 崩潰、機台版本/溫度/心跳寫不進 DB
2. [FIX] 同步 hotfix:銷售紀錄機台權限隔離(內容與 demo 對齊)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 15:45:22 +08:00
sky121113
55cf6b8331 [FIX] 修正 cache driver 設定 key 不一致導致 fallback 成 file
1. config/cache.php 的 default 由 env('CACHE_DRIVER','file') 改為 env('CACHE_STORE', env('CACHE_DRIVER','database')),優先採用 Laravel 11+ 的 CACHE_STORE 並相容舊 key
2. 修正主因:舊 key 與 .env 的 CACHE_STORE 對不上 → cache 退回 file driver;file cache 寫入失敗時 ProcessHeartbeat 會在 Cache::put 崩潰,導致機台韌體版本/溫度/心跳寫不進 DB 且 queue worker 連鎖重啟

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 15:14:16 +08:00
sky121113
5a4d681d13 [FIX] 同步 hotfix:銷售紀錄機台權限隔離
訂單/發票/出貨清單依使用者可存取機台過濾。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 20:06:17 +08:00